From 5dce2a1a23863ad53ff3fea3ab83544e61fef63f Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Sat, 1 Nov 2014 17:12:20 -0700 Subject: [PATCH] Implemented 80286 LOADALL --- my_modules/c1pjs-client/lib/cpu.js | 26 +- my_modules/c1pjs-client/lib/debugger.js | 4 +- my_modules/c1pjs-client/lib/disk.js | 6 +- my_modules/c1pjs-client/lib/keyboard.js | 6 +- my_modules/c1pjs-client/lib/panel.js | 6 +- my_modules/c1pjs-client/lib/rom.js | 4 +- my_modules/c1pjs-client/lib/serial.js | 6 +- my_modules/c1pjs-client/lib/video.js | 10 +- .../c1pjs-client/templates/components.xsl | 2 +- my_modules/pcjs-client/lib/.jshintrc | 2 +- my_modules/pcjs-client/lib/computer.js | 30 +- my_modules/pcjs-client/lib/cpu.js | 245 ++--- my_modules/pcjs-client/lib/debugger.js | 149 +-- my_modules/pcjs-client/lib/defines.js | 42 +- my_modules/pcjs-client/lib/disk.js | 2 +- my_modules/pcjs-client/lib/keyboard.js | 4 +- my_modules/pcjs-client/lib/nodebugger.js | 7 +- my_modules/pcjs-client/lib/video.js | 4 +- my_modules/pcjs-client/lib/x86.js | 57 +- my_modules/pcjs-client/lib/x86cpu.js | 96 +- my_modules/pcjs-client/lib/x86grps.js | 34 +- my_modules/pcjs-client/lib/x86help.js | 25 +- my_modules/pcjs-client/lib/x86op0f.js | 57 +- my_modules/pcjs-client/lib/x86opxx.js | 64 +- my_modules/pcjs-client/lib/x86seg.js | 234 +++-- .../pcjs-client/templates/components.xsl | 2 +- my_modules/shared/lib/component.js | 140 +-- versions/c1pjs/1.15.8/c1p-dbg.js | 304 +++--- versions/c1pjs/1.15.8/c1p.js | 220 ++-- versions/pcjs/1.15.8/pc-dbg.js | 994 +++++++++--------- versions/pcjs/1.15.8/pc.js | 812 +++++++------- 31 files changed, 1830 insertions(+), 1764 deletions(-) diff --git a/my_modules/c1pjs-client/lib/cpu.js b/my_modules/c1pjs-client/lib/cpu.js index 36cc5772f..49a32f502 100644 --- a/my_modules/c1pjs-client/lib/cpu.js +++ b/my_modules/c1pjs-client/lib/cpu.js @@ -57,8 +57,8 @@ function C1PCPU(parmsCPU) Component.call(this, "C1PCPU", parmsCPU); this.clearRegs(); - this.fPower = false; - this.fRunning = false; + this.aFlags.fPowered = false; + this.aFlags.fRunning = false; this.fAutoStart = parmsCPU["autoStart"]; /* @@ -482,7 +482,7 @@ Component.subclass(Component, C1PCPU); */ C1PCPU.prototype.reset = function(fPowerOn) { - if (this.fRunning) + if (this.aFlags.fRunning) this.halt(); this.clearRegs(); this.regPC = this.getWord(this.VECTOR_RESET); @@ -516,7 +516,7 @@ C1PCPU.prototype.setBinding = function(c, t, s, e) this.bindings[s] = e; e.onclick = function(cpu) { return function() { - if (!cpu.fRunning) + if (!cpu.aFlags.fRunning) cpu.run(); else cpu.halt(); @@ -579,7 +579,7 @@ C1PCPU.prototype.setBuffer = function(abMemory, start, end) */ C1PCPU.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { + if (fOn && !this.aFlags.fPowered) { this.cmp = cmp; /* * Attach the Debugger, if any, to the CPU, so that the CPU can periodically @@ -607,7 +607,7 @@ C1PCPU.prototype.setPower = function(fOn, cmp) }; }(video); } - this.fPower = true; + this.aFlags.fPowered = true; this.reset(true); this.update(); } @@ -880,7 +880,7 @@ C1PCPU.prototype.displayStatus = function() */ C1PCPU.prototype.isRunning = function() { - return this.fRunning; + return this.aFlags.fRunning; }; /** @@ -1051,7 +1051,7 @@ C1PCPU.prototype.run = function() if (this.cmp) this.cmp.stop(this.msRunStart, this.nRunCycles); return; } - if (!this.fRunning) { + if (!this.aFlags.fRunning) { /* * setSpeed() without a speed parameter leaves the selected speed in place, but also resets the * cycle counter and timestamp for the current series of run() calls, calculates the maximum number @@ -1060,7 +1060,7 @@ C1PCPU.prototype.run = function() */ this.setSpeed(); if (this.cmp) this.cmp.start(); - this.fRunning = true; + this.aFlags.fRunning = true; if (this.bindings["run"]) this.bindings["run"].innerHTML = "Halt"; this.setFocus(); } @@ -1107,7 +1107,7 @@ C1PCPU.prototype.run = function() this.nCyclesNextYield += this.nCyclesPerYield; break; } - } while (this.fRunning); + } while (this.aFlags.fRunning); } catch (e) { this.halt(); @@ -1268,8 +1268,8 @@ C1PCPU.prototype.halt = function() this.isBusy(true); this.nBurstCycles -= this.nStepCycles; this.nStepCycles = 0; - if (this.fRunning) { - this.fRunning = false; + if (this.aFlags.fRunning) { + this.aFlags.fRunning = false; if (this.bindings["run"]) this.bindings["run"].innerHTML = "Run"; } }; @@ -1303,7 +1303,7 @@ C1PCPU.prototype.update = function() */ C1PCPU.prototype.getCycles = function() { - return (this.fRunning? this.nRunCycles + this.nBurstCycles - this.nStepCycles : 0); + return (this.aFlags.fRunning? this.nRunCycles + this.nBurstCycles - this.nStepCycles : 0); }; /** diff --git a/my_modules/c1pjs-client/lib/debugger.js b/my_modules/c1pjs-client/lib/debugger.js index 89a0a3866..708ad6ac1 100644 --- a/my_modules/c1pjs-client/lib/debugger.js +++ b/my_modules/c1pjs-client/lib/debugger.js @@ -579,8 +579,8 @@ if (DEBUGGER) { */ C1PDebugger.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cpu = cmp.getComponentByType("cpu"); } }; diff --git a/my_modules/c1pjs-client/lib/disk.js b/my_modules/c1pjs-client/lib/disk.js index 04482213f..8da1833a4 100644 --- a/my_modules/c1pjs-client/lib/disk.js +++ b/my_modules/c1pjs-client/lib/disk.js @@ -217,7 +217,7 @@ function C1PDiskController(parmsDC) { Component.call(this, "C1PDiskController", parmsDC); - this.fPower = false; + this.aFlags.fPowered = false; /* * Our DiskController simulates the combination of an MC6820 PIA and an MC6850 ACIA. @@ -733,8 +733,8 @@ C1PDiskController.prototype.setBuffer = function(abMemory, start, end, cpu) */ C1PDiskController.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); } }; diff --git a/my_modules/c1pjs-client/lib/keyboard.js b/my_modules/c1pjs-client/lib/keyboard.js index 3874031dc..119b82783 100644 --- a/my_modules/c1pjs-client/lib/keyboard.js +++ b/my_modules/c1pjs-client/lib/keyboard.js @@ -122,7 +122,7 @@ function C1PKeyboard(parmsKbd) { Component.call(this, "C1PKeyboard", parmsKbd); - this.fPower = false; + this.aFlags.fPowered = false; this.nDefaultModel = parmsKbd['model']; /* @@ -516,8 +516,8 @@ C1PKeyboard.prototype.setModel = function(nModel) */ C1PKeyboard.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cmp = cmp; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); } diff --git a/my_modules/c1pjs-client/lib/panel.js b/my_modules/c1pjs-client/lib/panel.js index 6efbf1944..92651180f 100644 --- a/my_modules/c1pjs-client/lib/panel.js +++ b/my_modules/c1pjs-client/lib/panel.js @@ -44,7 +44,7 @@ function C1PPanel(parmsPanel) { Component.call(this, "C1PPanel", parmsPanel); - this.fPower = false; + this.aFlags.fPowered = false; } Component.subclass(Component, C1PPanel); @@ -77,8 +77,8 @@ C1PPanel.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, contro */ C1PPanel.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cmp = cmp; this.cpu = cmp.getComponentByType("cpu"); this.kbd = cmp.getComponentByType("keyboard"); diff --git a/my_modules/c1pjs-client/lib/rom.js b/my_modules/c1pjs-client/lib/rom.js index 02505bee8..0b64da37d 100644 --- a/my_modules/c1pjs-client/lib/rom.js +++ b/my_modules/c1pjs-client/lib/rom.js @@ -115,8 +115,8 @@ C1PROM.prototype.setBuffer = function(abMemory, start, end, cpu) */ C1PROM.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); } }; diff --git a/my_modules/c1pjs-client/lib/serial.js b/my_modules/c1pjs-client/lib/serial.js index c21a91f0b..fb1c898b7 100644 --- a/my_modules/c1pjs-client/lib/serial.js +++ b/my_modules/c1pjs-client/lib/serial.js @@ -44,7 +44,7 @@ function C1PSerialPort(parmsSerial) { Component.call(this, "C1PSerialPort", parmsSerial); - this.fPower = false; + this.aFlags.fPowered = false; this.fDemo = parmsSerial['demo']; this.STATUS_NONE = 0x00; @@ -160,8 +160,8 @@ C1PSerialPort.prototype.setBuffer = function(abMemory, start, end, cpu) */ C1PSerialPort.prototype.setPower = function(fOn, cmp) { - if (fOn && !this.fPower) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered) { + this.aFlags.fPowered = true; this.cmp = cmp; this.kbd = cmp.getComponentByType("keyboard"); if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); diff --git a/my_modules/c1pjs-client/lib/video.js b/my_modules/c1pjs-client/lib/video.js index 45efe9cd4..628ce3fa3 100644 --- a/my_modules/c1pjs-client/lib/video.js +++ b/my_modules/c1pjs-client/lib/video.js @@ -308,8 +308,8 @@ C1PVideo.prototype.setPower = function(fOn, cmp) * it ourselves, too. This also means that updateScreen() need check only fPower and not isReady(), * since we guarantee that the former implies the latter. */ - if (fOn && !this.fPower && this.isReady()) { - this.fPower = true; + if (fOn && !this.aFlags.fPowered && this.isReady()) { + this.aFlags.fPowered = true; if (DEBUGGER) this.dbg = cmp.getComponentByType("debugger"); /* * If we have an associated keyboard, then ensure that the keyboard will be notified whenever @@ -328,8 +328,8 @@ C1PVideo.prototype.setPower = function(fOn, cmp) } } else - if (!fOn && this.fPower) { - this.fPower = false; + if (!fOn && this.aFlags.fPowered) { + this.aFlags.fPowered = false; /* * This is where we would add some method of blanking the display, without the disturbing the video * buffer contents, and blocking all further updates to the display. @@ -442,7 +442,7 @@ C1PVideo.prototype.initScreen = function() C1PVideo.prototype.updateScreen = function() { var offset = 0; - if (this.fPower) { + if (this.aFlags.fPowered) { while (offset < this.cbScreen) { var b = this.abMem[this.offVideo + offset]; if (this.abScreen[offset] != b) { diff --git a/my_modules/c1pjs-client/templates/components.xsl b/my_modules/c1pjs-client/templates/components.xsl index abdb87994..282d2a6d1 100644 --- a/my_modules/c1pjs-client/templates/components.xsl +++ b/my_modules/c1pjs-client/templates/components.xsl @@ -9,7 +9,7 @@ c1p c1pjs - 1.0.0 + 1.x.x www.pcjs.org diff --git a/my_modules/pcjs-client/lib/.jshintrc b/my_modules/pcjs-client/lib/.jshintrc index e7cb1bbbb..8d6a42516 100644 --- a/my_modules/pcjs-client/lib/.jshintrc +++ b/my_modules/pcjs-client/lib/.jshintrc @@ -15,7 +15,7 @@ "PCJSCLASS": true, "DEBUGGER": true, "PREFETCH": true, - "FASTDISABLE": true, + "EAFUNCS": true, "FATARRAYS": true, "TYPEDARRAYS": true, "Component": true, diff --git a/my_modules/pcjs-client/lib/computer.js b/my_modules/pcjs-client/lib/computer.js index 87a2590da..bea44bb70 100644 --- a/my_modules/pcjs-client/lib/computer.js +++ b/my_modules/pcjs-client/lib/computer.js @@ -123,11 +123,11 @@ function Computer(parmsComputer, parmsMachine, fSuspended) { Component.call(this, "Computer", parmsComputer, Computer); - this.fPowered = false; + this.aFlags.fPowered = false; this.nBusWidth = parmsComputer['buswidth']; this.resume = Computer.RESUME_NONE; this.sStateData = null; - this.fServerState = this.fSave = false; + this.fServerState = false; this.url = parmsMachine? parmsMachine['url'] : null; /* @@ -544,9 +544,9 @@ Computer.prototype.powerOn = function(resume) */ Computer.prototype.powerRestore = function(component, stateComputer, fRepower, fRestore) { - if (!component.fPowered) { + if (!component.aFlags.fPowered) { - component.fPowered = true; + component.aFlags.fPowered = true; if (component.powerUp) { @@ -649,9 +649,9 @@ Computer.prototype.donePowerOn = function(aParms) var fRepower = (aParms[1] < 0); var fRestore = aParms[2]; - if (DEBUG && this.fPowered) this.messageDebugger("Computer.donePowerOn(): redundant"); + if (DEBUG && this.aFlags.fPowered) this.messageDebugger("Computer.donePowerOn(): redundant"); - this.fPowered = true; + this.aFlags.fPowered = true; if (!this.fInitialized) { this.println(Computer.sAppName + " v" + Computer.sAppVer + "\n" + Computer.sCopyright + "\n" + Computer.LICENSE); @@ -754,7 +754,7 @@ Computer.prototype.powerOff = function(fSave, fShutdown) data = this.cpu.powerDown(fSave, fShutdown); if (typeof data === "object") stateComputer.set(this.cpu.id, data); if (fShutdown) { - this.cpu.fPowered = false; + this.cpu.aFlags.fPowered = false; if (data === false) sState = null; } } @@ -762,13 +762,13 @@ Computer.prototype.powerOff = function(fSave, fShutdown) var aComponents = Component.getComponents(this.id); for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { var component = aComponents[iComponent]; - if (component.fPowered) { + if (component.aFlags.fPowered) { if (component.powerDown) { data = component.powerDown(fSave, fShutdown); if (typeof data === "object") stateComputer.set(component.id, data); } if (fShutdown) { - component.fPowered = false; + component.aFlags.fPowered = false; if (data === false) sState = null; } } @@ -820,7 +820,7 @@ Computer.prototype.powerOff = function(fSave, fShutdown) } } - if (fShutdown) this.fPowered = false; + if (fShutdown) this.aFlags.fPowered = false; return sState; }; @@ -1221,7 +1221,7 @@ Computer.init = function() */ var computer = new Computer(parmsComputer, parmsMachine, true); - if (DEBUG) computer.messageDebugger("onInit(" + computer.fPowered + ")"); + if (DEBUG) computer.messageDebugger("onInit(" + computer.aFlags.fPowered + ")"); /* * For now, all we support are "reset" and "save" buttons. We may eventually add a "power" @@ -1251,9 +1251,9 @@ Computer.show = function() var computer = Component.getComponentByType("Computer", parmsComputer['id']); if (computer) { - if (DEBUG) computer.messageDebugger("onShow(" + computer.fInitialized + "," + computer.fPowered + ")"); + if (DEBUG) computer.messageDebugger("onShow(" + computer.fInitialized + "," + computer.aFlags.fPowered + ")"); - if (computer.fInitialized && !computer.fPowered) { + if (computer.fInitialized && !computer.aFlags.fPowered) { /** * Repower the computer, notifying every component to continue running as-is. */ @@ -1298,9 +1298,9 @@ Computer.exit = function() var computer = Component.getComponentByType("Computer", parmsComputer['id']); if (computer) { - if (DEBUG) computer.messageDebugger("onExit(" + computer.fPowered + ")"); + if (DEBUG) computer.messageDebugger("onExit(" + computer.aFlags.fPowered + ")"); - if (computer.fPowered) { + if (computer.aFlags.fPowered) { /** * Power "down" the computer, giving every component an opportunity to save its state, * but only if 'resume' has been set AND there is no valid resume path (because if a valid resume diff --git a/my_modules/pcjs-client/lib/cpu.js b/my_modules/pcjs-client/lib/cpu.js index f40ea164e..b7349a94a 100644 --- a/my_modules/pcjs-client/lib/cpu.js +++ b/my_modules/pcjs-client/lib/cpu.js @@ -80,23 +80,24 @@ function CPU(parmsCPU, nCyclesDefault) var nMultiplier = parmsCPU['multiplier'] || 1; - this.nCyclesPerSecond = nCycles; + this.aCounts = {}; + this.aCounts.nCyclesPerSecond = nCycles; /* * nCyclesMultiplier replaces the old "speed" variable (0, 1, 2) and eliminates the need for * the constants (SPEED_SLOW, SPEED_FAST and SPEED_MAX). The UI simply doubles the multiplier * until we've exceeded the host's speed limit and then starts the multiplier over at 1. */ - this.nCyclesMultiplier = nMultiplier; - this.mhzDefault = Math.round(this.nCyclesPerSecond / 10000) / 100; + this.aCounts.nCyclesMultiplier = nMultiplier; + this.aCounts.mhzDefault = Math.round(this.aCounts.nCyclesPerSecond / 10000) / 100; /* * TODO: Take care of this with an initial setSpeed() call instead? */ - this.mhzTarget = this.mhzDefault * this.nCyclesMultiplier; + this.aCounts.mhzTarget = this.aCounts.mhzDefault * this.aCounts.nCyclesMultiplier; - this.fPowered = false; - this.fRunning = false; - this.fAutoStart = parmsCPU['autoStart']; + this.aFlags.fPowered = false; + this.aFlags.fRunning = false; + this.aFlags.fAutoStart = parmsCPU['autoStart']; /* * Provide a power-saving URL-based way of overriding the 'autostart' setting; @@ -105,7 +106,7 @@ function CPU(parmsCPU, nCyclesDefault) */ var sAutoStart = Component.parmsURL['autostart']; if (sAutoStart !== undefined) { - this.fAutoStart = (sAutoStart == "true"? true : (sAutoStart == "false"? false : null)); + this.aFlags.fAutoStart = (sAutoStart == "true"? true : (sAutoStart == "false"? false : null)); } /* @@ -117,11 +118,11 @@ function CPU(parmsCPU, nCyclesDefault) * command ("x"); for example, "x cs int 5000" will set nCyclesChecksumInterval to 5000 * and call resetChecksum(). */ - this.fChecksum = false; - this.nChecksum = this.nCyclesChecksumNext = 0; - this.nCyclesChecksumStart = parmsCPU["csStart"]; - this.nCyclesChecksumInterval = parmsCPU["csInterval"]; - this.nCyclesChecksumStop = parmsCPU["csStop"]; + this.aFlags.fChecksum = false; + this.aCounts.nChecksum = this.aCounts.nCyclesChecksumNext = 0; + this.aCounts.nCyclesChecksumStart = parmsCPU["csStart"]; + this.aCounts.nCyclesChecksumInterval = parmsCPU["csInterval"]; + this.aCounts.nCyclesChecksumStop = parmsCPU["csStop"]; var cpu = this; this.onRunTimeout = function() { cpu.runCPU(); }; @@ -138,16 +139,16 @@ Component.subclass(Component, CPU); * calcCycles(), which uses the nCyclesPerSecond passed to the constructor as a starting * point and computes the following variables: * - * this.nCyclesPerYield (this.nCyclesPerSecond / CPU.YIELDS_PER_SECOND) - * this.nCyclesPerVideoUpdate (this.nCyclesPerSecond / CPU.VIDEO_UPDATES_PER_SECOND) - * this.nCyclesPerStatusUpdate (this.nCyclesPerSecond / CPU.STATUS_UPDATES_PER_SECOND) + * this.aCounts.nCyclesPerYield (this.aCounts.nCyclesPerSecond / CPU.YIELDS_PER_SECOND) + * this.aCounts.nCyclesPerVideoUpdate (this.aCounts.nCyclesPerSecond / CPU.VIDEO_UPDATES_PER_SECOND) + * this.aCounts.nCyclesPerStatusUpdate (this.aCounts.nCyclesPerSecond / CPU.STATUS_UPDATES_PER_SECOND) * * The above variables are also multiplied by any cycle multiplier in effect, via setSpeed(), * and then they're used to initialize another set of variables for each runCPU() iteration: * - * this.nCyclesNextYield <= this.nCyclesPerYield - * this.nCyclesNextVideoUpdate <= this.nCyclesPerVideoUpdate - * this.nCyclesNextStatusUpdate <= this.nCyclesPerStatusUpdate + * this.aCounts.nCyclesNextYield <= this.aCounts.nCyclesPerYield + * this.aCounts.nCyclesNextVideoUpdate <= this.aCounts.nCyclesPerVideoUpdate + * this.aCounts.nCyclesNextStatusUpdate <= this.aCounts.nCyclesPerStatusUpdate */ CPU.YIELDS_PER_SECOND = 30; CPU.VIDEO_UPDATES_PER_SECOND = 60; // WARNING: if you change this, beware of side-effects in the Video component @@ -264,7 +265,7 @@ CPU.prototype.powerUp = function(data, fRepower) this.println("No debugger detected"); } } - this.fPowered = true; + this.aFlags.fPowered = true; if (!this.autoStart() && this.dbg) this.dbg.updateStatus(); this.updateCPU(); return true; @@ -279,7 +280,7 @@ CPU.prototype.powerUp = function(data, fRepower) */ CPU.prototype.powerDown = function(fSave) { - this.fPowered = false; + this.aFlags.fPowered = false; return fSave && this.save ? this.save() : true; }; @@ -291,7 +292,7 @@ CPU.prototype.powerDown = function(fSave) */ CPU.prototype.autoStart = function() { - if (this.fAutoStart === true || this.fAutoStart === null && (!DEBUGGER || !this.dbg) && this.bindings["run"] === undefined) { + if (this.aFlags.fAutoStart === true || this.aFlags.fAutoStart === null && (!DEBUGGER || !this.dbg) && this.bindings["run"] === undefined) { this.runCPU(); // start running automatically on power-up, assuming there's no Debugger return true; } @@ -318,7 +319,7 @@ CPU.prototype.setFocus = function() */ CPU.prototype.isPowered = function() { - if (!this.fPowered) { + if (!this.aFlags.fPowered) { this.println(this.toString() + " not powered"); return false; } @@ -333,7 +334,7 @@ CPU.prototype.isPowered = function() */ CPU.prototype.isRunning = function() { - return this.fRunning; + return this.aFlags.fRunning; }; /** @@ -361,14 +362,14 @@ CPU.prototype.getChecksum = function() */ CPU.prototype.resetChecksum = function() { - if (this.nCyclesChecksumStart === undefined) this.nCyclesChecksumStart = 0; - if (this.nCyclesChecksumInterval === undefined) this.nCyclesChecksumInterval = -1; - if (this.nCyclesChecksumStop === undefined) this.nCyclesChecksumStop = -1; - this.fChecksum = (this.nCyclesChecksumStart >= 0 && this.nCyclesChecksumInterval > 0); - if (this.fChecksum) { - this.nChecksum = 0; - this.nCyclesChecksumNext = this.nCyclesChecksumStart - this.nTotalCycles; - // this.nCyclesChecksumNext = this.nCyclesChecksumStart + this.nCyclesChecksumInterval - (this.nTotalCycles % this.nCyclesChecksumInterval); + if (this.aCounts.nCyclesChecksumStart === undefined) this.aCounts.nCyclesChecksumStart = 0; + if (this.aCounts.nCyclesChecksumInterval === undefined) this.aCounts.nCyclesChecksumInterval = -1; + if (this.aCounts.nCyclesChecksumStop === undefined) this.aCounts.nCyclesChecksumStop = -1; + this.aFlags.fChecksum = (this.aCounts.nCyclesChecksumStart >= 0 && this.aCounts.nCyclesChecksumInterval > 0); + if (this.aFlags.fChecksum) { + this.aCounts.nChecksum = 0; + this.aCounts.nCyclesChecksumNext = this.aCounts.nCyclesChecksumStart - this.nTotalCycles; + // this.aCounts.nCyclesChecksumNext = this.aCounts.nCyclesChecksumStart + this.aCounts.nCyclesChecksumInterval - (this.nTotalCycles % this.aCounts.nCyclesChecksumInterval); return true; } return false; @@ -387,20 +388,20 @@ CPU.prototype.resetChecksum = function() */ CPU.prototype.updateChecksum = function(nCycles) { - if (this.fChecksum) { + if (this.aFlags.fChecksum) { /* * Get a 32-bit summation of the current CPU state and add it to our running 32-bit checksum */ var fDisplay = false; - this.nChecksum = (this.nChecksum + this.getChecksum()) | 0; - this.nCyclesChecksumNext -= nCycles; - if (this.nCyclesChecksumNext <= 0) { - this.nCyclesChecksumNext += this.nCyclesChecksumInterval; + this.aCounts.nChecksum = (this.aCounts.nChecksum + this.getChecksum()) | 0; + this.aCounts.nCyclesChecksumNext -= nCycles; + if (this.aCounts.nCyclesChecksumNext <= 0) { + this.aCounts.nCyclesChecksumNext += this.aCounts.nCyclesChecksumInterval; fDisplay = true; } - if (this.nCyclesChecksumStop >= 0) { - if (this.nCyclesChecksumStop <= this.getCycles()) { - this.nCyclesChecksumInterval = this.nCyclesChecksumStop = -1; + if (this.aCounts.nCyclesChecksumStop >= 0) { + if (this.aCounts.nCyclesChecksumStop <= this.getCycles()) { + this.aCounts.nCyclesChecksumInterval = this.aCounts.nCyclesChecksumStop = -1; this.resetChecksum(); this.haltCPU(); fDisplay = true; @@ -421,7 +422,7 @@ CPU.prototype.updateChecksum = function(nCycles) */ CPU.prototype.displayChecksum = function() { - this.println(this.getCycles() + " cycles: " + "checksum=" + str.toHex(this.nChecksum)); + this.println(this.getCycles() + " cycles: " + "checksum=" + str.toHex(this.aCounts.nChecksum)); }; /** @@ -492,7 +493,7 @@ CPU.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, control) case "run": this.bindings[sBinding] = control; control.onclick = function onClickRun() { - if (!cpu.fRunning) + if (!cpu.aFlags.fRunning) cpu.runCPU(true); else cpu.haltCPU(true); @@ -521,7 +522,7 @@ CPU.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, control) case "setSpeed": this.bindings[sBinding] = control; control.onclick = function onClickSetSpeed() { - cpu.setSpeed(cpu.nCyclesMultiplier << 1, true); + cpu.setSpeed(cpu.aCounts.nCyclesMultiplier << 1, true); }; control.innerHTML = this.getSpeedTarget(); fBound = true; @@ -605,26 +606,26 @@ CPU.prototype.calcCycles = function(fRecalc) */ var vMultiplier = 1; if (fRecalc) { - if (this.nCyclesMultiplier > 1 && this.mhz) { - vMultiplier = (this.mhz / this.mhzDefault); + if (this.aCounts.nCyclesMultiplier > 1 && this.aCounts.mhz) { + vMultiplier = (this.aCounts.mhz / this.aCounts.mhzDefault); } } - this.msPerYield = Math.round(1000 / CPU.YIELDS_PER_SECOND); - this.nCyclesPerBurst = Math.floor(this.nCyclesPerSecond / nMostUpdatesPerSecond * vMultiplier); - this.nCyclesPerYield = Math.floor(this.nCyclesPerSecond / CPU.YIELDS_PER_SECOND * vMultiplier); - this.nCyclesPerVideoUpdate = Math.floor(this.nCyclesPerSecond / CPU.VIDEO_UPDATES_PER_SECOND * vMultiplier); - this.nCyclesPerStatusUpdate = Math.floor(this.nCyclesPerSecond / CPU.STATUS_UPDATES_PER_SECOND * vMultiplier); + this.aCounts.msPerYield = Math.round(1000 / CPU.YIELDS_PER_SECOND); + this.aCounts.nCyclesPerBurst = Math.floor(this.aCounts.nCyclesPerSecond / nMostUpdatesPerSecond * vMultiplier); + this.aCounts.nCyclesPerYield = Math.floor(this.aCounts.nCyclesPerSecond / CPU.YIELDS_PER_SECOND * vMultiplier); + this.aCounts.nCyclesPerVideoUpdate = Math.floor(this.aCounts.nCyclesPerSecond / CPU.VIDEO_UPDATES_PER_SECOND * vMultiplier); + this.aCounts.nCyclesPerStatusUpdate = Math.floor(this.aCounts.nCyclesPerSecond / CPU.STATUS_UPDATES_PER_SECOND * vMultiplier); /* * And initialize "next" yield, video update, and status update cycle "threshold" counters to those "per" values */ if (!fRecalc) { - this.nCyclesNextYield = this.nCyclesPerYield; - this.nCyclesNextVideoUpdate = this.nCyclesPerVideoUpdate; - this.nCyclesNextStatusUpdate = this.nCyclesPerStatusUpdate; + this.aCounts.nCyclesNextYield = this.aCounts.nCyclesPerYield; + this.aCounts.nCyclesNextVideoUpdate = this.aCounts.nCyclesPerVideoUpdate; + this.aCounts.nCyclesNextStatusUpdate = this.aCounts.nCyclesPerStatusUpdate; } - this.nRecalcCycles = 0; + this.aCounts.nCyclesRecalc = 0; }; /** @@ -647,11 +648,11 @@ CPU.prototype.calcCycles = function(fRecalc) CPU.prototype.getCycles = function(fScaled) { var nCycles = this.nTotalCycles + this.nRunCycles + this.nBurstCycles - this.nStepCycles; - if (fScaled && this.nCyclesMultiplier > 1 && this.mhz > this.mhzDefault) { + if (fScaled && this.aCounts.nCyclesMultiplier > 1 && this.aCounts.mhz > this.aCounts.mhzDefault) { /* - * We could scale the current cycle count by the current effective speed (this.mhz); eg: + * We could scale the current cycle count by the current effective speed (this.aCounts.mhz); eg: * - * nCycles = Math.round(nCycles / (this.mhz / this.mhzDefault)); + * nCycles = Math.round(nCycles / (this.aCounts.mhz / this.aCounts.mhzDefault)); * * but that speed will fluctuate somewhat: large fluctuations at first, but increasingly smaller * fluctuations after each burst of instructions that runCPU() executes. @@ -666,7 +667,7 @@ CPU.prototype.getCycles = function(fScaled) * interface allows any value, as does the CPU "multiplier" parmsCPU property (from the machine's * XML file). */ - nCycles = Math.round(nCycles / this.nCyclesMultiplier); + nCycles = Math.round(nCycles / this.aCounts.nCyclesMultiplier); } return nCycles; }; @@ -681,7 +682,7 @@ CPU.prototype.getCycles = function(fScaled) */ CPU.prototype.getCyclesPerSecond = function() { - return this.nCyclesPerSecond; + return this.aCounts.nCyclesPerSecond; }; /** @@ -695,7 +696,7 @@ CPU.prototype.getCyclesPerSecond = function() */ CPU.prototype.resetCycles = function() { - this.mhz = 0; + this.aCounts.mhz = 0; this.setBurstDivisor(1); this.nTotalCycles = this.nRunCycles = this.nBurstCycles = this.nStepCycles = 0; this.resetChecksum(); @@ -709,7 +710,7 @@ CPU.prototype.resetCycles = function() * @return {number} the current speed multiplier */ CPU.prototype.getSpeed = function() { - return this.nCyclesMultiplier; + return this.aCounts.nCyclesMultiplier; }; /** @@ -722,7 +723,7 @@ CPU.prototype.getSpeedCurrent = function() { /* * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? */ - return ((this.fRunning && this.mhz)? (this.mhz.toFixed(2) + "Mhz") : "Stopped"); + return ((this.aFlags.fRunning && this.aCounts.mhz)? (this.aCounts.mhz.toFixed(2) + "Mhz") : "Stopped"); }; /** @@ -735,7 +736,7 @@ CPU.prototype.getSpeedTarget = function() { /* * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? */ - return this.mhzTarget.toFixed(2) + "Mhz"; + return this.aCounts.mhzTarget.toFixed(2) + "Mhz"; }; /** @@ -756,11 +757,11 @@ CPU.prototype.setSpeed = function(nMultiplier, fOnClick) * If we couldn't reach at least 80% (0.8) of the current target speed, * then revert the multiplier back to one. */ - if (this.mhz/this.mhzTarget < 0.8) nMultiplier = 1; - this.nCyclesMultiplier = nMultiplier; - var mhz = this.mhzDefault * this.nCyclesMultiplier; - if (this.mhzTarget != mhz) { - this.mhzTarget = mhz; + if (this.aCounts.mhz / this.aCounts.mhzTarget < 0.8) nMultiplier = 1; + this.aCounts.nCyclesMultiplier = nMultiplier; + var mhz = this.aCounts.mhzDefault * this.aCounts.nCyclesMultiplier; + if (this.aCounts.mhzTarget != mhz) { + this.aCounts.mhzTarget = mhz; var sSpeed = this.getSpeedTarget(); if (this.bindings["setSpeed"]) this.bindings["setSpeed"].innerHTML = sSpeed; this.println("target speed: " + sSpeed); @@ -769,10 +770,10 @@ CPU.prototype.setSpeed = function(nMultiplier, fOnClick) } this.addCycles(this.nRunCycles); this.nRunCycles = 0; - this.msRunStart = usr.getTime(); - this.msEndThisRun = 0; + this.aCounts.msStartRun = usr.getTime(); + this.aCounts.msEndThisRun = 0; this.calcCycles(); - return this.mhzTarget; + return this.aCounts.mhzTarget; }; /** @@ -785,7 +786,7 @@ CPU.prototype.setSpeed = function(nMultiplier, fOnClick) CPU.prototype.calcSpeed = function(nCycles, msElapsed) { if (msElapsed) { - this.mhz = Math.round(nCycles / (msElapsed * 10)) / 100; + this.aCounts.mhz = Math.round(nCycles / (msElapsed * 10)) / 100; if (msElapsed >= 86400000) { this.nTotalCycles = 0; if (this.chipset) this.chipset.updateAllTimers(true); @@ -801,11 +802,11 @@ CPU.prototype.calcSpeed = function(nCycles, msElapsed) */ CPU.prototype.calcStartTime = function() { - if (this.nRecalcCycles >= this.nCyclesPerSecond) { + if (this.aCounts.nCyclesRecalc >= this.aCounts.nCyclesPerSecond) { this.calcCycles(true); } - this.nCyclesThisRun = 0; - this.msStartThisRun = usr.getTime(); + this.aCounts.nCyclesThisRun = 0; + this.aCounts.msStartThisRun = usr.getTime(); /* * Try to detect situations where the browser may have throttled us, such as when the user switches @@ -818,7 +819,7 @@ CPU.prototype.calcStartTime = function() * * We can detect throttling/lagging by verifying that msEndThisRun (which was set at the end of the * previous run and includes any requested sleep time) is comparable to the current msStartThisRun; - * if the delta is significant, we compensate by bumping msRunStart forward by that delta. + * if the delta is significant, we compensate by bumping msStartRun forward by that delta. * * This shouldn't be triggered when the Debugger halts the CPU, because setSpeed() -- which is called * whenever the CPU starts running again -- zeroes msEndThisRun. @@ -832,19 +833,19 @@ CPU.prototype.calcStartTime = function() * to hit its target speed, since you would expect any instruction that displays a message to be an * EXTREMELY slow instruction. */ - if (this.msEndThisRun) { - var msDelta = this.msStartThisRun - this.msEndThisRun; - if (msDelta > this.msPerYield) { + if (this.aCounts.msEndThisRun) { + var msDelta = this.aCounts.msStartThisRun - this.aCounts.msEndThisRun; + if (msDelta > this.aCounts.msPerYield) { if (MAXDEBUG) this.println("large time delay: " + msDelta + "ms"); - this.msRunStart += msDelta; + this.aCounts.msStartRun += msDelta; /* - * Bumping msRunStart forward should NEVER cause it to exceed msStartThisRun; however, just + * Bumping msStartRun forward should NEVER cause it to exceed msStartThisRun; however, just * in case, I make absolutely sure it cannot happen, since doing so could result in negative * speed calculations. */ - Component.assert(this.msRunStart <= this.msStartThisRun); - if (this.msRunStart > this.msStartThisRun) { - this.msRunStart = this.msStartThisRun; + Component.assert(this.aCounts.msStartRun <= this.aCounts.msStartThisRun); + if (this.aCounts.msStartRun > this.aCounts.msStartThisRun) { + this.aCounts.msStartRun = this.aCounts.msStartThisRun; } } } @@ -858,47 +859,47 @@ CPU.prototype.calcStartTime = function() */ CPU.prototype.calcRemainingTime = function() { - this.msEndThisRun = usr.getTime(); + this.aCounts.msEndThisRun = usr.getTime(); - var msYield = this.msPerYield; - if (this.nCyclesThisRun) { + var msYield = this.aCounts.msPerYield; + if (this.aCounts.nCyclesThisRun) { /* * Normally, we would assume we executed a full quota of work over msPerYield, but since the CPU * now has the option of calling yieldCPU(), that might not be true. If nCyclesThisRun is correct, then * the ratio of nCyclesThisRun/nCyclesPerYield should represent the percentage of work we performed, * and so applying that percentage to msPerYield should give us a better estimate of work vs. time. */ - msYield = Math.round(msYield * this.nCyclesThisRun / this.nCyclesPerYield); + msYield = Math.round(msYield * this.aCounts.nCyclesThisRun / this.aCounts.nCyclesPerYield); } - var msElapsedThisRun = this.msEndThisRun - this.msStartThisRun; + var msElapsedThisRun = this.aCounts.msEndThisRun - this.aCounts.msStartThisRun; var msRemainsThisRun = msYield - msElapsedThisRun; /* * We could pass only "this run" results to calcSpeed(): * - * nCycles = this.nCyclesThisRun; + * nCycles = this.aCounts.nCyclesThisRun; * msElapsed = msElapsedThisRun; * * but it seems preferable to use longer time periods and hopefully get a more accurate speed. * - * Also, if msRemainsThisRun >= 0 && this.nCyclesMultiplier == 1, we could pass these results instead: + * Also, if msRemainsThisRun >= 0 && this.aCounts.nCyclesMultiplier == 1, we could pass these results instead: * - * nCycles = this.nCyclesThisRun; - * msElapsed = this.msPerYield; + * nCycles = this.aCounts.nCyclesThisRun; + * msElapsed = this.aCounts.msPerYield; * * to insure that we display a smooth, constant N Mhz. But for now, I prefer seeing any fluctuations. */ var nCycles = this.nRunCycles; - var msElapsed = this.msEndThisRun - this.msRunStart; + var msElapsed = this.aCounts.msEndThisRun - this.aCounts.msStartRun; - if (MAXDEBUG && msRemainsThisRun < 0 && this.nCyclesMultiplier > 1) { + if (MAXDEBUG && msRemainsThisRun < 0 && this.aCounts.nCyclesMultiplier > 1) { this.println("warning: updates @" + msElapsedThisRun + "ms (prefer " + Math.round(msYield) + "ms)"); } this.calcSpeed(nCycles, msElapsed); - if (msRemainsThisRun < 0 || this.mhz < this.mhzTarget) { + if (msRemainsThisRun < 0 || this.aCounts.mhz < this.aCounts.mhzTarget) { /* * If the last burst took MORE time than we allotted (ie, it's taking more than 1 second to simulate * nCyclesPerSecond), all we can do is yield for as little time as possible (ie, 0ms) and hope that the @@ -908,16 +909,16 @@ CPU.prototype.calcRemainingTime = function() } /* - * Last but not least, update nRecalcCycles, so that when runCPU() starts up again and calls calcStartTime(), + * Last but not least, update nCyclesRecalc, so that when runCPU() starts up again and calls calcStartTime(), * it'll be ready to decide if calcCycles() should be called again. */ - this.nRecalcCycles += this.nCyclesThisRun; + this.aCounts.nCyclesRecalc += this.aCounts.nCyclesThisRun; if (DEBUG && this.dbg && this.dbg.messageEnabled(Debugger.MESSAGE_LOG) && msRemainsThisRun) { - this.dbg.message("at " + this.msEndThisRun + "ms, calcRemainingTime returned " + msRemainsThisRun + "ms to sleep"); + this.dbg.message("at " + this.aCounts.msEndThisRun + "ms, calcRemainingTime returned " + msRemainsThisRun + "ms to sleep"); } - this.msEndThisRun += msRemainsThisRun; + this.aCounts.msEndThisRun += msRemainsThisRun; return msRemainsThisRun; }; @@ -934,28 +935,28 @@ CPU.prototype.runCPU = function(fOnClick) if (this.cmp) this.cmp.stop(usr.getTime(), this.getCycles()); return; } - if (!this.fRunning) { + if (!this.aFlags.fRunning) { /* * setSpeed() without a speed parameter leaves the selected speed in place, but also resets the * cycle counter and timestamp for the current series of runCPU() calls, calculates the maximum number - * of cycles for each burst based on the last known effective CPU speed, and resets the nRecalcCycles + * of cycles for each burst based on the last known effective CPU speed, and resets the nCyclesRecalc * threshold counter. */ this.setSpeed(); - if (this.cmp) this.cmp.start(this.msRunStart, this.getCycles()); - this.fRunning = true; + if (this.cmp) this.cmp.start(this.aCounts.msStartRun, this.getCycles()); + this.aFlags.fRunning = true; if (this.chipset) this.chipset.setSpeaker(); if (this.bindings["run"]) this.bindings["run"].innerHTML = "Halt"; if (fOnClick) this.setFocus(); } /* * calcStartTime() initializes the cycle counter and timestamp for this runCPU() invocation, and optionally - * recalculates the the maximum number of cycles for each burst if the nRecalcCycles threshold has been reached. + * recalculates the the maximum number of cycles for each burst if the nCyclesRecalc threshold has been reached. */ this.calcStartTime(); try { do { - var nCyclesPerBurst = this.fChecksum? 1 : Math.round(this.nCyclesPerBurst / this.nBurstDivisor); + var nCyclesPerBurst = this.aFlags.fChecksum? 1 : Math.round(this.aCounts.nCyclesPerBurst / this.nBurstDivisor); /* * This is an alternative to ChipSet calling setBurstDivisor(). Unfortunately, this doesn't seem @@ -982,28 +983,28 @@ CPU.prototype.runCPU = function(fOnClick) */ var nCycles = this.nBurstCycles - this.nStepCycles; this.nRunCycles += nCycles; - this.nCyclesThisRun += nCycles; + this.aCounts.nCyclesThisRun += nCycles; this.addCycles(0, true); this.updateChecksum(nCycles); - this.nCyclesNextVideoUpdate -= nCycles; - if (this.nCyclesNextVideoUpdate <= 0) { - this.nCyclesNextVideoUpdate += this.nCyclesPerVideoUpdate; + this.aCounts.nCyclesNextVideoUpdate -= nCycles; + if (this.aCounts.nCyclesNextVideoUpdate <= 0) { + this.aCounts.nCyclesNextVideoUpdate += this.aCounts.nCyclesPerVideoUpdate; this.displayVideo(); } - this.nCyclesNextStatusUpdate -= nCycles; - if (this.nCyclesNextStatusUpdate <= 0) { - this.nCyclesNextStatusUpdate += this.nCyclesPerStatusUpdate; + this.aCounts.nCyclesNextStatusUpdate -= nCycles; + if (this.aCounts.nCyclesNextStatusUpdate <= 0) { + this.aCounts.nCyclesNextStatusUpdate += this.aCounts.nCyclesPerStatusUpdate; this.displayStatus(); } - this.nCyclesNextYield -= nCycles; - if (this.nCyclesNextYield <= 0) { - this.nCyclesNextYield += this.nCyclesPerYield; + this.aCounts.nCyclesNextYield -= nCycles; + if (this.aCounts.nCyclesNextYield <= 0) { + this.aCounts.nCyclesNextYield += this.aCounts.nCyclesPerYield; break; } - } while (this.fRunning); + } while (this.aFlags.fRunning); } catch (e) { this.haltCPU(); @@ -1029,7 +1030,7 @@ CPU.prototype.runCPU = function(fOnClick) */ CPU.prototype.setBurstCycles = function(nCycles) { - if (this.fRunning) { + if (this.aFlags.fRunning) { var nDelta = this.nStepCycles - nCycles; /* * NOTE: If nDelta is negative, we will actually be increasing nStepCycles and nBurstCycles. @@ -1060,12 +1061,12 @@ CPU.prototype.haltCPU = function(fComplete) this.nStepCycles = 0; this.addCycles(this.nRunCycles); this.nRunCycles = 0; - if (this.fRunning) { - this.fRunning = false; + if (this.aFlags.fRunning) { + this.aFlags.fRunning = false; if (this.chipset) this.chipset.setSpeaker(); if (this.bindings["run"]) this.bindings["run"].innerHTML = "Run"; } - this.fComplete = fComplete; + this.aFlags.fComplete = fComplete; }; /** @@ -1108,7 +1109,7 @@ CPU.prototype.updateCPU = function() */ CPU.prototype.yieldCPU = function() { - this.nCyclesNextYield = 0; // this will break us out of runCPU(), once we break out of stepCPU() + this.aCounts.nCyclesNextYield = 0; // this will break us out of runCPU(), once we break out of stepCPU() this.nBurstCycles -= this.nStepCycles; this.nStepCycles = 0; // this will break us out of stepCPU() /* diff --git a/my_modules/pcjs-client/lib/debugger.js b/my_modules/pcjs-client/lib/debugger.js index 23d5fe486..8bbe507ca 100644 --- a/my_modules/pcjs-client/lib/debugger.js +++ b/my_modules/pcjs-client/lib/debugger.js @@ -235,62 +235,62 @@ if (DEBUGGER) { * 286 or 386, then I might as well leave some of that support in place, since the impact is minimal). */ Debugger.INS = { - NONE: 0, AAA: 1, AAD: 2, AAM: 3, AAS: 4, ADC: 5, ADD: 6, AND: 7, - ARPL: 8, ASIZE: 9, BOUND: 10, BSF: 11, BSR: 12, BT: 13, BTC: 14, BTR: 15, - BTS: 16, CALL: 17, CBW: 18, CLC: 19, CLD: 20, CLI: 21, CLTS: 22, CMC: 23, - CMP: 24, CMPSB: 25, CMPSW: 26, CS: 27, CWD: 28, DAA: 29, DAS: 30, DEC: 31, - DIV: 32, DS: 33, ENTER: 34, ES: 35, ESC: 36, FADD: 37, FBLD: 38, FBSTP: 39, - FCOM: 40, FCOMP: 41, FDIV: 42, FDIVR: 43, FIADD: 44, FICOM: 45, FICOMP: 46, FIDIV: 47, - FIDIVR: 48, FILD: 49, FIMUL: 50, FIST: 51, FISTP: 52, FISUB: 53, FISUBR: 54, FLD: 55, - FLDCW: 56, FLDENV: 57, FMUL: 58, FNSAVE: 59, FNSTCW: 60, FNSTENV: 61, FNSTSW: 62, FRSTOR: 63, - FS: 64, FST: 65, FSTP: 66, FSUB: 67, FSUBR: 68, GBP: 69, GS: 70, HLT: 71, - IDIV: 72, IMUL: 73, IN: 74, INC: 75, INS: 76, INT: 77, INT3: 78, INTO: 79, - IRET: 80, JBE: 81, JC: 82, JCXZ: 83, JG: 84, JGE: 85, JL: 86, JLE: 87, - JMP: 88, JNBE: 89, JNC: 90, JNO: 91, JNP: 92, JNS: 93, JNZ: 94, JO: 95, - JP: 96, JS: 97, JZ: 98, LAHF: 99, LAR: 100, LDS: 101, LEA: 102, LEAVE: 103, - LES: 104, LFS: 105, LGDT: 106, LGS: 107, LIDT: 108, LLDT: 109, LMSW: 110, LOCK: 111, - LODSB: 112, LODSW: 113, LOOP: 114, LOOPNZ: 115, LOOPZ: 116, LSL: 117, LSS: 118, LTR: 119, - MOV: 120, MOVSB: 121, MOVSW: 122, MOVSX: 123, MOVZX: 124, MUL: 125, NEG: 126, NOP: 127, - NOT: 128, OR: 129, OSIZE: 130, OUT: 131, OUTS: 132, POP: 133, POPA: 134, POPF: 135, - PUSH: 136, PUSHA: 137, PUSHF: 138, RCL: 139, RCR: 140, REPNZ: 141, REPZ: 142, RET: 143, - RETF: 144, ROL: 145, ROR: 146, SAHF: 147, SAR: 148, SBB: 149, SCASB: 150, SCASW: 151, - SETBE: 152, SETC: 153, SETG: 154, SETGE: 155, SETL: 156, SETLE: 157, SETNBE: 158, SETNC: 159, - SETNO: 160, SETNP: 161, SETNS: 162, SETNZ: 163, SETO: 164, SETP: 165, SETS: 166, SETZ: 167, - SGDT: 168, SHL: 169, SHLD: 170, SHR: 171, SHRD: 172, SIDT: 173, SLDT: 174, SMSW: 175, - SS: 176, STC: 177, STD: 178, STI: 179, STOSB: 180, STOSW: 181, STR: 182, SUB: 183, - TEST: 184, VERR: 185, VERW: 186, WAIT: 187, XCHG: 188, XLAT: 189, XOR: 190, GRP1B: 191, - GRP1W: 192, GRP1SW: 193, GRP2B: 194, GRP2W: 195, GRP2B1: 196, GRP2W1: 197, GRP2BC: 198, GRP2WC: 199, - GRP3B: 200, GRP3W: 201, GRP4B: 202, GRP4W: 203, OP0F: 204, GRP6: 205, GRP7: 206 + NONE: 0, AAA: 1, AAD: 2, AAM: 3, AAS: 4, ADC: 5, ADD: 6, AND: 7, + ARPL: 8, ASIZE: 9, BOUND: 10, BSF: 11, BSR: 12, BT: 13, BTC: 14, BTR: 15, + BTS: 16, CALL: 17, CBW: 18, CLC: 19, CLD: 20, CLI: 21, CLTS: 22, CMC: 23, + CMP: 24, CMPSB: 25, CMPSW: 26, CS: 27, CWD: 28, DAA: 29, DAS: 30, DEC: 31, + DIV: 32, DS: 33, ENTER: 34, ES: 35, ESC: 36, FADD: 37, FBLD: 38, FBSTP: 39, + FCOM: 40, FCOMP: 41, FDIV: 42, FDIVR: 43, FIADD: 44, FICOM: 45, FICOMP: 46, FIDIV: 47, + FIDIVR: 48, FILD: 49, FIMUL: 50, FIST: 51, FISTP: 52, FISUB: 53, FISUBR: 54, FLD: 55, + FLDCW: 56, FLDENV: 57, FMUL: 58, FNSAVE: 59, FNSTCW: 60, FNSTENV:61, FNSTSW: 62, FRSTOR: 63, + FS: 64, FST: 65, FSTP: 66, FSUB: 67, FSUBR: 68, GBP: 69, GS: 70, HLT: 71, + IDIV: 72, IMUL: 73, IN: 74, INC: 75, INS: 76, INT: 77, INT3: 78, INTO: 79, + IRET: 80, JBE: 81, JC: 82, JCXZ: 83, JG: 84, JGE: 85, JL: 86, JLE: 87, + JMP: 88, JNBE: 89, JNC: 90, JNO: 91, JNP: 92, JNS: 93, JNZ: 94, JO: 95, + JP: 96, JS: 97, JZ: 98, LAHF: 99, LAR: 100, LDS: 101, LEA: 102, LEAVE: 103, + LES: 104, LFS: 105, LGDT: 106, LGS: 107, LIDT: 108, LLDT: 109, LMSW: 110, LOADALL:111, + LOCK: 112, LODSB: 113, LODSW: 114, LOOP: 115, LOOPNZ: 116, LOOPZ: 117, LSL: 118, LSS: 119, + LTR: 120, MOV: 121, MOVSB: 122, MOVSW: 123, MOVSX: 124, MOVZX: 125, MUL: 126, NEG: 127, + NOP: 128, NOT: 129, OR: 130, OSIZE: 131, OUT: 132, OUTS: 133, POP: 134, POPA: 135, + POPF: 136, PUSH: 137, PUSHA: 138, PUSHF: 139, RCL: 140, RCR: 141, REPNZ: 142, REPZ: 143, + RET: 144, RETF: 145, ROL: 146, ROR: 147, SAHF: 148, SAR: 149, SBB: 150, SCASB: 151, + SCASW: 152, SETBE: 153, SETC: 154, SETG: 155, SETGE: 156, SETL: 157, SETLE: 158, SETNBE: 159, + SETNC: 160, SETNO: 161, SETNP: 162, SETNS: 163, SETNZ: 164, SETO: 165, SETP: 166, SETS: 167, + SETZ: 168, SGDT: 169, SHL: 170, SHLD: 171, SHR: 172, SHRD: 173, SIDT: 174, SLDT: 175, + SMSW: 176, SS: 177, STC: 178, STD: 179, STI: 180, STOSB: 181, STOSW: 182, STR: 183, + SUB: 184, TEST: 185, VERR: 186, VERW: 187, WAIT: 188, XCHG: 189, XLAT: 190, XOR: 191, + GRP1B: 192, GRP1W: 193, GRP1SW: 194, GRP2B: 195, GRP2W: 196, GRP2B1: 197, GRP2W1: 198, GRP2BC: 199, + GRP2WC: 200, GRP3B: 201, GRP3W: 202, GRP4B: 203, GRP4W: 204, OP0F: 205, GRP6: 206, GRP7: 207 }; /* * Instruction names, indexed by instruction ordinal (above) */ Debugger.asIns = [ - "DB", "AAA", "AAD", "AAM", "AAS", "ADC", "ADD", "AND", - "ARPL", "AS:", "BOUND", "BSF", "BSR", "BT", "BTC", "BTR", - "BTS", "CALL", "CBW", "CLC", "CLD", "CLI", "CLTS", "CMC", - "CMP", "CMPSB", "CMPSW", "CS:", "CWD", "DAA", "DAS", "DEC", - "DIV", "DS:", "ENTER", "ES:", "ESC", "FADD", "FBLD", "FBSTP", - "FCOM", "FCOMP", "FDIV", "FDIVR", "FIADD", "FICOM", "FICOMP", "FIDIV", - "FIDIVR", "FILD", "FIMUL", "FIST", "FISTP", "FISUB", "FISUBR", "FLD", - "FLDCW", "FLDENV", "FMUL", "FNSAVE", "FNSTCW", "FNSTENV", "FNSTSW", "FRSTOR", - "FS:", "FST", "FSTP", "FSUB", "FSUBR", "GBP", "GS:", "HLT", - "IDIV", "IMUL", "IN", "INC", "INS", "INT", "INT3", "INTO", - "IRET", "JBE", "JC", "JCXZ", "JG", "JGE", "JL", "JLE", - "JMP", "JNBE", "JNC", "JNO", "JNP", "JNS", "JNZ", "JO", - "JP", "JS", "JZ", "LAHF", "LAR", "LDS", "LEA", "LEAVE", - "LES", "LFS", "LGDT", "LGS", "LIDT", "LLDT", "LMSW", "LOCK", - "LODSB", "LODSW", "LOOP", "LOOPNZ", "LOOPZ", "LSL", "LSS", "LTR", - "MOV", "MOVSB", "MOVSW", "MOVSX", "MOVZX", "MUL", "NEG", "NOP", - "NOT", "OR", "OS:", "OUT", "OUTS", "POP", "POPA", "POPF", - "PUSH", "PUSHA", "PUSHF", "RCL", "RCR", "REPNZ", "REPZ", "RET", - "RETF", "ROL", "ROR", "SAHF", "SAR", "SBB", "SCASB", "SCASW", - "SETBE", "SETC", "SETG", "SETGE", "SETL", "SETLE", "SETNBE", "SETNC", - "SETNO", "SETNP", "SETNS", "SETNZ", "SETO", "SETP", "SETS", "SETZ", - "SGDT", "SHL", "SHLD", "SHR", "SHRD", "SIDT", "SLDT", "SMSW", - "SS:", "STC", "STD", "STI", "STOSB", "STOSW", "STR", "SUB", - "TEST", "VERR", "VERW", "WAIT", "XCHG", "XLAT", "XOR" + "DB", "AAA", "AAD", "AAM", "AAS", "ADC", "ADD", "AND", + "ARPL", "AS:", "BOUND", "BSF", "BSR", "BT", "BTC", "BTR", + "BTS", "CALL", "CBW", "CLC", "CLD", "CLI", "CLTS", "CMC", + "CMP", "CMPSB", "CMPSW", "CS:", "CWD", "DAA", "DAS", "DEC", + "DIV", "DS:", "ENTER", "ES:", "ESC", "FADD", "FBLD", "FBSTP", + "FCOM", "FCOMP", "FDIV", "FDIVR", "FIADD", "FICOM", "FICOMP", "FIDIV", + "FIDIVR", "FILD", "FIMUL", "FIST", "FISTP", "FISUB", "FISUBR", "FLD", + "FLDCW", "FLDENV", "FMUL", "FNSAVE", "FNSTCW", "FNSTENV","FNSTSW", "FRSTOR", + "FS:", "FST", "FSTP", "FSUB", "FSUBR", "GBP", "GS:", "HLT", + "IDIV", "IMUL", "IN", "INC", "INS", "INT", "INT3", "INTO", + "IRET", "JBE", "JC", "JCXZ", "JG", "JGE", "JL", "JLE", + "JMP", "JNBE", "JNC", "JNO", "JNP", "JNS", "JNZ", "JO", + "JP", "JS", "JZ", "LAHF", "LAR", "LDS", "LEA", "LEAVE", + "LES", "LFS", "LGDT", "LGS", "LIDT", "LLDT", "LMSW", "LOADALL", + "LOCK", "LODSB", "LODSW", "LOOP", "LOOPNZ", "LOOPZ", "LSL", "LSS", + "LTR", "MOV", "MOVSB", "MOVSW", "MOVSX", "MOVZX", "MUL", "NEG", + "NOP", "NOT", "OR", "OS:", "OUT", "OUTS", "POP", "POPA", + "POPF", "PUSH", "PUSHA", "PUSHF", "RCL", "RCR", "REPNZ", "REPZ", + "RET", "RETF", "ROL", "ROR", "SAHF", "SAR", "SBB", "SCASB", + "SCASW", "SETBE", "SETC", "SETG", "SETGE", "SETL", "SETLE", "SETNBE", + "SETNC", "SETNO", "SETNP", "SETNS", "SETNZ", "SETO", "SETP", "SETS", + "SETZ", "SGDT", "SHL", "SHLD", "SHR", "SHRD", "SIDT", "SLDT", + "SMSW", "SS:", "STC", "STD", "STI", "STOSB", "STOSW", "STR", + "SUB", "TEST", "VERR", "VERW", "WAIT", "XCHG", "XLAT", "XOR" ]; Debugger.CPU_86 = 0; @@ -524,7 +524,7 @@ if (DEBUGGER) { * * On the 8086, it functioned as POP CS * On the 80186, it generated an illegal opcode (UD_FAULT) exception - * On the 80286, it introduced a series of new (and growing) two-byte opcodes + * On the 80286, it introduced a new (and growing) series of two-byte opcodes * * Based on the active CPU model, we make every effort to execute and disassemble this (and every other) * opcode appropriately, by setting the opcode's entry in aaOpDescs accordingly. 0x0F defaults to the 8086 @@ -840,10 +840,11 @@ if (DEBUGGER) { ]; Debugger.aaOp0FDescs = { - 0x00: [Debugger.INS.GRP6, Debugger.TYPE_MODRM | Debugger.TYPE_WORD | Debugger.TYPE_BOTH], - 0x01: [Debugger.INS.GRP7, Debugger.TYPE_MODRM | Debugger.TYPE_WORD | Debugger.TYPE_BOTH], - 0x02: [Debugger.INS.LAR, Debugger.TYPE_REG | Debugger.TYPE_WORD | Debugger.TYPE_IN | Debugger.TYPE_286, Debugger.TYPE_MEM | Debugger.TYPE_WORD | Debugger.TYPE_IN], - 0x03: [Debugger.INS.LSL, Debugger.TYPE_REG | Debugger.TYPE_WORD | Debugger.TYPE_IN | Debugger.TYPE_286, Debugger.TYPE_MEM | Debugger.TYPE_WORD | Debugger.TYPE_IN] + 0x00: [Debugger.INS.GRP6, Debugger.TYPE_MODRM | Debugger.TYPE_WORD | Debugger.TYPE_BOTH], + 0x01: [Debugger.INS.GRP7, Debugger.TYPE_MODRM | Debugger.TYPE_WORD | Debugger.TYPE_BOTH], + 0x02: [Debugger.INS.LAR, Debugger.TYPE_REG | Debugger.TYPE_WORD | Debugger.TYPE_IN | Debugger.TYPE_286, Debugger.TYPE_MEM | Debugger.TYPE_WORD | Debugger.TYPE_IN], + 0x03: [Debugger.INS.LSL, Debugger.TYPE_REG | Debugger.TYPE_WORD | Debugger.TYPE_IN | Debugger.TYPE_286, Debugger.TYPE_MEM | Debugger.TYPE_WORD | Debugger.TYPE_IN], + 0x05: [Debugger.INS.LOADALL, Debugger.TYPE_286] }; Debugger.aaGrpDescs = [ @@ -1778,8 +1779,8 @@ if (DEBUGGER) { * it here, so that if the CPU is reset while running, we can prevent stop() * from unnecessarily dumping the CPU state. */ - if (this.fRunning !== undefined && !fQuiet) this.println("reset"); - this.fRunning = false; + if (this.aFlags.fRunning !== undefined && !fQuiet) this.println("reset"); + this.aFlags.fRunning = false; this.clearTempBreakpoint(); if (!fQuiet) this.updateStatus(); }; @@ -1845,7 +1846,7 @@ if (DEBUGGER) { Debugger.prototype.start = function(ms, nCycles) { if (!this.fProcStep) this.println("running"); - this.fRunning = true; + this.aFlags.fRunning = true; this.msStart = ms; this.nCyclesStart = nCycles; }; @@ -1861,8 +1862,8 @@ if (DEBUGGER) { */ Debugger.prototype.stop = function(ms, nCycles) { - if (this.fRunning) { - this.fRunning = false; + if (this.aFlags.fRunning) { + this.aFlags.fRunning = false; this.nCycles = nCycles - this.nCyclesStart; if (!this.fProcStep) { var sStopped = "stopped"; @@ -2565,11 +2566,11 @@ if (DEBUGGER) { sLine += " "; sLine = sLine.substr(0, 50); sLine += ";"; - if (!this.cpu.fChecksum) { + if (!this.cpu.aFlags.fChecksum) { sLine += sComment + (nSequence != null? '=' + nSequence.toString() : ""); } else { var nCycles = this.cpu.getCycles(); - sLine += "cycles=" + nCycles.toString() + " cs=" + str.toHex(this.cpu.nChecksum); + sLine += "cycles=" + nCycles.toString() + " cs=" + str.toHex(this.cpu.aCounts.nChecksum); } } return sLine; @@ -3495,7 +3496,7 @@ if (DEBUGGER) { break; } } - s += ",dpl" + ((seg.acc >> X86.DESC.ACC.LEVEL.SHIFT) & X86.DESC.ACC.LEVEL.MASK); + s += ",dpl" + ((seg.acc >> X86.DESC.ACC.DPL.SHIFT) & X86.DESC.ACC.DPL.MASK); s += (seg.acc & X86.DESC.ACC.PRESENT)? ",present" : ",not present"; } else { // We must be in real-mode, where selectors have no access bytes @@ -3618,7 +3619,7 @@ if (DEBUGGER) { */ Debugger.prototype.doHalt = function(sCount) { - if (this.fRunning && sCount === undefined) { + if (this.aFlags.fRunning && sCount === undefined) { this.haltCPU(); return; } @@ -3713,11 +3714,11 @@ if (DEBUGGER) { } while (cLines && i != this.iTraceBuffer); if (!sDump) sDump = "nothing to dump"; this.println(sDump); - this.println("msPerYield: " + this.cpu.msPerYield); - this.println("nCyclesPerBurst: " + this.cpu.nCyclesPerBurst); - this.println("nCyclesPerYield: " + this.cpu.nCyclesPerYield); - this.println("nCyclesPerVideoUpdate: " + this.cpu.nCyclesPerVideoUpdate); - this.println("nCyclesPerStatusUpdate: " + this.cpu.nCyclesPerStatusUpdate); + this.println("msPerYield: " + this.cpu.aCounts.msPerYield); + this.println("nCyclesPerBurst: " + this.cpu.aCounts.nCyclesPerBurst); + this.println("nCyclesPerYield: " + this.cpu.aCounts.nCyclesPerYield); + this.println("nCyclesPerVideoUpdate: " + this.cpu.aCounts.nCyclesPerVideoUpdate); + this.println("nCyclesPerStatusUpdate: " + this.cpu.aCounts.nCyclesPerStatusUpdate); } else { var fEnable = (sEnable == "on"); for (var prop in this.traceEnabled) { @@ -3980,13 +3981,13 @@ if (DEBUGGER) { } switch (asArgs[2]) { case "int": - this.cpu.nCyclesChecksumInterval = nCycles; + this.cpu.aCounts.nCyclesChecksumInterval = nCycles; break; case "start": - this.cpu.nCyclesChecksumStart = nCycles; + this.cpu.aCounts.nCyclesChecksumStart = nCycles; break; case "stop": - this.cpu.nCyclesChecksumStop = nCycles; + this.cpu.aCounts.nCyclesChecksumStop = nCycles; break; default: this.println("unknown cs option"); @@ -3995,7 +3996,7 @@ if (DEBUGGER) { if (nCycles !== undefined) { this.cpu.resetChecksum(); } - this.println("checksums " + (this.cpu.fChecksum? "enabled" : "disabled")); + this.println("checksums " + (this.cpu.aFlags.fChecksum? "enabled" : "disabled")); break; case "sp": if (asArgs[2] !== undefined) { @@ -4533,7 +4534,7 @@ if (DEBUGGER) { if (this.cmp) this.cmp.reset(); return true; case "ver": - this.println((APPNAME || "PCjs") + " version " + APPVERSION + " (" + (COMPILED? "release" : (DEBUG? "debug" : "nodebug")) + (PREFETCH? ",prefetch" : "") + (TYPEDARRAYS? ",typedarrays" : (FATARRAYS? ",fatarrays" : "")) + ")"); + this.println((APPNAME || "PCjs") + " version " + APPVERSION + " (" + (COMPILED? "release" : (DEBUG? "debug" : "nodebug")) + (PREFETCH? ",prefetch" : ",noprefetch") + (EAFUNCS? "eafuncs" : ",eatests") + (TYPEDARRAYS? ",typedarrays" : (FATARRAYS? ",fatarrays" : ",dwords")) + ")"); return true; default: ch0 = sCmd.charAt(0); diff --git a/my_modules/pcjs-client/lib/defines.js b/my_modules/pcjs-client/lib/defines.js index 92123af86..62a8aef20 100644 --- a/my_modules/pcjs-client/lib/defines.js +++ b/my_modules/pcjs-client/lib/defines.js @@ -64,7 +64,7 @@ var DEBUGGER = true; // this @define is overridden by the Closure Com * @define {boolean} * * PREFETCH enables the use of a prefetch queue. - * + * * See the Bus component for details. */ var PREFETCH = false; @@ -72,27 +72,21 @@ var PREFETCH = false; /** * @define {boolean} * - * FASTDISABLE turns on memory-function switching to dynamically disable memory accesses whenever the CPU wants - * to disable spurious memory reads (which are mostly harmless) or stale memory writes (which tend to be destructive - * and are NOT mostly harmless). - * - * If FASTDISABLE is false, then the code falls back to setting/testing internal OP_NOREAD and OP_NOWRITE opFlags - * as needed. - * - * At the moment, it seems that FASTDISABLE is a bit slower than relying on the OP_NOREAD/OP_NOWRITE flags, so it's - * turned off; apparently, I was a bit too optimistic calling it "FAST". But your mileage may vary, depending on the - * browser and its version. + * EAFUNCS enables dynamic function switching whenever the CPU needs to disable one or both EA (Effective Address) + * memory functions for an instruction that doesn't observe the normal "read/modify/write" behavior. The goal is to + * avoid useless memory reads (which are mostly harmless) and stale memory writes (which are mostly destructive). * - * See the X86CPU component for details, since it is the CPU, not the underlying Bus or Memory components, that needs - * to be able to do this. + * If EAFUNCS is false, then the CPU falls back to setting/testing internal OP_NOREAD and OP_NOWRITE opFlags + * as needed. At the moment, it seems that "EAFUNCS mode" is a bit slower than "EATESTS mode", which relies on the + * bits in opFlags, so EAFUNCS is turned off; however, your mileage may vary, depending on the browser and its vintage. */ -var FASTDISABLE = false; +var EAFUNCS = false; /** * @define {boolean} * - * FATARRAYS is a Closure Compiler compile-time option that allocates 1 number per byte for Memory blocks; - * wasteful, but potentially slightly faster. + * FATARRAYS is a Closure Compiler compile-time option that allocates a normal Array of numbers for each Memory block, + * where each a number represents ONE byte; very wasteful, but potentially slightly faster. * * See the Memory component for details. */ @@ -100,16 +94,14 @@ var FATARRAYS = false; /** * @define {boolean} - * - * TYPEDARRAYS enables use of typed arrays for Memory blocks. This used to be a compile-time-only option, but since I've - * added memory access functions for typed arrays (see Memory.afnTypedArray), I can turn the support on dynamically now. - * Originally, I didn't see much of a speed increase over the original (non-typed) implementation, but that will probably - * change over time. + * + * TYPEDARRAYS enables use of typed arrays for Memory blocks. This used to be a compile-time-only option, but I've + * added memory access functions for typed arrays (see Memory.afnTypedArray), so the support CAN be enabled dynamically. + * + * However, TYPEDARRAYS has always been slightly slower than the original DWORDS implementation (which uses a normal Array + * of numbers that stores 32 bits, or 4 consecutive bytes, per number), so TYPEDARRAYS is completely disabled for now. * * See the Memory component for details. - * - * UPDATE (Oct 2014): Time has passed, and TypedArray support is still measurably slower than the default Memory implementation, - * so it's turned off by default for now. */ var TYPEDARRAYS = false; // (typeof ArrayBuffer !== 'undefined'); @@ -117,7 +109,7 @@ if (typeof module !== 'undefined') { global.PCJSCLASS = PCJSCLASS; global.DEBUGGER = DEBUGGER; global.PREFETCH = PREFETCH; - global.FASTDISABLE = FASTDISABLE; + global.EAFUNCS = EAFUNCS; global.FATARRAYS = FATARRAYS; global.TYPEDARRAYS = TYPEDARRAYS; /* diff --git a/my_modules/pcjs-client/lib/disk.js b/my_modules/pcjs-client/lib/disk.js index fac3abc5e..2f54b078d 100644 --- a/my_modules/pcjs-client/lib/disk.js +++ b/my_modules/pcjs-client/lib/disk.js @@ -578,7 +578,7 @@ Disk.prototype.doneLoad = function(sDiskFile, sDiskData, nErrorCode, sDiskPath) { var disk = null; this.fWriteProtected = false; - var fPrintOnly = (nErrorCode < 0 && this.cmp && !this.cmp.fPowered); + var fPrintOnly = (nErrorCode < 0 && this.cmp && !this.cmp.aFlags.fPowered); if (this.fOnDemand) { if (!nErrorCode) { diff --git a/my_modules/pcjs-client/lib/keyboard.js b/my_modules/pcjs-client/lib/keyboard.js index 9649eba8f..3d5c23932 100644 --- a/my_modules/pcjs-client/lib/keyboard.js +++ b/my_modules/pcjs-client/lib/keyboard.js @@ -939,8 +939,8 @@ Keyboard.prototype.calcReleaseDelay = function(fRepeat) * handler, otherwise doing things like pressing ENTER repeatedly will result in sluggish behavior * (because you can generally press/release/repress keys faster than they will auto-repeat). */ - var msDelay = (fRepeat ? this.msReleaseRepeat : this.msReleaseDelay); - if (this.cpu && this.cpu.mhz) msDelay /= this.cpu.mhz; + var msDelay = (fRepeat? this.msReleaseRepeat : this.msReleaseDelay); + if (this.cpu && this.cpu.aCounts.mhz) msDelay /= this.cpu.aCounts.mhz; return msDelay; }; diff --git a/my_modules/pcjs-client/lib/nodebugger.js b/my_modules/pcjs-client/lib/nodebugger.js index d3bbe8b12..1d02794bc 100644 --- a/my_modules/pcjs-client/lib/nodebugger.js +++ b/my_modules/pcjs-client/lib/nodebugger.js @@ -38,9 +38,14 @@ * nearly all of debugger.js will be conditionally removed by the compiler, reducing it to little more than a * "type skeleton", which also solves some type-related warnings we would otherwise have if we tried to remove * debugger.js from the compilation process altogether. - * + * * However, when we're in "development mode" and running uncompiled code in debugger-less configurations, * I would still like to skip loading debugger.js altogether. To do that, we must arrange for an additional file, * nodebugger.js, to be loaded as early as possible, which must explicitly UPDATE the value of DEBUGGER to *false*. */ DEBUGGER = false; + +/* + * We still need a Debugger "stub" object, so that attempts to reference Debugger constants won't trigger exceptions. + */ +var Debugger = {}; diff --git a/my_modules/pcjs-client/lib/video.js b/my_modules/pcjs-client/lib/video.js index 01edb4705..d4f507f1f 100644 --- a/my_modules/pcjs-client/lib/video.js +++ b/my_modules/pcjs-client/lib/video.js @@ -3820,9 +3820,9 @@ Video.prototype.updateChar = function(col, row, data, context) Video.prototype.updateScreen = function(fForce) { /* - * The Computer component maintains an fPowered setting on our behalf, so we use it. + * The Computer component maintains the fPowered setting on our behalf, so we use it. */ - if (!this.fPowered) return; + if (!this.aFlags.fPowered) return; /* * If the card's video signal is disabled (eg, during a mode change), then skip the update, diff --git a/my_modules/pcjs-client/lib/x86.js b/my_modules/pcjs-client/lib/x86.js index 0c7c5dbd5..a731d4ed4 100644 --- a/my_modules/pcjs-client/lib/x86.js +++ b/my_modules/pcjs-client/lib/x86.js @@ -75,7 +75,7 @@ var X86 = { SET: 0xfff0 // on the 80286, these are always set (TODO: Verify) }, SEL: { - LEVEL: 0x0003, // selector privilege level (0-3) + RPL: 0x0003, // requested privilege level (0-3) LDT: 0x0004, // table indicator (0: GDT, 1: LDT) MASK: 0xfff8 // table index }, @@ -91,37 +91,48 @@ var X86 = { BASE1623: 0x00ff, MASK: 0xff00, TYPE: { - MASK: 0x1f00, - SEG: 0x1000, + MASK: 0x1f00, + SEG: 0x1000, + NONSEG: 0x0f00, /* - * The rest of these apply only when SEG is set + * The following bits apply only when SEG is set */ - ACCESSED: 0x0100, - READABLE: 0x0200, // CODE: set if readable, clear if execute-only - WRITEABLE: 0x0200, // DATA: set if writable, clear if read-only - CONFORMING: 0x0400, // CODE: set if conforming, clear if not - EXPDOWN: 0x0400, // DATA: set if expand-down, clear if not - CODE: 0x0800, // set for CODE, clear for DATA - CODE_READABLE: 0x0A00, // both CODE and READABLE - CODE_CONFORMING: 0x0C00, // both CODE and CONFORMING - CODE_CONFORMING_READABLE: 0x0E00, // all of CODE and CONFORMING and READABLE + CODE: 0x0800, // set for CODE, clear for DATA + ACCESSED: 0x0100, // set if accessed, clear if not accessed + READABLE: 0x0200, // CODE: set if readable, clear if exec-only + WRITEABLE: 0x0200, // DATA: set if writable, clear if read-only + CONFORMING: 0x0400, // CODE: set if conforming, clear if not + EXPDOWN: 0x0400, // DATA: set if expand-down, clear if not /* - * The rest of these apply only when SEG is clear + * The following are all the possible (valid) types (well, except for the variations + * of DATA and CODE where the ACCESSED bit (0x0100) may also be set) */ - TSS: 0x0100, - LDT: 0x0200, - TSS_LDT: 0x0300, - TSS_BUSY: 0x0300, - GATE_CALL: 0x0400, - GATE_TASK: 0x0500, - GATE_INT: 0x0600, - GATE_TRAP: 0x0700 + TSS: 0x0100, + LDT: 0x0200, + TSS_LDT: 0x0300, + TSS_BUSY: 0x0300, + GATE_CALL: 0x0400, + GATE_TASK: 0x0500, + GATE_INT: 0x0600, + GATE_TRAP: 0x0700, + DATA_READONLY: 0x1000, + DATA_WRITEABLE: 0x1200, + DATA_EXPDOWN_READONLY: 0x1400, + DATA_EXPDOWN_WRITEABLE: 0x1600, + CODE_EXECONLY: 0x1800, + CODE_READABLE: 0x1a00, + CODE_CONFORMING_EXECONLY: 0x1c00, + CODE_CONFORMING_READABLE: 0x1e00 }, - LEVEL: { + DPL: { MASK: 0x6000, SHIFT: 13 }, PRESENT: 0x8000 + }, + EXT: { // descriptor extension word (reserved on the 80286; "must be zero") + OFFSET: 0x6, + MASK: 0xffff } }, /* diff --git a/my_modules/pcjs-client/lib/x86cpu.js b/my_modules/pcjs-client/lib/x86cpu.js index d345eb10f..6dc7e31ff 100644 --- a/my_modules/pcjs-client/lib/x86cpu.js +++ b/my_modules/pcjs-client/lib/x86cpu.js @@ -143,14 +143,14 @@ function X86CPU(parmsCPU) { * stepCPU() call, but it's good form to do so. */ this.nBurstCycles = 0; - this.fComplete = this.fDebugCheck = false; + this.aFlags.fComplete = this.aFlags.fDebugCheck = false; /* * We're just declaring aMemBlocks and associated Bus parameters here; they'll be initialized by initMemory() * when the Bus is initialized. */ this.aMemBlocks = []; - this.addrLimit = this.addrMask = this.blockShift = this.blockLimit = this.blockMask = 0; + this.addrMemMask = this.blockShift = this.blockLimit = this.blockMask = 0; /* * Establish all the default get/set functions for accessing memory; see this function for details. @@ -467,7 +467,7 @@ X86CPU.PREFETCH.MASK = 0x7; // (X86CPU.PREFETCH.ARRAY - 1) X86CPU.prototype.initMemory = function(aMemBlocks, addrLimit, blockShift, blockLimit, blockMask) { this.aMemBlocks = aMemBlocks; - this.addrLimit = this.addrMask = addrLimit; + this.addrMemMask = addrLimit; this.blockShift = blockShift; this.blockLimit = blockLimit; this.blockMask = blockMask; @@ -491,7 +491,7 @@ X86CPU.prototype.initMemory = function(aMemBlocks, addrLimit, blockShift, blockL */ X86CPU.prototype.setAddressMask = function(addrMask) { - this.addrMask = addrMask; + this.addrMemMask = addrMask; }; /** @@ -727,7 +727,7 @@ X86CPU.prototype.initProcessor = function() */ X86CPU.prototype.reset = function() { - if (this.fRunning) this.haltCPU(); + if (this.aFlags.fRunning) this.haltCPU(); this.resetRegs(); this.resetCycles(); this.clearError(); // clear any fatal error/exception that setError() may have flagged @@ -760,9 +760,6 @@ X86CPU.prototype.reset = function() * which takes both an offset and a segment, or setIP(), whichever is appropriate; in unusual cases where only * segCS is changing (eg, undocumented 8086 opcodes), use setCS(). * - * On the 80286, another "register" that mirrors segCS is nCPL: whenever CS is updated, nCPL is updated - * with the CS selector's access level. - * * The other segment registers (DS, SS and ES) have similar setters (for segDS, segSS and segES), but those * functions do not mirror any special segment:offset values in the same way that regEIP mirrors CS:IP. * @@ -827,7 +824,7 @@ X86CPU.prototype.resetRegs = function() /* * This resets the Processor Status flags (regPS), along with all the internal "result registers"; - * we've taken care to ensure that both nCPL and nIOPL are initialized before this first setPS() call. + * we've taken care to ensure that both segCS.cpl and nIOPL are initialized before this first setPS() call. */ this.setPS(0); @@ -924,7 +921,7 @@ X86CPU.prototype.checkIntNotify = function(nInt) } } } - else if (DEBUGGER && this.fDebugCheck) { + else if (DEBUGGER && this.aFlags.fDebugCheck) { /* * Enabling MESSAGE_INT messages is one of the criteria that's also included in fDebugCheck, so for maximum * speed, we check fDebugCheck first. @@ -1007,10 +1004,10 @@ X86CPU.prototype.setProtMode = function(fProt) } else { X86Op0F.aOpGRP6 = X86Op0F.aOpGRP6Real; } - this.segCS.setProt(fProt); - this.segDS.setProt(fProt); - this.segSS.setProt(fProt); - this.segES.setProt(fProt); + this.segCS.updateAccess(fProt); + this.segDS.updateAccess(fProt); + this.segSS.updateAccess(fProt); + this.segES.updateAccess(fProt); }; /** @@ -1048,7 +1045,6 @@ X86CPU.prototype.restoreProtMode = function(a) this.segLDT.restore(a[5]); this.segTSS.restore(a[6]); this.nIOPL = a[7]; - this.nCPL = this.segCS.level; this.setProtMode(); } }; @@ -1122,7 +1118,7 @@ X86CPU.prototype.restore = function(data) /** * setMemoryEnabled() * - * Set the default EA memory access functions (enabled vs. disabled). When FASTDISABLE is true, assorted + * Set the default EA memory access functions (enabled vs. disabled). When EAFUNCS is true, assorted * CPU opcode functions override the default functions whenever a CPU operation needs to temporarily disable the * "get" of a source operand (or the "set" of a destination operand, as in the case of a CMP instruction). * @@ -1248,7 +1244,6 @@ X86CPU.prototype.loadIDTEntry = function(nIDT) X86CPU.prototype.setCS = function(sel) { this.regEIP = this.segCS.load(sel) + this.regIP; - this.nCPL = this.segCS.level; this.opFlags |= this.OPFLAG_NOINTR8086; if (PREFETCH) this.flushPrefetch(this.regEIP); }; @@ -1330,7 +1325,6 @@ X86CPU.prototype.setCSIP = function(off, sel) { Component.assert((off & 0xffff) == off); this.regEIP = this.segCS.load(sel) + (this.regIP = off); - this.nCPL = this.segCS.level; if (PREFETCH) this.flushPrefetch(this.regEIP); }; @@ -1646,13 +1640,13 @@ X86CPU.prototype.setPS = function(regPS) * Since PS.IOPL and PS.IF are part of PS.DIRECT, we need to take care of any 80286-specific checks before * setting the PS.DIRECT bits. Specifically, PS.IOPL is unchanged if CPL > 0, and PS.IF is unchanged if CPL > IOPL. */ - if (!this.nCPL) { + if (!this.segCS.cpl) { this.nIOPL = (regPS & X86.PS.IOPL.MASK) >> X86.PS.IOPL.SHIFT; // IOPL allowed to change if (this.nIOPL && !(this.regMSW & X86.MSW.PE)) this.nIOPL = 0; // effective IOPL remains 0 } else { regPS = (regPS & ~X86.PS.IOPL.MASK) | (this.regPS & X86.PS.IOPL.MASK); // IOPL not allowed to change } - if (this.nCPL > this.nIOPL) { + if (this.segCS.cpl > this.nIOPL) { regPS = (regPS & ~X86.PS.IF) | (this.regPS & X86.PS.IF); // IF not allowed to change } @@ -1744,7 +1738,7 @@ X86CPU.prototype.setBinding = function(sHTMLClass, sHTMLType, sBinding, control) */ X86CPU.prototype.getByte = function(addr) { - return this.aMemBlocks[(addr & this.addrMask) >> this.blockShift].readByte(addr & this.blockLimit); + return this.aMemBlocks[(addr & this.addrMemMask) >> this.blockShift].readByte(addr & this.blockLimit); }; /** @@ -1757,7 +1751,7 @@ X86CPU.prototype.getByte = function(addr) X86CPU.prototype.getWord = function(addr) { var off = addr & this.blockLimit; - var iBlock = (addr & this.addrMask) >> this.blockShift; + var iBlock = (addr & this.addrMemMask) >> this.blockShift; /* * On the 8088, it takes 4 cycles to read the additional byte REGARDLESS whether the address is odd or even. * @@ -1779,7 +1773,7 @@ X86CPU.prototype.getWord = function(addr) */ X86CPU.prototype.setByte = function(addr, b) { - this.aMemBlocks[(addr & this.addrMask) >> this.blockShift].writeByte(addr & this.blockLimit, b & 0xff); + this.aMemBlocks[(addr & this.addrMemMask) >> this.blockShift].writeByte(addr & this.blockLimit, b & 0xff); }; /** @@ -1792,7 +1786,7 @@ X86CPU.prototype.setByte = function(addr, b) X86CPU.prototype.setWord = function(addr, w) { var off = addr & this.blockLimit; - var iBlock = (addr & this.addrMask) >> this.blockShift; + var iBlock = (addr & this.addrMemMask) >> this.blockShift; /* * On the 8088, it takes 4 cycles to write the additional byte REGARDLESS whether the address is odd or even. * @@ -1815,7 +1809,7 @@ X86CPU.prototype.setWord = function(addr, w) * @param {number} off is a segment-relative offset * @return {number} * -X86CPU.prototype.getEAByteDisabled = function(seg, off) +X86CPU.prototype.getEAByteDisabled = function getEAByteDisabled(seg, off) { this.segEA = seg; this.offEA = off; @@ -1836,7 +1830,7 @@ X86CPU.prototype.getEAByteDisabled = function(seg, off) * @param {number} off is a segment-relative offset * @return {number} */ -X86CPU.prototype.getEAWordDisabled = function(seg, off) +X86CPU.prototype.getEAWordDisabled = function getEAWordDisabled(seg, off) { this.segEA = seg; this.offEA = off; @@ -1855,7 +1849,7 @@ X86CPU.prototype.getEAWordDisabled = function(seg, off) * @param {number} off is a segment-relative offset * @return {number} */ -X86CPU.prototype.modEAByteDisabled = function(seg, off) +X86CPU.prototype.modEAByteDisabled = function modEADisabled(seg, off) { this.segEA = seg; this.offEA = off; @@ -1874,7 +1868,7 @@ X86CPU.prototype.modEAWordDisabled = X86CPU.prototype.modEAByteDisabled; * @this {X86CPU} * @param {number} w is the word (16-bit) value to write (ignored) */ -X86CPU.prototype.setEAByteDisabled = function(w) +X86CPU.prototype.setEAByteDisabled = function setEAByteDisabled(w) { }; @@ -1884,7 +1878,7 @@ X86CPU.prototype.setEAByteDisabled = function(w) * @this {X86CPU} * @param {number} w is the word (16-bit) value to write (ignored) */ -X86CPU.prototype.setEAWordDisabled = function(w) +X86CPU.prototype.setEAWordDisabled = function setEAWordDisabled(w) { }; @@ -1896,11 +1890,11 @@ X86CPU.prototype.setEAWordDisabled = function(w) * @param {number} off is a segment-relative offset * @return {number} byte (8-bit) value at that address */ -X86CPU.prototype.getEAByteEnabled = function(seg, off) +X86CPU.prototype.getEAByteEnabled = function getEAByteEnabled(seg, off) { this.segEA = seg; this.regEA = seg.checkRead(this.offEA = off, 0); - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; return this.getByte(this.regEA); }; @@ -1912,11 +1906,11 @@ X86CPU.prototype.getEAByteEnabled = function(seg, off) * @param {number} off is a segment-relative offset * @return {number} word (16-bit) value at that address */ -X86CPU.prototype.getEAWordEnabled = function(seg, off) +X86CPU.prototype.getEAWordEnabled = function getEAWordEnabled(seg, off) { this.segEA = seg; this.regEA = seg.checkRead(this.offEA = off, 1); - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; return this.getWord(this.regEA); }; @@ -1928,11 +1922,11 @@ X86CPU.prototype.getEAWordEnabled = function(seg, off) * @param {number} off is a segment-relative offset * @return {number} byte (8-bit) value at that address */ -X86CPU.prototype.modEAByteEnabled = function(seg, off) +X86CPU.prototype.modEAByteEnabled = function modEAByteEnabled(seg, off) { this.segEA = seg; this.regEAWrite = this.regEA = seg.checkRead(this.offEA = off, 0); - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; return this.getByte(this.regEA); }; @@ -1944,11 +1938,11 @@ X86CPU.prototype.modEAByteEnabled = function(seg, off) * @param {number} off is a segment-relative offset * @return {number} word (16-bit) value at that address */ -X86CPU.prototype.modEAWordEnabled = function(seg, off) +X86CPU.prototype.modEAWordEnabled = function modEAWordEnabled(seg, off) { this.segEA = seg; this.regEAWrite = this.regEA = seg.checkRead(this.offEA = off, 1); - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; return this.getWord(this.regEA); }; @@ -1958,9 +1952,9 @@ X86CPU.prototype.modEAWordEnabled = function(seg, off) * @this {X86CPU} * @param {number} b is the byte (8-bit) value to write */ -X86CPU.prototype.setEAByteEnabled = function(b) +X86CPU.prototype.setEAByteEnabled = function setEAByteEnabled(b) { - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOWRITE)) return; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOWRITE)) return; this.setByte(this.segEA.checkWrite(this.offEA, 1), b); }; @@ -1970,9 +1964,9 @@ X86CPU.prototype.setEAByteEnabled = function(b) * @this {X86CPU} * @param {number} w is the word (16-bit) value to write */ -X86CPU.prototype.setEAWordEnabled = function(w) +X86CPU.prototype.setEAWordEnabled = function setEAWordEnabled(w) { - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOWRITE)) return; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOWRITE)) return; this.setWord(this.segEA.checkWrite(this.offEA, 2), w); }; @@ -2047,7 +2041,7 @@ X86CPU.prototype.setSOWord = function(seg, off, w) */ X86CPU.prototype.getBytePrefetch = function(addr) { - if (!FASTDISABLE && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; + if (!EAFUNCS && (this.opFlags & X86.OPFLAG.NOREAD)) return 0; var b; if (!this.cbPrefetchQueued) { if (MAXDEBUG) Component.assert(addr == this.addrPrefetchHead, "X86CPU.getBytePrefetch(" + str.toHex(addr) + "): invalid head address (" + str.toHex(this.addrPrefetchHead) + ")"); @@ -2059,10 +2053,10 @@ X86CPU.prototype.getBytePrefetch = function(addr) * with side-effects we may not want, and in any case, while it seemed to improve Safari's performance slightly, * it did nothing for the oddball Chrome performance I'm seeing with PREFETCH enabled. * - * b = this.aMemBlocks[(addr & this.addrMask) >> this.blockShift].readByte(addr & this.blockLimit); + * b = this.aMemBlocks[(addr & this.addrMemMask) >> this.blockShift].readByte(addr & this.blockLimit); * this.nBusCycles += 4; * this.cbPrefetchValid = 0; - * this.addrPrefetchHead = (addr + 1) & this.addrMask; + * this.addrPrefetchHead = (addr + 1) & this.addrMemMask; * return b; */ } @@ -2107,10 +2101,10 @@ X86CPU.prototype.fillPrefetch = function(n) { while (n-- > 0 && this.cbPrefetchQueued < X86CPU.PREFETCH.QUEUE) { var addr = this.addrPrefetchHead; - var b = this.aMemBlocks[(addr & this.addrMask) >> this.blockShift].readByte(addr & this.blockLimit); + var b = this.aMemBlocks[(addr & this.addrMemMask) >> this.blockShift].readByte(addr & this.blockLimit); this.aPrefetch[this.iPrefetchHead] = b | (addr << 8); if (MAXDEBUG) this.messageDebugger(" fillPrefetch[" + this.iPrefetchHead + "]: " + str.toHex(addr) + ":" + str.toHexByte(b)); - this.addrPrefetchHead = (addr + 1) & this.addrMask; + this.addrPrefetchHead = (addr + 1) & this.addrMemMask; this.iPrefetchHead = (this.iPrefetchHead + 1) & X86CPU.PREFETCH.MASK; this.cbPrefetchQueued++; /* @@ -2443,7 +2437,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) * Debugger is single-stepping (even when performing multiple single-steps), fRunning is never set, * so haltCPU() would have no effect as far as the Debugger is concerned. */ - this.fComplete = true; + this.aFlags.fComplete = true; /* * fDebugCheck is true if we need to "check" every instruction with the Debugger. The Debugger will @@ -2460,7 +2454,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) * minimum number of cycles to process: one and only one instruction will execute, since every (valid) * instruction consumes at least 1 cycle. */ - this.fDebugCheck = (DEBUGGER && nMinCycles && this.dbg && this.dbg.checksEnabled()); + var fDebugCheck = this.aFlags.fDebugCheck = (DEBUGGER && nMinCycles && this.dbg && this.dbg.checksEnabled()); /* * We move the minimum cycle count to nStepCycles (the number of cycles left to step), so that other @@ -2542,7 +2536,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) } } - if (DEBUGGER && this.fDebugCheck && this.dbg.checkInstruction(this.regEIP)) { + if (DEBUGGER && fDebugCheck && this.dbg.checkInstruction(this.regEIP)) { this.haltCPU(); break; } @@ -2589,7 +2583,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) } while (this.nStepCycles > 0); - return (this.fComplete? this.nBurstCycles - this.nStepCycles : (this.fComplete === undefined? 0 : -1)); + return (this.aFlags.fComplete? this.nBurstCycles - this.nStepCycles : (this.aFlags.fComplete === undefined? 0 : -1)); }; /** @@ -2603,7 +2597,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles) X86CPU.prototype.messageDebugger = function(sMessage) { if (DEBUGGER && this.dbg) { - if (this.dbg.messageEnabled(Debugger.MESSAGE_MEM)) { + if (this.dbg.messageEnabled(Debugger.MESSAGE_CPU)) { this.dbg.message(sMessage); } } diff --git a/my_modules/pcjs-client/lib/x86grps.js b/my_modules/pcjs-client/lib/x86grps.js index d01465ff8..db5581db4 100644 --- a/my_modules/pcjs-client/lib/x86grps.js +++ b/my_modules/pcjs-client/lib/x86grps.js @@ -139,7 +139,7 @@ var X86Grps = { this.resultSize = X86.RESULT.SIZE_BYTE; this.resultValue = this.resultParitySign = dst - src; this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesCompareRM) : this.CYCLES.nOpCyclesArithRM); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -242,7 +242,7 @@ var X86Grps = { this.resultSize = X86.RESULT.SIZE_WORD; this.resultValue = this.resultParitySign = dst - src; this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesArithRR : this.CYCLES.nOpCyclesCompareRM) : this.CYCLES.nOpCyclesArithRM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -654,7 +654,7 @@ var X86Grps = { this.resultValue = this.resultParitySign = this.resultAuxOverflow = dst & src; this.resultSize = X86.RESULT.SIZE_BYTE; this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesTestRI : this.CYCLES.nOpCyclesTestMI); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -668,7 +668,7 @@ var X86Grps = { this.resultValue = this.resultParitySign = this.resultAuxOverflow = dst & src; this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesTestRI : this.CYCLES.nOpCyclesTestMI); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -744,7 +744,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('MULB', src, dst, null, this.getPS(), this.regMD16); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesMulBR : this.CYCLES.nOpCyclesMulBM); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -788,7 +788,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('IMULB', src, dst, null, this.getPS(), this.regMD16); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIMulBR : this.CYCLES.nOpCyclesIMulBM); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -827,7 +827,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('DIVB', src, dst, null, this.getPS(), this.regMD16); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesDivBR : this.CYCLES.nOpCyclesDivBM); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -874,7 +874,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('IDIVB', src, dst, null, this.getPS(), this.regMD16); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIDivBR : this.CYCLES.nOpCyclesIDivBM); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -905,7 +905,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('MULW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesMulWR : this.CYCLES.nOpCyclesMulWM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -950,7 +950,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('IMULW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIMulWR : this.CYCLES.nOpCyclesIMulWM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -995,7 +995,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('DIVW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesDivWR : this.CYCLES.nOpCyclesDivWM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -1045,7 +1045,7 @@ var X86Grps = { */ if (DEBUG && DEBUGGER) this.traceLog('IDIVW', src, dst, null, this.getPS(), this.regMD16 | (this.regMD32 << 16)); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesIDivWR : this.CYCLES.nOpCyclesIDivWM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -1114,7 +1114,7 @@ var X86Grps = { this.pushWord(this.regIP); this.setIP(dst); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesCallWR : this.CYCLES.nOpCyclesCallWM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -1131,7 +1131,7 @@ var X86Grps = { this.pushWord(this.regIP); this.setCSIP(dst, this.getWord(this.regEA + 2)); this.nStepCycles -= this.CYCLES.nOpCyclesCallDM; - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -1143,7 +1143,7 @@ var X86Grps = { opGrpJMPw: function(dst, src) { this.setIP(dst); this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesJmpWR : this.CYCLES.nOpCyclesJmpWM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -1158,7 +1158,7 @@ var X86Grps = { } this.setCSIP(dst, this.getWord(this.regEA + 2)); this.nStepCycles -= this.CYCLES.nOpCyclesJmpDM; - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -1186,7 +1186,7 @@ var X86Grps = { /* * The PUSH is the only write that needs to occur; dst was the source operand and does not need to be rewritten. */ - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** diff --git a/my_modules/pcjs-client/lib/x86help.js b/my_modules/pcjs-client/lib/x86help.js index 541a49b0f..39cb00ce8 100644 --- a/my_modules/pcjs-client/lib/x86help.js +++ b/my_modules/pcjs-client/lib/x86help.js @@ -67,7 +67,7 @@ var X86Help = { this.resultValue = this.resultParitySign = this.resultAuxOverflow = dst & src; this.resultSize = X86.RESULT.SIZE_BYTE; this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesTestRR : this.CYCLES.nOpCyclesTestRM) : this.CYCLES.nOpCyclesTestRM); - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -80,7 +80,7 @@ var X86Help = { this.resultValue = this.resultParitySign = this.resultAuxOverflow = dst & src; this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= (this.regEAWrite < 0? (this.regEA < 0? this.CYCLES.nOpCyclesTestRR : this.CYCLES.nOpCyclesTestRM) : this.CYCLES.nOpCyclesTestRM); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -242,7 +242,7 @@ var X86Help = { this.setIP(this.opEA - this.segCS.base); X86Help.opHelpINT.call(this, X86.EXCEPTION.BOUND_ERR, null, 0); } - if (FASTDISABLE) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAByte = this.setEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; }, /** @@ -253,8 +253,8 @@ var X86Help = { */ opHelpARPL: function(dst, src) { this.nStepCycles -= (10 + (this.regEA < 0? 0 : 1)); - if ((dst & X86.SEL.LEVEL) < (src & X86.SEL.LEVEL)) { - dst = (dst & ~X86.SEL.LEVEL) | (src & X86.SEL.LEVEL); + if ((dst & X86.SEL.RPL) < (src & X86.SEL.RPL)) { + dst = (dst & ~X86.SEL.RPL) | (src & X86.SEL.RPL); this.setZF(); return dst; } @@ -277,7 +277,7 @@ var X86Help = { * if we need a special check for them. */ if (this.segVER.load(src, true) >= 0) { - if (this.segVER.level >= (this.segCS.sel & X86.SEL.LEVEL) && this.segVER.level >= (src & X86.SEL.LEVEL)) { + if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (src & X86.SEL.RPL)) { this.setZF(); return this.segVER.acc & X86.DESC.ACC.MASK; } @@ -288,10 +288,13 @@ var X86Help = { /** * @this {X86CPU} * @param {number} dst - * @param {number} src + * @param {number} src (the selector) * @return {number} */ opHelpLSL: function(dst, src) { + /* + * TODO: Is this an invalid operation if regEAWrite is set? dst is required to be a register. + */ this.nStepCycles -= (14 + (this.regEA < 0? 0 : 2)); /* * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the @@ -301,8 +304,8 @@ var X86Help = { * are there any other instructions that were, um, less explicit but also require a non-null selector? */ if ((src & X86.SEL.MASK) && this.segVER.load(src, true) >= 0) { - var fConforming = ((this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) == X86.DESC.ACC.TYPE.CODE_CONFORMING); - if ((fConforming || this.segVER.level >= (this.segCS.sel & X86.SEL.LEVEL)) && this.segVER.level >= (src & X86.SEL.LEVEL)) { + var fConforming = ((this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING_EXECONLY) == X86.DESC.ACC.TYPE.CODE_CONFORMING_EXECONLY); + if ((fConforming || this.segVER.dpl >= this.segCS.cpl) && this.segVER.dpl >= (src & X86.SEL.RPL)) { this.setZF(); return this.segVER.limit; } @@ -465,8 +468,9 @@ var X86Help = { * @this {X86CPU} * @param {number} nFault * @param {number} [nError] + * @param {boolean} [fHalt] will halt the CPU if true *and* a Debugger is loaded */ - opHelpFault: function(nFault, nError) { + opHelpFault: function(nFault, nError, fHalt) { if (DEBUGGER && this.dbg) { /* * NOTE: By using Debugger.message(), we have the option of setting "m halt on" and halting on messages like this. @@ -474,6 +478,7 @@ var X86Help = { if (this.dbg.messageEnabled(Debugger.MESSAGE_CPU)) { this.dbg.message("Fault 0x" + str.toHexByte(nFault) + (nError != null? " (0x" + str.toHexWord(nError) + ")" : "") + " on opcode 0x" + str.toHexByte(this.bus.getByteDirect(this.regEIP)) + " at " + str.toHexAddr(this.regIP, this.segCS.sel)); } + if (fHalt) this.haltCPU(); } if (this.model >= X86.MODEL_80186) { this.setIP(this.opEA - this.segCS.base); diff --git a/my_modules/pcjs-client/lib/x86op0f.js b/my_modules/pcjs-client/lib/x86op0f.js index 988f26841..15b3c5d66 100644 --- a/my_modules/pcjs-client/lib/x86op0f.js +++ b/my_modules/pcjs-client/lib/x86op0f.js @@ -48,10 +48,10 @@ var X86Op0F = { opGRP6: function() { var bModRM = this.getIPByte(); if ((bModRM & 0x38) < 0x10) { // possible reg values: 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38 - if (FASTDISABLE) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; } X86Mods.aOpModsGrpWord[bModRM].call(this, X86Op0F.aOpGRP6, X86Grps.opGrpNoSrc); - if (FASTDISABLE) { this.modEAWord = this.modEAWordEnabled; this.setEAWord = this.setEAWordEnabled; } + if (EAFUNCS) { this.modEAWord = this.modEAWordEnabled; this.setEAWord = this.setEAWordEnabled; } }, /** * @this {X86CPU} @@ -61,10 +61,10 @@ var X86Op0F = { opGRP7: function() { var bModRM = this.getIPByte(); if (!(bModRM & 0x10)) { - if (FASTDISABLE) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; } X86Mods.aOpModsGrpWord[bModRM].call(this, X86Op0F.aOpGRP7, X86Grps.opGrpNoSrc); - if (FASTDISABLE) { this.modEAWord = this.modEAWordEnabled; this.setEAWord = this.setEAWordEnabled; } + if (EAFUNCS) { this.modEAWord = this.modEAWordEnabled; this.setEAWord = this.setEAWordEnabled; } }, /** * @this {X86CPU} @@ -124,6 +124,10 @@ var X86Op0F = { * op=0x0F,0x05 (loadall) */ opLOADALL: function() { + if (this.segCS.cpl) { + X86Help.opHelpFault.call(this, X86.EXCEPTION.GP_FAULT, 0, true); + return; + } X86Help.opHelpLMSW.call(this, this.getWord(0x806)); this.regDI = this.getWord(0x826); this.regSI = this.getWord(0x828); @@ -133,26 +137,21 @@ var X86Op0F = { this.regDX = this.getWord(0x830); this.regCX = this.getWord(0x832); this.regAX = this.getWord(0x834); - /* - * loadDesc() is an X86Seg class method that we must use to force the specified descriptor to be loaded; - * since the processor might still be in real-mode, we can't use normal segment register instance methods. - */ - X86Seg.loadDesc.call(this.segES, this.getWord(0x824), 0x836); - X86Seg.loadDesc.call(this.segCS, this.getWord(0x822), 0x83C); - X86Seg.loadDesc.call(this.segSS, this.getWord(0x820), 0x842); - X86Seg.loadDesc.call(this.segDS, this.getWord(0x81E), 0x848); - this.nCPL = this.segCS.level; + this.segES.loadDesc6(this.getWord(0x824), 0x836); + this.segCS.loadDesc6(this.getWord(0x822), 0x83C); + this.segSS.loadDesc6(this.getWord(0x820), 0x842); + this.segDS.loadDesc6(this.getWord(0x81E), 0x848); this.setPS(this.getWord(0x818)); this.setIP(this.getWord(0x81A)); /* - * TODO: The bytes at 0x851 and 0x85D "should be zeroes", but do we rely on that, or should we load zeroes ourselves? + * TODO: The bytes at 0x851 and 0x85D "should be zeroes", but do we rely on that, or do we load zeros ourselves? */ this.addrGDT = this.getWord(0x84E) | (this.getWord(0x850) << 16); this.addrGDTLimit = this.addrGDT + this.getWord(0x852); - this.segLDT.loadDesc(this.getWord(0x81C), 0x854); + this.segLDT.loadDesc6(this.getWord(0x81C), 0x854); this.addrIDT = this.getWord(0x85A) | (this.getWord(0x85C) << 16); this.addrIDTLimit = this.addrIDT + this.getWord(0x85E); - this.segTSS.loadDesc(this.getWord(0x816), 0x860); + this.segTSS.loadDesc6(this.getWord(0x816), 0x860); this.nStepCycles -= 195; }, /** @@ -182,7 +181,7 @@ var X86Op0F = { * @return {number} */ opLLDT: function(dst, src) { - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; this.segLDT.load(dst); this.nStepCycles -= (17 + (this.regEA < 0? 0 : 2)); return dst; @@ -194,7 +193,7 @@ var X86Op0F = { * @return {number} */ opLTR: function(dst, src) { - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; this.segTSS.load(dst); this.nStepCycles -= (17 + (this.regEA < 0? 0 : 2)); return dst; @@ -206,7 +205,7 @@ var X86Op0F = { * @return {number} */ opVERR: function(dst, src) { - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; /* * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the * descriptor table or the descriptor is not for a segment. @@ -224,12 +223,9 @@ var X86Op0F = { * * Otherwise, DPL must be greater than or equal to (have less or the same privilege as) both the * current privilege level and the selector's RPL. - * - * TODO: Consider making a CPL (current privilege level) variable that tracks segCS.sel, so that we - * don't have to mask segCS.sel every time. */ - if ((this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING) == X86.DESC.ACC.TYPE.CODE_CONFORMING || - this.segVER.level >= (this.segCS.sel & X86.SEL.LEVEL) && this.segVER.level >= (dst & X86.SEL.LEVEL)) { + if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (dst & X86.SEL.RPL) || + (this.segVER.acc & X86.DESC.ACC.TYPE.CODE_CONFORMING_EXECONLY) == X86.DESC.ACC.TYPE.CODE_CONFORMING_EXECONLY) { this.setZF(); return dst; } @@ -245,7 +241,7 @@ var X86Op0F = { * @return {number} */ opVERW: function(dst, src) { - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; /* * Currently, segVER.load() will return an error only if the selector is beyond the bounds of the * descriptor table or the descriptor is not for a segment. @@ -259,11 +255,8 @@ var X86Op0F = { /* * DPL must be greater than or equal to (have less or the same privilege as) both the current * privilege level and the selector's RPL. - * - * TODO: Consider making a CPL (current privilege level) variable that tracks segCS.sel, so that we - * don't have to mask segCS.sel every time. */ - if (this.segVER.level >= (this.segCS.sel & X86.SEL.LEVEL) && this.segVER.level >= (dst & X86.SEL.LEVEL)) { + if (this.segVER.dpl >= this.segCS.cpl && this.segVER.dpl >= (dst & X86.SEL.RPL)) { this.setZF(); return dst; } @@ -371,7 +364,7 @@ var X86Op0F = { } else { this.addrGDT = this.getWord(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); this.addrGDTLimit = this.addrGDT + dst; - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; this.nStepCycles -= 11; } return dst; @@ -394,7 +387,7 @@ var X86Op0F = { } else { this.addrIDT = this.getWord(this.regEA + 2) | (this.getByte(this.regEA + 4) << 16); this.addrIDTLimit = this.addrIDT + dst; - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; this.nStepCycles -= 12; } return dst; @@ -418,7 +411,7 @@ var X86Op0F = { opLMSW: function(dst, src) { X86Help.opHelpLMSW.call(this, dst); this.nStepCycles -= (this.regEA < 0? 3 : 6); - if (FASTDISABLE) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; + if (EAFUNCS) this.setEAWord = this.setEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOWRITE; return dst; } }; diff --git a/my_modules/pcjs-client/lib/x86opxx.js b/my_modules/pcjs-client/lib/x86opxx.js index 95c65436d..a4749b0f8 100644 --- a/my_modules/pcjs-client/lib/x86opxx.js +++ b/my_modules/pcjs-client/lib/x86opxx.js @@ -651,7 +651,7 @@ var X86OpXX = { */ opCMPmb: function() { X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** * @this {X86CPU} @@ -660,7 +660,7 @@ var X86OpXX = { */ opCMPmw: function() { X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** * @this {X86CPU} @@ -669,7 +669,7 @@ var X86OpXX = { */ opCMPrb: function() { X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** * @this {X86CPU} @@ -678,7 +678,7 @@ var X86OpXX = { */ opCMPrw: function() { X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** * @this {X86CPU} @@ -687,7 +687,7 @@ var X86OpXX = { */ opCMPALb: function() { this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpCMPb.call(this, this.regAX & 0xff, this.getIPByte()); - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; /* * In the absence of any EA calculations, opGrpCMPb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -701,7 +701,7 @@ var X86OpXX = { */ opCMPAXw: function() { this.regAX = X86Grps.opGrpCMPw.call(this, this.regAX, this.getIPWord()); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; /* * In the absence of any EA calculations, opGrpCMPw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -1592,7 +1592,7 @@ var X86OpXX = { */ opGRP1b: function() { X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGRP1b, this.getIPByte); - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); }, /** @@ -1602,7 +1602,7 @@ var X86OpXX = { */ opGRP1w: function() { X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGRP1w, this.getIPWord); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); }, /** @@ -1612,7 +1612,7 @@ var X86OpXX = { */ opGRP1sw: function() { X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGRP1w, this.getIPDisp); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); }, /** @@ -1622,7 +1622,7 @@ var X86OpXX = { */ opTESTrb: function() { X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Help.opHelpTESTb); - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** * @this {X86CPU} @@ -1631,7 +1631,7 @@ var X86OpXX = { */ opTESTrw: function() { X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Help.opHelpTESTw); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** * @this {X86CPU} @@ -1682,9 +1682,9 @@ var X86OpXX = { /* * Like other MOV operations, the destination does not need to be read, just written. */ - if (FASTDISABLE) this.modEAByte = this.modEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAByte = this.modEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Help.opHelpMOV); - if (FASTDISABLE) this.modEAByte = this.modEAByteEnabled; + if (EAFUNCS) this.modEAByte = this.modEAByteEnabled; }, /** * @this {X86CPU} @@ -1695,9 +1695,9 @@ var X86OpXX = { /* * Like other MOV operations, the destination does not need to be read, just written. */ - if (FASTDISABLE) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Help.opHelpMOV); - if (FASTDISABLE) this.modEAWord = this.modEAWordEnabled; + if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** * @this {X86CPU} @@ -1747,9 +1747,9 @@ var X86OpXX = { /* * Like other MOV operations, the destination does not need to be read, just written. */ - if (FASTDISABLE) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; X86Mods.aOpModsMemWord[bModRM].call(this, X86Help.opHelpMOVSegSrc); - if (FASTDISABLE) this.modEAWord = this.modEAWordEnabled; + if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** * @this {X86CPU} @@ -1757,10 +1757,10 @@ var X86OpXX = { * op=0x8D (lea reg,rm) */ opLEA: function() { - if (FASTDISABLE) this.getEAWord = this.getEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.getEAWord = this.getEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; this.segData = this.segStack = this.segZERO; // we can't have the EA calculation, if any, "polluted" by segment arithmetic X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpLEA); - if (FASTDISABLE) this.getEAWord = this.getEAWordEnabled; + if (EAFUNCS) this.getEAWord = this.getEAWordEnabled; }, /** * @this {X86CPU} @@ -1858,9 +1858,9 @@ var X86OpXX = { /* * Like other MOV operations, the destination does not need to be read, just written. */ - if (FASTDISABLE) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpPOPw, this.popWord); - if (FASTDISABLE) this.modEAWord = this.modEAWordEnabled; + if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** * @this {X86CPU} @@ -2198,7 +2198,7 @@ var X86OpXX = { this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); this.opFlags |= X86.OPFLAG.REPEAT; } - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; } }, /** @@ -2246,7 +2246,7 @@ var X86OpXX = { this.advanceIP(((this.opPrefixes & X86.OPFLAG.SEG)? -3 : -2)); this.opFlags |= X86.OPFLAG.REPEAT; } - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; } }, /** @@ -2453,7 +2453,7 @@ var X86OpXX = { this.advanceIP(-2); // this instruction does not support segment overrides this.opFlags |= X86.OPFLAG.REPEAT; } - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; } }, /** @@ -2493,7 +2493,7 @@ var X86OpXX = { this.advanceIP(-2); // this instruction does not support segment overrides this.opFlags |= X86.OPFLAG.REPEAT; } - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; } }, /** @@ -2707,9 +2707,9 @@ var X86OpXX = { /* * Like other MOV operations, the destination does not need to be read, just written. */ - if (FASTDISABLE) this.modEAByte = this.modEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAByte = this.modEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPByte); - if (FASTDISABLE) this.modEAByte = this.modEAByteEnabled; + if (EAFUNCS) this.modEAByte = this.modEAByteEnabled; }, /** * @this {X86CPU} @@ -2720,9 +2720,9 @@ var X86OpXX = { /* * Like other MOV operations, the destination does not need to be read, just written. */ - if (FASTDISABLE) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; + if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPWord); - if (FASTDISABLE) this.modEAWord = this.modEAWordEnabled; + if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** * @this {X86CPU} @@ -3253,7 +3253,7 @@ var X86OpXX = { this.regMD16 = -1; X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGRP3b, X86Grps.opGrpNoSrc); if (this.regMD16 >= 0) this.regAX = this.regMD16; - if (FASTDISABLE) this.setEAByte = this.setEAByteEnabled; + if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** * @this {X86CPU} @@ -3280,7 +3280,7 @@ var X86OpXX = { this.regAX = this.regMD16; this.regDX = this.regMD32; } - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** * @this {X86CPU} @@ -3352,7 +3352,7 @@ var X86OpXX = { */ opGRP4w: function() { X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGRP4w, X86Grps.opGrpNoSrc); - if (FASTDISABLE) this.setEAWord = this.setEAWordEnabled; + if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; } }; diff --git a/my_modules/pcjs-client/lib/x86seg.js b/my_modules/pcjs-client/lib/x86seg.js index 188acd824..222919d9e 100644 --- a/my_modules/pcjs-client/lib/x86seg.js +++ b/my_modules/pcjs-client/lib/x86seg.js @@ -33,6 +33,7 @@ "use strict"; if (typeof module !== 'undefined') { + var str = require("../../shared/lib/strlib"); var X86 = require("./x86"); var X86Help = require("./x86help"); } @@ -52,9 +53,11 @@ function X86Seg(cpu, sName, fProt) this.base = 0; this.limit = 0xffff; this.acc = 0; - this.level = 0; + this.fCode = (sName == "CS"); this.sName = sName; - this.setProt(fProt); + this.cpl = 0; + this.dpl = 0; + this.updateAccess(fProt); } /* @@ -67,7 +70,7 @@ function X86Seg(cpu, sName, fProt) * This is the default real-mode load() function. * * @this {X86Seg} - * @param {number} sel containing a selector + * @param {number} sel * @param {boolean} [fSuppress] is true to suppress any errors * @return {number} base address of selected segment, or -1 if error */ @@ -75,7 +78,7 @@ X86Seg.loadReal = function loadReal(sel, fSuppress) { this.sel = sel; this.limit = 0xffff; // TODO: Consider NOT setting the limit field in real-mode (unless it's required for, say, LOADALL support?) - this.level = 0; + this.cpl = this.dpl = 0; return this.base = sel << 4; }; @@ -96,7 +99,7 @@ X86Seg.loadReal = function loadReal(sel, fSuppress) * See X86.DESC for offset and bit definitions. * * @this {X86Seg} - * @param {number} sel containing a selector + * @param {number} sel * @param {boolean} [fSuppress] is true to suppress any errors * @return {number} base address of selected segment, or -1 if error */ @@ -111,70 +114,21 @@ X86Seg.loadProt = function loadProt(sel, fSuppress) addrDT = this.cpu.segLDT.base; addrDTLimit = this.cpu.segLDT.limit; } - var offDesc = addrDT + (sel & X86.SEL.MASK); - if (offDesc + 7 <= addrDTLimit) { + var addrDesc = addrDT + (sel & X86.SEL.MASK); + if (addrDesc + 7 <= addrDTLimit) { /* * TODO: This is only the first of many steps toward accurately counting cycles in protected mode; * I simply noted that "POP segreg" takes 5 cycles in real mode and 20 in protected mode, so I'm * starting with a 15-cycle difference. Obviously the difference will be much greater when the load fails. */ this.cpu.nStepCycles -= 15; - return X86Seg.loadDesc.call(this, sel, offDesc, true); + return this.loadDesc8(sel, addrDesc); } return -1; }; /** - * loadDesc(sel, offDesc, fProt) - * - * @this {X86Seg} - * @param {number} sel containing a selector - * @param {number} offDesc is the physical address of a descriptor - * @param {boolean} [fProt] is true if protected-mode, false if real-mode, undefined if TBD - * @return {number} base address of selected segment, or -1 if error - */ -X86Seg.loadDesc = function(sel, offDesc, fProt) -{ - var limit = this.cpu.getWord(offDesc + X86.DESC.LIMIT.OFFSET); - var acc = this.cpu.getWord(offDesc + X86.DESC.ACC.OFFSET); - var base = this.cpu.getWord(offDesc + X86.DESC.BASE.OFFSET) | ((acc & X86.DESC.ACC.BASE1623) << 16); - - Component.assert(this.cpu.getWord(offDesc + 0x06) == 0); - - fProt = this.setProt(fProt); - - /* - * For LSL (which uses fSuppress), we must support X86.DESC.ACC.TYPE.SEG as well as TSS and LDT. - */ - var accType = (acc & X86.DESC.ACC.TYPE.MASK); - - if (accType & X86.DESC.ACC.TYPE.SEG) { - if (fProt) { - if ((accType & X86.DESC.ACC.TYPE.CODE_READABLE) == X86.DESC.ACC.TYPE.CODE) { - this.checkWrite = X86Seg.checkReadProtDisabled; - } - if ((accType & X86.DESC.ACC.TYPE.CODE) || !(accType & X86.DESC.ACC.TYPE.WRITEABLE)) { - this.checkWrite = X86Seg.checkWriteProtDisabled; - } - } - this.sel = sel; - this.limit = limit; - this.acc = acc; - this.level = (acc & X86.DESC.ACC.LEVEL.MASK) >> X86.DESC.ACC.LEVEL.SHIFT; - return this.base = base; - } - else if (accType && accType <= X86.DESC.ACC.TYPE.TSS_BUSY) { - this.sel = sel; - this.limit = limit; - this.acc = acc; - this.level = (acc & X86.DESC.ACC.LEVEL.MASK) >> X86.DESC.ACC.LEVEL.SHIFT; - return this.base = base; - } - return -1; -}; - -/** - * checkReadReal(off, cb) + * checkReadReal(off, cb, fSuppress) * * TODO: Invoke X86Help.opHelpFault.call(this.cpu, X86.EXCEPTION.GP_FAULT) if off is 0xffff and cb is 1; * also, whether or not the opHelpFault() call should include an error code, since this is happening in real-mode. @@ -191,7 +145,7 @@ X86Seg.checkReadReal = function checkReadReal(off, cb, fSuppress) }; /** - * checkWriteReal(off, cb) + * checkWriteReal(off, cb, fSuppress) * * TODO: Invoke X86Help.opHelpFault.call(this.cpu, X86.EXCEPTION.GP_FAULT) if off is 0xffff and cb is 1; * also, whether or not the opHelpFault() call should include an error code, since this is happening in real-mode. @@ -208,7 +162,7 @@ X86Seg.checkWriteReal = function checkWriteReal(off, cb, fSuppress) }; /** - * checkReadProtEnabled(off, cb) + * checkReadProtEnabled(off, cb, fSuppress) * * @this {X86Seg} * @param {number} off is a segment-relative offset @@ -225,7 +179,7 @@ X86Seg.checkReadProtEnabled = function checkReadProtEnabled(off, cb, fSuppress) }; /** - * checkReadProtDisabled(off, cb) + * checkReadProtDisabled(off, cb, fSuppress) * * @this {X86Seg} * @param {number} off is a segment-relative offset @@ -242,7 +196,7 @@ X86Seg.checkReadProtDisabled = function checkReadProtDisabled(off, cb, fSuppress }; /** - * checkWriteProtEnabled(off, cb) + * checkWriteProtEnabled(off, cb, fSuppress) * * @this {X86Seg} * @param {number} off is a segment-relative offset @@ -259,7 +213,7 @@ X86Seg.checkWriteProtEnabled = function checkWriteProtEnabled(off, cb, fSuppress }; /** - * checkWriteProtDisabled(off, cb) + * checkWriteProtDisabled(off, cb, fSuppress) * * @this {X86Seg} * @param {number} off is a segment-relative offset @@ -280,40 +234,88 @@ X86Seg.checkWriteProtDisabled = function checkWriteProtDisabled(off, cb, fSuppre */ /** - * save() + * loadDesc6(sel, addrDesc) * - * Early versions of PCjs saved only segment selectors, since that's all that mattered in real-mode; - * newer versions need to save/restore the entire segment object. + * Used to load a protected-mode selector that refers to a 6-byte descriptor "cache" (LOADALL) entry: + * + * word 0: base address low + * word 1: base address high (0-7), segment type (8-11), descriptor type (12), DPL (13-14), present bit (15) + * word 2: segment limit (0-15) * * @this {X86Seg} - * @return {Array} + * @param {number} sel is the selector + * @param {number} addrDesc is the offset + * @return {number} base address of selected segment, or -1 if error */ -X86Seg.prototype.save = function() +X86Seg.prototype.loadDesc6 = function(sel, addrDesc) { - return [this.sel, this.base, this.limit, this.acc, this.level, this.sName]; + var acc = this.cpu.getWord(addrDesc + 2); + var base = this.cpu.getWord(addrDesc + 0) | ((acc & 0xff) << 16); + var limit = this.cpu.getWord(addrDesc + 4); + + if (DEBUG) { + this.cpu.messageDebugger("loadDesc6(" + this.sName + "): base=" + str.toHex(base) + " limit=" + str.toHexWord(limit) + " acc=" + str.toHexWord(acc)); + } + + this.sel = sel; + this.base = base; + this.limit = limit; + this.acc = acc & X86.DESC.ACC.MASK; + this.updateAccess(); + + return base; }; /** - * restore(a) + * loadDesc8(sel, addrDesc) * - * Early versions of PCjs saved only segment selectors, since that's all that mattered in real-mode; - * newer versions need to save/restore the entire segment object. + * Used to load a protected-mode selector that refers to an 8-byte descriptor table (GDT, LDT, IDT) entry: + * + * word 0: segment limit (0-15) + * word 1: base address low + * word 2: base address high (0-7), segment type (8-11), descriptor type (12), DPL (13-14), present bit (15) + * word 3: used only on 80386 and up (should be set to zero for upward compatibility) + * + * See X86.DESC for offset and bit definitions. * * @this {X86Seg} - * @param {Array|number} a + * @param {number} sel is the selector + * @param {number} addrDesc is the offset + * @return {number} base address of selected segment, or -1 if error */ -X86Seg.prototype.restore = function(a) +X86Seg.prototype.loadDesc8 = function(sel, addrDesc) { - if (typeof a == "number") { - this.load(a); - } else { - this.sel = a[0]; - this.base = a[1]; - this.limit = a[2]; - this.acc = a[3]; - this.level = a[4]; - this.sName = a[5]; + var limit = this.cpu.getWord(addrDesc + X86.DESC.LIMIT.OFFSET); + var acc = this.cpu.getWord(addrDesc + X86.DESC.ACC.OFFSET); + var base = this.cpu.getWord(addrDesc + X86.DESC.BASE.OFFSET) | ((acc & X86.DESC.ACC.BASE1623) << 16); + var ext = (DEBUG? this.cpu.getWord(addrDesc + X86.DESC.EXT.OFFSET) : 0); + + if (DEBUG) { + this.cpu.messageDebugger("loadDesc8(" + this.sName + "): base=" + str.toHex(base) + " limit=" + str.toHexWord(limit) + " acc=" + str.toHexWord(acc) + (ext? " ext=" + str.toHexWord(ext) : "")); + Component.assert(!ext); } + + /* + * For LSL (which uses fSuppress), we must support X86.DESC.ACC.TYPE.SEG as well as TSS and LDT. + */ + var accType; + if ((acc & X86.DESC.ACC.TYPE.SEG) || (accType = (acc & X86.DESC.ACC.TYPE.MASK)) && accType <= X86.DESC.ACC.TYPE.TSS_BUSY) { + this.sel = sel; + this.base = base; + this.limit = limit; + /* + * Note that bits 0-7 of acc will usually contain the BASE1623 bits from the descriptor entry, + * but it doesn't matter, because the only acc bits we pay attention to are bits 8-15; however, + * to keep things tidy, we zero bits 0-7. Perhaps we'll find other (internal) uses for those bits. + */ + this.acc = acc & X86.DESC.ACC.MASK; + this.type = acc & X86.DESC.ACC.TYPE.MASK; + this.updateAccess(); + } + else { + base = -1; + } + return base; }; /** @@ -333,16 +335,55 @@ X86Seg.prototype.setBase = function(addr) }; /** - * setProt(fProt) + * save() * - * This must be used to ensure that the segment register's state (ie, load and check methods) matches - * the current operating mode (real or protected). + * Early versions of PCjs saved only segment selectors, since that's all that mattered in real-mode; + * newer versions need to save/restore the entire segment object. * * @this {X86Seg} - * @param {boolean} [fProt] + * @return {Array} + */ +X86Seg.prototype.save = function() +{ + return [this.sel, this.base, this.limit, this.acc, this.fCode, this.sName, this.cpl, this.dpl]; +}; + +/** + * restore(a) + * + * Early versions of PCjs saved only segment selectors, since that's all that mattered in real-mode; + * newer versions need to save/restore the entire segment object. + * + * @this {X86Seg} + * @param {Array|number} a + */ +X86Seg.prototype.restore = function(a) +{ + if (typeof a == "number") { + this.load(a); + } else { + this.sel = a[0]; + this.base = a[1]; + this.limit = a[2]; + this.acc = a[3]; + this.fCode = a[4]; + this.sName = a[5]; + this.cpl = a[6]; + this.dpl = a[7]; + } +}; + +/** + * updateAccess(fProt) + * + * Ensures that the segment register's access (ie, load and check methods) matches the specified (or current) + * operating mode (real or protected). + * + * @this {X86Seg} + * @param {boolean} [fProt] true for protected-mode access, false for real-mode access, undefined for current mode * @return {boolean} */ -X86Seg.prototype.setProt = function(fProt) +X86Seg.prototype.updateAccess = function(fProt) { if (fProt === undefined) { fProt = !!(this.cpu.regMSW & X86.MSW.PE); @@ -351,10 +392,27 @@ X86Seg.prototype.setProt = function(fProt) this.load = X86Seg.loadProt; this.checkRead = X86Seg.checkReadProtEnabled; this.checkWrite = X86Seg.checkWriteProtEnabled; + if (this.acc & X86.DESC.ACC.TYPE.SEG) { + /* + * If the READABLE bit of CODE_READABLE is not set, then disallow reads + */ + if ((this.acc & X86.DESC.ACC.TYPE.CODE_READABLE) == X86.DESC.ACC.TYPE.CODE_EXECONLY) { + this.checkWrite = X86Seg.checkReadProtDisabled; + } + /* + * If the CODE bit is set, or the the WRITEABLE bit is not set, then disallow writes + */ + if ((this.acc & X86.DESC.ACC.TYPE.CODE) || !(this.acc & X86.DESC.ACC.TYPE.WRITEABLE)) { + this.checkWrite = X86Seg.checkWriteProtDisabled; + } + } + this.cpl = this.sel & X86.SEL.RPL; + this.dpl = (this.acc & X86.DESC.ACC.DPL.MASK) >> X86.DESC.ACC.DPL.SHIFT; } else { this.load = X86Seg.loadReal; this.checkRead = X86Seg.checkReadReal; this.checkWrite = X86Seg.checkWriteReal; + this.cpl = this.dpl = 0; } return fProt; }; diff --git a/my_modules/pcjs-client/templates/components.xsl b/my_modules/pcjs-client/templates/components.xsl index 9e02af93a..a037373ef 100644 --- a/my_modules/pcjs-client/templates/components.xsl +++ b/my_modules/pcjs-client/templates/components.xsl @@ -9,7 +9,7 @@ pc pcjs - 1.0.0 + 1.x.x www.pcjs.org diff --git a/my_modules/shared/lib/component.js b/my_modules/shared/lib/component.js index 3fff57e2d..cd6463a35 100644 --- a/my_modules/shared/lib/component.js +++ b/my_modules/shared/lib/component.js @@ -46,7 +46,7 @@ * It's not that I'm trying to write "portable JavaScript", but some of this code was ported from C code * I'd written about 14 years earlier, and portability is good, so I see no reason to rewrite code to make * it less portable. - * + * * UPDATE: I've since switched to JSHint, which seems to have more reasonable defaults. */ @@ -62,7 +62,7 @@ if (typeof module !== 'undefined') { /** * Component(type, parms, constructor) - * + * * @constructor * @param {string} type * @param {Object} [parms] @@ -83,7 +83,7 @@ if (typeof module !== 'undefined') { function Component(type, parms, constructor) { this.type = type; - + if (!parms) { parms = {'id': "", 'name': ""}; } @@ -110,19 +110,23 @@ function Component(type, parms, constructor) this[type] = constructor; /* - * TODO: Decide how to reintegrate this code into the components that still want it.... + * TODO: Decide how to reintegrate this code into the components that still want it.... * if (this.initStep) this.initStep(parms); */ - + this.aFlags = { + fReady: false, + fBusy: false, + fBusyCancel: false, + fPowered: false, + fError: false + }; + this.fnReady = null; - this.fReady = false; - this.fBusy = this.fBusyCancel = false; - this.fPowered = false; this.clearError(); this.bindings = {}; this.dbg = null; // by default, no connection to a Debugger - + this.getMachineNum(); // once again, make the function appear used Component.add(this); @@ -139,10 +143,10 @@ Component.parmsURL = web.getURLParameters(); /** * Component.inherit(p) - * + * * Returns a newly created object that inherits properties from the prototype object p. * It uses the ECMAScript 5 function Object.create() if it is defined, and otherwise falls back to an older technique. - * + * * See: Flanagan, David (2011-04-18). JavaScript: The Definitive Guide: The Definitive Guide (Kindle Locations 9854-9903). OReilly Media - A. Kindle Edition (Example 6-1) * * @param {Object} p @@ -167,10 +171,10 @@ Component.inherit = function(p) /** * Component.extend(o, p) - * + * * Copies the enumerable properties of p to o and returns o. * If o and p have a property by the same name, o's property is overwritten. - * + * * See: Flanagan, David (2011-04-18). JavaScript: The Definitive Guide: The Definitive Guide (Kindle Locations 9854-9903). OReilly Media - A. Kindle Edition (Example 6-2) * * @param {Object} o @@ -221,7 +225,7 @@ Component.all = []; /** * Component.add(component) - * + * * @param {Component} component */ Component.add = function(component) @@ -236,7 +240,7 @@ Component.add = function(component) /** * Component.log(s, type) - * + * * For diagnostic output only. * * @param {string} [s] is the message text @@ -258,7 +262,7 @@ Component.log = function(s, type) /** * Component.assert(f, s) - * + * * Used to verify conditions that must be true (for DEBUG builds only; compiled builds should automatically have all * references to Component.assert() removed). * @@ -281,9 +285,9 @@ Component.assert = function(f, s) /** * Component.println(s, type, id) - * + * * For non-diagnostic messages, which components may override to control the destination/appearance of their output. - * + * * Components that inherit from this class should use the instance method, this.println(), rather than Component.println(), * because if a Control Panel is loaded, it will override only the instance method, not the class method (overriding the class * method would improperly affect any other machines loaded on the same page). @@ -301,7 +305,7 @@ Component.println = function(s, type, id) /** * Component.notice(s, fPrintOnly, id) - * + * * notice() is like println() but implies a need for user notification, so we alert() as well. * * @param {string} s is the message text @@ -318,7 +322,7 @@ Component.notice = function(s, fPrintOnly, id) /** * Component.warning(s) - * + * * @param {string} s describes the warning */ Component.warning = function(s) @@ -331,7 +335,7 @@ Component.warning = function(s) /** * Component.error(s) - * + * * @param {string} s describes the error; an alert() is displayed as well */ Component.error = function(s) @@ -344,7 +348,7 @@ Component.error = function(s) /** * Component.getComponents(idRelated) - * + * * We could store components as properties of an 'all' object, using the component's ID, * and change this linear lookup into a property lookup, but some components may have no ID. * @@ -357,7 +361,7 @@ Component.getComponents = function(idRelated) var aComponents = []; /* * getComponentByID(id, idRelated) - * + * * If idRelated is provided, we check it for a machine prefix, and use any * existing prefix to constrain matches to IDs with the same prefix, in order to * avoid matching components belonging to other machines. @@ -379,7 +383,7 @@ Component.getComponents = function(idRelated) /** * Component.getComponentByID(id, idRelated) - * + * * We could store components as properties of an 'all' object, using the component's ID, * and change this linear lookup into a property lookup, but some components may have no ID. * @@ -411,7 +415,7 @@ Component.getComponentByID = function(id, idRelated) /** * Component.getComponentByType(sType, idRelated, componentPrev) - * + * * @param {string} sType of the desired component * @param {string} [idRelated] of related component * @param {Component} [componentPrev] of previously returned component, if any @@ -449,7 +453,7 @@ Component.getComponentByType = function(sType, idRelated, componentPrev) /** * Component.getComponentParms(element) - * + * * @param {Object} element from the DOM */ Component.getComponentParms = function(element) @@ -476,7 +480,7 @@ Component.getComponentParms = function(element) /** * Component.bindExternalControl(component, sControl, sBinding, sType) - * + * * @param {Component} component * @param {string} sControl * @param {string} sBinding @@ -498,7 +502,7 @@ Component.bindExternalControl = function(component, sControl, sBinding, sType) /** * Component.bindComponentControls(component, element, sAppClass) - * + * * @param {Component} component * @param {Object} element from the DOM * @param {string} sAppClass @@ -544,9 +548,9 @@ Component.bindComponentControls = function(component, element, sAppClass) /** * Component.getElementsByClass(element, sClass, sObjClass) - * + * * This is a cross-browser helper function, since not all browser's support getElementsByClassName() - * + * * TODO: This should probably be moved into weblib.js at some point, along with the control binding functions above, * to keep all the browser-related code together. * @@ -583,7 +587,7 @@ Component.prototype = { constructor: Component, /** * toString() - * + * * @this {Component} * @return {string} */ @@ -592,7 +596,7 @@ Component.prototype = { }, /** * getMachineNum() - * + * * @this {Component} * @return {number} unique machine number */ @@ -607,7 +611,7 @@ Component.prototype = { }, /** * setBinding(sHTMLClass, sHTMLType, sBinding, control) - * + * * Component's setBinding() method is intended to be overridden by subclasses. * * @this {Component} @@ -661,8 +665,8 @@ Component.prototype = { }; }(control)); /** - * Override this.notice() with a replacement function that eliminates the web.alertUser() call - * + * Override this.notice() with a replacement function that eliminates the web.alertUser() call + * * @this {Component} * @param {string} s * @param {boolean} [fPrintOnly] @@ -679,12 +683,12 @@ Component.prototype = { }, /** * log(s, type) - * + * * For diagnostic output only. - * + * * WARNING: Even though this function's body is completely wrapped in DEBUG, that won't prevent the Closure Compiler * from including it, so all calls must still be prefixed with "if (DEBUG) ....". For this reason, the class method, - * Component.log(), is preferred, because the compiler IS smart enough to remove those calls. + * Component.log(), is preferred, because the compiler IS smart enough to remove those calls. * * @this {Component} * @param {string} [s] is the message text @@ -702,7 +706,7 @@ Component.prototype = { * * Components using this.println() should wait until after their constructor has run to display any messages, because * if a Control Panel has been loaded, its override will not take effect until its own constructor has run. - * + * * @this {Component} * @param {string} [s] is the message text * @param {string} [type] is the message type @@ -713,7 +717,7 @@ Component.prototype = { }, /** * status(s) - * + * * status() is like println() but it also includes information about the component (ie, the component ID), * which is why there is no corresponding Component.status() function. * @@ -724,7 +728,7 @@ Component.prototype = { }, /** * notice(s, fPrintOnly) - * + * * notice() is like println() but implies a need for user notification, so we alert() as well; however, if this.println() * is overridden, this.notice will be replaced with a similar override, on the assumption that the override is taking care * of alerting the user. @@ -739,36 +743,36 @@ Component.prototype = { }, /** * setError(s) - * + * * Set a fatal error condition * * @this {Component} * @param {string} s describes a fatal error condition */ setError: function(s) { - this.fError = true; + this.aFlags.fError = true; this.notice("Fatal error: " + s); }, /** * clearError() - * + * * Clear any fatal error condition * * @this {Component} */ clearError: function() { - this.fError = false; + this.aFlags.fError = false; }, /** * isError() - * + * * Report any fatal error condition * * @this {Component} * @return {boolean} true if a fatal error condition exists, false if not */ isError: function() { - if (this.fError) { + if (this.aFlags.fError) { this.println(this.toString() + " error"); return true; } @@ -776,7 +780,7 @@ Component.prototype = { }, /** * isReady(fnReady) - * + * * Return the "ready" state of the component; if the component is not ready, it will queue the optional * notification function, otherwise it will immediately call the notification function, if any, without queuing it. * @@ -789,27 +793,27 @@ Component.prototype = { */ isReady: function(fnReady) { if (fnReady) { - if (this.fReady) { + if (this.aFlags.fReady) { fnReady(); } else { if (DEBUG) this.log("NOT ready"); this.fnReady = fnReady; } } - return this.fReady; + return this.aFlags.fReady; }, /** * setReady(fReady) - * + * * Set the "ready" state of the component to true, and call any queued notification functions. * * @this {Component} * @param {boolean} [fReady] is assumed to indicate "ready" unless EXPLICITLY set to false */ setReady: function(fReady) { - if (!this.fError) { - this.fReady = (fReady !== false); - if (this.fReady) { + if (!this.aFlags.fError) { + this.aFlags.fReady = (fReady !== false); + if (this.aFlags.fReady) { if (DEBUG || this.name) this.log("ready"); var fnReady = this.fnReady; this.fnReady = null; @@ -819,7 +823,7 @@ Component.prototype = { }, /** * isBusy(fCancel) - * + * * Return the "busy" state of the component * * @this {Component} @@ -827,18 +831,18 @@ Component.prototype = { * @return {boolean} true if "busy", false if not */ isBusy: function(fCancel) { - if (this.fBusy) { + if (this.aFlags.fBusy) { if (fCancel) { - this.fBusyCancel = true; + this.aFlags.fBusyCancel = true; } else if (fCancel === undefined) { this.println(this.toString() + " busy"); } } - return this.fBusy; + return this.aFlags.fBusy; }, /** * setBusy(fBusy) - * + * * Update the current busy state; if an fCancel request is pending, it will be honored now. * * @this {Component} @@ -846,19 +850,19 @@ Component.prototype = { * @return {boolean} */ setBusy: function(fBusy) { - if (this.fBusyCancel) { - if (this.fBusy) { - this.fBusy = false; + if (this.aFlags.fBusyCancel) { + if (this.aFlags.fBusy) { + this.aFlags.fBusy = false; } - this.fBusyCancel = false; + this.aFlags.fBusyCancel = false; return false; } - if (this.fError) { + if (this.aFlags.fError) { this.println(this.toString() + " error"); return false; } - this.fBusy = fBusy; - return this.fBusy; + this.aFlags.fBusy = fBusy; + return this.aFlags.fBusy; }, /** * powerUp(fSave) @@ -869,7 +873,7 @@ Component.prototype = { * @return {boolean} true if successful, false if failure */ powerUp: function(data, fRepower) { - this.fPowered = true; + this.aFlags.fPowered = true; return true; }, /** @@ -881,7 +885,7 @@ Component.prototype = { * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ powerDown: function(fSave, fShutdown) { - if (fShutdown) this.fPowered = false; + if (fShutdown) this.aFlags.fPowered = false; return true; } }; diff --git a/versions/c1pjs/1.15.8/c1p-dbg.js b/versions/c1pjs/1.15.8/c1p-dbg.js index 820576dfa..e23444d13 100644 --- a/versions/c1pjs/1.15.8/c1p-dbg.js +++ b/versions/c1pjs/1.15.8/c1p-dbg.js @@ -3,163 +3,163 @@ function s(a,b,c){var d;d=!0;var e=0,g=null,h=ba(a),k=window.XMLHttpRequest?new function t(a){window?window.alert(a):console.log(a)}function u(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 ea(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=a.Ma?a.Hb:a.speed+1,!0)}}(this),a=!0}return a}; -f.V=function(a,b,c){this.a=a;this.$=b;this.rc=c-b+1;this.Ya=this.$+this.rc;this.$?t("unsupported CPU address buffer offset ("+this.$+")"):this.P()};f.ba=function(a,b){if(a&&!this.C){this.N=b;(this.m=L(b,"debugger"))&&this.m.Nf();var c=L(b,"video");c&&(this.tc=function(a){return function(){ua(a)}}(c),this.W=function(a){return function(){a.W()}}(c));this.C=!0;this.reset(!0);this.update()}};function va(a,b,c,d,e){0>wa(a.Ca,b,c,d,e)&&(a.nc>b&&(a.nc=b),a.oc=a.Ca[d][0]&&b<=a.Ca[d][1]&&a.Ca[d][3].call(a.Ca[d][2],b,c)}function N(a,b,c,d,e){0>wa(a.sa,b,c,d,e)&&(a.Lb>b&&(a.Lb=b),a.Mb=a.sa[d][0]&&b<=a.sa[d][1]&&a.sa[d][3].call(a.sa[d][2],b,c)}function wa(a,b,c,d,e){for(var g=0;ga.Hb&&a.ua&&(d=a.ua);d>a.mb&&a.speedc?c=0:a.speed==a.qd?a.ua<=a.mb&&(c=0):a.speed==a.Ma&&(c=0);a.Ac+=a.qb;return c} -f.ya=function(){if(H(this,!0)){this.ga||(M(this),this.N&&this.N.start(),this.ga=!0,this.r.run&&(this.r.run.innerHTML="Halt"),this.W());this.Ac>=this.pb&&za(this,!0);this.qb=0;this.Vf=r();try{do{this.step(this.Wb);var a=this.va-this.F;this.Xa+=a;this.qb+=a;this.va=this.F=0;this.ob-=this.Wb;0>=this.ob&&(this.ob+=this.Jd,this.tc());this.nb-=this.Wb;0>=this.nb&&(this.nb+=this.Id,Aa(this));this.Va-=this.Wb;if(0>=this.Va){this.Va+=this.xc;break}}while(this.ga)}catch(b){this.T();this.update();H(this,!1); -K(this,b.message);return}setTimeout(function(a){return function(){a.ya()}}(this),Ca(this))}else this.update(),this.N&&this.N.stop(this.Hd,this.Xa)}; -f.step=function(a){var b=!0;this.b=this.h=-1;var c;if(c=a)if(c=this.m)c=this.m,c=0=d.Da.length&&(d.kb=0));d=!!g}if(d){b=void 0;this.T();break}this.d++;this.t[a].call(this);if(0<=this.b){this.b>=this.nc&&this.b<=this.oc&&xa(this,this.b,this.d);if(d=c)d=this.m,e=!1,Da(d,this.b,d.Ba,"read")&&(e=!0),d=!!e;if(d){b= -!1;this.T();break}this.b=-1}else if(0<=this.h){this.h>=this.Lb&&this.h<=this.Mb&&ya(this,this.h,this.d);if(d=c){d=this.m;var e=this.h,g=this.a[this.h],h=!1;(g&255)!=g&&(d.i("invalid value at "+p(e)+": "+g),h=!0);Da(d,e,d.Ea,"write")&&(h=!0);d=!!h}if(d){b=!1;this.T();break}this.h=-1}this.F-=this.Cf[a]}while(0>1)&128?64:0),b=b|(a.f&128?128:0);return a.w&60|b} -function Ga(a){a.w|=8;a.t[97]=a.eg;a.t[101]=a.gg;a.t[105]=a.dg;a.t[109]=a.ag;a.t[113]=a.fg;a.t[117]=a.hg;a.t[121]=a.cg;a.t[125]=a.bg;a.t[225]=a.ui;a.t[229]=a.wi;a.t[233]=a.ti;a.t[237]=a.qi;a.t[241]=a.vi;a.t[245]=a.xi;a.t[249]=a.si;a.t[253]=a.ri}function Ha(a){a.w&=-9;a.t[97]=a.Vd;a.t[101]=a.Xd;a.t[105]=a.Ud;a.t[109]=a.Rd;a.t[113]=a.Wd;a.t[117]=a.Yd;a.t[121]=a.Td;a.t[125]=a.Sd;a.t[225]=a.ce;a.t[229]=a.ee;a.t[233]=a.be;a.t[237]=a.Zd;a.t[241]=a.de;a.t[245]=a.fe;a.t[249]=a.ae;a.t[253]=a.$d} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.v=b^c;a.u=e;a.f=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.g=b+c+d&255;a.F--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.f=a.g=(a.c=b-c-d)&255;a.v=b^c;a.u=a.c;a.c^=256;a.F--;return e&255}function ta(a){a.e=0;a.n=0;a.p=0;a.q=256;a.w=0;a.f=0;a.g=0;a.v=0;a.u=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.ua=0;a.Xa=a.va=a.F=0} -f.Dg=function(){this.d++;this.a[this.q--]=this.d>>8;this.q|=256;this.a[this.q--]=this.d&255;this.q|=256;this.w|=16;this.w=Ba(this);this.a[this.q--]=this.w;this.q|=256;this.w&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.Xh=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};f.Zh=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]}; -f.tg=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.bi=function(){this.w=Ba(this);this.a[this.q--]=this.w;this.q|=256};f.Wh=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};f.sg=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};f.Th=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]}; -f.qg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Cg=function(){this.d+=(this.f&128?0:(this.F--,this.a[this.d]<<24>>24))+1};f.Yh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e|=this.a[this.b]};f.$h=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e|=this.a[this.b]}; -f.ug=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Gg=function(){this.c=0};f.Vh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e|=this.a[this.b]};f.Uh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e|=this.a[this.b]};f.rg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255}; -f.uh=function(){this.b=this.d++;this.a[this.q--]=this.d>>8;this.q|=256;this.a[this.q--]=this.d&255;this.q|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.mg=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};f.zg=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.u=0;this.v=this.a[this.b]&64?128:0};f.og=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]}; -f.hi=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.di=function(){this.q=this.q+1&255|256;this.w=this.a[this.q];this.c=this.w&1?256:0;this.g=this.w&2?0:1;this.f=this.w&128;this.u=0;this.v=this.w&64?128:0};f.lg=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]}; -f.gi=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};f.yg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.u=0;this.v=this.a[this.b]&64?128:0};f.ig=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]}; -f.ei=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.Ag=function(){this.d+=(this.f&128?(this.F--,this.a[this.d]<<24>>24):0)+1};f.ng=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e&=this.a[this.b]};f.pg=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e&=this.a[this.b]}; -f.ii=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.yi=function(){this.c=256};f.kg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e&=this.a[this.b]};f.jg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e&=this.a[this.b]}; -f.fi=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.oi=function(){this.q=this.q+1&255|256;this.w=this.a[this.q];this.c=this.w&1?256:0;this.g=this.w&2?0:1;this.f=this.w&128;this.u=0;this.v=this.w&64?128:0;this.q=this.q+2&255|256;this.d=this.a[this.q-1|256]|this.a[this.q]<<8}; -f.ih=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};f.kh=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};f.Qh=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};f.ai=function(){this.a[this.q--]=this.e;this.q|=256};f.hh=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]}; -f.Ph=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};f.th=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.eh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};f.Nh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; -f.Eg=function(){this.d+=((this.u&255^this.v^this.u>>1)&128?0:(this.F--,this.a[this.d]<<24>>24))+1};f.jh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e^=this.a[this.b]};f.lh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e^=this.a[this.b]};f.Rh=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; -f.Ig=function(){this.w&=251};f.gh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e^=this.a[this.b]};f.fh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e^=this.a[this.b]};f.Oh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; -f.pi=function(){this.q=this.q+2&255|256;this.d=(this.a[this.q-1|256]|this.a[this.q]<<8)+1};f.Vd=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.eg=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=P(this,this.e,this.a[this.b])}; -f.Xd=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.gg=function(){this.b=this.a[this.d++];this.e=P(this,this.e,this.a[this.b])};f.mi=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.ci=function(){this.q=this.q+1&255|256;this.f=this.g=this.e=this.a[this.q]}; -f.Ud=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.dg=function(){this.b=this.d++;this.e=P(this,this.e,this.a[this.b])};f.li=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};f.sh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8}; -f.Rd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.ag=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=P(this,this.e,this.a[this.b])};f.ji=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255}; -f.Fg=function(){this.d+=((this.u&255^this.v^this.u>>1)&128?(this.F--,this.a[this.d]<<24>>24):0)+1};f.Wd=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.fg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.e=P(this,this.e,this.a[this.b])}; -f.Yd=function(){this.b=this.a[this.d++]+this.n&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.hg=function(){this.b=this.a[this.d++]+this.n&255;this.e=P(this,this.e,this.a[this.b])};f.ni=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Ai=function(){this.w|=4}; -f.Td=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.cg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.e=P(this,this.e,this.a[this.b])};f.Sd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255}; -f.bg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=P(this,this.e,this.a[this.b])};f.ki=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Ei=function(){this.h=this.a[this.d++]+this.n&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};f.Mi=function(){this.h=this.a[this.d++];this.a[this.h]=this.p}; -f.Gi=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};f.Ji=function(){this.h=this.a[this.d++];this.a[this.h]=this.n};f.dh=function(){this.f=this.g=this.p=this.p-1&255};f.Si=function(){this.f=this.g=this.e=this.n};f.Li=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.p};f.Bi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};f.Ii=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.n}; -f.vg=function(){this.d+=(this.c&256?0:(this.F--,this.a[this.d]<<24>>24))+1};f.Fi=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.p;this.a[this.h]=this.e};f.Ni=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.p};f.Hi=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.e};f.Ki=function(){this.h=this.a[this.d++]+this.p&255;this.a[this.h]=this.n};f.Ui=function(){this.f=this.g=this.e=this.p}; -f.Di=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.a[this.h]=this.e};f.Ti=function(){this.q=this.n|256};f.Ci=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.a[this.h]=this.e};f.Kh=function(){this.b=this.d++;this.f=this.g=this.p=this.a[this.b]};f.zh=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};f.Fh=function(){this.b=this.d++;this.f=this.g=this.n=this.a[this.b]}; -f.Lh=function(){this.b=this.a[this.d++];this.f=this.g=this.p=this.a[this.b]};f.Bh=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};f.Gh=function(){this.b=this.a[this.d++];this.f=this.g=this.n=this.a[this.b]};f.Qi=function(){this.f=this.g=this.p=this.e};f.yh=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};f.Pi=function(){this.f=this.g=this.n=this.e};f.Ih=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.p=this.a[this.b]}; -f.vh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};f.Dh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.n=this.a[this.b]};f.wg=function(){this.d+=(this.c&256?(this.F--,this.a[this.d]<<24>>24):0)+1};f.Ah=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e=this.a[this.b]};f.Mh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.p=this.a[this.b]}; -f.Ch=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e=this.a[this.b]};f.Hh=function(){this.b=this.a[this.d++]+this.p&255;this.f=this.g=this.n=this.a[this.b]};f.Jg=function(){this.v=this.u=0};f.xh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e=this.a[this.b]};f.Ri=function(){this.f=this.g=this.n=this.q&255};f.Jh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.p=this.a[this.b]}; -f.wh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e=this.a[this.b]};f.Eh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.n=this.a[this.b]};f.Wg=function(){this.b=this.d++;this.f=this.g=this.c=this.p-this.a[this.b];this.c^=256};f.Og=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256}; -f.Xg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.p-this.a[this.b];this.c^=256};f.Qg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.$g=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.rh=function(){this.f=this.g=this.p=this.p+1&255};f.Ng=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.bh=function(){this.f=this.g=this.n=this.n-1&255}; -f.Vg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.p-this.a[this.b];this.c^=256};f.Kg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Yg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Bg=function(){this.d+=(this.g&255?(this.F--,this.a[this.d]<<24>>24):0)+1}; -f.Pg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Rg=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.ah=function(){this.h=this.a[this.d++]+this.n&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Hg=function(){Ha(this)}; -f.Mg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Lg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Zg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Tg=function(){this.b=this.d++;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256}; -f.ce=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ui=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=Q(this,this.e,this.a[this.b])};f.Ug=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256}; -f.ee=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.wi=function(){this.b=this.a[this.d++];this.e=Q(this,this.e,this.a[this.b])};f.oh=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.qh=function(){this.f=this.g=this.n=this.n+1&255}; -f.be=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ti=function(){this.b=this.d++;this.e=Q(this,this.e,this.a[this.b])};f.Sh=function(){};f.Sg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256}; -f.Zd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.qi=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=Q(this,this.e,this.a[this.b])};f.mh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.xg=function(){this.d+=(this.g&255?0:(this.F--,this.a[this.d]<<24>>24))+1}; -f.de=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.vi=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.e=Q(this,this.e,this.a[this.b])}; -f.fe=function(){this.b=this.a[this.d++]+this.n&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.xi=function(){this.b=this.a[this.d++]+this.n&255;this.e=Q(this,this.e,this.a[this.b])};f.ph=function(){this.h=this.a[this.d++]+this.n&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.zi=function(){Ga(this)}; -f.ae=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.si=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.e=Q(this,this.e,this.a[this.b])}; -f.$d=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ri=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=Q(this,this.e,this.a[this.b])};f.nh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255}; -f.Oi=function(){var a;a=this.a[this.d++];switch(a){case this.wf:this.i("HALT");this.T();break;case this.pd:a=this.d;for(var b="";a=a.Na?a.Ib:a.speed+1,!0)}}(this),a=!0}return a}; +f.W=function(a,b,c){this.a=a;this.aa=b;this.sc=c-b+1;this.$a=this.aa+this.sc;this.aa?t("unsupported CPU address buffer offset ("+this.aa+")"):this.Q()};f.ca=function(a,b){if(a&&!this.o.C){this.O=b;(this.m=L(b,"debugger"))&&this.m.Of();var c=L(b,"video");c&&(this.uc=function(a){return function(){ua(a)}}(c),this.X=function(a){return function(){a.X()}}(c));this.o.C=!0;this.reset(!0);this.update()}};function va(a,b,c,d,e){0>wa(a.Da,b,c,d,e)&&(a.oc>b&&(a.oc=b),a.pc=a.Da[d][0]&&b<=a.Da[d][1]&&a.Da[d][3].call(a.Da[d][2],b,c)}function N(a,b,c,d,e){0>wa(a.ta,b,c,d,e)&&(a.Mb>b&&(a.Mb=b),a.Nb=a.ta[d][0]&&b<=a.ta[d][1]&&a.ta[d][3].call(a.ta[d][2],b,c)}function wa(a,b,c,d,e){for(var g=0;ga.Ib&&a.va&&(d=a.va);d>a.nb&&a.speedc?c=0:a.speed==a.rd?a.va<=a.nb&&(c=0):a.speed==a.Na&&(c=0);a.Bc+=a.rb;return c} +f.za=function(){if(H(this,!0)){this.o.ha||(M(this),this.O&&this.O.start(),this.o.ha=!0,this.s.run&&(this.s.run.innerHTML="Halt"),this.X());this.Bc>=this.qb&&za(this,!0);this.rb=0;this.Wf=r();try{do{this.step(this.Xb);var a=this.wa-this.G;this.Za+=a;this.rb+=a;this.wa=this.G=0;this.pb-=this.Xb;0>=this.pb&&(this.pb+=this.Kd,this.uc());this.ob-=this.Xb;0>=this.ob&&(this.ob+=this.Jd,Aa(this));this.Xa-=this.Xb;if(0>=this.Xa){this.Xa+=this.yc;break}}while(this.o.ha)}catch(b){this.U();this.update();H(this, +!1);K(this,b.message);return}setTimeout(function(a){return function(){a.za()}}(this),Ca(this))}else this.update(),this.O&&this.O.stop(this.Id,this.Za)}; +f.step=function(a){var b=!0;this.b=this.h=-1;var c;if(c=a)if(c=this.m)c=this.m,c=0=d.Ea.length&&(d.lb=0));d=!!g}if(d){b=void 0;this.U();break}this.d++;this.u[a].call(this);if(0<=this.b){this.b>=this.oc&&this.b<=this.pc&&xa(this,this.b,this.d);if(d=c)d=this.m,e=!1,Da(d,this.b,d.Ca,"read")&&(e=!0),d=!!e;if(d){b= +!1;this.U();break}this.b=-1}else if(0<=this.h){this.h>=this.Mb&&this.h<=this.Nb&&ya(this,this.h,this.d);if(d=c){d=this.m;var e=this.h,g=this.a[this.h],h=!1;(g&255)!=g&&(d.i("invalid value at "+p(e)+": "+g),h=!0);Da(d,e,d.Fa,"write")&&(h=!0);d=!!h}if(d){b=!1;this.U();break}this.h=-1}this.G-=this.Df[a]}while(0>1)&128?64:0),b=b|(a.f&128?128:0);return a.A&60|b} +function Ga(a){a.A|=8;a.u[97]=a.fg;a.u[101]=a.hg;a.u[105]=a.eg;a.u[109]=a.bg;a.u[113]=a.gg;a.u[117]=a.ig;a.u[121]=a.dg;a.u[125]=a.cg;a.u[225]=a.vi;a.u[229]=a.xi;a.u[233]=a.ui;a.u[237]=a.ri;a.u[241]=a.wi;a.u[245]=a.yi;a.u[249]=a.ti;a.u[253]=a.si}function Ha(a){a.A&=-9;a.u[97]=a.Wd;a.u[101]=a.Yd;a.u[105]=a.Vd;a.u[109]=a.Sd;a.u[113]=a.Xd;a.u[117]=a.Zd;a.u[121]=a.Ud;a.u[125]=a.Td;a.u[225]=a.de;a.u[229]=a.fe;a.u[233]=a.ce;a.u[237]=a.$d;a.u[241]=a.ee;a.u[245]=a.ge;a.u[249]=a.be;a.u[253]=a.ae} +function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.w=b^c;a.v=e;a.f=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.g=b+c+d&255;a.G--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.f=a.g=(a.c=b-c-d)&255;a.w=b^c;a.v=a.c;a.c^=256;a.G--;return e&255}function ta(a){a.e=0;a.n=0;a.q=0;a.r=256;a.A=0;a.f=0;a.g=0;a.w=0;a.v=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.va=0;a.Za=a.wa=a.G=0} +f.Eg=function(){this.d++;this.a[this.r--]=this.d>>8;this.r|=256;this.a[this.r--]=this.d&255;this.r|=256;this.A|=16;this.A=Ba(this);this.a[this.r--]=this.A;this.r|=256;this.A&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.Yh=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};f.$h=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]}; +f.ug=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.ci=function(){this.A=Ba(this);this.a[this.r--]=this.A;this.r|=256};f.Xh=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};f.tg=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};f.Uh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]}; +f.rg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Dg=function(){this.d+=(this.f&128?0:(this.G--,this.a[this.d]<<24>>24))+1};f.Zh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.f=this.g=this.e|=this.a[this.b]};f.ai=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e|=this.a[this.b]}; +f.vg=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Hg=function(){this.c=0};f.Wh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.f=this.g=this.e|=this.a[this.b]};f.Vh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e|=this.a[this.b]};f.sg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255}; +f.vh=function(){this.b=this.d++;this.a[this.r--]=this.d>>8;this.r|=256;this.a[this.r--]=this.d&255;this.r|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.ng=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};f.Ag=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.v=0;this.w=this.a[this.b]&64?128:0};f.pg=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]}; +f.ii=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.ei=function(){this.r=this.r+1&255|256;this.A=this.a[this.r];this.c=this.A&1?256:0;this.g=this.A&2?0:1;this.f=this.A&128;this.v=0;this.w=this.A&64?128:0};f.mg=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]}; +f.hi=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};f.zg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.v=0;this.w=this.a[this.b]&64?128:0};f.jg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]}; +f.fi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.Bg=function(){this.d+=(this.f&128?(this.G--,this.a[this.d]<<24>>24):0)+1};f.og=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.f=this.g=this.e&=this.a[this.b]};f.qg=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e&=this.a[this.b]}; +f.ji=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.zi=function(){this.c=256};f.lg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.f=this.g=this.e&=this.a[this.b]};f.kg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e&=this.a[this.b]}; +f.gi=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.pi=function(){this.r=this.r+1&255|256;this.A=this.a[this.r];this.c=this.A&1?256:0;this.g=this.A&2?0:1;this.f=this.A&128;this.v=0;this.w=this.A&64?128:0;this.r=this.r+2&255|256;this.d=this.a[this.r-1|256]|this.a[this.r]<<8}; +f.jh=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};f.lh=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};f.Rh=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};f.bi=function(){this.a[this.r--]=this.e;this.r|=256};f.ih=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]}; +f.Qh=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};f.uh=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.fh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};f.Oh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; +f.Fg=function(){this.d+=((this.v&255^this.w^this.v>>1)&128?0:(this.G--,this.a[this.d]<<24>>24))+1};f.kh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.f=this.g=this.e^=this.a[this.b]};f.mh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e^=this.a[this.b]};f.Sh=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; +f.Jg=function(){this.A&=251};f.hh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.f=this.g=this.e^=this.a[this.b]};f.gh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e^=this.a[this.b]};f.Ph=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; +f.qi=function(){this.r=this.r+2&255|256;this.d=(this.a[this.r-1|256]|this.a[this.r]<<8)+1};f.Wd=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.fg=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=P(this,this.e,this.a[this.b])}; +f.Yd=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.hg=function(){this.b=this.a[this.d++];this.e=P(this,this.e,this.a[this.b])};f.ni=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.di=function(){this.r=this.r+1&255|256;this.f=this.g=this.e=this.a[this.r]}; +f.Vd=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.eg=function(){this.b=this.d++;this.e=P(this,this.e,this.a[this.b])};f.mi=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};f.th=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8}; +f.Sd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.bg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=P(this,this.e,this.a[this.b])};f.ki=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255}; +f.Gg=function(){this.d+=((this.v&255^this.w^this.v>>1)&128?(this.G--,this.a[this.d]<<24>>24):0)+1};f.Xd=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.gg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.e=P(this,this.e,this.a[this.b])}; +f.Zd=function(){this.b=this.a[this.d++]+this.n&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.ig=function(){this.b=this.a[this.d++]+this.n&255;this.e=P(this,this.e,this.a[this.b])};f.oi=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Bi=function(){this.A|=4}; +f.Ud=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255};f.dg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.e=P(this,this.e,this.a[this.b])};f.Td=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255}; +f.cg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=P(this,this.e,this.a[this.b])};f.li=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Fi=function(){this.h=this.a[this.d++]+this.n&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};f.Ni=function(){this.h=this.a[this.d++];this.a[this.h]=this.q}; +f.Hi=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};f.Ki=function(){this.h=this.a[this.d++];this.a[this.h]=this.n};f.eh=function(){this.f=this.g=this.q=this.q-1&255};f.Ti=function(){this.f=this.g=this.e=this.n};f.Mi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.q};f.Ci=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};f.Ji=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.n}; +f.wg=function(){this.d+=(this.c&256?0:(this.G--,this.a[this.d]<<24>>24))+1};f.Gi=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.q;this.a[this.h]=this.e};f.Oi=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.q};f.Ii=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.e};f.Li=function(){this.h=this.a[this.d++]+this.q&255;this.a[this.h]=this.n};f.Vi=function(){this.f=this.g=this.e=this.q}; +f.Ei=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.a[this.h]=this.e};f.Ui=function(){this.r=this.n|256};f.Di=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.a[this.h]=this.e};f.Lh=function(){this.b=this.d++;this.f=this.g=this.q=this.a[this.b]};f.Ah=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};f.Gh=function(){this.b=this.d++;this.f=this.g=this.n=this.a[this.b]}; +f.Mh=function(){this.b=this.a[this.d++];this.f=this.g=this.q=this.a[this.b]};f.Ch=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};f.Hh=function(){this.b=this.a[this.d++];this.f=this.g=this.n=this.a[this.b]};f.Ri=function(){this.f=this.g=this.q=this.e};f.zh=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};f.Qi=function(){this.f=this.g=this.n=this.e};f.Jh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.q=this.a[this.b]}; +f.wh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};f.Eh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.n=this.a[this.b]};f.xg=function(){this.d+=(this.c&256?(this.G--,this.a[this.d]<<24>>24):0)+1};f.Bh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.f=this.g=this.e=this.a[this.b]};f.Nh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.q=this.a[this.b]}; +f.Dh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e=this.a[this.b]};f.Ih=function(){this.b=this.a[this.d++]+this.q&255;this.f=this.g=this.n=this.a[this.b]};f.Kg=function(){this.w=this.v=0};f.yh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.f=this.g=this.e=this.a[this.b]};f.Si=function(){this.f=this.g=this.n=this.r&255};f.Kh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.q=this.a[this.b]}; +f.xh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e=this.a[this.b]};f.Fh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.f=this.g=this.n=this.a[this.b]};f.Xg=function(){this.b=this.d++;this.f=this.g=this.c=this.q-this.a[this.b];this.c^=256};f.Pg=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256}; +f.Yg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.q-this.a[this.b];this.c^=256};f.Rg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.ah=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.sh=function(){this.f=this.g=this.q=this.q+1&255};f.Og=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.dh=function(){this.f=this.g=this.n=this.n-1&255}; +f.Wg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.q-this.a[this.b];this.c^=256};f.Lg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Zg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Cg=function(){this.d+=(this.g&255?(this.G--,this.a[this.d]<<24>>24):0)+1}; +f.Qg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Sg=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.bh=function(){this.h=this.a[this.d++]+this.n&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Ig=function(){Ha(this)}; +f.Ng=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Mg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.$g=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Ug=function(){this.b=this.d++;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256}; +f.de=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.vi=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=Q(this,this.e,this.a[this.b])};f.Vg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256}; +f.fe=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.xi=function(){this.b=this.a[this.d++];this.e=Q(this,this.e,this.a[this.b])};f.ph=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.rh=function(){this.f=this.g=this.n=this.n+1&255}; +f.ce=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ui=function(){this.b=this.d++;this.e=Q(this,this.e,this.a[this.b])};f.Th=function(){};f.Tg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256}; +f.$d=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ri=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=Q(this,this.e,this.a[this.b])};f.nh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.yg=function(){this.d+=(this.g&255?0:(this.G--,this.a[this.d]<<24>>24))+1}; +f.ee=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.wi=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.q;this.e=Q(this,this.e,this.a[this.b])}; +f.ge=function(){this.b=this.a[this.d++]+this.n&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.yi=function(){this.b=this.a[this.d++]+this.n&255;this.e=Q(this,this.e,this.a[this.b])};f.qh=function(){this.h=this.a[this.d++]+this.n&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.Ai=function(){Ga(this)}; +f.be=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ti=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.q;this.e=Q(this,this.e,this.a[this.b])}; +f.ae=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.v=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.si=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=Q(this,this.e,this.a[this.b])};f.oh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255}; +f.Pi=function(){var a;a=this.a[this.d++];switch(a){case this.xf:this.i("HALT");this.U();break;case this.qd:a=this.d;for(var b="";a=c&&(c+=32);a.Ja=a.Ja.substr(1);Ma(a,c)}0=b&&(b+=32),Oa(a,b),U(a,b,!0,a.od)&&(a.l.speed==a.l.Ma?U(a,b,!1,a.uf):(c=!1,a.da[b]&&(clearTimeout(a.da[b]),c=!0),c=Na(a,c),a.da[a.xa=b]=setTimeout(function(a){return function(){U(a,b,!1,a.vf)}}(a),c),a.m&&T(a.m,a.m.za)&&a.m.message("keyPressSimulate("+n(b)+"): setTimeout()")),c=!0));a.m&&T(a.m,a.m.za)&&a.m.message("keyPressSimulate("+n(b)+"): "+(c?"true":"false"));return c} -function U(a,b,c,d){var e=!1;c||(a.da[b]=null,a.xa==b&&(a.xa=0));var g=0,h=a.k[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.zb),h=a.k[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.M[b]|=1<d||d>=this.Wf}a&&(d=this.kc.shift(),void 0!==d&&(this.xd=d),this.Dc=0,this.Kd=c);for(d=c=0;8>d;d++)this.yd&1<d[g][0]&&(h=d[g][0]),k=a.Ed&&(d-=a.Ed,d=c&&(c+=32);a.Ka=a.Ka.substr(1);Ma(a,c)}0=b&&(b+=32),Oa(a,b),U(a,b,!0,a.pd)&&(a.l.speed==a.l.Na?U(a,b,!1,a.vf):(c=!1,a.ea[b]&&(clearTimeout(a.ea[b]),c=!0),c=Na(a,c),a.ea[a.ya=b]=setTimeout(function(a){return function(){U(a,b,!1,a.wf)}}(a),c),a.m&&T(a.m,a.m.Aa)&&a.m.message("keyPressSimulate("+n(b)+"): setTimeout()")),c=!0));a.m&&T(a.m,a.m.Aa)&&a.m.message("keyPressSimulate("+n(b)+"): "+(c?"true":"false"));return c} +function U(a,b,c,d){var e=!1;c||(a.ea[b]=null,a.ya==b&&(a.ya=0));var g=0,h=a.k[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.Ab),h=a.k[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.N[b]|=1<d||d>=this.Xf}a&&(d=this.lc.shift(),void 0!==d&&(this.yd=d),this.Ec=0,this.Ld=c);for(d=c=0;8>d;d++)this.zd&1<d[g][0]&&(h=d[g][0]),k=a.Fd&&(d-=a.Fd,dMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","c1pjs-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="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 g=new Image,h=e.getContext("2d"),e=new Qa(d,e,h,g);g.onload=function(a){return function(){a.P()}}(e,d.charSet);g.src=d.charSet;E(e,c)}}); -function Ta(a){z.call(this,"C1PSerialPort",a);this.C=!1;this.Dd=a.demo;this.yf=0;this.xf=1;this.reset()}B(Ta);f=Ta.prototype;f.reset=function(){2!=this.Fa&&(this.Nb=this.pc=0,this.Za='10 PRINT "HELLO OSI #'+ka(this)+'"\n',this.Fa=this.Ub=0)};f.start=function(){this.G&&this.Dd&&(V(this.G," C\n\n",3E3),setTimeout(function(a){return function(){a.Fa=1;V(a.G,"LOAD\n")}}(this),12E3));this.Dd=!1}; -f.I=function(a,b,c,d){switch(c){case "listSerial":return this.r[c]=d,!0;case "loadSerial":return this.r[c]=d,d.onclick=function(a){return function(){a.r.listSerial&&s(a.r.listSerial.value,a,a.Pf)}}(this),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.Fc=b;this.Ff=c-b+1;this.Qd=this.Fc+this.Ff;if(this.l=d)va(d,b,c,this,this.H),N(d,b,c,this,this.O);this.P()};f.ba=function(a,b){a&&!this.C&&(this.C=!0,this.N=b,this.G=L(b,"keyboard"),this.m=L(b,"debugger"))}; -f.Pf=function(a,b,c){b?(this.Za=b,this.Fa=this.Ub=0,this.N&&this.G&&this.l.ga?(this.i("auto-loading "+a),this.l.W(),"."!=this.Za.charAt(0)?(this.Fa=1,V(this.G,"NEW\nLOAD\n")):(this.Fa=2,this.N.reset(!0),V(this.G,"ML"))):this.i(a+" ready to load")):this.i(a+" load error ("+c+")")};f.H=function(a,b){void 0!==b&&(a&1?Ua(this):this.Za&&!this.Ub&&Ua(this))};f.O=function(a,b){void 0!==b&&this.m&&S(this.m,this,a,b,this.m.Sc,!0)}; -function Ua(a){if(void 0!==a.Za){a.pc=0;a.Nb=0;if(a.Ub=--d.Wa&&(0=d.Od&&(d.ha=d.Od),0>d.ha&&(d.ha=0),d.Wa=20,a.Ha.update(a.Ha.s|a.jc),Ya(a))}this.s=c;a.$b.s&a.Ka&&W(a,a.nd,this)}}(a)};a.$b={s:0,aa:function(){},update:function(a){return function(c){void 0!==c&&(this.s=c&~(a.Nc|a.Oc));W(a,a.kd,this);a.sb.update();a.ie.update()}}(a)};a.Vi={s:0,aa:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Pc)==a.Pc&&(a.Ia.s=a.ud|a.sd|a.rd),this.s=c);a.Ia.update()}}(a)};a.Ia={s:a.ud|a.sd|a.rd,aa:function(){},update:function(a){return function(c){void 0=== -c&&(c=a.Ia.s);c&=~a.td;0<=a.K&&0<=a.U[a.K].Ua&&(c|=a.td);this.s=c;W(a,a.rf,this)}}(a)};a.Jc={s:0,aa:function(a){return function(){Za(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.s=c);W(a,a.ld,this)}}(a)};a.Wi={s:0,aa:function(){},update:function(){return function(){}}(a)}} -f.I=function(a,b,c,d){switch(c){case "listDisk":return this.r[c]=d,!0;case "loadDisk":return this.r[c]=d,d.onclick=function(a){return function(){if(a.r.listDisk){var b=a.r.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.i("loading "+ba(b)+"...");s(c,a,a.Of)}}}(this),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.mc=b;if(this.l=d)va(d,b,c,this,this.H),N(d,b,c,this,this.O);this.P()}; -f.ba=function(a,b){a&&!this.C&&(this.C=!0,this.m=L(b,"debugger"))}; -f.Of=function(a,b,c){if(c)this.i("disk load error ("+c+")");else{c=[];this.i("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.i("data error: "+d[0]);else if(this.U[0]){for(b=0;b=--d.Ya&&(0=d.Pd&&(d.ia=d.Pd),0>d.ia&&(d.ia=0),d.Ya=20,a.Ia.update(a.Ia.t|a.kc),Ya(a))}this.t=c;a.ac.t&a.La&&W(a,a.od,this)}}(a)};a.ac={t:0,ba:function(){},update:function(a){return function(c){void 0!==c&&(this.t=c&~(a.Oc|a.Pc));W(a,a.ld,this);a.tb.update();a.je.update()}}(a)};a.Wi={t:0,ba:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Qc)==a.Qc&&(a.Ja.t=a.vd|a.td|a.sd),this.t=c);a.Ja.update()}}(a)};a.Ja={t:a.vd|a.td|a.sd,ba:function(){},update:function(a){return function(c){void 0=== +c&&(c=a.Ja.t);c&=~a.ud;0<=a.L&&0<=a.V[a.L].Wa&&(c|=a.ud);this.t=c;W(a,a.sf,this)}}(a)};a.Kc={t:0,ba:function(a){return function(){Za(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.t=c);W(a,a.md,this)}}(a)};a.Xi={t:0,ba:function(){},update:function(){return function(){}}(a)}} +f.J=function(a,b,c,d){switch(c){case "listDisk":return this.s[c]=d,!0;case "loadDisk":return this.s[c]=d,d.onclick=function(a){return function(){if(a.s.listDisk){var b=a.s.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.i("loading "+ba(b)+"...");s(c,a,a.Pf)}}}(this),!0}return!1};f.W=function(a,b,c,d){this.a=a;this.nc=b;if(this.l=d)va(d,b,c,this,this.I),N(d,b,c,this,this.P);this.Q()}; +f.ca=function(a,b){a&&!this.o.C&&(this.o.C=!0,this.m=L(b,"debugger"))}; +f.Pf=function(a,b,c){if(c)this.i("disk load error ("+c+")");else{c=[];this.i("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.i("data error: "+d[0]);else if(this.V[0]){for(b=0;b>8&255);a.push(b&255)}function $a(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case a.md:a=a.Zb.s&a.Ka?a.Ha:a.he;break;case a.jd:a=a.Zb;break;case a.nd:a=a.$b.s&a.Ka?a.sb:a.ie;break;case a.kd:a=a.$b;break;case a.of:a=c?a.Vi:a.Ia;break;case a.ld:a=a.Jc;break;default:a=a.Wi}return a}f.H=function(a,b){if(void 0!==b){var c=bb(this,a-this.mc,!1);this.m&&S(this.m,this,a,b,this.m.La,!1,c.je);c.aa()}}; -f.O=function(a,b){if(void 0!==b){var c=this.l.H(a),d=bb(this,a-this.mc,!0);if(this.m&&T(this.m,this.m.La|this.m.dc)&&(S(this.m,this,a,b,this.m.La,!0,d.je),d.Af))for(var e=128,g=d.s^c;g&&e;)g&e&&this.m.message(" changed "+d.je+"."+d.Af[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function Xa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.nf||(d|=2),a.Ha.s&a.dd||(d|=1));a.K!=d&&(a.K=d,a.Ia.update())}function Ya(a){0<=a.K&&(a.U[a.K].Ua=-1,a.Jc.update(255),a.Ia.update())} -function Za(a){var b=null;if(0<=a.K){var b=a.U[a.K],c=b.Jb[b.ha];void 0!==c&&(0<=b.Ua&&b.Ua>24)}f.H=function(a){var b;a>=this.$&&a=this.Ya?this.i("invalid address: "+p(a)):(this.a[this.$+a]=b&255,ya(this.l,a),this.l.update())};function kb(a,b){Y(a.ra,b,void 0)||a.ra.push(b);return!0} -function Y(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.l.gc&&(h< -a.vd.length&&(m=a.vd[h]),h==a.l.pd)){l=0;for(m='"';h=a.H(b++);)16>l?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.Zf=b;return d} -function Z(a,b){var c=a.wa;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.i("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ya)&&(a.i("address out of range: "+aa(c)),c=void 0);return c} -function nb(a,b){if("?"==b)a.i("\nfrequency commands:"),a.i("clear\tclear all frequency counts");else{var c=0,d;if(a.fa)if("clear"==b){for(d=0;db?b&=3:32>b&&(b&=17);switch(b){case a.nd:a=a.$b.t&a.La?a.Ia:a.ie;break;case a.kd:a=a.$b;break;case a.od:a=a.ac.t&a.La?a.tb:a.je;break;case a.ld:a=a.ac;break;case a.pf:a=c?a.Wi:a.Ja;break;case a.md:a=a.Kc;break;default:a=a.Xi}return a}f.I=function(a,b){if(void 0!==b){var c=bb(this,a-this.nc,!1);this.m&&S(this.m,this,a,b,this.m.Ma,!1,c.ke);c.ba()}}; +f.P=function(a,b){if(void 0!==b){var c=this.l.I(a),d=bb(this,a-this.nc,!0);if(this.m&&T(this.m,this.m.Ma|this.m.ec)&&(S(this.m,this,a,b,this.m.Ma,!0,d.ke),d.Bf))for(var e=128,g=d.t^c;g&&e;)g&e&&this.m.message(" changed "+d.ke+"."+d.Bf[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function Xa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.of||(d|=2),a.Ia.t&a.ed||(d|=1));a.L!=d&&(a.L=d,a.Ja.update())}function Ya(a){0<=a.L&&(a.V[a.L].Wa=-1,a.Kc.update(255),a.Ja.update())} +function Za(a){var b=null;if(0<=a.L){var b=a.V[a.L],c=b.Kb[b.ia];void 0!==c&&(0<=b.Wa&&b.Wa>24)}f.I=function(a){var b;a>=this.aa&&a=this.$a?this.i("invalid address: "+p(a)):(this.a[this.aa+a]=b&255,ya(this.l,a),this.l.update())};function kb(a,b){Y(a.sa,b,void 0)||a.sa.push(b);return!0} +function Y(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.l.hc&&(h< +a.wd.length&&(m=a.wd[h]),h==a.l.qd)){l=0;for(m='"';h=a.I(b++);)16>l?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$f=b;return d} +function Z(a,b){var c=a.xa;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.i("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.$a)&&(a.i("address out of range: "+aa(c)),c=void 0);return c} +function nb(a,b){if("?"==b)a.i("\nfrequency commands:"),a.i("clear\tclear all frequency counts");else{var c=0,d;if(a.ga)if("clear"==b){for(d=0;da.Bf.indexOf(k)&&(e=a.B);e==a.Tc&&k!=a.Fb&&(e=a.B)}else a.i("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.i("too many instruction matches (both "+n(m)+" and "+n(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.Y[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.X&&(l-=c+2,-128>l||127>>=8;else g&& -a.i("instruction missing "+g+" bytes")}else a.i("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.i(p(h)+" "+g+l)}a.wa=e}break;case "e":e=c[1];if(void 0===e)a.i("missing address");else if(e=Z(a,e),void 0!==e)for(d=2;dd.length&&(a.i("note: only "+d.length+" available"),g=d.length); -void 0!==l&&(a.zc=0,a.i(g+" instructions earlier:"));l=a.zc?a.zc:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.kb;){h=d[c];if(0>h)break;a.i(mb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Yf=g;a.zc=l}10==e&&a.i("no history available");break;case "r":hb(a,c);break;case "s":a.H(a.l.d)==a.l.Gb?(lb(a,a.l.d+3),a.Ta=!0,a.ya()||a.l.W()):ob(a);break;case "t":ob(a,c[1]);break;case "u":gb(a,c[1],c[2],8);break;case "?":case "help":a.i("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.i("note: frequency and history commands operate only when breakpoints are set");break;default:a.i("unknown command: "+b)}}}x(function(){for(var a=F(window.document,"c1pjs","debugger"),b=0;b");b&&b.ba(!0,a)} -x(function(){for(var a=F(window.document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){t(' definition must appear first in the specification'); -break}if(e=C("debugger",d.id))g["debugger"]=[e],e.V&&e.V(h,k,l,g.cpu[0]);k=new $(d,g);if(l=C("panel",d.id))if(g.panel=[l],l.sc){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;da.Cf.indexOf(k)&&(e=a.D);e==a.Uc&&k!=a.Gb&&(e=a.D)}else a.i("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.i("too many instruction matches (both "+n(m)+" and "+n(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.Z[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.Y&&(l-=c+2,-128>l||127>>=8;else g&& +a.i("instruction missing "+g+" bytes")}else a.i("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.i(p(h)+" "+g+l)}a.xa=e}break;case "e":e=c[1];if(void 0===e)a.i("missing address");else if(e=Z(a,e),void 0!==e)for(d=2;dd.length&&(a.i("note: only "+d.length+" available"),g=d.length); +void 0!==l&&(a.Ac=0,a.i(g+" instructions earlier:"));l=a.Ac?a.Ac:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.lb;){h=d[c];if(0>h)break;a.i(mb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Zf=g;a.Ac=l}10==e&&a.i("no history available");break;case "r":hb(a,c);break;case "s":a.I(a.l.d)==a.l.Hb?(lb(a,a.l.d+3),a.Va=!0,a.za()||a.l.X()):ob(a);break;case "t":ob(a,c[1]);break;case "u":gb(a,c[1],c[2],8);break;case "?":case "help":a.i("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); +a.i("note: frequency and history commands operate only when breakpoints are set");break;default:a.i("unknown command: "+b)}}}x(function(){for(var a=F(window.document,"c1pjs","debugger"),b=0;b");b&&b.ca(!0,a)} +x(function(){for(var a=F(window.document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){t(' definition must appear first in the specification'); +break}if(e=C("debugger",d.id))g["debugger"]=[e],e.W&&e.W(h,k,l,g.cpu[0]);k=new $(d,g);if(l=C("panel",d.id))if(g.panel=[l],l.tc){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&(k=window.location.pathname+k);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(k?" url=$2"+k+"$2":""))}k=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(G){k= null,a=G.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");s(e,null,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, diff --git a/versions/c1pjs/1.15.8/c1p.js b/versions/c1pjs/1.15.8/c1p.js index 8d5cdbeee..f6759e5ef 100644 --- a/versions/c1pjs/1.15.8/c1p.js +++ b/versions/c1pjs/1.15.8/c1p.js @@ -2,124 +2,124 @@ function q(a,b,c){var d;d=!0;var f=0,g=null,k=aa(a),h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),c&&(b?c.call(b,k,g,f,void 0):c(k,g,f,void 0)))});h.open("GET",a,d);h.send();d||(g=h.responseText,200!=h.status&&(f=h.status||-1),c&&(b?c.call(b,k,g,f,void 0):c(k,g,f,void 0)))} function r(a){window?window.alert(a):console.log(a)}function s(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 t={init:[],show:[],exit:[]},da=!1,u=!0;function v(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function w(a){t.init.push(a)} function x(a){if(u)try{for(var b=0;b=a.oa?a.ab:a.speed+1,!0)}}(this),a=!0}return a}; -e.P=function(a,b){this.a=a;(this.oc=b)?r("unsupported CPU address buffer offset ("+this.oc+")"):this.J()};e.S=function(a,b){if(a&&!this.A){this.G=b;var c=M(b,"video");c&&(this.kb=function(a){return function(){na(a)}}(c),this.da=function(a){return function(){a.da()}}(c));this.A=!0;this.reset(!0);this.update()}};function oa(a,b,c,d,f){0>pa(a.Y,b,c,d,f)&&(a.fb>b&&(a.fb=b),a.gbpa(a.T,b,c,d,f)&&(a.Ha>b&&(a.Ha=b),a.Iaa.ab&&a.W&&(d=a.W);d>a.Qa&&a.speed=a.ua&&qa(a,!0);a.va=0;a.Td=Date.now()||+new Date} -function ua(a){var b=Date.now()||+new Date,c=a.Qd;a.va&&(c=Math.round(c*a.va/a.nb));c-=b-a.Td;if(b-=a.fc)a.W=Math.round(a.la/(100*b))/10,864E5<=b&&ma(a);0>c?c=0:a.speed==a.xd?a.W<=a.Qa&&(c=0):a.speed==a.oa&&(c=0);a.pb+=a.va;return c} -function P(a){if(ja(a,!0)){a.R||(ma(a),a.G&&a.G.start(),a.R=!0,a.o.run&&(a.o.run.innerHTML="Halt"),a.da());ta(a);try{do{a.step(a.Sa);var b=a.X-a.B;a.la+=b;a.va+=b;a.X=a.B=0;a.ta-=a.Sa;0>=a.ta&&(a.ta+=a.hc,a.kb());a.sa-=a.Sa;0>=a.sa&&(a.sa+=a.gc,ra(a));a.ja-=a.Sa;if(0>=a.ja){a.ja+=a.nb;break}}while(a.R)}catch(c){O(a);a.update();ja(a,!1);K(a,c.message);return}setTimeout(function(a){return function(){P(a)}}(a),ua(a))}else a.update(),a.G&&a.G.stop(a.fc,a.la)} -e.step=function(a){this.b=this.h=-1;this.X=this.B=a;do{a=this.a[this.d];this.d++;this.q[a].call(this);if(0<=this.b){if(this.b>=this.fb&&this.b<=this.gb)for(var b=this.b,c=this.d,d=0;d=this.Y[d][0]&&b<=this.Y[d][1]&&this.Y[d][3].call(this.Y[d][2],b,c);this.b=-1}else if(0<=this.h){if(this.h>=this.Ha&&this.h<=this.Ia)for(b=this.h,c=this.d,d=0;d=this.T[d][0]&&b<=this.T[d][1]&&this.T[d][3].call(this.T[d][2],b,c);this.h=-1}this.B-=this.Bd[a]}while(0>1)&128?64:0),b=b|(a.f&128?128:0);return a.u&60|b} -function S(a,b,c){var d=a.c&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.w=b^c;a.r=f;a.f=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.c=f;a.g=b+c+d&255;a.B--;return f&255}function T(a,b,c){var d=a.c&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.f=a.g=(a.c=b-c-d)&255;a.w=b^c;a.r=a.c;a.c^=256;a.B--;return f&255}function la(a){a.e=0;a.k=0;a.m=0;a.n=256;a.u=0;a.f=0;a.g=0;a.w=0;a.r=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.W=0;a.la=a.X=a.B=0} -e.ze=function(){this.d++;this.a[this.n--]=this.d>>8;this.n|=256;this.a[this.n--]=this.d&255;this.n|=256;this.u|=16;this.u=sa(this);this.a[this.n--]=this.u;this.n|=256;this.u&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.Tf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};e.Vf=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]}; -e.pe=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.Yf=function(){this.u=sa(this);this.a[this.n--]=this.u;this.n|=256};e.Sf=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};e.oe=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};e.Pf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]}; -e.me=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.ye=function(){this.d+=(this.f&128?0:(this.B--,this.a[this.d]<<24>>24))+1};e.Uf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};e.Wf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e|=this.a[this.b]}; -e.qe=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.Ce=function(){this.c=0};e.Rf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};e.Qf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e|=this.a[this.b]};e.ne=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255}; -e.qf=function(){this.b=this.d++;this.a[this.n--]=this.d>>8;this.n|=256;this.a[this.n--]=this.d&255;this.n|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.ie=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};e.ve=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.r=0;this.w=this.a[this.b]&64?128:0};e.ke=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]}; -e.dg=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.$f=function(){this.n=this.n+1&255|256;this.u=this.a[this.n];this.c=this.u&1?256:0;this.g=this.u&2?0:1;this.f=this.u&128;this.r=0;this.w=this.u&64?128:0};e.he=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]}; -e.cg=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};e.ue=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.r=0;this.w=this.a[this.b]&64?128:0};e.ee=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]}; -e.ag=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.we=function(){this.d+=(this.f&128?(this.B--,this.a[this.d]<<24>>24):0)+1};e.je=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};e.le=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e&=this.a[this.b]}; -e.eg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.ug=function(){this.c=256};e.ge=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};e.fe=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e&=this.a[this.b]}; -e.bg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.kg=function(){this.n=this.n+1&255|256;this.u=this.a[this.n];this.c=this.u&1?256:0;this.g=this.u&2?0:1;this.f=this.u&128;this.r=0;this.w=this.u&64?128:0;this.n=this.n+2&255|256;this.d=this.a[this.n-1|256]|this.a[this.n]<<8}; -e.df=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};e.ff=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};e.Mf=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};e.Xf=function(){this.a[this.n--]=this.e;this.n|=256};e.cf=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]}; -e.Lf=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};e.pf=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.$e=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};e.Jf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; -e.Ae=function(){this.d+=((this.r&255^this.w^this.r>>1)&128?0:(this.B--,this.a[this.d]<<24>>24))+1};e.ef=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};e.gf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e^=this.a[this.b]};e.Nf=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; -e.Ee=function(){this.u&=251};e.bf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};e.af=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e^=this.a[this.b]};e.Kf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; -e.lg=function(){this.n=this.n+2&255|256;this.d=(this.a[this.n-1|256]|this.a[this.n]<<8)+1};e.uc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.ae=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=S(this,this.e,this.a[this.b])}; -e.wc=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.ce=function(){this.b=this.a[this.d++];this.e=S(this,this.e,this.a[this.b])};e.ig=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.Zf=function(){this.n=this.n+1&255|256;this.f=this.g=this.e=this.a[this.n]}; -e.tc=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.$d=function(){this.b=this.d++;this.e=S(this,this.e,this.a[this.b])};e.hg=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};e.of=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8}; -e.qc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Xd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=S(this,this.e,this.a[this.b])};e.fg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255}; -e.Be=function(){this.d+=((this.r&255^this.w^this.r>>1)&128?(this.B--,this.a[this.d]<<24>>24):0)+1};e.vc=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.be=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.e=S(this,this.e,this.a[this.b])}; -e.xc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.de=function(){this.b=this.a[this.d++]+this.k&255;this.e=S(this,this.e,this.a[this.b])};e.jg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.wg=function(){this.u|=4}; -e.sc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Zd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=S(this,this.e,this.a[this.b])};e.rc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255}; -e.Yd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=S(this,this.e,this.a[this.b])};e.gg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.Ag=function(){this.h=this.a[this.d++]+this.k&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};e.Ig=function(){this.h=this.a[this.d++];this.a[this.h]=this.m}; -e.Cg=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};e.Fg=function(){this.h=this.a[this.d++];this.a[this.h]=this.k};e.Ze=function(){this.f=this.g=this.m=this.m-1&255};e.Og=function(){this.f=this.g=this.e=this.k};e.Hg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.m};e.xg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};e.Eg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.k}; -e.re=function(){this.d+=(this.c&256?0:(this.B--,this.a[this.d]<<24>>24))+1};e.Bg=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.m;this.a[this.h]=this.e};e.Jg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.m};e.Dg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.e};e.Gg=function(){this.h=this.a[this.d++]+this.m&255;this.a[this.h]=this.k};e.Qg=function(){this.f=this.g=this.e=this.m}; -e.zg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.a[this.h]=this.e};e.Pg=function(){this.n=this.k|256};e.yg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.a[this.h]=this.e};e.Gf=function(){this.b=this.d++;this.f=this.g=this.m=this.a[this.b]};e.vf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};e.Bf=function(){this.b=this.d++;this.f=this.g=this.k=this.a[this.b]}; -e.Hf=function(){this.b=this.a[this.d++];this.f=this.g=this.m=this.a[this.b]};e.xf=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};e.Cf=function(){this.b=this.a[this.d++];this.f=this.g=this.k=this.a[this.b]};e.Mg=function(){this.f=this.g=this.m=this.e};e.uf=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};e.Lg=function(){this.f=this.g=this.k=this.e};e.Ef=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.m=this.a[this.b]}; -e.rf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};e.zf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.k=this.a[this.b]};e.se=function(){this.d+=(this.c&256?(this.B--,this.a[this.d]<<24>>24):0)+1};e.wf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};e.If=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.m=this.a[this.b]}; -e.yf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e=this.a[this.b]};e.Df=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.k=this.a[this.b]};e.Fe=function(){this.w=this.r=0};e.tf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};e.Ng=function(){this.f=this.g=this.k=this.n&255};e.Ff=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.m=this.a[this.b]}; -e.sf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e=this.a[this.b]};e.Af=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.k=this.a[this.b]};e.Se=function(){this.b=this.d++;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Ke=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256}; -e.Te=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Me=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.We=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.nf=function(){this.f=this.g=this.m=this.m+1&255};e.Je=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ye=function(){this.f=this.g=this.k=this.k-1&255}; -e.Re=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Ge=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ue=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.xe=function(){this.d+=(this.g&255?(this.B--,this.a[this.d]<<24>>24):0)+1}; -e.Le=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ne=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Xe=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255}; -e.De=function(){this.u&=-9;this.q[97]=this.uc;this.q[101]=this.wc;this.q[105]=this.tc;this.q[109]=this.qc;this.q[113]=this.vc;this.q[117]=this.xc;this.q[121]=this.sc;this.q[125]=this.rc;this.q[225]=this.Cc;this.q[229]=this.Ec;this.q[233]=this.Bc;this.q[237]=this.yc;this.q[241]=this.Dc;this.q[245]=this.Fc;this.q[249]=this.Ac;this.q[253]=this.zc};e.Ie=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256}; -e.He=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ve=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.Pe=function(){this.b=this.d++;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256}; -e.Cc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.qg=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=T(this,this.e,this.a[this.b])};e.Qe=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256}; -e.Ec=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.sg=function(){this.b=this.a[this.d++];this.e=T(this,this.e,this.a[this.b])};e.kf=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.mf=function(){this.f=this.g=this.k=this.k+1&255}; -e.Bc=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.pg=function(){this.b=this.d++;this.e=T(this,this.e,this.a[this.b])};e.Of=function(){};e.Oe=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256}; -e.yc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.mg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=T(this,this.e,this.a[this.b])};e.hf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.te=function(){this.d+=(this.g&255?0:(this.B--,this.a[this.d]<<24>>24))+1}; -e.Dc=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.rg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.e=T(this,this.e,this.a[this.b])}; -e.Fc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.tg=function(){this.b=this.a[this.d++]+this.k&255;this.e=T(this,this.e,this.a[this.b])};e.lf=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255}; -e.vg=function(){this.u|=8;this.q[97]=this.ae;this.q[101]=this.ce;this.q[105]=this.$d;this.q[109]=this.Xd;this.q[113]=this.be;this.q[117]=this.de;this.q[121]=this.Zd;this.q[125]=this.Yd;this.q[225]=this.qg;this.q[229]=this.sg;this.q[233]=this.pg;this.q[237]=this.mg;this.q[241]=this.rg;this.q[245]=this.tg;this.q[249]=this.og;this.q[253]=this.ng}; -e.Ac=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.og=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=T(this,this.e,this.a[this.b])}; -e.zc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.ng=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=T(this,this.e,this.a[this.b])};e.jf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255}; -e.Kg=function(){var a;a=this.a[this.d++];switch(a){case this.vd:this.t("HALT");O(this);break;case this.wd:a=this.d;for(var b="";a=a.pa?a.bb:a.speed+1,!0)}}(this),a=!0}return a}; +e.Q=function(a,b){this.a=a;(this.pc=b)?r("unsupported CPU address buffer offset ("+this.pc+")"):this.K()};e.T=function(a,b){if(a&&!this.m.B){this.H=b;var c=M(b,"video");c&&(this.lb=function(a){return function(){na(a)}}(c),this.ea=function(a){return function(){a.ea()}}(c));this.m.B=!0;this.reset(!0);this.update()}};function oa(a,b,c,d,f){0>pa(a.Z,b,c,d,f)&&(a.gb>b&&(a.gb=b),a.hbpa(a.U,b,c,d,f)&&(a.Ja>b&&(a.Ja=b),a.Kaa.bb&&a.X&&(d=a.X);d>a.Ra&&a.speed=a.wa&&qa(a,!0);a.xa=0;a.Ud=Date.now()||+new Date} +function ua(a){var b=Date.now()||+new Date,c=a.Rd;a.xa&&(c=Math.round(c*a.xa/a.ob));c-=b-a.Ud;if(b-=a.gc)a.X=Math.round(a.ma/(100*b))/10,864E5<=b&&ma(a);0>c?c=0:a.speed==a.yd?a.X<=a.Ra&&(c=0):a.speed==a.pa&&(c=0);a.qb+=a.xa;return c} +function P(a){if(ja(a,!0)){a.m.S||(ma(a),a.H&&a.H.start(),a.m.S=!0,a.p.run&&(a.p.run.innerHTML="Halt"),a.ea());ta(a);try{do{a.step(a.Ta);var b=a.Y-a.C;a.ma+=b;a.xa+=b;a.Y=a.C=0;a.va-=a.Ta;0>=a.va&&(a.va+=a.ic,a.lb());a.ua-=a.Ta;0>=a.ua&&(a.ua+=a.hc,ra(a));a.ka-=a.Ta;if(0>=a.ka){a.ka+=a.ob;break}}while(a.m.S)}catch(c){O(a);a.update();ja(a,!1);K(a,c.message);return}setTimeout(function(a){return function(){P(a)}}(a),ua(a))}else a.update(),a.H&&a.H.stop(a.gc,a.ma)} +e.step=function(a){this.b=this.h=-1;this.Y=this.C=a;do{a=this.a[this.d];this.d++;this.r[a].call(this);if(0<=this.b){if(this.b>=this.gb&&this.b<=this.hb)for(var b=this.b,c=this.d,d=0;d=this.Z[d][0]&&b<=this.Z[d][1]&&this.Z[d][3].call(this.Z[d][2],b,c);this.b=-1}else if(0<=this.h){if(this.h>=this.Ja&&this.h<=this.Ka)for(b=this.h,c=this.d,d=0;d=this.U[d][0]&&b<=this.U[d][1]&&this.U[d][3].call(this.U[d][2],b,c);this.h=-1}this.C-=this.Cd[a]}while(0>1)&128?64:0),b=b|(a.f&128?128:0);return a.v&60|b} +function S(a,b,c){var d=a.c&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.A=b^c;a.s=f;a.f=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.c=f;a.g=b+c+d&255;a.C--;return f&255}function T(a,b,c){var d=a.c&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.f=a.g=(a.c=b-c-d)&255;a.A=b^c;a.s=a.c;a.c^=256;a.C--;return f&255}function la(a){a.e=0;a.k=0;a.n=0;a.o=256;a.v=0;a.f=0;a.g=0;a.A=0;a.s=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.X=0;a.ma=a.Y=a.C=0} +e.Ae=function(){this.d++;this.a[this.o--]=this.d>>8;this.o|=256;this.a[this.o--]=this.d&255;this.o|=256;this.v|=16;this.v=sa(this);this.a[this.o--]=this.v;this.o|=256;this.v&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.Uf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};e.Wf=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]}; +e.qe=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.Zf=function(){this.v=sa(this);this.a[this.o--]=this.v;this.o|=256};e.Tf=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};e.pe=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};e.Qf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]}; +e.ne=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.ze=function(){this.d+=(this.f&128?0:(this.C--,this.a[this.d]<<24>>24))+1};e.Vf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.f=this.g=this.e|=this.a[this.b]};e.Xf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e|=this.a[this.b]}; +e.re=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.De=function(){this.c=0};e.Sf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e|=this.a[this.b]};e.Rf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e|=this.a[this.b]};e.oe=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255}; +e.rf=function(){this.b=this.d++;this.a[this.o--]=this.d>>8;this.o|=256;this.a[this.o--]=this.d&255;this.o|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.je=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};e.we=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.s=0;this.A=this.a[this.b]&64?128:0};e.le=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]}; +e.eg=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.ag=function(){this.o=this.o+1&255|256;this.v=this.a[this.o];this.c=this.v&1?256:0;this.g=this.v&2?0:1;this.f=this.v&128;this.s=0;this.A=this.v&64?128:0};e.ie=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]}; +e.dg=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};e.ve=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.s=0;this.A=this.a[this.b]&64?128:0};e.fe=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]}; +e.bg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.xe=function(){this.d+=(this.f&128?(this.C--,this.a[this.d]<<24>>24):0)+1};e.ke=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.f=this.g=this.e&=this.a[this.b]};e.me=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e&=this.a[this.b]}; +e.fg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.vg=function(){this.c=256};e.he=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e&=this.a[this.b]};e.ge=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e&=this.a[this.b]}; +e.cg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.lg=function(){this.o=this.o+1&255|256;this.v=this.a[this.o];this.c=this.v&1?256:0;this.g=this.v&2?0:1;this.f=this.v&128;this.s=0;this.A=this.v&64?128:0;this.o=this.o+2&255|256;this.d=this.a[this.o-1|256]|this.a[this.o]<<8}; +e.ef=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};e.gf=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};e.Nf=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};e.Yf=function(){this.a[this.o--]=this.e;this.o|=256};e.df=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]}; +e.Mf=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};e.qf=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.af=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};e.Kf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; +e.Be=function(){this.d+=((this.s&255^this.A^this.s>>1)&128?0:(this.C--,this.a[this.d]<<24>>24))+1};e.ff=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.f=this.g=this.e^=this.a[this.b]};e.hf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e^=this.a[this.b]};e.Of=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; +e.Fe=function(){this.v&=251};e.cf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e^=this.a[this.b]};e.bf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e^=this.a[this.b]};e.Lf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255}; +e.mg=function(){this.o=this.o+2&255|256;this.d=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.vc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.be=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=S(this,this.e,this.a[this.b])}; +e.xc=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.de=function(){this.b=this.a[this.d++];this.e=S(this,this.e,this.a[this.b])};e.jg=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.$f=function(){this.o=this.o+1&255|256;this.f=this.g=this.e=this.a[this.o]}; +e.uc=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.ae=function(){this.b=this.d++;this.e=S(this,this.e,this.a[this.b])};e.ig=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};e.pf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8}; +e.rc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.Yd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=S(this,this.e,this.a[this.b])};e.gg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255}; +e.Ce=function(){this.d+=((this.s&255^this.A^this.s>>1)&128?(this.C--,this.a[this.d]<<24>>24):0)+1};e.wc=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.ce=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.e=S(this,this.e,this.a[this.b])}; +e.yc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.ee=function(){this.b=this.a[this.d++]+this.k&255;this.e=S(this,this.e,this.a[this.b])};e.kg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.xg=function(){this.v|=4}; +e.tc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255};e.$d=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=S(this,this.e,this.a[this.b])};e.sc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255}; +e.Zd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=S(this,this.e,this.a[this.b])};e.hg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.Bg=function(){this.h=this.a[this.d++]+this.k&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};e.Jg=function(){this.h=this.a[this.d++];this.a[this.h]=this.n}; +e.Dg=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};e.Gg=function(){this.h=this.a[this.d++];this.a[this.h]=this.k};e.$e=function(){this.f=this.g=this.n=this.n-1&255};e.Pg=function(){this.f=this.g=this.e=this.k};e.Ig=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.n};e.yg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};e.Fg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.k}; +e.se=function(){this.d+=(this.c&256?0:(this.C--,this.a[this.d]<<24>>24))+1};e.Cg=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.n;this.a[this.h]=this.e};e.Kg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.n};e.Eg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.e};e.Hg=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.k};e.Rg=function(){this.f=this.g=this.e=this.n}; +e.Ag=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.a[this.h]=this.e};e.Qg=function(){this.o=this.k|256};e.zg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.a[this.h]=this.e};e.Hf=function(){this.b=this.d++;this.f=this.g=this.n=this.a[this.b]};e.wf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};e.Cf=function(){this.b=this.d++;this.f=this.g=this.k=this.a[this.b]}; +e.If=function(){this.b=this.a[this.d++];this.f=this.g=this.n=this.a[this.b]};e.yf=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};e.Df=function(){this.b=this.a[this.d++];this.f=this.g=this.k=this.a[this.b]};e.Ng=function(){this.f=this.g=this.n=this.e};e.vf=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};e.Mg=function(){this.f=this.g=this.k=this.e};e.Ff=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.n=this.a[this.b]}; +e.sf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};e.Af=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.k=this.a[this.b]};e.te=function(){this.d+=(this.c&256?(this.C--,this.a[this.d]<<24>>24):0)+1};e.xf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.f=this.g=this.e=this.a[this.b]};e.Jf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.n=this.a[this.b]}; +e.zf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e=this.a[this.b]};e.Ef=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.k=this.a[this.b]};e.Ge=function(){this.A=this.s=0};e.uf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e=this.a[this.b]};e.Og=function(){this.f=this.g=this.k=this.o&255};e.Gf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.n=this.a[this.b]}; +e.tf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e=this.a[this.b]};e.Bf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.k=this.a[this.b]};e.Te=function(){this.b=this.d++;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256};e.Le=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256}; +e.Ue=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256};e.Ne=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Xe=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.of=function(){this.f=this.g=this.n=this.n+1&255};e.Ke=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ze=function(){this.f=this.g=this.k=this.k-1&255}; +e.Se=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256};e.He=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ve=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.ye=function(){this.d+=(this.g&255?(this.C--,this.a[this.d]<<24>>24):0)+1}; +e.Me=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Oe=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ye=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255}; +e.Ee=function(){this.v&=-9;this.r[97]=this.vc;this.r[101]=this.xc;this.r[105]=this.uc;this.r[109]=this.rc;this.r[113]=this.wc;this.r[117]=this.yc;this.r[121]=this.tc;this.r[125]=this.sc;this.r[225]=this.Dc;this.r[229]=this.Fc;this.r[233]=this.Cc;this.r[237]=this.zc;this.r[241]=this.Ec;this.r[245]=this.Gc;this.r[249]=this.Bc;this.r[253]=this.Ac};e.Je=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256}; +e.Ie=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.We=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.Qe=function(){this.b=this.d++;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256}; +e.Dc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.rg=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=T(this,this.e,this.a[this.b])};e.Re=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256}; +e.Fc=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.tg=function(){this.b=this.a[this.d++];this.e=T(this,this.e,this.a[this.b])};e.lf=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.nf=function(){this.f=this.g=this.k=this.k+1&255}; +e.Cc=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.qg=function(){this.b=this.d++;this.e=T(this,this.e,this.a[this.b])};e.Pf=function(){};e.Pe=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256}; +e.zc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.ng=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=T(this,this.e,this.a[this.b])};e.jf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.ue=function(){this.d+=(this.g&255?0:(this.C--,this.a[this.d]<<24>>24))+1}; +e.Ec=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.sg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.n;this.e=T(this,this.e,this.a[this.b])}; +e.Gc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.ug=function(){this.b=this.a[this.d++]+this.k&255;this.e=T(this,this.e,this.a[this.b])};e.mf=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255}; +e.wg=function(){this.v|=8;this.r[97]=this.be;this.r[101]=this.de;this.r[105]=this.ae;this.r[109]=this.Yd;this.r[113]=this.ce;this.r[117]=this.ee;this.r[121]=this.$d;this.r[125]=this.Zd;this.r[225]=this.rg;this.r[229]=this.tg;this.r[233]=this.qg;this.r[237]=this.ng;this.r[241]=this.sg;this.r[245]=this.ug;this.r[249]=this.pg;this.r[253]=this.og}; +e.Bc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.pg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=T(this,this.e,this.a[this.b])}; +e.Ac=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.A=this.e^this.a[this.b];this.s=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.og=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=T(this,this.e,this.a[this.b])};e.kf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255}; +e.Lg=function(){var a;a=this.a[this.d++];switch(a){case this.wd:this.u("HALT");O(this);break;case this.xd:a=this.d;for(var b="";a=c&&(c+=32);a.ca=a.ca.substr(1);V(a,c)}0=b&&(b+=32),Ba(a,b),W(a,b,!0,a.Pb)&&(a.s.speed==a.s.oa?W(a,b,!1,a.td):(c=!1,a.Q[b]&&(clearTimeout(a.Q[b]),c=!0),c=Aa(a,c),a.Q[a.$=b]=setTimeout(function(a){return function(){W(a,b,!1,a.ud)}}(a),c)),c=!0));return c} -function W(a,b,c,d){var f=!1;c||(a.Q[b]=null,a.$==b&&(a.$=0));var g=0,k=a.j[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.Ea),k=a.j[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.F[b]|=1<d||d>=this.Ud}a&&(d=this.bb.shift(),void 0!==d&&(this.Vb=d),this.sb=0,this.ic=c);for(d=c=0;8>d;d++)this.Wb&1<d[g][0]&&(k=d[g][0]),h=a.cc&&(d-=a.cc,d=c&&(c+=32);a.da=a.da.substr(1);V(a,c)}0=b&&(b+=32),Ba(a,b),W(a,b,!0,a.Qb)&&(a.t.speed==a.t.pa?W(a,b,!1,a.ud):(c=!1,a.R[b]&&(clearTimeout(a.R[b]),c=!0),c=Aa(a,c),a.R[a.aa=b]=setTimeout(function(a){return function(){W(a,b,!1,a.vd)}}(a),c)),c=!0));return c} +function W(a,b,c,d){var f=!1;c||(a.R[b]=null,a.aa==b&&(a.aa=0));var g=0,k=a.j[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.Ga),k=a.j[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.G[b]|=1<d||d>=this.Vd}a&&(d=this.cb.shift(),void 0!==d&&(this.Wb=d),this.tb=0,this.jc=c);for(d=c=0;8>d;d++)this.Xb&1<d[g][0]&&(k=d[g][0]),h=a.dc&&(d-=a.dc,dMissing <canvas> support; try a new web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.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,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Da(d,f,k,g);g.onload=function(a){return function(){a.J()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Ga(a){z.call(this,"C1PSerialPort",a);this.A=!1;this.ac=a.demo;this.zd=0;this.yd=1;this.reset()}E(Ga);e=Ga.prototype;e.reset=function(){2!=this.Z&&(this.Ja=this.hb=0,this.ma='10 PRINT "HELLO OSI #'+fa(this)+'"\n',this.Z=this.Pa=0)};e.start=function(){this.C&&this.ac&&(X(this.C," C\n\n",3E3),setTimeout(function(a){return function(){a.Z=1;X(a.C,"LOAD\n")}}(this),12E3));this.ac=!1}; -e.H=function(a,b,c,d){switch(c){case "listSerial":return this.o[c]=d,!0;case "loadSerial":return this.o[c]=d,d.onclick=function(a){return function(){a.o.listSerial&&q(a.o.listSerial.value,a,a.Nd)}}(this),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.ub=b;this.Ed=c-b+1;this.pc=this.ub+this.Ed;if(this.s=d)oa(d,b,c,this,this.N),Q(d,b,c,this,this.L);this.J()};e.S=function(a,b){a&&!this.A&&(this.A=!0,this.G=b,this.C=M(b,"keyboard"))}; -e.Nd=function(a,b,c){b?(this.ma=b,this.Z=this.Pa=0,this.G&&this.C&&this.s.R?(this.t("auto-loading "+a),this.s.da(),"."!=this.ma.charAt(0)?(this.Z=1,X(this.C,"NEW\nLOAD\n")):(this.Z=2,this.G.reset(!0),X(this.C,"ML"))):this.t(a+" ready to load")):this.t(a+" load error ("+c+")")};e.N=function(a,b){void 0!==b&&(a&1?Ha(this):this.ma&&!this.Pa&&Ha(this))};e.L=function(){}; -function Ha(a){if(void 0!==a.ma){a.hb=0;a.Ja=0;if(a.Pa=--d.ka&&(0=d.mc&&(d.V=d.mc),0>d.V&&(d.V=0),d.ka= -20,a.aa.update(a.aa.p|a.$a),La(a))}this.p=c;a.Wa.p&a.ea&&Y(a,a.Ob,this)}}(a)};a.Wa={p:0,O:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c&~(a.Bb|a.Cb));Y(a,a.Lb,this);a.xa.update();a.Ic.update()}}(a)};a.Rg={p:0,O:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Db)==a.Db&&(a.ba.p=a.Tb|a.Rb|a.Qb),this.p=c);a.ba.update()}}(a)};a.ba={p:a.Tb|a.Rb|a.Qb,O:function(){},update:function(a){return function(c){void 0===c&&(c=a.ba.p);c&=~a.Sb;0<=a.D&&0<=a.M[a.D].ia&& -(c|=a.Sb);this.p=c;Y(a,a.qd,this)}}(a)};a.xb={p:0,O:function(a){return function(){Ma(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.p=c);Y(a,a.Mb,this)}}(a)};a.Sg={p:0,O:function(){},update:function(){return function(){}}(a)}} -e.H=function(a,b,c,d){switch(c){case "listDisk":return this.o[c]=d,!0;case "loadDisk":return this.o[c]=d,d.onclick=function(a){return function(){if(a.o.listDisk){var b=a.o.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.t("loading "+aa(b)+"...");q(c,a,a.Md)}}}(this),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.eb=b;if(this.s=d)oa(d,b,c,this,this.N),Q(d,b,c,this,this.L);this.J()};e.S=function(a){a&&!this.A&&(this.A=!0)}; -e.Md=function(a,b,c){if(c)this.t("disk load error ("+c+")");else{c=[];this.t("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.t("data error: "+d[0]);else if(this.M[0]){for(b=0;b=--d.la&&(0=d.nc&&(d.W=d.nc),0>d.W&&(d.W=0),d.la= +20,a.ba.update(a.ba.q|a.ab),La(a))}this.q=c;a.Xa.q&a.fa&&Y(a,a.Pb,this)}}(a)};a.Xa={q:0,P:function(){},update:function(a){return function(c){void 0!==c&&(this.q=c&~(a.Cb|a.Db));Y(a,a.Mb,this);a.za.update();a.Jc.update()}}(a)};a.Sg={q:0,P:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Eb)==a.Eb&&(a.ca.q=a.Ub|a.Sb|a.Rb),this.q=c);a.ca.update()}}(a)};a.ca={q:a.Ub|a.Sb|a.Rb,P:function(){},update:function(a){return function(c){void 0===c&&(c=a.ca.q);c&=~a.Tb;0<=a.F&&0<=a.N[a.F].ja&& +(c|=a.Tb);this.q=c;Y(a,a.rd,this)}}(a)};a.yb={q:0,P:function(a){return function(){Ma(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.q=c);Y(a,a.Nb,this)}}(a)};a.Tg={q:0,P:function(){},update:function(){return function(){}}(a)}} +e.I=function(a,b,c,d){switch(c){case "listDisk":return this.p[c]=d,!0;case "loadDisk":return this.p[c]=d,d.onclick=function(a){return function(){if(a.p.listDisk){var b=a.p.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.u("loading "+aa(b)+"...");q(c,a,a.Nd)}}}(this),!0}return!1};e.Q=function(a,b,c,d){this.a=a;this.fb=b;if(this.t=d)oa(d,b,c,this,this.O),Q(d,b,c,this,this.M);this.K()};e.T=function(a){a&&!this.m.B&&(this.m.B=!0)}; +e.Nd=function(a,b,c){if(c)this.u("disk load error ("+c+")");else{c=[];this.u("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.u("data error: "+d[0]);else if(this.N[0]){for(b=0;b>8&255);a.push(b&255)}function Na(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case a.Nb:a=a.Va.p&a.ea?a.aa:a.Hc;break;case a.Kb:a=a.Va;break;case a.Ob:a=a.Wa.p&a.ea?a.xa:a.Ic;break;case a.Lb:a=a.Wa;break;case a.nd:a=c?a.Rg:a.ba;break;case a.Mb:a=a.xb;break;default:a=a.Sg}return a}e.N=function(a,b){void 0!==b&&Pa(this,a-this.eb,!1).O()};e.L=function(a,b){if(void 0!==b){var c=this.s.N(a);Pa(this,a-this.eb,!0).update(c)}}; -function Ka(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.ld||(d|=2),a.aa.p&a.Gb||(d|=1));a.D!=d&&(a.D=d,a.ba.update())}function La(a){0<=a.D&&(a.M[a.D].ia=-1,a.xb.update(255),a.ba.update())}function Ma(a){var b=null;if(0<=a.D){var b=a.M[a.D],c=b.Fa[b.V];void 0!==c&&(0<=b.ia&&b.ia");b&&b.S(!0,a)} -w(function(){for(var a=I(window.document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){r(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.P&&f.P(k,h,l,g.cpu[0]);h=new $(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.jb){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;db?b&=3:32>b&&(b&=17);switch(b){case a.Ob:a=a.Wa.q&a.fa?a.ba:a.Ic;break;case a.Lb:a=a.Wa;break;case a.Pb:a=a.Xa.q&a.fa?a.za:a.Jc;break;case a.Mb:a=a.Xa;break;case a.od:a=c?a.Sg:a.ca;break;case a.Nb:a=a.yb;break;default:a=a.Tg}return a}e.O=function(a,b){void 0!==b&&Pa(this,a-this.fb,!1).P()};e.M=function(a,b){if(void 0!==b){var c=this.t.O(a);Pa(this,a-this.fb,!0).update(c)}}; +function Ka(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.md||(d|=2),a.ba.q&a.Hb||(d|=1));a.F!=d&&(a.F=d,a.ca.update())}function La(a){0<=a.F&&(a.N[a.F].ja=-1,a.yb.update(255),a.ca.update())}function Ma(a){var b=null;if(0<=a.F){var b=a.N[a.F],c=b.Ha[b.W];void 0!==c&&(0<=b.ja&&b.ja");b&&b.T(!0,a)} +w(function(){for(var a=I(window.document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){r(' definition must appear first in the specification'); +break}if(f=F("debugger",d.id))g["debugger"]=[f],f.Q&&f.Q(k,h,l,g.cpu[0]);h=new $(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.kb){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.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?(f||(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(C){h= null,a=C.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");q(f,null,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, diff --git a/versions/pcjs/1.15.8/pc-dbg.js b/versions/pcjs/1.15.8/pc-dbg.js index c31945353..ed099a137 100644 --- a/versions/pcjs/1.15.8/pc-dbg.js +++ b/versions/pcjs/1.15.8/pc-dbg.js @@ -9,96 +9,96 @@ function va(){if(void 0===ra){var a;try{window.localStorage.setItem("PCjs.localS function ya(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 za(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=this.$f?12:14;this.ec=1<>2;this.eb=this.ec-1;this.Tg=(this.ve+this.ec)/this.ec|0;this.ze=this.Tg-1;this.od=[];this.pd=[];this.Wf=this.Xf=!1;this.Di();this.Qa()}A(y,fb); -fb.prototype.Di=function(){this.Ca=Array(this.Tg);for(var a=0;a>a.pb;0>this.pb;0>a.pb;0>a.pb].tg(b&a.eb)} -function nb(a,b){var c=b&a.eb,d=(b&a.Fb)>>a.pb;return c!=a.eb?a.Ca[d].Gj(c):a.Ca[d++].tg(c)|a.Ca[d&a.ze].tg(0)<<8}function ob(a,b,c){a.Ca[(b&a.Fb)>>a.pb].Ag(b&a.eb,c&255)}function pb(a,b,c){var d=b&a.eb;b=(b&a.Fb)>>a.pb;d!=a.eb?a.Ca[b].Pj(d,c&65535):(a.Ca[b++].Ag(d,c&255),a.Ca[b&a.ze].Ag(0,c>>8&255))} -function qb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Vo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.sa[b]>>>a;return 24>a?c&65535:c&255|(this.sa[b+1]&255)<<8},cp:function(a,b){var c=a>>2,d=(a&3)<< -3;this.sa[c]=this.sa[c]&~(255<>2,d=(a&3)<<3;24>d?this.sa[c]=this.sa[c]&~(65535<>8);this.jb=!0},So:function(a){Db(this.ba,this.Ud+a);return this.tg(a)},Uo:function(a){Db(this.ba,this.Ud+a)||Db(this.ba,this.Ud+a+1);return this.Gj(a)},bp:function(a,b){Eb(this.ba,this.Ud+a);this.Ag(a,b)},dp:function(a,b){Eb(this.ba,this.Ud+a)||Eb(this.ba,this.Ud+a+1);this.Pj(a,b)},save:function(){return this.ga? -null:this.sa},restore:function(a){return this.ga?null==a:a&&this.hm==a.length<<2?(this.sa=a,this.jb=!0):!1},Re:function(a,b){a||(a=[]);void 0===b&&(b=!0);Fb(this,a,b);Gb(this,a,b)},Td:function(a,b){b?0===this.fk++&&Gb(this,Hb):0===this.ek++&&Fb(this,Hb)}};function Ib(a,b){b?0===--a.fk&&(a.Bc=a.hh?a.vf:a.Ag,a.Xl=a.hh?a.vf:a.Pj):0===--a.ek&&(a.rc=a.tg,a.Kl=a.Gj)}function gb(a,b,c,d,e){a.T=b;a.ba=c;a.Ud=d;a.ek=a.fk=0;a.ba&&Jb(a.ba,d,e)} -function Gb(a,b,c){a.Bc=b[2]&&!a.hh?b[2]:a.vf;a.Xl=b[3]&&!a.hh?b[3]:a.vf;c&&(a.Ag=b[2]?b[2]:a.vf,a.Pj=b[3]?b[3]:a.vf)}function Fb(a,b,c){a.rc=b[0]?b[0]:a.Fh;a.Kl=b[1]?b[1]:a.Fh;c&&(a.tg=b[0]?b[0]:a.Fh,a.Gj=b[1]?b[1]:a.Fh)}var Bb=[hb.prototype.To,hb.prototype.Vo,hb.prototype.cp,hb.prototype.ep],Hb=[hb.prototype.So,hb.prototype.Uo,hb.prototype.bp,hb.prototype.dp]; -function Kb(a,b){y.call(this,"CPU",a,Kb);var c=a.multiplier||1;this.Ed=a.cycles||b;this.Dd=c;this.sh=Math.round(this.Ed/1E4)/100;this.He=this.sh*this.Dd;this.Kb=this.Jb=!1;this.ni=a.autoStart;c=Pa.autostart;void 0!==c&&(this.ni="true"==c?!0:"false"==c?!1:null);this.bf=!1;this.bg=this.lf=0;this.dg=a.csStart;this.kf=a.csInterval;this.mf=a.csStop;var d=this;this.Tn=function(){d.Oe()};this.Qa()}A(y,Kb);k=Kb.prototype; -k.oc=function(a,b,c,d){this.oa=b;this.ba=d;this.Fa=a;var e=db(a,"Video");e&&(this.ii=function(){Lb(e)},this.Kd=function(){e.Kd()});this.ma=db(a,"ChipSet");this.Qa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Xb=function(a,b){if(!b){if(a&&this.restore){Mb(this);if(!this.restore(a))return!1;Ob(this)}else this.reset();this.ba?this.ba.yn():this.da("No debugger detected")}this.Jb=!0;!Pb(this)&&this.ba&&Qb(this.ba);Rb(this);return!0}; -k.Wb=function(a){this.Jb=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.ni||null===a.ni&&!a.ba&&void 0===a.va.run?(a.Oe(),!0):!1}k.Kd=function(){};k.sk=function(){return 0};function Ob(a){void 0===a.dg&&(a.dg=0);void 0===a.kf&&(a.kf=-1);void 0===a.mf&&(a.mf=-1);a.bf=0<=a.dg&&0=a.lf&&(a.lf+=a.kf,c=!0);0<=a.mf&&a.mf<=F(a)&&(a.kf=a.mf=-1,Ob(a),a.zb(),c=!0);c&&a.da(F(a)+" cycles: checksum="+q(a.bg))}}function G(a,b,c,d){void 0!==a.va[b]&&(void 0===d&&(d=4),void 0===c&&(bb(a,"Register "+b+" is invalid"),a.zb()),c=q(c,d),a.va[b].innerHTML!=c&&(a.va[b].innerHTML=c))}k.Yg=function(){};k.ii=function(){}; -k.wb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.va[c]=d;d.onclick=function(){e.Kb?e.zb(!0):e.Oe(!0)};a=!0;break;case "reset":this.va[c]=d;d.onclick=function(){e.Fa&&Tb(e.Fa)};a=!0;break;case "speed":this.va[c]=d;a=!0;break;case "setSpeed":this.va[c]=d,d.onclick=function(){Ub(e,e.Dd<<1,!0)},d.innerHTML=this.He.toFixed(2)+"Mhz",a=!0}return a};function Vb(a,b,c){a.Le+=b;c&&(a.Mc=a.A=0)} -function Wb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.sh&&(c=Math.round(c/a.Dd));return c}function Mb(a){a.hd=0;a.vh=1;a.Le=a.le=a.Mc=a.A=0;Ob(a);Ub(a,1)} -function Ub(a,b,c){void 0!==b&&(0.8>a.hd/a.He&&(b=1),a.Dd=b,b=a.sh*a.Dd,a.He!=b&&(a.He=b,b=a.He.toFixed(2)+"Mhz",a.va.setSpeed&&(a.va.setSpeed.innerHTML=b),a.da("target speed: "+b)),c&&a.Kd());Vb(a,a.le);a.le=0;a.jf=oa();a.Ie=0;Wb(a)} -k.Oe=function(a){if(Za(this,!0)){this.Kb||(Ub(this),this.Fa&&this.Fa.start(this.jf,F(this)),this.Kb=!0,this.ma&&Xb(this.ma),this.va.run&&(this.va.run.innerHTML="Halt"),a&&this.Kd());this.zj>=this.Ed&&Wb(this,!0);this.gg=0;this.th=oa();this.Ie&&(a=this.th-this.Ie,a>this.zk&&(this.jf+=a,this.jf>this.th&&(this.jf=this.th)));try{do{this.uf(this.bf?1:Math.round(this.Mn/this.vh));var b=this.Mc-this.A;this.le+=b;this.gg+=b;Vb(this,0,!0);Sb(this,b);this.fg-=b;0>=this.fg&&(this.fg+=this.Dk,this.ii());this.eg-= -b;0>=this.eg&&(this.eg+=this.Ck,this.Yg());this.nf-=b;if(0>=this.nf){this.nf+=this.Ki;break}}while(this.Kb)}catch(c){this.zb();Rb(this);this.Fa&&this.Fa.stop(oa(),F(this));Za(this,!1);bb(this,c.message);return}b=setTimeout;a=this.Tn;this.Ie=oa();var d=this.zk;this.gg&&(d=Math.round(d*this.gg/this.Ki));var d=d-(this.Ie-this.th),e=this.Ie-this.jf;e&&(this.hd=Math.round(this.le/(10*e))/100,864E5<=e&&(this.Le=0,this.ma&&Yb(this.ma,!0),Ub(this)));if(0>d||this.hd=this.dg?12:14;this.ec=1<>2;this.gb=this.ec-1;this.Wg=(this.If+this.ec)/this.ec|0;this.Ce=this.Wg-1;this.rd=[];this.sd=[];this.$f=this.ag=!1;this.Fi();this.Ta()}A(y,fb); +fb.prototype.Fi=function(){this.Ea=Array(this.Wg);for(var a=0;a>a.rb;0>this.rb;0>a.rb;0>a.rb].wg(b&a.gb)} +function nb(a,b){var c=b&a.gb,d=(b&a.dd)>>a.rb;return c!=a.gb?a.Ea[d].Ij(c):a.Ea[d++].wg(c)|a.Ea[d&a.Ce].wg(0)<<8}function ob(a,b,c){a.Ea[(b&a.dd)>>a.rb].Dg(b&a.gb,c&255)}function pb(a,b,c){var d=b&a.gb;b=(b&a.dd)>>a.rb;d!=a.gb?a.Ea[b].Rj(d,c&65535):(a.Ea[b++].Dg(d,c&255),a.Ea[b&a.Ce].Dg(0,c>>8&255))} +function qb(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.va[b]>>>a;return 24>a?c&65535:c&255|(this.va[b+1]&255)<<8},fp:function(a,b){var c=a>>2,d=(a&3)<< +3;this.va[c]=this.va[c]&~(255<>2,d=(a&3)<<3;24>d?this.va[c]=this.va[c]&~(65535<>8);this.lb=!0},Vo:function(a){Db(this.ca,this.Xd+a);return this.wg(a)},Xo:function(a){Db(this.ca,this.Xd+a)||Db(this.ca,this.Xd+a+1);return this.Ij(a)},ep:function(a,b){Eb(this.ca,this.Xd+a);this.Dg(a,b)},gp:function(a,b){Eb(this.ca,this.Xd+a)||Eb(this.ca,this.Xd+a+1);this.Rj(a,b)},save:function(){return this.ha? +null:this.va},restore:function(a){return this.ha?null==a:a&&this.lm==a.length<<2?(this.va=a,this.lb=!0):!1},Ue:function(a,b){a||(a=[]);void 0===b&&(b=!0);Fb(this,a,b);Gb(this,a,b)},Wd:function(a,b){b?0===this.hk++&&Gb(this,Hb):0===this.gk++&&Fb(this,Hb)}};function Ib(a,b){b?0===--a.hk&&(a.Cc=a.kh?a.yf:a.Dg,a.am=a.kh?a.yf:a.Rj):0===--a.gk&&(a.rc=a.wg,a.Ol=a.Ij)}function gb(a,b,c,d,e){a.T=b;a.ca=c;a.Xd=d;a.gk=a.hk=0;a.ca&&Jb(a.ca,d,e)} +function Gb(a,b,c){a.Cc=b[2]&&!a.kh?b[2]:a.yf;a.am=b[3]&&!a.kh?b[3]:a.yf;c&&(a.Dg=b[2]?b[2]:a.yf,a.Rj=b[3]?b[3]:a.yf)}function Fb(a,b,c){a.rc=b[0]?b[0]:a.Ih;a.Ol=b[1]?b[1]:a.Ih;c&&(a.wg=b[0]?b[0]:a.Ih,a.Ij=b[1]?b[1]:a.Ih)}var Bb=[hb.prototype.Wo,hb.prototype.Yo,hb.prototype.fp,hb.prototype.hp],Hb=[hb.prototype.Vo,hb.prototype.Xo,hb.prototype.ep,hb.prototype.gp]; +function Kb(a,b){y.call(this,"CPU",a,Kb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Hd=c;this.ba.Gd=d;this.ba.vh=Math.round(this.ba.Hd/1E4)/100;this.ba.Ke=this.ba.vh*this.ba.Gd;this.pa.Kb=!1;this.pa.Lb=!1;this.pa.qi=a.autoStart;c=Pa.autostart;void 0!==c&&(this.pa.qi="true"==c?!0:"false"==c?!1:null);this.pa.ef=!1;this.ba.eg=this.ba.of=0;this.ba.gg=a.csStart;this.ba.nf=a.csInterval;this.ba.pf=a.csStop;var e=this;this.Wn=function(){e.Re()};this.Ta()}A(y,Kb);k=Kb.prototype; +k.oc=function(a,b,c,d){this.qa=b;this.ca=d;this.Ha=a;var e=db(a,"Video");e&&(this.li=function(){Lb(e)},this.Nd=function(){e.Nd()});this.na=db(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Xb=function(a,b){if(!b){if(a&&this.restore){Mb(this);if(!this.restore(a))return!1;Nb(this)}else this.reset();this.ca?this.ca.Cn():this.ea("No debugger detected")}this.pa.Kb=!0;!Pb(this)&&this.ca&&Qb(this.ca);Rb(this);return!0}; +k.Wb=function(a){this.pa.Kb=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.pa.qi||null===a.pa.qi&&!a.ca&&void 0===a.xa.run?(a.Re(),!0):!1}k.Nd=function(){};k.wk=function(){return 0};function Nb(a){void 0===a.ba.gg&&(a.ba.gg=0);void 0===a.ba.nf&&(a.ba.nf=-1);void 0===a.ba.pf&&(a.ba.pf=-1);a.pa.ef=0<=a.ba.gg&&0=a.ba.of&&(a.ba.of+=a.ba.nf,c=!0);0<=a.ba.pf&&a.ba.pf<=F(a)&&(a.ba.nf=a.ba.pf=-1,Nb(a),a.wb(),c=!0);c&&a.ea(F(a)+" cycles: checksum="+q(a.ba.eg))}}function G(a,b,c,d){void 0!==a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(bb(a,"Register "+b+" is invalid"),a.wb()),c=q(c,d),a.xa[b].innerHTML!=c&&(a.xa[b].innerHTML=c))}k.ah=function(){};k.li=function(){}; +k.zb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.xa[c]=d;d.onclick=function(){e.pa.Lb?e.wb(!0):e.Re(!0)};a=!0;break;case "reset":this.xa[c]=d;d.onclick=function(){e.Ha&&Tb(e.Ha)};a=!0;break;case "speed":this.xa[c]=d;a=!0;break;case "setSpeed":this.xa[c]=d,d.onclick=function(){Ub(e,e.ba.Gd<<1,!0)},d.innerHTML=this.ba.Ke.toFixed(2)+"Mhz",a=!0}return a};function Vb(a,b,c){a.Oe+=b;c&&(a.Oc=a.A=0)} +function Wb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ba.vh&&(c=Math.round(c/a.ba.Gd));return c}function Mb(a){a.ba.ld=0;a.yh=1;a.Oe=a.oe=a.Oc=a.A=0;Nb(a);Ub(a,1)} +function Ub(a,b,c){void 0!==b&&(0.8>a.ba.ld/a.ba.Ke&&(b=1),a.ba.Gd=b,b=a.ba.vh*a.ba.Gd,a.ba.Ke!=b&&(a.ba.Ke=b,b=a.ba.Ke.toFixed(2)+"Mhz",a.xa.setSpeed&&(a.xa.setSpeed.innerHTML=b),a.ea("target speed: "+b)),c&&a.Nd());Vb(a,a.oe);a.oe=0;a.ba.mf=oa();a.ba.Le=0;Wb(a)} +k.Re=function(a){if(Za(this,!0)){this.pa.Lb||(Ub(this),this.Ha&&this.Ha.start(this.ba.mf,F(this)),this.pa.Lb=!0,this.na&&Xb(this.na),this.xa.run&&(this.xa.run.innerHTML="Halt"),a&&this.Nd());this.ba.Ni>=this.ba.Hd&&Wb(this,!0);this.ba.jg=0;this.ba.wh=oa();this.ba.Le&&(a=this.ba.wh-this.ba.Le,a>this.ba.Dk&&(this.ba.mf+=a,this.ba.mf>this.ba.wh&&(this.ba.mf=this.ba.wh)));try{do{this.xf(this.pa.ef?1:Math.round(this.ba.Pn/this.yh));var b=this.Oc-this.A;this.oe+=b;this.ba.jg+=b;Vb(this,0,!0);Sb(this,b); +this.ba.ig-=b;0>=this.ba.ig&&(this.ba.ig+=this.ba.Hk,this.li());this.ba.hg-=b;0>=this.ba.hg&&(this.ba.hg+=this.ba.Gk,this.ah());this.ba.qf-=b;if(0>=this.ba.qf){this.ba.qf+=this.ba.Mi;break}}while(this.pa.Lb)}catch(c){this.wb();Rb(this);this.Ha&&this.Ha.stop(oa(),F(this));Za(this,!1);bb(this,c.message);return}b=setTimeout;a=this.Wn;this.ba.Le=oa();var d=this.ba.Dk;this.ba.jg&&(d=Math.round(d*this.ba.jg/this.ba.Mi));var d=d-(this.ba.Le-this.ba.wh),e=this.ba.Le-this.ba.mf;e&&(this.ba.ld=Math.round(this.oe/ +(10*e))/100,864E5<=e&&(this.Oe=0,this.na&&Yb(this.na,!0),Ub(this)));if(0>d||this.ba.ld>13,this.Ua=f):b&&768>=b?(this.pa=a,this.Lc=d,this.ab=e,this.Pb=(e&24576)>>13,this.Ua=f):-1}function gc(a){return this.Ua+a}function hc(a){return this.Ua+a}function kc(a,b,c){return a+b<=this.Lc?this.Ua+a:ec.call(this,0,0,c)} -function ec(a,b,c){c||lc.call(this.T,13,0);return-1}function nc(a,b,c){return a+b<=this.Lc?this.Ua+a:fc.call(this,0,0,c)}function fc(a,b,c){c||lc.call(this.T,13,0);return-1}$b.prototype.save=function(){return[this.pa,this.Ua,this.Lc,this.ab,this.Pb,this.xg]};$b.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.pa=a[0],this.Ua=a[1],this.Lc=a[2],this.ab=a[3],this.Pb=a[4],this.xg=a[5])}; -function ac(a,b){void 0===b&&(b=!!(a.T.Ac&1));b?(a.load=cc,a.cd=kc,a.fc=nc):(a.load=bc,a.cd=gc,a.fc=hc);return b} -function oc(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}Kb.call(this,a,b);this.Tj=61442;this.Dg=4;this.of=255;this.B=80286<=this.Ga?pc:qc;this.Sa=rc.slice();80186<=this.Ga&&(this.of=31,this.Sa[15]=sc,this.Sa[96]=tc,this.Sa[97]=uc,this.Sa[98]=vc,this.Sa[99]=sc,this.Sa[100]=sc,this.Sa[101]=sc,this.Sa[102]=sc,this.Sa[103]=sc,this.Sa[104]=wc,this.Sa[105]=xc,this.Sa[106]=yc,this.Sa[107]=zc,this.Sa[108]=Ac,this.Sa[109]=Bc,this.Sa[110]=Cc,this.Sa[111]= -Dc,this.Sa[192]=Ec,this.Sa[193]=Fc,this.Sa[200]=Gc,this.Sa[201]=Hc,this.Sa[241]=Ic,Kc[7]=Lc,Nc[7]=Lc,80286<=this.Ga&&(this.Tj=2,this.Dg=0,this.Sa[15]=Oc,this.Sa[99]=Pc,this.Sa[84]=Qc));this.Fg=[];this.Gg=[];this.Mc=this.Vg=0;this.eh=this.ri=!1;this.Ca=[];this.ve=this.Fb=this.pb=this.eb=this.ze=0;this.U=this.wm;this.V=this.xm;this.O=this.Fn;this.P=this.Gn;this.R=this.$o;this.S=this.ap;Rc(this)}A(Kb,oc); -var qc={Aj:4,aa:5,xa:6,ha:7,ia:8,Q:9,W:11,X:12,Je:4,Fk:60,Gk:83,Tb:3,qb:9,gc:16,zh:1,Kk:19,Mk:28,Ok:16,Nk:21,Lk:37,Ik:2,Ti:9,Jk:5,Hk:33,Vi:10,Ui:8,mg:3,lg:15,bl:51,cl:1,dl:2,el:4,al:32,Wi:15,gl:15,Ub:16,Vb:4,il:11,hl:18,fl:24,Bb:4,jl:2,Xi:16,kl:17,bj:18,ll:19,aj:5,cj:6,ql:2,pl:8,nl:9,ol:10,ml:10,dj:10,ej:10,Qk:80,Sk:144,Pk:86,Rk:154,Uk:101,Wk:165,Tk:107,Vk:171,sl:70,ul:113,rl:76,tl:124,Yk:80,$k:128,Xk:86,Zk:134,og:3,ng:16,jj:10,ij:8,vl:51,hc:8,wl:17,xl:36,pc:11,yl:16,pg:10,ke:2,Qi:18,Ri:7,Si:15,Yi:12, -Zi:7,$i:11,fj:18,gj:7,hj:15,kj:15,lj:7,mj:13,qj:11,rj:7,sj:8,zl:8,Cl:12,Al:18,Bl:17,Dl:15,oj:8,nj:20,pj:2,vj:3,qg:9,uj:5,tj:11,xj:4,wj:17,El:11},pc={Aj:0,aa:0,xa:0,ha:0,ia:0,Q:0,W:1,X:1,Je:3,Fk:14,Gk:16,Tb:2,qb:7,gc:7,zh:0,Kk:7,Mk:13,Ok:7,Nk:11,Lk:16,Ik:3,Ti:6,Jk:2,Hk:13,Vi:5,Ui:5,mg:2,lg:7,bl:23,cl:0,dl:1,el:3,al:17,Wi:7,gl:11,Ub:7,Vb:3,il:7,hl:11,fl:15,Bb:2,jl:3,Xi:7,kl:8,bj:8,ll:8,aj:4,cj:4,ql:2,pl:3,nl:5,ol:2,ml:3,dj:5,ej:3,Qk:14,Sk:22,Pk:17,Rk:25,Uk:17,Wk:25,Tk:20,Vk:28,sl:13,ul:21,rl:16,tl:24, -Yk:13,$k:21,Xk:16,Zk:24,og:2,ng:7,jj:5,ij:5,vl:19,hc:5,wl:5,xl:17,pc:3,yl:5,pg:3,ke:0,Qi:8,Ri:5,Si:9,Yi:5,Zi:5,$i:4,fj:5,gj:5,hj:4,kj:7,lj:5,mj:8,qj:3,rj:4,sj:3,zl:11,Cl:11,Al:15,Bl:15,Dl:7,oj:5,nj:8,pj:0,vj:2,qg:6,uj:3,tj:6,xj:3,wj:5,El:5};k=oc.prototype;k.Di=function(a,b,c,d,e){this.Ca=a;this.ve=this.Fb=b;this.pb=c;this.eb=d;this.ze=e};k.reset=function(){this.Kb&&this.zb();Rc(this);Mb(this);this.fd=!1}; -function Rc(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.Ac=65520;a.Dc=0;a.Vd=1023;a.Ic={Bj:0,pa:0,ab:0,rh:-1};a.ie=0;a.ua=new $b(a,"CS");a.vb=new $b(a,"DS");a.rb=new $b(a,"SS");a.Wa=new $b(a,"ES");a.Ul=new $b(a,"ZERO");Sc(a,0,65535);80286<=a.Ga&&(a.xc=0,a.ue=65535,a.Yc=new $b(a,"LDT",!0),a.Qe=new $b(a,"TSS",!0),a.Lb=new $b(a,"VER",!0),Sc(a,65520,61440),a.ua.Ua=16711680);Tc(a,0);Uc(a);a.kb=0;a.Cb=a.ug=-1;a.Og=0;a.ja=a.Ka=-1;a.D=a.vb;a.N=a.rb;a.$=a.ya=0} -k.sk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.ra+this.ua.pa+this.vb.pa+this.rb.pa+this.Wa.pa+Vc(this)|0};function Wc(a,b,c,d){void 0!==d&&(void 0===a.Fg[b]&&(a.Fg[b]=[]),a.Fg[b].push([c,d]))}function Xc(a,b){var c=a.Fg[b];if(void 0!==c)for(var d=0;d>1?128:0}function rd(a){return(a.ka^a.na^a.ka>>1)&a.ea>>1?2048:0}function sd(a){a.Z&=~a.ea}function td(a){a.na=a.ka&16|a.na&-17}function ud(a){a.Z|=a.ea-1}function vd(a){qd(a)&&(a.ka^=a.ea>>1|a.ea>>2,a.na^=32896)}function wd(a){a.ka&=~a.ea;a.na=a.ka&32896|a.na&-32897}function xd(a){a.Z|=a.ea}function yd(a){a.na=~(a.ka&16)&16|a.na&-17}function zd(a){a.Z&=~(a.ea-1)}function Ad(a){qd(a)||(a.ka^=a.ea>>1|a.ea>>2,a.na^=32896)} -function Bd(a){a.ka|=a.ea;a.na=a.ka&32896|a.na&-32897}function Vc(a){return a.za&-2262|md(a)|nd(a)|od(a)|pd(a)|qd(a)|rd(a)}function Tc(a,b){a.ea=256;a.Z=a.ka=a.na=0;b&1&&xd(a);b&4||(a.ka|=1);b&16&&(a.na|=16);b&64||ud(a);b&128&&Ad(a);b&2048&&Bd(a);a.ag?b=b&-12289|a.za&12288:(a.ie=(b&12288)>>12,!a.ie||a.Ac&1||(a.ie=0));a.ag>a.ie&&(b=b&-513|a.za&512);a.za=a.za&-1793|b&1792|a.Tj;a.za&256&&(a.kb|=2,a.$|=4)} -k.wb=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.va[c]=d;e=!0;break;default:e=Kb.prototype.wb.call(this,a,b,c,d)}return e};k.tb=function(a){return this.Ca[(a&this.Fb)>>this.pb].rc(a&this.eb)}; -k.ta=function(a){var b=a&this.eb;a=(a&this.Fb)>>this.pb;this.A-=this.B.Aj;return b!=this.eb?this.Ca[a].Kl(b):this.Ca[a++].rc(b)|this.Ca[a&this.ze].rc(0)<<8};k.Jd=function(a,b){this.Ca[(a&this.Fb)>>this.pb].Bc(a&this.eb,b&255)};k.Zc=function(a,b){var c=a&this.eb,d=(a&this.Fb)>>this.pb;this.A-=this.B.Aj;c!=this.eb?this.Ca[d].Xl(c,b&65535):(this.Ca[d++].Bc(c,b&255),this.Ca[d&this.ze].Bc(0,b>>8&255))};k.wm=function(a,b){this.zg=a;this.ja=a.cd(this.rg=b,0);return this.$&1?0:this.tb(this.ja)}; -k.xm=function(a,b){this.zg=a;this.ja=a.cd(this.rg=b,1);return this.$&1?0:this.ta(this.ja)};k.Fn=function(a,b){this.zg=a;this.Ka=this.ja=a.cd(this.rg=b,0);return this.$&1?0:this.tb(this.ja)};k.Gn=function(a,b){this.zg=a;this.Ka=this.ja=a.cd(this.rg=b,1);return this.$&1?0:this.ta(this.ja)};k.$o=function(a){this.$&2||this.Jd(this.zg.fc(this.rg,1),a)};k.ap=function(a){this.$&2||this.Zc(this.zg.fc(this.rg,2),a)};k.fa=function(){var a=this.tb(this.Da);this.Da=this.ua.Ua+(this.ra=this.ra+1&65535);return a}; -k.M=function(){var a=this.tb(this.Da)<<24>>24;this.Da=this.ua.Ua+(this.ra=this.ra+1&65535);return a&65535};k.L=function(){var a=this.ta(this.Da);this.Da=this.ua.Ua+(this.ra=this.ra+2&65535);return a};k.Ja=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ta(this.rb.cd(a,1))};function L(a,b){var c=a.Y=a.Y-2&65535;a.Zc(a.rb.fc(c,1),b)} -k.Yg=function(){G(this,"AX",this.H);G(this,"BX",this.C);G(this,"CX",this.J);G(this,"DX",this.K);G(this,"SP",this.Y);G(this,"BP",this.I);G(this,"SI",this.G);G(this,"DI",this.F);G(this,"CS",this.ua.pa);G(this,"DS",this.vb.pa);G(this,"SS",this.rb.pa);G(this,"ES",this.Wa.pa);G(this,"IP",this.ra);var a=Vc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024? -1:0,1);G(this,"O",a&2048?1:0,1);this.va.speed&&(this.va.speed.innerHTML=this.Kb&&this.hd?this.hd.toFixed(2)+"Mhz":"Stopped")}; -k.uf=function(a){this.eh=!0;this.ri=a&&this.ba&&Cd(this.ba);this.Mc=this.A=a;this.ma&&Yb(this.ma);a||!this.ba||E(this.ba,Dd)||(this.$|=4);do{var b=this.$&240;if(b)this.ya|=b;else if(this.Ch=this.Da,this.ja=this.Ka=-1,this.D=this.vb,this.N=this.rb,this.ya=this.$&256,this.kb){a:{if(!(this.$&4))if(this.kb&1&&this.za&512){if(b=Ed(this.ma),-1<=b&&(this.kb&=-2,0<=b)){this.kb&=-5;Fd.call(this,b,null,11);b=!0;break a}}else if(this.kb&2){this.kb&=-3;Fd.call(this,1,null,11);b=!0;break a}if(b=this.kb&8){for(var b= -this.ma,c=!1,d=0;dthis.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=a+b)&255}function Ld(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=this.na=a|b)&255} -function Md(a,b){this.na=a^b;this.Z=this.ka=a+b+(this.Z&this.ea?1:0);this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return this.Z&255}function Nd(a,b){this.na=a^b;this.Z=this.ka=a-b-(this.Z&this.ea?1:0);this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return this.Z&255}function Od(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=this.na=a&b)&255} -function Pd(a,b){this.na=a^b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=a-b)&255}function Qd(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=this.na=a^b)&255}function Rd(a,b){this.na=a^b;this.ea=256;this.Z=this.ka=a-b;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.Ti:this.B.qb;this.$|=2;return a} -function Sd(a,b){this.na=a^b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=a+b)&65535}function Td(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=this.na=a|b)&65535}function Ud(a,b){this.na=a^b;this.Z=this.ka=a+b+(this.Z&this.ea?1:0);this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return this.Z&65535} -function Vd(a,b){this.na=a^b;this.Z=this.ka=a-b-(this.Z&this.ea?1:0);this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return this.Z&65535}function Wd(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=this.na=a&b)&65535}function Xd(a,b){this.na=a^b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=a-b)&65535} -function Yd(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.qb:this.B.gc;return(this.Z=this.ka=this.na=a^b)&65535}function Zd(a,b){this.na=a^b;this.ea=65536;this.Z=this.ka=a-b;this.A-=0>this.Ka?0>this.ja?this.B.Tb:this.B.Ti:this.B.qb;this.$|=2;return a}function $d(a,b){this.Z=this.Z&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Bd(this):wd(this)}function ae(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;$d.call(this,d,256)}return c} -function be(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;$d.call(this,d,65536)}return c}function ce(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);$d.call(this,d,256)}return c}function de(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);$d.call(this,d,65536)}return c} -function ee(a,b){var c=a;if(b){var d;(d=(b&this.of)%9)?(d=a<>9-d,c=d&255):d=a|(this.Z&this.ea?1:0)<<8;$d.call(this,d,256)}return c}function fe(a,b){var c=a;if(b){var d;(d=(b&this.of)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Z&this.ea?1:0)<<16;$d.call(this,d,65536)}return c}function ge(a,b){var c=a;b&&(c=(b&this.of)%9,c=a>>c|(this.Z&this.ea?1:0)<<8-c|a<<9-c,$d.call(this,c,256),c&=255);return c} -function he(a,b){var c=a;b&&(c=(b&this.of)%17,c=a>>c|(this.Z&this.ea?1:0)<<16-c|a<<17-c,$d.call(this,c,65536),c&=65535);return c}function ie(a,b){var c=a;b&&(c=8>b-1;this.Z=this.ka=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.na=a^this.Z;this.ea=256;a=this.Z}return a&255}function le(a,b){if(b){var c=16>b-1;this.Z=this.ka=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.na=a^this.Z;this.ea=65536;a=this.Z}return a&65535}function me(a,b){if(b){8>24>>b-1;this.Z=this.ka=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.na=a^this.Z;this.ea=256;a=this.Z}return a&255} -function ne(a,b){if(b){16>16>>b-1;this.Z=this.ka=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.na=a^this.Z;this.ea=65536;a=this.Z}return a&65535}function oe(){this.A-=0>this.ja?2:this.B.Dl;return 1}function pe(){var a=this.J&this.of;this.A-=(0>this.ja?this.B.oj:this.B.nj)+(a<this.ja?this.B.oj:this.B.nj)+(a<=e?(this.sa=a,this.Xa=b,this.Nc=c,this.Oa=d&65280,this.type=d&7936,ac(this)):b=-1;return b}return-1}function dc(a){return this.Xa+a}function ec(a){return this.Xa+a}function fc(a,b,c){return a+b<=this.Nc?this.Xa+a:gc.call(this,0,0,c)} +function gc(a,b,c){c||hc.call(this.T,13,0);return-1}function ic(a,b,c){return a+b<=this.Nc?this.Xa+a:lc.call(this,0,0,c)}function lc(a,b,c){c||hc.call(this.T,13,0);return-1}function mc(a,b,c){var d=a.T.ta(c+2),e=a.T.ta(c+0)|(d&255)<<16;c=a.T.ta(c+4);a.sa=b;a.Xa=e;a.Nc=c;a.Oa=d&65280;ac(a)}$b.prototype.save=function(){return[this.sa,this.Xa,this.Nc,this.Oa,this.ok,this.Ag,this.Jc,this.zc]}; +$b.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.Xa=a[1],this.Nc=a[2],this.Oa=a[3],this.ok=a[4],this.Ag=a[5],this.Jc=a[6],this.zc=a[7])};function ac(a,b){void 0===b&&(b=!!(a.T.Bc&1));b?(a.load=cc,a.gd=fc,a.fc=ic,a.Oa&4096&&(6144==(a.Oa&6656)&&(a.fc=gc),a.Oa&2048||!(a.Oa&512))&&(a.fc=lc),a.Jc=a.sa&3,a.zc=(a.Oa&24576)>>13):(a.load=bc,a.gd=dc,a.fc=ec,a.Jc=a.zc=0)} +function oc(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6}Kb.call(this,a,b);this.Vj=61442;this.Gg=4;this.rf=255;this.B=80286<=this.Ia?pc:qc;this.Va=rc.slice();80186<=this.Ia&&(this.rf=31,this.Va[15]=sc,this.Va[96]=tc,this.Va[97]=uc,this.Va[98]=vc,this.Va[99]=sc,this.Va[100]=sc,this.Va[101]=sc,this.Va[102]=sc,this.Va[103]=sc,this.Va[104]=wc,this.Va[105]=xc,this.Va[106]=yc,this.Va[107]=zc,this.Va[108]=Ac,this.Va[109]=Bc,this.Va[110]=Cc,this.Va[111]= +Dc,this.Va[192]=Ec,this.Va[193]=Fc,this.Va[200]=Gc,this.Va[201]=Hc,this.Va[241]=Ic,Kc[7]=Lc,Nc[7]=Lc,80286<=this.Ia&&(this.Vj=2,this.Gg=0,this.Va[15]=Oc,this.Va[99]=Pc,this.Va[84]=Qc));this.Ig=[];this.Jg=[];this.Oc=this.Yg=0;this.pa.hh=this.pa.pk=!1;this.Ea=[];this.ye=this.rb=this.gb=this.Ce=0;this.U=this.Am;this.V=this.Bm;this.O=this.In;this.P=this.Jn;this.R=this.cp;this.S=this.dp;Rc(this)}A(Kb,oc); +var qc={Cj:4,aa:5,za:6,ia:7,ja:8,Q:9,W:11,X:12,Me:4,Jk:60,Kk:83,Tb:3,sb:9,gc:16,Ch:1,Ok:19,Qk:28,Sk:16,Rk:21,Pk:37,Mk:2,Wi:9,Nk:5,Lk:33,Yi:10,Xi:8,pg:3,og:15,fl:51,gl:1,hl:2,il:4,el:32,Zi:15,kl:15,Ub:16,Vb:4,ml:11,ll:18,jl:24,Db:4,nl:2,$i:16,ol:17,ej:18,pl:19,dj:5,fj:6,ul:2,tl:8,rl:9,sl:10,ql:10,gj:10,hj:10,Uk:80,Wk:144,Tk:86,Vk:154,Yk:101,$k:165,Xk:107,Zk:171,wl:70,yl:113,vl:76,xl:124,bl:80,dl:128,al:86,cl:134,rg:3,qg:16,mj:10,lj:8,zl:51,hc:8,Al:17,Bl:36,pc:11,Cl:16,sg:10,ne: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,Dl:8,Gl:12,El:18,Fl:17,Hl:15,rj:8,qj:20,sj:2,yj:3,tg:9,xj:5,wj:11,Aj:4,zj:17,Il:11},pc={Cj:0,aa:0,za:0,ia:0,ja:0,Q:0,W:1,X:1,Me:3,Jk:14,Kk:16,Tb:2,sb:7,gc:7,Ch:0,Ok:7,Qk:13,Sk:7,Rk:11,Pk:16,Mk:3,Wi:6,Nk:2,Lk:13,Yi:5,Xi:5,pg:2,og:7,fl:23,gl:0,hl:1,il:3,el:17,Zi:7,kl:11,Ub:7,Vb:3,ml:7,ll:11,jl:15,Db:2,nl:3,$i:7,ol:8,ej:8,pl:8,dj:4,fj:4,ul:2,tl:3,rl:5,sl:2,ql:3,gj:5,hj:3,Uk:14,Wk:22,Tk:17,Vk:25,Yk:17,$k:25,Xk:20,Zk:28,wl:13,yl:21,vl:16,xl:24, +bl:13,dl:21,al:16,cl:24,rg:2,qg:7,mj:5,lj:5,zl:19,hc:5,Al:5,Bl:17,pc:3,Cl:5,sg:3,ne: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,Dl:11,Gl:11,El:15,Fl:15,Hl:7,rj:5,qj:8,sj:0,yj:2,tg:6,xj:3,wj:6,Aj:3,zj:5,Il:5};k=oc.prototype;k.Fi=function(a,b,c,d,e){this.Ea=a;this.ye=b;this.rb=c;this.gb=d;this.Ce=e};k.reset=function(){this.pa.Lb&&this.wb();Rc(this);Mb(this);this.pa.Yc=!1}; +function Rc(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.Bc=65520;a.Ec=0;a.Yd=1023;a.Kc={Dj:0,sa:0,Oa:0,uh:-1};a.le=0;a.wa=new $b(a,"CS");a.yb=new $b(a,"DS");a.tb=new $b(a,"SS");a.Za=new $b(a,"ES");a.Yl=new $b(a,"ZERO");Sc(a,0,65535);80286<=a.Ia&&(a.xc=0,a.xe=65535,a.ad=new $b(a,"LDT",!0),a.Te=new $b(a,"TSS",!0),a.Mb=new $b(a,"VER",!0),Sc(a,65520,61440),a.wa.Xa=16711680);Tc(a,0);Uc(a);a.mb=0;a.Eb=a.xg=-1;a.Rg=0;a.ka=a.Ma=-1;a.D=a.yb;a.N=a.tb;a.$=a.Aa=0} +k.wk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.ua+this.wa.sa+this.yb.sa+this.tb.sa+this.Za.sa+Vc(this)|0};function Wc(a,b,c,d){void 0!==d&&(void 0===a.Ig[b]&&(a.Ig[b]=[]),a.Ig[b].push([c,d]))}function Xc(a,b){var c=a.Ig[b];if(void 0!==c)for(var d=0;d>1?128:0}function rd(a){return(a.la^a.oa^a.la>>1)&a.fa>>1?2048:0}function sd(a){a.Z&=~a.fa}function td(a){a.oa=a.la&16|a.oa&-17}function ud(a){a.Z|=a.fa-1}function vd(a){qd(a)&&(a.la^=a.fa>>1|a.fa>>2,a.oa^=32896)}function wd(a){a.la&=~a.fa;a.oa=a.la&32896|a.oa&-32897}function xd(a){a.Z|=a.fa}function yd(a){a.oa=~(a.la&16)&16|a.oa&-17}function zd(a){a.Z&=~(a.fa-1)}function Ad(a){qd(a)||(a.la^=a.fa>>1|a.fa>>2,a.oa^=32896)} +function Bd(a){a.la|=a.fa;a.oa=a.la&32896|a.oa&-32897}function Vc(a){return a.Ba&-2262|md(a)|nd(a)|od(a)|pd(a)|qd(a)|rd(a)}function Tc(a,b){a.fa=256;a.Z=a.la=a.oa=0;b&1&&xd(a);b&4||(a.la|=1);b&16&&(a.oa|=16);b&64||ud(a);b&128&&Ad(a);b&2048&&Bd(a);a.wa.Jc?b=b&-12289|a.Ba&12288:(a.le=(b&12288)>>12,!a.le||a.Bc&1||(a.le=0));a.wa.Jc>a.le&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&-1793|b&1792|a.Vj;a.Ba&256&&(a.mb|=2,a.$|=4)} +k.zb=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.xa[c]=d;e=!0;break;default:e=Kb.prototype.zb.call(this,a,b,c,d)}return e};k.vb=function(a){return this.Ea[(a&this.ye)>>this.rb].rc(a&this.gb)}; +k.ta=function(a){var b=a&this.gb;a=(a&this.ye)>>this.rb;this.A-=this.B.Cj;return b!=this.gb?this.Ea[a].Ol(b):this.Ea[a++].rc(b)|this.Ea[a&this.Ce].rc(0)<<8};k.Md=function(a,b){this.Ea[(a&this.ye)>>this.rb].Cc(a&this.gb,b&255)};k.bd=function(a,b){var c=a&this.gb,d=(a&this.ye)>>this.rb;this.A-=this.B.Cj;c!=this.gb?this.Ea[d].am(c,b&65535):(this.Ea[d++].Cc(c,b&255),this.Ea[d&this.Ce].Cc(0,b>>8&255))};k.Am=function(a,b){this.Cg=a;this.ka=a.gd(this.ug=b,0);return this.$&1?0:this.vb(this.ka)}; +k.Bm=function(a,b){this.Cg=a;this.ka=a.gd(this.ug=b,1);return this.$&1?0:this.ta(this.ka)};k.In=function(a,b){this.Cg=a;this.Ma=this.ka=a.gd(this.ug=b,0);return this.$&1?0:this.vb(this.ka)};k.Jn=function(a,b){this.Cg=a;this.Ma=this.ka=a.gd(this.ug=b,1);return this.$&1?0:this.ta(this.ka)};k.cp=function(a){this.$&2||this.Md(this.Cg.fc(this.ug,1),a)};k.dp=function(a){this.$&2||this.bd(this.Cg.fc(this.ug,2),a)};k.ga=function(){var a=this.vb(this.Fa);this.Fa=this.wa.Xa+(this.ua=this.ua+1&65535);return a}; +k.M=function(){var a=this.vb(this.Fa)<<24>>24;this.Fa=this.wa.Xa+(this.ua=this.ua+1&65535);return a&65535};k.L=function(){var a=this.ta(this.Fa);this.Fa=this.wa.Xa+(this.ua=this.ua+2&65535);return a};k.La=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ta(this.tb.gd(a,1))};function L(a,b){var c=a.Y=a.Y-2&65535;a.bd(a.tb.fc(c,1),b)} +k.ah=function(){G(this,"AX",this.H);G(this,"BX",this.C);G(this,"CX",this.J);G(this,"DX",this.K);G(this,"SP",this.Y);G(this,"BP",this.I);G(this,"SI",this.G);G(this,"DI",this.F);G(this,"CS",this.wa.sa);G(this,"DS",this.yb.sa);G(this,"SS",this.tb.sa);G(this,"ES",this.Za.sa);G(this,"IP",this.ua);var a=Vc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024? +1:0,1);G(this,"O",a&2048?1:0,1);this.xa.speed&&(this.xa.speed.innerHTML=this.pa.Lb&&this.ba.ld?this.ba.ld.toFixed(2)+"Mhz":"Stopped")}; +k.xf=function(a){this.pa.hh=!0;var b=this.pa.pk=a&&this.ca&&Cd(this.ca);this.Oc=this.A=a;this.na&&Yb(this.na);a||!this.ca||E(this.ca,Dd)||(this.$|=4);do{var c=this.$&240;if(c)this.Aa|=c;else if(this.Fh=this.Fa,this.ka=this.Ma=-1,this.D=this.yb,this.N=this.tb,this.Aa=this.$&256,this.mb){a:{if(!(this.$&4))if(this.mb&1&&this.Ba&512){if(c=Ed(this.na),-1<=c&&(this.mb&=-2,0<=c)){this.mb&=-5;Fd.call(this,c,null,11);c=!0;break a}}else if(this.mb&2){this.mb&=-3;Fd.call(this,1,null,11);c=!0;break a}if(c=this.mb& +8){for(var c=this.na,d=!1,e=0;ethis.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=a+b)&255}function Md(a,b){this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=this.oa=a|b)&255} +function Nd(a,b){this.oa=a^b;this.Z=this.la=a+b+(this.Z&this.fa?1:0);this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return this.Z&255}function Od(a,b){this.oa=a^b;this.Z=this.la=a-b-(this.Z&this.fa?1:0);this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return this.Z&255}function Pd(a,b){this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=this.oa=a&b)&255} +function Qd(a,b){this.oa=a^b;this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=a-b)&255}function Rd(a,b){this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=this.oa=a^b)&255}function Sd(a,b){this.oa=a^b;this.fa=256;this.Z=this.la=a-b;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.Wi:this.B.sb;this.$|=2;return a} +function Td(a,b){this.oa=a^b;this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=a+b)&65535}function Ud(a,b){this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=this.oa=a|b)&65535}function Vd(a,b){this.oa=a^b;this.Z=this.la=a+b+(this.Z&this.fa?1:0);this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return this.Z&65535} +function Wd(a,b){this.oa=a^b;this.Z=this.la=a-b-(this.Z&this.fa?1:0);this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return this.Z&65535}function Xd(a,b){this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=this.oa=a&b)&65535}function Yd(a,b){this.oa=a^b;this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=a-b)&65535} +function Zd(a,b){this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.sb:this.B.gc;return(this.Z=this.la=this.oa=a^b)&65535}function $d(a,b){this.oa=a^b;this.fa=65536;this.Z=this.la=a-b;this.A-=0>this.Ma?0>this.ka?this.B.Tb:this.B.Wi:this.B.sb;this.$|=2;return a}function ae(a,b){this.Z=this.Z&this.fa-1|(a&b?this.fa:0);(a^a>>1)&b>>1?Bd(this):wd(this)}function be(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;ae.call(this,d,256)}return c} +function ce(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;ae.call(this,d,65536)}return c}function de(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);ae.call(this,d,256)}return c}function ee(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);ae.call(this,d,65536)}return c} +function fe(a,b){var c=a;if(b){var d;(d=(b&this.rf)%9)?(d=a<>9-d,c=d&255):d=a|(this.Z&this.fa?1:0)<<8;ae.call(this,d,256)}return c}function ge(a,b){var c=a;if(b){var d;(d=(b&this.rf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Z&this.fa?1:0)<<16;ae.call(this,d,65536)}return c}function he(a,b){var c=a;b&&(c=(b&this.rf)%9,c=a>>c|(this.Z&this.fa?1:0)<<8-c|a<<9-c,ae.call(this,c,256),c&=255);return c} +function ie(a,b){var c=a;b&&(c=(b&this.rf)%17,c=a>>c|(this.Z&this.fa?1:0)<<16-c|a<<17-c,ae.call(this,c,65536),c&=65535);return c}function je(a,b){var c=a;b&&(c=8>b-1;this.Z=this.la=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.oa=a^this.Z;this.fa=256;a=this.Z}return a&255}function me(a,b){if(b){var c=16>b-1;this.Z=this.la=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.oa=a^this.Z;this.fa=65536;a=this.Z}return a&65535}function ne(a,b){if(b){8>24>>b-1;this.Z=this.la=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.oa=a^this.Z;this.fa=256;a=this.Z}return a&255} +function oe(a,b){if(b){16>16>>b-1;this.Z=this.la=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.oa=a^this.Z;this.fa=65536;a=this.Z}return a&65535}function pe(){this.A-=0>this.ka?2:this.B.Hl;return 1}function qe(){var a=this.J&this.rf;this.A-=(0>this.ka?this.B.rj:this.B.qj)+(a<this.ka?this.B.rj:this.B.qj)+(a<this.Ka?this.B.hc:this.B.wl;return b},se,se,se,se,se,se,se],we=[function(a,b){this.A-=0>this.Ka?this.B.ol:this.B.ml;return b},M,M,M,M,M,M,M],xe=[ae,ce,ee,ge,ie,ke,M,me],ye=[be,de,fe,he,je,le,M,ne],Ae=[function(a,b){b=this.fa();this.Z=this.ka=this.na=a&b;this.ea=256;this.A-=0>this.ja?this.B.uj:this.B.tj;this.$|=2;return a},M,function(a){this.A-=0>this.ja?this.B.og:this.B.ng;return a^255},function(a,b){b=0;this.na= -a^b;this.ea=256;this.A-=0>this.ja?this.B.og:this.B.ng;return(this.Z=this.ka=b-a)&255},function(a){this.H=this.Cb=(this.Z=(this.H&255)*a)&65535;this.na=this.ka=this.Z;this.ea=256;this.H&65280?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ja?this.B.sl:this.B.rl;this.$|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Cb=b&65535;this.Z=this.na=this.ka=b;this.ea=256;127b?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ja?this.B.Yk:this.B.Xk;this.$|=2;return a}, -function(a){if(!a)return ze.call(this),a;var b=this.H/a;if(255this.ja?this.B.Qk:this.B.Pk;this.$|=2;return a},function(a){if(!a)return ze.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return ze.call(this),a;this.Cb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ka=this.na=this.Z=b|256;this.ea=256;this.A-=0>this.ja?this.B.Uk:this.B.Tk;this.$|=2;return a}], -Be=[function(a,b){b=this.L();this.Z=this.ka=this.na=a&b;this.ea=65536;this.A-=0>this.ja?this.B.uj:this.B.tj;this.$|=2;return a},M,function(a){this.A-=0>this.ja?this.B.og:this.B.ng;return a^65535},function(a,b){b=0;this.na=a^b;this.ea=65536;this.A-=0>this.ja?this.B.og:this.B.ng;return(this.Z=this.ka=b-a)&65535},function(a){this.Cb=this.H=(this.Z=this.H*a)&65535;this.ug=this.K=this.Z>>16&65535;this.na=this.ka=this.Z;this.ea=65536;this.K?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ja?this.B.ul: -this.B.tl;this.$|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Cb=b&65535;this.K=this.ug=b>>16&65535;this.Z=this.na=this.ka=b;this.ea=65536;32767b?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ja?this.B.$k:this.B.Zk;this.$|=2;return a},function(a,b){if(!a)return ze.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return ze.call(this),a;this.Cb=this.H=c&65535;this.ug=this.K=b%a&65535;this.ka=this.na=this.Z=c|65536;this.ea=65536;this.A-= -0>this.ja?this.B.Sk:this.B.Rk;this.$|=2;return a},function(a,b){if(!a)return ze.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 ze.call(this),a;this.Cb=this.H=d&65535;this.ug=this.K=b%c&65535;this.ka=this.na=this.Z=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.Wk:this.B.Vk;this.$|=2;return a}],Kc=[function(a){this.na=a;a=(this.ka=a+1)&255;this.Z=a|(this.Z&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.mg:this.B.lg;return a},function(a){this.na= -a;a=(this.ka=a-1)&255;this.Z=a|(this.Z&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.mg:this.B.lg;return a},M,M,M,M,M,M],Nc=[function(a){this.na=a;a=(this.ka=a+1)&65535;this.Z=a|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.mg:this.B.lg;return a},function(a){this.na=a;a=(this.ka=a-1)&65535;this.Z=a|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.mg:this.B.lg;return a},function(a){L(this,this.ra);K(this,a);this.A-=0>this.ja?this.B.Ok:this.B.Nk;this.$|=2;return a}, -function(a){if(0>this.ja)return M.call(this,a);L(this,this.ua.pa);L(this,this.ra);Sc(this,a,this.ta(this.ja+2));this.A-=this.B.Lk;this.$|=2;return a},function(a){K(this,a);this.A-=0>this.ja?this.B.il:this.B.hl;this.$|=2;return a},function(a){if(0>this.ja)return M.call(this,a);Sc(this,a,this.ta(this.ja+2));this.A-=this.B.fl;this.$|=2;return a},function(a){var b=a;this.$&512&&(a=a-2&65535,80286>this.Ga&&(b=a));L(this,b);this.A-=0>this.ja?this.B.pc:this.B.yl;this.$|=2;return a},se],Ce=[ae,ce,ee,ge,ie, -ke,M,me],De=[be,de,fe,he,je,le,M,ne];function Ee(a,b){this.A-=0>this.Ka?0>this.ja?this.B.ql:this.B.pl:this.B.nl;return b}function Fe(){return Ee.call(this,0,this.Cb)}function Ge(a,b){this.Z=this.ka=this.na=a&b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.vj:this.B.qg:this.B.qg;this.$|=2;return a}function He(a,b){this.Z=this.ka=this.na=a&b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.vj:this.B.qg:this.B.qg;this.$|=2;return a} -function Ie(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.Z=this.na=this.ka=c;this.ea=256;32767c?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ja?21:24;return c&65535}function Je(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Z=this.na=this.ka=c;this.ea=65536;32767c?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ja?21:24;return c&65535}function Ke(a){return a}function Le(a){if(0>this.ja)return N.call(this),a;this.A-=this.B.jl;return this.ja} -function Me(a,b){if(0>this.ja)return N.call(this),a;id(this,this.ta(this.ja+2));this.A-=this.B.Xi;return b}function Ne(a,b){if(0>this.ja)return N.call(this),a;kd(this,this.ta(this.ja+2));this.A-=this.B.Xi;return b}function Oe(a){if(0>this.ja)return sc.call(this),a;var b=a<<16>>16,c=this.ta(this.ja)<<16>>16,d=this.ta(this.ja+2)<<16>>16;this.A-=this.B.Hk;if(bd)K(this,this.Ch-this.ua.Ua),Fd.call(this,5,null,0);this.$|=2;return a} -function Pe(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,zd(this),a;ud(this);return a}function Qe(a,b){this.A-=14+(0>this.ja?0:2);if(0<=this.Lb.load(b,!0)&&this.Lb.Pb>=(this.ua.pa&3)&&this.Lb.Pb>=(b&3))return zd(this),this.Lb.ab&65280;ud(this);return a}function Ue(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&0<=this.Lb.load(b,!0)&&(3072==(this.Lb.ab&3072)||this.Lb.Pb>=(this.ua.pa&3))&&this.Lb.Pb>=(b&3))return zd(this),this.Lb.Lc;ud(this);return a} -function Ve(a,b){if(0>this.ja){switch(this.Og&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.xj}else this.Ka=this.ja,this.R(a),this.A-=this.B.wj;return b} -function We(a,b){if(0>this.ja){switch(this.Og&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.xj}else this.Ka=this.ja,this.S(a),this.A-=this.B.wj;return b}function Fd(a,b,c){gd(this,a)&&(L(this,Vc(this)),this.za&=this.Ic.rh,L(this,this.ua.pa),L(this,this.ra),null!=b&&L(this,b),Sc(this,this.Ic.Bj,this.Ic.pa),this.A-=this.B.bl+c)} -function Xe(a){a|=this.Ac&1;this.Ac=this.Ac&65520|a&-65521;this.Ac&1&&Uc(this,!0)}function ze(){K(this,this.Ch-this.ua.Ua);Fd.call(this,0,null,2)}function lc(a,b){this.ba&&E(this.ba,Ye)&&this.ba.message("Fault 0x"+t(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+t(mb(this.oa,this.Da))+" at "+da(this.ra,this.ua.pa));80186<=this.Ga&&(K(this,this.Ch-this.ua.Ua),Fd.call(this,a,b,0))}function sc(){lc.call(this,6);this.zb()} -function N(){K(this,this.Ch-this.ua.Ua);bb(this,"Undefined opcode 0x"+t(mb(this.oa,this.Da))+" at "+da(this.ra,this.ua.pa));this.zb()}function Ze(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function $e(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function af(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a} +var ue=[Ld,Md,Nd,Od,Pd,Qd,Rd,Sd],ve=[Td,Ud,Vd,Wd,Xd,Yd,Zd,$d],we=[function(a,b){this.A-=0>this.Ma?this.B.hc:this.B.Al;return b},te,te,te,te,te,te,te],xe=[function(a,b){this.A-=0>this.Ma?this.B.sl:this.B.ql;return b},M,M,M,M,M,M,M],ye=[be,de,fe,he,je,le,M,ne],ze=[ce,ee,ge,ie,ke,me,M,oe],Be=[function(a,b){b=this.ga();this.Z=this.la=this.oa=a&b;this.fa=256;this.A-=0>this.ka?this.B.xj:this.B.wj;this.$|=2;return a},M,function(a){this.A-=0>this.ka?this.B.rg:this.B.qg;return a^255},function(a,b){b=0;this.oa= +a^b;this.fa=256;this.A-=0>this.ka?this.B.rg:this.B.qg;return(this.Z=this.la=b-a)&255},function(a){this.H=this.Eb=(this.Z=(this.H&255)*a)&65535;this.oa=this.la=this.Z;this.fa=256;this.H&65280?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ka?this.B.wl:this.B.vl;this.$|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Eb=b&65535;this.Z=this.oa=this.la=b;this.fa=256;127b?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ka?this.B.bl:this.B.al;this.$|=2;return a}, +function(a){if(!a)return Ae.call(this),a;var b=this.H/a;if(255this.ka?this.B.Uk:this.B.Tk;this.$|=2;return a},function(a){if(!a)return Ae.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ae.call(this),a;this.Eb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.oa=this.Z=b|256;this.fa=256;this.A-=0>this.ka?this.B.Yk:this.B.Xk;this.$|=2;return a}], +Ce=[function(a,b){b=this.L();this.Z=this.la=this.oa=a&b;this.fa=65536;this.A-=0>this.ka?this.B.xj:this.B.wj;this.$|=2;return a},M,function(a){this.A-=0>this.ka?this.B.rg:this.B.qg;return a^65535},function(a,b){b=0;this.oa=a^b;this.fa=65536;this.A-=0>this.ka?this.B.rg:this.B.qg;return(this.Z=this.la=b-a)&65535},function(a){this.Eb=this.H=(this.Z=this.H*a)&65535;this.xg=this.K=this.Z>>16&65535;this.oa=this.la=this.Z;this.fa=65536;this.K?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ka?this.B.yl: +this.B.xl;this.$|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Eb=b&65535;this.K=this.xg=b>>16&65535;this.Z=this.oa=this.la=b;this.fa=65536;32767b?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ka?this.B.dl:this.B.cl;this.$|=2;return a},function(a,b){if(!a)return Ae.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Ae.call(this),a;this.Eb=this.H=c&65535;this.xg=this.K=b%a&65535;this.la=this.oa=this.Z=c|65536;this.fa=65536;this.A-= +0>this.ka?this.B.Wk:this.B.Vk;this.$|=2;return a},function(a,b){if(!a)return Ae.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 Ae.call(this),a;this.Eb=this.H=d&65535;this.xg=this.K=b%c&65535;this.la=this.oa=this.Z=d|65536;this.fa=65536;this.A-=0>this.ka?this.B.$k:this.B.Zk;this.$|=2;return a}],Kc=[function(a){this.oa=a;a=(this.la=a+1)&255;this.Z=a|(this.Z&this.fa?1:0)<<8;this.fa=256;this.A-=0>this.ka?this.B.pg:this.B.og;return a},function(a){this.oa= +a;a=(this.la=a-1)&255;this.Z=a|(this.Z&this.fa?1:0)<<8;this.fa=256;this.A-=0>this.ka?this.B.pg:this.B.og;return a},M,M,M,M,M,M],Nc=[function(a){this.oa=a;a=(this.la=a+1)&65535;this.Z=a|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=0>this.ka?this.B.pg:this.B.og;return a},function(a){this.oa=a;a=(this.la=a-1)&65535;this.Z=a|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=0>this.ka?this.B.pg:this.B.og;return a},function(a){L(this,this.ua);K(this,a);this.A-=0>this.ka?this.B.Sk:this.B.Rk;this.$|=2;return a}, +function(a){if(0>this.ka)return M.call(this,a);L(this,this.wa.sa);L(this,this.ua);Sc(this,a,this.ta(this.ka+2));this.A-=this.B.Pk;this.$|=2;return a},function(a){K(this,a);this.A-=0>this.ka?this.B.ml:this.B.ll;this.$|=2;return a},function(a){if(0>this.ka)return M.call(this,a);Sc(this,a,this.ta(this.ka+2));this.A-=this.B.jl;this.$|=2;return a},function(a){var b=a;this.$&512&&(a=a-2&65535,80286>this.Ia&&(b=a));L(this,b);this.A-=0>this.ka?this.B.pc:this.B.Cl;this.$|=2;return a},te],De=[be,de,fe,he,je, +le,M,ne],Ee=[ce,ee,ge,ie,ke,me,M,oe];function Fe(a,b){this.A-=0>this.Ma?0>this.ka?this.B.ul:this.B.tl:this.B.rl;return b}function Ge(){return Fe.call(this,0,this.Eb)}function He(a,b){this.Z=this.la=this.oa=a&b;this.fa=256;this.A-=0>this.Ma?0>this.ka?this.B.yj:this.B.tg:this.B.tg;this.$|=2;return a}function Ie(a,b){this.Z=this.la=this.oa=a&b;this.fa=65536;this.A-=0>this.Ma?0>this.ka?this.B.yj:this.B.tg:this.B.tg;this.$|=2;return a} +function Je(a,b){var c=(b<<16>>16)*(this.ga()<<24>>24);this.Z=this.oa=this.la=c;this.fa=256;32767c?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ka?21:24;return c&65535}function Ke(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Z=this.oa=this.la=c;this.fa=65536;32767c?(xd(this),Bd(this)):(sd(this),wd(this));this.A-=0>this.ka?21:24;return c&65535}function Le(a){return a}function Me(a){if(0>this.ka)return N.call(this),a;this.A-=this.B.nl;return this.ka} +function Ne(a,b){if(0>this.ka)return N.call(this),a;id(this,this.ta(this.ka+2));this.A-=this.B.$i;return b}function Oe(a,b){if(0>this.ka)return N.call(this),a;kd(this,this.ta(this.ka+2));this.A-=this.B.$i;return b}function Pe(a){if(0>this.ka)return sc.call(this),a;var b=a<<16>>16,c=this.ta(this.ka)<<16>>16,d=this.ta(this.ka+2)<<16>>16;this.A-=this.B.Lk;if(bd)K(this,this.Fh-this.wa.Xa),Fd.call(this,5,null,0);this.$|=2;return a} +function Qe(a,b){this.A-=10+(0>this.ka?0:1);if((a&3)<(b&3))return a=a&-4|b&3,zd(this),a;ud(this);return a}function Re(a,b){this.A-=14+(0>this.ka?0:2);if(0<=this.Mb.load(b,!0)&&this.Mb.zc>=this.wa.Jc&&this.Mb.zc>=(b&3))return zd(this),this.Mb.Oa&65280;ud(this);return a}function Ve(a,b){this.A-=14+(0>this.ka?0:2);if(b&65528&&0<=this.Mb.load(b,!0)&&(7168==(this.Mb.Oa&7168)||this.Mb.zc>=this.wa.Jc)&&this.Mb.zc>=(b&3))return zd(this),this.Mb.Nc;ud(this);return a} +function We(a,b){if(0>this.ka){switch(this.Rg&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.ka,this.R(a),this.A-=this.B.zj;return b} +function Xe(a,b){if(0>this.ka){switch(this.Rg&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.ka,this.S(a),this.A-=this.B.zj;return b}function Fd(a,b,c){gd(this,a)&&(L(this,Vc(this)),this.Ba&=this.Kc.uh,L(this,this.wa.sa),L(this,this.ua),null!=b&&L(this,b),Sc(this,this.Kc.Dj,this.Kc.sa),this.A-=this.B.fl+c)} +function Ye(a){a|=this.Bc&1;this.Bc=this.Bc&65520|a&-65521;this.Bc&1&&Uc(this,!0)}function Ae(){K(this,this.Fh-this.wa.Xa);Fd.call(this,0,null,2)}function hc(a,b,c){this.ca&&(E(this.ca,Id)&&this.ca.message("Fault 0x"+t(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+t(mb(this.qa,this.Fa))+" at "+da(this.ua,this.wa.sa)),c&&this.wb());80186<=this.Ia&&(K(this,this.Fh-this.wa.Xa),Fd.call(this,a,b,0))}function sc(){hc.call(this,6);this.wb()} +function N(){K(this,this.Fh-this.wa.Xa);bb(this,"Undefined opcode 0x"+t(mb(this.qa,this.Fa))+" at "+da(this.ua,this.wa.sa));this.wb()}function Ze(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function $e(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function af(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a} function df(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function ef(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function ff(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function gf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function hf(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function jf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a} function kf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function lf(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function mf(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function nf(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function of(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function pf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a} function qf(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function rf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function sf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function tf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function uf(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function vf(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a} @@ -116,18 +116,18 @@ function Qg(a){this.Y=a.call(this,this.Y,this.H)}function Rg(a){this.Y=a.call(th function $g(a){this.I=a.call(this,this.I,this.K)}function ah(a){this.I=a.call(this,this.I,this.C)}function bh(a){this.I=a.call(this,this.I,this.Y)}function ch(a){this.I=a.call(this,this.I,this.I)}function dh(a){this.I=a.call(this,this.I,this.G)}function eh(a){this.I=a.call(this,this.I,this.F)}function fh(a){this.G=a.call(this,this.G,this.H)}function gh(a){this.G=a.call(this,this.G,this.J)}function hh(a){this.G=a.call(this,this.G,this.K)}function ih(a){this.G=a.call(this,this.G,this.C)} function jh(a){this.G=a.call(this,this.G,this.Y)}function kh(a){this.G=a.call(this,this.G,this.I)}function lh(a){this.G=a.call(this,this.G,this.G)}function mh(a){this.G=a.call(this,this.G,this.F)}function nh(a){this.F=a.call(this,this.F,this.H)}function oh(a){this.F=a.call(this,this.F,this.J)}function ph(a){this.F=a.call(this,this.F,this.K)}function qh(a){this.F=a.call(this,this.F,this.C)}function rh(a){this.F=a.call(this,this.F,this.Y)}function sh(a){this.F=a.call(this,this.F,this.I)} function th(a){this.F=a.call(this,this.F,this.G)}function uh(a){this.F=a.call(this,this.F,this.F)} -var vh=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa}, -function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N, -this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); -this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= -this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.K&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.K&255);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C),this.K&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this, -this.O(this.N,this.I+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.C&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.C&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.C&255);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C),this.C& -255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H>>8);this.R(a); -this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.H>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H>>8);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C),this.H>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ia},function(a){a= -a.call(this,this.O(this.N,this.I+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J>>8);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C), -this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.K>>8); -this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.K>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.K>>8);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C),this.K>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ia},function(a){a= -a.call(this,this.O(this.N,this.I+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.C>>8);this.R(a);this.A-=this.B.xa},function(a){a=a.call(this,this.O(this.D,this.C), +var vh=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa}, +function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N, +this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); +this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= +this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.K&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.K&255);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C),this.K&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this, +this.O(this.N,this.I+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.C&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.C&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.C&255);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C),this.C& +255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.H>>8);this.R(a); +this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.H>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H>>8);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C),this.H>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ja},function(a){a= +a.call(this,this.O(this.N,this.I+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J>>8);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C), +this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.K>>8); +this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.K>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.K>>8);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C),this.K>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ja},function(a){a= +a.call(this,this.O(this.N,this.I+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ja},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.D,this.G),this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.C>>8);this.R(a);this.A-=this.B.za},function(a){a=a.call(this,this.O(this.D,this.C), this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this, this.O(this.D,this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a= a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.J&255);this.R(a); @@ -155,18 +155,18 @@ a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=th function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a); this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+ this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},Ze,gf,pf,xf,Ff,Nf,Vf,cg,$e,hf,qf,yf,Gf, -Of,Wf,dg,af,jf,rf,zf,Hf,Pf,Xf,eg,bf,kf,sf,Af,If,Qf,Yf,fg,cf,lf,tf,Bf,Jf,Rf,Zf,gg,df,mf,uf,Cf,Kf,Sf,$f,hg,ef,nf,vf,Df,Lf,Tf,ag,ig,ff,of,wf,Ef,Mf,Uf,bg,jg],wh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F& -65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this, -this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a); -this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a= -a.call(this,this.P(this.D,this.G),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.K);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C);this.S(a); -this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.C);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.C);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.C);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D, -this.C),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.Y);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.Y);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.Y);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.Y);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.Y);this.S(a); -this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.Y);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.Y);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.Y);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.I);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.I);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N, -this.I+this.G&65535),this.I);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.I);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.I);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.I);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.I);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.I);this.S(a);this.A-=this.B.aa},function(a){a= -a.call(this,this.P(this.D,this.C+this.G&65535),this.G);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.G);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.G);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D, -this.F),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.G);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.F);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.F);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.F);this.S(a);this.A-=this.B.ia}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.F);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.F);this.S(a);this.A-=this.B.xa},function(a){a=a.call(this,this.P(this.D,this.C),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()& +Of,Wf,dg,af,jf,rf,zf,Hf,Pf,Xf,eg,bf,kf,sf,Af,If,Qf,Yf,fg,cf,lf,tf,Bf,Jf,Rf,Zf,gg,df,mf,uf,Cf,Kf,Sf,$f,hg,ef,nf,vf,Df,Lf,Tf,ag,ig,ff,of,wf,Ef,Mf,Uf,bg,jg],wh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F& +65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this, +this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a); +this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a= +a.call(this,this.P(this.D,this.G),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.K);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C);this.S(a); +this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.C);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.C);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.C);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D, +this.C),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.Y);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.Y);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.Y);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.Y);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.Y);this.S(a); +this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.Y);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.Y);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.Y);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.I);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.I);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N, +this.I+this.G&65535),this.I);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.I);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.I);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.I);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.I);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.I);this.S(a);this.A-=this.B.aa},function(a){a= +a.call(this,this.P(this.D,this.C+this.G&65535),this.G);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.G);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.G);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D, +this.F),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.G);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.F);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.F);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.F);this.S(a);this.A-=this.B.ja}, +function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.F);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.D,this.G),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.F);this.S(a);this.A-=this.B.za},function(a){a=a.call(this,this.P(this.D,this.C),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()& 65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+ this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N, this.I+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D, @@ -193,20 +193,20 @@ this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535) this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a); this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535), this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},kg,sg,Ag,Ig,Qg,Yg,fh,nh,lg,tg,Bg,Jg,Rg,Zg,gh,oh,mg,ug,Cg,Kg,Sg,$g,hh, -ph,ng,vg,Dg,Lg,Tg,ah,ih,qh,og,wg,Eg,Mg,Ug,bh,jh,rh,pg,xg,Fg,Ng,Vg,ch,kh,sh,qg,yg,Gg,Og,Wg,dh,lh,th,rg,zg,Hg,Pg,Xg,eh,mh,uh],xh=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255, -this.U(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.xa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this, -this.J&255,this.U(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G));this.J=this.J&-256| -a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.xa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F& -65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.U(this.D,this.G));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.U(this.D,this.F));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K& -255,this.U(this.D,this.L()));this.K=this.K&-256|a;this.A-=this.B.xa},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ia}, -function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&255,this.U(this.D,this.G));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.L()));this.C=this.C&-256|a;this.A-=this.B.xa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C));this.C=this.C&-256|a;this.A-= -this.B.aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.H>> -8,this.U(this.D,this.G));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.F));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.L()));this.H=this.H&255|a<<8;this.A-=this.B.xa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this, -this.J>>8,this.U(this.D,this.C+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.G));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.F));this.J=this.J&255|a<<8;this.A-= -this.B.aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.L()));this.J=this.J&255|a<<8;this.A-=this.B.xa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G& -65535));this.K=this.K&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.L()));this.K=this.K&255|a<<8;this.A-=this.B.xa},function(a){a=a.call(this,this.K>> -8,this.U(this.D,this.C));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F&65535));this.C=this.C&255|a<< -8;this.A-=this.B.ha},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.G));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.L()));this.C=this.C&255|a<<8;this.A-=this.B.xa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G+this.M()& +ph,ng,vg,Dg,Lg,Tg,ah,ih,qh,og,wg,Eg,Mg,Ug,bh,jh,rh,pg,xg,Fg,Ng,Vg,ch,kh,sh,qg,yg,Gg,Og,Wg,dh,lh,th,rg,zg,Hg,Pg,Xg,eh,mh,uh],xh=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.H&255, +this.U(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.za},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this, +this.J&255,this.U(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G));this.J=this.J&-256| +a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.za},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F& +65535));this.K=this.K&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.U(this.D,this.G));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.U(this.D,this.F));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K& +255,this.U(this.D,this.L()));this.K=this.K&-256|a;this.A-=this.B.za},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ja}, +function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&255,this.U(this.D,this.G));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.L()));this.C=this.C&-256|a;this.A-=this.B.za},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C));this.C=this.C&-256|a;this.A-= +this.B.aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>> +8,this.U(this.D,this.G));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.F));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.L()));this.H=this.H&255|a<<8;this.A-=this.B.za},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this, +this.J>>8,this.U(this.D,this.C+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.G));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.F));this.J=this.J&255|a<<8;this.A-= +this.B.aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.L()));this.J=this.J&255|a<<8;this.A-=this.B.za},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G& +65535));this.K=this.K&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.L()));this.K=this.K&255|a<<8;this.A-=this.B.za},function(a){a=a.call(this,this.K>> +8,this.U(this.D,this.C));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F&65535));this.C=this.C&255|a<< +8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.G));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.L()));this.C=this.C&255|a<<8;this.A-=this.B.za},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G+this.M()& 65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G+this.M()&65535));this.H=this.H&-256| a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this, this.J&255,this.U(this.D,this.C+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D, @@ -237,17 +237,17 @@ this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>> 8,this.U(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D, this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df, -Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg],O=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.H=a.call(this, -this.H,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.J=a.call(this, -this.J,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.K=a.call(this, -this.K,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F));this.A-=this.B.aa}, -function(a){this.K=a.call(this,this.K,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.F& -65535));this.A-=this.B.ha},function(a){this.C=a.call(this,this.C,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+ -this.F&65535));this.A-=this.B.ia},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.Y=a.call(this,this.Y,this.V(this.D, -this.C));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.I=a.call(this,this.I,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.I=a.call(this, -this.I,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.G= -a.call(this,this.G,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.L()));this.A-=this.B.xa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.F= -a.call(this,this.F,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.F=a.call(this,this.F,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.V(this.D,this.L()));this.A-=this.B.xa}, +Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg],O=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this, +this.H,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.J=a.call(this, +this.J,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.K=a.call(this, +this.K,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F));this.A-=this.B.aa}, +function(a){this.K=a.call(this,this.K,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.F& +65535));this.A-=this.B.ia},function(a){this.C=a.call(this,this.C,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+ +this.F&65535));this.A-=this.B.ja},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.Y=a.call(this,this.Y,this.V(this.D, +this.C));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.I=a.call(this,this.I,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.I=a.call(this, +this.I,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.G= +a.call(this,this.G,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.L()));this.A-=this.B.za},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ia},function(a){this.F= +a.call(this,this.F,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ja},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ja},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ia},function(a){this.F=a.call(this,this.F,this.V(this.D,this.G));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.V(this.D,this.L()));this.A-=this.B.za}, function(a){this.F=a.call(this,this.F,this.V(this.D,this.C));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.H= a.call(this,this.H,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.V(this.D, this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.M()& @@ -273,20 +273,20 @@ this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I, this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q}, function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F= a.call(this,this.F,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,ch,dh,eh, -fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh],yh=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha}, -function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-= -this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.F), -b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this, -this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a, -b){var c=a[2].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F&65535),b.call(this)); -this.R(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G&65535), -b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c= -a[4].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia}, -function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.L()),b.call(this));this.R(c); -this.A-=this.B.xa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.O(this.N, -this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this, -this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-= -this.B.aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.xa},function(a,b){var c=a[7].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.M()& +fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh],yh=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia}, +function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-= +this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.F), +b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this, +this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a, +b){var c=a[2].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F&65535),b.call(this)); +this.R(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a,b){var c=a[3].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G&65535), +b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c= +a[4].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a,b){var c=a[4].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja}, +function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.L()),b.call(this));this.R(c); +this.A-=this.B.za},function(a,b){var c=a[5].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.O(this.N, +this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a,b){var c=a[6].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this, +this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-= +this.B.aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.za},function(a,b){var c=a[7].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.M()& 65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c); this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c= a[1].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+ @@ -327,20 +327,20 @@ this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this. c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a, b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c= a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],zh=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= -this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.F), -b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this, -this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a, -b){var c=a[1].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535), -b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c= -a[3].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia}, -function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.L()),b.call(this));this.S(c); -this.A-=this.B.xa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.N, -this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this, -this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-= -this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a,b){var c=a[6].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D, -this.L()),b.call(this));this.S(c);this.A-=this.B.xa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-= +this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.F), +b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this, +this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a, +b){var c=a[1].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a,b){var c=a[2].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535), +b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c= +a[3].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a,b){var c=a[3].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja}, +function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.L()),b.call(this));this.S(c); +this.A-=this.B.za},function(a,b){var c=a[4].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.P(this.N, +this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a,b){var c=a[5].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this, +this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-= +this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a,b){var c=a[6].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D, +this.L()),b.call(this));this.S(c);this.A-=this.B.za},function(a,b){var c=a[7].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-= this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this, this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F+ this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-= @@ -377,292 +377,292 @@ 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.$|=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))}],Bh=[function(){var a=this.fa();16>(a&56)&&(this.$|=1);zh[a].call(this,cd,re)},function(){var a=this.fa();a&16||(this.$|=1);zh[a].call(this,Ah,re)},function(){O[this.fa()].call(this,Qe)},function(){O[this.fa()].call(this,Ue)},N,function(){Xe.call(this,this.ta(2054));this.F=this.ta(2086);this.G=this.ta(2088); -this.I=this.ta(2090);this.Y=this.ta(2092);this.C=this.ta(2094);this.K=this.ta(2096);this.J=this.ta(2098);this.H=this.ta(2100);dc.call(this.Wa,this.ta(2084),2102);dc.call(this.ua,this.ta(2082),2108);dc.call(this.rb,this.ta(2080),2114);dc.call(this.vb,this.ta(2078),2120);this.ag=this.ua.Pb;Tc(this,this.ta(2072));K(this,this.ta(2074));this.xc=this.ta(2126)|this.ta(2128)<<16;this.ue=this.xc+this.ta(2130);this.Yc.En(this.ta(2076),2132);this.Dc=this.ta(2138)|this.ta(2140)<<16;this.Vd=this.Dc+this.ta(2142); -this.Qe.En(this.ta(2070),2144);this.A-=195},N,N,N,N,N,sc,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, -N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],dd=[function(){this.A-=2+(0>this.ja?0:1);return this.Yc.pa},function(){this.A-=2+(0>this.ja?0:1);return this.Qe.pa},function(a){this.$|=2;this.Yc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.$|=2;this.Qe.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.$|=2;this.A-=14+(0>this.ja?0:2);if(0<=this.Lb.load(a,!0)&&2048!=(this.Lb.ab&2560)&&(3072==(this.Lb.ab&3072)||this.Lb.Pb>=(this.ua.pa&3)&&this.Lb.Pb>=(a&3)))return zd(this),a; -ud(this);return a},function(a){this.$|=2;this.A-=14+(0>this.ja?0:2);if(0<=this.Lb.load(a,!0)&&512==(this.Lb.ab&2560)&&this.Lb.Pb>=(this.ua.pa&3)&&this.Lb.Pb>=(a&3))return zd(this),a;ud(this);return a},M,M],ed=[Lc,Lc,Lc,Lc,Lc,Lc,M,M],cd=ed,Ah=[function(a){0>this.ja?sc.call(this):(a=this.ue-this.xc,this.Zc(this.ja+2,this.xc),this.Zc(this.ja+4,65280|this.xc>>16),this.A-=11);return a},function(a){0>this.ja?sc.call(this):(a=this.Vd-this.Dc,this.Zc(this.ja+2,this.Dc),this.Zc(this.ja+4,65280|this.Dc>>16), -this.A-=12);return a},function(a){0>this.ja?sc.call(this):(this.xc=this.ta(this.ja+2)|this.tb(this.ja+4)<<16,this.ue=this.xc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ja?sc.call(this):(this.Dc=this.ta(this.ja+2)|this.tb(this.ja+4)<<16,this.Vd=this.Dc+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.Ac},M,function(a){Xe.call(this,a);this.A-=0>this.ja?3:6;this.$|=2;return a},M];function Oc(){Bh[this.fa()].call(this)} -function Qc(){L(this,this.Y);this.A-=this.B.pc}function tc(){var a=this.Y;L(this,this.H);L(this,this.J);L(this,this.K);L(this,this.C);L(this,a);L(this,this.I);L(this,this.G);L(this,this.F);this.A-=this.B.xl}function uc(){this.F=this.Ja();this.G=this.Ja();this.I=this.Ja();this.Y+=2;this.C=this.Ja();this.K=this.Ja();this.J=this.Ja();this.H=this.Ja();this.A-=this.B.vl}function vc(){O[this.fa()].call(this,Oe)}function Pc(){wh[this.fa()].call(this,Pe)}function wc(){L(this,this.L());this.A-=this.B.pc} -function xc(){O[this.fa()].call(this,Je)}function yc(){L(this,this.fa());this.A-=this.B.pc}function zc(){O[this.fa()].call(this,Ie)}function Ac(){var a=1,b=0,c=5;this.ya&192&&(a=this.J,b=1,this.ya&256&&(c=4));if(a--){var d=vb(this.oa,this.K,this.Da-b-1);this.Jd(this.Wa.fc(this.F,0),d);this.F=this.F+(this.za&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}} -function Bc(){var a=1,b=0,c=5;this.ya&192&&(a=this.J,b=1,this.ya&256&&(c=4));if(a--){var d=this.Da-b-1,d=vb(this.oa,this.K,d)|vb(this.oa,this.K,d)<<8;this.Zc(this.Wa.fc(this.F,1),d);this.F=this.F+(this.za&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}} -function Cc(){var a=1,b=0,c=5;this.ya&192&&(a=this.J,b=1,this.ya&256&&(c=4));if(a--){var d=this.tb(this.vb.cd(this.G,0));this.G=this.G+(this.za&1024?-1:1)&65535;this.A-=c;this.J-=b;zb(this.oa,this.K,d,this.Da-b-1);a&&(ld(this,-2),this.$|=256)}} -function Dc(){var a=1,b=0,c=5;this.ya&192&&(a=this.J,b=1,this.ya&256&&(c=4));if(a--){var d=this.ta(this.vb.cd(this.G,1));this.G=this.G+(this.za&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Da-b-1;zb(this.oa,this.K,d&255,b);zb(this.oa,this.K,d>>8,b);a&&(ld(this,-2),this.$|=256)}}function Ch(){var a=this.M();rd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Dh(){var a=this.M();rd(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)} -function Eh(){var a=this.M();md(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Fh(){var a=this.M();md(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)}function Gh(){var a=this.M();pd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Hh(){var a=this.M();pd(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)}function Ih(){var a=this.M();md(this)||pd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb} -function Jh(){var a=this.M();md(this)||pd(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)}function Kh(){var a=this.M();qd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Lh(){var a=this.M();qd(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)}function Mh(){var a=this.M();nd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Nh(){var a=this.M();nd(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)} -function Oh(){var a=this.M();!qd(this)!=!rd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Ph(){var a=this.M();!qd(this)==!rd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Qh(){var a=this.M();pd(this)||!qd(this)!=!rd(this)?(K(this,this.ra+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Rh(){var a=this.M();pd(this)||!qd(this)!=!rd(this)?this.A-=this.B.Vb:(K(this,this.ra+a),this.A-=this.B.Ub)} -function Sh(){yh[this.fa()].call(this,te,this.fa);this.A-=0>this.Ka?1:this.B.zh}function Ec(){yh[this.fa()].call(this,Ce,qe)}function Fc(){zh[this.fa()].call(this,De,qe)}function Th(){var a=this.L();K(this,this.Ja());this.Y=this.Y+a&65535;this.A-=this.B.Cl}function Uh(){K(this,this.Ja());this.A-=this.B.zl} -function Gc(){var a=this.L(),b=this.fa()&31;this.A-=11;L(this,this.I);var c=this.Y;if(0>8,c,d=od(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.ea=65536;c&&(this.Z|=this.ea);d?yd(this):td(this);this.A-=this.B.Je},function(){vh[this.fa()].call(this,Rd)},function(){wh[this.fa()].call(this,Zd)},function(){xh[this.fa()].call(this,Rd)},function(){O[this.fa()].call(this,Zd)},function(){this.H=this.H&-256|Rd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Zd.call(this,this.H,this.L());this.A--}, -function(){this.$|=20;this.D=this.N=this.vb;this.A-=this.B.ke},function(){var a=this.H&255,b=this.H>>8,c,d=od(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.ea=65536;c&&(this.Z|=this.ea);d?yd(this):td(this);this.A-=this.B.Je},function(){this.na=this.H;this.H=(this.ka=this.H+1)&65535;this.Z=this.H|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ka=this.J+1)&65535;this.Z=this.J|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-= -2},function(){this.na=this.K;this.K=(this.ka=this.K+1)&65535;this.Z=this.K|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ka=this.C+1)&65535;this.Z=this.C|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.Y;this.Y=(this.ka=this.Y+1)&65535;this.Z=this.Y|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ka=this.I+1)&65535;this.Z=this.I|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na= -this.G;this.G=(this.ka=this.G+1)&65535;this.Z=this.G|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ka=this.F+1)&65535;this.Z=this.F|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.H;this.H=(this.ka=this.H-1)&65535;this.Z=this.H|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ka=this.J-1)&65535;this.Z=this.J|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.K;this.K= -(this.ka=this.K-1)&65535;this.Z=this.K|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ka=this.C-1)&65535;this.Z=this.C|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.Y;this.Y=(this.ka=this.Y-1)&65535;this.Z=this.Y|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ka=this.I-1)&65535;this.Z=this.I|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.G;this.G=(this.ka=this.G- -1)&65535;this.Z=this.G|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ka=this.F-1)&65535;this.Z=this.F|(this.Z&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){L(this,this.H);this.A-=this.B.pc},function(){L(this,this.J);this.A-=this.B.pc},function(){L(this,this.K);this.A-=this.B.pc},function(){L(this,this.C);this.A-=this.B.pc},function(){L(this,this.Y-2&65535);this.A-=this.B.pc},function(){L(this,this.I);this.A-=this.B.pc},function(){L(this,this.G);this.A-= -this.B.pc},function(){L(this,this.F);this.A-=this.B.pc},function(){this.H=this.Ja();this.A-=this.B.hc},function(){this.J=this.Ja();this.A-=this.B.hc},function(){this.K=this.Ja();this.A-=this.B.hc},function(){this.C=this.Ja();this.A-=this.B.hc},function(){this.Y=this.Ja();this.A-=this.B.hc},function(){this.I=this.Ja();this.A-=this.B.hc},function(){this.G=this.Ja();this.A-=this.B.hc},function(){this.F=this.Ja();this.A-=this.B.hc},Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Ch,Dh,Eh,Fh,Gh,Hh,Ih, -Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,function(){zh[this.fa()].call(this,ue,this.L);this.A-=0>this.Ka?1:this.B.zh},Sh,function(){zh[this.fa()].call(this,ue,this.M);this.A-=0>this.Ka?1:this.B.zh},function(){vh[this.fa()].call(this,Ge)},function(){wh[this.fa()].call(this,He)},function(){xh[this.Og=this.fa()].call(this,Ve)},function(){O[this.Og=this.fa()].call(this,We)},function(){this.$|=1;vh[this.fa()].call(this,Ee)},function(){this.$|=1;wh[this.fa()].call(this,Ee)},function(){xh[this.fa()].call(this,Ee)}, -function(){O[this.fa()].call(this,Ee)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Cb=this.Wa.pa;break;case 1:this.Cb=this.ua.pa;break;case 2:this.Cb=this.rb.pa;break;case 3:this.Cb=this.vb.pa;break;default:N.call(this);return}this.$|=1;wh[a].call(this,Fe)},function(){this.$|=1;this.D=this.N=this.Ul;O[this.fa()].call(this,Le)},function(){var a,b=this.fa(),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.Ga){sc.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}}O[b].call(this,Ee);switch(c){case 0:kd(this,this.H);this.H=a;break;case 1:hd(this,this.J);this.J=a;break;case 2:jd(this,this.K);this.K=a;break;case 3:id(this,this.C);this.C=a;break;case 4:kd(this,this.Y);this.Y=a;break;case 5:hd(this,this.I);this.I=a;break;case 6:jd(this,this.G);this.G=a;break;case 7:id(this,this.F),this.F=a}},function(){this.$|=1;zh[this.fa()].call(this,ve,this.Ja)},function(){this.A-= +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))}],Bh=[function(){var a=this.ga();16>(a&56)&&(this.$|=1);zh[a].call(this,cd,se)},function(){var a=this.ga();a&16||(this.$|=1);zh[a].call(this,Ah,se)},function(){O[this.ga()].call(this,Re)},function(){O[this.ga()].call(this,Ve)},N,function(){this.wa.Jc?hc.call(this,13,0,!0):(Ye.call(this,this.ta(2054)),this.F= +this.ta(2086),this.G=this.ta(2088),this.I=this.ta(2090),this.Y=this.ta(2092),this.C=this.ta(2094),this.K=this.ta(2096),this.J=this.ta(2098),this.H=this.ta(2100),mc(this.Za,this.ta(2084),2102),mc(this.wa,this.ta(2082),2108),mc(this.tb,this.ta(2080),2114),mc(this.yb,this.ta(2078),2120),Tc(this,this.ta(2072)),K(this,this.ta(2074)),this.xc=this.ta(2126)|this.ta(2128)<<16,this.xe=this.xc+this.ta(2130),mc(this.ad,this.ta(2076),2132),this.Ec=this.ta(2138)|this.ta(2140)<<16,this.Yd=this.Ec+this.ta(2142), +mc(this.Te,this.ta(2070),2144),this.A-=195)},N,N,N,N,N,sc,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, +N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],dd=[function(){this.A-=2+(0>this.ka?0:1);return this.ad.sa},function(){this.A-=2+(0>this.ka?0:1);return this.Te.sa},function(a){this.$|=2;this.ad.load(a);this.A-=17+(0>this.ka?0:2);return a},function(a){this.$|=2;this.Te.load(a);this.A-=17+(0>this.ka?0:2);return a},function(a){this.$|=2;this.A-=14+(0>this.ka?0:2);if(0<=this.Mb.load(a,!0)&&2048!=(this.Mb.Oa&2560)&&(this.Mb.zc>=this.wa.Jc&&this.Mb.zc>=(a&3)||7168==(this.Mb.Oa&7168)))return zd(this),a;ud(this); +return a},function(a){this.$|=2;this.A-=14+(0>this.ka?0:2);if(0<=this.Mb.load(a,!0)&&512==(this.Mb.Oa&2560)&&this.Mb.zc>=this.wa.Jc&&this.Mb.zc>=(a&3))return zd(this),a;ud(this);return a},M,M],ed=[Lc,Lc,Lc,Lc,Lc,Lc,M,M],cd=ed,Ah=[function(a){0>this.ka?sc.call(this):(a=this.xe-this.xc,this.bd(this.ka+2,this.xc),this.bd(this.ka+4,65280|this.xc>>16),this.A-=11);return a},function(a){0>this.ka?sc.call(this):(a=this.Yd-this.Ec,this.bd(this.ka+2,this.Ec),this.bd(this.ka+4,65280|this.Ec>>16),this.A-=12); +return a},function(a){0>this.ka?sc.call(this):(this.xc=this.ta(this.ka+2)|this.vb(this.ka+4)<<16,this.xe=this.xc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ka?sc.call(this):(this.Ec=this.ta(this.ka+2)|this.vb(this.ka+4)<<16,this.Yd=this.Ec+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ka?0:1);return this.Bc},M,function(a){Ye.call(this,a);this.A-=0>this.ka?3:6;this.$|=2;return a},M];function Oc(){Bh[this.ga()].call(this)}function Qc(){L(this,this.Y);this.A-=this.B.pc} +function tc(){var a=this.Y;L(this,this.H);L(this,this.J);L(this,this.K);L(this,this.C);L(this,a);L(this,this.I);L(this,this.G);L(this,this.F);this.A-=this.B.Bl}function uc(){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.zl}function vc(){O[this.ga()].call(this,Pe)}function Pc(){wh[this.ga()].call(this,Qe)}function wc(){L(this,this.L());this.A-=this.B.pc}function xc(){O[this.ga()].call(this,Ke)} +function yc(){L(this,this.ga());this.A-=this.B.pc}function zc(){O[this.ga()].call(this,Je)}function Ac(){var a=1,b=0,c=5;this.Aa&192&&(a=this.J,b=1,this.Aa&256&&(c=4));if(a--){var d=vb(this.qa,this.K,this.Fa-b-1);this.Md(this.Za.fc(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}} +function Bc(){var a=1,b=0,c=5;this.Aa&192&&(a=this.J,b=1,this.Aa&256&&(c=4));if(a--){var d=this.Fa-b-1,d=vb(this.qa,this.K,d)|vb(this.qa,this.K,d)<<8;this.bd(this.Za.fc(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}} +function Cc(){var a=1,b=0,c=5;this.Aa&192&&(a=this.J,b=1,this.Aa&256&&(c=4));if(a--){var d=this.vb(this.yb.gd(this.G,0));this.G=this.G+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;zb(this.qa,this.K,d,this.Fa-b-1);a&&(ld(this,-2),this.$|=256)}} +function Dc(){var a=1,b=0,c=5;this.Aa&192&&(a=this.J,b=1,this.Aa&256&&(c=4));if(a--){var d=this.ta(this.yb.gd(this.G,1));this.G=this.G+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Fa-b-1;zb(this.qa,this.K,d&255,b);zb(this.qa,this.K,d>>8,b);a&&(ld(this,-2),this.$|=256)}}function Ch(){var a=this.M();rd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Dh(){var a=this.M();rd(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)} +function Eh(){var a=this.M();md(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Fh(){var a=this.M();md(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)}function Gh(){var a=this.M();pd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Hh(){var a=this.M();pd(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)}function Ih(){var a=this.M();md(this)||pd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb} +function Jh(){var a=this.M();md(this)||pd(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)}function Kh(){var a=this.M();qd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Lh(){var a=this.M();qd(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)}function Mh(){var a=this.M();nd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Nh(){var a=this.M();nd(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)} +function Oh(){var a=this.M();!qd(this)!=!rd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Ph(){var a=this.M();!qd(this)==!rd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Qh(){var a=this.M();pd(this)||!qd(this)!=!rd(this)?(K(this,this.ua+a),this.A-=this.B.Ub):this.A-=this.B.Vb}function Rh(){var a=this.M();pd(this)||!qd(this)!=!rd(this)?this.A-=this.B.Vb:(K(this,this.ua+a),this.A-=this.B.Ub)} +function Sh(){yh[this.ga()].call(this,ue,this.ga);this.A-=0>this.Ma?1:this.B.Ch}function Ec(){yh[this.ga()].call(this,De,re)}function Fc(){zh[this.ga()].call(this,Ee,re)}function Th(){var a=this.L();K(this,this.La());this.Y=this.Y+a&65535;this.A-=this.B.Gl}function Uh(){K(this,this.La());this.A-=this.B.Dl} +function Gc(){var a=this.L(),b=this.ga()&31;this.A-=11;L(this,this.I);var c=this.Y;if(0>8,c,d=od(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.fa=65536;c&&(this.Z|=this.fa);d?yd(this):td(this);this.A-=this.B.Me},function(){vh[this.ga()].call(this,Sd)},function(){wh[this.ga()].call(this,$d)},function(){xh[this.ga()].call(this,Sd)},function(){O[this.ga()].call(this,$d)},function(){this.H=this.H&-256|Sd.call(this,this.H&255,this.ga());this.A--},function(){this.H=$d.call(this,this.H,this.L());this.A--}, +function(){this.$|=20;this.D=this.N=this.yb;this.A-=this.B.ne},function(){var a=this.H&255,b=this.H>>8,c,d=od(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.fa=65536;c&&(this.Z|=this.fa);d?yd(this):td(this);this.A-=this.B.Me},function(){this.oa=this.H;this.H=(this.la=this.H+1)&65535;this.Z=this.H|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.J;this.J=(this.la=this.J+1)&65535;this.Z=this.J|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-= +2},function(){this.oa=this.K;this.K=(this.la=this.K+1)&65535;this.Z=this.K|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.C;this.C=(this.la=this.C+1)&65535;this.Z=this.C|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.Y;this.Y=(this.la=this.Y+1)&65535;this.Z=this.Y|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.I;this.I=(this.la=this.I+1)&65535;this.Z=this.I|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa= +this.G;this.G=(this.la=this.G+1)&65535;this.Z=this.G|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.F;this.F=(this.la=this.F+1)&65535;this.Z=this.F|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.H;this.H=(this.la=this.H-1)&65535;this.Z=this.H|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.J;this.J=(this.la=this.J-1)&65535;this.Z=this.J|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.K;this.K= +(this.la=this.K-1)&65535;this.Z=this.K|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.C;this.C=(this.la=this.C-1)&65535;this.Z=this.C|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.Y;this.Y=(this.la=this.Y-1)&65535;this.Z=this.Y|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.I;this.I=(this.la=this.I-1)&65535;this.Z=this.I|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.G;this.G=(this.la=this.G- +1)&65535;this.Z=this.G|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){this.oa=this.F;this.F=(this.la=this.F-1)&65535;this.Z=this.F|(this.Z&this.fa?1:0)<<16;this.fa=65536;this.A-=2},function(){L(this,this.H);this.A-=this.B.pc},function(){L(this,this.J);this.A-=this.B.pc},function(){L(this,this.K);this.A-=this.B.pc},function(){L(this,this.C);this.A-=this.B.pc},function(){L(this,this.Y-2&65535);this.A-=this.B.pc},function(){L(this,this.I);this.A-=this.B.pc},function(){L(this,this.G);this.A-= +this.B.pc},function(){L(this,this.F);this.A-=this.B.pc},function(){this.H=this.La();this.A-=this.B.hc},function(){this.J=this.La();this.A-=this.B.hc},function(){this.K=this.La();this.A-=this.B.hc},function(){this.C=this.La();this.A-=this.B.hc},function(){this.Y=this.La();this.A-=this.B.hc},function(){this.I=this.La();this.A-=this.B.hc},function(){this.G=this.La();this.A-=this.B.hc},function(){this.F=this.La();this.A-=this.B.hc},Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Ch,Dh,Eh,Fh,Gh,Hh,Ih, +Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,function(){zh[this.ga()].call(this,ve,this.L);this.A-=0>this.Ma?1:this.B.Ch},Sh,function(){zh[this.ga()].call(this,ve,this.M);this.A-=0>this.Ma?1:this.B.Ch},function(){vh[this.ga()].call(this,He)},function(){wh[this.ga()].call(this,Ie)},function(){xh[this.Rg=this.ga()].call(this,We)},function(){O[this.Rg=this.ga()].call(this,Xe)},function(){this.$|=1;vh[this.ga()].call(this,Fe)},function(){this.$|=1;wh[this.ga()].call(this,Fe)},function(){xh[this.ga()].call(this,Fe)}, +function(){O[this.ga()].call(this,Fe)},function(){var a=this.ga();switch((a&56)>>3){case 0:this.Eb=this.Za.sa;break;case 1:this.Eb=this.wa.sa;break;case 2:this.Eb=this.tb.sa;break;case 3:this.Eb=this.yb.sa;break;default:N.call(this);return}this.$|=1;wh[a].call(this,Ge)},function(){this.$|=1;this.D=this.N=this.Yl;O[this.ga()].call(this,Me)},function(){var a,b=this.ga(),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){sc.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}}O[b].call(this,Fe);switch(c){case 0:kd(this,this.H);this.H=a;break;case 1:hd(this,this.J);this.J=a;break;case 2:jd(this,this.K);this.K=a;break;case 3:id(this,this.C);this.C=a;break;case 4:kd(this,this.Y);this.Y=a;break;case 5:hd(this,this.I);this.I=a;break;case 6:jd(this,this.G);this.G=a;break;case 7:id(this,this.F),this.F=a}},function(){this.$|=1;zh[this.ga()].call(this,we,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.Jk},function(){var a=this.L(),b=this.L();L(this,this.ua.pa);L(this,this.ra);Sc(this,a,b);this.A-=this.B.Mk},function(){N.call(this)},function(){L(this,Vc(this));this.A-=this.B.pc},function(){Tc(this,this.Ja());this.A-=this.B.hc},function(){var a=this.H>>8;a&1?xd(this):sd(this);a&4?nd(this)||(this.ka^=1):nd(this)&&(this.ka^=1);a&16?yd(this):td(this);a&64?zd(this):ud(this);a&128?Ad(this):vd(this);this.A-=this.B.Bb},function(){this.H=this.H&255|(Vc(this)&213)<<8;this.A-=this.B.Bb},function(){this.H= -this.H&-256|this.U(this.D,this.L());this.A-=this.B.dj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.dj},function(){var a=this.L(),b=this.H;this.Jd(this.D.fc(a,0),b);this.A-=this.B.ej},function(){var a=this.L(),b=this.H;this.Zc(this.D.fc(a,1),b);this.A-=this.B.ej},function(){var a=1,b=0,c=this.B.fj;this.ya&192&&(a=this.J,b=1,c=this.B.hj,this.ya&256||(this.A-=this.B.gj));if(a--){var d=this.za&1024?-1:1,e=this.U(this.D,this.G);this.Jd(this.Wa.fc(this.F,0),e);this.G=this.G+d&65535;this.F= -this.F+d&65535;this.A-=c;this.J-=b;a&&(ld(this,this.ya&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.fj;this.ya&192&&(a=this.J,b=1,c=this.B.hj,this.ya&256||(this.A-=this.B.gj));if(a--){var d=this.za&1024?-2:2,e=this.V(this.D,this.G);this.Zc(this.Wa.fc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(ld(this,this.ya&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.Qi;this.ya&192&&(a=this.J,b=1,c=this.B.Si,this.ya&256||(this.A-=this.B.Ri));if(a--){var d= -this.za&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.Wa,this.F);Rd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.qb;this.J-=b;a&&pd(this)==(this.ya&64)&&(ld(this,this.ya&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.Qi;this.ya&192&&(a=this.J,b=1,c=this.B.Si,this.ya&256||(this.A-=this.B.Ri));if(a--){var d=this.za&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.Wa,this.F);Zd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.qb;this.J-= -b;a&&pd(this)==(this.ya&64)&&(ld(this,this.ya&16?-3:-2),this.$|=256)}},function(){this.Z=this.ka=this.na=this.H&255&this.fa();this.ea=256;this.A-=this.B.Je},function(){this.Z=this.ka=this.na=this.H&this.L();this.ea=65536;this.A-=this.B.Je},function(){var a=1,b=0,c=this.B.qj;this.ya&192&&(a=this.J,b=1,c=this.B.sj,this.ya&256||(this.A-=this.B.rj));if(a--){var d=this.H;this.Jd(this.Wa.fc(this.F,0),d);this.F=this.F+(this.za&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}},function(){var a= -1,b=0,c=this.B.qj;this.ya&192&&(a=this.J,b=1,c=this.B.sj,this.ya&256||(this.A-=this.B.rj));if(a--){var d=this.H;this.Zc(this.Wa.fc(this.F,1),d);this.F=this.F+(this.za&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.Yi;this.ya&192&&(a=this.J,b=1,c=this.B.$i,this.ya&256||(this.A-=this.B.Zi));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.za&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(ld(this,this.ya&16?-3:-2),this.$|=256))},function(){var a= -1,b=0,c=this.B.Yi;this.ya&192&&(a=this.J,b=1,c=this.B.$i,this.ya&256||(this.A-=this.B.Zi));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.za&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(ld(this,this.ya&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.B.kj;this.ya&192&&(a=this.J,b=1,c=this.B.mj,this.ya&256||(this.A-=this.B.lj));a--&&(Rd.call(this,this.H&255,this.O(this.Wa,this.F)),this.F=this.F+(this.za&1024?-1:1)&65535,this.A-=c-this.B.qb,this.J-=b,a&&pd(this)==(this.ya&64)&&(ld(this,-2), -this.$|=256))},function(){var a=1,b=0,c=this.B.kj;this.ya&192&&(a=this.J,b=1,c=this.B.mj,this.ya&256||(this.A-=this.B.lj));a--&&(Zd.call(this,this.H,this.P(this.Wa,this.F)),this.F=this.F+(this.za&1024?-2:2)&65535,this.A-=c-this.B.qb,this.J-=b,a&&pd(this)==(this.ya&64)&&(ld(this,-2),this.$|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Bb},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Bb},function(){this.K=this.K&-256|this.fa();this.A-=this.B.Bb},function(){this.C=this.C&-256| -this.fa();this.A-=this.B.Bb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Bb},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Bb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Bb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Bb},function(){this.H=this.L();this.A-=this.B.Bb},function(){this.J=this.L();this.A-=this.B.Bb},function(){this.K=this.L();this.A-=this.B.Bb},function(){this.C=this.L();this.A-=this.B.Bb},function(){this.Y=this.L();this.A-=this.B.Bb}, -function(){this.I=this.L();this.A-=this.B.Bb},function(){this.G=this.L();this.A-=this.B.Bb},function(){this.F=this.L();this.A-=this.B.Bb},Th,Uh,Th,Uh,function(){O[this.fa()].call(this,Ne)},function(){O[this.fa()].call(this,Me)},function(){this.$|=1;yh[this.fa()].call(this,we,this.fa)},function(){this.$|=1;zh[this.fa()].call(this,we,this.L)},Vh,Wh,Vh,Wh,function(){Fd.call(this,3,null,this.B.cl)},function(){var a=this.fa();Xc(this,a)?Fd.call(this,a,null,0):this.A--},function(){rd(this)?Fd.call(this, -4,null,this.B.dl):this.A-=this.B.el},function(){Sc(this,this.Ja(),this.Ja());Tc(this,this.Ja());this.Vg&&bd(this,this.Da);this.A-=this.B.al},function(){yh[this.fa()].call(this,xe,oe)},function(){zh[this.fa()].call(this,ye,oe)},function(){yh[this.fa()].call(this,xe,pe)},function(){zh[this.fa()].call(this,ye,pe)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.Z=this.ka=b;this.A-=this.B.Gk},function(){var a=this.fa();this.Z=this.ka=this.H=(this.H>>8)*a+this.H&255;this.ea= -256;this.A-=this.B.Fk},function(){this.H=this.H&-256|(md(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.El},Xh,Xh,Xh,Xh,Xh,Xh,Xh,Xh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Z&this.ea-1?(K(this,this.ra+a),this.A-=this.B.ll):this.A-=this.B.aj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Z&this.ea-1?this.A-=this.B.cj:(K(this,this.ra+a),this.A-=this.B.bj)},function(){var a=this.M();(this.J=this.J-1&65535)?(K(this, -this.ra+a),this.A-=this.B.kl):this.A-=this.B.aj},function(){var a=this.M();this.J?this.A-=this.B.cj:(K(this,this.ra+a),this.A-=this.B.bj)},function(){var a=this.fa();this.H=this.H&-256|vb(this.oa,a,this.Da-2);this.A-=this.B.Vi},function(){var a=this.fa();this.H=vb(this.oa,a,this.Da-1)|vb(this.oa,a+1&65535,this.Da-2)<<8;this.A-=this.B.Vi},function(){var a=this.fa();zb(this.oa,a,this.H&255,this.Da-2);this.A-=this.B.jj},function(){var a=this.fa();zb(this.oa,a,this.H&255,this.Da-2);zb(this.oa,a+1&65535, -this.H>>8,this.Da-2);this.A-=this.B.jj},function(){var a=this.L();L(this,this.ra);K(this,this.ra+a);this.A-=this.B.Kk},function(){var a=this.L();K(this,this.ra+a);this.A-=this.B.Wi},function(){Sc(this,this.L(),this.L());this.A-=this.B.gl},function(){var a=this.M();K(this,this.ra+a);this.A-=this.B.Wi},function(){this.H=this.H&-256|vb(this.oa,this.K,this.Da-1);this.A-=this.B.Ui},function(){this.H=vb(this.oa,this.K,this.Da-1)|vb(this.oa,this.K+1&65535,this.Da-1)<<8;this.A-=this.B.Ui},function(){zb(this.oa, -this.K,this.H&255,this.Da-1);this.A-=this.B.ij},function(){zb(this.oa,this.K,this.H&255,this.Da-1);zb(this.oa,this.K+1&65535,this.H>>8,this.Da-1);this.A-=this.B.ij},Yh,Yh,function(){this.$|=132;this.A-=this.B.ke},function(){this.$|=68;this.A-=this.B.ke},function(){this.kb|=4;this.A-=2;this.ba&&Cd(this.ba)?(ld(this,-1),this.zb()):this.za&512||(this.ba&&ld(this,-1),this.zb())},function(){md(this)?sd(this):xd(this);this.A-=2},function(){this.Cb=-1;yh[this.fa()].call(this,Ae,re);0<=this.Cb&&(this.H=this.Cb)}, -function(){this.Cb=-1;zh[this.fa()].call(this,Be,re);0<=this.Cb&&(this.H=this.Cb,this.K=this.ug)},function(){this.Z&=~this.ea;this.A-=2},function(){this.Z|=this.ea;this.A-=2},function(){this.za&=-513;this.A-=this.B.Ik},function(){this.za|=512;this.$|=4;this.A-=2},function(){this.za&=-1025;this.A-=2},function(){this.za|=1024;this.A-=2},function(){yh[this.fa()].call(this,Kc,re)},function(){zh[this.fa()].call(this,Nc,re)}]; -function P(a){y.call(this,"ChipSet",a,P);this.Ga=a.model;this.Ga=void 0!==this.Ga?parseInt(this.Ga,10):Zh;this.Yb=0;var b=a.sw1;if(b)this.Yb=$h(b,ai|bi.cm);else{this.Qd=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Qd=b);if(b=this.Qd.length)this.Yb|=ci.Ph,b--,this.Yb|=(b&3)<=di&&(this.Mf=this.Nf=2);this.jh=a.scaleTimers||!1; -this.Zo=a.rtcDate;this.qk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.fi=new webkitAudioContext);this.reset(!0);this.Qa()}A(y,P);var Zh=5150,di=5170,ei={none:0,tv:1,color:2,mono:3,ega:0},ci={Ph:1,ONE:0,Cp:64,Ap:128,kp:192,zf:192,Af:6},ai=12,bi={Bp:16,fp:32,cm:48,zf:48,Af:4};k=P.prototype; -k.wb=function(a,b,c,d){switch(c){case "sw1":return this.va[c]=d,fi(this,c,d,this.Yb,{0:this.Ga==Zh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==Zh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==Zh)return this.va[c]=d,fi(this,c,d,this.qe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.va[c]=d,!0}return!1}; -k.oc=function(a,b,c,d){this.oa=b;this.T=c;this.ba=d;this.Fa=a;this.cb=db(a,"Keyboard");this.Fl=Math.round(c.Ed/1193181);sb(b,this,gi);yb(b,this,hi);this.Gab;b++){var c=13>=b?qi(e,b):e.qa[b];a&&(a+="\n");a+="CMOS[0x"+t(b)+"]: 0x"+t(c)}e.ba.message(a)})}Wc(c,26,this,this.An)};k.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0}; -k.reset=function(a){var b;this.$c=this.Yb;this.Te=this.qe;ri(this);this.$a=Array(this.Mf);for(b=0;b=di){this.hb=16;this.rd=0;this.Wd=16;this.Lg=0;this.we=160;512<=vi(this)&&(this.we|=16);3==wi(this)&&(this.we|=64);this.Zh=3;this.Jf=0;this.Hg=Array(7);this.xe=0;a&&(this.qa=Array(64)); -xi(this,this.Zo);for(a=21;24>=a;a++)this.qa[a]=0;for(a=14;46>a;a++)void 0===this.qa[a]&&(this.qa[a]=0);this.qa[20]=this.$c&(bi.zf|2|ci.Ph|ci.zf);this.qa[16]=yi(this,0)<<4|yi(this,1);zi(this)}}; -function xi(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.qa[0]=c.getSeconds();a.qa[1]=0;a.qa[2]=c.getMinutes();a.qa[3]=0;a.qa[4]=c.getHours();a.qa[5]=0;a.qa[6]=c.getDay()+1;a.qa[7]=c.getDate();a.qa[8]=c.getMonth()+1;c=c.getFullYear();a.qa[9]=c%100;c/=100;a.qa[50]=c%10|c/10<<4;a.cg=-1;a.qa[10]=38;a.qa[11]=2;a.qa[12]=0;a.qa[13]=128} -function qi(a,b){var c=a.qa[b];if(10>b){var d=!1;4!=b&&5!=b||a.qa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.qa[11]&4||(d&&128c;c++)b+=a.qa[c];a.qa[47]=b&255;a.qa[46]=b>>8} -k.save=function(){var a=new I(this);a.set(0,[this.Yb,this.qe,this.$c,this.Te]);for(var b=[],c=0;c=di&&(a.set(5,[this.hb,this.rd,this.Wd,this.Lg,this.we,this.Zh]),a.set(6,[this.Jf,this.Hg,this.xe,this.qa,this.cg]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.Yb=b[0];this.qe=b[1];this.$c=b[2];this.Te=b[3];b=a[1];this.$a=Array(this.Mf);for(c=0;c>2)+1)*a.Dn+32*((b?a.qe:a.Te)&15)}function Ci(a,b){var c=b?a.Yb:a.$c;return a.Ga!=Zh||c&ci.Ph?((c&ci.zf)>>ci.Af)+1:0} -function yi(a,b){if(b>bi.Af} +this.B.Nk},function(){var a=this.L(),b=this.L();L(this,this.wa.sa);L(this,this.ua);Sc(this,a,b);this.A-=this.B.Qk},function(){N.call(this)},function(){L(this,Vc(this));this.A-=this.B.pc},function(){Tc(this,this.La());this.A-=this.B.hc},function(){var a=this.H>>8;a&1?xd(this):sd(this);a&4?nd(this)||(this.la^=1):nd(this)&&(this.la^=1);a&16?yd(this):td(this);a&64?zd(this):ud(this);a&128?Ad(this):vd(this);this.A-=this.B.Db},function(){this.H=this.H&255|(Vc(this)&213)<<8;this.A-=this.B.Db},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.Md(this.D.fc(a,0),b);this.A-=this.B.hj},function(){var a=this.L(),b=this.H;this.bd(this.D.fc(a,1),b);this.A-=this.B.hj},function(){var a=1,b=0,c=this.B.ij;this.Aa&192&&(a=this.J,b=1,c=this.B.kj,this.Aa&256||(this.A-=this.B.jj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.Md(this.Za.fc(this.F,0),e);this.G=this.G+d&65535;this.F= +this.F+d&65535;this.A-=c;this.J-=b;a&&(ld(this,this.Aa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.ij;this.Aa&192&&(a=this.J,b=1,c=this.B.kj,this.Aa&256||(this.A-=this.B.jj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.bd(this.Za.fc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(ld(this,this.Aa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.Ti;this.Aa&192&&(a=this.J,b=1,c=this.B.Vi,this.Aa&256||(this.A-=this.B.Ui));if(a--){var d= +this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.Za,this.F);Sd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.sb;this.J-=b;a&&pd(this)==(this.Aa&64)&&(ld(this,this.Aa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.Ti;this.Aa&192&&(a=this.J,b=1,c=this.B.Vi,this.Aa&256||(this.A-=this.B.Ui));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.Za,this.F);$d.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.sb;this.J-= +b;a&&pd(this)==(this.Aa&64)&&(ld(this,this.Aa&16?-3:-2),this.$|=256)}},function(){this.Z=this.la=this.oa=this.H&255&this.ga();this.fa=256;this.A-=this.B.Me},function(){this.Z=this.la=this.oa=this.H&this.L();this.fa=65536;this.A-=this.B.Me},function(){var a=1,b=0,c=this.B.tj;this.Aa&192&&(a=this.J,b=1,c=this.B.vj,this.Aa&256||(this.A-=this.B.uj));if(a--){var d=this.H;this.Md(this.Za.fc(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}},function(){var a= +1,b=0,c=this.B.tj;this.Aa&192&&(a=this.J,b=1,c=this.B.vj,this.Aa&256||(this.A-=this.B.uj));if(a--){var d=this.H;this.bd(this.Za.fc(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(ld(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.B.aj;this.Aa&192&&(a=this.J,b=1,c=this.B.cj,this.Aa&256||(this.A-=this.B.bj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(ld(this,this.Aa&16?-3:-2),this.$|=256))},function(){var a= +1,b=0,c=this.B.aj;this.Aa&192&&(a=this.J,b=1,c=this.B.cj,this.Aa&256||(this.A-=this.B.bj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(ld(this,this.Aa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.B.nj;this.Aa&192&&(a=this.J,b=1,c=this.B.pj,this.Aa&256||(this.A-=this.B.oj));a--&&(Sd.call(this,this.H&255,this.O(this.Za,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-=c-this.B.sb,this.J-=b,a&&pd(this)==(this.Aa&64)&&(ld(this,-2), +this.$|=256))},function(){var a=1,b=0,c=this.B.nj;this.Aa&192&&(a=this.J,b=1,c=this.B.pj,this.Aa&256||(this.A-=this.B.oj));a--&&($d.call(this,this.H,this.P(this.Za,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.sb,this.J-=b,a&&pd(this)==(this.Aa&64)&&(ld(this,-2),this.$|=256))},function(){this.H=this.H&-256|this.ga();this.A-=this.B.Db},function(){this.J=this.J&-256|this.ga();this.A-=this.B.Db},function(){this.K=this.K&-256|this.ga();this.A-=this.B.Db},function(){this.C=this.C&-256| +this.ga();this.A-=this.B.Db},function(){this.H=this.H&255|this.ga()<<8;this.A-=this.B.Db},function(){this.J=this.J&255|this.ga()<<8;this.A-=this.B.Db},function(){this.K=this.K&255|this.ga()<<8;this.A-=this.B.Db},function(){this.C=this.C&255|this.ga()<<8;this.A-=this.B.Db},function(){this.H=this.L();this.A-=this.B.Db},function(){this.J=this.L();this.A-=this.B.Db},function(){this.K=this.L();this.A-=this.B.Db},function(){this.C=this.L();this.A-=this.B.Db},function(){this.Y=this.L();this.A-=this.B.Db}, +function(){this.I=this.L();this.A-=this.B.Db},function(){this.G=this.L();this.A-=this.B.Db},function(){this.F=this.L();this.A-=this.B.Db},Th,Uh,Th,Uh,function(){O[this.ga()].call(this,Oe)},function(){O[this.ga()].call(this,Ne)},function(){this.$|=1;yh[this.ga()].call(this,xe,this.ga)},function(){this.$|=1;zh[this.ga()].call(this,xe,this.L)},Vh,Wh,Vh,Wh,function(){Fd.call(this,3,null,this.B.gl)},function(){var a=this.ga();Xc(this,a)?Fd.call(this,a,null,0):this.A--},function(){rd(this)?Fd.call(this, +4,null,this.B.hl):this.A-=this.B.il},function(){Sc(this,this.La(),this.La());Tc(this,this.La());this.Yg&&bd(this,this.Fa);this.A-=this.B.el},function(){yh[this.ga()].call(this,ye,pe)},function(){zh[this.ga()].call(this,ze,pe)},function(){yh[this.ga()].call(this,ye,qe)},function(){zh[this.ga()].call(this,ze,qe)},function(){var a=this.ga(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.fa=256;this.Z=this.la=b;this.A-=this.B.Kk},function(){var a=this.ga();this.Z=this.la=this.H=(this.H>>8)*a+this.H&255;this.fa= +256;this.A-=this.B.Jk},function(){this.H=this.H&-256|(md(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.Il},Xh,Xh,Xh,Xh,Xh,Xh,Xh,Xh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Z&this.fa-1?(K(this,this.ua+a),this.A-=this.B.pl):this.A-=this.B.dj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Z&this.fa-1?this.A-=this.B.fj:(K(this,this.ua+a),this.A-=this.B.ej)},function(){var a=this.M();(this.J=this.J-1&65535)?(K(this, +this.ua+a),this.A-=this.B.ol):this.A-=this.B.dj},function(){var a=this.M();this.J?this.A-=this.B.fj:(K(this,this.ua+a),this.A-=this.B.ej)},function(){var a=this.ga();this.H=this.H&-256|vb(this.qa,a,this.Fa-2);this.A-=this.B.Yi},function(){var a=this.ga();this.H=vb(this.qa,a,this.Fa-1)|vb(this.qa,a+1&65535,this.Fa-2)<<8;this.A-=this.B.Yi},function(){var a=this.ga();zb(this.qa,a,this.H&255,this.Fa-2);this.A-=this.B.mj},function(){var a=this.ga();zb(this.qa,a,this.H&255,this.Fa-2);zb(this.qa,a+1&65535, +this.H>>8,this.Fa-2);this.A-=this.B.mj},function(){var a=this.L();L(this,this.ua);K(this,this.ua+a);this.A-=this.B.Ok},function(){var a=this.L();K(this,this.ua+a);this.A-=this.B.Zi},function(){Sc(this,this.L(),this.L());this.A-=this.B.kl},function(){var a=this.M();K(this,this.ua+a);this.A-=this.B.Zi},function(){this.H=this.H&-256|vb(this.qa,this.K,this.Fa-1);this.A-=this.B.Xi},function(){this.H=vb(this.qa,this.K,this.Fa-1)|vb(this.qa,this.K+1&65535,this.Fa-1)<<8;this.A-=this.B.Xi},function(){zb(this.qa, +this.K,this.H&255,this.Fa-1);this.A-=this.B.lj},function(){zb(this.qa,this.K,this.H&255,this.Fa-1);zb(this.qa,this.K+1&65535,this.H>>8,this.Fa-1);this.A-=this.B.lj},Yh,Yh,function(){this.$|=132;this.A-=this.B.ne},function(){this.$|=68;this.A-=this.B.ne},function(){this.mb|=4;this.A-=2;this.ca&&Cd(this.ca)?(ld(this,-1),this.wb()):this.Ba&512||(this.ca&&ld(this,-1),this.wb())},function(){md(this)?sd(this):xd(this);this.A-=2},function(){this.Eb=-1;yh[this.ga()].call(this,Be,se);0<=this.Eb&&(this.H=this.Eb)}, +function(){this.Eb=-1;zh[this.ga()].call(this,Ce,se);0<=this.Eb&&(this.H=this.Eb,this.K=this.xg)},function(){this.Z&=~this.fa;this.A-=2},function(){this.Z|=this.fa;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.Mk},function(){this.Ba|=512;this.$|=4;this.A-=2},function(){this.Ba&=-1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){yh[this.ga()].call(this,Kc,se)},function(){zh[this.ga()].call(this,Nc,se)}]; +function P(a){y.call(this,"ChipSet",a,P);this.Ia=a.model;this.Ia=void 0!==this.Ia?parseInt(this.Ia,10):Zh;this.Yb=0;var b=a.sw1;if(b)this.Yb=$h(b,ai|bi.gm);else{this.Td=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Td=b);if(b=this.Td.length)this.Yb|=ci.Sh,b--,this.Yb|=(b&3)<=di&&(this.Qf=this.Rf=2);this.mh=a.scaleTimers||!1; +this.bp=a.rtcDate;this.uk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ii=new webkitAudioContext);this.reset(!0);this.Ta()}A(y,P);var Zh=5150,di=5170,ei={none:0,tv:1,color:2,mono:3,ega:0},ci={Sh:1,ONE:0,Fp:64,Dp:128,np:192,Cf:192,Df:6},ai=12,bi={Ep:16,ip:32,gm:48,Cf:48,Df:4};k=P.prototype; +k.zb=function(a,b,c,d){switch(c){case "sw1":return this.xa[c]=d,fi(this,c,d,this.Yb,{0:this.Ia==Zh?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==Zh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==Zh)return this.xa[c]=d,fi(this,c,d,this.te,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[c]=d,!0}return!1}; +k.oc=function(a,b,c,d){this.qa=b;this.T=c;this.ca=d;this.Ha=a;this.fb=db(a,"Keyboard");this.Jl=Math.round(c.ba.Hd/1193181);sb(b,this,gi);yb(b,this,hi);this.Iab;b++){var c=13>=b?qi(e,b):e.ra[b];a&&(a+="\n");a+="CMOS[0x"+t(b)+"]: 0x"+t(c)}e.ca.message(a)})}Wc(c,26,this,this.En)};k.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0}; +k.reset=function(a){var b;this.cd=this.Yb;this.We=this.te;ri(this);this.cb=Array(this.Qf);for(b=0;b=di){this.jb=16;this.ud=0;this.Zd=16;this.Og=0;this.ze=160;512<=vi(this)&&(this.ze|=16);3==wi(this)&&(this.ze|=64);this.bi=3;this.Nf=0;this.Kg=Array(7);this.Ae=0;a&&(this.ra=Array(64)); +xi(this,this.bp);for(a=21;24>=a;a++)this.ra[a]=0;for(a=14;46>a;a++)void 0===this.ra[a]&&(this.ra[a]=0);this.ra[20]=this.cd&(bi.Cf|2|ci.Sh|ci.Cf);this.ra[16]=yi(this,0)<<4|yi(this,1);zi(this)}}; +function xi(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ea("CMOS date invalid ("+b+"), using "+c)):b&&a.ea("CMOS date: "+c);a.ra[0]=c.getSeconds();a.ra[1]=0;a.ra[2]=c.getMinutes();a.ra[3]=0;a.ra[4]=c.getHours();a.ra[5]=0;a.ra[6]=c.getDay()+1;a.ra[7]=c.getDate();a.ra[8]=c.getMonth()+1;c=c.getFullYear();a.ra[9]=c%100;c/=100;a.ra[50]=c%10|c/10<<4;a.fg=-1;a.ra[10]=38;a.ra[11]=2;a.ra[12]=0;a.ra[13]=128} +function qi(a,b){var c=a.ra[b];if(10>b){var d=!1;4!=b&&5!=b||a.ra[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ra[11]&4||(d&&128c;c++)b+=a.ra[c];a.ra[47]=b&255;a.ra[46]=b>>8} +k.save=function(){var a=new I(this);a.set(0,[this.Yb,this.te,this.cd,this.We]);for(var b=[],c=0;c=di&&(a.set(5,[this.jb,this.ud,this.Zd,this.Og,this.ze,this.bi]),a.set(6,[this.Nf,this.Kg,this.Ae,this.ra,this.fg]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.Yb=b[0];this.te=b[1];this.cd=b[2];this.We=b[3];b=a[1];this.cb=Array(this.Qf);for(c=0;c>2)+1)*a.Hn+32*((b?a.te:a.We)&15)}function Ci(a,b){var c=b?a.Yb:a.cd;return a.Ia!=Zh||c&ci.Sh?((c&ci.Cf)>>ci.Df)+1:0} +function yi(a,b){if(b>bi.Df} function fi(a,b,c,d,e){for(var f="",h=1;8>=h;h++){var g="pcjs-bitCell";h||(g+=" pcjs-bitCellLeft");f+='
'+h+"
\n"}c.innerHTML=f;b=D(c,"pcjs-bitCell");c=null;for(h=0;h>2].Db[b&3],c,d,e)} -function Li(a,b,c){b=a.$a[b>>2].Db[b&3];b.Xg&&b.yi&&b.Bh?(c&&(b.Zg=c),b.Cd||Gd(a,b,!0)):c&&c(!0)}function Gd(a,b,c){c&&(b.count=b.Zb[1]<<8|b.Zb[0],b.Yl=b.mode&12,b.rk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Rg<<16|b.Nb[1]<<8|b.Nb[0],4==b.Yl?(d=!0,function(c){b.yi.call(b.Xg,b.Bh,-1,function(f,h){0>f&&(b.rk||(b.rk=!0),f=255);b.Cd||ob(a.oa,c,f);(d=h)&&setTimeout(function(){Si(b)||Gd(a,b)},0)})}(c)):8==b.Yl?(c=mb(a.oa,c),0>b.yi.call(b.Xg,b.Bh,c)&&(b.fd=!0)):b.fd=!0),!d&&!Si(b););} -function Si(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.Nb[0]--,0>a.Nb[0]&&(a.Nb[0]=255,a.Nb[1]--,0>a.Nb[1]&&(a.Nb[1]=255))):(a.Nb[0]++,255>3,e=a.sb[d];e.Gb|=1<<(b&7);e.hg=c||0;1==d&&(a.sb[0].Gb|=4);Vi(a,d)} -function Zi(a,b){var c=b>>3,d=a.sb[c],e=1<<(b&7);d.Gb&e&&(d.Gb&=~e,1!=c||d.Gb||(a.sb[0].Gb&=-5),Vi(a,c))}function Ed(a,b){void 0===b&&(b=0);var c=-1,d=a.sb[b];if(d.hg)c=-2,d.hg--;else for(var e=d.Gb&((d.Ec|d.sd)^255),f=d.ye+1;;){var f=f&7,h=1<>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Eb[a];e.vg=b;e.mode=d;e.ck=c;e.Hc=[0,0];e.Zb=[0,0];e.Sf=[0,0];e.gd=!1;e.Vf=!1;e.cf=!1;aj(this,a);0==a&&Zi(this,0);2==a&&255==this.sb[0].sd&&77==this.yc&&(a=this.Eb[0],a.Vc[0]=a.Hc[0],a.Vc[1]=a.Hc[1],a.ne=F(this.T,this.jh))}else oi(this,a),b=this.Eb[a],b.Sf[0]=b.Zb[0],b.Sf[1]=b.Zb[1],b.Vf=!0,aj(this,a)}}; -function cj(a,b){var c=a.Eb[b],d=c.Hc[1]<<8|c.Hc[0];d||(d=1==c.dd?256:65536);return d}function aj(a,b){var c=a.Eb[b];c.ce=32==c.vg?1:0;c.dd=48==c.vg?2:1} -function oi(a,b,c){var d=a.Eb[b];if(d.cf&&(2!=b||a.yc&1)){var e=F(a.T,a.jh),f=(e-d.ne)/a.Fl|0;0>f&&(d.ne=e,f=0);var h=cj(a,b),g=a.Eb[b],l=g.Vc[1]<<8|g.Vc[0];l||(l=1==g.dd?256:65536);g=l-f;0==d.mode?(0>=g&&(g=0),g||(d.gd=!0,d.cf=!1,b||Yi(a,0))):4==d.mode?(d.gd=1!=g,0>=g&&(g=h+g,0>=g&&(g=h),d.Vc[0]=g&255,d.Vc[1]=g>>8,d.ne=e,!b&&d.gd&&Yi(a,0))):6==d.mode&&(g-=f,0>=g&&(d.gd=!d.gd,g=h+g,0>=g&&(g=h),d.Vc[0]=g&255,d.Vc[1]=g>>8,d.ne=e,!b&&d.gd&&Yi(a,0)));d.Zb[0]=g&255;d.Zb[1]=g>>8;c&&(a.ne=0)}return d} -function Yb(a,b){for(var c=0;c=di){var c=0,d=a.T.Ed,e=F(a.T,a.jh);if(0<=a.cg&&(c=e-a.cg,Math.floor(c/d)&&60<=++a.qa[0]&&(a.qa[0]=0,60<=++a.qa[2]&&(a.qa[2]=0,24<=++a.qa[4])))){a.qa[4]=0;a.qa[6]=a.qa[6]%7+1;var f=a.qa[9],h=qa[a.qa[8]-1];28==h&&0===f%4&&(f%100||0===f%400)&&h++;++a.qa[7]>h&&(a.qa[7]=1,12<++a.qa[8]&&(a.qa[8]=1,a.qa[9]=(a.qa[9]+1)%100))}a.cg=e-c%d}} -k.mn=function(a,b){var c=this.Qg;this.Lf&16&&(this.yc&128?c=this.$c:this.cb&&(c=dj(this.cb)));this.ca(a,null,b,"PPI_A",ej,c);return c};k.Eo=function(a,b,c){this.ca(a,b,c,"PPI_A",ej);this.Qg=b};k.nn=function(a,b){var c=this.yc;this.ca(a,null,b,"PPI_B",ej,c);return c};k.Fo=function(a,b,c){this.ca(a,b,c,"PPI_B",ej);fj(this,b);this.cb&&gj(this.cb,b&128?!1:!0,b&64?!0:!1)};function fj(a,b){var c=!!(b&2),d=!!(a.yc&2);a.yc=b;c!=d&&Xb(a,c)} -k.on=function(a,b){var c=0,c=this.Ga==Zh?this.yc&4?c|this.Te&15:c|this.Te>>4&1:this.yc&8?c|this.$c>>4:c|this.$c&15;this.yc&1&&oi(this,2).gd&&(c=this.yc&2?c|32:c|16);this.ca(a,null,b,"PPI_C",ej|Cb,c);return c};k.Go=function(a,b,c){this.ca(a,b,c,"PPI_C",ej);this.ai=b};k.pn=function(a,b){var c=this.Lf;this.ca(a,null,b,"PPI_CTRL",ej,c);return c};k.Ho=function(a,b,c){this.ca(a,b,c,"PPI_CTRL",ej);this.Lf=b}; -k.Cm=function(a,b){var c=this.Lg;this.ca(a,null,b,"8042_OUTBUFF",hj,c);this.hb&=-258;var d=this.cb&&dj(this.cb,!0);d&&ij(this,d);return c};k.Wn=function(a,b,c){this.ca(a,b,c,"8042_INBUF.DATA",hj);if(this.hb&8)switch(this.rd){case 96:jj(this,b);break;case 209:kj(this,b);break;default:if(jj(this,this.Wd&-17),this.cb){a=-1;switch(b){case 255:a=250,lj(this.cb)}ij(this,a)}}this.rd=b;this.hb&=-9};k.Dm=function(a,b){var c=this.yc&-209|(F(this.T)&64?16:0);this.ca(a,null,b,"8042_RWREG",hj|mj,c);return c}; -k.Xn=function(a,b,c){this.ca(a,b,c,"8042_RWREG",hj);fj(this,b)};k.Em=function(a,b){this.ca(a,null,b,"8042_STATUS",hj,this.hb);var c=this.hb&255;this.hb&256&&(this.hb|=1,this.hb&=-257);return c}; -k.Vn=function(a,b,c){this.ca(a,b,c,"8042_INBUFF.CMD",hj);this.rd=b;this.hb|=8;a=0;240<=this.rd&&(a=this.rd^15,this.rd=240);switch(this.rd){case 192:ij(this,this.we);break;case 173:jj(this,this.Wd|16);break;case 174:jj(this,this.Wd&-17);break;case 170:this.cb&&nj(this.cb,!0);jj(this,this.Wd|16);ij(this,85);kj(this,3);break;case 224:ij(this,this.Wd&16?0:1);break;case 240:a&1&&Rc(this.T)}};function jj(a,b){a.Wd=b;a.hb=a.hb&-5|b&4;a.cb&&gj(a.cb,!!(b&8),!(b&16))&&ij(a,dj(a.cb,!0))} -function ij(a,b){0<=b&&(a.Lg=b,a.hb&=-2,a.hb|=256)}function kj(a,b){a.Zh=b;ib(a.oa,!!(b&2));b&1||Rc(a.T)}k.Sm=function(a,b){this.ca(a,null,b,"CMOS_ADDR",pi,this.xe);return this.xe};k.mo=function(a,b,c){this.ca(a,b,c,"CMOS_ADDR",pi);this.xe=b;this.Pg=b&128?0:128};k.Tm=function(a,b){var c=this.xe&63,d=13>=c?qi(this,c):this.qa[c];this.ca(a,null,b,"CMOS_DATA["+t(c)+"]",pi,d);return d}; -k.no=function(a,b,c){var d=this.xe&63;this.ca(a,b,c,"CMOS_DATA["+t(d)+"]",pi);a=this.qa;13>=d&&10>d&&(c=!1,this.qa[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.kn=function(a,b){this.ca(a,null,b,"MFG_DATA",ej,this.Jf);return this.Jf};k.Bo=function(a,b,c){this.ca(a,b,c,"MFG_DATA",ej);this.Jf=b};k.Do=function(a,b,c){this.ca(a,b,c,"NMI",ej);this.Pg=b}; -k.An=function(a){var b=this.T.H>>8;this.ba&&E(this.ba,oj)&&(Zc(this.ba,26,a),$c(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,h=a.T.K&255,g=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(g)+" CL(min)="+t(h)+" 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);ad(a.ba,26,e,d,f)}}(this,F(this.T))));return!0};function $h(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>2].Fb[b&3],c,d,e)} +function Li(a,b,c){b=a.cb[b>>2].Fb[b&3];b.$g&&b.Ai&&b.Eh?(c&&(b.bh=c),b.Fd||Gd(a,b,!0)):c&&c(!0)}function Gd(a,b,c){c&&(b.count=b.Zb[1]<<8|b.Zb[0],b.bm=b.mode&12,b.vk=b.Yc=!1);for(var d=!1;0<=b.count&&(c=b.Ug<<16|b.Ob[1]<<8|b.Ob[0],4==b.bm?(d=!0,function(c){b.Ai.call(b.$g,b.Eh,-1,function(f,h){0>f&&(b.vk||(b.vk=!0),f=255);b.Fd||ob(a.qa,c,f);(d=h)&&setTimeout(function(){Si(b)||Gd(a,b)},0)})}(c)):8==b.bm?(c=mb(a.qa,c),0>b.Ai.call(b.$g,b.Eh,c)&&(b.Yc=!0)):b.Yc=!0),!d&&!Si(b););} +function Si(a){if(!a.Yc&&0<=--a.count&&(a.mode&32?(a.Ob[0]--,0>a.Ob[0]&&(a.Ob[0]=255,a.Ob[1]--,0>a.Ob[1]&&(a.Ob[1]=255))):(a.Ob[0]++,255>3,e=a.ub[d];e.Hb|=1<<(b&7);e.kg=c||0;1==d&&(a.ub[0].Hb|=4);Vi(a,d)} +function Zi(a,b){var c=b>>3,d=a.ub[c],e=1<<(b&7);d.Hb&e&&(d.Hb&=~e,1!=c||d.Hb||(a.ub[0].Hb&=-5),Vi(a,c))}function Ed(a,b){void 0===b&&(b=0);var c=-1,d=a.ub[b];if(d.kg)c=-2,d.kg--;else for(var e=d.Hb&((d.Fc|d.vd)^255),f=d.Be+1;;){var f=f&7,h=1<>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Gb[a];e.yg=b;e.mode=d;e.ek=c;e.Ic=[0,0];e.Zb=[0,0];e.Wf=[0,0];e.kd=!1;e.Zf=!1;e.ff=!1;aj(this,a);0==a&&Zi(this,0);2==a&&255==this.ub[0].vd&&77==this.yc&&(a=this.Gb[0],a.Xc[0]=a.Ic[0],a.Xc[1]=a.Ic[1],a.qe=F(this.T,this.mh))}else oi(this,a),b=this.Gb[a],b.Wf[0]=b.Zb[0],b.Wf[1]=b.Zb[1],b.Zf=!0,aj(this,a)}}; +function cj(a,b){var c=a.Gb[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.hd?256:65536);return d}function aj(a,b){var c=a.Gb[b];c.fe=32==c.yg?1:0;c.hd=48==c.yg?2:1} +function oi(a,b,c){var d=a.Gb[b];if(d.ff&&(2!=b||a.yc&1)){var e=F(a.T,a.mh),f=(e-d.qe)/a.Jl|0;0>f&&(d.qe=e,f=0);var h=cj(a,b),g=a.Gb[b],l=g.Xc[1]<<8|g.Xc[0];l||(l=1==g.hd?256:65536);g=l-f;0==d.mode?(0>=g&&(g=0),g||(d.kd=!0,d.ff=!1,b||Yi(a,0))):4==d.mode?(d.kd=1!=g,0>=g&&(g=h+g,0>=g&&(g=h),d.Xc[0]=g&255,d.Xc[1]=g>>8,d.qe=e,!b&&d.kd&&Yi(a,0))):6==d.mode&&(g-=f,0>=g&&(d.kd=!d.kd,g=h+g,0>=g&&(g=h),d.Xc[0]=g&255,d.Xc[1]=g>>8,d.qe=e,!b&&d.kd&&Yi(a,0)));d.Zb[0]=g&255;d.Zb[1]=g>>8;c&&(a.qe=0)}return d} +function Yb(a,b){for(var c=0;c=di){var c=0,d=a.T.ba.Hd,e=F(a.T,a.mh);if(0<=a.fg&&(c=e-a.fg,Math.floor(c/d)&&60<=++a.ra[0]&&(a.ra[0]=0,60<=++a.ra[2]&&(a.ra[2]=0,24<=++a.ra[4])))){a.ra[4]=0;a.ra[6]=a.ra[6]%7+1;var f=a.ra[9],h=qa[a.ra[8]-1];28==h&&0===f%4&&(f%100||0===f%400)&&h++;++a.ra[7]>h&&(a.ra[7]=1,12<++a.ra[8]&&(a.ra[8]=1,a.ra[9]=(a.ra[9]+1)%100))}a.fg=e-c%d}} +k.qn=function(a,b){var c=this.Tg;this.Pf&16&&(this.yc&128?c=this.cd:this.fb&&(c=dj(this.fb)));this.da(a,null,b,"PPI_A",ej,c);return c};k.Ho=function(a,b,c){this.da(a,b,c,"PPI_A",ej);this.Tg=b};k.rn=function(a,b){var c=this.yc;this.da(a,null,b,"PPI_B",ej,c);return c};k.Io=function(a,b,c){this.da(a,b,c,"PPI_B",ej);fj(this,b);this.fb&&gj(this.fb,b&128?!1:!0,b&64?!0:!1)};function fj(a,b){var c=!!(b&2),d=!!(a.yc&2);a.yc=b;c!=d&&Xb(a,c)} +k.sn=function(a,b){var c=0,c=this.Ia==Zh?this.yc&4?c|this.We&15:c|this.We>>4&1:this.yc&8?c|this.cd>>4:c|this.cd&15;this.yc&1&&oi(this,2).kd&&(c=this.yc&2?c|32:c|16);this.da(a,null,b,"PPI_C",ej|Cb,c);return c};k.Jo=function(a,b,c){this.da(a,b,c,"PPI_C",ej);this.di=b};k.tn=function(a,b){var c=this.Pf;this.da(a,null,b,"PPI_CTRL",ej,c);return c};k.Ko=function(a,b,c){this.da(a,b,c,"PPI_CTRL",ej);this.Pf=b}; +k.Gm=function(a,b){var c=this.Og;this.da(a,null,b,"8042_OUTBUFF",hj,c);this.jb&=-258;var d=this.fb&&dj(this.fb,!0);d&&ij(this,d);return c};k.Zn=function(a,b,c){this.da(a,b,c,"8042_INBUF.DATA",hj);if(this.jb&8)switch(this.ud){case 96:jj(this,b);break;case 209:kj(this,b);break;default:if(jj(this,this.Zd&-17),this.fb){a=-1;switch(b){case 255:a=250,lj(this.fb)}ij(this,a)}}this.ud=b;this.jb&=-9};k.Hm=function(a,b){var c=this.yc&-209|(F(this.T)&64?16:0);this.da(a,null,b,"8042_RWREG",hj|mj,c);return c}; +k.$n=function(a,b,c){this.da(a,b,c,"8042_RWREG",hj);fj(this,b)};k.Im=function(a,b){this.da(a,null,b,"8042_STATUS",hj,this.jb);var c=this.jb&255;this.jb&256&&(this.jb|=1,this.jb&=-257);return c}; +k.Yn=function(a,b,c){this.da(a,b,c,"8042_INBUFF.CMD",hj);this.ud=b;this.jb|=8;a=0;240<=this.ud&&(a=this.ud^15,this.ud=240);switch(this.ud){case 192:ij(this,this.ze);break;case 173:jj(this,this.Zd|16);break;case 174:jj(this,this.Zd&-17);break;case 170:this.fb&&nj(this.fb,!0);jj(this,this.Zd|16);ij(this,85);kj(this,3);break;case 224:ij(this,this.Zd&16?0:1);break;case 240:a&1&&Rc(this.T)}};function jj(a,b){a.Zd=b;a.jb=a.jb&-5|b&4;a.fb&&gj(a.fb,!!(b&8),!(b&16))&&ij(a,dj(a.fb,!0))} +function ij(a,b){0<=b&&(a.Og=b,a.jb&=-2,a.jb|=256)}function kj(a,b){a.bi=b;ib(a.qa,!!(b&2));b&1||Rc(a.T)}k.Wm=function(a,b){this.da(a,null,b,"CMOS_ADDR",pi,this.Ae);return this.Ae};k.po=function(a,b,c){this.da(a,b,c,"CMOS_ADDR",pi);this.Ae=b;this.Sg=b&128?0:128};k.Xm=function(a,b){var c=this.Ae&63,d=13>=c?qi(this,c):this.ra[c];this.da(a,null,b,"CMOS_DATA["+t(c)+"]",pi,d);return d}; +k.qo=function(a,b,c){var d=this.Ae&63;this.da(a,b,c,"CMOS_DATA["+t(d)+"]",pi);a=this.ra;13>=d&&10>d&&(c=!1,this.ra[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.on=function(a,b){this.da(a,null,b,"MFG_DATA",ej,this.Nf);return this.Nf};k.Eo=function(a,b,c){this.da(a,b,c,"MFG_DATA",ej);this.Nf=b};k.Go=function(a,b,c){this.da(a,b,c,"NMI",ej);this.Sg=b}; +k.En=function(a){var b=this.T.H>>8;this.ca&&E(this.ca,oj)&&(Zc(this.ca,26,a),$c(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,h=a.T.K&255,g=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(g)+" CL(min)="+t(h)+" 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);ad(a.ca,26,e,d,f)}}(this,F(this.T))));return!0};function $h(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.xb[c++]=f[b]>>16&255,this.xb[c++]=f[b]>>24&255;else this.xb=d;this.Uh=d.symbols;if(!this.xb.length){x("Empty ROM: "+a);return}if(1==this.xb.length){x(this.xb[0]);return}}catch(h){this.Ia("ROM data error: "+ -h.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.xb=Array(a.length),d=0;d>8&255,this.Ab[c++]=f[b]>>16&255,this.Ab[c++]=f[b]>>24&255;else this.Ab=d;this.Xh=d.symbols;if(!this.Ab.length){x("Empty ROM: "+a);return}if(1==this.Ab.length){x(this.Ab[0]);return}}catch(h){this.Ka("ROM data error: "+ +h.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Ab=Array(a.length),d=0;dthis.Jg?21:23,c=a.qa[b]|a.qa[b+1]<<8,c=c+(this.Ld>>10);a.qa[b]=c&255;a.qa[b+1]=c>>8;zi(a)}}else x("No RAM allocated")}; -Fa(function(){for(var a=D(window.document,"pcjs","ram"),b=0;bthis.Mg?21:23,c=a.ra[b]|a.ra[b+1]<<8,c=c+(this.Od>>10);a.ra[b]=c&255;a.ra[b+1]=c>>8;zi(a)}}else x("No RAM allocated")}; +Fa(function(){for(var a=D(window.document,"pcjs","ram"),b=0;ba.wc.length){if(!(!d&&!a.Th[c]||d&&a.Th[c])){a.Th[c]=d;a.Oa("scan code "+t(b)+" buffered");a.wc.push(b);1==a.wc.length&&a.ma&&Yi(a.ma,1);for(var e in zj)if(zj[e]==c){(c=a.va["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.wc.length&&a.wc.push(255),a.Oa("scan code buffer overflow")}function Ej(a,b){var c=b?a.In:a.Hn;a.T&&a.T.hd&&(c/=a.T.hd);return c} -function Fj(a,b){!a.Ne||void 0!==b&&b==a.Ne||(clearTimeout(a.nd[a.Ne]),Gj(a,a.Ne,!1))} -function Bj(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Jl=f);240==f+224?(a.Ha&=-2,c&&(a.Ha|=1),f+=224,e=!1):241==f+224?(a.Ha&=-5,c&&(a.Ha|=4),f+=224,e=!1):242==f+224?(a.Ha&=-9,c&&(a.Ha|=8),f+=224,e=!1):244==f+224?(a.Ha&=-17,c&&(a.Ha|=16),f+=224,d=Cj(a,f)):91==f?(a.Ha&=-33,c&&(a.Ha|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Ha&12)&&(f=254),d=c?!Cj(a,f):!1):void 0!==S[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Ha&=-33,a.ok||f!=a.Jl||Fj(a));void 0===d&&(d=!Gj(a,f,c));return d} -function Cj(a,b,c){var d=!1;Fj(a,b);Gj(a,b,!0)&&(c?Gj(a,b,!1):(c=!1,a.nd[b]&&(clearTimeout(a.nd[b]),c=!0),c=Ej(a,c),a.nd[a.Ne=b]=setTimeout(function(a){return function(){Gj(a,b,!1)}}(a),c)),d=!0);return d} -function Gj(a,b,c){var d=!1;c||(a.nd[b]=null,a.Ne==b&&(a.Ne=0));var e=S[b];void 0===e&&1<=b&&26>=b&&(e=S[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Ha&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Ha&17||(d=42):224==f?a.Ha&18||(d=54):241==f?a.Ha&4||(d=29):242==f&&(a.Ha&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;ca.wc.length){if(!(!d&&!a.Wh[c]||d&&a.Wh[c])){a.Wh[c]=d;a.Ra("scan code "+t(b)+" buffered");a.wc.push(b);1==a.wc.length&&a.na&&Yi(a.na,1);for(var e in zj)if(zj[e]==c){(c=a.xa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.wc.length&&a.wc.push(255),a.Ra("scan code buffer overflow")}function Ej(a,b){var c=b?a.Ln:a.Kn;a.T&&a.T.ba.ld&&(c/=a.T.ba.ld);return c} +function Fj(a,b){!a.Qe||void 0!==b&&b==a.Qe||(clearTimeout(a.qd[a.Qe]),Gj(a,a.Qe,!1))} +function Bj(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Nl=f);240==f+224?(a.Ja&=-2,c&&(a.Ja|=1),f+=224,e=!1):241==f+224?(a.Ja&=-5,c&&(a.Ja|=4),f+=224,e=!1):242==f+224?(a.Ja&=-9,c&&(a.Ja|=8),f+=224,e=!1):244==f+224?(a.Ja&=-17,c&&(a.Ja|=16),f+=224,d=Cj(a,f)):91==f?(a.Ja&=-33,c&&(a.Ja|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Ja&12)&&(f=254),d=c?!Cj(a,f):!1):void 0!==S[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Ja&=-33,a.sk||f!=a.Nl||Fj(a));void 0===d&&(d=!Gj(a,f,c));return d} +function Cj(a,b,c){var d=!1;Fj(a,b);Gj(a,b,!0)&&(c?Gj(a,b,!1):(c=!1,a.qd[b]&&(clearTimeout(a.qd[b]),c=!0),c=Ej(a,c),a.qd[a.Qe=b]=setTimeout(function(a){return function(){Gj(a,b,!1)}}(a),c)),d=!0);return d} +function Gj(a,b,c){var d=!1;c||(a.qd[b]=null,a.Qe==b&&(a.Qe=0));var e=S[b];void 0===e&&1<=b&&26>=b&&(e=S[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Ja&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Ja&17||(d=42):224==f?a.Ja&18||(d=54):241==f?a.Ja&4||(d=29):242==f&&(a.Ja&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(Vj)];this.ba=a.ba;this.type=e[0];this.port=e[1];this.ge=b;this.Ra=e[2];this.Mb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Mb=Math.min(this.Tc>>2,32768));this.lc=c[0];this.zc=c[1];this.Ze=c[2];this.tf=c[3];this.nc=c[4]&255;this.nh=c[4]>>8&255;this.cc=c[5];this.Fi=Vj;this.Kg=Wj;if(5==b){this.Fi=Xj;this.Kg=Yj;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.Ra,this.Mb,this.Tc],Array(this.Tc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.ed=b[0];this.yd=b[1];this.Od=b[2];this.Wh=Zj;this.Oh=b[3];this.Zf=b[4];this.lh=b[5];this.Ad=b[6];this.Cf=b[7];this.Yh=ak;this.zi=b[8];this.Ai=b[9];this.zd=b[10];this.te=b[11];this.Xh=bk;this.ub=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Mb,d]);this.Ra=d[0];this.Mb=d[1];d=this.Tc>>2;if((this.ad=b[14])&&this.ad.lengthc.length)c=[!1,0,null,null,0,Array(Vj)];this.ca=a.ca;this.type=e[0];this.port=e[1];this.je=b;this.Ua=e[2];this.Nb=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.Ua&&(this.Nb=Math.min(this.Vc>>2,32768));this.lc=c[0];this.Ac=c[1];this.bf=c[2];this.wf=c[3];this.nc=c[4]&255;this.qh=c[4]>>8&255;this.cc=c[5];this.Hi=Vj;this.Ng=Wj;if(5==b){this.Hi=Xj;this.Ng=Yj;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.Nb,this.Vc],Array(this.Vc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.jd=b[0];this.Bd=b[1];this.Rd=b[2];this.Zh=Zj;this.Rh=b[3];this.cg=b[4];this.oh=b[5];this.Dd=b[6];this.Ff=b[7];this.ai=ak;this.Bi=b[8];this.Ci=b[9];this.Cd=b[10];this.we=b[11];this.$h=bk;this.xb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ua,this.Nb,d]);this.Ua=d[0];this.Nb=d[1];d=this.Vc>>2;if((this.ed=b[14])&&this.ed.length>8&255)} -var ek=[,,function(a){a+=this.offset;return(this.ga.ub=this.sa[a])>>this.ga.yj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.sa[b]>>8:this.sa[b])&255}];ek[16]=function(a){a+=this.offset;a=this.sa[a];for(var b=this.ga.Hi&this.ga.Ii,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};ek[512]=function(a,b){var c=a+this.offset,d;d=this.sa[c]&~this.ga.fb|(b|b<<8|b<<16|b<<24)&this.ga.fb;d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)}; -ek[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.jd|b<<8-this.ga.jd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.me|this.ga.Ke;d=d&this.ga.fb|this.sa[c]&~this.ga.fb;d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)}; -ek[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.jd|b<<8-this.ga.jd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.me|this.ga.Ke;d&=this.ga.ub;d=d&this.ga.fb|this.sa[c]&~this.ga.fb;d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)}; -ek[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.jd|b<<8-this.ga.jd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.me|this.ga.Ke;d|=this.ga.ub;d=d&this.ga.fb|this.sa[c]&~this.ga.fb;d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)}; -ek[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.jd|b<<8-this.ga.jd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.me|this.ga.Ke;d^=this.ga.ub;d=d&this.ga.fb|this.sa[c]&~this.ga.fb;d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)};ek[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.fb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.sa[d]&~c;c=c&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[d]!=c&&(this.sa[d]=c,this.jb=!0)}; -ek[4096]=function(a){a+=this.offset;var b=this.sa[a]&~this.ga.fb|this.ga.ub&this.ga.fb;this.sa[a]!=b&&(this.sa[a]=b,this.jb=!0)};ek[8192]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d&this.ga.fb|this.sa[c]&~this.ga.fb,d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)};ek[24576]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d&this.ga.ub,d=d&this.ga.fb|this.sa[c]&~this.ga.fb,d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)}; -ek[40960]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d|this.ga.ub,d=d&this.ga.fb|this.sa[c]&~this.ga.fb,d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)};ek[57344]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d^this.ga.ub,d=d&this.ga.fb|this.sa[c]&~this.ga.fb,d=d&this.ga.lb|this.ga.ub&~this.ga.lb;this.sa[c]!=d&&(this.sa[c]=d,this.jb=!0)}; -function lk(a){var b=[];if(void 0!==a.ge){b[0]=a.lc;b[1]=a.zc;b[2]=a.Ze;b[3]=a.tf;b[4]=a.nc|a.nh<<8;b[5]=a.cc;if(5==a.ge){var c=[];c[0]=a.ed;c[1]=a.yd;c[2]=a.Od;c[3]=a.Oh;c[4]=a.Zf;c[5]=a.lh;c[6]=a.Ad;c[7]=a.Cf;c[8]=a.zi;c[9]=a.Ai;c[10]=a.zd;c[11]=a.te;c[12]=a.ub;c[13]=[a.Ra,a.Mb,a.Tc];var d;a:if(d=a.ad){var e=0,f=[];if(void 0!==d[0])for(var h=0;2>h;h++)for(var g=h;g>1;f[e++]=l;g=n}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var n=q(b.Ra+a)+":",p=0;8>p&&a>8&255)} +var ek=[,,function(a){a+=this.offset;return(this.ha.xb=this.va[a])>>this.ha.Bj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.va[b]>>8:this.va[b])&255}];ek[16]=function(a){a+=this.offset;a=this.va[a];for(var b=this.ha.Ji&this.ha.Ki,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};ek[512]=function(a,b){var c=a+this.offset,d;d=this.va[c]&~this.ha.hb|(b|b<<8|b<<16|b<<24)&this.ha.hb;d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)}; +ek[1024]=function(a,b){var c=a+this.offset;b=b>>this.ha.md|b<<8-this.ha.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ha.pe|this.ha.Ne;d=d&this.ha.hb|this.va[c]&~this.ha.hb;d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)}; +ek[1536]=function(a,b){var c=a+this.offset;b=b>>this.ha.md|b<<8-this.ha.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ha.pe|this.ha.Ne;d&=this.ha.xb;d=d&this.ha.hb|this.va[c]&~this.ha.hb;d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)}; +ek[2560]=function(a,b){var c=a+this.offset;b=b>>this.ha.md|b<<8-this.ha.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ha.pe|this.ha.Ne;d|=this.ha.xb;d=d&this.ha.hb|this.va[c]&~this.ha.hb;d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)}; +ek[3584]=function(a,b){var c=a+this.offset;b=b>>this.ha.md|b<<8-this.ha.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ha.pe|this.ha.Ne;d^=this.ha.xb;d=d&this.ha.hb|this.va[c]&~this.ha.hb;d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)};ek[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ha.hb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.va[d]&~c;c=c&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[d]!=c&&(this.va[d]=c,this.lb=!0)}; +ek[4096]=function(a){a+=this.offset;var b=this.va[a]&~this.ha.hb|this.ha.xb&this.ha.hb;this.va[a]!=b&&(this.va[a]=b,this.lb=!0)};ek[8192]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d&this.ha.hb|this.va[c]&~this.ha.hb,d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)};ek[24576]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d&this.ha.xb,d=d&this.ha.hb|this.va[c]&~this.ha.hb,d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)}; +ek[40960]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d|this.ha.xb,d=d&this.ha.hb|this.va[c]&~this.ha.hb,d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)};ek[57344]=function(a,b){var c=a+this.offset,d=Rj[b&15],d=d^this.ha.xb,d=d&this.ha.hb|this.va[c]&~this.ha.hb,d=d&this.ha.nb|this.ha.xb&~this.ha.nb;this.va[c]!=d&&(this.va[c]=d,this.lb=!0)}; +function lk(a){var b=[];if(void 0!==a.je){b[0]=a.lc;b[1]=a.Ac;b[2]=a.bf;b[3]=a.wf;b[4]=a.nc|a.qh<<8;b[5]=a.cc;if(5==a.je){var c=[];c[0]=a.jd;c[1]=a.Bd;c[2]=a.Rd;c[3]=a.Rh;c[4]=a.cg;c[5]=a.oh;c[6]=a.Dd;c[7]=a.Ff;c[8]=a.Bi;c[9]=a.Ci;c[10]=a.Cd;c[11]=a.we;c[12]=a.xb;c[13]=[a.Ua,a.Nb,a.Vc];var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var h=0;2>h;h++)for(var g=h;g>1;f[e++]=l;g=n}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var n=q(b.Ua+a)+":",p=0;8>p&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),pb(this.oa,b,c|d<<8);Lb(this,!0)}};function uk(a){a.la.Zf&1?(a.Sc=a.di,a.yb=a.la):(a.Sc=a.la,a.yb=a.Wg)}k.save=function(){var a=new I(this);a.set(0,lk(this.di));a.set(1,lk(this.Wg));a.set(2,[this.je,this.kd,this.Gd]);a.set(3,lk(this.la));return a.data()}; -k.restore=function(a){var b=a[2];this.je=b[0];this.kd=b[1];this.Gd=b[2];this.Ea=null;this.Sc=this.di=new Tj(this,1,a[0]);this.yb=this.Wg=new Tj(this,3,a[1]);this.la=new Tj(this,5,a[3],this.Tc);this.la.lc&&uk(this);vk(this);if(!xk(this))return!1;yk(this);return!0}; -k.Rn=function(a,b,c){if(c)this.Ia("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)wj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}this.Qa()}}; -function zk(a,b){if(1==b)return a.qd[0]=X[0],a.qd[1]=X[7],a.qd;if(2==b){var c=a.Ea.Ze;if(a.Ea===a.la){var d=a.la.Od[0],c=d&7;d&16&&(c|=8);18!=a.la.Od[1]&&(c|=32)}a.qd[0]=X[c&15];c=c&32?Pj:Oj;for(d=0;dHa||!U?Ha:8,ub=V.createImageData(n.jc,n.kc),J=0;256>J;J++){for(R=0;R=Ha-2,ea=tb[R>(8<=w&&176<=J&&223>=J?7:w)?s:ic;Ck(ub,Ua,Jc,jc);z&&Ck(ub,Ua+1,Jc,jc)}V.putImageData(ub,(J&15)*n.jc,(J>>4)*n.kc)}n.Ve[u]="#"+t(s[0])+t(s[1])+t(s[2]);n.Vj[u]=s;n.Qh[u]=Nb;n=!0}}a.Rd[b]=r;return n}function Dk(a){0a.Ce&&(a.Ce=0):a.Ce=-1} -function yk(a){if(a.Rb){for(var b=10;15>=b;b++)if(null==a.Ea.cc[b])return;var c=a.Ea.cc[10],b=c&31,d=a.Ea.cc[11]&31,e=a.Ea.cc[9]&31,f=!1;a.Ea===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Ek(a);else{c=a.Ea.cc[15]+((a.Ea.cc[14]&63)<<8);a.Kc!=c&&(Ek(a),a.Kc=c);d=d-b+1;if(a.Zl!=b||a.jk!=d)a.Zl=b,a.jk=d;a.de=e+1;Dk(a)}}} -function Ek(a){if(0<=a.Kc){if(void 0!==a.dc){var b=a.dc[a.Kc];if(b&131072){var b=b&-131073,c=a.Kc%a.Ab,d=Math.floor(a.Kc/a.Ab);a.Rb&&a.Rd[a.Rb]&&(a.$e&&Fk(a,c,d,b,a.$e),Fk(a,c,d,b));a.dc[a.Kc]=b}}a.Kc=-1}} -function Gk(a){var b;a=a.Ea;var c=a.te[5];if(null!=c){b=2;var d=512,e=a.te[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.jd=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.Re=function(a){var b=this.Ea;null!=a&&b&&a!=b.uh&&(b.Lh(a),this.oa.Lh(b.Ra,b.Mb,b.Gf))}; -function xk(a,b){var c,d=a.Gd,e=a.Ea;if(e)if(1==e.ge)d=Jj;else if(5==e.ge){var d=null,f=e.Tc>>2,h=32768f&&(d=c?13:14):c&&(d-=2));c=Gk(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||(d-=1)):(d=e.zc&1?3:1,e.zc&4&&(d-= -1)));else a.Gd=null,null==d&&(d=a.kd);if(!wk(a,d,b))return!1;a.Re(c);return!0} -function wk(a,b,c){if(null!=b&&(b!=a.Gd||c)){a.gm=0;a.Gd=b;b=a.Ea||(b==Jj?a.Sc:a.yb);if(b!=a.Ea||b.Ra!=a.Ra||b.Mb!=a.Mb){Ek(a);if(a.Ra){if(!lb(a.oa,a.Ra,a.Mb))return!1;a.Ea&&(a.Ea.lc=!1)}a.Ea=b;b.lc=!0;a.Ra=b.Ra;a.Mb=b.Mb;if(!jb(a.oa,b.Ra,b.Mb,!1,b===a.la?b:null))return!1}a.Rb=0;a.Ab=a.xh;a.qc=a.Li;a.Gi=Ij[Jj][2];b=0;var d=Ij[a.Gd];d&&(a.Ab=d[0],a.qc=d[1],a.Gi=d[2],b=d[3]||0,a.Rb=d[4],4==a.je&&a.Ea===a.la&&3==a.Rb&&(7==a.la.cc[9]?a.qc=43:a.Rb=5));a.Bk=a.Ab*a.qc;a.wh=a.Bk/a.Gi;a.ei=(a.wh<<1)+b;a.gk= -b?a.ei+b>>1:0;13<=a.Gd&&(a.wh<<=1);a.Rd.length&&(a.vd=Math.floor(a.ud/a.Ab),a.wd=Math.floor(a.ee/a.qc),a.Rb?(b=a.Rd[a.Rb],d=a.Rd[a.Rb<<1],a.sm&&80==a.Ab?d&&a.vd>=3*d.jc>>2&&(a.Rb<<=1,b=d):(d&&a.vd>=d.jc&&(a.Rb<<=1,b=d),b&&(a.vd=b.jc,a.wd=b.kc)),a.Tf=a.Uf=0,b&&(a.Tf=a.Ab*b.jc,a.Uf=a.qc*b.kc)):(a.vd=a.wd=1,a.Tf=a.Ab,a.Uf=a.qc),a.qh=a.Uc.createImageData(a.Tf,a.Uf),a.Ye=window.document.createElement("canvas"),a.Ye.width=a.Tf,a.Ye.height=a.Uf,a.$e=a.Ye.getContext("2d"),a.Qj=a.Rj=0,a.gi=a.ud,a.hi=a.ee, -b=a.ud-a.Ab*a.vd,d=a.ee-a.qc*a.wd,0>1,a.gi-=b),0>1,a.hi-=d),b||d)&&(a.Uc.fillStyle=a.Hb.style.backgroundColor,a.Uc.fillRect(0,0,a.ud,a.ee));!1!==c?Lb(a,!0):Hk(a,!0)}return!0}function Ck(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 Hk(a,b){var c;if(b){if(c=a.wh,void 0===a.dc||a.dc.length!=c)a.dc=Array(c)}else{if(void 0===a.dc)return;c=a.dc.length}for(var d=0;d>8;d=h&15;var g=a.Rd[a.Rb];g.Bf&&(d=g.Bf[d]);var l=h>>4&15;g.Bf&&(l=g.Bf[l]);e?(b*=g.jc,c*=g.kc,e.fillStyle=g.Ve[l],e.fillRect(b,c,g.jc,g.kc)):(b=b*a.vd+a.Qj,c=c*a.wd+a.Rj,a.Uc.fillStyle=g.Ve[l],a.Uc.fillRect(b,c,a.vd,a.wd));h&256&&(l=(f&15)*g.jc,f=(f>>4)*g.kc,e?e.drawImage(g.Qh[d],l,f,g.jc,g.kc,b,c,g.jc,g.kc):a.Uc.drawImage(g.Qh[d],l,f,g.jc,g.kc,b,c,a.vd,a.wd));h&512&&(f=a.Zl,h=a.jk,e?(a.de&&a.de!==g.kc&&(f=Math.floor(f*g.kc/a.de),h=Math.floor(h*g.kc/a.de)), -e.fillStyle=g.Ve[d],e.fillRect(b,c+f,g.jc,h)):(a.de&&a.de!==a.wd&&(f=Math.floor(f*a.wd/a.de),h=Math.floor(h*a.wd/a.de)),a.Uc.fillStyle=g.Ve[d],a.Uc.fillRect(b,c+f,a.vd,h)))} -function Lb(a,b){if(a.Jb){var c=!1;a.Ea&&(a.Ea===a.la?a.la.yd&32&&(c=!0):a.Ea.zc&8&&(c=!0));if(c||b){if(b)Hk(a,!0);else if(void 0===a.dc)return;var d=!1;!(b||++a.gm&15)&&0<=a.Ce&&(a.Ce++,d=!0);var e=0,f=a.Bk,c=a.Ea.Ra,h=c+a.Ea.Mb,g=(a.Ea.cc[12]<<8)+a.Ea.cc[13];a.Rb&&(g<<=1);var c=c+g,l=a.ei;c+l>h&&(l=h-c,0>l&&(l=0));h=c+l;if(g=!b){for(var g=a.oa,n=!0,p=c>>g.pb;0a.Kc)return;e=a.Kc;f=e+1}}if(a.Rb){if(a.Rd[a.Rb]){d= -0;g=a.Be=0;l=1048575;a.Ea.zc&32&&(g=32768,l&=~g,a.Ce&2||(l&=-65537));for(c+=e<<1;c>8|(r& -255)<<8;s=g;var Ha=16;p>=l))>>(Ha-=l);Ck(a.qh,p++,u,n[ic])}p>B&&(B=p);u=ha&&(ha=u+1)}e+=2;h++;if(p>=a.Ab){p=0;u+=2;if(u>a.qc)break;u==a.qc&&(u=1,e=c+a.gk)}}zU;U++)ha=B&2155905152,0>ha&&(ha+=4294967296), -ha=Sj[ha]||0,Ck(a.qh,g++,l,h[ha]),B<<=1;g>p&&(p=g);l=z&&(z=l+1)}e++;if(g>=a.Ab&&(g=0,++l>a.qc))break}n>2),c=this.la.Oh&-17|(this.Mg&1<f&&(f=0);f%b.Ji>b.Ln&&(d|=1);f%=b.Ek;f>b.On&&(d|=8);b.Pi=e-f;b===a.la?(d|=b.tf&48^48,b.ed=!1):d=(b.tf^=9)|240;b.tf=d;a.ca(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Oa=function(a,b){this.ba&&(b||E(this.ba,rk))&&this.ba.message(a)};k.ca=function(a,b,c,d,e){this.ba&&this.ba.ca(this,a,b,c,d,rk,e)}; -var nk={948:T.prototype.gn,949:T.prototype.fn,952:T.prototype.hn,954:T.prototype.jn,980:T.prototype.Pm,981:T.prototype.Om,984:T.prototype.Qm,985:T.prototype.Nm,986:T.prototype.Rm},ok={948:T.prototype.zo,949:T.prototype.yo,952:T.prototype.Ao,980:T.prototype.ko,981:T.prototype.jo,984:T.prototype.lo,985:T.prototype.io},pk={960:T.prototype.xk,961:T.prototype.xk,962:T.prototype.tn,964:T.prototype.sn,965:T.prototype.rn,970:T.prototype.$m,972:T.prototype.Zm,974:T.prototype.Ym,975:T.prototype.Xm},qk={954:T.prototype.Il, -960:T.prototype.Hl,961:T.prototype.Hl,962:T.prototype.Co,964:T.prototype.Jo,965:T.prototype.Io,970:T.prototype.uo,972:T.prototype.to,974:T.prototype.so,975:T.prototype.ro,986:T.prototype.Il}; +k.reset=function(){var a=!0,b=0;this.na&&(b=wi(this.na));var c=!1;if(this.Ia)switch(this.Ia){case "ega":var c=!0,d=Lj[this.Pg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.me!==b&&(this.me=b,a=!0);this.Ga=null;this.Uc=this.gi=new Tj(this,1);this.Bb=this.Zg=new Tj(this,3);c?(this.ma=new Tj(this,5,null,this.Vc),uk(this)):this.ma=new Tj;vk(this);this.Jd=null;this.nd=3==b?Jj:3;this.Fe=this.Mc=-1;this.Ee=0;wk(this,this.nd);if(this.Ga.Ua&&a){a=this.Ga.Ua+this.hi;for(b=this.Ga.Ua;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),pb(this.qa,b,c|d<<8);Lb(this,!0)}};function uk(a){a.ma.cg&1?(a.Uc=a.gi,a.Bb=a.ma):(a.Uc=a.ma,a.Bb=a.Zg)}k.save=function(){var a=new I(this);a.set(0,lk(this.gi));a.set(1,lk(this.Zg));a.set(2,[this.me,this.nd,this.Jd]);a.set(3,lk(this.ma));return a.data()}; +k.restore=function(a){var b=a[2];this.me=b[0];this.nd=b[1];this.Jd=b[2];this.Ga=null;this.Uc=this.gi=new Tj(this,1,a[0]);this.Bb=this.Zg=new Tj(this,3,a[1]);this.ma=new Tj(this,5,a[3],this.Vc);this.ma.lc&&uk(this);vk(this);if(!xk(this))return!1;yk(this);return!0}; +k.Un=function(a,b,c){if(c)this.Ka("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)wj(this,d,[0,6144]);else{this.Ka("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ka("Font ROM data error: "+e.message);return}this.Ta()}}; +function zk(a,b){if(1==b)return a.td[0]=X[0],a.td[1]=X[7],a.td;if(2==b){var c=a.Ga.bf;if(a.Ga===a.ma){var d=a.ma.Rd[0],c=d&7;d&16&&(c|=8);18!=a.ma.Rd[1]&&(c|=32)}a.td[0]=X[c&15];c=c&32?Pj:Oj;for(d=0;dHa||!U?Ha:8,ub=V.createImageData(n.jc,n.kc),J=0;256>J;J++){for(R=0;R=Ha-2,ea=tb[R>(8<=w&&176<=J&&223>=J?7:w)?s:jc;Ck(ub,Ua,Jc,kc);z&&Ck(ub,Ua+1,Jc,kc)}V.putImageData(ub,(J&15)*n.jc,(J>>4)*n.kc)}n.Ye[u]="#"+t(s[0])+t(s[1])+t(s[2]);n.Xj[u]=s;n.Th[u]=Ob;n=!0}}a.Ud[b]=r;return n}function Dk(a){0a.Fe&&(a.Fe=0):a.Fe=-1} +function yk(a){if(a.Rb){for(var b=10;15>=b;b++)if(null==a.Ga.cc[b])return;var c=a.Ga.cc[10],b=c&31,d=a.Ga.cc[11]&31,e=a.Ga.cc[9]&31,f=!1;a.Ga===a.ma&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Ek(a);else{c=a.Ga.cc[15]+((a.Ga.cc[14]&63)<<8);a.Mc!=c&&(Ek(a),a.Mc=c);d=d-b+1;if(a.cm!=b||a.lk!=d)a.cm=b,a.lk=d;a.ge=e+1;Dk(a)}}} +function Ek(a){if(0<=a.Mc){if(void 0!==a.dc){var b=a.dc[a.Mc];if(b&131072){var b=b&-131073,c=a.Mc%a.Cb,d=Math.floor(a.Mc/a.Cb);a.Rb&&a.Ud[a.Rb]&&(a.cf&&Fk(a,c,d,b,a.cf),Fk(a,c,d,b));a.dc[a.Mc]=b}}a.Mc=-1}} +function Gk(a){var b;a=a.Ga;var c=a.we[5];if(null!=c){b=2;var d=512,e=a.we[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.md=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.Ue=function(a){var b=this.Ga;null!=a&&b&&a!=b.xh&&(b.Oh(a),this.qa.Oh(b.Ua,b.Nb,b.Kf))}; +function xk(a,b){var c,d=a.Jd,e=a.Ga;if(e)if(1==e.je)d=Jj;else if(5==e.je){var d=null,f=e.Vc>>2,h=32768f&&(d=c?13:14):c&&(d-=2));c=Gk(a)}}else e.Ac&8&&(e.Ac&2?(d=e.Ac&16?6:5,e.Ac&4||(d-=1)):(d=e.Ac&1?3:1,e.Ac&4&&(d-= +1)));else a.Jd=null,null==d&&(d=a.nd);if(!wk(a,d,b))return!1;a.Ue(c);return!0} +function wk(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.km=0;a.Jd=b;b=a.Ga||(b==Jj?a.Uc:a.Bb);if(b!=a.Ga||b.Ua!=a.Ua||b.Nb!=a.Nb){Ek(a);if(a.Ua){if(!lb(a.qa,a.Ua,a.Nb))return!1;a.Ga&&(a.Ga.lc=!1)}a.Ga=b;b.lc=!0;a.Ua=b.Ua;a.Nb=b.Nb;if(!jb(a.qa,b.Ua,b.Nb,!1,b===a.ma?b:null))return!1}a.Rb=0;a.Cb=a.Ah;a.qc=a.Oi;a.Ii=Ij[Jj][2];b=0;var d=Ij[a.Jd];d&&(a.Cb=d[0],a.qc=d[1],a.Ii=d[2],b=d[3]||0,a.Rb=d[4],4==a.me&&a.Ga===a.ma&&3==a.Rb&&(7==a.ma.cc[9]?a.qc=43:a.Rb=5));a.Fk=a.Cb*a.qc;a.zh=a.Fk/a.Ii;a.hi=(a.zh<<1)+b;a.ik= +b?a.hi+b>>1:0;13<=a.Jd&&(a.zh<<=1);a.Ud.length&&(a.yd=Math.floor(a.xd/a.Cb),a.zd=Math.floor(a.he/a.qc),a.Rb?(b=a.Ud[a.Rb],d=a.Ud[a.Rb<<1],a.wm&&80==a.Cb?d&&a.yd>=3*d.jc>>2&&(a.Rb<<=1,b=d):(d&&a.yd>=d.jc&&(a.Rb<<=1,b=d),b&&(a.yd=b.jc,a.zd=b.kc)),a.Xf=a.Yf=0,b&&(a.Xf=a.Cb*b.jc,a.Yf=a.qc*b.kc)):(a.yd=a.zd=1,a.Xf=a.Cb,a.Yf=a.qc),a.th=a.Wc.createImageData(a.Xf,a.Yf),a.af=window.document.createElement("canvas"),a.af.width=a.Xf,a.af.height=a.Yf,a.cf=a.af.getContext("2d"),a.Sj=a.Tj=0,a.ji=a.xd,a.ki=a.he, +b=a.xd-a.Cb*a.yd,d=a.he-a.qc*a.zd,0>1,a.ji-=b),0>1,a.ki-=d),b||d)&&(a.Wc.fillStyle=a.Ib.style.backgroundColor,a.Wc.fillRect(0,0,a.xd,a.he));!1!==c?Lb(a,!0):Hk(a,!0)}return!0}function Ck(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 Hk(a,b){var c;if(b){if(c=a.zh,void 0===a.dc||a.dc.length!=c)a.dc=Array(c)}else{if(void 0===a.dc)return;c=a.dc.length}for(var d=0;d>8;d=h&15;var g=a.Ud[a.Rb];g.Ef&&(d=g.Ef[d]);var l=h>>4&15;g.Ef&&(l=g.Ef[l]);e?(b*=g.jc,c*=g.kc,e.fillStyle=g.Ye[l],e.fillRect(b,c,g.jc,g.kc)):(b=b*a.yd+a.Sj,c=c*a.zd+a.Tj,a.Wc.fillStyle=g.Ye[l],a.Wc.fillRect(b,c,a.yd,a.zd));h&256&&(l=(f&15)*g.jc,f=(f>>4)*g.kc,e?e.drawImage(g.Th[d],l,f,g.jc,g.kc,b,c,g.jc,g.kc):a.Wc.drawImage(g.Th[d],l,f,g.jc,g.kc,b,c,a.yd,a.zd));h&512&&(f=a.cm,h=a.lk,e?(a.ge&&a.ge!==g.kc&&(f=Math.floor(f*g.kc/a.ge),h=Math.floor(h*g.kc/a.ge)), +e.fillStyle=g.Ye[d],e.fillRect(b,c+f,g.jc,h)):(a.ge&&a.ge!==a.zd&&(f=Math.floor(f*a.zd/a.ge),h=Math.floor(h*a.zd/a.ge)),a.Wc.fillStyle=g.Ye[d],a.Wc.fillRect(b,c+f,a.yd,h)))} +function Lb(a,b){if(a.pa.Kb){var c=!1;a.Ga&&(a.Ga===a.ma?a.ma.Bd&32&&(c=!0):a.Ga.Ac&8&&(c=!0));if(c||b){if(b)Hk(a,!0);else if(void 0===a.dc)return;var d=!1;!(b||++a.km&15)&&0<=a.Fe&&(a.Fe++,d=!0);var e=0,f=a.Fk,c=a.Ga.Ua,h=c+a.Ga.Nb,g=(a.Ga.cc[12]<<8)+a.Ga.cc[13];a.Rb&&(g<<=1);var c=c+g,l=a.hi;c+l>h&&(l=h-c,0>l&&(l=0));h=c+l;if(g=!b){for(var g=a.qa,n=!0,p=c>>g.rb;0a.Mc)return;e=a.Mc;f= +e+1}}if(a.Rb){if(a.Ud[a.Rb]){d=0;g=a.Ee=0;l=1048575;a.Ga.Ac&32&&(g=32768,l&=~g,a.Fe&2||(l&=-65537));for(c+=e<<1;c>8|(r&255)<<8;s=g;var Ha=16;p>=l))>>(Ha-=l);Ck(a.th,p++,u,n[jc])}p>B&&(B=p);u=ha&&(ha=u+1)}e+=2;h++;if(p>=a.Cb){p=0;u+=2;if(u>a.qc)break;u==a.qc&&(u=1,e=c+a.ik)}}zU;U++)ha= +B&2155905152,0>ha&&(ha+=4294967296),ha=Sj[ha]||0,Ck(a.th,g++,l,h[ha]),B<<=1;g>p&&(p=g);l=z&&(z=l+1)}e++;if(g>=a.Cb&&(g=0,++l>a.qc))break}n>2),c=this.ma.Rh&-17|(this.Pg&1<f&&(f=0);f%b.Li>b.On&&(d|=1);f%=b.Ik;f>b.Rn&&(d|=8);b.Si=e-f;b===a.ma?(d|=b.wf&48^48,b.jd=!1):d=(b.wf^=9)|240;b.wf=d;a.da(b.port+6,null,c,b===a.ma?"STATUS1":"STATUS",d);return d}k.Ra=function(a,b){this.ca&&(b||E(this.ca,rk))&&this.ca.message(a)};k.da=function(a,b,c,d,e){this.ca&&this.ca.da(this,a,b,c,d,rk,e)}; +var nk={948:T.prototype.ln,949:T.prototype.kn,952:T.prototype.mn,954:T.prototype.nn,980:T.prototype.Tm,981:T.prototype.Sm,984:T.prototype.Um,985:T.prototype.Rm,986:T.prototype.Vm},ok={948:T.prototype.Co,949:T.prototype.Bo,952:T.prototype.Do,980:T.prototype.no,981:T.prototype.mo,984:T.prototype.oo,985:T.prototype.lo},pk={960:T.prototype.Bk,961:T.prototype.Bk,962:T.prototype.xn,964:T.prototype.wn,965:T.prototype.vn,970:T.prototype.dn,972:T.prototype.cn,974:T.prototype.bn,975:T.prototype.an},qk={954:T.prototype.Ml, +960:T.prototype.Ll,961:T.prototype.Ll,962:T.prototype.Fo,964:T.prototype.Mo,965:T.prototype.Lo,970:T.prototype.xo,972:T.prototype.wo,974:T.prototype.vo,975:T.prototype.uo,986:T.prototype.Ml}; Fa(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 T(d,e,f);Ya(d,c)}}); -function Nk(a){this.uk=a.adapter;switch(this.uk){case 1:this.Fj=1016;this.kg=4;break;case 2:this.Fj=760;this.kg=3;break;default:x("Unrecognized serial adapter #"+this.uk);return}this.be=null;y.call(this,"SerialPort",a,Nk);var b=a.binding,c;a=Ok;b&&(void 0===c&&(c="Panel"),(c=Xa(c,this.id))&&(b=c.va[b])&&this.wb(null,null,a,b))}A(y,Nk);var Ok="buffer";k=Nk.prototype;k.Yj=function(a,b){return a==this.oh?(this.yk=b,this):null}; -k.wb=function(a,b,c,d){var e=this;switch(c){case Ok:return this.va[c]=this.be=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Pk(e,[b]))},d.onkeypress=function(a){a=a||window.event;Pk(e,[a.which||a.keyCode])},!0}return!1};k.oc=function(a,b,c,d){this.oa=b;this.T=c;this.ba=d;this.ma=db(a,"ChipSet");sb(b,this,Qk,this.Fj);yb(b,this,Rk,this.Fj);this.Qa()}; -k.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.he()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.bi;c[b++]=this.bk;c[b++]=this.Ue;c[b++]=this.Ng;c[b++]=this.Yd;c[b++]=this.Rc;c[b++]=this.bd;c[b++]=this.Fc;c[b++]=this.$j;c[b]=this.Ef;a.set(0,c);return a.data()};k.restore=function(a){return this.he(a[0])}; -k.he=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.bi=a[b++];this.bk=a[b++];this.Ue=a[b++];this.Ng=a[b++];this.Yd=a[b++];this.Rc=a[b++];this.bd=a[b++];this.Fc=a[b++];this.$j=a[b++];this.Ef=a[b];return!0};function Pk(a,b){a.Ef=a.Ef.concat(b);Sk(a)}function Sk(a){0>8:this.Ng;this.ca(a,null,b,this.Rc&128?"DLM":"IER",c);return c};k.bn=function(a,b){var c=this.Yd;this.ca(a,null,b,"IIR",c);return c};k.cn=function(a,b){var c=this.Rc;this.ca(a,null,b,"LCR",c);return c};k.en=function(a,b){var c=this.bd;this.ca(a,null,b,"MCR",c);return c}; -k.dn=function(a,b){var c=this.Fc;this.ca(a,null,b,"LSR",c);return c};k.ln=function(a,b){var c=this.$j;this.ca(a,null,b,"MSR",c);return c};k.Ko=function(a,b,c){this.ca(a,b,c,this.Rc&128?"DLL":"THR");this.Rc&128?this.Ue=this.Ue&-256|b:(this.bk=b,this.Fc&=-97,this.be?(13!=b&&(8==b?this.be.value=this.be.value.slice(0,-1):(this.be.value+=String.fromCharCode(b),this.be.scrollTop=this.be.scrollHeight)),a=!0):a=!1,a&&(this.Fc|=96))}; -k.vo=function(a,b,c){this.ca(a,b,c,this.Rc&128?"DLM":"IER");this.Rc&128?this.Ue=this.Ue&255|b<<8:this.Ng=b};k.wo=function(a,b,c){this.ca(a,b,c,"LCR");this.Rc=b}; -k.xo=function(a,b,c){var d=this.bd;this.ca(a,b,c,"MCR");this.bd=b;this.yk&&(d^b)&3&&(a=this.yk,b=this.bd,(c=3==(b&3))?a.lc||(d=!1,a.bd&2||(a.reset(),a.Oa("serial mouse reset"),d=!0),a.bd&1||(a.Oa("serial mouse ID requested"),d=!0),d&&(Pk(a.Pf,[77]),a.Oa("serial mouse ID sent")),Tk(a,a.Hb),a.lc=c):a.lc&&(a.Oa("serial mouse inactive"),Uk(a.Hb),a.lc=c),a.bd=b)};k.Oa=function(a){this.ba&&E(this.ba,Vk)&&this.ba.message(a)};k.ca=function(a,b,c,d,e){this.ba&&this.ba.ca(this,a,b,c,d,Vk,e)}; -var Qk={0:Nk.prototype.qn,1:Nk.prototype.an,2:Nk.prototype.bn,3:Nk.prototype.cn,4:Nk.prototype.en,5:Nk.prototype.dn,6:Nk.prototype.ln},Rk={0:Nk.prototype.Ko,1:Nk.prototype.vo,3:Nk.prototype.wo,4:Nk.prototype.xo};Fa(function(){for(var a=D(window.document,"pcjs","serial"),b=0;ba.Bg||0>a.Cg)a.Bg=b.clientX,a.Cg=b.clientY;a.wf=b.clientX-a.Bg;a.xf=b.clientY-a.Cg;(a.wf||a.xf)&&Xk(a,null,b.clientX,b.clientY);a.Bg=b.clientX;a.Cg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Yk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Yk(a,b.button,!1)},!1),a.pi=!0),b.style.cursor="none")}function Uk(a){a&&(a.style.cursor="auto")} -function Yk(a,b,c){if(a.lc&&a.T&&a.T.Kb)switch(b){case 0:a.bh!=c&&(a.bh=c,Xk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.dh!=c&&(a.dh=c,Xk(a,"mouse button2 "+(c?"dn":"up")))}}function Xk(a,b,c,d){var e=64|(a.bh?32:0)|(a.dh?16:0)|(a.xf&192)>>4|(a.wf&192)>>6,f=a.wf&63,h=a.xf&63;a.Oa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(h)+"]");Pk(a.Pf,[e,f,h]);a.wf=a.xf=0}k.Oa=function(a){this.ba&&E(this.ba,Zk)&&this.ba.message(a)}; -Fa(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Qb+":"+this.Sb+":"+this.$b+":"+this.Ib,a+="&machine="+this.ga.ff(),a+="&user="+this.ga.fe(),e=ta()+"/api/v1/disk?"+a,this.gh=!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"),e=ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.df?"":d)+"&format=json")),sa(e,!0,null,this,this.mm,b))}; -k.mm=function(a,b,c,d){var e=null;this.ef=!1;var f=0>c&&this.Fa&&!this.Fa.Jb;if(this.gh)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.xd=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.Id+'" (error '+c+")",f);else try{if(0h&&0b.indexOf("0x")&& +function Nk(a){this.yk=a.adapter;switch(this.yk){case 1:this.Hj=1016;this.ng=4;break;case 2:this.Hj=760;this.ng=3;break;default:x("Unrecognized serial adapter #"+this.yk);return}this.ee=null;y.call(this,"SerialPort",a,Nk);var b=a.binding,c;a=Ok;b&&(void 0===c&&(c="Panel"),(c=Xa(c,this.id))&&(b=c.xa[b])&&this.zb(null,null,a,b))}A(y,Nk);var Ok="buffer";k=Nk.prototype;k.$j=function(a,b){return a==this.rh?(this.Ck=b,this):null}; +k.zb=function(a,b,c,d){var e=this;switch(c){case Ok:return this.xa[c]=this.ee=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Pk(e,[b]))},d.onkeypress=function(a){a=a||window.event;Pk(e,[a.which||a.keyCode])},!0}return!1};k.oc=function(a,b,c,d){this.qa=b;this.T=c;this.ca=d;this.na=db(a,"ChipSet");sb(b,this,Qk,this.Hj);yb(b,this,Rk,this.Hj);this.Ta()}; +k.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.ei;c[b++]=this.dk;c[b++]=this.Xe;c[b++]=this.Qg;c[b++]=this.ae;c[b++]=this.Tc;c[b++]=this.fd;c[b++]=this.Gc;c[b++]=this.bk;c[b]=this.Hf;a.set(0,c);return a.data()};k.restore=function(a){return this.ke(a[0])}; +k.ke=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ei=a[b++];this.dk=a[b++];this.Xe=a[b++];this.Qg=a[b++];this.ae=a[b++];this.Tc=a[b++];this.fd=a[b++];this.Gc=a[b++];this.bk=a[b++];this.Hf=a[b];return!0};function Pk(a,b){a.Hf=a.Hf.concat(b);Sk(a)}function Sk(a){0>8:this.Qg;this.da(a,null,b,this.Tc&128?"DLM":"IER",c);return c};k.fn=function(a,b){var c=this.ae;this.da(a,null,b,"IIR",c);return c};k.gn=function(a,b){var c=this.Tc;this.da(a,null,b,"LCR",c);return c};k.jn=function(a,b){var c=this.fd;this.da(a,null,b,"MCR",c);return c}; +k.hn=function(a,b){var c=this.Gc;this.da(a,null,b,"LSR",c);return c};k.pn=function(a,b){var c=this.bk;this.da(a,null,b,"MSR",c);return c};k.No=function(a,b,c){this.da(a,b,c,this.Tc&128?"DLL":"THR");this.Tc&128?this.Xe=this.Xe&-256|b:(this.dk=b,this.Gc&=-97,this.ee?(13!=b&&(8==b?this.ee.value=this.ee.value.slice(0,-1):(this.ee.value+=String.fromCharCode(b),this.ee.scrollTop=this.ee.scrollHeight)),a=!0):a=!1,a&&(this.Gc|=96))}; +k.yo=function(a,b,c){this.da(a,b,c,this.Tc&128?"DLM":"IER");this.Tc&128?this.Xe=this.Xe&255|b<<8:this.Qg=b};k.zo=function(a,b,c){this.da(a,b,c,"LCR");this.Tc=b}; +k.Ao=function(a,b,c){var d=this.fd;this.da(a,b,c,"MCR");this.fd=b;this.Ck&&(d^b)&3&&(a=this.Ck,b=this.fd,(c=3==(b&3))?a.lc||(d=!1,a.fd&2||(a.reset(),a.Ra("serial mouse reset"),d=!0),a.fd&1||(a.Ra("serial mouse ID requested"),d=!0),d&&(Pk(a.Tf,[77]),a.Ra("serial mouse ID sent")),Tk(a,a.Ib),a.lc=c):a.lc&&(a.Ra("serial mouse inactive"),Uk(a.Ib),a.lc=c),a.fd=b)};k.Ra=function(a){this.ca&&E(this.ca,Vk)&&this.ca.message(a)};k.da=function(a,b,c,d,e){this.ca&&this.ca.da(this,a,b,c,d,Vk,e)}; +var Qk={0:Nk.prototype.un,1:Nk.prototype.en,2:Nk.prototype.fn,3:Nk.prototype.gn,4:Nk.prototype.jn,5:Nk.prototype.hn,6:Nk.prototype.pn},Rk={0:Nk.prototype.No,1:Nk.prototype.yo,3:Nk.prototype.zo,4:Nk.prototype.Ao};Fa(function(){for(var a=D(window.document,"pcjs","serial"),b=0;ba.Eg||0>a.Fg)a.Eg=b.clientX,a.Fg=b.clientY;a.zf=b.clientX-a.Eg;a.Af=b.clientY-a.Fg;(a.zf||a.Af)&&Xk(a,null,b.clientX,b.clientY);a.Eg=b.clientX;a.Fg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Yk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Yk(a,b.button,!1)},!1),a.si=!0),b.style.cursor="none")}function Uk(a){a&&(a.style.cursor="auto")} +function Yk(a,b,c){if(a.lc&&a.T&&a.T.pa.Lb)switch(b){case 0:a.fh!=c&&(a.fh=c,Xk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.gh!=c&&(a.gh=c,Xk(a,"mouse button2 "+(c?"dn":"up")))}}function Xk(a,b,c,d){var e=64|(a.fh?32:0)|(a.gh?16:0)|(a.Af&192)>>4|(a.zf&192)>>6,f=a.zf&63,h=a.Af&63;a.Ra((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(h)+"]");Pk(a.Tf,[e,f,h]);a.zf=a.Af=0}k.Ra=function(a){this.ca&&E(this.ca,Zk)&&this.ca.message(a)}; +Fa(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Qb+":"+this.Sb+":"+this.$b+":"+this.Jb,a+="&machine="+this.ha.jf(),a+="&user="+this.ha.ie(),e=ta()+"/api/v1/disk?"+a,this.jh=!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"),e=ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.gf?"":d)+"&format=json")),sa(e,!0,null,this,this.qm,b))}; +k.qm=function(a,b,c,d){var e=null;this.hf=!1;var f=0>c&&this.Ha&&!this.Ha.pa.Kb;if(this.jh)c?this.ha.Ka('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.ha.Ka('Unable to load disk "'+this.Ld+'" (error '+c+")",f);else try{if(0h&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)x(g[0]);else{for(b=a=0;b>2,p=l.pattern;void 0===p&&(p=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);2E3b&&(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++]=h>>16&255;c[d++]=h>>24&255}return c}function il(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var h=d.length;h<=f;h++)d[h]=e;a.Gc?f=a.Wc+a.Gc&&(a.Gc+=f-(a.Wc+a.Gc)+1):(a.Wc=f,a.Gc=1);d[f]=d[f]&~(255<=this.nb.length||l>=this.nb[g].length||n>=this.nb[g][l].length){c="sector "+g+":"+l+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e= -h[f++];f=h[f++];h=e+f.length;if(g=this.nb[g][l][n]){for(l=g.data.length;lb&&this.ga.Ia("unable to restore disk '"+this.Id+": "+c);return b};k.Oa=function(a){this.ba&&E(this.ba,jl)&&this.ba.message(a)}; -function kl(a){y.call(this,"FDC",a,kl);this.dmaRead=this.ji;this.dmaWrite=this.ki;this.dmaFormat=this.jm;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.tc=[]}A(y,kl);m={};aa={}; -var ll={3:{td:3,ae:0,name:aa.vp},4:{td:2,ae:1,name:aa.tp},5:{td:9,ae:7,name:aa.Dp},6:{td:9,ae:7,name:aa.op},7:{td:2,ae:0,name:aa.qp},8:{td:1,ae:2,name:aa.up},10:{td:2,ae:7,name:aa.pp},13:{td:6,ae:7,name:aa.jp},15:{td:3,ae:0,name:aa.sp}};k=kl.prototype; -k.wb=function(a,b,c,d){switch(c){case "listDisks":return this.va[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.va.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var l={};if(d=d.getAttribute("data-value"))try{l=eval("({"+d+"})")}catch(n){x("FDC option error: "+(n.message||n))}d=l.desc;void 0===d&&(d="");l=l.href;void 0!==l&&(d=''+d+"");c.innerHTML= -d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.va[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||ml(a,c)}}(this,d),!0;case "loadDrive":return this.va[c]=d,d.onclick=function(a){return function(){var b,c=a.va.listDisks,d=a.va.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.wa.restore(f)&&(e=!1);e&&a.wa&&void 0!==a.Xa&&(a.Pa=a.wa.seek(a.ib,a.La,a.Ta));return e};k.Mj=function(){for(var a=0,b=[],c=0;ca.Qb||e[1]>a.Sb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.bb)),b=null);b&&(a.wa=b,a.Ql=c,a.Pe=d,tl(this,c,d,b),this.oe|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.bb),a.Ge),a.yh=e[0],a.ig=e[1],a.jg=e[2]);a.Ge&&(a.Ge=!1,--this.Ae||this.Qa());ml(this,a.bb)}; -function ml(a,b){if(0<=b&&b=this.Za&&(this.Aa&=-81,this.mb=this.Za=0);return c}; -k.po=function(a,b,c){this.ca(a,b,c,"DATA["+this.Za+"]");this.Za=ll[a].td){c=!1;this.mb=0;a=this.Ma();var d,e,f,h,g;b=a&31;switch(b){case 3:this.Ma(m.wp);this.Ma(m.lp);this.Ob();break;case 4:e=this.Ma(m.yf);this.bb=e&3;d=this.Ba[this.bb];this.Ob();this.ac((d.Va&4278190080)>>>24,m.zp);break;case 5:case 6:e=this.Ma(m.yf);c=e>>2&1;this.bb=e&3;d=this.Ba[this.bb];d.La=c;e=d.ib=this.Ma(m.$l);f=this.Ma(m.bm);h=d.Ta=this.Ma(m.dm); -g=this.Ma(m.Sj);d.Ya=128<>2&1;this.bb=e&3;d=this.Ba[this.bb];e=d.ib;f=d.La=c;h=d.Ta=1;g=0;d.Va=0;d.wa&&(d.Pa=d.wa.seek(d.ib,d.La,d.Ta))? -g=d.Pa.length:d.Va=1088;ul(this,d,a,c,e,f,h,g);c=!0;break;case 13:e=this.Ma(m.yf);c=e>>2&1;this.bb=e&3;d=this.Ba[this.bb];e=d.ib;f=d.La=c;h=1;g=this.Ma(m.Sj);d.Ya=128<>2&1,e=this.Ma(m.mp),d.ib+=e-d.Xd,0>d.ib&&(d.ib=0),d.ib>=d.Qb&&(d.ib=d.Qb-1),d.Xd=e,d.Va=32,0==d.ib&&(d.Va|=268435456),this.Ob(),c=!0}0>>8,m.xp);a.ac((b.Va&16711680)>>>16,m.yp);var l=0;if(e!=b.ib||f!=b.La)l=h=1;c&128&&(f^=l,d||(l=0));a.ac(e+l,m.$l);a.ac(f,m.bm);a.ac(h,m.dm);a.ac(g,m.Sj)}k.Ma=function(){var a=this.bc[this.mb];this.mb++;return a}; -k.Ob=function(){this.mb=this.Za=0};k.ac=function(a){this.bc[this.Za++]=a};k.ji=function(a,b,c){void 0===b||0>b?this.rc(a,c):c(-1,!1)};k.ki=function(a,b){return void 0!==b&&0<=b?this.Bc(a,b):-1};k.jm=function(a,b){return void 0!==b&&0<=b?this.Oj(a,b):-1};k.li=function(a){a.Va=72;a.wa&&(a.Pa=null,a.Va=0,this.ma&&(Ri(this.ma,2,this,"dmaRead",a),Li(this.ma,2)))};k.mi=function(a){a.Va=72;a.wa&&(a.wa.ef?a.Va=576:(a.Pa=null,a.Va=0,this.ma&&(Ri(this.ma,2,this,"dmaWrite",a),Li(this.ma,2))))}; -k.kk=function(a){a.Va=72;a.wa&&(a.Pa=null,a.Va=0,this.ma&&(a.De=0,a.vc=Array(4),a.If=!0,a.Of=0,Ri(this.ma,2,this,"dmaFormat",a),Li(this.ma,2),a.If=!1))};k.rc=function(a,b){var c=-1;if(!a.Va&&a.wa){do{if(a.Pa&&0<=(c=il(a.Pa,a.Xa++)))break;a.Pa=a.wa.seek(a.ib,a.La,a.Ta);if(!a.Pa){a.Va=1088;break}a.Xa=0;this.Ff(a)}while(1)}b(c,!1)}; -k.Bc=function(a,b){if(a.Va||!a.wa)return-1;do{if(a.Pa&&a.wa.write(a.Pa,a.Xa++,b))break;a.Pa=a.wa.seek(a.ib,a.La,a.Ta);if(!a.Pa){a.Va=8256;b=-1;break}a.Xa=0;this.Ff(a)}while(1);return b};k.Ff=function(a){a.Ta++;a.Ta>=a.jg+1&&(a.Ta=1,a.La++,a.La>=a.ig&&(a.La=0,a.ib++))};k.Oj=function(a,b){if(a.Va)return-1;a.vc[a.De++]=b;if(a.De==a.vc.length){a.ib=a.vc[0];a.La=a.vc[1];a.Ta=a.vc[2];a.Ya=128<this.Bc(a,a.Zj))return-1;a.Of++}a.Of>=a.Zd&&(b=-1);return b}; -k.Ei=function(a){var b=this.T.K&255;this.ba&&E(this.ba,rj|Yc)&&128>b&&(Zc(this.ba,19,a),$c(this.T,a,function(a,b){return function(e){ad(a.ba,19,e,F(a.T)-b)}}(this,F(this.T))));return!0};k.Oa=function(a,b){this.ba&&(null==b&&(b=rj),E(this.ba,b)&&this.ba.message(a))};k.ca=function(a,b,c,d,e){this.ba&&this.ba.ca(this,a,b,c,d,rj,e)};var pl={1012:kl.prototype.Wm,1013:kl.prototype.Um,1015:kl.prototype.Vm},ql={1010:kl.prototype.qo,1013:kl.prototype.po,1015:kl.prototype.oo}; -Fa(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b=e&&(this.pf|=(f.type&3)<<(1-e<<1))}return d}; -k.Kj=function(){var a=0,b=[];this.Fe?(b[a++]=this.Hd,b[a++]=this.Pl,b[a++]=this.pe,b[a++]=this.Jh,b[a++]=this.Hh,b[a++]=this.Gh,b[a++]=this.qf,b[a++]=this.Aa,b[a++]=this.Hj,b[a++]=this.Ih):(b[a++]=this.pf,b[a++]=this.Aa,b[a++]=this.bc,b[a++]=this.mb,b[a++]=this.Za,b[a++]=this.Ol,b[a++]=this.Nl,b[a++]=this.Ml,b[a++]=this.gf);b[a]=this.Mj();return b}; -k.Ci=function(a,b,c,d,e){var f=0,h=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.bb=a;b.errorCode=d[f++];b.Vl=d[f++];b.df=d[f++];b.We=d[f++];b.Xe=d[f++];b.La=d[f++];b.Sb=d[f++];b.Nd=d[f++];b.Ta=d[f++];b.Zd=d[f++];b.Ya=d[f++];b.Sg=this.Fe?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.fe()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===vl[this.Yf][b.type])b.type=this.zm;c=vl[this.Yf][b.type]; -b.$b=c[2]||17;b.Ib=c[3]||512;if(e&&this.ma&&(e=this.ma,c=b.type,e.qa)){var g=e.qa[18],g=a?g&240|c:g&15|c<<4;e.qa&&(e.qa[18]=g,zi(e))}void 0===b.wa&&(b.wa=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Al(this,b);b.Xa=d[f++];b.Pa=null;b.wa&&(a=d[f],void 0!==a&&0>b.wa.restore(a)&&(h=!1),h&&void 0!==b.Xa&&(b.Pa=b.wa.seek(b.Nd,b.La,b.Ta+b.Sg)));return h};k.Mj=function(){for(var a=0,b=[],c=0;c=this.Za&&(this.mb=this.Za=0,this.Aa&=-15);return c}; -k.Mo=function(a,b,c){this.ca(a,b,c,"DATA["+this.Za+"]");this.Za=a&&(this.Aa|=2,this.Aa&=-2,Bl(this))};k.xn=function(a,b){var c=this.Aa;this.ca(a,null,b,"STATUS",c);this.mb=this.Na.Ib){var e=this;this.rc(this.Na,function(a){0<=a?Cl(e):(e.Aa=1,e.Hd=16)},!1)}else this.Aa=80;d||this.ca(a,null,b,"DATA",c);return c}; -k.ao=function(a,b,c){this.Na&&0!=this.Na.Xa||this.ca(a,b,c,"DATA");this.Na&&this.Na.Ya>=this.Na.Ib&&(0>this.Bc(this.Na,b)?(this.Aa=1,this.Hd=16):this.Na.Xa==this.Na.Ib&&(this.Na.Ya-=this.Na.Ib,this.pe=this.pe-1&255,Cl(this),this.Na.Ya>=this.Na.Ib||(this.Aa=80)))};k.Jm=function(a,b){var c=this.Hd;this.ca(a,null,b,"ERROR",c);return c};k.ho=function(a,b,c){this.ca(a,b,c,"WPREC");this.Pl=b};k.Km=function(a,b){var c=this.pe;this.ca(a,null,b,"SECCNT",c);return c}; -k.eo=function(a,b,c){this.ca(a,b,c,"SECCNT");this.pe=b};k.Lm=function(a,b){var c=this.Jh;this.ca(a,null,b,"SECNUM",c);return c};k.fo=function(a,b,c){this.ca(a,b,c,"SECNUM");this.Jh=b};k.Gm=function(a,b){var c=this.Hh;this.ca(a,null,b,"CYLLO",c);return c};k.$n=function(a,b,c){this.ca(a,b,c,"CYLLO");this.Hh=b};k.Fm=function(a,b){var c=this.Gh;this.ca(a,null,b,"CYLHI",c);return c};k.Zn=function(a,b,c){this.ca(a,b,c,"CYLHI");this.Gh=b};k.Im=function(a,b){var c=this.qf;this.ca(a,null,b,"DRVHD",c);return c}; -k.bo=function(a,b,c){this.ca(a,b,c,"DRVHD");this.qf=b;this.Aa=this.Ba[this.qf&16?1:0]?this.Aa|64:this.Aa&-65};k.Mm=function(a,b){var c=this.Aa;this.ca(a,null,b,"STATUS",c);return c};k.Yn=function(a,b,c){this.ca(a,b,c,"COMMAND");this.Hj=b;this.ma&&Zi(this.ma,14);Dl(this)};k.co=function(a,b,c){this.ca(a,b,c,"FDR");this.Ih&4&&!(b&4)&&(this.Hd=1);this.Ih=b}; -function Dl(a){var b=!1,c=a.Hj,d=a.qf&16?1:0,e=a.qf&15,f=a.Hh|(a.Gh&3)<<8,h=a.Jh,g=a.pe||256;a.Na=null;a.Hd=0;a.Aa=80;(d=a.Ba[d])?(d.Nd=f,d.La=e,d.Ta=h,d.Ya=g*d.Ib,c=144<=c?c:c&240,d.Pa=null,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.rc(d,function(b){0<=b&&a.ma?(Cl(a),a.Aa=136):(a.Aa=1,a.Hd=16)},!1);break;case 48:a.ma?(Cl(a),a.Aa=136):(a.Aa=1,a.Hd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Hd=1;b=!0;break;case 145:d.Sb=e+1,d.$b=g,b=!0}b&&Cl(a)} -function Cl(a){!a.ma||a.Ih&2||Yi(a.ma,14)} -function Bl(a){a.mb=0;var b=a.Ma(),c=a.Ma(),d=c&32,e=d>>5,f=c&31,h=a.Ma(),g=a.Ma(),l=h<<2&768|g,n=h&63,p=a.Ma(),r=a.Ma(),s=a.Ba[e];s&&(s.Nd=l,s.La=f,s.Ta=n,s.Ya=p*s.Ib);switch(b){case 3:a.Ob(s?s.errorCode:4);a.ac(c);a.ac(h);a.ac(g);a.ac(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ma());)s&&cb?this.rc(a,c):c(-1,!1)}; -k.ki=function(a,b){return void 0!==b&&0<=b?this.Bc(a,b):-1};k.km=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Xa=a.$b+b&&(a.Ta=b,a.La++,a.La>=a.Sb&&(a.La=0,a.Nd++))}; -k.Oj=function(a,b){if(a.errorCode)return-1;a.vc[a.De++]=b;if(a.De==a.vc.length){a.Nd=a.vc[0];a.La=a.vc[1];a.Ta=a.vc[2];a.Ya=128<this.Bc(a,a.Zj))return-1;a.Of++}a.Of>=a.Zd&&(b=-1);return b};k.zn=function(a){var b=this.T.K&255;!(this.T.H>>8)&&128>8)||(a=!this.ma)||(a=!(this.ma.sb[0].sd&64));return a?!0:!1};k.Oa=function(a,b){this.ba&&(null==b&&(b=Fl),E(this.ba,b)&&this.ba.message(a))};k.ca=function(a,b,c,d,e){this.ba&&this.ba.ca(this,a,b,c,d,Fl,e)}; -var xl={800:Y.prototype.wn,801:Y.prototype.xn,802:Y.prototype.vn},wl={496:Y.prototype.Hm,497:Y.prototype.Jm,498:Y.prototype.Km,499:Y.prototype.Lm,500:Y.prototype.Gm,501:Y.prototype.Fm,502:Y.prototype.Im,503:Y.prototype.Mm},zl={800:Y.prototype.Mo,801:Y.prototype.Po,802:Y.prototype.Oo,803:Y.prototype.No,807:Y.prototype.Cj,811:Y.prototype.Cj,815:Y.prototype.Cj},yl={496:Y.prototype.ao,497:Y.prototype.ho,498:Y.prototype.eo,499:Y.prototype.fo,500:Y.prototype.$n,501:Y.prototype.Zn,502:Y.prototype.bo,503:Y.prototype.Yn, -1014:Y.prototype.co};Fa(function(){for(var a=D(window.document,"pcjs","hdc"),b=0;b>2;b=(b&3)<<3;for(var h=d.length;h<=f;h++)d[h]=e;a.Hc?f=a.Zc+a.Hc&&(a.Hc+=f-(a.Zc+a.Hc)+1):(a.Zc=f,a.Hc=1);d[f]=d[f]&~(255<=this.pb.length||l>=this.pb[g].length||n>=this.pb[g][l].length){c="sector "+g+":"+l+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.hf){c="unable to modify write-protected disk";b=-1;break}e= +h[f++];f=h[f++];h=e+f.length;if(g=this.pb[g][l][n]){for(l=g.data.length;lb&&this.ha.Ka("unable to restore disk '"+this.Ld+": "+c);return b};k.Ra=function(a){this.ca&&E(this.ca,jl)&&this.ca.message(a)}; +function kl(a){y.call(this,"FDC",a,kl);this.dmaRead=this.mi;this.dmaWrite=this.ni;this.dmaFormat=this.nm;this.Pe=null;if(a.autoMount&&(this.Pe=a.autoMount,"string"==typeof this.Pe))try{this.Pe=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Pe=null}this.tc=[]}A(y,kl);m={};aa={}; +var ll={3:{wd:3,de:0,name:aa.yp},4:{wd:2,de:1,name:aa.wp},5:{wd:9,de:7,name:aa.Gp},6:{wd:9,de:7,name:aa.rp},7:{wd:2,de:0,name:aa.tp},8:{wd:1,de:2,name:aa.xp},10:{wd:2,de:7,name:aa.sp},13:{wd:6,de:7,name:aa.mp},15:{wd:3,de:0,name:aa.vp}};k=kl.prototype; +k.zb=function(a,b,c,d){switch(c){case "listDisks":return this.xa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.xa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var l={};if(d=d.getAttribute("data-value"))try{l=eval("({"+d+"})")}catch(n){x("FDC option error: "+(n.message||n))}d=l.desc;void 0===d&&(d="");l=l.href;void 0!==l&&(d=''+d+"");c.innerHTML= +d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.xa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||ml(a,c)}}(this,d),!0;case "loadDrive":return this.xa[c]=d,d.onclick=function(a){return function(){var b,c=a.xa.listDisks,d=a.xa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.ya.restore(f)&&(e=!1);e&&a.ya&&void 0!==a.$a&&(a.Sa=a.ya.seek(a.kb,a.Na,a.Wa));return e};k.Oj=function(){for(var a=0,b=[],c=0;ca.Qb||e[1]>a.Sb)&&(this.Ka('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.eb)),b=null);b&&(a.ya=b,a.Ul=c,a.Se=d,tl(this,c,d,b),this.re|=128,this.Ka('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.eb),a.Je),a.Bh=e[0],a.lg=e[1],a.mg=e[2]);a.Je&&(a.Je=!1,--this.De||this.Ta());ml(this,a.eb)}; +function ml(a,b){if(0<=b&&b=this.bb&&(this.Ca&=-81,this.ob=this.bb=0);return c}; +k.so=function(a,b,c){this.da(a,b,c,"DATA["+this.bb+"]");this.bb=ll[a].wd){c=!1;this.ob=0;a=this.Pa();var d,e,f,h,g;b=a&31;switch(b){case 3:this.Pa(m.zp);this.Pa(m.op);this.Pb();break;case 4:e=this.Pa(m.Bf);this.eb=e&3;d=this.Da[this.eb];this.Pb();this.ac((d.Ya&4278190080)>>>24,m.Cp);break;case 5:case 6:e=this.Pa(m.Bf);c=e>>2&1;this.eb=e&3;d=this.Da[this.eb];d.Na=c;e=d.kb=this.Pa(m.dm);f=this.Pa(m.fm);h=d.Wa=this.Pa(m.hm); +g=this.Pa(m.Uj);d.ab=128<>2&1;this.eb=e&3;d=this.Da[this.eb];e=d.kb;f=d.Na=c;h=d.Wa=1;g=0;d.Ya=0;d.ya&&(d.Sa=d.ya.seek(d.kb,d.Na,d.Wa))? +g=d.Sa.length:d.Ya=1088;ul(this,d,a,c,e,f,h,g);c=!0;break;case 13:e=this.Pa(m.Bf);c=e>>2&1;this.eb=e&3;d=this.Da[this.eb];e=d.kb;f=d.Na=c;h=1;g=this.Pa(m.Uj);d.ab=128<>2&1,e=this.Pa(m.pp),d.kb+=e-d.$d,0>d.kb&&(d.kb=0),d.kb>=d.Qb&&(d.kb=d.Qb-1),d.$d=e,d.Ya=32,0==d.kb&&(d.Ya|=268435456),this.Pb(),c=!0}0>>8,m.Ap);a.ac((b.Ya&16711680)>>>16,m.Bp);var l=0;if(e!=b.kb||f!=b.Na)l=h=1;c&128&&(f^=l,d||(l=0));a.ac(e+l,m.dm);a.ac(f,m.fm);a.ac(h,m.hm);a.ac(g,m.Uj)}k.Pa=function(){var a=this.bc[this.ob];this.ob++;return a}; +k.Pb=function(){this.ob=this.bb=0};k.ac=function(a){this.bc[this.bb++]=a};k.mi=function(a,b,c){void 0===b||0>b?this.rc(a,c):c(-1,!1)};k.ni=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.nm=function(a,b){return void 0!==b&&0<=b?this.Qj(a,b):-1};k.oi=function(a){a.Ya=72;a.ya&&(a.Sa=null,a.Ya=0,this.na&&(Ri(this.na,2,this,"dmaRead",a),Li(this.na,2)))};k.pi=function(a){a.Ya=72;a.ya&&(a.ya.hf?a.Ya=576:(a.Sa=null,a.Ya=0,this.na&&(Ri(this.na,2,this,"dmaWrite",a),Li(this.na,2))))}; +k.mk=function(a){a.Ya=72;a.ya&&(a.Sa=null,a.Ya=0,this.na&&(a.Ge=0,a.vc=Array(4),a.Mf=!0,a.Sf=0,Ri(this.na,2,this,"dmaFormat",a),Li(this.na,2),a.Mf=!1))};k.rc=function(a,b){var c=-1;if(!a.Ya&&a.ya){do{if(a.Sa&&0<=(c=il(a.Sa,a.$a++)))break;a.Sa=a.ya.seek(a.kb,a.Na,a.Wa);if(!a.Sa){a.Ya=1088;break}a.$a=0;this.Jf(a)}while(1)}b(c,!1)}; +k.Cc=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.kb,a.Na,a.Wa);if(!a.Sa){a.Ya=8256;b=-1;break}a.$a=0;this.Jf(a)}while(1);return b};k.Jf=function(a){a.Wa++;a.Wa>=a.mg+1&&(a.Wa=1,a.Na++,a.Na>=a.lg&&(a.Na=0,a.kb++))};k.Qj=function(a,b){if(a.Ya)return-1;a.vc[a.Ge++]=b;if(a.Ge==a.vc.length){a.kb=a.vc[0];a.Na=a.vc[1];a.Wa=a.vc[2];a.ab=128<this.Cc(a,a.ak))return-1;a.Sf++}a.Sf>=a.be&&(b=-1);return b}; +k.Gi=function(a){var b=this.T.K&255;this.ca&&E(this.ca,rj|Yc)&&128>b&&(Zc(this.ca,19,a),$c(this.T,a,function(a,b){return function(e){ad(a.ca,19,e,F(a.T)-b)}}(this,F(this.T))));return!0};k.Ra=function(a,b){this.ca&&(null==b&&(b=rj),E(this.ca,b)&&this.ca.message(a))};k.da=function(a,b,c,d,e){this.ca&&this.ca.da(this,a,b,c,d,rj,e)};var pl={1012:kl.prototype.$m,1013:kl.prototype.Ym,1015:kl.prototype.Zm},ql={1010:kl.prototype.to,1013:kl.prototype.so,1015:kl.prototype.ro}; +Fa(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b=e&&(this.sf|=(f.type&3)<<(1-e<<1))}return d}; +k.Mj=function(){var a=0,b=[];this.Ie?(b[a++]=this.Kd,b[a++]=this.Tl,b[a++]=this.se,b[a++]=this.Mh,b[a++]=this.Kh,b[a++]=this.Jh,b[a++]=this.tf,b[a++]=this.Ca,b[a++]=this.Jj,b[a++]=this.Lh):(b[a++]=this.sf,b[a++]=this.Ca,b[a++]=this.bc,b[a++]=this.ob,b[a++]=this.bb,b[a++]=this.Sl,b[a++]=this.Rl,b[a++]=this.Ql,b[a++]=this.kf);b[a]=this.Oj();return b}; +k.Ei=function(a,b,c,d,e){var f=0,h=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.eb=a;b.errorCode=d[f++];b.Zl=d[f++];b.gf=d[f++];b.Ze=d[f++];b.$e=d[f++];b.Na=d[f++];b.Sb=d[f++];b.Qd=d[f++];b.Wa=d[f++];b.be=d[f++];b.ab=d[f++];b.Vg=this.Ie?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.ie()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===vl[this.bg][b.type])b.type=this.Dm;c=vl[this.bg][b.type]; +b.$b=c[2]||17;b.Jb=c[3]||512;if(e&&this.na&&(e=this.na,c=b.type,e.ra)){var g=e.ra[18],g=a?g&240|c:g&15|c<<4;e.ra&&(e.ra[18]=g,zi(e))}void 0===b.ya&&(b.ya=null,this.Ka("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Al(this,b);b.$a=d[f++];b.Sa=null;b.ya&&(a=d[f],void 0!==a&&0>b.ya.restore(a)&&(h=!1),h&&void 0!==b.$a&&(b.Sa=b.ya.seek(b.Qd,b.Na,b.Wa+b.Vg)));return h};k.Oj=function(){for(var a=0,b=[],c=0;c=this.bb&&(this.ob=this.bb=0,this.Ca&=-15);return c}; +k.Po=function(a,b,c){this.da(a,b,c,"DATA["+this.bb+"]");this.bb=a&&(this.Ca|=2,this.Ca&=-2,Bl(this))};k.Bn=function(a,b){var c=this.Ca;this.da(a,null,b,"STATUS",c);this.ob=this.Qa.Jb){var e=this;this.rc(this.Qa,function(a){0<=a?Cl(e):(e.Ca=1,e.Kd=16)},!1)}else this.Ca=80;d||this.da(a,null,b,"DATA",c);return c}; +k.eo=function(a,b,c){this.Qa&&0!=this.Qa.$a||this.da(a,b,c,"DATA");this.Qa&&this.Qa.ab>=this.Qa.Jb&&(0>this.Cc(this.Qa,b)?(this.Ca=1,this.Kd=16):this.Qa.$a==this.Qa.Jb&&(this.Qa.ab-=this.Qa.Jb,this.se=this.se-1&255,Cl(this),this.Qa.ab>=this.Qa.Jb||(this.Ca=80)))};k.Nm=function(a,b){var c=this.Kd;this.da(a,null,b,"ERROR",c);return c};k.ko=function(a,b,c){this.da(a,b,c,"WPREC");this.Tl=b};k.Om=function(a,b){var c=this.se;this.da(a,null,b,"SECCNT",c);return c}; +k.io=function(a,b,c){this.da(a,b,c,"SECCNT");this.se=b};k.Pm=function(a,b){var c=this.Mh;this.da(a,null,b,"SECNUM",c);return c};k.jo=function(a,b,c){this.da(a,b,c,"SECNUM");this.Mh=b};k.Km=function(a,b){var c=this.Kh;this.da(a,null,b,"CYLLO",c);return c};k.co=function(a,b,c){this.da(a,b,c,"CYLLO");this.Kh=b};k.Jm=function(a,b){var c=this.Jh;this.da(a,null,b,"CYLHI",c);return c};k.bo=function(a,b,c){this.da(a,b,c,"CYLHI");this.Jh=b};k.Mm=function(a,b){var c=this.tf;this.da(a,null,b,"DRVHD",c);return c}; +k.fo=function(a,b,c){this.da(a,b,c,"DRVHD");this.tf=b;this.Ca=this.Da[this.tf&16?1:0]?this.Ca|64:this.Ca&-65};k.Qm=function(a,b){var c=this.Ca;this.da(a,null,b,"STATUS",c);return c};k.ao=function(a,b,c){this.da(a,b,c,"COMMAND");this.Jj=b;this.na&&Zi(this.na,14);Dl(this)};k.ho=function(a,b,c){this.da(a,b,c,"FDR");this.Lh&4&&!(b&4)&&(this.Kd=1);this.Lh=b}; +function Dl(a){var b=!1,c=a.Jj,d=a.tf&16?1:0,e=a.tf&15,f=a.Kh|(a.Jh&3)<<8,h=a.Mh,g=a.se||256;a.Qa=null;a.Kd=0;a.Ca=80;(d=a.Da[d])?(d.Qd=f,d.Na=e,d.Wa=h,d.ab=g*d.Jb,c=144<=c?c:c&240,d.Sa=null,d.errorCode=0,a.Qa=d):c=-1;switch(c&240){case 32:a.rc(d,function(b){0<=b&&a.na?(Cl(a),a.Ca=136):(a.Ca=1,a.Kd=16)},!1);break;case 48:a.na?(Cl(a),a.Ca=136):(a.Ca=1,a.Kd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Kd=1;b=!0;break;case 145:d.Sb=e+1,d.$b=g,b=!0}b&&Cl(a)} +function Cl(a){!a.na||a.Lh&2||Yi(a.na,14)} +function Bl(a){a.ob=0;var b=a.Pa(),c=a.Pa(),d=c&32,e=d>>5,f=c&31,h=a.Pa(),g=a.Pa(),l=h<<2&768|g,n=h&63,p=a.Pa(),r=a.Pa(),s=a.Da[e];s&&(s.Qd=l,s.Na=f,s.Wa=n,s.ab=p*s.Jb);switch(b){case 3:a.Pb(s?s.errorCode:4);a.ac(c);a.ac(h);a.ac(g);a.ac(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Pa());)s&&cb?this.rc(a,c):c(-1,!1)}; +k.ni=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.om=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.$a=a.$b+b&&(a.Wa=b,a.Na++,a.Na>=a.Sb&&(a.Na=0,a.Qd++))}; +k.Qj=function(a,b){if(a.errorCode)return-1;a.vc[a.Ge++]=b;if(a.Ge==a.vc.length){a.Qd=a.vc[0];a.Na=a.vc[1];a.Wa=a.vc[2];a.ab=128<this.Cc(a,a.ak))return-1;a.Sf++}a.Sf>=a.be&&(b=-1);return b};k.Dn=function(a){var b=this.T.K&255;!(this.T.H>>8)&&128>8)||(a=!this.na)||(a=!(this.na.ub[0].vd&64));return a?!0:!1};k.Ra=function(a,b){this.ca&&(null==b&&(b=Fl),E(this.ca,b)&&this.ca.message(a))};k.da=function(a,b,c,d,e){this.ca&&this.ca.da(this,a,b,c,d,Fl,e)}; +var xl={800:Y.prototype.An,801:Y.prototype.Bn,802:Y.prototype.zn},wl={496:Y.prototype.Lm,497:Y.prototype.Nm,498:Y.prototype.Om,499:Y.prototype.Pm,500:Y.prototype.Km,501:Y.prototype.Jm,502:Y.prototype.Mm,503:Y.prototype.Qm},zl={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},yl={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};Fa(function(){for(var a=D(window.document,"pcjs","hdc"),b=0;b>8,e=Sl[b];if(e=e&&e[d]||""){var f=a.T;a.gb[Z[0]]=t(f.H&255);a.gb[Z[1]]=t(f.J&255);a.gb[Z[2]]=t(f.K&255);a.gb[Z[3]]=t(f.C&255);a.gb[Z[4]]=t(f.H>>8);a.gb[Z[5]]=t(f.J>>8);a.gb[Z[6]]=t(f.K>>8);a.gb[Z[7]]=t(f.C>>8);a.gb[Z[8]]=v(f.H);a.gb[Z[9]]=v(f.J);a.gb[Z[10]]=v(f.K);a.gb[Z[11]]=v(f.C);a.gb[Z[12]]=v(f.Y);a.gb[Z[13]]=v(f.I);a.gb[Z[14]]=v(f.G);a.gb[Z[15]]=v(f.F);a.gb[Z[16]]=v(f.Wa.pa);a.gb[Z[17]]=v(f.ua.pa);a.gb[Z[18]]=v(f.rb.pa);a.gb[Z[19]]= -v(f.vb.pa);a.gb[Z[20]]=v(f.ra);e=" "+ka(a.gb,e)}a.message("INT 0x"+t(b)+": AH="+t(d)+" at "+da(c-a.T.ua.Ua,a.T.ua.pa)+e)}}function ad(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+t(b)+"("+c+"): C="+(md(a.T)?1:0)+(e||"")+" (cycles="+d+")")} -k.ca=function(a,b,c,d,e,f,h){f||(f=0);f|=Hj;if(null==d||(this.ic&f)==f)f=null,null!=d&&(f=this.T.ua.pa,d-=this.T.ua.Ua),this.message(a.oh+"."+(null!=c?"outPort":"inPort")+"(0x"+v(b)+","+(e?e:"unknown")+(null!=c?",0x"+t(c):"")+")"+(null!=h?": 0x"+t(h):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.da(a);this.T&&(this.ic&268435456&&this.T.zb(),a=this.T,a.nf=0,a.Mc-=a.A,a.A=0,a.Yg())};k.Cn=function(a){E(this,1048576|Yc)&&Zc(this,33,a);return!0};k.yn=function(){this.da("Type ? for list of debugger commands")}; -function Il(a){var b;if(Cd(a)){if(!a.Sd||!a.Sd.length){a.Sd=Array(1E4);for(b=0;b>c.pb],!1)}a.Pd=["read"];if(void 0!==a.Pc)for(b=1;b>c.pb],!0);a.Pc=["write"]}k.Td=function(a,b,c){if(!cm(this,a,b)){b[2]=$l(this,b);b[3]=c;a.push(b);if(a!=this.sc){var d=this.oa,e=$l(this,b);d.Ca[e>>d.pb].Td(e&d.eb,a==this.Pc)}c||this.da("breakpoint enabled: "+bm(b)+" ("+a[0]+")");Il(this);return!0}return!1}; -function cm(a,b,c,d){var e=!1;c=$l(a,c);for(var f=1;f>d.pb],b==a.Pc));h[3]||a.da("breakpoint cleared: "+bm(h)+" ("+b[0]+")");Il(a);break}a.da("breakpoint exists: "+bm(h)+" ("+b[0]+")");break}}return e}function dm(a,b){for(var c=1;c=b&&f>h.pb].Td(f&h.eb,d==a.Pc)}}}function Xl(a,b){if(void 0!==b)Yl(a,b,a.sc,!0),a.mc=0;else for(var c=1;c=Ml.length&&(l=a.tb(b,1),h=Rl[g-Ml.length][l>>3&7]);var n=2,g="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var p="",r=h[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.tb(b,1)),160<=u)p=l>>3&7,176==(r&240)?p+=16:3<=(r&15)&&(p+=8),p=Z[p];else{if(128<=u){var p=a,z=r,s=b,B="",u=l>>6,B=l&7;3>u?(z=void 0,u||6!=B?(B=Nl[B],1==u?(z=p.tb(s, -1),z&128?(z=z<<24>>24,B+="-"+t(-z)):B+="+"+t(z)):2==u&&(z=p.ta(s,2),B+="+"+v(z))):(z=p.ta(s,2),B=v(z)),B="["+B+"]"):B=Z[B+(1==(z&15)?0:8)];p=B}}else if(16==u)p="1";else if(0==u){p=a;u=r;s=b;z=" ";switch(u&15){case 1:u&12288&&(z=t(p.tb(s,1)));break;case 2:z=v(p.tb(s,1)<<24>>24);break;case 3:case 4:z=v(p.ta(s,2));break;case 6:u=p.ta(s,2);p=p.ta(s,2);z=bm([u,p,void 0]);break;default:z="imm("+v(u)+")"}p=z}else 32==u?p="["+v(a.ta(b,2))+"]":48==u?(1==s?(p=a.tb(b,1),p=p<<24>>24):p=a.ta(b,2),p=b[0]+p&65535, -p=fm(a,[p,b[1],void 0])[0]||v(p)):96==u?p=Z[(r&3840)>>8]:112==u?p=Z[((r&3840)>>8)+16]:64==u?p="DS:[SI]":80==u&&(p="ES:[DI]");p.length||(p="type("+v(r)+")");0>>4),d[0]=h,d[1]=g,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=km(a,b),d=null):d=km(a,b):(e=km(a,b.substring(0,d)),c=km(a,b.substring(d+1)),d= +k.oc=function(a,b,c){this.qa=b;this.T=c;this.Ha=a;this.zm=db(a,"FDC");this.xk=db(a,"HDC");this.Gf=Pl;80186<=this.T.Ia&&(this.Gf=Pl.slice(),this.Gf[15]=$,80286<=this.T.Ia&&(this.Gf[15]=Ol));Wc(this.T,33,this,this.Gn);this.Ta();if(this.Lj){a=Jl(this,this.Lj);delete this.Lj;for(var d in a)Tl(this,a[d])}}; +k.zb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Uf=this.xa[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=Jl(e,b,!0);for(b in c)Tl(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.xa[c]=d,Aa(d,function(){if(e.Uf){var a=e.Uf.value;e.Uf.value="";var b=Jl(e,a,!0);for(a in b)Tl(e,b[a]);return!0}return!1}),!0;case "step":return this.xa[c]=d,Aa(d,function(a){var b=!1;$a(e,!0)||(Za(e,!0),b=e.xf(a?1:0),Za(e,!1));return b}), +!0}return!1};k.Nd=function(){this.Uf&&this.Uf.focus()};function mi(a,b,c){for(var d in Kl)if(b==Kl[d]){a.Yh[d]=c;break}}function E(a,b){return(a.ic&b)===b} +function Zc(a,b,c){if(16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.T.H>>8,e=Sl[b];if(e=e&&e[d]||""){var f=a.T;a.ib[Z[0]]=t(f.H&255);a.ib[Z[1]]=t(f.J&255);a.ib[Z[2]]=t(f.K&255);a.ib[Z[3]]=t(f.C&255);a.ib[Z[4]]=t(f.H>>8);a.ib[Z[5]]=t(f.J>>8);a.ib[Z[6]]=t(f.K>>8);a.ib[Z[7]]=t(f.C>>8);a.ib[Z[8]]=v(f.H);a.ib[Z[9]]=v(f.J);a.ib[Z[10]]=v(f.K);a.ib[Z[11]]=v(f.C);a.ib[Z[12]]=v(f.Y);a.ib[Z[13]]=v(f.I);a.ib[Z[14]]=v(f.G);a.ib[Z[15]]=v(f.F);a.ib[Z[16]]=v(f.Za.sa);a.ib[Z[17]]=v(f.wa.sa);a.ib[Z[18]]=v(f.tb.sa);a.ib[Z[19]]= +v(f.yb.sa);a.ib[Z[20]]=v(f.ua);e=" "+ka(a.ib,e)}a.message("INT 0x"+t(b)+": AH="+t(d)+" at "+da(c-a.T.wa.Xa,a.T.wa.sa)+e)}}function ad(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+t(b)+"("+c+"): C="+(md(a.T)?1:0)+(e||"")+" (cycles="+d+")")} +k.da=function(a,b,c,d,e,f,h){f||(f=0);f|=Hj;if(null==d||(this.ic&f)==f)f=null,null!=d&&(f=this.T.wa.sa,d-=this.T.wa.Xa),this.message(a.rh+"."+(null!=c?"outPort":"inPort")+"(0x"+v(b)+","+(e?e:"unknown")+(null!=c?",0x"+t(c):"")+")"+(null!=h?": 0x"+t(h):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.ea(a);this.T&&(this.ic&268435456&&this.T.wb(),a=this.T,a.ba.qf=0,a.Oc-=a.A,a.A=0,a.ah())};k.Gn=function(a){E(this,1048576|Yc)&&Zc(this,33,a);return!0};k.Cn=function(){this.ea("Type ? for list of debugger commands")}; +function Il(a){var b;if(Cd(a)){if(!a.Vd||!a.Vd.length){a.Vd=Array(1E4);for(b=0;b>c.rb],!1)}a.Sd=["read"];if(void 0!==a.Rc)for(b=1;b>c.rb],!0);a.Rc=["write"]}k.Wd=function(a,b,c){if(!cm(this,a,b)){b[2]=$l(this,b);b[3]=c;a.push(b);if(a!=this.sc){var d=this.qa,e=$l(this,b);d.Ea[e>>d.rb].Wd(e&d.gb,a==this.Rc)}c||this.ea("breakpoint enabled: "+bm(b)+" ("+a[0]+")");Il(this);return!0}return!1}; +function cm(a,b,c,d){var e=!1;c=$l(a,c);for(var f=1;f>d.rb],b==a.Rc));h[3]||a.ea("breakpoint cleared: "+bm(h)+" ("+b[0]+")");Il(a);break}a.ea("breakpoint exists: "+bm(h)+" ("+b[0]+")");break}}return e}function dm(a,b){for(var c=1;c=b&&f>h.rb].Wd(f&h.gb,d==a.Rc)}}}function Xl(a,b){if(void 0!==b)Yl(a,b,a.sc,!0),a.mc=0;else for(var c=1;c=Ml.length&&(l=a.vb(b,1),h=Rl[g-Ml.length][l>>3&7]);var n=2,g="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var p="",r=h[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.vb(b,1)),160<=u)p=l>>3&7,176==(r&240)?p+=16:3<=(r&15)&&(p+=8),p=Z[p];else{if(128<=u){var p=a,z=r,s=b,B="",u=l>>6,B=l&7;3>u?(z=void 0,u||6!=B?(B=Nl[B],1==u?(z=p.vb(s, +1),z&128?(z=z<<24>>24,B+="-"+t(-z)):B+="+"+t(z)):2==u&&(z=p.ta(s,2),B+="+"+v(z))):(z=p.ta(s,2),B=v(z)),B="["+B+"]"):B=Z[B+(1==(z&15)?0:8)];p=B}}else if(16==u)p="1";else if(0==u){p=a;u=r;s=b;z=" ";switch(u&15){case 1:u&12288&&(z=t(p.vb(s,1)));break;case 2:z=v(p.vb(s,1)<<24>>24);break;case 3:case 4:z=v(p.ta(s,2));break;case 6:u=p.ta(s,2);p=p.ta(s,2);z=bm([u,p,void 0]);break;default:z="imm("+v(u)+")"}p=z}else 32==u?p="["+v(a.ta(b,2))+"]":48==u?(1==s?(p=a.vb(b,1),p=p<<24>>24):p=a.ta(b,2),p=b[0]+p&65535, +p=fm(a,[p,b[1],void 0])[0]||v(p)):96==u?p=Z[(r&3840)>>8]:112==u?p=Z[((r&3840)>>8)+16]:64==u?p="DS:[SI]":80==u&&(p="ES:[DI]");p.length||(p="type("+v(r)+")");0>>4),d[0]=h,d[1]=g,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=km(a,b),d=null):d=km(a,b):(e=km(a,b.substring(0,d)),c=km(a,b.substring(d+1)),d= null)}return[c,e,d]} -function km(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.ua.pa;break;case "DS":d=a.T.vb.pa;break;case "ES":d=a.T.Wa.pa;break;case "SS":d=a.T.rb.pa;break;case "IP":d=a.T.ra;break;default:d=ca(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d} +function km(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.wa.sa;break;case "DS":d=a.T.yb.sa;break;case "ES":d=a.T.Za.sa;break;case "SS":d=a.T.tb.sa;break;case "IP":d=a.T.ua;break;default:d=ca(b),void 0===d&&a.ea("invalid "+(c?c:"value")+": "+b)}else a.ea("missing "+(c?c:"value"));return d} function uj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=h&&eb[0]?1:a[0]c?(a.da("out of data at address "+bm(b)),p=!0):(a.Jd(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 Vl(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?(a.ea("out of data at address "+bm(b)),p=!0):(a.Md(b,c,1),n++)})})(a,c);a.ea(n+" bytes read at "+e)}else a.ea("sector "+e+" request out of range");else a.ea("drive "+d+" not loaded");else a.ea("invalid drive: "+d)}else a.ea("disk controller not present")}}} +function Vl(a,b,c){if(b&&"?"==b[1])a.ea("\nregister commands:"),a.ea("\tr\t\tdisplay all registers"),a.ea("\tr [target=#]\tmodify target register"),a.ea("supported targets:"),a.ea("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1c||"z">>4);var ic=B[U].l;ic&&(U=ic);a.da(da(Ha,tb)+" "+U)}}}else{for(u in Kl)if(r==u){var Nb=a.Vh[u];Nb?Nb(s):a.da("no dump registered for "+r);break a}var V=jm(a,r,2);if(null!=V[0])if("ds"== -l){var J=Zl(a,V[0]);if(null!=J.pa){var w="selector="+v(V[0])+" limit="+v(J.Lc)+" base="+q(J.Ua);if(J.ab){w+=" access="+v(J.ab);if(J.ab&4096)J.ab&2048?(w+="code:",w+=J.ab&512?"readable,":"execonly,",w+=J.ab&1024?"conforming,":"nonconforming,"):(w+="data:",w+=J.ab&512?"writeable,":"readonly,",w+=J.ab&1024?"expand down,":"expand up,"),w+=J.ab&256?"accessed":"not accessed";else switch(w+="type:",J.ab&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"+(J.ab>>13&24576);w+=J.ab&32768?",present":",not present"}a.da(w)}else a.da("invalid selector: "+v(V[0]))}else{var R=0;void 0!==s&&("l"==s.charAt(0)&&(s=s.substr(1)),R=parseInt(s,10));var H="";R||(R=8);for(var ub=0;ubW;W++){var Ua=a.tb(V,1);"dw"==l?W&1&&(f+=v(ea|Ua<<8)+(7==W?" - ":" ")):f+=t(Ua)+(7==W?"-":" ");Ia+=32<=Ua&&128>Ua?String.fromCharCode(Ua): -".";ea=Ua}H&&(H+="\n");H+=r+" "+f+" "+Ia}H&&a.da(H);a.Uj=V}}}break;case "e":var Jc=f[1];if(void 0===Jc)a.da("missing address");else{var jc=jm(a,Jc,2);if(null!=jc[0])for(l=2;lW.length&&(a.da("note: only "+W.length+" available"),Ma=W.length);ea-=Ma;0>ea&&(null!=W[W.length-1][1]?ea+=W.length:(Ma=ea+Ma,ea=0));for(void 0!==Ia&&a.da(Ma+" instructions earlier:");r&&ea!=a.hf;){var mc=W[ea];if(null==mc[1])break;mc=[mc[0],mc[1],mc[2]];a.da(em(a,mc,"history",-Ma));++ea==W.length&&(ea=0);a.Gl=--Ma;r--}}10==r&&(a.da("no "+l+"history available"),a.Gl=void 0)}break;case "i":var Re= -f[1];if(Re&&"?"!=Re){var Se=km(a,Re);if(void 0!==Se){var Fm=vb(a.oa,Se);a.da(v(Se)+": "+t(Fm))}}else a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state");break;case "l":nm(a,f);break;case "m":a:{l=null;H=f[1];"?"==H&&(H=void 0);if(void 0!==H){r=0;if("all"==H)r=4294967295,H=null;else if("on"==H)l=!0,H=null;else if("off"==H)l=!1,H=null;else{for(R in Kl)if(H==R){r=Kl[R];l=!!(a.ic&r);break}if(!r){a.da("unknown message category: "+H);break a}}r&& -("on"==f[2]?(a.ic|=r,l=!0):"off"==f[2]&&(a.ic&=~r,l=!1))}r=0;V="";for(R in Kl)if(!H||H==R)if(ub=!!(a.ic&Kl[R]),null===l||l==ub)V&&(V+=","),++r%10||(V+="\n\t"),V+=R;void 0===H&&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")+(V||"none"))}break;case "o":var Te=f[1],Gm=f[2];if(Te&&"?"!=Te){var ik=km(a,Te,"port #"),jk=km(a,Gm);void 0!==ik&&void 0!==jk&&zb(a.oa,ik,jk)}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 kk="pr"==f[0]?1:0,l=1+kk;if(a.mc)a.da("step in progress");else{var Jd,r=!1,Na=[a.T.ra,a.T.ua.pa,void 0];do switch(Jd=!1,a.tb(Na)){case 38:case 46:case 54:case 62:case 240:am(Na,1);Jd=!0;break;case 204:case 206:a.mc=l;am(Na,1);break;case 205:case 224:case 225:case 226:a.mc=l;am(Na,2);break;case 232:a.mc=l;am(Na,3);break;case 154:a.mc=l;am(Na,5);break;case 255:a.mc=0<= -em(a,Na).indexOf("CALL")?l:0;break;case 243:case 242:am(Na,1);r=Jd=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:r&&(a.mc=l,am(Na,1))}while(Jd);a.mc?(a.Td(a.sc,Na,!0),a.Oe()||(a.T.Kd(),a.mc=0)):om(a,kk?"tr":"t")}break;case "r":Vl(a,f);break;case "t":case "tr":om(a,f[0],f[1]);break;case "u":Wl(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 Mc;void 0!==f[3]&&(Mc=parseInt(f[3],10));switch(f[2]){case "int":a.T.kf=Mc;break;case "start":a.T.dg=Mc;break;case "stop":a.T.mf=Mc;break;default:a.da("unknown cs option");break a}void 0!==Mc&&Ob(a.T);a.da("checksums "+(a.T.bf?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Ub(a.T,parseInt(f[2],10));a.da("target speed: "+(a.T.He.toFixed(2)+"Mhz")+" ("+a.T.Dd+"x)"); -break;default:a.da("unknown option: "+f[1])}break;case "?":var l="commands:",Kd;for(Kd in Ll)l+="\n"+Kd+" ".substr(0,7-Kd.length)+Ll[Kd];Cd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.da(l);break;default:a.da("unknown command: "+b)}}}catch(Hm){a.da("debugger sad: "+Hm.message)}}Fa(function(){for(var a=D(window.document,"pcjs","debugger"),b=0;bc||"z">>4);var jc=B[U].l;jc&&(U=jc);a.ea(da(Ha,tb)+" "+U)}}}else{for(u in Kl)if(r==u){var Ob=a.Yh[u];Ob?Ob(s):a.ea("no dump registered for "+r);break a}var V=jm(a,r,2);if(null!=V[0])if("ds"== +l){var J=Zl(a,V[0]);if(null!=J.sa){var w="selector="+v(V[0])+" limit="+v(J.Nc)+" base="+q(J.Xa);if(J.Oa){w+=" access="+v(J.Oa);if(J.Oa&4096)J.Oa&2048?(w+="code:",w+=J.Oa&512?"readable,":"execonly,",w+=J.Oa&1024?"conforming,":"nonconforming,"):(w+="data:",w+=J.Oa&512?"writeable,":"readonly,",w+=J.Oa&1024?"expand down,":"expand up,"),w+=J.Oa&256?"accessed":"not accessed";else switch(w+="type:",J.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"+(J.Oa>>13&24576);w+=J.Oa&32768?",present":",not present"}a.ea(w)}else a.ea("invalid selector: "+v(V[0]))}else{var R=0;void 0!==s&&("l"==s.charAt(0)&&(s=s.substr(1)),R=parseInt(s,10));var H="";R||(R=8);for(var ub=0;ubW;W++){var Ua=a.vb(V,1);"dw"==l?W&1&&(f+=v(ea|Ua<<8)+(7==W?" - ":" ")):f+=t(Ua)+(7==W?"-":" ");Ia+=32<=Ua&&128>Ua?String.fromCharCode(Ua): +".";ea=Ua}H&&(H+="\n");H+=r+" "+f+" "+Ia}H&&a.ea(H);a.Wj=V}}}break;case "e":var Jc=f[1];if(void 0===Jc)a.ea("missing address");else{var kc=jm(a,Jc,2);if(null!=kc[0])for(l=2;lW.length&&(a.ea("note: only "+W.length+" available"),Ma=W.length);ea-=Ma;0>ea&&(null!=W[W.length-1][1]?ea+=W.length:(Ma=ea+Ma,ea=0));for(void 0!==Ia&&a.ea(Ma+" instructions earlier:");r&&ea!=a.lf;){var nc=W[ea];if(null==nc[1])break;nc=[nc[0],nc[1],nc[2]];a.ea(em(a,nc,"history",-Ma));++ea==W.length&&(ea=0);a.Kl=--Ma;r--}}10==r&&(a.ea("no "+l+"history available"),a.Kl=void 0)}break;case "i":var Se= +f[1];if(Se&&"?"!=Se){var Te=km(a,Se);if(void 0!==Te){var Fm=vb(a.qa,Te);a.ea(v(Te)+": "+t(Fm))}}else a.ea("\ninput commands:"),a.ea("\ti [p]\tread port [p]"),a.ea("warning: port accesses can affect hardware state");break;case "l":nm(a,f);break;case "m":a:{l=null;H=f[1];"?"==H&&(H=void 0);if(void 0!==H){r=0;if("all"==H)r=4294967295,H=null;else if("on"==H)l=!0,H=null;else if("off"==H)l=!1,H=null;else{for(R in Kl)if(H==R){r=Kl[R];l=!!(a.ic&r);break}if(!r){a.ea("unknown message category: "+H);break a}}r&& +("on"==f[2]?(a.ic|=r,l=!0):"off"==f[2]&&(a.ic&=~r,l=!1))}r=0;V="";for(R in Kl)if(!H||H==R)if(ub=!!(a.ic&Kl[R]),null===l||l==ub)V&&(V+=","),++r%10||(V+="\n\t"),V+=R;void 0===H&&a.ea("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.ea((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(V||"none"))}break;case "o":var Ue=f[1],Gm=f[2];if(Ue&&"?"!=Ue){var ik=km(a,Ue,"port #"),jk=km(a,Gm);void 0!==ik&&void 0!==jk&&zb(a.qa,ik,jk)}else a.ea("\noutput commands:"), +a.ea("\to [p] [d]\twrite data [d] to port [p]"),a.ea("warning: port accesses can affect hardware state");break;case "p":case "pr":var kk="pr"==f[0]?1:0,l=1+kk;if(a.mc)a.ea("step in progress");else{var Jd,r=!1,Na=[a.T.ua,a.T.wa.sa,void 0];do switch(Jd=!1,a.vb(Na)){case 38:case 46:case 54:case 62:case 240:am(Na,1);Jd=!0;break;case 204:case 206:a.mc=l;am(Na,1);break;case 205:case 224:case 225:case 226:a.mc=l;am(Na,2);break;case 232:a.mc=l;am(Na,3);break;case 154:a.mc=l;am(Na,5);break;case 255:a.mc=0<= +em(a,Na).indexOf("CALL")?l:0;break;case 243:case 242:am(Na,1);r=Jd=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:r&&(a.mc=l,am(Na,1))}while(Jd);a.mc?(a.Wd(a.sc,Na,!0),a.Re()||(a.T.Nd(),a.mc=0)):om(a,kk?"tr":"t")}break;case "r":Vl(a,f);break;case "t":case "tr":om(a,f[0],f[1]);break;case "u":Wl(a,f[1],f[2],8);break;case "x":a:if(void 0===f[1]||"?"==f[1])a.ea("\nexecution options:"),a.ea("\tcs int #\tset checksum cycle interval to #"),a.ea("\tcs start #\tset checksum cycle start count to #"), +a.ea("\tcs stop #\tset checksum cycle stop count to #"),a.ea("\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.ba.nf=Mc;break;case "start":a.T.ba.gg=Mc;break;case "stop":a.T.ba.pf=Mc;break;default:a.ea("unknown cs option");break a}void 0!==Mc&&Nb(a.T);a.ea("checksums "+(a.T.pa.ef?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Ub(a.T,parseInt(f[2],10));a.ea("target speed: "+(a.T.ba.Ke.toFixed(2)+"Mhz")+ +" ("+a.T.ba.Gd+"x)");break;default:a.ea("unknown option: "+f[1])}break;case "?":var l="commands:",Kd;for(Kd in Ll)l+="\n"+Kd+" ".substr(0,7-Kd.length)+Ll[Kd];Cd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.ea(l);break;default:a.ea("unknown command: "+b)}}}catch(Hm){a.ea("debugger sad: "+Hm.message)}}Fa(function(){for(var a=D(window.document,"pcjs","debugger"),b=0;bum){if(d.load(this.yg)){this.Se=new I(this,"1.15.8","failsafe");this.Se.load()&&(ym(this,d),a=2,rm(this.Se));this.Se.set("timestamp",pa());sm(this.Se);var e=this.Nc&&!this.kh;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"),h=d.get("data");f&&("ok"==f?d.load(h):("error"== -f&&"no machine state"!=h?(this.Ia("Error: "+h),"unable to verify user"==h&&(xa("user",""),this.Oc=null)):this.da(f+": "+h),rm(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&xm(this,c?d:null)}else 2==a&&d.clear()}else xm(this);delete this.yg;delete this.Nh}e=Va(this.id);for(f=0;fa[1];a=a[2];this.Jb=!0;this.nk||(this.da("PCjs v1.15.8\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.nk=!0);this.T&&zm(this,this.T,b,c,a);this.pk&&(ym(this,b),b.clear());!c&&this.Se&&(this.Se.clear(),delete this.Se)}; -function ym(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.fe(),d=b.toString(),e={app:"PCjs",ver:"1.15.8"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}} -function pm(a,b,c){var d,e="none",f=new I(a,"1.15.8"),h=new I(a,"1.15.8","validate"),g=pa();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.15.8");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Wb&&(c&&a.T.zb(),d=a.T.Wb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.Jb=!1,!1===d&&(e=null)));for(var g=Va(a.id),l=0;lum){if(d.load(this.Bg)){this.Ve=new I(this,"1.15.8","failsafe");this.Ve.load()&&(ym(this,d),a=2,rm(this.Ve));this.Ve.set("timestamp",pa());sm(this.Ve);var e=this.Pc&&!this.nh;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"),h=d.get("data");f&&("ok"==f?d.load(h):("error"== +f&&"no machine state"!=h?(this.Ka("Error: "+h),"unable to verify user"==h&&(xa("user",""),this.Qc=null)):this.ea(f+": "+h),rm(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&xm(this,c?d:null)}else 2==a&&d.clear()}else xm(this);delete this.Bg;delete this.Qh}e=Va(this.id);for(f=0;fa[1];a=a[2];this.pa.Kb=!0;this.rk||(this.ea("PCjs v1.15.8\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.rk=!0);this.T&&zm(this,this.T,b,c,a);this.tk&&(ym(this,b),b.clear());!c&&this.Ve&&(this.Ve.clear(),delete this.Ve)}; +function ym(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.ie(),d=b.toString(),e={app:"PCjs",ver:"1.15.8"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}} +function pm(a,b,c){var d,e="none",f=new I(a,"1.15.8"),h=new I(a,"1.15.8","validate"),g=pa();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.15.8");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Wb&&(c&&a.T.wb(),d=a.T.Wb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.pa.Kb=!1,!1===d&&(e=null)));for(var g=Va(a.id),l=0;lg.indexOf("/")&&(g=window.location.pathname+g);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(g?" url=$2"+g+"$2":""))}g=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){g= 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,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, diff --git a/versions/pcjs/1.15.8/pc.js b/versions/pcjs/1.15.8/pc.js index 72f71e2c1..67167a349 100644 --- a/versions/pcjs/1.15.8/pc.js +++ b/versions/pcjs/1.15.8/pc.js @@ -5,87 +5,88 @@ b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send function ma(){if(void 0===ja){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}ja=a}return ja}function na(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} function pa(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 qa={init:[],show:[],exit:[]},ra=!1,sa=!0;function ua(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){qa.init.push(a)} function va(a){if(sa)try{for(var b=0;b=this.lf?12:14;this.nc=1<>2;this.cb=this.nc-1;this.fg=(this.Re+this.nc)/this.nc|0;this.Td=this.fg-1;this.Sf=[];this.Tf=[];this.Mh();this.Ka()}y(w,Ma);Ma.prototype.Mh=function(){this.za=Array(this.fg);for(var a=0;a>a.Lb;0>this.Lb;0>a.Lb;0>a.Lb].Pi(b&a.cb)}function Ua(a,b){var c=b&a.cb,d=(b&a.wb)>>a.Lb;return c!=a.cb?a.za[d].Nn(c):a.za[d++].Pi(c)|a.za[d&a.Td].Pi(0)<<8} -function Va(a,b,c){a.za[(b&a.wb)>>a.Lb].Xi(b&a.cb,c&255)}function Wa(a,b,c){var d=b&a.cb;b=(b&a.wb)>>a.Lb;d!=a.cb?a.za[b].Xn(d,c&65535):(a.za[b++].Xi(d,c&255),a.za[b&a.Td].Xi(0,c>>8&255))}function Xa(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},On:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ma[b]>>>a;return 24>a?c&65535:c&255|(this.ma[b+1]&255)<<8},Vn:function(a,b){var c=a>>2,d=(a&3)<<3;this.ma[c]=this.ma[c]&~(255<>2,d=(a&3)<<3;24>d?this.ma[c]=this.ma[c]&~(65535<>8);this.Xa=!0},save:function(){return this.ca? -null:this.ma},restore:function(a){return this.ca?null==a:a&&this.kl==a.length<<2?(this.ma=a,this.Xa=!0):!1},ke:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.uc=c[0]?c[0]:this.Og;this.Mn=c[1]?c[1]:this.Og;b&&(this.Pi=c[0]?c[0]:this.Og,this.Nn=c[1]?c[1]:this.Og);c=a;this.xc=c[2]&&!this.uj?c[2]:this.Yg;this.Wn=c[3]&&!this.uj?c[3]:this.Yg;b&&(this.Xi=c[2]?c[2]:this.Yg,this.Xn=c[3]?c[3]:this.Yg)}};var bb=[Na.prototype.Ln,Na.prototype.On,Na.prototype.Vn,Na.prototype.Yn]; -function cb(a,b){w.call(this,"CPU",a,cb);var c=a.multiplier||1;this.cd=a.cycles||b;this.zd=c;this.Ag=Math.round(this.cd/1E4)/100;this.Ce=this.Ag*this.zd;this.rc=this.Ab=!1;this.vh=a.autoStart;c=za.autostart;void 0!==c&&(this.vh="true"==c?!0:"false"==c?!1:null);this.ng=!1;this.Fg=this.Ee=0;this.Gg=a.csStart;this.of=a.csInterval;this.pf=a.csStop;var d=this;this.Om=function(){db(d)};this.Ka()}y(w,cb);h=cb.prototype; -h.jc=function(a,b,c,d){this.na=b;this.Na=d;this.Ga=a;var e=D(a,"Video");e&&(this.gf=function(){eb(e)},this.Je=function(){e.Je()});this.ha=D(a,"ChipSet");this.Ka()};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.Ob=function(a,b){if(!b){if(a&&this.restore){fb(this);if(!this.restore(a))return!1;hb(this)}else this.reset();this.ec("No debugger detected")}this.Ab=!0;!ib(this)&&this.Na&&this.Na.Do();this.gf();this.ff();return!0}; -h.Nb=function(a){this.Ab=!1;return a&&this.save?this.save():!0};function ib(a){return!0===a.vh||null===a.vh&&void 0===a.pa.run?(db(a),!0):!1}h.Je=function(){};h.yj=function(){return 0};function hb(a){void 0===a.Gg&&(a.Gg=0);void 0===a.of&&(a.of=-1);void 0===a.pf&&(a.pf=-1);a.ng=0<=a.Gg&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.Ag&&(c=Math.round(c/a.zd));return c}function fb(a){a.Lc=0;a.Dg=1;a.fe=a.Ed=a.Mc=a.A=0;hb(a);lb(a,1)} -function lb(a,b,c){void 0!==b&&(0.8>a.Lc/a.Ce&&(b=1),a.zd=b,b=a.Ag*a.zd,a.Ce!=b&&(a.Ce=b,b=a.Ce.toFixed(2)+"Mhz",a.pa.setSpeed&&(a.pa.setSpeed.innerHTML=b),a.ec("target speed: "+b)),c&&a.Je());mb(a,a.Ed);a.Ed=0;a.De=ga();a.ce=0;nb(a)} -function db(a,b){if(Ha(a,!0)){a.rc||(lb(a),a.Ga&&a.Ga.start(a.De,ob(a)),a.rc=!0,a.ha&&pb(a.ha),a.pa.run&&(a.pa.run.innerHTML="Halt"),b&&a.Je());a.Ii>=a.cd&&nb(a,!0);a.tf=0;a.Cg=ga();if(a.ce){var c=a.Cg-a.ce;c>a.Ej&&(a.De+=c,a.De>a.Cg&&(a.De=a.Cg))}try{do{a.Yk(a.ng?1:Math.round(a.Im/a.Dg));var d=a.Mc-a.A;a.Ed+=d;a.tf+=d;mb(a,0,!0);var c=a,e=d;if(c.ng){var f=!1;c.Fg=c.Fg+c.yj()|0;c.Ee-=e;0>=c.Ee&&(c.Ee+=c.of,f=!0);0<=c.pf&&c.pf<=ob(c)&&(c.of=c.pf=-1,hb(c),jb(c),f=!0);f&&c.ec(ob(c)+" cycles: checksum="+ -p(c.Fg))}a.rf-=d;0>=a.rf&&(a.rf+=a.Ij,a.gf());a.qf-=d;0>=a.qf&&(a.qf+=a.Hj,a.ff());a.sf-=d;if(0>=a.sf){a.sf+=a.Th;break}}while(a.rc)}catch(l){jb(a);a.gf();a.ff();a.Ga&&a.Ga.stop(ga(),ob(a));Ha(a,!1);Ja(a,l.message);return}d=setTimeout;c=a.Om;a.ce=ga();e=a.Ej;a.tf&&(e=Math.round(e*a.tf/a.Th));e-=a.ce-a.Cg;if(f=a.ce-a.De)a.Lc=Math.round(a.Ed/(10*f))/100,864E5<=f&&(a.fe=0,a.ha&&qb(a.ha,!0),lb(a));if(0>e||a.Lc=this.of?12:14;this.oc=1<>2;this.fb=this.oc-1;this.hg=(this.hh+this.oc)/this.oc|0;this.Xd=this.hg-1;this.Uf=[];this.Vf=[];this.Ph();this.Ma()}y(w,Ma);Ma.prototype.Ph=function(){this.Ba=Array(this.hg);for(var a=0;a>a.Mb;0>this.Mb;0>a.Mb;0>a.Mb].Si(b&a.fb)}function Ua(a,b){var c=b&a.fb,d=(b&a.Vc)>>a.Mb;return c!=a.fb?a.Ba[d].Rn(c):a.Ba[d++].Si(c)|a.Ba[d&a.Xd].Si(0)<<8} +function Va(a,b,c){a.Ba[(b&a.Vc)>>a.Mb].$i(b&a.fb,c&255)}function Wa(a,b,c){var d=b&a.fb;b=(b&a.Vc)>>a.Mb;d!=a.fb?a.Ba[b].ao(d,c&65535):(a.Ba[b++].$i(d,c&255),a.Ba[b&a.Xd].$i(0,c>>8&255))}function Xa(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Sn:function(a){var b=a>>2;a=(a&3)<<3;var c=this.oa[b]>>>a;return 24>a?c&65535:c&255|(this.oa[b+1]&255)<<8},Zn:function(a,b){var c=a>>2,d=(a&3)<<3;this.oa[c]=this.oa[c]&~(255<>2,d=(a&3)<<3;24>d?this.oa[c]=this.oa[c]&~(65535<>8);this.Za=!0},save:function(){return this.da? +null:this.oa},restore:function(a){return this.da?null==a:a&&this.ol==a.length<<2?(this.oa=a,this.Za=!0):!1},oe:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.wc=c[0]?c[0]:this.Qg;this.Qn=c[1]?c[1]:this.Qg;b&&(this.Si=c[0]?c[0]:this.Qg,this.Rn=c[1]?c[1]:this.Qg);c=a;this.zc=c[2]&&!this.yj?c[2]:this.$g;this.$n=c[3]&&!this.yj?c[3]:this.$g;b&&(this.$i=c[2]?c[2]:this.$g,this.ao=c[3]?c[3]:this.$g)}};var bb=[Na.prototype.Pn,Na.prototype.Sn,Na.prototype.Zn,Na.prototype.bo]; +function cb(a,b){w.call(this,"CPU",a,cb);var c=a.cycles||b,d=a.multiplier||1;this.aa={};this.aa.fd=c;this.aa.Cd=d;this.aa.Cg=Math.round(this.aa.fd/1E4)/100;this.aa.Ge=this.aa.Cg*this.aa.Cd;this.ma.Cb=!1;this.ma.tc=!1;this.ma.yh=a.autoStart;c=za.autostart;void 0!==c&&(this.ma.yh="true"==c?!0:"false"==c?!1:null);this.ma.pg=!1;this.aa.Hg=this.aa.Ie=0;this.aa.Ig=a.csStart;this.aa.qf=a.csInterval;this.aa.rf=a.csStop;var e=this;this.Sm=function(){db(e)};this.Ma()}y(w,cb);h=cb.prototype; +h.lc=function(a,b,c,d){this.pa=b;this.Pa=d;this.Ia=a;var e=D(a,"Video");e&&(this.kf=function(){eb(e)},this.Ne=function(){e.Ne()});this.ia=D(a,"ChipSet");this.Ma()};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.Pb=function(a,b){if(!b){if(a&&this.restore){fb(this);if(!this.restore(a))return!1;gb(this)}else this.reset();this.fc("No debugger detected")}this.ma.Cb=!0;!ib(this)&&this.Pa&&this.Pa.Ho();this.kf();this.jf();return!0}; +h.Ob=function(a){this.ma.Cb=!1;return a&&this.save?this.save():!0};function ib(a){return!0===a.ma.yh||null===a.ma.yh&&void 0===a.ra.run?(db(a),!0):!1}h.Ne=function(){};h.Cj=function(){return 0};function gb(a){void 0===a.aa.Ig&&(a.aa.Ig=0);void 0===a.aa.qf&&(a.aa.qf=-1);void 0===a.aa.rf&&(a.aa.rf=-1);a.ma.pg=0<=a.aa.Ig&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.aa.Cg&&(c=Math.round(c/a.aa.Cd));return c}function fb(a){a.aa.Oc=0;a.Fg=1;a.je=a.Hd=a.Pc=a.A=0;gb(a);lb(a,1)} +function lb(a,b,c){void 0!==b&&(0.8>a.aa.Oc/a.aa.Ge&&(b=1),a.aa.Cd=b,b=a.aa.Cg*a.aa.Cd,a.aa.Ge!=b&&(a.aa.Ge=b,b=a.aa.Ge.toFixed(2)+"Mhz",a.ra.setSpeed&&(a.ra.setSpeed.innerHTML=b),a.fc("target speed: "+b)),c&&a.Ne());mb(a,a.Hd);a.Hd=0;a.aa.He=ga();a.aa.ge=0;nb(a)} +function db(a,b){if(Ha(a,!0)){a.ma.tc||(lb(a),a.Ia&&a.Ia.start(a.aa.He,ob(a)),a.ma.tc=!0,a.ia&&pb(a.ia),a.ra.run&&(a.ra.run.innerHTML="Halt"),b&&a.Ne());a.aa.Xh>=a.aa.fd&&nb(a,!0);a.aa.vf=0;a.aa.Eg=ga();if(a.aa.ge){var c=a.aa.Eg-a.aa.ge;c>a.aa.Ij&&(a.aa.He+=c,a.aa.He>a.aa.Eg&&(a.aa.He=a.aa.Eg))}try{do{a.bl(a.ma.pg?1:Math.round(a.aa.Mm/a.Fg));var d=a.Pc-a.A;a.Hd+=d;a.aa.vf+=d;mb(a,0,!0);var c=a,e=d;if(c.ma.pg){var f=!1;c.aa.Hg=c.aa.Hg+c.Cj()|0;c.aa.Ie-=e;0>=c.aa.Ie&&(c.aa.Ie+=c.aa.qf,f=!0);0<=c.aa.rf&& +c.aa.rf<=ob(c)&&(c.aa.qf=c.aa.rf=-1,gb(c),jb(c),f=!0);f&&c.fc(ob(c)+" cycles: checksum="+p(c.aa.Hg))}a.aa.tf-=d;0>=a.aa.tf&&(a.aa.tf+=a.aa.Mj,a.kf());a.aa.sf-=d;0>=a.aa.sf&&(a.aa.sf+=a.aa.Lj,a.jf());a.aa.uf-=d;if(0>=a.aa.uf){a.aa.uf+=a.aa.Wh;break}}while(a.ma.tc)}catch(l){jb(a);a.kf();a.jf();a.Ia&&a.Ia.stop(ga(),ob(a));Ha(a,!1);Ja(a,l.message);return}d=setTimeout;c=a.Sm;a.aa.ge=ga();e=a.aa.Ij;a.aa.vf&&(e=Math.round(e*a.aa.vf/a.aa.Wh));e-=a.aa.ge-a.aa.Eg;if(f=a.aa.ge-a.aa.He)a.aa.Oc=Math.round(a.Hd/ +(10*f))/100,864E5<=f&&(a.je=0,a.ia&&qb(a.ia,!0),lb(a));if(0>e||a.aa.Oc>13,this.hb=f):b&&768>=b?(this.va=a,this.ad=d,this.lc=e,this.Bb=(e&24576)>>13,this.hb=f):-1}function Ab(a){return this.hb+a}function Bb(a){return this.hb+a}function Cb(a,b,c){return a+b<=this.ad?this.hb+a:yb.call(this,0,0,c)} -function yb(a,b,c){c||Db.call(this.ja,13,0);return-1}function Eb(a,b,c){return a+b<=this.ad?this.hb+a:zb.call(this,0,0,c)}function zb(a,b,c){c||Db.call(this.ja,13,0);return-1}sb.prototype.save=function(){return[this.va,this.hb,this.ad,this.lc,this.Bb,this.Tg]};sb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.va=a[0],this.hb=a[1],this.ad=a[2],this.lc=a[3],this.Bb=a[4],this.Tg=a[5])}; -function ub(a,b){void 0===b&&(b=!!(a.ja.Hc&1));b?(a.load=wb,a.Uc=Cb,a.Zb=Eb):(a.load=vb,a.Uc=Ab,a.Zb=Bb);return b} -function Fb(a){this.Ea=a.model||8088;var b=0;switch(this.Ea){default:case 8088:b=4772727;break;case 80286:b=6E6}cb.call(this,a,b);this.bj=61442;this.Qf=4;this.Fe=255;this.B=80286<=this.Ea?Gb:Hb;this.La=Ib.slice();80186<=this.Ea&&(this.Fe=31,this.La[15]=G,this.La[96]=Jb,this.La[97]=Kb,this.La[98]=Lb,this.La[99]=G,this.La[100]=G,this.La[101]=G,this.La[102]=G,this.La[103]=G,this.La[104]=Mb,this.La[105]=Nb,this.La[106]=Ob,this.La[107]=Pb,this.La[108]=Qb,this.La[109]=Rb,this.La[110]=Sb,this.La[111]=Tb, -this.La[192]=Ub,this.La[193]=Vb,this.La[200]=Wb,this.La[201]=Xb,this.La[241]=Yb,Zb[7]=$b,ac[7]=$b,80286<=this.Ea&&(this.bj=2,this.Qf=0,this.La[15]=bc,this.La[99]=cc,this.La[84]=dc));this.hl=[];this.cj=[];this.Mc=this.kh=0;this.og=!1;this.za=[];this.Re=this.wb=this.Lb=this.cb=this.Td=0;this.T=this.zl;this.U=this.Al;this.O=this.Cm;this.P=this.Dm;this.R=this.Tn;this.S=this.Un;ec(this)}y(cb,Fb); -var Hb={Ji:4,$:5,oa:6,da:7,ea:8,Q:9,V:11,W:12,de:4,Kj:60,Lj:83,Fb:3,eb:9,Vb:16,Jg:1,Pj:19,Rj:28,Tj:16,Sj:21,Qj:37,Nj:2,bi:9,Oj:5,Mj:33,di:10,ci:8,zf:3,yf:15,gk:51,hk:1,ik:2,jk:4,fk:32,ei:15,lk:15,Gb:16,Hb:4,nk:11,mk:18,kk:24,mb:4,ok:2,fi:16,pk:17,ki:18,qk:19,ji:5,li:6,vk:2,uk:8,sk:9,tk:10,rk:10,mi:10,ni:10,Vj:80,Xj:144,Uj:86,Wj:154,Zj:101,ak:165,Yj:107,$j:171,xk:70,zk:113,wk:76,yk:124,ck:80,ek:128,bk:86,dk:134,Bf:3,Af:16,si:10,ri:8,Ak:51,Wb:8,Bk:17,Ck:36,cc:11,Dk:16,Cf:10,Dd:2,Zh:18,$h:7,ai:15,gi:12, -hi:7,ii:11,oi:18,pi:7,qi:15,ti:15,ui:7,vi:13,zi:11,Ai:7,Bi:8,Ek:8,Hk:12,Fk:18,Gk:17,Ik:15,xi:8,wi:20,yi:2,Ei:3,Df:9,Di:5,Ci:11,Gi:4,Fi:17,Jk:11},Gb={Ji:0,$:0,oa:0,da:0,ea:0,Q:0,V:1,W:1,de:3,Kj:14,Lj:16,Fb:2,eb:7,Vb:7,Jg:0,Pj:7,Rj:13,Tj:7,Sj:11,Qj:16,Nj:3,bi:6,Oj:2,Mj:13,di:5,ci:5,zf:2,yf:7,gk:23,hk:0,ik:1,jk:3,fk:17,ei:7,lk:11,Gb:7,Hb:3,nk:7,mk:11,kk:15,mb:2,ok:3,fi:7,pk:8,ki:8,qk:8,ji:4,li:4,vk:2,uk:3,sk:5,tk:2,rk:3,mi:5,ni:3,Vj:14,Xj:22,Uj:17,Wj:25,Zj:17,ak:25,Yj:20,$j:28,xk:13,zk:21,wk:16,yk:24, -ck:13,ek:21,bk:16,dk:24,Bf:2,Af:7,si:5,ri:5,Ak:19,Wb:5,Bk:5,Ck:17,cc:3,Dk:5,Cf:3,Dd:0,Zh:8,$h:5,ai:9,gi:5,hi:5,ii:4,oi:5,pi:5,qi:4,ti:7,ui:5,vi:8,zi:3,Ai:4,Bi:3,Ek:11,Hk:11,Fk:15,Gk:15,Ik:7,xi:5,wi:8,yi:0,Ei:2,Df:6,Di:3,Ci:6,Gi:3,Fi:5,Jk:5};h=Fb.prototype;h.Mh=function(a,b,c,d,e){this.za=a;this.Re=this.wb=b;this.Lb=c;this.cb=d;this.Td=e};h.reset=function(){this.rc&&jb(this);ec(this);fb(this);this.Yc=!1}; -function ec(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.Hc=65520;a.zc=0;a.Od=1023;a.qc={Ki:0,va:0,lc:0,zg:-1};a.Ad=0;a.wa=new sb(a,"CS");a.Xb=new sb(a,"DS");a.Rb=new sb(a,"SS");a.fb=new sb(a,"ES");a.Wk=new sb(a,"ZERO");fc(a,0,65535);80286<=a.Ea&&(a.yc=0,a.se=65535,a.je=new sb(a,"LDT",!0),a.Mf=new sb(a,"TSS",!0),a.sb=new sb(a,"VER",!0),fc(a,65520,61440),a.wa.hb=16711680);gc(a,0);hc(a);a.Ya=0;a.nb=a.Hf=-1;a.ag=0;a.fa=a.Ca=-1;a.D=a.Xb;a.N=a.Rb;a.Z=a.ra=0} -h.yj=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.sa+this.wa.va+this.Xb.va+this.Rb.va+this.fb.va+ic(this)|0};function jc(a,b){var c=a.cj[b];null!=c&&(c(--a.kh),delete a.cj[b])}function hc(a,b){void 0===b&&(b=!!(a.Hc&1));kc=b?lc:mc;ub(a.wa,b);ub(a.Xb,b);ub(a.Rb,b);ub(a.fb,b)} -h.save=function(){var a=new H(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Ad]);a.set(1,[this.sa,this.wa.save(),this.Xb.save(),this.Rb.save(),this.fb.save(),null!=this.yc?[this.Hc,this.yc,this.se,this.zc,this.Od,this.je.save(),this.Mf.save(),this.Ad]:null,ic(this)]);a.set(2,[this.D.Tg,this.N.Tg,this.Z,this.ra,this.Ya,this.fa,this.Ca]);a.set(3,[this.Dg,this.fe,this.zd]);a.set(4,Xa(this.na));return a.data()}; -h.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Ad=b[8]||0;b=a[1];this.wa.restore(b[1]);this.Xb.restore(b[2]);this.Rb.restore(b[3]);this.fb.restore(b[4]);var c=b[5];c&&c.length&&(this.Hc=c[0],this.yc=c[1],this.se=c[2],this.zc=c[3],this.Od=c[4],this.je.restore(c[5]),this.Mf.restore(c[6]),this.Ad=c[7],this.mf=this.wa.Bb,hc(this));gc(this,b[6]);I(this,b[0]);b=a[2];this.D=nc(this,b[0]);this.N=nc(this,b[1]);this.Z= -b[2];this.ra=b[3];this.Ya=b[4];this.fa=b[5];this.Ca=b[6];b=a[3];this.Dg=b[0];this.fe=b[1];lb(this,b[2]);a:{b=this.na;a=a[4];for(c=0;c>1?128:0}function Bc(a){return(a.ga^a.ia^a.ga>>1)&a.aa>>1?2048:0}function Cc(a){a.X&=~a.aa}function Dc(a){a.ia=a.ga&16|a.ia&-17}function Ec(a){a.X|=a.aa-1}function Fc(a){a.ga&=~a.aa;a.ia=a.ga&32896|a.ia&-32897}function Gc(a){a.X|=a.aa}function Hc(a){a.ia=~(a.ga&16)&16|a.ia&-17}function Ic(a){a.X&=~(a.aa-1)}function Jc(a){Ac(a)||(a.ga^=a.aa>>1|a.aa>>2,a.ia^=32896)}function Kc(a){a.ga|=a.aa;a.ia=a.ga&32896|a.ia&-32897} -function ic(a){return a.Da&-2262|wc(a)|xc(a)|yc(a)|zc(a)|Ac(a)|Bc(a)}function gc(a,b){a.aa=256;a.X=a.ga=a.ia=0;b&1&&Gc(a);b&4||(a.ga|=1);b&16&&(a.ia|=16);b&64||Ec(a);b&128&&Jc(a);b&2048&&Kc(a);a.mf?b=b&-12289|a.Da&12288:(a.Ad=(b&12288)>>12,!a.Ad||a.Hc&1||(a.Ad=0));a.mf>a.Ad&&(b=b&-513|a.Da&512);a.Da=a.Da&-1793|b&1792|a.bj;a.Da&256&&(a.Ya|=2,a.Z|=4)} -h.tb=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.pa[c]=d;e=!0;break;default:e=cb.prototype.tb.call(this,a,b,c,d)}return e};function Lc(a,b){return a.za[(b&a.wb)>>a.Lb].uc(b&a.cb)} -function F(a,b){var c=b&a.cb,d=(b&a.wb)>>a.Lb;a.A-=a.B.Ji;return c!=a.cb?a.za[d].Mn(c):a.za[d++].uc(c)|a.za[d&a.Td].uc(0)<<8}function Mc(a,b,c){a.za[(b&a.wb)>>a.Lb].xc(b&a.cb,c&255)}function Nc(a,b,c){var d=b&a.cb;b=(b&a.wb)>>a.Lb;a.A-=a.B.Ji;d!=a.cb?a.za[b].Wn(d,c&65535):(a.za[b++].xc(d,c&255),a.za[b&a.Td].xc(0,c>>8&255))}h.zl=function(a,b){this.Lf=a;this.fa=a.Uc(this.Ef=b,0);return this.Z&1?0:Lc(this,this.fa)};h.Al=function(a,b){this.Lf=a;this.fa=a.Uc(this.Ef=b,1);return this.Z&1?0:F(this,this.fa)}; -h.Cm=function(a,b){this.Lf=a;this.Ca=this.fa=a.Uc(this.Ef=b,0);return this.Z&1?0:Lc(this,this.fa)};h.Dm=function(a,b){this.Lf=a;this.Ca=this.fa=a.Uc(this.Ef=b,1);return this.Z&1?0:F(this,this.fa)};h.Tn=function(a){this.Z&2||Mc(this,this.Lf.Zb(this.Ef,1),a)};h.Un=function(a){this.Z&2||Nc(this,this.Lf.Zb(this.Ef,2),a)};h.ba=function(){var a=Lc(this,this.Fa);this.Fa=this.wa.hb+(this.sa=this.sa+1&65535);return a}; -h.M=function(){var a=Lc(this,this.Fa)<<24>>24;this.Fa=this.wa.hb+(this.sa=this.sa+1&65535);return a&65535};h.L=function(){var a=F(this,this.Fa);this.Fa=this.wa.hb+(this.sa=this.sa+2&65535);return a};h.Ba=function(){var a=this.Y;this.Y=this.Y+2&65535;return F(this,this.Rb.Uc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;Nc(a,a.Rb.Zb(c,1),b)} -h.ff=function(){E(this,"AX",this.H);E(this,"BX",this.C);E(this,"CX",this.J);E(this,"DX",this.K);E(this,"SP",this.Y);E(this,"BP",this.I);E(this,"SI",this.G);E(this,"DI",this.F);E(this,"CS",this.wa.va);E(this,"DS",this.Xb.va);E(this,"SS",this.Rb.va);E(this,"ES",this.fb.va);E(this,"IP",this.sa);var a=ic(this);E(this,"PS",a);E(this,"C",a&1?1:0,1);E(this,"P",a&4?1:0,1);E(this,"A",a&16?1:0,1);E(this,"Z",a&64?1:0,1);E(this,"S",a&128?1:0,1);E(this,"T",a&256?1:0,1);E(this,"I",a&512?1:0,1);E(this,"D",a&1024? -1:0,1);E(this,"O",a&2048?1:0,1);this.pa.speed&&(this.pa.speed.innerHTML=this.rc&&this.Lc?this.Lc.toFixed(2)+"Mhz":"Stopped")}; -h.Yk=function(a){this.og=!0;this.Mc=this.A=a;this.ha&&qb(this.ha);a||!this.Na||this.Na.Bo(Oc)||(this.Z|=4);do{if(a=this.Z&240)this.ra|=a;else if(this.Mg=this.Fa,this.fa=this.Ca=-1,this.D=this.Xb,this.N=this.Rb,this.ra=this.Z&256,this.Ya){a:{if(!(this.Z&4))if(this.Ya&1&&this.Da&512){if(a=Pc(this.ha),-1<=a&&(this.Ya&=-2,0<=a)){this.Ya&=-5;Qc.call(this,a,null,11);break a}}else if(this.Ya&2){this.Ya&=-3;Qc.call(this,1,null,11);break a}if(a=this.Ya&8){a=this.ha;for(var b=!1,c=0;cthis.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=a+b)&255} -function Tc(a,b){this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=this.ia=a|b)&255}function Uc(a,b){this.ia=a^b;this.X=this.ga=a+b+(this.X&this.aa?1:0);this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return this.X&255}function Vc(a,b){this.ia=a^b;this.X=this.ga=a-b-(this.X&this.aa?1:0);this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return this.X&255} -function Wc(a,b){this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=this.ia=a&b)&255}function Xc(a,b){this.ia=a^b;this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=a-b)&255}function Yc(a,b){this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=this.ia=a^b)&255} -function Zc(a,b){this.ia=a^b;this.aa=256;this.X=this.ga=a-b;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.bi:this.B.eb;this.Z|=2;return a}function $c(a,b){this.ia=a^b;this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=a+b)&65535}function ad(a,b){this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=this.ia=a|b)&65535} -function bd(a,b){this.ia=a^b;this.X=this.ga=a+b+(this.X&this.aa?1:0);this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return this.X&65535}function cd(a,b){this.ia=a^b;this.X=this.ga=a-b-(this.X&this.aa?1:0);this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return this.X&65535}function dd(a,b){this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=this.ia=a&b)&65535} -function ed(a,b){this.ia=a^b;this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=a-b)&65535}function fd(a,b){this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.eb:this.B.Vb;return(this.X=this.ga=this.ia=a^b)&65535}function gd(a,b){this.ia=a^b;this.aa=65536;this.X=this.ga=a-b;this.A-=0>this.Ca?0>this.fa?this.B.Fb:this.B.bi:this.B.eb;this.Z|=2;return a}function hd(a,b){this.X=this.X&this.aa-1|(a&b?this.aa:0);(a^a>>1)&b>>1?Kc(this):Fc(this)} +0,0,1,1,0,1,0,0,1];function sb(a,b,c){this.ka=a;this.jb=this.Aa=0;this.dd=65535;this.xb=0;this.vj="CS"==b;this.Vg=b;this.kc=this.rc=0;tb(this,c)}function vb(a){this.Aa=a;this.dd=65535;this.rc=this.kc=0;return this.jb=a<<4} +function wb(a){var b,c;a&4?(b=this.ka.ne.jb,c=this.ka.ne.dd):(b=this.ka.Ac,c=this.ka.we);b+=a&65528;if(b+7<=c){this.ka.A-=15;c=F(this.ka,b+0);var d=F(this.ka,b+4);b=F(this.ka,b+2)|(d&255)<<16;var e;d&4096||(e=d&7936)&&768>=e?(this.Aa=a,this.jb=b,this.dd=c,this.xb=d&65280,this.type=d&7936,tb(this)):b=-1;return b}return-1}function xb(a){return this.jb+a}function yb(a){return this.jb+a}function zb(a,b,c){return a+b<=this.dd?this.jb+a:Ab.call(this,0,0,c)} +function Ab(a,b,c){c||Bb.call(this.ka,13,0);return-1}function Cb(a,b,c){return a+b<=this.dd?this.jb+a:Db.call(this,0,0,c)}function Db(a,b,c){c||Bb.call(this.ka,13,0);return-1}function Eb(a,b,c){var d=F(a.ka,c+2),e=F(a.ka,c+0)|(d&255)<<16;c=F(a.ka,c+4);a.Aa=b;a.jb=e;a.dd=c;a.xb=d&65280;tb(a)}sb.prototype.save=function(){return[this.Aa,this.jb,this.dd,this.xb,this.vj,this.Vg,this.rc,this.kc]}; +sb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.Aa=a[0],this.jb=a[1],this.dd=a[2],this.xb=a[3],this.vj=a[4],this.Vg=a[5],this.rc=a[6],this.kc=a[7])};function tb(a,b){void 0===b&&(b=!!(a.ka.Jc&1));b?(a.load=wb,a.Yc=zb,a.$b=Cb,a.xb&4096&&(6144==(a.xb&6656)&&(a.$b=Ab),a.xb&2048||!(a.xb&512))&&(a.$b=Db),a.rc=a.Aa&3,a.kc=(a.xb&24576)>>13):(a.load=vb,a.Yc=xb,a.$b=yb,a.rc=a.kc=0)} +function Fb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}cb.call(this,a,b);this.ej=61442;this.Sf=4;this.Je=255;this.B=80286<=this.Ga?Gb:Hb;this.Na=Ib.slice();80186<=this.Ga&&(this.Je=31,this.Na[15]=G,this.Na[96]=Jb,this.Na[97]=Kb,this.Na[98]=Lb,this.Na[99]=G,this.Na[100]=G,this.Na[101]=G,this.Na[102]=G,this.Na[103]=G,this.Na[104]=Mb,this.Na[105]=Nb,this.Na[106]=Ob,this.Na[107]=Pb,this.Na[108]=Qb,this.Na[109]=Rb,this.Na[110]=Sb,this.Na[111]=Tb, +this.Na[192]=Ub,this.Na[193]=Vb,this.Na[200]=Wb,this.Na[201]=Xb,this.Na[241]=Yb,Zb[7]=$b,ac[7]=$b,80286<=this.Ga&&(this.ej=2,this.Sf=0,this.Na[15]=bc,this.Na[99]=cc,this.Na[84]=dc));this.ll=[];this.fj=[];this.Pc=this.nh=0;this.ma.qg=this.ma.xl=!1;this.Ba=[];this.Sd=this.Mb=this.fb=this.Xd=0;this.T=this.El;this.U=this.Fl;this.O=this.Gm;this.P=this.Hm;this.R=this.Xn;this.S=this.Yn;ec(this)}y(cb,Fb); +var Hb={Mi:4,$:5,qa:6,ea:7,fa:8,Q:9,V:11,W:12,he:4,Oj:60,Pj:83,Gb:3,gb:9,Wb:16,Lg:1,Tj:19,Vj:28,Xj:16,Wj:21,Uj:37,Rj:2,fi:9,Sj:5,Qj:33,hi:10,gi:8,Bf:3,Af:15,kk:51,lk:1,mk:2,nk:4,jk:32,ii:15,pk:15,Hb:16,Ib:4,rk:11,qk:18,ok:24,ob:4,sk:2,ji:16,tk:17,oi:18,uk:19,ni:5,pi:6,zk:2,yk:8,wk:9,xk:10,vk:10,qi:10,ri:10,Zj:80,ak:144,Yj:86,$j:154,ck:101,ek:165,bk:107,dk:171,Bk:70,Dk:113,Ak:76,Ck:124,gk:80,ik:128,fk:86,hk:134,Df:3,Cf:16,wi:10,vi:8,Ek:51,Xb:8,Fk:17,Gk:36,dc:11,Hk:16,Ef:10,Gd:2,ci:18,di:7,ei:15,ki:12, +li:7,mi:11,si:18,ti:7,ui:15,xi:15,yi:7,zi:13,Di:11,Ei:7,Fi:8,Ik:8,Lk:12,Jk:18,Kk:17,Mk:15,Bi:8,Ai:20,Ci:2,Ii:3,Ff:9,Hi:5,Gi:11,Ki:4,Ji:17,Nk:11},Gb={Mi:0,$:0,qa:0,ea:0,fa:0,Q:0,V:1,W:1,he:3,Oj:14,Pj:16,Gb:2,gb:7,Wb:7,Lg:0,Tj:7,Vj:13,Xj:7,Wj:11,Uj:16,Rj:3,fi:6,Sj:2,Qj:13,hi:5,gi:5,Bf:2,Af:7,kk:23,lk:0,mk:1,nk:3,jk:17,ii:7,pk:11,Hb:7,Ib:3,rk:7,qk:11,ok:15,ob:2,sk:3,ji:7,tk:8,oi:8,uk:8,ni:4,pi:4,zk:2,yk:3,wk:5,xk:2,vk:3,qi:5,ri:3,Zj:14,ak:22,Yj:17,$j:25,ck:17,ek:25,bk:20,dk:28,Bk:13,Dk:21,Ak:16,Ck:24, +gk:13,ik:21,fk:16,hk:24,Df:2,Cf:7,wi:5,vi:5,Ek:19,Xb:5,Fk:5,Gk:17,dc:3,Hk:5,Ef:3,Gd:0,ci:8,di:5,ei:9,ki:5,li:5,mi:4,si:5,ti:5,ui:4,xi:7,yi:5,zi:8,Di:3,Ei:4,Fi:3,Ik:11,Lk:11,Jk:15,Kk:15,Mk:7,Bi:5,Ai:8,Ci:0,Ii:2,Ff:6,Hi:3,Gi:6,Ki:3,Ji:5,Nk:5};h=Fb.prototype;h.Ph=function(a,b,c,d,e){this.Ba=a;this.Sd=b;this.Mb=c;this.fb=d;this.Xd=e};h.reset=function(){this.ma.tc&&jb(this);ec(this);fb(this);this.ma.Mc=!1}; +function ec(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.Jc=65520;a.Bc=0;a.Rd=1023;a.sc={Ni:0,Aa:0,xb:0,Bg:-1};a.Dd=0;a.xa=new sb(a,"CS");a.Yb=new sb(a,"DS");a.Sb=new sb(a,"SS");a.hb=new sb(a,"ES");a.$k=new sb(a,"ZERO");fc(a,0,65535);80286<=a.Ga&&(a.Ac=0,a.we=65535,a.ne=new sb(a,"LDT",!0),a.Of=new sb(a,"TSS",!0),a.ub=new sb(a,"VER",!0),fc(a,65520,61440),a.xa.jb=16711680);gc(a,0);hc(a);a.$a=0;a.pb=a.Jf=-1;a.cg=0;a.ga=a.Ea=-1;a.D=a.Yb;a.N=a.Sb;a.Z=a.ta=0} +h.Cj=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.ua+this.xa.Aa+this.Yb.Aa+this.Sb.Aa+this.hb.Aa+ic(this)|0};function jc(a,b){var c=a.fj[b];null!=c&&(c(--a.nh),delete a.fj[b])}function hc(a,b){void 0===b&&(b=!!(a.Jc&1));kc=b?lc:mc;tb(a.xa,b);tb(a.Yb,b);tb(a.Sb,b);tb(a.hb,b)} +h.save=function(){var a=new H(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Dd]);a.set(1,[this.ua,this.xa.save(),this.Yb.save(),this.Sb.save(),this.hb.save(),null!=this.Ac?[this.Jc,this.Ac,this.we,this.Bc,this.Rd,this.ne.save(),this.Of.save(),this.Dd]:null,ic(this)]);a.set(2,[this.D.Vg,this.N.Vg,this.Z,this.ta,this.$a,this.ga,this.Ea]);a.set(3,[this.Fg,this.je,this.aa.Cd]);a.set(4,Xa(this.pa));return a.data()}; +h.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Dd=b[8]||0;b=a[1];this.xa.restore(b[1]);this.Yb.restore(b[2]);this.Sb.restore(b[3]);this.hb.restore(b[4]);var c=b[5];c&&c.length&&(this.Jc=c[0],this.Ac=c[1],this.we=c[2],this.Bc=c[3],this.Rd=c[4],this.ne.restore(c[5]),this.Of.restore(c[6]),this.Dd=c[7],hc(this));gc(this,b[6]);I(this,b[0]);b=a[2];this.D=nc(this,b[0]);this.N=nc(this,b[1]);this.Z=b[2];this.ta=b[3];this.$a= +b[4];this.ga=b[5];this.Ea=b[6];b=a[3];this.Fg=b[0];this.je=b[1];lb(this,b[2]);a:{b=this.pa;a=a[4];for(c=0;c>1?128:0} +function Bc(a){return(a.ha^a.ja^a.ha>>1)&a.ba>>1?2048:0}function Cc(a){a.X&=~a.ba}function Dc(a){a.ja=a.ha&16|a.ja&-17}function Ec(a){a.X|=a.ba-1}function Fc(a){a.ha&=~a.ba;a.ja=a.ha&32896|a.ja&-32897}function Gc(a){a.X|=a.ba}function Hc(a){a.ja=~(a.ha&16)&16|a.ja&-17}function Ic(a){a.X&=~(a.ba-1)}function Jc(a){Ac(a)||(a.ha^=a.ba>>1|a.ba>>2,a.ja^=32896)}function Kc(a){a.ha|=a.ba;a.ja=a.ha&32896|a.ja&-32897}function ic(a){return a.Fa&-2262|wc(a)|xc(a)|yc(a)|zc(a)|Ac(a)|Bc(a)} +function gc(a,b){a.ba=256;a.X=a.ha=a.ja=0;b&1&&Gc(a);b&4||(a.ha|=1);b&16&&(a.ja|=16);b&64||Ec(a);b&128&&Jc(a);b&2048&&Kc(a);a.xa.rc?b=b&-12289|a.Fa&12288:(a.Dd=(b&12288)>>12,!a.Dd||a.Jc&1||(a.Dd=0));a.xa.rc>a.Dd&&(b=b&-513|a.Fa&512);a.Fa=a.Fa&-1793|b&1792|a.ej;a.Fa&256&&(a.$a|=2,a.Z|=4)} +h.vb=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.ra[c]=d;e=!0;break;default:e=cb.prototype.vb.call(this,a,b,c,d)}return e};function Lc(a,b){return a.Ba[(b&a.Sd)>>a.Mb].wc(b&a.fb)} +function F(a,b){var c=b&a.fb,d=(b&a.Sd)>>a.Mb;a.A-=a.B.Mi;return c!=a.fb?a.Ba[d].Qn(c):a.Ba[d++].wc(c)|a.Ba[d&a.Xd].wc(0)<<8}function Mc(a,b,c){a.Ba[(b&a.Sd)>>a.Mb].zc(b&a.fb,c&255)}function Nc(a,b,c){var d=b&a.fb;b=(b&a.Sd)>>a.Mb;a.A-=a.B.Mi;d!=a.fb?a.Ba[b].$n(d,c&65535):(a.Ba[b++].zc(d,c&255),a.Ba[b&a.Xd].zc(0,c>>8&255))}h.El=function(a,b){this.Nf=a;this.ga=a.Yc(this.Gf=b,0);return this.Z&1?0:Lc(this,this.ga)};h.Fl=function(a,b){this.Nf=a;this.ga=a.Yc(this.Gf=b,1);return this.Z&1?0:F(this,this.ga)}; +h.Gm=function(a,b){this.Nf=a;this.Ea=this.ga=a.Yc(this.Gf=b,0);return this.Z&1?0:Lc(this,this.ga)};h.Hm=function(a,b){this.Nf=a;this.Ea=this.ga=a.Yc(this.Gf=b,1);return this.Z&1?0:F(this,this.ga)};h.Xn=function(a){this.Z&2||Mc(this,this.Nf.$b(this.Gf,1),a)};h.Yn=function(a){this.Z&2||Nc(this,this.Nf.$b(this.Gf,2),a)};h.ca=function(){var a=Lc(this,this.Ha);this.Ha=this.xa.jb+(this.ua=this.ua+1&65535);return a}; +h.M=function(){var a=Lc(this,this.Ha)<<24>>24;this.Ha=this.xa.jb+(this.ua=this.ua+1&65535);return a&65535};h.L=function(){var a=F(this,this.Ha);this.Ha=this.xa.jb+(this.ua=this.ua+2&65535);return a};h.Da=function(){var a=this.Y;this.Y=this.Y+2&65535;return F(this,this.Sb.Yc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;Nc(a,a.Sb.$b(c,1),b)} +h.jf=function(){E(this,"AX",this.H);E(this,"BX",this.C);E(this,"CX",this.J);E(this,"DX",this.K);E(this,"SP",this.Y);E(this,"BP",this.I);E(this,"SI",this.G);E(this,"DI",this.F);E(this,"CS",this.xa.Aa);E(this,"DS",this.Yb.Aa);E(this,"SS",this.Sb.Aa);E(this,"ES",this.hb.Aa);E(this,"IP",this.ua);var a=ic(this);E(this,"PS",a);E(this,"C",a&1?1:0,1);E(this,"P",a&4?1:0,1);E(this,"A",a&16?1:0,1);E(this,"Z",a&64?1:0,1);E(this,"S",a&128?1:0,1);E(this,"T",a&256?1:0,1);E(this,"I",a&512?1:0,1);E(this,"D",a&1024? +1:0,1);E(this,"O",a&2048?1:0,1);this.ra.speed&&(this.ra.speed.innerHTML=this.ma.tc&&this.aa.Oc?this.aa.Oc.toFixed(2)+"Mhz":"Stopped")}; +h.bl=function(a){this.ma.qg=!0;this.ma.xl=!1;this.Pc=this.A=a;this.ia&&qb(this.ia);a||!this.Pa||this.Pa.Fo(Oc)||(this.Z|=4);do{if(a=this.Z&240)this.ta|=a;else if(this.Og=this.Ha,this.ga=this.Ea=-1,this.D=this.Yb,this.N=this.Sb,this.ta=this.Z&256,this.$a){a:{if(!(this.Z&4))if(this.$a&1&&this.Fa&512){if(a=Pc(this.ia),-1<=a&&(this.$a&=-2,0<=a)){this.$a&=-5;Qc.call(this,a,null,11);break a}}else if(this.$a&2){this.$a&=-3;Qc.call(this,1,null,11);break a}if(a=this.$a&8){a=this.ia;for(var b=!1,c=0;cthis.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=a+b)&255} +function Tc(a,b){this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=this.ja=a|b)&255}function Uc(a,b){this.ja=a^b;this.X=this.ha=a+b+(this.X&this.ba?1:0);this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return this.X&255}function Vc(a,b){this.ja=a^b;this.X=this.ha=a-b-(this.X&this.ba?1:0);this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return this.X&255} +function Wc(a,b){this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=this.ja=a&b)&255}function Xc(a,b){this.ja=a^b;this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=a-b)&255}function Yc(a,b){this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=this.ja=a^b)&255} +function Zc(a,b){this.ja=a^b;this.ba=256;this.X=this.ha=a-b;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.fi:this.B.gb;this.Z|=2;return a}function $c(a,b){this.ja=a^b;this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=a+b)&65535}function ad(a,b){this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=this.ja=a|b)&65535} +function bd(a,b){this.ja=a^b;this.X=this.ha=a+b+(this.X&this.ba?1:0);this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return this.X&65535}function cd(a,b){this.ja=a^b;this.X=this.ha=a-b-(this.X&this.ba?1:0);this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return this.X&65535}function dd(a,b){this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=this.ja=a&b)&65535} +function ed(a,b){this.ja=a^b;this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=a-b)&65535}function fd(a,b){this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.gb:this.B.Wb;return(this.X=this.ha=this.ja=a^b)&65535}function gd(a,b){this.ja=a^b;this.ba=65536;this.X=this.ha=a-b;this.A-=0>this.Ea?0>this.ga?this.B.Gb:this.B.fi:this.B.gb;this.Z|=2;return a}function hd(a,b){this.X=this.X&this.ba-1|(a&b?this.ba:0);(a^a>>1)&b>>1?Kc(this):Fc(this)} function id(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;hd.call(this,d,256)}return c}function jd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;hd.call(this,d,65536)}return c}function kd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);hd.call(this,d,256)}return c}function ld(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);hd.call(this,d,65536)}return c} -function md(a,b){var c=a;if(b){var d;(d=(b&this.Fe)%9)?(d=a<>9-d,c=d&255):d=a|(this.X&this.aa?1:0)<<8;hd.call(this,d,256)}return c}function qd(a,b){var c=a;if(b){var d;(d=(b&this.Fe)%17)?(d=a<>17-d,c=d&65535):d=a|(this.X&this.aa?1:0)<<16;hd.call(this,d,65536)}return c}function rd(a,b){var c=a;b&&(c=(b&this.Fe)%9,c=a>>c|(this.X&this.aa?1:0)<<8-c|a<<9-c,hd.call(this,c,256),c&=255);return c} -function sd(a,b){var c=a;b&&(c=(b&this.Fe)%17,c=a>>c|(this.X&this.aa?1:0)<<16-c|a<<17-c,hd.call(this,c,65536),c&=65535);return c}function td(a,b){var c=a;b&&(c=8>b-1;this.X=this.ga=c>>1;this.X=c&1?this.X|256:this.X&-257;this.ia=a^this.X;this.aa=256;a=this.X}return a&255}function wd(a,b){if(b){var c=16>b-1;this.X=this.ga=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.ia=a^this.X;this.aa=65536;a=this.X}return a&65535}function xd(a,b){if(b){8>24>>b-1;this.X=this.ga=c>>1;this.X=c&1?this.X|256:this.X&-257;this.ia=a^this.X;this.aa=256;a=this.X}return a&255} -function yd(a,b){if(b){16>16>>b-1;this.X=this.ga=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.ia=a^this.X;this.aa=65536;a=this.X}return a&65535}function zd(){this.A-=0>this.fa?2:this.B.Ik;return 1}function Ad(){var a=this.J&this.Fe;this.A-=(0>this.fa?this.B.xi:this.B.wi)+(a<this.fa?this.B.xi:this.B.wi)+(a<>9-d,c=d&255):d=a|(this.X&this.ba?1:0)<<8;hd.call(this,d,256)}return c}function qd(a,b){var c=a;if(b){var d;(d=(b&this.Je)%17)?(d=a<>17-d,c=d&65535):d=a|(this.X&this.ba?1:0)<<16;hd.call(this,d,65536)}return c}function rd(a,b){var c=a;b&&(c=(b&this.Je)%9,c=a>>c|(this.X&this.ba?1:0)<<8-c|a<<9-c,hd.call(this,c,256),c&=255);return c} +function sd(a,b){var c=a;b&&(c=(b&this.Je)%17,c=a>>c|(this.X&this.ba?1:0)<<16-c|a<<17-c,hd.call(this,c,65536),c&=65535);return c}function td(a,b){var c=a;b&&(c=8>b-1;this.X=this.ha=c>>1;this.X=c&1?this.X|256:this.X&-257;this.ja=a^this.X;this.ba=256;a=this.X}return a&255}function wd(a,b){if(b){var c=16>b-1;this.X=this.ha=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.ja=a^this.X;this.ba=65536;a=this.X}return a&65535}function xd(a,b){if(b){8>24>>b-1;this.X=this.ha=c>>1;this.X=c&1?this.X|256:this.X&-257;this.ja=a^this.X;this.ba=256;a=this.X}return a&255} +function yd(a,b){if(b){16>16>>b-1;this.X=this.ha=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.ja=a^this.X;this.ba=65536;a=this.X}return a&65535}function zd(){this.A-=0>this.ga?2:this.B.Mk;return 1}function Ad(){var a=this.J&this.Je;this.A-=(0>this.ga?this.B.Bi:this.B.Ai)+(a<this.ga?this.B.Bi:this.B.Ai)+(a<this.Ca?this.B.Wb:this.B.Bk;return b},Dd,Dd,Dd,Dd,Dd,Dd,Dd],Hd=[function(a,b){this.A-=0>this.Ca?this.B.tk:this.B.rk;return b},L,L,L,L,L,L,L],Id=[id,kd,md,rd,td,vd,L,xd],Jd=[jd,ld,qd,sd,ud,wd,L,yd],Ld=[function(a,b){b=this.ba();this.X=this.ga=this.ia=a&b;this.aa=256;this.A-=0>this.fa?this.B.Di:this.B.Ci;this.Z|=2;return a},L,function(a){this.A-=0>this.fa?this.B.Bf:this.B.Af;return a^255},function(a,b){b=0;this.ia= -a^b;this.aa=256;this.A-=0>this.fa?this.B.Bf:this.B.Af;return(this.X=this.ga=b-a)&255},function(a){this.H=this.nb=(this.X=(this.H&255)*a)&65535;this.ia=this.ga=this.X;this.aa=256;this.H&65280?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.fa?this.B.xk:this.B.wk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.nb=b&65535;this.X=this.ia=this.ga=b;this.aa=256;127b?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.fa?this.B.ck:this.B.bk;this.Z|=2;return a}, -function(a){if(!a)return Kd.call(this),a;var b=this.H/a;if(255this.fa?this.B.Vj:this.B.Uj;this.Z|=2;return a},function(a){if(!a)return Kd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Kd.call(this),a;this.nb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ga=this.ia=this.X=b|256;this.aa=256;this.A-=0>this.fa?this.B.Zj:this.B.Yj;this.Z|=2;return a}], -Md=[function(a,b){b=this.L();this.X=this.ga=this.ia=a&b;this.aa=65536;this.A-=0>this.fa?this.B.Di:this.B.Ci;this.Z|=2;return a},L,function(a){this.A-=0>this.fa?this.B.Bf:this.B.Af;return a^65535},function(a,b){b=0;this.ia=a^b;this.aa=65536;this.A-=0>this.fa?this.B.Bf:this.B.Af;return(this.X=this.ga=b-a)&65535},function(a){this.nb=this.H=(this.X=this.H*a)&65535;this.Hf=this.K=this.X>>16&65535;this.ia=this.ga=this.X;this.aa=65536;this.K?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.fa?this.B.zk: -this.B.yk;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.nb=b&65535;this.K=this.Hf=b>>16&65535;this.X=this.ia=this.ga=b;this.aa=65536;32767b?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.fa?this.B.ek:this.B.dk;this.Z|=2;return a},function(a,b){if(!a)return Kd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Kd.call(this),a;this.nb=this.H=c&65535;this.Hf=this.K=b%a&65535;this.ga=this.ia=this.X=c|65536;this.aa=65536;this.A-= -0>this.fa?this.B.Xj:this.B.Wj;this.Z|=2;return a},function(a,b){if(!a)return Kd.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 Kd.call(this),a;this.nb=this.H=d&65535;this.Hf=this.K=b%c&65535;this.ga=this.ia=this.X=d|65536;this.aa=65536;this.A-=0>this.fa?this.B.ak:this.B.$j;this.Z|=2;return a}],Zb=[function(a){this.ia=a;a=(this.ga=a+1)&255;this.X=a|(this.X&this.aa?1:0)<<8;this.aa=256;this.A-=0>this.fa?this.B.zf:this.B.yf;return a},function(a){this.ia= -a;a=(this.ga=a-1)&255;this.X=a|(this.X&this.aa?1:0)<<8;this.aa=256;this.A-=0>this.fa?this.B.zf:this.B.yf;return a},L,L,L,L,L,L],ac=[function(a){this.ia=a;a=(this.ga=a+1)&65535;this.X=a|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=0>this.fa?this.B.zf:this.B.yf;return a},function(a){this.ia=a;a=(this.ga=a-1)&65535;this.X=a|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=0>this.fa?this.B.zf:this.B.yf;return a},function(a){K(this,this.sa);I(this,a);this.A-=0>this.fa?this.B.Tj:this.B.Sj;this.Z|=2;return a}, -function(a){if(0>this.fa)return L.call(this,a);K(this,this.wa.va);K(this,this.sa);fc(this,a,F(this,this.fa+2));this.A-=this.B.Qj;this.Z|=2;return a},function(a){I(this,a);this.A-=0>this.fa?this.B.nk:this.B.mk;this.Z|=2;return a},function(a){if(0>this.fa)return L.call(this,a);fc(this,a,F(this,this.fa+2));this.A-=this.B.kk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ea&&(b=a));K(this,b);this.A-=0>this.fa?this.B.cc:this.B.Dk;this.Z|=2;return a},Dd],Nd=[id,kd,md,rd,td, -vd,L,xd],Od=[jd,ld,qd,sd,ud,wd,L,yd];function Pd(a,b){this.A-=0>this.Ca?0>this.fa?this.B.vk:this.B.uk:this.B.sk;return b}function Qd(){return Pd.call(this,0,this.nb)}function Rd(a,b){this.X=this.ga=this.ia=a&b;this.aa=256;this.A-=0>this.Ca?0>this.fa?this.B.Ei:this.B.Df:this.B.Df;this.Z|=2;return a}function Sd(a,b){this.X=this.ga=this.ia=a&b;this.aa=65536;this.A-=0>this.Ca?0>this.fa?this.B.Ei:this.B.Df:this.B.Df;this.Z|=2;return a} -function Td(a,b){var c=(b<<16>>16)*(this.ba()<<24>>24);this.X=this.ia=this.ga=c;this.aa=256;32767c?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.fa?21:24;return c&65535}function Ud(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.X=this.ia=this.ga=c;this.aa=65536;32767c?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.fa?21:24;return c&65535}function Vd(a){return a}function Wd(a){if(0>this.fa)return N.call(this),a;this.A-=this.B.ok;return this.fa} -function Xd(a,b){if(0>this.fa)return N.call(this),a;qc(this,F(this,this.fa+2));this.A-=this.B.fi;return b}function Yd(a,b){if(0>this.fa)return N.call(this),a;vc(this,F(this,this.fa+2));this.A-=this.B.fi;return b}function Zd(a){if(0>this.fa)return G.call(this),a;var b=a<<16>>16,c=F(this,this.fa)<<16>>16,d=F(this,this.fa+2)<<16>>16;this.A-=this.B.Mj;if(bd)I(this,this.Mg-this.wa.hb),Qc.call(this,5,null,0);this.Z|=2;return a} -function $d(a,b){this.A-=10+(0>this.fa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Ic(this),a;Ec(this);return a}function ae(a,b){this.A-=14+(0>this.fa?0:2);if(0<=this.sb.load(b,!0)&&this.sb.Bb>=(this.wa.va&3)&&this.sb.Bb>=(b&3))return Ic(this),this.sb.lc&65280;Ec(this);return a}function be(a,b){this.A-=14+(0>this.fa?0:2);if(b&65528&&0<=this.sb.load(b,!0)&&(3072==(this.sb.lc&3072)||this.sb.Bb>=(this.wa.va&3))&&this.sb.Bb>=(b&3))return Ic(this),this.sb.ad;Ec(this);return a} -function ce(a,b){if(0>this.fa){switch(this.ag&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.Gi}else this.Ca=this.fa,this.R(a),this.A-=this.B.Fi;return b} -function de(a,b){if(0>this.fa){switch(this.ag&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.Gi}else this.Ca=this.fa,this.S(a),this.A-=this.B.Fi;return b}function Qc(a,b,c){oc(this,a)&&(K(this,ic(this)),this.Da&=this.qc.zg,K(this,this.wa.va),K(this,this.sa),null!=b&&K(this,b),fc(this,this.qc.Ki,this.qc.va),this.A-=this.B.gk+c)} -function ee(a){a|=this.Hc&1;this.Hc=this.Hc&65520|a&-65521;this.Hc&1&&hc(this,!0)}function Kd(){I(this,this.Mg-this.wa.hb);Qc.call(this,0,null,2)}function Db(a,b){80186<=this.Ea&&(I(this,this.Mg-this.wa.hb),Qc.call(this,a,b,0))}function G(){Db.call(this,6);jb(this)}function N(){I(this,this.Mg-this.wa.hb);var a=Ta(this.na,this.Fa),b=this.sa,c=this.wa.va;Ja(this,"Undefined opcode 0x"+p(a,2)+" at "+(void 0!==c?p(c,4)+":"+p(b,4):p(b)));jb(this)} +var Ed=[Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc],Fd=[$c,ad,bd,cd,dd,ed,fd,gd],Gd=[function(a,b){this.A-=0>this.Ea?this.B.Xb:this.B.Fk;return b},Dd,Dd,Dd,Dd,Dd,Dd,Dd],Hd=[function(a,b){this.A-=0>this.Ea?this.B.xk:this.B.vk;return b},L,L,L,L,L,L,L],Id=[id,kd,md,rd,td,vd,L,xd],Jd=[jd,ld,qd,sd,ud,wd,L,yd],Ld=[function(a,b){b=this.ca();this.X=this.ha=this.ja=a&b;this.ba=256;this.A-=0>this.ga?this.B.Hi:this.B.Gi;this.Z|=2;return a},L,function(a){this.A-=0>this.ga?this.B.Df:this.B.Cf;return a^255},function(a,b){b=0;this.ja= +a^b;this.ba=256;this.A-=0>this.ga?this.B.Df:this.B.Cf;return(this.X=this.ha=b-a)&255},function(a){this.H=this.pb=(this.X=(this.H&255)*a)&65535;this.ja=this.ha=this.X;this.ba=256;this.H&65280?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.ga?this.B.Bk:this.B.Ak;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.pb=b&65535;this.X=this.ja=this.ha=b;this.ba=256;127b?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.ga?this.B.gk:this.B.fk;this.Z|=2;return a}, +function(a){if(!a)return Kd.call(this),a;var b=this.H/a;if(255this.ga?this.B.Zj:this.B.Yj;this.Z|=2;return a},function(a){if(!a)return Kd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Kd.call(this),a;this.pb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ha=this.ja=this.X=b|256;this.ba=256;this.A-=0>this.ga?this.B.ck:this.B.bk;this.Z|=2;return a}], +Md=[function(a,b){b=this.L();this.X=this.ha=this.ja=a&b;this.ba=65536;this.A-=0>this.ga?this.B.Hi:this.B.Gi;this.Z|=2;return a},L,function(a){this.A-=0>this.ga?this.B.Df:this.B.Cf;return a^65535},function(a,b){b=0;this.ja=a^b;this.ba=65536;this.A-=0>this.ga?this.B.Df:this.B.Cf;return(this.X=this.ha=b-a)&65535},function(a){this.pb=this.H=(this.X=this.H*a)&65535;this.Jf=this.K=this.X>>16&65535;this.ja=this.ha=this.X;this.ba=65536;this.K?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.ga?this.B.Dk: +this.B.Ck;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.pb=b&65535;this.K=this.Jf=b>>16&65535;this.X=this.ja=this.ha=b;this.ba=65536;32767b?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.ga?this.B.ik:this.B.hk;this.Z|=2;return a},function(a,b){if(!a)return Kd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Kd.call(this),a;this.pb=this.H=c&65535;this.Jf=this.K=b%a&65535;this.ha=this.ja=this.X=c|65536;this.ba=65536;this.A-= +0>this.ga?this.B.ak:this.B.$j;this.Z|=2;return a},function(a,b){if(!a)return Kd.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 Kd.call(this),a;this.pb=this.H=d&65535;this.Jf=this.K=b%c&65535;this.ha=this.ja=this.X=d|65536;this.ba=65536;this.A-=0>this.ga?this.B.ek:this.B.dk;this.Z|=2;return a}],Zb=[function(a){this.ja=a;a=(this.ha=a+1)&255;this.X=a|(this.X&this.ba?1:0)<<8;this.ba=256;this.A-=0>this.ga?this.B.Bf:this.B.Af;return a},function(a){this.ja= +a;a=(this.ha=a-1)&255;this.X=a|(this.X&this.ba?1:0)<<8;this.ba=256;this.A-=0>this.ga?this.B.Bf:this.B.Af;return a},L,L,L,L,L,L],ac=[function(a){this.ja=a;a=(this.ha=a+1)&65535;this.X=a|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=0>this.ga?this.B.Bf:this.B.Af;return a},function(a){this.ja=a;a=(this.ha=a-1)&65535;this.X=a|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=0>this.ga?this.B.Bf:this.B.Af;return a},function(a){K(this,this.ua);I(this,a);this.A-=0>this.ga?this.B.Xj:this.B.Wj;this.Z|=2;return a}, +function(a){if(0>this.ga)return L.call(this,a);K(this,this.xa.Aa);K(this,this.ua);fc(this,a,F(this,this.ga+2));this.A-=this.B.Uj;this.Z|=2;return a},function(a){I(this,a);this.A-=0>this.ga?this.B.rk:this.B.qk;this.Z|=2;return a},function(a){if(0>this.ga)return L.call(this,a);fc(this,a,F(this,this.ga+2));this.A-=this.B.ok;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ga&&(b=a));K(this,b);this.A-=0>this.ga?this.B.dc:this.B.Hk;this.Z|=2;return a},Dd],Nd=[id,kd,md,rd,td, +vd,L,xd],Od=[jd,ld,qd,sd,ud,wd,L,yd];function Pd(a,b){this.A-=0>this.Ea?0>this.ga?this.B.zk:this.B.yk:this.B.wk;return b}function Qd(){return Pd.call(this,0,this.pb)}function Rd(a,b){this.X=this.ha=this.ja=a&b;this.ba=256;this.A-=0>this.Ea?0>this.ga?this.B.Ii:this.B.Ff:this.B.Ff;this.Z|=2;return a}function Sd(a,b){this.X=this.ha=this.ja=a&b;this.ba=65536;this.A-=0>this.Ea?0>this.ga?this.B.Ii:this.B.Ff:this.B.Ff;this.Z|=2;return a} +function Td(a,b){var c=(b<<16>>16)*(this.ca()<<24>>24);this.X=this.ja=this.ha=c;this.ba=256;32767c?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.ga?21:24;return c&65535}function Ud(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.X=this.ja=this.ha=c;this.ba=65536;32767c?(Gc(this),Kc(this)):(Cc(this),Fc(this));this.A-=0>this.ga?21:24;return c&65535}function Vd(a){return a}function Wd(a){if(0>this.ga)return N.call(this),a;this.A-=this.B.sk;return this.ga} +function Xd(a,b){if(0>this.ga)return N.call(this),a;qc(this,F(this,this.ga+2));this.A-=this.B.ji;return b}function Yd(a,b){if(0>this.ga)return N.call(this),a;vc(this,F(this,this.ga+2));this.A-=this.B.ji;return b}function Zd(a){if(0>this.ga)return G.call(this),a;var b=a<<16>>16,c=F(this,this.ga)<<16>>16,d=F(this,this.ga+2)<<16>>16;this.A-=this.B.Qj;if(bd)I(this,this.Og-this.xa.jb),Qc.call(this,5,null,0);this.Z|=2;return a} +function $d(a,b){this.A-=10+(0>this.ga?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Ic(this),a;Ec(this);return a}function ae(a,b){this.A-=14+(0>this.ga?0:2);if(0<=this.ub.load(b,!0)&&this.ub.kc>=this.xa.rc&&this.ub.kc>=(b&3))return Ic(this),this.ub.xb&65280;Ec(this);return a}function be(a,b){this.A-=14+(0>this.ga?0:2);if(b&65528&&0<=this.ub.load(b,!0)&&(7168==(this.ub.xb&7168)||this.ub.kc>=this.xa.rc)&&this.ub.kc>=(b&3))return Ic(this),this.ub.dd;Ec(this);return a} +function ce(a,b){if(0>this.ga){switch(this.cg&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.Ki}else this.Ea=this.ga,this.R(a),this.A-=this.B.Ji;return b} +function de(a,b){if(0>this.ga){switch(this.cg&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.Ki}else this.Ea=this.ga,this.S(a),this.A-=this.B.Ji;return b}function Qc(a,b,c){oc(this,a)&&(K(this,ic(this)),this.Fa&=this.sc.Bg,K(this,this.xa.Aa),K(this,this.ua),null!=b&&K(this,b),fc(this,this.sc.Ni,this.sc.Aa),this.A-=this.B.kk+c)} +function ee(a){a|=this.Jc&1;this.Jc=this.Jc&65520|a&-65521;this.Jc&1&&hc(this,!0)}function Kd(){I(this,this.Og-this.xa.jb);Qc.call(this,0,null,2)}function Bb(a,b){80186<=this.Ga&&(I(this,this.Og-this.xa.jb),Qc.call(this,a,b,0))}function G(){Bb.call(this,6);jb(this)}function N(){I(this,this.Og-this.xa.jb);var a=Ta(this.pa,this.Ha),b=this.ua,c=this.xa.Aa;Ja(this,"Undefined opcode 0x"+p(a,2)+" at "+(void 0!==c?p(c,4)+":"+p(b,4):p(b)));jb(this)} function fe(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function ge(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function he(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function ie(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function je(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function ke(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a} function le(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function me(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function ne(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function oe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function pe(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function qe(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a} function re(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function se(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function te(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function ue(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function ve(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function we(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a} @@ -103,18 +104,18 @@ function Pf(a){this.C=a.call(this,this.C,this.H)}function Qf(a){this.C=a.call(th function Zf(a){this.Y=a.call(this,this.Y,this.K)}function $f(a){this.Y=a.call(this,this.Y,this.C)}function ag(a){this.Y=a.call(this,this.Y,this.Y)}function bg(a){this.Y=a.call(this,this.Y,this.I)}function cg(a){this.Y=a.call(this,this.Y,this.G)}function dg(a){this.Y=a.call(this,this.Y,this.F)}function eg(a){this.I=a.call(this,this.I,this.H)}function fg(a){this.I=a.call(this,this.I,this.J)}function gg(a){this.I=a.call(this,this.I,this.K)}function hg(a){this.I=a.call(this,this.I,this.C)} function ig(a){this.I=a.call(this,this.I,this.Y)}function jg(a){this.I=a.call(this,this.I,this.I)}function kg(a){this.I=a.call(this,this.I,this.G)}function lg(a){this.I=a.call(this,this.I,this.F)}function mg(a){this.G=a.call(this,this.G,this.H)}function ng(a){this.G=a.call(this,this.G,this.J)}function og(a){this.G=a.call(this,this.G,this.K)}function pg(a){this.G=a.call(this,this.G,this.C)}function qg(a){this.G=a.call(this,this.G,this.Y)}function rg(a){this.G=a.call(this,this.G,this.I)} function sg(a){this.G=a.call(this,this.G,this.G)}function tg(a){this.G=a.call(this,this.G,this.F)}function ug(a){this.F=a.call(this,this.F,this.H)}function vg(a){this.F=a.call(this,this.F,this.J)}function wg(a){this.F=a.call(this,this.F,this.K)}function xg(a){this.F=a.call(this,this.F,this.C)}function yg(a){this.F=a.call(this,this.F,this.Y)}function zg(a){this.F=a.call(this,this.F,this.I)}function Ag(a){this.F=a.call(this,this.F,this.G)}function Bg(a){this.F=a.call(this,this.F,this.F)} -var Cg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.$}, -function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N, -this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); -this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= -this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.K&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.K&255);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.K&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this, -this.O(this.N,this.I+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C&255);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.C&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.C&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.C&255);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.C&255); -this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.H>>8);this.R(a); -this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.H>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.H>>8);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.H>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this, -this.O(this.N,this.I+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.J>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.J>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.J>>8);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.J>>8);this.R(a); -this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.K>>8);this.R(a);this.A-=this.B.$}, -function(a){a=a.call(this,this.O(this.D,this.F),this.K>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.K>>8);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.K>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N, -this.I+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.da},function(a){a=a.call(this,this.O(this.D,this.G),this.C>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.C>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.C>>8);this.R(a);this.A-=this.B.oa},function(a){a=a.call(this,this.O(this.D,this.C),this.C>>8);this.R(a);this.A-= +var Cg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.$}, +function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N, +this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); +this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= +this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.K&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.K&255);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.K&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this, +this.O(this.N,this.I+this.G&65535),this.C&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.C&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.C&255);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.C&255);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.C&255); +this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.H>>8);this.R(a); +this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.H>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.H>>8);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.H>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this, +this.O(this.N,this.I+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.J>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.J>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.J>>8);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.J>>8);this.R(a); +this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.K>>8);this.R(a);this.A-=this.B.$}, +function(a){a=a.call(this,this.O(this.D,this.F),this.K>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.K>>8);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.K>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N, +this.I+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ea},function(a){a=a.call(this,this.O(this.D,this.G),this.C>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.F),this.C>>8);this.R(a);this.A-=this.B.$},function(a){a=a.call(this,this.O(this.D,this.L()),this.C>>8);this.R(a);this.A-=this.B.qa},function(a){a=a.call(this,this.O(this.D,this.C),this.C>>8);this.R(a);this.A-= this.B.$},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()& 65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D, this.C+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a= @@ -142,18 +143,18 @@ this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L() this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this, this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-= this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},fe,ne,ve,De,Le,Te,af,jf,ge,oe,we,Ee,Me,Ue,bf,kf,he,pe,xe,Fe,Ne,Ve,cf,lf,ie,qe,ye,Ge, -Oe,We,df,mf,je,re,ze,He,Pe,Xe,ef,nf,ke,se,Ae,Ie,Qe,Ye,ff,of,le,te,Be,Je,Re,Ze,gf,pf,me,ue,Ce,Ke,Se,$e,hf,qf],O=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.H);this.S(a);this.A-=this.B.da}, -function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.J); -this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this, -this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.K); -this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.K);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.K);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.K);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this, -this.P(this.N,this.I+this.G&65535),this.C);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.C);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.C);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.C);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.C);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.C);this.S(a);this.A-=this.B.$}, -function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.Y);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.Y);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.Y);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.Y);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.Y);this.S(a);this.A-=this.B.$},function(a){a=a.call(this, -this.P(this.D,this.F),this.Y);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.Y);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.Y);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.I);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.I);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.I);this.S(a); -this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.I);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.I);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.I);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.I);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.I);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+ -this.G&65535),this.G);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.G);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.G);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.G);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.G);this.S(a);this.A-= -this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.G);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.G);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.F);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.F);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.F);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this, -this.P(this.N,this.I+this.F&65535),this.F);this.S(a);this.A-=this.B.da},function(a){a=a.call(this,this.P(this.D,this.G),this.F);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.F);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.F);this.S(a);this.A-=this.B.oa},function(a){a=a.call(this,this.P(this.D,this.C),this.F);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.H);this.S(a);this.A-= +Oe,We,df,mf,je,re,ze,He,Pe,Xe,ef,nf,ke,se,Ae,Ie,Qe,Ye,ff,of,le,te,Be,Je,Re,Ze,gf,pf,me,ue,Ce,Ke,Se,$e,hf,qf],O=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.H);this.S(a);this.A-=this.B.ea}, +function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.J); +this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this, +this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.K); +this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.K);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.K);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.K);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this, +this.P(this.N,this.I+this.G&65535),this.C);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.C);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.C);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.C);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.C);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.C);this.S(a);this.A-=this.B.$}, +function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.Y);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.Y);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.Y);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.Y);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.Y);this.S(a);this.A-=this.B.$},function(a){a=a.call(this, +this.P(this.D,this.F),this.Y);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.Y);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.Y);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.I);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.I);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.I);this.S(a); +this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.I);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.I);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.I);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.I);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.I);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+ +this.G&65535),this.G);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.G);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.G);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.G);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.G);this.S(a);this.A-= +this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.G);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.G);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.F);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.F);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.F);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this, +this.P(this.N,this.I+this.F&65535),this.F);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.G),this.F);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.F),this.F);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.L()),this.F);this.S(a);this.A-=this.B.qa},function(a){a=a.call(this,this.P(this.D,this.C),this.F);this.S(a);this.A-=this.B.$},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.H);this.S(a);this.A-= this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.H);this.S(a); this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.J); this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.J); @@ -180,20 +181,20 @@ this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},functio this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this, this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.V},function(a){a= a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},rf,zf,Hf,Pf,Xf,eg,mg,ug,sf,Af,If,Qf,Yf,fg,ng,vg,tf,Bf,Jf,Rf,Zf,gg,og,wg,uf,Cf,Kf,Sf,$f,hg,pg,xg,vf,Df,Lf,Tf,ag,ig,qg,yg, -wf,Ef,Mf,Uf,bg,jg,rg,zg,xf,Ff,Nf,Vf,cg,kg,sg,Ag,yf,Gf,Of,Wf,dg,lg,tg,Bg],Dg=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.F&65535));this.H=this.H& --256|a;this.A-=this.B.da},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.H&255,this.T(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.G&65535));this.J= -this.J&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G));this.J=this.J&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.J& -255,this.T(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.J&255,this.T(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a= -a.call(this,this.K&255,this.T(this.N,this.I+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.K&255,this.T(this.D,this.G));this.K=this.K&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.K&255,this.T(this.D,this.F));this.K=this.K&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.K&255,this.T(this.D,this.L()));this.K=this.K&-256|a;this.A-= -this.B.oa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C));this.K=this.K&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+ -this.F&65535));this.C=this.C&-256|a;this.A-=this.B.da},function(a){a=a.call(this,this.C&255,this.T(this.D,this.G));this.C=this.C&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.C&255,this.T(this.D,this.F));this.C=this.C&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.C&255,this.T(this.D,this.L()));this.C=this.C&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C));this.C=this.C&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.H>>8,this.T(this.D, -this.C+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.G));this.H=this.H&255|a<<8;this.A-=this.B.$}, -function(a){a=a.call(this,this.H>>8,this.T(this.D,this.F));this.H=this.H&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.L()));this.H=this.H&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C));this.H=this.H&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.F&65535));this.J=this.J& -255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.G));this.J=this.J&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.F));this.J=this.J&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.J>>8,this.T(this.D, -this.L()));this.J=this.J&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C));this.J=this.J&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.ea},function(a){a= -a.call(this,this.K>>8,this.T(this.N,this.I+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G));this.K=this.K&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F));this.K=this.K&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.L()));this.K=this.K&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C));this.K=this.K&255|a<<8;this.A-=this.B.$}, -function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.da},function(a){a=a.call(this,this.C>>8,this.T(this.D, -this.G));this.C=this.C&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F));this.C=this.C&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.L()));this.C=this.C&255|a<<8;this.A-=this.B.oa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C));this.C=this.C&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H& +wf,Ef,Mf,Uf,bg,jg,rg,zg,xf,Ff,Nf,Vf,cg,kg,sg,Ag,yf,Gf,Of,Wf,dg,lg,tg,Bg],Dg=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.F&65535));this.H=this.H& +-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.H&255,this.T(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.qa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.G&65535));this.J= +this.J&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G));this.J=this.J&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.J& +255,this.T(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.J&255,this.T(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.qa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.fa},function(a){a= +a.call(this,this.K&255,this.T(this.N,this.I+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&255,this.T(this.D,this.G));this.K=this.K&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.K&255,this.T(this.D,this.F));this.K=this.K&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.K&255,this.T(this.D,this.L()));this.K=this.K&-256|a;this.A-= +this.B.qa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C));this.K=this.K&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+ +this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.T(this.D,this.G));this.C=this.C&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.C&255,this.T(this.D,this.F));this.C=this.C&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.C&255,this.T(this.D,this.L()));this.C=this.C&-256|a;this.A-=this.B.qa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C));this.C=this.C&-256|a;this.A-=this.B.$},function(a){a=a.call(this,this.H>>8,this.T(this.D, +this.C+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.G));this.H=this.H&255|a<<8;this.A-=this.B.$}, +function(a){a=a.call(this,this.H>>8,this.T(this.D,this.F));this.H=this.H&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.L()));this.H=this.H&255|a<<8;this.A-=this.B.qa},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C));this.H=this.H&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.F&65535));this.J=this.J& +255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.G));this.J=this.J&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.F));this.J=this.J&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.J>>8,this.T(this.D, +this.L()));this.J=this.J&255|a<<8;this.A-=this.B.qa},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C));this.J=this.J&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.fa},function(a){a= +a.call(this,this.K>>8,this.T(this.N,this.I+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G));this.K=this.K&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F));this.K=this.K&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.L()));this.K=this.K&255|a<<8;this.A-=this.B.qa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C));this.K=this.K&255|a<<8;this.A-=this.B.$}, +function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8,this.T(this.D, +this.G));this.C=this.C&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F));this.C=this.C&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.L()));this.C=this.C&255|a<<8;this.A-=this.B.qa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C));this.C=this.C&255|a<<8;this.A-=this.B.$},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H& 255,this.T(this.D,this.C+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F+ this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.F+this.M()&65535));this.J=this.J& -256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a= @@ -224,17 +225,17 @@ this.K=this.K&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.K>>8,thi 8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a= a.call(this,this.C>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>> 8,this.T(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf], -P=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.H=a.call(this,this.H,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.H=a.call(this,this.H,this.U(this.D, -this.F));this.A-=this.B.$},function(a){this.H=a.call(this,this.H,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.J=a.call(this,this.J, -this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.J=a.call(this,this.J,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.K=a.call(this,this.K, -this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.K=a.call(this,this.K,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.K=a.call(this, -this.K,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.C=a.call(this,this.C,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.C= -a.call(this,this.C,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.C=a.call(this,this.C,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.Y=a.call(this,this.Y,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.Y= -a.call(this,this.Y,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.I= -a.call(this,this.I,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.I=a.call(this,this.I,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.I=a.call(this,this.I,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.I=a.call(this,this.I,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.I= -a.call(this,this.I,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ea},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G));this.A-= -this.B.$},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.G=a.call(this,this.G,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.G&65535));this.A-=this.B.da},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ea},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G& -65535));this.A-=this.B.ea},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F&65535));this.A-=this.B.da},function(a){this.F=a.call(this,this.F,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.F=a.call(this,this.F,this.U(this.D,this.L()));this.A-=this.B.oa},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G+ +P=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.H=a.call(this,this.H,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.H=a.call(this,this.H,this.U(this.D, +this.F));this.A-=this.B.$},function(a){this.H=a.call(this,this.H,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J, +this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.J=a.call(this,this.J,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.K=a.call(this,this.K, +this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.K=a.call(this,this.K,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.K=a.call(this, +this.K,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.C=a.call(this,this.C,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.C= +a.call(this,this.C,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.C=a.call(this,this.C,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.Y=a.call(this,this.Y,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.Y= +a.call(this,this.Y,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.Y=a.call(this,this.Y,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.I= +a.call(this,this.I,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.I=a.call(this,this.I,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.I=a.call(this,this.I,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.I=a.call(this,this.I,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.I= +a.call(this,this.I,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G&65535));this.A-=this.B.fa},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G));this.A-= +this.B.$},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.G=a.call(this,this.G,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.G&65535));this.A-=this.B.ea},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F&65535));this.A-=this.B.fa},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G& +65535));this.A-=this.B.fa},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F&65535));this.A-=this.B.ea},function(a){this.F=a.call(this,this.F,this.U(this.D,this.G));this.A-=this.B.$},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F));this.A-=this.B.$},function(a){this.F=a.call(this,this.F,this.U(this.D,this.L()));this.A-=this.B.qa},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C));this.A-=this.B.$},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G+ this.M()&65535));this.A-=this.B.V},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.H=a.call(this,this.H,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.F+this.M()&65535)); this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W}, function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this, @@ -260,20 +261,20 @@ function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.L()&65535));this a.call(this,this.G,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D, this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+ this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg],Eg=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this)); -this.R(c);this.A-=this.B.da},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this, -this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a, -b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-= -this.B.oa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+ -this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[2].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.O(this.D, -this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[3].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$}, -function(a,b){var c=a[3].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c); -this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[4].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.O(this.D,this.L()), -b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c= -a[5].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[5].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a, -b){var c=a[6].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[6].call(this,this.O(this.D,this.G),b.call(this)); -this.R(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F& -65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.da},function(a,b){var c=a[7].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this, -this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this)); +this.R(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this, +this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a, +b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-= +this.B.qa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+ +this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.O(this.D, +this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$}, +function(a,b){var c=a[3].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c); +this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.O(this.D,this.L()), +b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c= +a[5].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a, +b){var c=a[6].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.O(this.D,this.G),b.call(this)); +this.R(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F& +65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this, +this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.qa},function(a,b){var c=a[7].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this)); this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, b){var c=a[0].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this, this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this)); @@ -313,20 +314,20 @@ this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[4].call(th 255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this)); this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K& 255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<< -8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Fg=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c= -a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.oa}, -function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F& -65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.oa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+ -this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[2].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a, -b){var c=a[2].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.oa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-= -this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[3].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.P(this.D,this.L()),b.call(this)); -this.S(c);this.A-=this.B.oa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this, -this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[4].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.oa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this, -this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[5].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-= -this.B.$},function(a,b){var c=a[5].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.oa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[6].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.P(this.D, -this.L()),b.call(this));this.S(c);this.A-=this.B.oa},function(a,b){var c=a[6].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a, -b){var c=a[7].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.da},function(a,b){var c=a[7].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.oa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$}, +8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Fg=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c= +a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.qa}, +function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F& +65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.qa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+ +this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a, +b){var c=a[2].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[2].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.qa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-= +this.B.fa},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[3].call(this,this.P(this.D,this.L()),b.call(this)); +this.S(c);this.A-=this.B.qa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this, +this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[4].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.qa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this, +this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-= +this.B.$},function(a,b){var c=a[5].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[5].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.qa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[6].call(this,this.P(this.D, +this.L()),b.call(this));this.S(c);this.A-=this.B.qa},function(a,b){var c=a[6].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a, +b){var c=a[7].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.$},function(a,b){var c=a[7].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.qa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.$}, function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c= a[0].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.M()& 65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c); @@ -364,272 +365,273 @@ a[3].call(this,this.I,b.call(this))},function(a,b){this.G=a[3].call(this,this.G, 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.Z|=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))}], -Hg=[function(){var a=this.ba();16>(a&56)&&(this.Z|=1);Fg[a].call(this,kc,Cd)},function(){var a=this.ba();a&16||(this.Z|=1);Fg[a].call(this,Gg,Cd)},function(){P[this.ba()].call(this,ae)},function(){P[this.ba()].call(this,be)},N,function(){ee.call(this,F(this,2054));this.F=F(this,2086);this.G=F(this,2088);this.I=F(this,2090);this.Y=F(this,2092);this.C=F(this,2094);this.K=F(this,2096);this.J=F(this,2098);this.H=F(this,2100);xb.call(this.fb,F(this,2084),2102);xb.call(this.wa,F(this,2082),2108);xb.call(this.Rb, -F(this,2080),2114);xb.call(this.Xb,F(this,2078),2120);this.mf=this.wa.Bb;gc(this,F(this,2072));I(this,F(this,2074));this.yc=F(this,2126)|F(this,2128)<<16;this.se=this.yc+F(this,2130);this.je.Bm(F(this,2076),2132);this.zc=F(this,2138)|F(this,2140)<<16;this.Od=this.zc+F(this,2142);this.Mf.Bm(F(this,2070),2144);this.A-=195},N,N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, -N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],lc=[function(){this.A-=2+(0>this.fa?0:1);return this.je.va},function(){this.A-=2+(0>this.fa?0:1);return this.Mf.va},function(a){this.Z|=2;this.je.load(a);this.A-=17+(0>this.fa?0: -2);return a},function(a){this.Z|=2;this.Mf.load(a);this.A-=17+(0>this.fa?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.fa?0:2);if(0<=this.sb.load(a,!0)&&2048!=(this.sb.lc&2560)&&(3072==(this.sb.lc&3072)||this.sb.Bb>=(this.wa.va&3)&&this.sb.Bb>=(a&3)))return Ic(this),a;Ec(this);return a},function(a){this.Z|=2;this.A-=14+(0>this.fa?0:2);if(0<=this.sb.load(a,!0)&&512==(this.sb.lc&2560)&&this.sb.Bb>=(this.wa.va&3)&&this.sb.Bb>=(a&3))return Ic(this),a;Ec(this);return a},L,L],mc=[$b,$b,$b,$b, -$b,$b,L,L],kc=mc,Gg=[function(a){0>this.fa?G.call(this):(a=this.se-this.yc,Nc(this,this.fa+2,this.yc),Nc(this,this.fa+4,65280|this.yc>>16),this.A-=11);return a},function(a){0>this.fa?G.call(this):(a=this.Od-this.zc,Nc(this,this.fa+2,this.zc),Nc(this,this.fa+4,65280|this.zc>>16),this.A-=12);return a},function(a){0>this.fa?G.call(this):(this.yc=F(this,this.fa+2)|Lc(this,this.fa+4)<<16,this.se=this.yc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.fa?G.call(this):(this.zc=F(this,this.fa+2)|Lc(this, -this.fa+4)<<16,this.Od=this.zc+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.fa?0:1);return this.Hc},L,function(a){ee.call(this,a);this.A-=0>this.fa?3:6;this.Z|=2;return a},L];function bc(){Hg[this.ba()].call(this)}function dc(){K(this,this.Y);this.A-=this.B.cc}function Jb(){var a=this.Y;K(this,this.H);K(this,this.J);K(this,this.K);K(this,this.C);K(this,a);K(this,this.I);K(this,this.G);K(this,this.F);this.A-=this.B.Ck} -function Kb(){this.F=this.Ba();this.G=this.Ba();this.I=this.Ba();this.Y+=2;this.C=this.Ba();this.K=this.Ba();this.J=this.Ba();this.H=this.Ba();this.A-=this.B.Ak}function Lb(){P[this.ba()].call(this,Zd)}function cc(){O[this.ba()].call(this,$d)}function Mb(){K(this,this.L());this.A-=this.B.cc}function Nb(){P[this.ba()].call(this,Ud)}function Ob(){K(this,this.ba());this.A-=this.B.cc}function Pb(){P[this.ba()].call(this,Td)} -function Qb(){var a=1,b=0,c=5;this.ra&192&&(a=this.J,b=1,this.ra&256&&(c=4));if(a--){var d=Za(this.na,this.K,this.Fa-b-1);Mc(this,this.fb.Zb(this.F,0),d);this.F=this.F+(this.Da&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}} -function Rb(){var a=1,b=0,c=5;this.ra&192&&(a=this.J,b=1,this.ra&256&&(c=4));if(a--){var d=this.Fa-b-1,d=Za(this.na,this.K,d)|Za(this.na,this.K,d)<<8;Nc(this,this.fb.Zb(this.F,1),d);this.F=this.F+(this.Da&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}} -function Sb(){var a=1,b=0,c=5;this.ra&192&&(a=this.J,b=1,this.ra&256&&(c=4));if(a--){var d=Lc(this,this.Xb.Uc(this.G,0));this.G=this.G+(this.Da&1024?-1:1)&65535;this.A-=c;this.J-=b;ab(this.na,this.K,d,this.Fa-b-1);a&&(J(this,-2),this.Z|=256)}} -function Tb(){var a=1,b=0,c=5;this.ra&192&&(a=this.J,b=1,this.ra&256&&(c=4));if(a--){var d=F(this,this.Xb.Uc(this.G,1));this.G=this.G+(this.Da&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Fa-b-1;ab(this.na,this.K,d&255,b);ab(this.na,this.K,d>>8,b);a&&(J(this,-2),this.Z|=256)}}function Ig(){var a=this.M();Bc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Jg(){var a=this.M();Bc(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)} -function Kg(){var a=this.M();wc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Lg(){var a=this.M();wc(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)}function Mg(){var a=this.M();zc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Ng(){var a=this.M();zc(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)}function Og(){var a=this.M();wc(this)||zc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb} -function Pg(){var a=this.M();wc(this)||zc(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)}function Qg(){var a=this.M();Ac(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Rg(){var a=this.M();Ac(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)}function Sg(){var a=this.M();xc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Tg(){var a=this.M();xc(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)} -function Ug(){var a=this.M();!Ac(this)!=!Bc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Vg(){var a=this.M();!Ac(this)==!Bc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Wg(){var a=this.M();zc(this)||!Ac(this)!=!Bc(this)?(I(this,this.sa+a),this.A-=this.B.Gb):this.A-=this.B.Hb}function Xg(){var a=this.M();zc(this)||!Ac(this)!=!Bc(this)?this.A-=this.B.Hb:(I(this,this.sa+a),this.A-=this.B.Gb)} -function Yg(){Eg[this.ba()].call(this,Ed,this.ba);this.A-=0>this.Ca?1:this.B.Jg}function Ub(){Eg[this.ba()].call(this,Nd,Bd)}function Vb(){Fg[this.ba()].call(this,Od,Bd)}function Zg(){var a=this.L();I(this,this.Ba());this.Y=this.Y+a&65535;this.A-=this.B.Hk}function $g(){I(this,this.Ba());this.A-=this.B.Ek} -function Wb(){var a=this.L(),b=this.ba()&31;this.A-=11;K(this,this.I);var c=this.Y;if(0>8,c,d=yc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.aa=65536;c&&(this.X|=this.aa);d?Hc(this):Dc(this);this.A-=this.B.de},function(){Cg[this.ba()].call(this,Zc)},function(){O[this.ba()].call(this,gd)},function(){Dg[this.ba()].call(this,Zc)},function(){P[this.ba()].call(this,gd)},function(){this.H=this.H&-256|Zc.call(this,this.H&255,this.ba());this.A--},function(){this.H=gd.call(this,this.H,this.L());this.A--}, -function(){this.Z|=20;this.D=this.N=this.Xb;this.A-=this.B.Dd},function(){var a=this.H&255,b=this.H>>8,c,d=yc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.aa=65536;c&&(this.X|=this.aa);d?Hc(this):Dc(this);this.A-=this.B.de},function(){this.ia=this.H;this.H=(this.ga=this.H+1)&65535;this.X=this.H|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.J;this.J=(this.ga=this.J+1)&65535;this.X=this.J|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-= -2},function(){this.ia=this.K;this.K=(this.ga=this.K+1)&65535;this.X=this.K|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.C;this.C=(this.ga=this.C+1)&65535;this.X=this.C|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.Y;this.Y=(this.ga=this.Y+1)&65535;this.X=this.Y|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.I;this.I=(this.ga=this.I+1)&65535;this.X=this.I|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia= -this.G;this.G=(this.ga=this.G+1)&65535;this.X=this.G|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.F;this.F=(this.ga=this.F+1)&65535;this.X=this.F|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.H;this.H=(this.ga=this.H-1)&65535;this.X=this.H|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.J;this.J=(this.ga=this.J-1)&65535;this.X=this.J|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.K;this.K= -(this.ga=this.K-1)&65535;this.X=this.K|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.C;this.C=(this.ga=this.C-1)&65535;this.X=this.C|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.Y;this.Y=(this.ga=this.Y-1)&65535;this.X=this.Y|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.I;this.I=(this.ga=this.I-1)&65535;this.X=this.I|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.G;this.G=(this.ga=this.G- -1)&65535;this.X=this.G|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){this.ia=this.F;this.F=(this.ga=this.F-1)&65535;this.X=this.F|(this.X&this.aa?1:0)<<16;this.aa=65536;this.A-=2},function(){K(this,this.H);this.A-=this.B.cc},function(){K(this,this.J);this.A-=this.B.cc},function(){K(this,this.K);this.A-=this.B.cc},function(){K(this,this.C);this.A-=this.B.cc},function(){K(this,this.Y-2&65535);this.A-=this.B.cc},function(){K(this,this.I);this.A-=this.B.cc},function(){K(this,this.G);this.A-= -this.B.cc},function(){K(this,this.F);this.A-=this.B.cc},function(){this.H=this.Ba();this.A-=this.B.Wb},function(){this.J=this.Ba();this.A-=this.B.Wb},function(){this.K=this.Ba();this.A-=this.B.Wb},function(){this.C=this.Ba();this.A-=this.B.Wb},function(){this.Y=this.Ba();this.A-=this.B.Wb},function(){this.I=this.Ba();this.A-=this.B.Wb},function(){this.G=this.Ba();this.A-=this.B.Wb},function(){this.F=this.Ba();this.A-=this.B.Wb},Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Ig,Jg,Kg,Lg,Mg,Ng,Og, -Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,function(){Fg[this.ba()].call(this,Fd,this.L);this.A-=0>this.Ca?1:this.B.Jg},Yg,function(){Fg[this.ba()].call(this,Fd,this.M);this.A-=0>this.Ca?1:this.B.Jg},function(){Cg[this.ba()].call(this,Rd)},function(){O[this.ba()].call(this,Sd)},function(){Dg[this.ag=this.ba()].call(this,ce)},function(){P[this.ag=this.ba()].call(this,de)},function(){this.Z|=1;Cg[this.ba()].call(this,Pd)},function(){this.Z|=1;O[this.ba()].call(this,Pd)},function(){Dg[this.ba()].call(this,Pd)},function(){P[this.ba()].call(this, -Pd)},function(){var a=this.ba();switch((a&56)>>3){case 0:this.nb=this.fb.va;break;case 1:this.nb=this.wa.va;break;case 2:this.nb=this.Rb.va;break;case 3:this.nb=this.Xb.va;break;default:N.call(this);return}this.Z|=1;O[a].call(this,Qd)},function(){this.Z|=1;this.D=this.N=this.Wk;P[this.ba()].call(this,Wd)},function(){var a,b=this.ba(),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.Ea){G.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}}P[b].call(this,Pd);switch(c){case 0:vc(this,this.H);this.H=a;break;case 1:pc(this,this.J);this.J=a;break;case 2:uc(this,this.K);this.K=a;break;case 3:qc(this,this.C);this.C=a;break;case 4:vc(this,this.Y);this.Y=a;break;case 5:pc(this,this.I);this.I=a;break;case 6:uc(this,this.G);this.G=a;break;case 7:qc(this,this.F),this.F=a}},function(){this.Z|=1;Fg[this.ba()].call(this,Gd,this.Ba)},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.Oj},function(){var a= -this.L(),b=this.L();K(this,this.wa.va);K(this,this.sa);fc(this,a,b);this.A-=this.B.Rj},function(){N.call(this)},function(){K(this,ic(this));this.A-=this.B.cc},function(){gc(this,this.Ba());this.A-=this.B.Wb},function(){var a=this.H>>8;a&1?Gc(this):Cc(this);a&4?xc(this)||(this.ga^=1):xc(this)&&(this.ga^=1);a&16?Hc(this):Dc(this);a&64?Ic(this):Ec(this);a&128?Jc(this):Ac(this)&&(this.ga^=this.aa>>1|this.aa>>2,this.ia^=32896);this.A-=this.B.mb},function(){this.H=this.H&255|(ic(this)&213)<<8;this.A-=this.B.mb}, -function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.mi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.mi},function(){var a=this.L(),b=this.H;Mc(this,this.D.Zb(a,0),b);this.A-=this.B.ni},function(){var a=this.L(),b=this.H;Nc(this,this.D.Zb(a,1),b);this.A-=this.B.ni},function(){var a=1,b=0,c=this.B.oi;this.ra&192&&(a=this.J,b=1,c=this.B.qi,this.ra&256||(this.A-=this.B.pi));if(a--){var d=this.Da&1024?-1:1,e=this.T(this.D,this.G);Mc(this,this.fb.Zb(this.F,0),e);this.G=this.G+ -d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ra&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.oi;this.ra&192&&(a=this.J,b=1,c=this.B.qi,this.ra&256||(this.A-=this.B.pi));if(a--){var d=this.Da&1024?-2:2,e=this.U(this.D,this.G);Nc(this,this.fb.Zb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ra&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Zh;this.ra&192&&(a=this.J,b=1,c=this.B.ai,this.ra&256||(this.A-=this.B.$h)); -if(a--){var d=this.Da&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.fb,this.F);Zc.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.eb;this.J-=b;a&&zc(this)==(this.ra&64)&&(J(this,this.ra&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Zh;this.ra&192&&(a=this.J,b=1,c=this.B.ai,this.ra&256||(this.A-=this.B.$h));if(a--){var d=this.Da&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.fb,this.F);gd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c- -this.B.eb;this.J-=b;a&&zc(this)==(this.ra&64)&&(J(this,this.ra&16?-3:-2),this.Z|=256)}},function(){this.X=this.ga=this.ia=this.H&255&this.ba();this.aa=256;this.A-=this.B.de},function(){this.X=this.ga=this.ia=this.H&this.L();this.aa=65536;this.A-=this.B.de},function(){var a=1,b=0,c=this.B.zi;this.ra&192&&(a=this.J,b=1,c=this.B.Bi,this.ra&256||(this.A-=this.B.Ai));if(a--){var d=this.H;Mc(this,this.fb.Zb(this.F,0),d);this.F=this.F+(this.Da&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|= -256)}},function(){var a=1,b=0,c=this.B.zi;this.ra&192&&(a=this.J,b=1,c=this.B.Bi,this.ra&256||(this.A-=this.B.Ai));if(a--){var d=this.H;Nc(this,this.fb.Zb(this.F,1),d);this.F=this.F+(this.Da&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.gi;this.ra&192&&(a=this.J,b=1,c=this.B.ii,this.ra&256||(this.A-=this.B.hi));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Da&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(J(this,this.ra&16?-3:-2), -this.Z|=256))},function(){var a=1,b=0,c=this.B.gi;this.ra&192&&(a=this.J,b=1,c=this.B.ii,this.ra&256||(this.A-=this.B.hi));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Da&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(J(this,this.ra&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.ti;this.ra&192&&(a=this.J,b=1,c=this.B.vi,this.ra&256||(this.A-=this.B.ui));a--&&(Zc.call(this,this.H&255,this.O(this.fb,this.F)),this.F=this.F+(this.Da&1024?-1:1)&65535,this.A-=c-this.B.eb,this.J-=b,a&&zc(this)== -(this.ra&64)&&(J(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.ti;this.ra&192&&(a=this.J,b=1,c=this.B.vi,this.ra&256||(this.A-=this.B.ui));a--&&(gd.call(this,this.H,this.P(this.fb,this.F)),this.F=this.F+(this.Da&1024?-2:2)&65535,this.A-=c-this.B.eb,this.J-=b,a&&zc(this)==(this.ra&64)&&(J(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.ba();this.A-=this.B.mb},function(){this.J=this.J&-256|this.ba();this.A-=this.B.mb},function(){this.K=this.K&-256|this.ba();this.A-=this.B.mb},function(){this.C= -this.C&-256|this.ba();this.A-=this.B.mb},function(){this.H=this.H&255|this.ba()<<8;this.A-=this.B.mb},function(){this.J=this.J&255|this.ba()<<8;this.A-=this.B.mb},function(){this.K=this.K&255|this.ba()<<8;this.A-=this.B.mb},function(){this.C=this.C&255|this.ba()<<8;this.A-=this.B.mb},function(){this.H=this.L();this.A-=this.B.mb},function(){this.J=this.L();this.A-=this.B.mb},function(){this.K=this.L();this.A-=this.B.mb},function(){this.C=this.L();this.A-=this.B.mb},function(){this.Y=this.L();this.A-= -this.B.mb},function(){this.I=this.L();this.A-=this.B.mb},function(){this.G=this.L();this.A-=this.B.mb},function(){this.F=this.L();this.A-=this.B.mb},Zg,$g,Zg,$g,function(){P[this.ba()].call(this,Yd)},function(){P[this.ba()].call(this,Xd)},function(){this.Z|=1;Eg[this.ba()].call(this,Hd,this.ba)},function(){this.Z|=1;Fg[this.ba()].call(this,Hd,this.L)},ah,bh,ah,bh,function(){Qc.call(this,3,null,this.B.hk)},function(){var a=this.ba(),b;a:{b=this.hl[a];if(void 0!==b)for(var c=0;c>8)*a+this.H&255;this.aa=256;this.A-=this.B.Kj},function(){this.H=this.H&-256|(wc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Jk},ch,ch,ch,ch,ch,ch,ch,ch,function(){var a=this.M();(this.J=this.J-1&65535)&&this.X&this.aa-1?(I(this,this.sa+a),this.A-=this.B.qk):this.A-=this.B.ji},function(){var a=this.M();!(this.J=this.J-1&65535)||this.X&this.aa-1?this.A-=this.B.li: -(I(this,this.sa+a),this.A-=this.B.ki)},function(){var a=this.M();(this.J=this.J-1&65535)?(I(this,this.sa+a),this.A-=this.B.pk):this.A-=this.B.ji},function(){var a=this.M();this.J?this.A-=this.B.li:(I(this,this.sa+a),this.A-=this.B.ki)},function(){var a=this.ba();this.H=this.H&-256|Za(this.na,a,this.Fa-2);this.A-=this.B.di},function(){var a=this.ba();this.H=Za(this.na,a,this.Fa-1)|Za(this.na,a+1&65535,this.Fa-2)<<8;this.A-=this.B.di},function(){var a=this.ba();ab(this.na,a,this.H&255,this.Fa-2);this.A-= -this.B.si},function(){var a=this.ba();ab(this.na,a,this.H&255,this.Fa-2);ab(this.na,a+1&65535,this.H>>8,this.Fa-2);this.A-=this.B.si},function(){var a=this.L();K(this,this.sa);I(this,this.sa+a);this.A-=this.B.Pj},function(){var a=this.L();I(this,this.sa+a);this.A-=this.B.ei},function(){fc(this,this.L(),this.L());this.A-=this.B.lk},function(){var a=this.M();I(this,this.sa+a);this.A-=this.B.ei},function(){this.H=this.H&-256|Za(this.na,this.K,this.Fa-1);this.A-=this.B.ci},function(){this.H=Za(this.na, -this.K,this.Fa-1)|Za(this.na,this.K+1&65535,this.Fa-1)<<8;this.A-=this.B.ci},function(){ab(this.na,this.K,this.H&255,this.Fa-1);this.A-=this.B.ri},function(){ab(this.na,this.K,this.H&255,this.Fa-1);ab(this.na,this.K+1&65535,this.H>>8,this.Fa-1);this.A-=this.B.ri},dh,dh,function(){this.Z|=132;this.A-=this.B.Dd},function(){this.Z|=68;this.A-=this.B.Dd},function(){this.Ya|=4;this.A-=2;this.Da&512||jb(this)},function(){wc(this)?Cc(this):Gc(this);this.A-=2},function(){this.nb=-1;Eg[this.ba()].call(this, -Ld,Cd);0<=this.nb&&(this.H=this.nb)},function(){this.nb=-1;Fg[this.ba()].call(this,Md,Cd);0<=this.nb&&(this.H=this.nb,this.K=this.Hf)},function(){this.X&=~this.aa;this.A-=2},function(){this.X|=this.aa;this.A-=2},function(){this.Da&=-513;this.A-=this.B.Nj},function(){this.Da|=512;this.Z|=4;this.A-=2},function(){this.Da&=-1025;this.A-=2},function(){this.Da|=1024;this.A-=2},function(){Eg[this.ba()].call(this,Zb,Cd)},function(){Fg[this.ba()].call(this,ac,Cd)}]; -function Q(a){w.call(this,"ChipSet",a,Q);this.Ea=a.model;this.Ea=void 0!==this.Ea?parseInt(this.Ea,10):eh;this.Ib=0;var b=a.sw1;if(b)this.Ib=fh(b,gh|hh.el);else{this.jd=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.jd=b);if(b=this.jd.length)this.Ib|=ih.Zg,b--,this.Ib|=(b&3)<=jh&&(this.Ye=this.Ze=2);this.sg=a.scaleTimers||!1; -this.Sn=a.rtcDate;this.wj=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.nh=new webkitAudioContext);this.reset(!0);this.Ka()}y(w,Q);var eh=5150,jh=5170,kh={none:0,tv:1,color:2,mono:3,ega:0},ih={Zg:1,ONE:0,xo:64,vo:128,eo:192,Ne:192,Oe:6},gh=12,hh={wo:16,Zn:32,el:48,Ne:48,Oe:4};h=Q.prototype; -h.tb=function(a,b,c,d){switch(c){case "sw1":return this.pa[c]=d,lh(this,c,d,this.Ib,{0:this.Ea==eh?"Bootable Floppy Drive":"Loop on POST",1:this.Ea==eh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ea==eh)return this.pa[c]=d,lh(this,c,d,this.Jd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.pa[c]=d,!0}return!1}; -h.jc=function(a,b,c,d){this.na=b;this.ja=c;this.Na=d;this.Ga=a;this.Ta=D(a,"Keyboard");this.Kk=Math.round(c.cd/1193181);Ya(b,this,mh);$a(b,this,nh);this.Ea=jh){this.ab=16;this.Sc=0;this.ld=16;this.Xf=0;this.Qd=160;512<=wh(this)&&(this.Qd|=16);3==xh(this)&&(this.Qd|=64);this.fh=3;this.$f=0;this.Kb=Array(7);this.te=0;a&&(this.la=Array(64)); -yh(this,this.Sn);for(a=21;24>=a;a++)this.la[a]=0;for(a=14;46>a;a++)void 0===this.la[a]&&(this.la[a]=0);this.la[20]=this.Ic&(hh.Ne|2|ih.Zg|ih.Ne);this.la[16]=zh(this,0)<<4|zh(this,1);Ah(this)}}; -function yh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ec("CMOS date invalid ("+b+"), using "+c)):b&&a.ec("CMOS date: "+c);a.la[0]=c.getSeconds();a.la[1]=0;a.la[2]=c.getMinutes();a.la[3]=0;a.la[4]=c.getHours();a.la[5]=0;a.la[6]=c.getDay()+1;a.la[7]=c.getDate();a.la[8]=c.getMonth()+1;c=c.getFullYear();a.la[9]=c%100;c/=100;a.la[50]=c%10|c/10<<4;a.nf=-1;a.la[10]=38;a.la[11]=2;a.la[12]=0;a.la[13]=128} -function Ah(a){for(var b=0,c=16;46>c;c++)b+=a.la[c];a.la[47]=b&255;a.la[46]=b>>8} -h.save=function(){var a=new H(this);a.set(0,[this.Ib,this.Jd,this.Ic,this.me]);for(var b=[],c=0;c=jh&&(a.set(5,[this.ab,this.Sc,this.ld,this.Xf,this.Qd,this.fh]),a.set(6,[this.$f,this.Kb,this.te,this.la,this.nf]));return a.data()}; -h.restore=function(a){var b,c;b=a[0];this.Ib=b[0];this.Jd=b[1];this.Ic=b[2];this.me=b[3];b=a[1];this.Qa=Array(this.Ye);for(c=0;c>2)+1)*a.Am+32*((b?a.Jd:a.me)&15)}function Dh(a,b){var c=b?a.Ib:a.Ic;return a.Ea!=eh||c&ih.Zg?((c&ih.Ne)>>ih.Oe)+1:0} -function zh(a,b){if(b>hh.Oe} -function lh(a,b,c,d,e){for(var f="",l=1;8>=l;l++){var g="pcjs-bitCell";l||(g+=" pcjs-bitCellLeft");f+='
'+l+"
\n"}c.innerHTML=f;b=C(c,"pcjs-bitCell");c=null;for(l=0;l>2].ob[b&3],c,d,e)}function Mh(a,b,c){b=a.Qa[b>>2].ob[b&3];b.hg&&b.Gh&&b.Lg?(c&&(b.ig=c),b.bd||Rc(a,b,!0)):c&&c(!0)} -function Rc(a,b,c){c&&(b.count=b.Ub[1]<<8|b.Ub[0],b.$k=b.mode&12,b.xj=b.Yc=!1);for(var d=!1;0<=b.count&&(c=b.dg<<16|b.vb[1]<<8|b.vb[0],4==b.$k?(d=!0,function(c){b.Gh.call(b.hg,b.Lg,-1,function(f,l){0>f&&(b.xj||(b.xj=!0),f=255);b.bd||Va(a.na,c,f);(d=l)&&setTimeout(function(){Rh(b)||Rc(a,b)},0)})}(c)):8==b.$k?(c=Ta(a.na,c),0>b.Gh.call(b.hg,b.Lg,c)&&(b.Yc=!0)):b.Yc=!0),!d&&!Rh(b););} -function Rh(a){if(!a.Yc&&0<=--a.count&&(a.mode&32?(a.vb[0]--,0>a.vb[0]&&(a.vb[0]=255,a.vb[1]--,0>a.vb[1]&&(a.vb[1]=255))):(a.vb[0]++,255>3,e=a.pb[d];e.xb|=1<<(b&7);e.uf=c||0;1==d&&(a.pb[0].xb|=4);Uh(a,d)}function ai(a,b){var c=b>>3,d=a.pb[c],e=1<<(b&7);d.xb&e&&(d.xb&=~e,1!=c||d.xb||(a.pb[0].xb&=-5),Uh(a,c))} -function Pc(a,b){void 0===b&&(b=0);var c=-1,d=a.pb[b];if(d.uf)c=-2,d.uf--;else for(var e=d.xb&((d.Ac|d.od)^255),f=d.Rd+1;;){var f=f&7,l=1<>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var l=this.Jb[c];l.If=f;l.mode=e;l.lj=d;l.pc=[0,0];l.Ub=[0,0];l.cf=[0,0];l.Kc=!1;l.hf=!1;l.we=!1;ci(this,c);0==c&&ai(this,0);2==c&&255==this.pb[0].od&&77==this.ic&&(c=this.Jb[0],c.Ec[0]=c.pc[0],c.Ec[1]=c.pc[1],c.Gd=ob(this.ja,this.sg))}else di(this,c),d=this.Jb[c],d.cf[0]=d.Ub[0],d.cf[1]=d.Ub[1],d.hf=!0,ci(this,c)}};function fi(a,b){var c=a.Jb[b],d=c.pc[1]<<8|c.pc[0];d||(d=1==c.Yd?256:65536);return d} -function ci(a,b){var c=a.Jb[b];c.td=32==c.If?1:0;c.Yd=48==c.If?2:1} -function di(a,b,c){var d=a.Jb[b];if(d.we&&(2!=b||a.ic&1)){var e=ob(a.ja,a.sg),f=(e-d.Gd)/a.Kk|0;0>f&&(d.Gd=e,f=0);var l=fi(a,b),g=a.Jb[b],m=g.Ec[1]<<8|g.Ec[0];m||(m=1==g.Yd?256:65536);g=m-f;0==d.mode?(0>=g&&(g=0),g||(d.Kc=!0,d.we=!1,b||$h(a,0))):4==d.mode?(d.Kc=1!=g,0>=g&&(g=l+g,0>=g&&(g=l),d.Ec[0]=g&255,d.Ec[1]=g>>8,d.Gd=e,!b&&d.Kc&&$h(a,0))):6==d.mode&&(g-=f,0>=g&&(d.Kc=!d.Kc,g=l+g,0>=g&&(g=l),d.Ec[0]=g&255,d.Ec[1]=g>>8,d.Gd=e,!b&&d.Kc&&$h(a,0)));d.Ub[0]=g&255;d.Ub[1]=g>>8;c&&(a.Gd=0)}return d} -function qb(a,b){for(var c=0;c=jh){var c=0,d=a.ja.cd,e=ob(a.ja,a.sg);if(0<=a.nf&&(c=e-a.nf,Math.floor(c/d)&&60<=++a.la[0]&&(a.la[0]=0,60<=++a.la[2]&&(a.la[2]=0,24<=++a.la[4])))){a.la[4]=0;a.la[6]=a.la[6]%7+1;var f=a.la[9],l=ia[a.la[8]-1];28==l&&0===f%4&&(f%100||0===f%400)&&l++;++a.la[7]>l&&(a.la[7]=1,12<++a.la[8]&&(a.la[8]=1,a.la[9]=(a.la[9]+1)%100))}a.nf=e-c%d}}h.om=function(){var a=this.cg;this.Xe&16&&(this.ic&128?a=this.Ic:this.Ta&&(a=gi(this.Ta)));return a}; -h.yn=function(a,b){this.cg=b};h.pm=function(){return this.ic};h.zn=function(a,b){hi(this,b);this.Ta&&ii(this.Ta,b&128?!1:!0,b&64?!0:!1)};function hi(a,b){var c=!!(b&2),d=!!(a.ic&2);a.ic=b;c!=d&&pb(a,c)}h.qm=function(){var a=0,a=this.Ea==eh?this.ic&4?a|this.me&15:a|this.me>>4&1:this.ic&8?a|this.Ic>>4:a|this.Ic&15;this.ic&1&&di(this,2).Kc&&(a=this.ic&2?a|32:a|16);return a};h.An=function(a,b){this.hh=b};h.rm=function(){return this.Xe};h.Bn=function(a,b){this.Xe=b}; -h.Fl=function(){var a=this.Xf;this.ab&=-258;var b=this.Ta&&gi(this.Ta,!0);b&&ji(this,b);return a};h.Rm=function(a,b){if(this.ab&8)switch(this.Sc){case 96:ki(this,b);break;case 209:li(this,b);break;default:if(ki(this,this.ld&-17),this.Ta){var c=-1;switch(b){case 255:c=250,mi(this.Ta)}ji(this,c)}}this.Sc=b;this.ab&=-9};h.Gl=function(){return this.ic&-209|(ob(this.ja)&64?16:0)};h.Sm=function(a,b){hi(this,b)};h.Hl=function(){var a=this.ab&255;this.ab&256&&(this.ab|=1,this.ab&=-257);return a}; -h.Qm=function(a,b){this.Sc=b;this.ab|=8;var c=0;240<=this.Sc&&(c=this.Sc^15,this.Sc=240);switch(this.Sc){case 192:ji(this,this.Qd);break;case 173:ki(this,this.ld|16);break;case 174:ki(this,this.ld&-17);break;case 170:this.Ta&&ni(this.Ta,!0);ki(this,this.ld|16);ji(this,85);li(this,3);break;case 224:ji(this,this.ld&16?0:1);break;case 240:c&1&&ec(this.ja)}};function ki(a,b){a.ld=b;a.ab=a.ab&-5|b&4;a.Ta&&ii(a.Ta,!!(b&8),!(b&16))&&ji(a,gi(a.Ta,!0))}function ji(a,b){0<=b&&(a.Xf=b,a.ab&=-2,a.ab|=256)} -function li(a,b){a.fh=b;Oa(a.na,!!(b&2));b&1||ec(a.ja)}h.Vl=function(){return this.te};h.fn=function(a,b){this.te=b;this.bg=b&128?0:128};h.Wl=function(){var a=this.te&63;if(13>=a){var b=this.la[a];if(10>a){var c=!1;4!=a&&5!=a||this.la[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.la[11]&4||(c&&128=c){if(e=b,10>c){var f=!1;this.la[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};h.mm=function(){return this.$f};h.vn=function(a,b){this.$f=b};h.xn=function(a,b){this.bg=b};function fh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.jb[c++]=f[b]>>16&255,this.jb[c++]=f[b]>>24&255;else this.jb=d;this.eh=d.symbols;if(!this.jb.length){t("Empty ROM: "+a);return}if(1==this.jb.length){t(this.jb[0]);return}}catch(l){this.ya("ROM data error: "+ -l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.jb=Array(a.length),d=0;dthis.Wf?21:23,c=a.la[b]|a.la[b+1]<<8,c=c+(this.gd>>10);a.la[b]=c&255;a.la[b+1]=c>>8;Ah(a)}}else t("No RAM allocated")}; -u(function(){for(var a=C(window.document,"pcjs","ram"),b=0;b(a&56)&&(this.Z|=1);Fg[a].call(this,kc,Cd)},function(){var a=this.ca();a&16||(this.Z|=1);Fg[a].call(this,Gg,Cd)},function(){P[this.ca()].call(this,ae)},function(){P[this.ca()].call(this,be)},N,function(){this.xa.rc?Bb.call(this,13,0):(ee.call(this,F(this,2054)),this.F=F(this,2086),this.G=F(this,2088),this.I=F(this,2090),this.Y=F(this,2092),this.C=F(this,2094),this.K=F(this,2096),this.J=F(this,2098),this.H=F(this,2100),Eb(this.hb,F(this,2084),2102),Eb(this.xa,F(this, +2082),2108),Eb(this.Sb,F(this,2080),2114),Eb(this.Yb,F(this,2078),2120),gc(this,F(this,2072)),I(this,F(this,2074)),this.Ac=F(this,2126)|F(this,2128)<<16,this.we=this.Ac+F(this,2130),Eb(this.ne,F(this,2076),2132),this.Bc=F(this,2138)|F(this,2140)<<16,this.Rd=this.Bc+F(this,2142),Eb(this.Of,F(this,2070),2144),this.A-=195)},N,N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, +N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],lc=[function(){this.A-=2+(0>this.ga?0:1);return this.ne.Aa},function(){this.A-=2+(0>this.ga?0:1);return this.Of.Aa},function(a){this.Z|=2;this.ne.load(a);this.A-=17+(0>this.ga?0: +2);return a},function(a){this.Z|=2;this.Of.load(a);this.A-=17+(0>this.ga?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ga?0:2);if(0<=this.ub.load(a,!0)&&2048!=(this.ub.xb&2560)&&(this.ub.kc>=this.xa.rc&&this.ub.kc>=(a&3)||7168==(this.ub.xb&7168)))return Ic(this),a;Ec(this);return a},function(a){this.Z|=2;this.A-=14+(0>this.ga?0:2);if(0<=this.ub.load(a,!0)&&512==(this.ub.xb&2560)&&this.ub.kc>=this.xa.rc&&this.ub.kc>=(a&3))return Ic(this),a;Ec(this);return a},L,L],mc=[$b,$b,$b,$b,$b,$b,L, +L],kc=mc,Gg=[function(a){0>this.ga?G.call(this):(a=this.we-this.Ac,Nc(this,this.ga+2,this.Ac),Nc(this,this.ga+4,65280|this.Ac>>16),this.A-=11);return a},function(a){0>this.ga?G.call(this):(a=this.Rd-this.Bc,Nc(this,this.ga+2,this.Bc),Nc(this,this.ga+4,65280|this.Bc>>16),this.A-=12);return a},function(a){0>this.ga?G.call(this):(this.Ac=F(this,this.ga+2)|Lc(this,this.ga+4)<<16,this.we=this.Ac+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ga?G.call(this):(this.Bc=F(this,this.ga+2)|Lc(this,this.ga+ +4)<<16,this.Rd=this.Bc+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ga?0:1);return this.Jc},L,function(a){ee.call(this,a);this.A-=0>this.ga?3:6;this.Z|=2;return a},L];function bc(){Hg[this.ca()].call(this)}function dc(){K(this,this.Y);this.A-=this.B.dc}function Jb(){var a=this.Y;K(this,this.H);K(this,this.J);K(this,this.K);K(this,this.C);K(this,a);K(this,this.I);K(this,this.G);K(this,this.F);this.A-=this.B.Gk} +function Kb(){this.F=this.Da();this.G=this.Da();this.I=this.Da();this.Y+=2;this.C=this.Da();this.K=this.Da();this.J=this.Da();this.H=this.Da();this.A-=this.B.Ek}function Lb(){P[this.ca()].call(this,Zd)}function cc(){O[this.ca()].call(this,$d)}function Mb(){K(this,this.L());this.A-=this.B.dc}function Nb(){P[this.ca()].call(this,Ud)}function Ob(){K(this,this.ca());this.A-=this.B.dc}function Pb(){P[this.ca()].call(this,Td)} +function Qb(){var a=1,b=0,c=5;this.ta&192&&(a=this.J,b=1,this.ta&256&&(c=4));if(a--){var d=Za(this.pa,this.K,this.Ha-b-1);Mc(this,this.hb.$b(this.F,0),d);this.F=this.F+(this.Fa&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}} +function Rb(){var a=1,b=0,c=5;this.ta&192&&(a=this.J,b=1,this.ta&256&&(c=4));if(a--){var d=this.Ha-b-1,d=Za(this.pa,this.K,d)|Za(this.pa,this.K,d)<<8;Nc(this,this.hb.$b(this.F,1),d);this.F=this.F+(this.Fa&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}} +function Sb(){var a=1,b=0,c=5;this.ta&192&&(a=this.J,b=1,this.ta&256&&(c=4));if(a--){var d=Lc(this,this.Yb.Yc(this.G,0));this.G=this.G+(this.Fa&1024?-1:1)&65535;this.A-=c;this.J-=b;ab(this.pa,this.K,d,this.Ha-b-1);a&&(J(this,-2),this.Z|=256)}} +function Tb(){var a=1,b=0,c=5;this.ta&192&&(a=this.J,b=1,this.ta&256&&(c=4));if(a--){var d=F(this,this.Yb.Yc(this.G,1));this.G=this.G+(this.Fa&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ha-b-1;ab(this.pa,this.K,d&255,b);ab(this.pa,this.K,d>>8,b);a&&(J(this,-2),this.Z|=256)}}function Ig(){var a=this.M();Bc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Jg(){var a=this.M();Bc(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)} +function Kg(){var a=this.M();wc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Lg(){var a=this.M();wc(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)}function Mg(){var a=this.M();zc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Ng(){var a=this.M();zc(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)}function Og(){var a=this.M();wc(this)||zc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib} +function Pg(){var a=this.M();wc(this)||zc(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)}function Qg(){var a=this.M();Ac(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Rg(){var a=this.M();Ac(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)}function Sg(){var a=this.M();xc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Tg(){var a=this.M();xc(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)} +function Ug(){var a=this.M();!Ac(this)!=!Bc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Vg(){var a=this.M();!Ac(this)==!Bc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Wg(){var a=this.M();zc(this)||!Ac(this)!=!Bc(this)?(I(this,this.ua+a),this.A-=this.B.Hb):this.A-=this.B.Ib}function Xg(){var a=this.M();zc(this)||!Ac(this)!=!Bc(this)?this.A-=this.B.Ib:(I(this,this.ua+a),this.A-=this.B.Hb)} +function Yg(){Eg[this.ca()].call(this,Ed,this.ca);this.A-=0>this.Ea?1:this.B.Lg}function Ub(){Eg[this.ca()].call(this,Nd,Bd)}function Vb(){Fg[this.ca()].call(this,Od,Bd)}function Zg(){var a=this.L();I(this,this.Da());this.Y=this.Y+a&65535;this.A-=this.B.Lk}function $g(){I(this,this.Da());this.A-=this.B.Ik} +function Wb(){var a=this.L(),b=this.ca()&31;this.A-=11;K(this,this.I);var c=this.Y;if(0>8,c,d=yc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.ba=65536;c&&(this.X|=this.ba);d?Hc(this):Dc(this);this.A-=this.B.he},function(){Cg[this.ca()].call(this,Zc)},function(){O[this.ca()].call(this,gd)},function(){Dg[this.ca()].call(this,Zc)},function(){P[this.ca()].call(this,gd)},function(){this.H=this.H&-256|Zc.call(this,this.H&255,this.ca());this.A--},function(){this.H=gd.call(this,this.H,this.L());this.A--}, +function(){this.Z|=20;this.D=this.N=this.Yb;this.A-=this.B.Gd},function(){var a=this.H&255,b=this.H>>8,c,d=yc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.ba=65536;c&&(this.X|=this.ba);d?Hc(this):Dc(this);this.A-=this.B.he},function(){this.ja=this.H;this.H=(this.ha=this.H+1)&65535;this.X=this.H|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.J;this.J=(this.ha=this.J+1)&65535;this.X=this.J|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-= +2},function(){this.ja=this.K;this.K=(this.ha=this.K+1)&65535;this.X=this.K|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.C;this.C=(this.ha=this.C+1)&65535;this.X=this.C|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.Y;this.Y=(this.ha=this.Y+1)&65535;this.X=this.Y|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.I;this.I=(this.ha=this.I+1)&65535;this.X=this.I|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja= +this.G;this.G=(this.ha=this.G+1)&65535;this.X=this.G|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.F;this.F=(this.ha=this.F+1)&65535;this.X=this.F|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.H;this.H=(this.ha=this.H-1)&65535;this.X=this.H|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.J;this.J=(this.ha=this.J-1)&65535;this.X=this.J|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.K;this.K= +(this.ha=this.K-1)&65535;this.X=this.K|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.C;this.C=(this.ha=this.C-1)&65535;this.X=this.C|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.Y;this.Y=(this.ha=this.Y-1)&65535;this.X=this.Y|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.I;this.I=(this.ha=this.I-1)&65535;this.X=this.I|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.G;this.G=(this.ha=this.G- +1)&65535;this.X=this.G|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){this.ja=this.F;this.F=(this.ha=this.F-1)&65535;this.X=this.F|(this.X&this.ba?1:0)<<16;this.ba=65536;this.A-=2},function(){K(this,this.H);this.A-=this.B.dc},function(){K(this,this.J);this.A-=this.B.dc},function(){K(this,this.K);this.A-=this.B.dc},function(){K(this,this.C);this.A-=this.B.dc},function(){K(this,this.Y-2&65535);this.A-=this.B.dc},function(){K(this,this.I);this.A-=this.B.dc},function(){K(this,this.G);this.A-= +this.B.dc},function(){K(this,this.F);this.A-=this.B.dc},function(){this.H=this.Da();this.A-=this.B.Xb},function(){this.J=this.Da();this.A-=this.B.Xb},function(){this.K=this.Da();this.A-=this.B.Xb},function(){this.C=this.Da();this.A-=this.B.Xb},function(){this.Y=this.Da();this.A-=this.B.Xb},function(){this.I=this.Da();this.A-=this.B.Xb},function(){this.G=this.Da();this.A-=this.B.Xb},function(){this.F=this.Da();this.A-=this.B.Xb},Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Ig,Jg,Kg,Lg,Mg,Ng,Og, +Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,function(){Fg[this.ca()].call(this,Fd,this.L);this.A-=0>this.Ea?1:this.B.Lg},Yg,function(){Fg[this.ca()].call(this,Fd,this.M);this.A-=0>this.Ea?1:this.B.Lg},function(){Cg[this.ca()].call(this,Rd)},function(){O[this.ca()].call(this,Sd)},function(){Dg[this.cg=this.ca()].call(this,ce)},function(){P[this.cg=this.ca()].call(this,de)},function(){this.Z|=1;Cg[this.ca()].call(this,Pd)},function(){this.Z|=1;O[this.ca()].call(this,Pd)},function(){Dg[this.ca()].call(this,Pd)},function(){P[this.ca()].call(this, +Pd)},function(){var a=this.ca();switch((a&56)>>3){case 0:this.pb=this.hb.Aa;break;case 1:this.pb=this.xa.Aa;break;case 2:this.pb=this.Sb.Aa;break;case 3:this.pb=this.Yb.Aa;break;default:N.call(this);return}this.Z|=1;O[a].call(this,Qd)},function(){this.Z|=1;this.D=this.N=this.$k;P[this.ca()].call(this,Wd)},function(){var a,b=this.ca(),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.Ga){G.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}}P[b].call(this,Pd);switch(c){case 0:vc(this,this.H);this.H=a;break;case 1:pc(this,this.J);this.J=a;break;case 2:uc(this,this.K);this.K=a;break;case 3:qc(this,this.C);this.C=a;break;case 4:vc(this,this.Y);this.Y=a;break;case 5:pc(this,this.I);this.I=a;break;case 6:uc(this,this.G);this.G=a;break;case 7:qc(this,this.F),this.F=a}},function(){this.Z|=1;Fg[this.ca()].call(this,Gd,this.Da)},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.Sj},function(){var a= +this.L(),b=this.L();K(this,this.xa.Aa);K(this,this.ua);fc(this,a,b);this.A-=this.B.Vj},function(){N.call(this)},function(){K(this,ic(this));this.A-=this.B.dc},function(){gc(this,this.Da());this.A-=this.B.Xb},function(){var a=this.H>>8;a&1?Gc(this):Cc(this);a&4?xc(this)||(this.ha^=1):xc(this)&&(this.ha^=1);a&16?Hc(this):Dc(this);a&64?Ic(this):Ec(this);a&128?Jc(this):Ac(this)&&(this.ha^=this.ba>>1|this.ba>>2,this.ja^=32896);this.A-=this.B.ob},function(){this.H=this.H&255|(ic(this)&213)<<8;this.A-=this.B.ob}, +function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.qi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.qi},function(){var a=this.L(),b=this.H;Mc(this,this.D.$b(a,0),b);this.A-=this.B.ri},function(){var a=this.L(),b=this.H;Nc(this,this.D.$b(a,1),b);this.A-=this.B.ri},function(){var a=1,b=0,c=this.B.si;this.ta&192&&(a=this.J,b=1,c=this.B.ui,this.ta&256||(this.A-=this.B.ti));if(a--){var d=this.Fa&1024?-1:1,e=this.T(this.D,this.G);Mc(this,this.hb.$b(this.F,0),e);this.G=this.G+ +d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ta&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.si;this.ta&192&&(a=this.J,b=1,c=this.B.ui,this.ta&256||(this.A-=this.B.ti));if(a--){var d=this.Fa&1024?-2:2,e=this.U(this.D,this.G);Nc(this,this.hb.$b(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ta&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ci;this.ta&192&&(a=this.J,b=1,c=this.B.ei,this.ta&256||(this.A-=this.B.di)); +if(a--){var d=this.Fa&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.hb,this.F);Zc.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.gb;this.J-=b;a&&zc(this)==(this.ta&64)&&(J(this,this.ta&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ci;this.ta&192&&(a=this.J,b=1,c=this.B.ei,this.ta&256||(this.A-=this.B.di));if(a--){var d=this.Fa&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.hb,this.F);gd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c- +this.B.gb;this.J-=b;a&&zc(this)==(this.ta&64)&&(J(this,this.ta&16?-3:-2),this.Z|=256)}},function(){this.X=this.ha=this.ja=this.H&255&this.ca();this.ba=256;this.A-=this.B.he},function(){this.X=this.ha=this.ja=this.H&this.L();this.ba=65536;this.A-=this.B.he},function(){var a=1,b=0,c=this.B.Di;this.ta&192&&(a=this.J,b=1,c=this.B.Fi,this.ta&256||(this.A-=this.B.Ei));if(a--){var d=this.H;Mc(this,this.hb.$b(this.F,0),d);this.F=this.F+(this.Fa&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|= +256)}},function(){var a=1,b=0,c=this.B.Di;this.ta&192&&(a=this.J,b=1,c=this.B.Fi,this.ta&256||(this.A-=this.B.Ei));if(a--){var d=this.H;Nc(this,this.hb.$b(this.F,1),d);this.F=this.F+(this.Fa&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ki;this.ta&192&&(a=this.J,b=1,c=this.B.mi,this.ta&256||(this.A-=this.B.li));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Fa&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(J(this,this.ta&16?-3:-2), +this.Z|=256))},function(){var a=1,b=0,c=this.B.ki;this.ta&192&&(a=this.J,b=1,c=this.B.mi,this.ta&256||(this.A-=this.B.li));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Fa&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(J(this,this.ta&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.xi;this.ta&192&&(a=this.J,b=1,c=this.B.zi,this.ta&256||(this.A-=this.B.yi));a--&&(Zc.call(this,this.H&255,this.O(this.hb,this.F)),this.F=this.F+(this.Fa&1024?-1:1)&65535,this.A-=c-this.B.gb,this.J-=b,a&&zc(this)== +(this.ta&64)&&(J(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.xi;this.ta&192&&(a=this.J,b=1,c=this.B.zi,this.ta&256||(this.A-=this.B.yi));a--&&(gd.call(this,this.H,this.P(this.hb,this.F)),this.F=this.F+(this.Fa&1024?-2:2)&65535,this.A-=c-this.B.gb,this.J-=b,a&&zc(this)==(this.ta&64)&&(J(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.ca();this.A-=this.B.ob},function(){this.J=this.J&-256|this.ca();this.A-=this.B.ob},function(){this.K=this.K&-256|this.ca();this.A-=this.B.ob},function(){this.C= +this.C&-256|this.ca();this.A-=this.B.ob},function(){this.H=this.H&255|this.ca()<<8;this.A-=this.B.ob},function(){this.J=this.J&255|this.ca()<<8;this.A-=this.B.ob},function(){this.K=this.K&255|this.ca()<<8;this.A-=this.B.ob},function(){this.C=this.C&255|this.ca()<<8;this.A-=this.B.ob},function(){this.H=this.L();this.A-=this.B.ob},function(){this.J=this.L();this.A-=this.B.ob},function(){this.K=this.L();this.A-=this.B.ob},function(){this.C=this.L();this.A-=this.B.ob},function(){this.Y=this.L();this.A-= +this.B.ob},function(){this.I=this.L();this.A-=this.B.ob},function(){this.G=this.L();this.A-=this.B.ob},function(){this.F=this.L();this.A-=this.B.ob},Zg,$g,Zg,$g,function(){P[this.ca()].call(this,Yd)},function(){P[this.ca()].call(this,Xd)},function(){this.Z|=1;Eg[this.ca()].call(this,Hd,this.ca)},function(){this.Z|=1;Fg[this.ca()].call(this,Hd,this.L)},ah,bh,ah,bh,function(){Qc.call(this,3,null,this.B.lk)},function(){var a=this.ca(),b;a:{b=this.ll[a];if(void 0!==b)for(var c=0;c>8)*a+this.H&255;this.ba=256;this.A-=this.B.Oj},function(){this.H=this.H&-256|(wc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Nk},ch,ch,ch,ch,ch,ch,ch,ch,function(){var a=this.M();(this.J=this.J-1&65535)&&this.X&this.ba-1?(I(this,this.ua+a),this.A-=this.B.uk):this.A-=this.B.ni},function(){var a=this.M();!(this.J=this.J-1&65535)||this.X&this.ba-1?this.A-=this.B.pi: +(I(this,this.ua+a),this.A-=this.B.oi)},function(){var a=this.M();(this.J=this.J-1&65535)?(I(this,this.ua+a),this.A-=this.B.tk):this.A-=this.B.ni},function(){var a=this.M();this.J?this.A-=this.B.pi:(I(this,this.ua+a),this.A-=this.B.oi)},function(){var a=this.ca();this.H=this.H&-256|Za(this.pa,a,this.Ha-2);this.A-=this.B.hi},function(){var a=this.ca();this.H=Za(this.pa,a,this.Ha-1)|Za(this.pa,a+1&65535,this.Ha-2)<<8;this.A-=this.B.hi},function(){var a=this.ca();ab(this.pa,a,this.H&255,this.Ha-2);this.A-= +this.B.wi},function(){var a=this.ca();ab(this.pa,a,this.H&255,this.Ha-2);ab(this.pa,a+1&65535,this.H>>8,this.Ha-2);this.A-=this.B.wi},function(){var a=this.L();K(this,this.ua);I(this,this.ua+a);this.A-=this.B.Tj},function(){var a=this.L();I(this,this.ua+a);this.A-=this.B.ii},function(){fc(this,this.L(),this.L());this.A-=this.B.pk},function(){var a=this.M();I(this,this.ua+a);this.A-=this.B.ii},function(){this.H=this.H&-256|Za(this.pa,this.K,this.Ha-1);this.A-=this.B.gi},function(){this.H=Za(this.pa, +this.K,this.Ha-1)|Za(this.pa,this.K+1&65535,this.Ha-1)<<8;this.A-=this.B.gi},function(){ab(this.pa,this.K,this.H&255,this.Ha-1);this.A-=this.B.vi},function(){ab(this.pa,this.K,this.H&255,this.Ha-1);ab(this.pa,this.K+1&65535,this.H>>8,this.Ha-1);this.A-=this.B.vi},dh,dh,function(){this.Z|=132;this.A-=this.B.Gd},function(){this.Z|=68;this.A-=this.B.Gd},function(){this.$a|=4;this.A-=2;this.Fa&512||jb(this)},function(){wc(this)?Cc(this):Gc(this);this.A-=2},function(){this.pb=-1;Eg[this.ca()].call(this, +Ld,Cd);0<=this.pb&&(this.H=this.pb)},function(){this.pb=-1;Fg[this.ca()].call(this,Md,Cd);0<=this.pb&&(this.H=this.pb,this.K=this.Jf)},function(){this.X&=~this.ba;this.A-=2},function(){this.X|=this.ba;this.A-=2},function(){this.Fa&=-513;this.A-=this.B.Rj},function(){this.Fa|=512;this.Z|=4;this.A-=2},function(){this.Fa&=-1025;this.A-=2},function(){this.Fa|=1024;this.A-=2},function(){Eg[this.ca()].call(this,Zb,Cd)},function(){Fg[this.ca()].call(this,ac,Cd)}]; +function Q(a){w.call(this,"ChipSet",a,Q);this.Ga=a.model;this.Ga=void 0!==this.Ga?parseInt(this.Ga,10):eh;this.Jb=0;var b=a.sw1;if(b)this.Jb=fh(b,gh|hh.il);else{this.md=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.md=b);if(b=this.md.length)this.Jb|=ih.ah,b--,this.Jb|=(b&3)<=jh&&(this.af=this.bf=2);this.ug=a.scaleTimers||!1; +this.Wn=a.rtcDate;this.Aj=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.qh=new webkitAudioContext);this.reset(!0);this.Ma()}y(w,Q);var eh=5150,jh=5170,kh={none:0,tv:1,color:2,mono:3,ega:0},ih={ah:1,ONE:0,Bo:64,zo:128,jo:192,Re:192,Se:6},gh=12,hh={Ao:16,co:32,il:48,Re:48,Se:4};h=Q.prototype; +h.vb=function(a,b,c,d){switch(c){case "sw1":return this.ra[c]=d,lh(this,c,d,this.Jb,{0:this.Ga==eh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==eh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==eh)return this.ra[c]=d,lh(this,c,d,this.Md,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[c]=d,!0}return!1}; +h.lc=function(a,b,c,d){this.pa=b;this.ka=c;this.Pa=d;this.Ia=a;this.Va=D(a,"Keyboard");this.Ok=Math.round(c.aa.fd/1193181);Ya(b,this,mh);$a(b,this,nh);this.Ga=jh){this.cb=16;this.Wc=0;this.od=16;this.Zf=0;this.Ud=160;512<=wh(this)&&(this.Ud|=16);3==xh(this)&&(this.Ud|=64);this.ih=3;this.bg=0;this.Lb=Array(7);this.xe=0;a&&(this.na=Array(64)); +yh(this,this.Wn);for(a=21;24>=a;a++)this.na[a]=0;for(a=14;46>a;a++)void 0===this.na[a]&&(this.na[a]=0);this.na[20]=this.Kc&(hh.Re|2|ih.ah|ih.Re);this.na[16]=zh(this,0)<<4|zh(this,1);Ah(this)}}; +function yh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.fc("CMOS date invalid ("+b+"), using "+c)):b&&a.fc("CMOS date: "+c);a.na[0]=c.getSeconds();a.na[1]=0;a.na[2]=c.getMinutes();a.na[3]=0;a.na[4]=c.getHours();a.na[5]=0;a.na[6]=c.getDay()+1;a.na[7]=c.getDate();a.na[8]=c.getMonth()+1;c=c.getFullYear();a.na[9]=c%100;c/=100;a.na[50]=c%10|c/10<<4;a.pf=-1;a.na[10]=38;a.na[11]=2;a.na[12]=0;a.na[13]=128} +function Ah(a){for(var b=0,c=16;46>c;c++)b+=a.na[c];a.na[47]=b&255;a.na[46]=b>>8} +h.save=function(){var a=new H(this);a.set(0,[this.Jb,this.Md,this.Kc,this.qe]);for(var b=[],c=0;c=jh&&(a.set(5,[this.cb,this.Wc,this.od,this.Zf,this.Ud,this.ih]),a.set(6,[this.bg,this.Lb,this.xe,this.na,this.pf]));return a.data()}; +h.restore=function(a){var b,c;b=a[0];this.Jb=b[0];this.Md=b[1];this.Kc=b[2];this.qe=b[3];b=a[1];this.Sa=Array(this.af);for(c=0;c>2)+1)*a.Fm+32*((b?a.Md:a.qe)&15)}function Dh(a,b){var c=b?a.Jb:a.Kc;return a.Ga!=eh||c&ih.ah?((c&ih.Re)>>ih.Se)+1:0} +function zh(a,b){if(b>hh.Se} +function lh(a,b,c,d,e){for(var f="",l=1;8>=l;l++){var g="pcjs-bitCell";l||(g+=" pcjs-bitCellLeft");f+='
'+l+"
\n"}c.innerHTML=f;b=C(c,"pcjs-bitCell");c=null;for(l=0;l>2].qb[b&3],c,d,e)}function Mh(a,b,c){b=a.Sa[b>>2].qb[b&3];b.jg&&b.Jh&&b.Ng?(c&&(b.kg=c),b.ed||Rc(a,b,!0)):c&&c(!0)} +function Rc(a,b,c){c&&(b.count=b.Vb[1]<<8|b.Vb[0],b.dl=b.mode&12,b.Bj=b.Mc=!1);for(var d=!1;0<=b.count&&(c=b.fg<<16|b.yb[1]<<8|b.yb[0],4==b.dl?(d=!0,function(c){b.Jh.call(b.jg,b.Ng,-1,function(f,l){0>f&&(b.Bj||(b.Bj=!0),f=255);b.ed||Va(a.pa,c,f);(d=l)&&setTimeout(function(){Rh(b)||Rc(a,b)},0)})}(c)):8==b.dl?(c=Ta(a.pa,c),0>b.Jh.call(b.jg,b.Ng,c)&&(b.Mc=!0)):b.Mc=!0),!d&&!Rh(b););} +function Rh(a){if(!a.Mc&&0<=--a.count&&(a.mode&32?(a.yb[0]--,0>a.yb[0]&&(a.yb[0]=255,a.yb[1]--,0>a.yb[1]&&(a.yb[1]=255))):(a.yb[0]++,255>3,e=a.rb[d];e.zb|=1<<(b&7);e.wf=c||0;1==d&&(a.rb[0].zb|=4);Uh(a,d)}function ai(a,b){var c=b>>3,d=a.rb[c],e=1<<(b&7);d.zb&e&&(d.zb&=~e,1!=c||d.zb||(a.rb[0].zb&=-5),Uh(a,c))} +function Pc(a,b){void 0===b&&(b=0);var c=-1,d=a.rb[b];if(d.wf)c=-2,d.wf--;else for(var e=d.zb&((d.Cc|d.rd)^255),f=d.Vd+1;;){var f=f&7,l=1<>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var l=this.Kb[c];l.Kf=f;l.mode=e;l.oj=d;l.qc=[0,0];l.Vb=[0,0];l.ff=[0,0];l.Nc=!1;l.lf=!1;l.Ae=!1;ci(this,c);0==c&&ai(this,0);2==c&&255==this.rb[0].rd&&77==this.jc&&(c=this.Kb[0],c.Gc[0]=c.qc[0],c.Gc[1]=c.qc[1],c.Jd=ob(this.ka,this.ug))}else di(this,c),d=this.Kb[c],d.ff[0]=d.Vb[0],d.ff[1]=d.Vb[1],d.lf=!0,ci(this,c)}};function fi(a,b){var c=a.Kb[b],d=c.qc[1]<<8|c.qc[0];d||(d=1==c.be?256:65536);return d} +function ci(a,b){var c=a.Kb[b];c.wd=32==c.Kf?1:0;c.be=48==c.Kf?2:1} +function di(a,b,c){var d=a.Kb[b];if(d.Ae&&(2!=b||a.jc&1)){var e=ob(a.ka,a.ug),f=(e-d.Jd)/a.Ok|0;0>f&&(d.Jd=e,f=0);var l=fi(a,b),g=a.Kb[b],m=g.Gc[1]<<8|g.Gc[0];m||(m=1==g.be?256:65536);g=m-f;0==d.mode?(0>=g&&(g=0),g||(d.Nc=!0,d.Ae=!1,b||$h(a,0))):4==d.mode?(d.Nc=1!=g,0>=g&&(g=l+g,0>=g&&(g=l),d.Gc[0]=g&255,d.Gc[1]=g>>8,d.Jd=e,!b&&d.Nc&&$h(a,0))):6==d.mode&&(g-=f,0>=g&&(d.Nc=!d.Nc,g=l+g,0>=g&&(g=l),d.Gc[0]=g&255,d.Gc[1]=g>>8,d.Jd=e,!b&&d.Nc&&$h(a,0)));d.Vb[0]=g&255;d.Vb[1]=g>>8;c&&(a.Jd=0)}return d} +function qb(a,b){for(var c=0;c=jh){var c=0,d=a.ka.aa.fd,e=ob(a.ka,a.ug);if(0<=a.pf&&(c=e-a.pf,Math.floor(c/d)&&60<=++a.na[0]&&(a.na[0]=0,60<=++a.na[2]&&(a.na[2]=0,24<=++a.na[4])))){a.na[4]=0;a.na[6]=a.na[6]%7+1;var f=a.na[9],l=ia[a.na[8]-1];28==l&&0===f%4&&(f%100||0===f%400)&&l++;++a.na[7]>l&&(a.na[7]=1,12<++a.na[8]&&(a.na[8]=1,a.na[9]=(a.na[9]+1)%100))}a.pf=e-c%d}}h.tm=function(){var a=this.eg;this.$e&16&&(this.jc&128?a=this.Kc:this.Va&&(a=gi(this.Va)));return a}; +h.Cn=function(a,b){this.eg=b};h.um=function(){return this.jc};h.Dn=function(a,b){hi(this,b);this.Va&&ii(this.Va,b&128?!1:!0,b&64?!0:!1)};function hi(a,b){var c=!!(b&2),d=!!(a.jc&2);a.jc=b;c!=d&&pb(a,c)}h.vm=function(){var a=0,a=this.Ga==eh?this.jc&4?a|this.qe&15:a|this.qe>>4&1:this.jc&8?a|this.Kc>>4:a|this.Kc&15;this.jc&1&&di(this,2).Nc&&(a=this.jc&2?a|32:a|16);return a};h.En=function(a,b){this.kh=b};h.wm=function(){return this.$e};h.Fn=function(a,b){this.$e=b}; +h.Kl=function(){var a=this.Zf;this.cb&=-258;var b=this.Va&&gi(this.Va,!0);b&&ji(this,b);return a};h.Vm=function(a,b){if(this.cb&8)switch(this.Wc){case 96:ki(this,b);break;case 209:li(this,b);break;default:if(ki(this,this.od&-17),this.Va){var c=-1;switch(b){case 255:c=250,mi(this.Va)}ji(this,c)}}this.Wc=b;this.cb&=-9};h.Ll=function(){return this.jc&-209|(ob(this.ka)&64?16:0)};h.Wm=function(a,b){hi(this,b)};h.Ml=function(){var a=this.cb&255;this.cb&256&&(this.cb|=1,this.cb&=-257);return a}; +h.Um=function(a,b){this.Wc=b;this.cb|=8;var c=0;240<=this.Wc&&(c=this.Wc^15,this.Wc=240);switch(this.Wc){case 192:ji(this,this.Ud);break;case 173:ki(this,this.od|16);break;case 174:ki(this,this.od&-17);break;case 170:this.Va&&ni(this.Va,!0);ki(this,this.od|16);ji(this,85);li(this,3);break;case 224:ji(this,this.od&16?0:1);break;case 240:c&1&&ec(this.ka)}};function ki(a,b){a.od=b;a.cb=a.cb&-5|b&4;a.Va&&ii(a.Va,!!(b&8),!(b&16))&&ji(a,gi(a.Va,!0))}function ji(a,b){0<=b&&(a.Zf=b,a.cb&=-2,a.cb|=256)} +function li(a,b){a.ih=b;Oa(a.pa,!!(b&2));b&1||ec(a.ka)}h.$l=function(){return this.xe};h.kn=function(a,b){this.xe=b;this.dg=b&128?0:128};h.am=function(){var a=this.xe&63;if(13>=a){var b=this.na[a];if(10>a){var c=!1;4!=a&&5!=a||this.na[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.na[11]&4||(c&&128=c){if(e=b,10>c){var f=!1;this.na[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};h.rm=function(){return this.bg};h.zn=function(a,b){this.bg=b};h.Bn=function(a,b){this.dg=b};function fh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.lb[c++]=f[b]>>16&255,this.lb[c++]=f[b]>>24&255;else this.lb=d;this.gh=d.symbols;if(!this.lb.length){t("Empty ROM: "+a);return}if(1==this.lb.length){t(this.lb[0]);return}}catch(l){this.za("ROM data error: "+ +l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.lb=Array(a.length),d=0;dthis.Yf?21:23,c=a.na[b]|a.na[b+1]<<8,c=c+(this.kd>>10);a.na[b]=c&255;a.na[b+1]=c>>8;Ah(a)}}else t("No RAM allocated")}; +u(function(){for(var a=C(window.document,"pcjs","ram"),b=0;ba.hc.length){if(!(!d&&!a.dh[c]||d&&a.dh[c])){a.dh[c]=d;a.hc.push(b);1==a.hc.length&&a.ha&&$h(a.ha,1);for(var e in ui)if(ui[e]==c){(c=a.pa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.hc.length&&a.hc.push(255)}function zi(a,b){var c=b?a.Fm:a.Em;a.ja&&a.ja.Lc&&(c/=a.ja.Lc);return c}function Ai(a,b){!a.he||void 0!==b&&b==a.he||(clearTimeout(a.Qc[a.he]),Bi(a,a.he,!1))} -function wi(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Nk=f);240==f+224?(a.xa&=-2,c&&(a.xa|=1),f+=224,e=!1):241==f+224?(a.xa&=-5,c&&(a.xa|=4),f+=224,e=!1):242==f+224?(a.xa&=-9,c&&(a.xa|=8),f+=224,e=!1):244==f+224?(a.xa&=-17,c&&(a.xa|=16),f+=224,d=xi(a,f)):91==f?(a.xa&=-33,c&&(a.xa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.xa&12)&&(f=254),d=c?!xi(a,f):!1):void 0!==R[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.xa&=-33,a.vl||f!=a.Nk||Ai(a));void 0===d&&(d=!Bi(a,f,c));return d} -function xi(a,b,c){var d=!1;Ai(a,b);Bi(a,b,!0)&&(c?Bi(a,b,!1):(c=!1,a.Qc[b]&&(clearTimeout(a.Qc[b]),c=!0),c=zi(a,c),a.Qc[a.he=b]=setTimeout(function(a){return function(){Bi(a,b,!1)}}(a),c)),d=!0);return d} -function Bi(a,b,c){var d=!1;c||(a.Qc[b]=null,a.he==b&&(a.he=0));var e=R[b];void 0===e&&1<=b&&26>=b&&(e=R[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.xa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.xa&17||(d=42):224==f?a.xa&18||(d=54):241==f?a.xa&4||(d=29):242==f&&(a.xa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;ca.ic.length){if(!(!d&&!a.fh[c]||d&&a.fh[c])){a.fh[c]=d;a.ic.push(b);1==a.ic.length&&a.ia&&$h(a.ia,1);for(var e in ui)if(ui[e]==c){(c=a.ra["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.ic.length&&a.ic.push(255)}function zi(a,b){var c=b?a.Jm:a.Im;a.ka&&a.ka.aa.Oc&&(c/=a.ka.aa.Oc);return c} +function Ai(a,b){!a.le||void 0!==b&&b==a.le||(clearTimeout(a.Tc[a.le]),Bi(a,a.le,!1))} +function wi(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Rk=f);240==f+224?(a.ya&=-2,c&&(a.ya|=1),f+=224,e=!1):241==f+224?(a.ya&=-5,c&&(a.ya|=4),f+=224,e=!1):242==f+224?(a.ya&=-9,c&&(a.ya|=8),f+=224,e=!1):244==f+224?(a.ya&=-17,c&&(a.ya|=16),f+=224,d=xi(a,f)):91==f?(a.ya&=-33,c&&(a.ya|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.ya&12)&&(f=254),d=c?!xi(a,f):!1):void 0!==R[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.ya&=-33,a.Al||f!=a.Rk||Ai(a));void 0===d&&(d=!Bi(a,f,c));return d} +function xi(a,b,c){var d=!1;Ai(a,b);Bi(a,b,!0)&&(c?Bi(a,b,!1):(c=!1,a.Tc[b]&&(clearTimeout(a.Tc[b]),c=!0),c=zi(a,c),a.Tc[a.le=b]=setTimeout(function(a){return function(){Bi(a,b,!1)}}(a),c)),d=!0);return d} +function Bi(a,b,c){var d=!1;c||(a.Tc[b]=null,a.le==b&&(a.le=0));var e=R[b];void 0===e&&1<=b&&26>=b&&(e=R[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.ya&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.ya&17||(d=42):224==f?a.ya&18||(d=54):241==f?a.ya&4||(d=29):242==f&&(a.ya&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(Ni)];this.wg=b;this.Ma=e[2];this.ub=e[3];this.Cc=d||e[4];65536<=this.Cc&&720896<=this.Ma&&(this.ub=Math.min(this.Cc>>2,32768));this.bc=c[0];this.kc=c[1];this.af=c[2];this.Nf=c[3];this.sc=c[4]&255;this.vg=c[4]>>8&255;this.Yb=c[5];this.Oh=Ni;if(5==b){this.Oh=Oi;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.Ma,this.ub,this.Cc],Array(this.Cc>> -2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.wd=b[0];this.be=b[1];this.Ld=b[2];this.Wi=b[3];this.Bg=b[4];this.Eh=b[5];this.Be=b[6];this.Uf=b[7];this.Hh=b[8];this.Ih=b[9];this.Ae=b[10];this.pe=b[11];this.kb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ma,this.ub,d]);this.Ma=d[0];this.ub=d[1];d=this.Cc>>2;if((this.Pd=b[14])&&this.Pd.length>8&255)} -var X=[,,function(a){a+=this.offset;return(this.ca.kb=this.ma[a])>>this.ca.Hi&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ma[b]>>8:this.ma[b])&255}];X[16]=function(a){a+=this.offset;a=this.ma[a];for(var b=this.ca.Qh&this.ca.Rh,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};X[512]=function(a,b){var c=a+this.offset,d;d=this.ma[c]&~this.ca.Va|(b|b<<8|b<<16|b<<24)&this.ca.Va;d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)}; -X[1024]=function(a,b){var c=a+this.offset;b=b>>this.ca.Nc|b<<8-this.ca.Nc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ca.Fd|this.ca.ee;d=d&this.ca.Va|this.ma[c]&~this.ca.Va;d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)}; -X[1536]=function(a,b){var c=a+this.offset;b=b>>this.ca.Nc|b<<8-this.ca.Nc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ca.Fd|this.ca.ee;d&=this.ca.kb;d=d&this.ca.Va|this.ma[c]&~this.ca.Va;d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)}; -X[2560]=function(a,b){var c=a+this.offset;b=b>>this.ca.Nc|b<<8-this.ca.Nc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ca.Fd|this.ca.ee;d|=this.ca.kb;d=d&this.ca.Va|this.ma[c]&~this.ca.Va;d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)}; -X[3584]=function(a,b){var c=a+this.offset;b=b>>this.ca.Nc|b<<8-this.ca.Nc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ca.Fd|this.ca.ee;d^=this.ca.kb;d=d&this.ca.Va|this.ma[c]&~this.ca.Va;d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)};X[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ca.Va&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ma[d]&~c;c=c&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[d]!=c&&(this.ma[d]=c,this.Xa=!0)}; -X[4096]=function(a){a+=this.offset;var b=this.ma[a]&~this.ca.Va|this.ca.kb&this.ca.Va;this.ma[a]!=b&&(this.ma[a]=b,this.Xa=!0)};X[8192]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d&this.ca.Va|this.ma[c]&~this.ca.Va,d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)};X[24576]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d&this.ca.kb,d=d&this.ca.Va|this.ma[c]&~this.ca.Va,d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)}; -X[40960]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d|this.ca.kb,d=d&this.ca.Va|this.ma[c]&~this.ca.Va,d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)};X[57344]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d^this.ca.kb,d=d&this.ca.Va|this.ma[c]&~this.ca.Va,d=d&this.ca.Za|this.ca.kb&~this.ca.Za;this.ma[c]!=d&&(this.ma[c]=d,this.Xa=!0)}; -function Ri(a){var b=[];if(void 0!==a.wg){b[0]=a.bc;b[1]=a.kc;b[2]=a.af;b[3]=a.Nf;b[4]=a.sc|a.vg<<8;b[5]=a.Yb;if(5==a.wg){var c=[];c[0]=a.wd;c[1]=a.be;c[2]=a.Ld;c[3]=a.Wi;c[4]=a.Bg;c[5]=a.Eh;c[6]=a.Be;c[7]=a.Uf;c[8]=a.Hh;c[9]=a.Ih;c[10]=a.Ae;c[11]=a.pe;c[12]=a.kb;c[13]=[a.Ma,a.ub,a.Cc];var d;a:if(d=a.Pd){var e=0,f=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var g=l;g>1;f[e++]=m;g=n}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Wa(this.na,b,c|d<<8);eb(this,!0)}};function Yi(a){a.ka.Bg&1?(a.Bc=a.lh,a.Tb=a.ka):(a.Bc=a.ka,a.Tb=a.gg)}h.save=function(){var a=new H(this);a.set(0,Ri(this.lh));a.set(1,Ri(this.gg));a.set(2,[this.Cd,this.Oc,this.Bd]);a.set(3,Ri(this.ka));return a.data()}; -h.restore=function(a){var b=a[2];this.Cd=b[0];this.Oc=b[1];this.Bd=b[2];this.Aa=null;this.Bc=this.lh=new Li(this,1,a[0]);this.Tb=this.gg=new Li(this,3,a[1]);this.ka=new Li(this,5,a[3],this.Cc);this.ka.bc&&Yi(this);Zi(this);if(!aj(this))return!1;bj(this);return!0}; -h.Mm=function(a,b,c){if(c)this.ya("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){t("Empty font ROM image: "+a);return}if(1==d.length){t(d[0]);return}if(8192==d.length)ri(this,d,[0,6144]);else{this.ya("Unrecognized font data length ("+d.length+")");return}}catch(e){this.ya("Font ROM data error: "+e.message);return}this.Ka()}}; -function cj(a,b){if(1==b)return a.Rc[0]=V[0],a.Rc[1]=V[7],a.Rc;if(2==b){var c=a.Aa.af;if(a.Aa===a.ka){var d=a.ka.Ld[0],c=d&7;d&16&&(c|=8);18!=a.ka.Ld[1]&&(c|=32)}a.Rc[0]=V[c&15];c=c&32?Ii:Hi;for(d=0;dgb||!$?gb:8,od=Wh.createImageData(n.$b,n.ac),ta=0;256>ta;ta++){for(Sa= -0;Sa=gb-2,fk=rc[Sa>(8<=tb&&176<=ta&&223>=ta?7:tb)?s:nd;fj(od,Xh,Yh,Zh);M&&fj(od,Xh+1,Yh,Zh)}Wh.putImageData(od,(ta&15)*n.$b,(ta>>4)*n.ac)}n.oe[A]="#"+p(s[0],2)+p(s[1],2)+p(s[2],2);n.dj[A]=s;n.$g[A]=sc;n=!0}}a.kd[b]=v;return n}function gj(a){0a.Wd&&(a.Wd=0):a.Wd=-1} -function bj(a){if(a.Db){for(var b=10;15>=b;b++)if(null==a.Aa.Yb[b])return;var c=a.Aa.Yb[10],b=c&31,d=a.Aa.Yb[11]&31,e=a.Aa.Yb[9]&31,f=!1;a.Aa===a.ka&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)hj(a);else{c=a.Aa.Yb[15]+((a.Aa.Yb[14]&63)<<8);a.tc!=c&&(hj(a),a.tc=c);d=d-b+1;if(a.al!=b||a.pj!=d)a.al=b,a.pj=d;a.ud=e+1;gj(a)}}} -function hj(a){if(0<=a.tc){if(void 0!==a.Sb){var b=a.Sb[a.tc];if(b&131072){var b=b&-131073,c=a.tc%a.lb,d=Math.floor(a.tc/a.lb);a.Db&&a.kd[a.Db]&&(a.ve&&ij(a,c,d,b,a.ve),ij(a,c,d,b));a.Sb[a.tc]=b}}a.tc=-1}} -function jj(a){var b;a=a.Aa;var c=a.pe[5];if(null!=c){b=2;var d=512,e=a.pe[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.Nc=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}h.ke=function(a){var b=this.Aa;null!=a&&b&&a!=b.Nh&&(b.Vg(a),this.na.Vg(b.Ma,b.ub,b.Te))}; -function aj(a,b){var c,d=a.Bd,e=a.Aa;if(e)if(1==e.wg)d=Ci;else if(5==e.wg){var d=null,f=e.Cc>>2,l=32768f&&(d=c?13:14):c&&(d-=2));c=jj(a)}}else e.kc&8&&(e.kc&2?(d=e.kc&16?6:5,e.kc&4||(d-=1)):(d=e.kc&1?3:1,e.kc&4&&(d-= -1)));else a.Bd=null,null==d&&(d=a.Oc);if(!$i(a,d,b))return!1;a.ke(c);return!0} -function $i(a,b,c){if(null!=b&&(b!=a.Bd||c)){a.jl=0;a.Bd=b;b=a.Aa||(b==Ci?a.Bc:a.Tb);if(b!=a.Aa||b.Ma!=a.Ma||b.ub!=a.ub){hj(a);if(a.Ma){if(!Ra(a.na,a.Ma,a.ub))return!1;a.Aa&&(a.Aa.bc=!1)}a.Aa=b;b.bc=!0;a.Ma=b.Ma;a.ub=b.ub;if(!Pa(a.na,b.Ma,b.ub,!1,b===a.ka?b:null))return!1}a.Db=0;a.lb=a.Hg;a.dc=a.Uh;a.Ph=T[Ci][2];b=0;var d=T[a.Bd];d&&(a.lb=d[0],a.dc=d[1],a.Ph=d[2],b=d[3]||0,a.Db=d[4],4==a.Cd&&a.Aa===a.ka&&3==a.Db&&(7==a.ka.Yb[9]?a.dc=43:a.Db=5));a.Gj=a.lb*a.dc;a.Eg=a.Gj/a.Ph;a.mh=(a.Eg<<1)+b;a.nj= -b?a.mh+b>>1:0;13<=a.Bd&&(a.Eg<<=1);a.kd.length&&(a.Wc=Math.floor(a.Vc/a.lb),a.Xc=Math.floor(a.vd/a.dc),a.Db?(b=a.kd[a.Db],d=a.kd[a.Db<<1],a.wl&&80==a.lb?d&&a.Wc>=3*d.$b>>2&&(a.Db<<=1,b=d):(d&&a.Wc>=d.$b&&(a.Db<<=1,b=d),b&&(a.Wc=b.$b,a.Xc=b.ac)),a.df=a.ef=0,b&&(a.df=a.lb*b.$b,a.ef=a.dc*b.ac)):(a.Wc=a.Xc=1,a.df=a.lb,a.ef=a.dc),a.yg=a.Dc.createImageData(a.df,a.ef),a.ue=window.document.createElement("canvas"),a.ue.width=a.df,a.ue.height=a.ef,a.ve=a.ue.getContext("2d"),a.Zi=a.$i=0,a.ph=a.Vc,a.qh=a.vd, -b=a.Vc-a.lb*a.Wc,d=a.vd-a.dc*a.Xc,0>1,a.ph-=b),0>1,a.qh-=d),b||d)&&(a.Dc.fillStyle=a.qb.style.backgroundColor,a.Dc.fillRect(0,0,a.Vc,a.vd));!1!==c?eb(a,!0):kj(a,!0)}return!0}function fj(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 kj(a,b){var c;if(b){if(c=a.Eg,void 0===a.Sb||a.Sb.length!=c)a.Sb=Array(c)}else{if(void 0===a.Sb)return;c=a.Sb.length}for(var d=0;d>8;d=l&15;var g=a.kd[a.Db];g.Pe&&(d=g.Pe[d]);var m=l>>4&15;g.Pe&&(m=g.Pe[m]);e?(b*=g.$b,c*=g.ac,e.fillStyle=g.oe[m],e.fillRect(b,c,g.$b,g.ac)):(b=b*a.Wc+a.Zi,c=c*a.Xc+a.$i,a.Dc.fillStyle=g.oe[m],a.Dc.fillRect(b,c,a.Wc,a.Xc));l&256&&(m=(f&15)*g.$b,f=(f>>4)*g.ac,e?e.drawImage(g.$g[d],m,f,g.$b,g.ac,b,c,g.$b,g.ac):a.Dc.drawImage(g.$g[d],m,f,g.$b,g.ac,b,c,a.Wc,a.Xc));l&512&&(f=a.al,l=a.pj,e?(a.ud&&a.ud!==g.ac&&(f=Math.floor(f*g.ac/a.ud),l=Math.floor(l*g.ac/a.ud)), -e.fillStyle=g.oe[d],e.fillRect(b,c+f,g.$b,l)):(a.ud&&a.ud!==a.Xc&&(f=Math.floor(f*a.Xc/a.ud),l=Math.floor(l*a.Xc/a.ud)),a.Dc.fillStyle=g.oe[d],a.Dc.fillRect(b,c+f,a.Wc,l)))} -function eb(a,b){if(a.Ab){var c=!1;a.Aa&&(a.Aa===a.ka?a.ka.be&32&&(c=!0):a.Aa.kc&8&&(c=!0));if(c||b){if(b)kj(a,!0);else if(void 0===a.Sb)return;var d=!1;!(b||++a.jl&15)&&0<=a.Wd&&(a.Wd++,d=!0);var e=0,f=a.Gj,c=a.Aa.Ma,l=c+a.Aa.ub,g=(a.Aa.Yb[12]<<8)+a.Aa.Yb[13];a.Db&&(g<<=1);var c=c+g,m=a.mh;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(g=!b){for(var g=a.na,n=!0,q=c>>g.Lb;0a.tc)return;e=a.tc;f=e+1}}if(a.Db){if(a.kd[a.Db]){d= -0;g=a.Vd=0;m=1048575;a.Aa.kc&32&&(g=32768,m&=~g,a.Wd&2||(m&=-65537));for(c+=e<<1;c>8|(v& -255)<<8;s=g;var gb=16;q>=m))>>(gb-=m);fj(a.yg,q++,A,n[nd])}q>U&&(U=q);A<$&&($=A);A>=aa&&(aa=A+1)}e+=2;l++;if(q>=a.lb){q=0;A+=2;if(A>a.dc)break;A==a.dc&&(A=1,e=c+a.nj)}}M$;$++)aa=U&2155905152,0>aa&&(aa+=4294967296), -aa=W[aa]||0,fj(a.yg,g++,m,l[aa]),U<<=1;g>q&&(q=g);m=M&&(M=m+1)}e++;if(g>=a.lb&&(g=0,++m>a.dc))break}n>2),a=this.ka.Wi&-17|(this.Yf&1<e&&(e=0);e%b.Sh>b.Hm&&(c|=1);e%=b.Jj;e>b.Jm&&(c|=8);b.Yh=d-e;b===a.ka?(c|=b.Nf&48^48,b.wd=!1):c=(b.Nf^=9)|240;return b.Nf=c} -var Si={948:S.prototype.jm,949:S.prototype.im,952:S.prototype.km,954:S.prototype.lm,980:S.prototype.Sl,981:S.prototype.Rl,984:S.prototype.Tl,985:S.prototype.Ql,986:S.prototype.Ul},Ti={948:S.prototype.tn,949:S.prototype.sn,952:S.prototype.un,980:S.prototype.dn,981:S.prototype.cn,984:S.prototype.en,985:S.prototype.bn},Ui={960:S.prototype.Cj,961:S.prototype.Cj,962:S.prototype.vm,964:S.prototype.um,965:S.prototype.tm,970:S.prototype.cm,972:S.prototype.bm,974:S.prototype.am,975:S.prototype.$l},Vi={954:S.prototype.Mk, -960:S.prototype.Lk,961:S.prototype.Lk,962:S.prototype.wn,964:S.prototype.Dn,965:S.prototype.Cn,970:S.prototype.on,972:S.prototype.nn,974:S.prototype.mn,975:S.prototype.ln,986:S.prototype.Mk}; +function Li(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Mi[b],f=a.Fd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Ni)];this.yg=b;this.Oa=e[2];this.wb=e[3];this.Ec=d||e[4];65536<=this.Ec&&720896<=this.Oa&&(this.wb=Math.min(this.Ec>>2,32768));this.cc=c[0];this.mc=c[1];this.df=c[2];this.Pf=c[3];this.uc=c[4]&255;this.xg=c[4]>>8&255;this.Zb=c[5];this.Rh=Ni;if(5==b){this.Rh=Oi;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.Oa,this.wb,this.Ec],Array(this.Ec>> +2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.zd=b[0];this.fe=b[1];this.Od=b[2];this.Zi=b[3];this.Dg=b[4];this.Hh=b[5];this.Fe=b[6];this.Wf=b[7];this.Kh=b[8];this.Lh=b[9];this.Ee=b[10];this.te=b[11];this.mb=b[12];d=b[13];"number"==typeof d&&(d=[this.Oa,this.wb,d]);this.Oa=d[0];this.wb=d[1];d=this.Ec>>2;if((this.Td=b[14])&&this.Td.length>8&255)} +var X=[,,function(a){a+=this.offset;return(this.da.mb=this.oa[a])>>this.da.Li&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.oa[b]>>8:this.oa[b])&255}];X[16]=function(a){a+=this.offset;a=this.oa[a];for(var b=this.da.Th&this.da.Uh,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};X[512]=function(a,b){var c=a+this.offset,d;d=this.oa[c]&~this.da.Xa|(b|b<<8|b<<16|b<<24)&this.da.Xa;d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)}; +X[1024]=function(a,b){var c=a+this.offset;b=b>>this.da.Qc|b<<8-this.da.Qc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.da.Id|this.da.ie;d=d&this.da.Xa|this.oa[c]&~this.da.Xa;d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)}; +X[1536]=function(a,b){var c=a+this.offset;b=b>>this.da.Qc|b<<8-this.da.Qc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.da.Id|this.da.ie;d&=this.da.mb;d=d&this.da.Xa|this.oa[c]&~this.da.Xa;d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)}; +X[2560]=function(a,b){var c=a+this.offset;b=b>>this.da.Qc|b<<8-this.da.Qc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.da.Id|this.da.ie;d|=this.da.mb;d=d&this.da.Xa|this.oa[c]&~this.da.Xa;d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)}; +X[3584]=function(a,b){var c=a+this.offset;b=b>>this.da.Qc|b<<8-this.da.Qc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.da.Id|this.da.ie;d^=this.da.mb;d=d&this.da.Xa|this.oa[c]&~this.da.Xa;d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)};X[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.da.Xa&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.oa[d]&~c;c=c&this.da.ab|this.da.mb&~this.da.ab;this.oa[d]!=c&&(this.oa[d]=c,this.Za=!0)}; +X[4096]=function(a){a+=this.offset;var b=this.oa[a]&~this.da.Xa|this.da.mb&this.da.Xa;this.oa[a]!=b&&(this.oa[a]=b,this.Za=!0)};X[8192]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d&this.da.Xa|this.oa[c]&~this.da.Xa,d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)};X[24576]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d&this.da.mb,d=d&this.da.Xa|this.oa[c]&~this.da.Xa,d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)}; +X[40960]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d|this.da.mb,d=d&this.da.Xa|this.oa[c]&~this.da.Xa,d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)};X[57344]=function(a,b){var c=a+this.offset,d=Ki[b&15],d=d^this.da.mb,d=d&this.da.Xa|this.oa[c]&~this.da.Xa,d=d&this.da.ab|this.da.mb&~this.da.ab;this.oa[c]!=d&&(this.oa[c]=d,this.Za=!0)}; +function Ri(a){var b=[];if(void 0!==a.yg){b[0]=a.cc;b[1]=a.mc;b[2]=a.df;b[3]=a.Pf;b[4]=a.uc|a.xg<<8;b[5]=a.Zb;if(5==a.yg){var c=[];c[0]=a.zd;c[1]=a.fe;c[2]=a.Od;c[3]=a.Zi;c[4]=a.Dg;c[5]=a.Hh;c[6]=a.Fe;c[7]=a.Wf;c[8]=a.Kh;c[9]=a.Lh;c[10]=a.Ee;c[11]=a.te;c[12]=a.mb;c[13]=[a.Oa,a.wb,a.Ec];var d;a:if(d=a.Td){var e=0,f=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var g=l;g>1;f[e++]=m;g=n}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Wa(this.pa,b,c|d<<8);eb(this,!0)}};function Yi(a){a.la.Dg&1?(a.Dc=a.oh,a.Ub=a.la):(a.Dc=a.la,a.Ub=a.ig)}h.save=function(){var a=new H(this);a.set(0,Ri(this.oh));a.set(1,Ri(this.ig));a.set(2,[this.Fd,this.Rc,this.Ed]);a.set(3,Ri(this.la));return a.data()}; +h.restore=function(a){var b=a[2];this.Fd=b[0];this.Rc=b[1];this.Ed=b[2];this.Ca=null;this.Dc=this.oh=new Li(this,1,a[0]);this.Ub=this.ig=new Li(this,3,a[1]);this.la=new Li(this,5,a[3],this.Ec);this.la.cc&&Yi(this);Zi(this);if(!aj(this))return!1;bj(this);return!0}; +h.Qm=function(a,b,c){if(c)this.za("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){t("Empty font ROM image: "+a);return}if(1==d.length){t(d[0]);return}if(8192==d.length)ri(this,d,[0,6144]);else{this.za("Unrecognized font data length ("+d.length+")");return}}catch(e){this.za("Font ROM data error: "+e.message);return}this.Ma()}}; +function cj(a,b){if(1==b)return a.Uc[0]=V[0],a.Uc[1]=V[7],a.Uc;if(2==b){var c=a.Ca.df;if(a.Ca===a.la){var d=a.la.Od[0],c=d&7;d&16&&(c|=8);18!=a.la.Od[1]&&(c|=32)}a.Uc[0]=V[c&15];c=c&32?Ii:Hi;for(d=0;dhb||!$?hb:8,od=Wh.createImageData(n.ac,n.bc),ta=0;256>ta;ta++){for(Sa= +0;Sa=hb-2,fk=rc[Sa>(8<=ub&&176<=ta&&223>=ta?7:ub)?s:nd;fj(od,Xh,Yh,Zh);M&&fj(od,Xh+1,Yh,Zh)}Wh.putImageData(od,(ta&15)*n.ac,(ta>>4)*n.bc)}n.se[A]="#"+p(s[0],2)+p(s[1],2)+p(s[2],2);n.gj[A]=s;n.bh[A]=sc;n=!0}}a.nd[b]=v;return n}function gj(a){0a.$d&&(a.$d=0):a.$d=-1} +function bj(a){if(a.Eb){for(var b=10;15>=b;b++)if(null==a.Ca.Zb[b])return;var c=a.Ca.Zb[10],b=c&31,d=a.Ca.Zb[11]&31,e=a.Ca.Zb[9]&31,f=!1;a.Ca===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)hj(a);else{c=a.Ca.Zb[15]+((a.Ca.Zb[14]&63)<<8);a.vc!=c&&(hj(a),a.vc=c);d=d-b+1;if(a.el!=b||a.sj!=d)a.el=b,a.sj=d;a.xd=e+1;gj(a)}}} +function hj(a){if(0<=a.vc){if(void 0!==a.Tb){var b=a.Tb[a.vc];if(b&131072){var b=b&-131073,c=a.vc%a.nb,d=Math.floor(a.vc/a.nb);a.Eb&&a.nd[a.Eb]&&(a.ze&&ij(a,c,d,b,a.ze),ij(a,c,d,b));a.Tb[a.vc]=b}}a.vc=-1}} +function jj(a){var b;a=a.Ca;var c=a.te[5];if(null!=c){b=2;var d=512,e=a.te[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.Qc=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}h.oe=function(a){var b=this.Ca;null!=a&&b&&a!=b.Qh&&(b.Xg(a),this.pa.Xg(b.Oa,b.wb,b.We))}; +function aj(a,b){var c,d=a.Ed,e=a.Ca;if(e)if(1==e.yg)d=Ci;else if(5==e.yg){var d=null,f=e.Ec>>2,l=32768f&&(d=c?13:14):c&&(d-=2));c=jj(a)}}else e.mc&8&&(e.mc&2?(d=e.mc&16?6:5,e.mc&4||(d-=1)):(d=e.mc&1?3:1,e.mc&4&&(d-= +1)));else a.Ed=null,null==d&&(d=a.Rc);if(!$i(a,d,b))return!1;a.oe(c);return!0} +function $i(a,b,c){if(null!=b&&(b!=a.Ed||c)){a.nl=0;a.Ed=b;b=a.Ca||(b==Ci?a.Dc:a.Ub);if(b!=a.Ca||b.Oa!=a.Oa||b.wb!=a.wb){hj(a);if(a.Oa){if(!Ra(a.pa,a.Oa,a.wb))return!1;a.Ca&&(a.Ca.cc=!1)}a.Ca=b;b.cc=!0;a.Oa=b.Oa;a.wb=b.wb;if(!Pa(a.pa,b.Oa,b.wb,!1,b===a.la?b:null))return!1}a.Eb=0;a.nb=a.Jg;a.ec=a.Yh;a.Sh=T[Ci][2];b=0;var d=T[a.Ed];d&&(a.nb=d[0],a.ec=d[1],a.Sh=d[2],b=d[3]||0,a.Eb=d[4],4==a.Fd&&a.Ca===a.la&&3==a.Eb&&(7==a.la.Zb[9]?a.ec=43:a.Eb=5));a.Kj=a.nb*a.ec;a.Gg=a.Kj/a.Sh;a.ph=(a.Gg<<1)+b;a.qj= +b?a.ph+b>>1:0;13<=a.Ed&&(a.Gg<<=1);a.nd.length&&(a.$c=Math.floor(a.Zc/a.nb),a.ad=Math.floor(a.yd/a.ec),a.Eb?(b=a.nd[a.Eb],d=a.nd[a.Eb<<1],a.Bl&&80==a.nb?d&&a.$c>=3*d.ac>>2&&(a.Eb<<=1,b=d):(d&&a.$c>=d.ac&&(a.Eb<<=1,b=d),b&&(a.$c=b.ac,a.ad=b.bc)),a.gf=a.hf=0,b&&(a.gf=a.nb*b.ac,a.hf=a.ec*b.bc)):(a.$c=a.ad=1,a.gf=a.nb,a.hf=a.ec),a.Ag=a.Fc.createImageData(a.gf,a.hf),a.ye=window.document.createElement("canvas"),a.ye.width=a.gf,a.ye.height=a.hf,a.ze=a.ye.getContext("2d"),a.bj=a.cj=0,a.sh=a.Zc,a.th=a.yd, +b=a.Zc-a.nb*a.$c,d=a.yd-a.ec*a.ad,0>1,a.sh-=b),0>1,a.th-=d),b||d)&&(a.Fc.fillStyle=a.sb.style.backgroundColor,a.Fc.fillRect(0,0,a.Zc,a.yd));!1!==c?eb(a,!0):kj(a,!0)}return!0}function fj(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 kj(a,b){var c;if(b){if(c=a.Gg,void 0===a.Tb||a.Tb.length!=c)a.Tb=Array(c)}else{if(void 0===a.Tb)return;c=a.Tb.length}for(var d=0;d>8;d=l&15;var g=a.nd[a.Eb];g.Te&&(d=g.Te[d]);var m=l>>4&15;g.Te&&(m=g.Te[m]);e?(b*=g.ac,c*=g.bc,e.fillStyle=g.se[m],e.fillRect(b,c,g.ac,g.bc)):(b=b*a.$c+a.bj,c=c*a.ad+a.cj,a.Fc.fillStyle=g.se[m],a.Fc.fillRect(b,c,a.$c,a.ad));l&256&&(m=(f&15)*g.ac,f=(f>>4)*g.bc,e?e.drawImage(g.bh[d],m,f,g.ac,g.bc,b,c,g.ac,g.bc):a.Fc.drawImage(g.bh[d],m,f,g.ac,g.bc,b,c,a.$c,a.ad));l&512&&(f=a.el,l=a.sj,e?(a.xd&&a.xd!==g.bc&&(f=Math.floor(f*g.bc/a.xd),l=Math.floor(l*g.bc/a.xd)), +e.fillStyle=g.se[d],e.fillRect(b,c+f,g.ac,l)):(a.xd&&a.xd!==a.ad&&(f=Math.floor(f*a.ad/a.xd),l=Math.floor(l*a.ad/a.xd)),a.Fc.fillStyle=g.se[d],a.Fc.fillRect(b,c+f,a.$c,l)))} +function eb(a,b){if(a.ma.Cb){var c=!1;a.Ca&&(a.Ca===a.la?a.la.fe&32&&(c=!0):a.Ca.mc&8&&(c=!0));if(c||b){if(b)kj(a,!0);else if(void 0===a.Tb)return;var d=!1;!(b||++a.nl&15)&&0<=a.$d&&(a.$d++,d=!0);var e=0,f=a.Kj,c=a.Ca.Oa,l=c+a.Ca.wb,g=(a.Ca.Zb[12]<<8)+a.Ca.Zb[13];a.Eb&&(g<<=1);var c=c+g,m=a.ph;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(g=!b){for(var g=a.pa,n=!0,q=c>>g.Mb;0a.vc)return;e=a.vc;f= +e+1}}if(a.Eb){if(a.nd[a.Eb]){d=0;g=a.Zd=0;m=1048575;a.Ca.mc&32&&(g=32768,m&=~g,a.$d&2||(m&=-65537));for(c+=e<<1;c>8|(v&255)<<8;s=g;var hb=16;q>=m))>>(hb-=m);fj(a.Ag,q++,A,n[nd])}q>U&&(U=q);A<$&&($=A);A>=aa&&(aa=A+1)}e+=2;l++;if(q>=a.nb){q=0;A+=2;if(A>a.ec)break;A==a.ec&&(A=1,e=c+a.qj)}}M$;$++)aa= +U&2155905152,0>aa&&(aa+=4294967296),aa=W[aa]||0,fj(a.Ag,g++,m,l[aa]),U<<=1;g>q&&(q=g);m=M&&(M=m+1)}e++;if(g>=a.nb&&(g=0,++m>a.ec))break}n>2),a=this.la.Zi&-17|(this.$f&1<e&&(e=0);e%b.Vh>b.Lm&&(c|=1);e%=b.Nj;e>b.Nm&&(c|=8);b.bi=d-e;b===a.la?(c|=b.Pf&48^48,b.zd=!1):c=(b.Pf^=9)|240;return b.Pf=c} +var Si={948:S.prototype.om,949:S.prototype.nm,952:S.prototype.pm,954:S.prototype.qm,980:S.prototype.Xl,981:S.prototype.Wl,984:S.prototype.Yl,985:S.prototype.Vl,986:S.prototype.Zl},Ti={948:S.prototype.xn,949:S.prototype.wn,952:S.prototype.yn,980:S.prototype.hn,981:S.prototype.gn,984:S.prototype.jn,985:S.prototype.fn},Ui={960:S.prototype.Gj,961:S.prototype.Gj,962:S.prototype.Am,964:S.prototype.zm,965:S.prototype.ym,970:S.prototype.hm,972:S.prototype.gm,974:S.prototype.fm,975:S.prototype.em},Vi={954:S.prototype.Qk, +960:S.prototype.Pk,961:S.prototype.Pk,962:S.prototype.An,964:S.prototype.Hn,965:S.prototype.Gn,970:S.prototype.sn,972:S.prototype.rn,974:S.prototype.qn,975:S.prototype.pn,986:S.prototype.Qk}; u(function(){for(var a=C(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 S(d,e,f);B(d,c)}}); -function Y(a){this.zj=a.adapter;switch(this.zj){case 1:this.Oi=1016;this.xf=4;break;case 2:this.Oi=760;this.xf=3;break;default:t("Unrecognized serial adapter #"+this.zj);return}this.sd=null;w.call(this,"SerialPort",a,Y);var b=a.binding,c;a=oj;b&&(void 0===c&&(c="Panel"),(c=Ga(c,this.id))&&(b=c.pa[b])&&this.tb(null,null,a,b))}y(w,Y);var oj="buffer";h=Y.prototype;h.gj=function(a,b){return a==this.Kh?(this.Dj=b,this):null}; -h.tb=function(a,b,c,d){var e=this;switch(c){case oj:return this.pa[c]=this.sd=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),pj(e,[b]))},d.onkeypress=function(a){a=a||window.event;pj(e,[a.which||a.keyCode])},!0}return!1};h.jc=function(a,b,c,d){this.na=b;this.ja=c;this.Na=d;this.ha=D(a,"ChipSet");Ya(b,this,qj,this.Oi);$a(b,this,rj,this.Oi);this.Ka()}; -h.Ob=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Nb=function(a){return a&&this.save?this.save():!0};h.reset=function(){this.yd()};h.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.ih;c[b++]=this.kj;c[b++]=this.ne;c[b++]=this.Zf;c[b++]=this.nd;c[b++]=this.Sd;c[b++]=this.Jc;c[b++]=this.mc;c[b++]=this.ij;c[b]=this.Qe;a.set(0,c);return a.data()};h.restore=function(a){return this.yd(a[0])}; -h.yd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ih=a[b++];this.kj=a[b++];this.ne=a[b++];this.Zf=a[b++];this.nd=a[b++];this.Sd=a[b++];this.Jc=a[b++];this.mc=a[b++];this.ij=a[b++];this.Qe=a[b];return!0};function pj(a,b){a.Qe=a.Qe.concat(b);sj(a)}function sj(a){0>8:this.Zf};h.em=function(){return this.nd};h.fm=function(){return this.Sd};h.hm=function(){return this.Jc};h.gm=function(){return this.mc};h.nm=function(){return this.ij}; -h.En=function(a,b){if(this.Sd&128)this.ne=this.ne&-256|b;else{this.kj=b;this.mc&=-97;var c;this.sd?(13!=b&&(8==b?this.sd.value=this.sd.value.slice(0,-1):(this.sd.value+=String.fromCharCode(b),this.sd.scrollTop=this.sd.scrollHeight)),c=!0):c=!1;c&&(this.mc|=96)}};h.pn=function(a,b){this.Sd&128?this.ne=this.ne&255|b<<8:this.Zf=b};h.qn=function(a,b){this.Sd=b}; -h.rn=function(a,b){var c=this.Jc;this.Jc=b;if(this.Dj&&(c^b)&3){var c=this.Dj,d=this.Jc,e=3==(d&3);if(e){if(!c.bc){var f=!1;c.Jc&2||(c.reset(),f=!0);c.Jc&1||(f=!0);f&&pj(c.bf,[77]);tj(c,c.qb);c.bc=e}}else c.bc&&(uj(c.qb),c.bc=e);c.Jc=d}};var qj={0:Y.prototype.sm,1:Y.prototype.dm,2:Y.prototype.em,3:Y.prototype.fm,4:Y.prototype.hm,5:Y.prototype.gm,6:Y.prototype.nm},rj={0:Y.prototype.En,1:Y.prototype.pn,3:Y.prototype.qn,4:Y.prototype.rn}; -u(function(){for(var a=C(window.document,"pcjs","serial"),b=0;ba.Of||0>a.Pf)a.Of=b.clientX,a.Pf=b.clientY;a.Ke=b.clientX-a.Of;a.Le=b.clientY-a.Pf;(a.Ke||a.Le)&&wj(a);a.Of=b.clientX;a.Pf=b.clientY}},!1),b.addEventListener("mousedown",function(b){xj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){xj(a,b.button,!1)},!1),a.xh=!0),b.style.cursor="none")}function uj(a){a&&(a.style.cursor="auto")} -function xj(a,b,c){if(a.bc&&a.ja&&a.ja.rc)switch(b){case 0:a.lg!=c&&(a.lg=c,wj(a));break;case 2:a.mg!=c&&(a.mg=c,wj(a))}}function wj(a){pj(a.bf,[64|(a.lg?32:0)|(a.mg?16:0)|(a.Le&192)>>4|(a.Ke&192)>>6,a.Ke&63,a.Le&63]);a.Ke=a.Le=0}u(function(){for(var a=C(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=da(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Cb+":"+this.Eb+":"+this.Mb+":"+this.rb,a+="&machine="+this.ca.ze(),a+="&user="+this.ca.xd(),e=ka()+"/api/v1/disk?"+a,this.qg=!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"),e=ka()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.xe?"":d)+"&format=json")),r(e,!0,null,this,this.pl,b))}; -h.pl=function(a,b,c,d){var e=null;this.ye=!1;var f=0>c&&this.Ga&&!this.Ga.Ab;if(this.qg)c?this.ca.ya('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Zc=!0,e=this);else if(c)this.ca.ya('Unable to load disk "'+this.fd+'" (error '+c+")",f);else try{if(0l&&0b.indexOf("0x")&& +function Y(a){this.Dj=a.adapter;switch(this.Dj){case 1:this.Ri=1016;this.zf=4;break;case 2:this.Ri=760;this.zf=3;break;default:t("Unrecognized serial adapter #"+this.Dj);return}this.vd=null;w.call(this,"SerialPort",a,Y);var b=a.binding,c;a=oj;b&&(void 0===c&&(c="Panel"),(c=Ga(c,this.id))&&(b=c.ra[b])&&this.vb(null,null,a,b))}y(w,Y);var oj="buffer";h=Y.prototype;h.jj=function(a,b){return a==this.Nh?(this.Hj=b,this):null}; +h.vb=function(a,b,c,d){var e=this;switch(c){case oj:return this.ra[c]=this.vd=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),pj(e,[b]))},d.onkeypress=function(a){a=a||window.event;pj(e,[a.which||a.keyCode])},!0}return!1};h.lc=function(a,b,c,d){this.pa=b;this.ka=c;this.Pa=d;this.ia=D(a,"ChipSet");Ya(b,this,qj,this.Ri);$a(b,this,rj,this.Ri);this.Ma()}; +h.Pb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ob=function(a){return a&&this.save?this.save():!0};h.reset=function(){this.Bd()};h.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.lh;c[b++]=this.nj;c[b++]=this.re;c[b++]=this.ag;c[b++]=this.qd;c[b++]=this.Wd;c[b++]=this.Lc;c[b++]=this.nc;c[b++]=this.lj;c[b]=this.Ue;a.set(0,c);return a.data()};h.restore=function(a){return this.Bd(a[0])}; +h.Bd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.lh=a[b++];this.nj=a[b++];this.re=a[b++];this.ag=a[b++];this.qd=a[b++];this.Wd=a[b++];this.Lc=a[b++];this.nc=a[b++];this.lj=a[b++];this.Ue=a[b];return!0};function pj(a,b){a.Ue=a.Ue.concat(b);sj(a)}function sj(a){0>8:this.ag};h.jm=function(){return this.qd};h.km=function(){return this.Wd};h.mm=function(){return this.Lc};h.lm=function(){return this.nc};h.sm=function(){return this.lj}; +h.In=function(a,b){if(this.Wd&128)this.re=this.re&-256|b;else{this.nj=b;this.nc&=-97;var c;this.vd?(13!=b&&(8==b?this.vd.value=this.vd.value.slice(0,-1):(this.vd.value+=String.fromCharCode(b),this.vd.scrollTop=this.vd.scrollHeight)),c=!0):c=!1;c&&(this.nc|=96)}};h.tn=function(a,b){this.Wd&128?this.re=this.re&255|b<<8:this.ag=b};h.un=function(a,b){this.Wd=b}; +h.vn=function(a,b){var c=this.Lc;this.Lc=b;if(this.Hj&&(c^b)&3){var c=this.Hj,d=this.Lc,e=3==(d&3);if(e){if(!c.cc){var f=!1;c.Lc&2||(c.reset(),f=!0);c.Lc&1||(f=!0);f&&pj(c.ef,[77]);tj(c,c.sb);c.cc=e}}else c.cc&&(uj(c.sb),c.cc=e);c.Lc=d}};var qj={0:Y.prototype.xm,1:Y.prototype.im,2:Y.prototype.jm,3:Y.prototype.km,4:Y.prototype.mm,5:Y.prototype.lm,6:Y.prototype.sm},rj={0:Y.prototype.In,1:Y.prototype.tn,3:Y.prototype.un,4:Y.prototype.vn}; +u(function(){for(var a=C(window.document,"pcjs","serial"),b=0;ba.Qf||0>a.Rf)a.Qf=b.clientX,a.Rf=b.clientY;a.Oe=b.clientX-a.Qf;a.Pe=b.clientY-a.Rf;(a.Oe||a.Pe)&&wj(a);a.Qf=b.clientX;a.Rf=b.clientY}},!1),b.addEventListener("mousedown",function(b){xj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){xj(a,b.button,!1)},!1),a.Ah=!0),b.style.cursor="none")}function uj(a){a&&(a.style.cursor="auto")} +function xj(a,b,c){if(a.cc&&a.ka&&a.ka.ma.tc)switch(b){case 0:a.ng!=c&&(a.ng=c,wj(a));break;case 2:a.og!=c&&(a.og=c,wj(a))}}function wj(a){pj(a.ef,[64|(a.ng?32:0)|(a.og?16:0)|(a.Pe&192)>>4|(a.Oe&192)>>6,a.Oe&63,a.Pe&63]);a.Oe=a.Pe=0}u(function(){for(var a=C(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=da(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Db+":"+this.Fb+":"+this.Nb+":"+this.tb,a+="&machine="+this.da.De(),a+="&user="+this.da.Ad(),e=ka()+"/api/v1/disk?"+a,this.sg=!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"),e=ka()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Be?"":d)+"&format=json")),r(e,!0,null,this,this.tl,b))}; +h.tl=function(a,b,c,d){var e=null;this.Ce=!1;var f=0>c&&this.Ia&&!this.Ia.ma.Cb;if(this.sg)c?this.da.za('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.bd=!0,e=this);else if(c)this.da.za('Unable to load disk "'+this.jd+'" (error '+c+")",f);else try{if(0l&&0b.indexOf("0x")&& '["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)t(g[0]);else{for(b=a=0;b>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var v=m.data;if(void 0===v){var s=m.bytes;if(void 0!==s&&s.length){for(var f=n<<2,A=s.length;Ab&&(b=0);2E3b&&(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++]=l>>16&255;c[d++]=l>>24&255}return c}function Gj(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} -h.write=function(a,b,c){if(this.ye)return!1;if(b>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.oc?f=a.Gc+a.oc&&(a.oc+=f-(a.Gc+a.oc)+1):(a.Gc=f,a.oc=1);d[f]=d[f]&~(255<=this.gb.length||m>=this.gb[g].length||n>=this.gb[g][m].length){c="sector "+g+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.ye){c="unable to modify write-protected disk";b=-1;break}e= -l[f++];f=l[f++];l=e+f.length;if(g=this.gb[g][m][n]){for(m=g.data.length;mb&&this.ca.ya("unable to restore disk '"+this.fd+": "+c);return b}; -function Hj(a){w.call(this,"FDC",a,Hj);this.dmaRead=this.rh;this.dmaWrite=this.sh;this.dmaFormat=this.ml;this.ge=null;if(a.autoMount&&(this.ge=a.autoMount,"string"==typeof this.ge))try{this.ge=eval("("+a.autoMount+")")}catch(b){t("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ge=null}this.fc=[]}y(w,Hj);k={};ba={}; -var Ij={3:{Tc:3,rd:0,name:ba.qo},4:{Tc:2,rd:1,name:ba.oo},5:{Tc:9,rd:7,name:ba.yo},6:{Tc:9,rd:7,name:ba.jo},7:{Tc:2,rd:0,name:ba.lo},8:{Tc:1,rd:2,name:ba.po},10:{Tc:2,rd:7,name:ba.ko},13:{Tc:6,rd:7,name:ba.co},15:{Tc:3,rd:0,name:ba.no}};h=Hj.prototype; -h.tb=function(a,b,c,d){switch(c){case "listDisks":return this.pa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.pa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){t("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d=''+d+"");c.innerHTML= -d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.pa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||Jj(a,c)}}(this,d),!0;case "loadDrive":return this.pa[c]=d,d.onclick=function(a){return function(){var b,c=a.pa.listDisks,d=a.pa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.qa.restore(f)&&(e=!1);e&&a.qa&&void 0!==a.Ua&&(a.Ja=a.qa.seek(a.bb,a.Ia,a.Ra));return e};h.Ui=function(){for(var a=0,b=[],c=0;ca.Cb||e[1]>a.Eb)&&(this.ya('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Sa)),b=null);b&&(a.qa=b,a.Tk=c,a.ie=d,Qj(this,c,d,b),this.Hd|=128,this.ya('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Sa),a.ae),a.Ig=e[0],a.vf=e[1],a.wf=e[2]);a.ae&&(a.ae=!1,--this.Ud||this.Ka());Jj(this,a.Sa)}; -function Jj(a,b){if(0<=b&&b=this.Wa&&(this.ta&=-81,this.ib=this.Wa=0);return a}; -h.jn=function(a,b){this.Wa=Ij[c].Tc){var d=!1;this.ib=0;var c=this.Ha(),e,f,l,g,m,n=c&31;switch(n){case 3:this.Ha(k.ro);this.Ha(k.fo);this.zb();break;case 4:f=this.Ha(k.Me);this.Sa=f&3;e=this.ua[this.Sa];this.zb();this.Pb((e.Pa&4278190080)>>>24,k.uo);break;case 5:case 6:f=this.Ha(k.Me);d=f>>2&1;this.Sa=f&3;e=this.ua[this.Sa];e.Ia=d;f=e.bb=this.Ha(k.bl);l=this.Ha(k.dl);g=e.Ra=this.Ha(k.fl);m=this.Ha(k.aj);e.$a=128<< -m;e.pd=this.Ha(k.bo);this.Ha(k.cl);this.Ha(k.ao);6==n?this.th(e):this.uh(e);Rj(this,e,c,d,f,l,g,m);d=!0;break;case 7:f=this.Ha(k.Me);this.Sa=f&3;e=this.ua[this.Sa];e.bb=e.md=0;e.Pa=268435488;this.zb();d=!0;break;case 8:e=this.ua[this.Sa];e.Ia=0;this.zb();this.Pb(e.Sa|e.Ia<<2|e.Pa&255,k.gl);this.Pb(e.bb,k.io);this.Sa=this.Sa+1&3;break;case 10:f=this.Ha(k.Me);d=f>>2&1;this.Sa=f&3;e=this.ua[this.Sa];f=e.bb;l=e.Ia=d;g=e.Ra=1;m=0;e.Pa=0;e.qa&&(e.Ja=e.qa.seek(e.bb,e.Ia,e.Ra))?m=e.Ja.length:e.Pa=1088;Rj(this, -e,c,d,f,l,g,m);d=!0;break;case 13:f=this.Ha(k.Me);d=f>>2&1;this.Sa=f&3;e=this.ua[this.Sa];f=e.bb;l=e.Ia=d;g=1;m=this.Ha(k.aj);e.$a=128<>2&1,f=this.Ha(k.ho),e.bb+=f-e.md,0>e.bb&&(e.bb=0),e.bb>=e.Cb&&(e.bb=e.Cb-1),e.md=f,e.Pa=32,0==e.bb&&(e.Pa|=268435456),this.zb(),d=!0}0>>8,k.so);a.Pb((b.Pa&16711680)>>>16,k.to);var m=0;if(e!=b.bb||f!=b.Ia)m=l=1;c&128&&(f^=m,d||(m=0));a.Pb(e+m,k.bl);a.Pb(f,k.dl);a.Pb(l,k.fl);a.Pb(g,k.aj)}h.Ha=function(){var a=this.Qb[this.ib];this.ib++;return a};h.zb=function(){this.ib=this.Wa=0};h.Pb=function(a){this.Qb[this.Wa++]=a}; -h.rh=function(a,b,c){void 0===b||0>b?this.uc(a,c):c(-1,!1)};h.sh=function(a,b){return void 0!==b&&0<=b?this.xc(a,b):-1};h.ml=function(a,b){return void 0!==b&&0<=b?this.Yi(a,b):-1};h.th=function(a){a.Pa=72;a.qa&&(a.Ja=null,a.Pa=0,this.ha&&(Qh(this.ha,2,this,"dmaRead",a),Mh(this.ha,2)))};h.uh=function(a){a.Pa=72;a.qa&&(a.qa.ye?a.Pa=576:(a.Ja=null,a.Pa=0,this.ha&&(Qh(this.ha,2,this,"dmaWrite",a),Mh(this.ha,2))))}; -h.qj=function(a){a.Pa=72;a.qa&&(a.Ja=null,a.Pa=0,this.ha&&(a.Xd=0,a.gc=Array(4),a.Ve=!0,a.$e=0,Qh(this.ha,2,this,"dmaFormat",a),Mh(this.ha,2),a.Ve=!1))};h.uc=function(a,b){var c=-1;if(!a.Pa&&a.qa){do{if(a.Ja&&0<=(c=Gj(a.Ja,a.Ua++)))break;a.Ja=a.qa.seek(a.bb,a.Ia,a.Ra);if(!a.Ja){a.Pa=1088;break}a.Ua=0;this.Se(a)}while(1)}b(c,!1)}; -h.xc=function(a,b){if(a.Pa||!a.qa)return-1;do{if(a.Ja&&a.qa.write(a.Ja,a.Ua++,b))break;a.Ja=a.qa.seek(a.bb,a.Ia,a.Ra);if(!a.Ja){a.Pa=8256;b=-1;break}a.Ua=0;this.Se(a)}while(1);return b};h.Se=function(a){a.Ra++;a.Ra>=a.wf+1&&(a.Ra=1,a.Ia++,a.Ia>=a.vf&&(a.Ia=0,a.bb++))};h.Yi=function(a,b){if(a.Pa)return-1;a.gc[a.Xd++]=b;if(a.Xd==a.gc.length){a.bb=a.gc[0];a.Ia=a.gc[1];a.Ra=a.gc[2];a.$a=128<this.xc(a,a.hj))return-1;a.$e++}a.$e>=a.pd&&(b=-1);return b}; -var Mj={1012:Hj.prototype.Zl,1013:Hj.prototype.Xl,1015:Hj.prototype.Yl},Nj={1010:Hj.prototype.kn,1013:Hj.prototype.jn,1015:Hj.prototype.hn};u(function(){for(var a=C(window.document,"pcjs","fdc"),b=0;b=e&&(this.Gf|=(f.type&3)<<(1-e<<1))}return d}; -h.Si=function(){var a=0,b=[];this.$d?(b[a++]=this.ed,b[a++]=this.Sk,b[a++]=this.Id,b[a++]=this.Sg,b[a++]=this.Qg,b[a++]=this.Pg,b[a++]=this.Ge,b[a++]=this.ta,b[a++]=this.Qi,b[a++]=this.Rg):(b[a++]=this.Gf,b[a++]=this.ta,b[a++]=this.Qb,b[a++]=this.ib,b[a++]=this.Wa,b[a++]=this.Rk,b[a++]=this.Qk,b[a++]=this.Pk,b[a++]=this.jf);b[a]=this.Ui();return b}; -h.Lh=function(a,b,c,d,e){var f=0,l=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.Sa=a;b.errorCode=d[f++];b.Xk=d[f++];b.xe=d[f++];b.qe=d[f++];b.re=d[f++];b.Ia=d[f++];b.Eb=d[f++];b.Kd=d[f++];b.Ra=d[f++];b.pd=d[f++];b.$a=d[f++];b.eg=this.$d?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.xd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Sj[this.kf][b.type])b.type=this.Cl;c=Sj[this.kf][b.type]; -b.Mb=c[2]||17;b.rb=c[3]||512;if(e&&this.ha&&(e=this.ha,c=b.type,e.la)){var g=e.la[18],g=a?g&240|c:g&15|c<<4;e.la&&(e.la[18]=g,Ah(e))}void 0===b.qa&&(b.qa=null,this.ya("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Xj(this,b);b.Ua=d[f++];b.Ja=null;b.qa&&(a=d[f],void 0!==a&&0>b.qa.restore(a)&&(l=!1),l&&void 0!==b.Ua&&(b.Ja=b.qa.seek(b.Kd,b.Ia,b.Ra+b.eg)));return l};h.Ui=function(){for(var a=0,b=[],c=0;c=this.Wa&&(this.ib=this.Wa=0,this.ta&=-15);return a};h.Gn=function(a,b){this.Wa=c&&(this.ta|=2,this.ta&=-2,Yj(this))}; -h.zm=function(){var a=this.ta;this.ib=this.Oa.rb){var b=this;this.uc(this.Oa,function(a){0<=a?Zj(b):(b.ta=1,b.ed=16)},!1)}else this.ta=80;return a}; -h.Wm=function(a,b){this.Oa&&this.Oa.$a>=this.Oa.rb&&(0>this.xc(this.Oa,b)?(this.ta=1,this.ed=16):this.Oa.Ua==this.Oa.rb&&(this.Oa.$a-=this.Oa.rb,this.Id=this.Id-1&255,Zj(this),this.Oa.$a>=this.Oa.rb||(this.ta=80)))};h.Ml=function(){return this.ed};h.an=function(a,b){this.Sk=b};h.Nl=function(){return this.Id};h.Zm=function(a,b){this.Id=b};h.Ol=function(){return this.Sg};h.$m=function(a,b){this.Sg=b};h.Jl=function(){return this.Qg};h.Vm=function(a,b){this.Qg=b};h.Il=function(){return this.Pg}; -h.Um=function(a,b){this.Pg=b};h.Ll=function(){return this.Ge};h.Xm=function(a,b){this.Ge=b;this.ta=this.ua[this.Ge&16?1:0]?this.ta|64:this.ta&-65};h.Pl=function(){return this.ta};h.Tm=function(a,b){this.Qi=b;this.ha&&ai(this.ha,14);ak(this)};h.Ym=function(a,b){this.Rg&4&&!(b&4)&&(this.ed=1);this.Rg=b}; -function ak(a){var b=!1,c=a.Qi,d=a.Ge&16?1:0,e=a.Ge&15,f=a.Qg|(a.Pg&3)<<8,l=a.Sg,g=a.Id||256;a.Oa=null;a.ed=0;a.ta=80;(d=a.ua[d])?(d.Kd=f,d.Ia=e,d.Ra=l,d.$a=g*d.rb,c=144<=c?c:c&240,d.Ja=null,d.errorCode=0,a.Oa=d):c=-1;switch(c&240){case 32:a.uc(d,function(b){0<=b&&a.ha?(Zj(a),a.ta=136):(a.ta=1,a.ed=16)},!1);break;case 48:a.ha?(Zj(a),a.ta=136):(a.ta=1,a.ed=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ed=1;b=!0;break;case 145:d.Eb=e+1,d.Mb=g,b=!0}b&&Zj(a)} -function Zj(a){!a.ha||a.Rg&2||$h(a.ha,14)} -function Yj(a){a.ib=0;var b=a.Ha(),c=a.Ha(),d=c&32,e=d>>5,f=c&31,l=a.Ha(),g=a.Ha(),m=l<<2&768|g,n=l&63,q=a.Ha(),v=a.Ha(),s=a.ua[e];s&&(s.Kd=m,s.Ia=f,s.Ra=n,s.$a=q*s.rb);switch(b){case 3:a.zb(s?s.errorCode:4);a.Pb(c);a.Pb(l);a.Pb(g);a.Pb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ha());)s&&cb?this.uc(a,c):c(-1,!1)}; -h.sh=function(a,b){return void 0!==b&&0<=b?this.xc(a,b):-1};h.nl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua=a.Mb+b&&(a.Ra=b,a.Ia++,a.Ia>=a.Eb&&(a.Ia=0,a.Kd++))}; -h.Yi=function(a,b){if(a.errorCode)return-1;a.gc[a.Xd++]=b;if(a.Xd==a.gc.length){a.Kd=a.gc[0];a.Ia=a.gc[1];a.Ra=a.gc[2];a.$a=128<this.xc(a,a.hj))return-1;a.$e++}a.$e>=a.pd&&(b=-1);return b}; -var Uj={800:Z.prototype.ym,801:Z.prototype.zm,802:Z.prototype.xm},Tj={496:Z.prototype.Kl,497:Z.prototype.Ml,498:Z.prototype.Nl,499:Z.prototype.Ol,500:Z.prototype.Jl,501:Z.prototype.Il,502:Z.prototype.Ll,503:Z.prototype.Pl},Wj={800:Z.prototype.Gn,801:Z.prototype.Jn,802:Z.prototype.In,803:Z.prototype.Hn,807:Z.prototype.Li,811:Z.prototype.Li,815:Z.prototype.Li},Vj={496:Z.prototype.Wm,497:Z.prototype.an,498:Z.prototype.Zm,499:Z.prototype.$m,500:Z.prototype.Vm,501:Z.prototype.Um,502:Z.prototype.Xm,503:Z.prototype.Tm, -1014:Z.prototype.Ym};u(function(){for(var a=C(window.document,"pcjs","hdc"),b=0;bik){if(d.load(this.Kf)){this.le=new H(this,"1.15.8","failsafe");this.le.load()&&(mk(this,d),a=2,dk(this.le));this.le.set("timestamp",ha());gk(this.le);var e=this.vc&&!this.tg;if(1==a||la("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),l=d.get("data");f&&("ok"==f?d.load(l):("error"== -f&&"no machine state"!=l?(this.ya("Error: "+l),"unable to verify user"==l&&(oa("user",""),this.wc=null)):this.ec(f+": "+l),dk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&lk(this,c?d:null)}else 2==a&&d.clear()}else lk(this);delete this.Kf;delete this.Xg}e=Ea(this.id);for(f=0;fa[1];a=a[2];this.Ab=!0;this.tj||(this.ec("PCjs v1.15.8\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.tj=!0);this.ja&&nk(this,this.ja,b,c,a);this.vj&&(mk(this,b),b.clear());!c&&this.le&&(this.le.clear(),delete this.le)}; -function mk(a,b){if(la("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.xd(),d=b.toString(),e={app:"PCjs",ver:"1.15.8"};e.url=a.url;e.user=c;e.type="bug";e.data=d;r("http://www.pcjs.org/api/v1/report",!0,e)}} -function ok(a,b,c){var d,e="none",f=new H(a,"1.15.8"),l=new H(a,"1.15.8","validate"),g=ha();l.set("timestamp",g);f.set("timestamp",g);f.set("version","1.15.8");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ja&&a.ja.Nb&&(c&&jb(a.ja),d=a.ja.Nb(b,c),"object"===typeof d&&f.set(a.ja.id,d),c&&(a.ja.Ab=!1,!1===d&&(e=null)));for(var g=Ea(a.id),m=0;m>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.pc?f=a.Ic+a.pc&&(a.pc+=f-(a.Ic+a.pc)+1):(a.Ic=f,a.pc=1);d[f]=d[f]&~(255<=this.ib.length||m>=this.ib[g].length||n>=this.ib[g][m].length){c="sector "+g+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.Ce){c="unable to modify write-protected disk";b=-1;break}e= +l[f++];f=l[f++];l=e+f.length;if(g=this.ib[g][m][n]){for(m=g.data.length;mb&&this.da.za("unable to restore disk '"+this.jd+": "+c);return b}; +function Hj(a){w.call(this,"FDC",a,Hj);this.dmaRead=this.uh;this.dmaWrite=this.vh;this.dmaFormat=this.ql;this.ke=null;if(a.autoMount&&(this.ke=a.autoMount,"string"==typeof this.ke))try{this.ke=eval("("+a.autoMount+")")}catch(b){t("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ke=null}this.gc=[]}y(w,Hj);k={};ba={}; +var Ij={3:{Xc:3,ud:0,name:ba.uo},4:{Xc:2,ud:1,name:ba.so},5:{Xc:9,ud:7,name:ba.Co},6:{Xc:9,ud:7,name:ba.no},7:{Xc:2,ud:0,name:ba.po},8:{Xc:1,ud:2,name:ba.to},10:{Xc:2,ud:7,name:ba.oo},13:{Xc:6,ud:7,name:ba.io},15:{Xc:3,ud:0,name:ba.ro}};h=Hj.prototype; +h.vb=function(a,b,c,d){switch(c){case "listDisks":return this.ra[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.ra.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){t("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d=''+d+"");c.innerHTML= +d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.ra[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||Jj(a,c)}}(this,d),!0;case "loadDrive":return this.ra[c]=d,d.onclick=function(a){return function(){var b,c=a.ra.listDisks,d=a.ra.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.sa.restore(f)&&(e=!1);e&&a.sa&&void 0!==a.Wa&&(a.La=a.sa.seek(a.eb,a.Ka,a.Ta));return e};h.Xi=function(){for(var a=0,b=[],c=0;ca.Db||e[1]>a.Fb)&&(this.za('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b&&(a.sa=b,a.Xk=c,a.me=d,Qj(this,c,d,b),this.Kd|=128,this.za('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.ee),a.Kg=e[0],a.xf=e[1],a.yf=e[2]);a.ee&&(a.ee=!1,--this.Yd||this.Ma());Jj(this,a.Ua)}; +function Jj(a,b){if(0<=b&&b=this.Ya&&(this.va&=-81,this.kb=this.Ya=0);return a}; +h.nn=function(a,b){this.Ya=Ij[c].Xc){var d=!1;this.kb=0;var c=this.Ja(),e,f,l,g,m,n=c&31;switch(n){case 3:this.Ja(k.vo);this.Ja(k.ko);this.Bb();break;case 4:f=this.Ja(k.Qe);this.Ua=f&3;e=this.wa[this.Ua];this.Bb();this.Qb((e.Ra&4278190080)>>>24,k.yo);break;case 5:case 6:f=this.Ja(k.Qe);d=f>>2&1;this.Ua=f&3;e=this.wa[this.Ua];e.Ka=d;f=e.eb=this.Ja(k.fl);l=this.Ja(k.hl);g=e.Ta=this.Ja(k.jl);m=this.Ja(k.dj);e.bb=128<< +m;e.sd=this.Ja(k.ho);this.Ja(k.gl);this.Ja(k.fo);6==n?this.wh(e):this.xh(e);Rj(this,e,c,d,f,l,g,m);d=!0;break;case 7:f=this.Ja(k.Qe);this.Ua=f&3;e=this.wa[this.Ua];e.eb=e.pd=0;e.Ra=268435488;this.Bb();d=!0;break;case 8:e=this.wa[this.Ua];e.Ka=0;this.Bb();this.Qb(e.Ua|e.Ka<<2|e.Ra&255,k.kl);this.Qb(e.eb,k.mo);this.Ua=this.Ua+1&3;break;case 10:f=this.Ja(k.Qe);d=f>>2&1;this.Ua=f&3;e=this.wa[this.Ua];f=e.eb;l=e.Ka=d;g=e.Ta=1;m=0;e.Ra=0;e.sa&&(e.La=e.sa.seek(e.eb,e.Ka,e.Ta))?m=e.La.length:e.Ra=1088;Rj(this, +e,c,d,f,l,g,m);d=!0;break;case 13:f=this.Ja(k.Qe);d=f>>2&1;this.Ua=f&3;e=this.wa[this.Ua];f=e.eb;l=e.Ka=d;g=1;m=this.Ja(k.dj);e.bb=128<>2&1,f=this.Ja(k.lo),e.eb+=f-e.pd,0>e.eb&&(e.eb=0),e.eb>=e.Db&&(e.eb=e.Db-1),e.pd=f,e.Ra=32,0==e.eb&&(e.Ra|=268435456),this.Bb(),d=!0}0>>8,k.wo);a.Qb((b.Ra&16711680)>>>16,k.xo);var m=0;if(e!=b.eb||f!=b.Ka)m=l=1;c&128&&(f^=m,d||(m=0));a.Qb(e+m,k.fl);a.Qb(f,k.hl);a.Qb(l,k.jl);a.Qb(g,k.dj)}h.Ja=function(){var a=this.Rb[this.kb];this.kb++;return a};h.Bb=function(){this.kb=this.Ya=0};h.Qb=function(a){this.Rb[this.Ya++]=a}; +h.uh=function(a,b,c){void 0===b||0>b?this.wc(a,c):c(-1,!1)};h.vh=function(a,b){return void 0!==b&&0<=b?this.zc(a,b):-1};h.ql=function(a,b){return void 0!==b&&0<=b?this.aj(a,b):-1};h.wh=function(a){a.Ra=72;a.sa&&(a.La=null,a.Ra=0,this.ia&&(Qh(this.ia,2,this,"dmaRead",a),Mh(this.ia,2)))};h.xh=function(a){a.Ra=72;a.sa&&(a.sa.Ce?a.Ra=576:(a.La=null,a.Ra=0,this.ia&&(Qh(this.ia,2,this,"dmaWrite",a),Mh(this.ia,2))))}; +h.tj=function(a){a.Ra=72;a.sa&&(a.La=null,a.Ra=0,this.ia&&(a.ae=0,a.hc=Array(4),a.Ye=!0,a.cf=0,Qh(this.ia,2,this,"dmaFormat",a),Mh(this.ia,2),a.Ye=!1))};h.wc=function(a,b){var c=-1;if(!a.Ra&&a.sa){do{if(a.La&&0<=(c=Gj(a.La,a.Wa++)))break;a.La=a.sa.seek(a.eb,a.Ka,a.Ta);if(!a.La){a.Ra=1088;break}a.Wa=0;this.Ve(a)}while(1)}b(c,!1)}; +h.zc=function(a,b){if(a.Ra||!a.sa)return-1;do{if(a.La&&a.sa.write(a.La,a.Wa++,b))break;a.La=a.sa.seek(a.eb,a.Ka,a.Ta);if(!a.La){a.Ra=8256;b=-1;break}a.Wa=0;this.Ve(a)}while(1);return b};h.Ve=function(a){a.Ta++;a.Ta>=a.yf+1&&(a.Ta=1,a.Ka++,a.Ka>=a.xf&&(a.Ka=0,a.eb++))};h.aj=function(a,b){if(a.Ra)return-1;a.hc[a.ae++]=b;if(a.ae==a.hc.length){a.eb=a.hc[0];a.Ka=a.hc[1];a.Ta=a.hc[2];a.bb=128<this.zc(a,a.kj))return-1;a.cf++}a.cf>=a.sd&&(b=-1);return b}; +var Mj={1012:Hj.prototype.dm,1013:Hj.prototype.bm,1015:Hj.prototype.cm},Nj={1010:Hj.prototype.on,1013:Hj.prototype.nn,1015:Hj.prototype.mn};u(function(){for(var a=C(window.document,"pcjs","fdc"),b=0;b=e&&(this.If|=(f.type&3)<<(1-e<<1))}return d}; +h.Vi=function(){var a=0,b=[];this.de?(b[a++]=this.hd,b[a++]=this.Wk,b[a++]=this.Ld,b[a++]=this.Ug,b[a++]=this.Sg,b[a++]=this.Rg,b[a++]=this.Ke,b[a++]=this.va,b[a++]=this.Ti,b[a++]=this.Tg):(b[a++]=this.If,b[a++]=this.va,b[a++]=this.Rb,b[a++]=this.kb,b[a++]=this.Ya,b[a++]=this.Vk,b[a++]=this.Uk,b[a++]=this.Tk,b[a++]=this.mf);b[a]=this.Xi();return b}; +h.Oh=function(a,b,c,d,e){var f=0,l=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.Ua=a;b.errorCode=d[f++];b.al=d[f++];b.Be=d[f++];b.ue=d[f++];b.ve=d[f++];b.Ka=d[f++];b.Fb=d[f++];b.Nd=d[f++];b.Ta=d[f++];b.sd=d[f++];b.bb=d[f++];b.gg=this.de?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.Ad()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Sj[this.nf][b.type])b.type=this.Hl;c=Sj[this.nf][b.type]; +b.Nb=c[2]||17;b.tb=c[3]||512;if(e&&this.ia&&(e=this.ia,c=b.type,e.na)){var g=e.na[18],g=a?g&240|c:g&15|c<<4;e.na&&(e.na[18]=g,Ah(e))}void 0===b.sa&&(b.sa=null,this.za("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Xj(this,b);b.Wa=d[f++];b.La=null;b.sa&&(a=d[f],void 0!==a&&0>b.sa.restore(a)&&(l=!1),l&&void 0!==b.Wa&&(b.La=b.sa.seek(b.Nd,b.Ka,b.Ta+b.gg)));return l};h.Xi=function(){for(var a=0,b=[],c=0;c=this.Ya&&(this.kb=this.Ya=0,this.va&=-15);return a};h.Kn=function(a,b){this.Ya=c&&(this.va|=2,this.va&=-2,Yj(this))}; +h.Em=function(){var a=this.va;this.kb=this.Qa.tb){var b=this;this.wc(this.Qa,function(a){0<=a?Zj(b):(b.va=1,b.hd=16)},!1)}else this.va=80;return a}; +h.$m=function(a,b){this.Qa&&this.Qa.bb>=this.Qa.tb&&(0>this.zc(this.Qa,b)?(this.va=1,this.hd=16):this.Qa.Wa==this.Qa.tb&&(this.Qa.bb-=this.Qa.tb,this.Ld=this.Ld-1&255,Zj(this),this.Qa.bb>=this.Qa.tb||(this.va=80)))};h.Rl=function(){return this.hd};h.en=function(a,b){this.Wk=b};h.Sl=function(){return this.Ld};h.cn=function(a,b){this.Ld=b};h.Tl=function(){return this.Ug};h.dn=function(a,b){this.Ug=b};h.Ol=function(){return this.Sg};h.Zm=function(a,b){this.Sg=b};h.Nl=function(){return this.Rg}; +h.Ym=function(a,b){this.Rg=b};h.Ql=function(){return this.Ke};h.an=function(a,b){this.Ke=b;this.va=this.wa[this.Ke&16?1:0]?this.va|64:this.va&-65};h.Ul=function(){return this.va};h.Xm=function(a,b){this.Ti=b;this.ia&&ai(this.ia,14);ak(this)};h.bn=function(a,b){this.Tg&4&&!(b&4)&&(this.hd=1);this.Tg=b}; +function ak(a){var b=!1,c=a.Ti,d=a.Ke&16?1:0,e=a.Ke&15,f=a.Sg|(a.Rg&3)<<8,l=a.Ug,g=a.Ld||256;a.Qa=null;a.hd=0;a.va=80;(d=a.wa[d])?(d.Nd=f,d.Ka=e,d.Ta=l,d.bb=g*d.tb,c=144<=c?c:c&240,d.La=null,d.errorCode=0,a.Qa=d):c=-1;switch(c&240){case 32:a.wc(d,function(b){0<=b&&a.ia?(Zj(a),a.va=136):(a.va=1,a.hd=16)},!1);break;case 48:a.ia?(Zj(a),a.va=136):(a.va=1,a.hd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.hd=1;b=!0;break;case 145:d.Fb=e+1,d.Nb=g,b=!0}b&&Zj(a)} +function Zj(a){!a.ia||a.Tg&2||$h(a.ia,14)} +function Yj(a){a.kb=0;var b=a.Ja(),c=a.Ja(),d=c&32,e=d>>5,f=c&31,l=a.Ja(),g=a.Ja(),m=l<<2&768|g,n=l&63,q=a.Ja(),v=a.Ja(),s=a.wa[e];s&&(s.Nd=m,s.Ka=f,s.Ta=n,s.bb=q*s.tb);switch(b){case 3:a.Bb(s?s.errorCode:4);a.Qb(c);a.Qb(l);a.Qb(g);a.Qb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ja());)s&&cb?this.wc(a,c):c(-1,!1)}; +h.vh=function(a,b){return void 0!==b&&0<=b?this.zc(a,b):-1};h.rl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Wa=a.Nb+b&&(a.Ta=b,a.Ka++,a.Ka>=a.Fb&&(a.Ka=0,a.Nd++))}; +h.aj=function(a,b){if(a.errorCode)return-1;a.hc[a.ae++]=b;if(a.ae==a.hc.length){a.Nd=a.hc[0];a.Ka=a.hc[1];a.Ta=a.hc[2];a.bb=128<this.zc(a,a.kj))return-1;a.cf++}a.cf>=a.sd&&(b=-1);return b}; +var Uj={800:Z.prototype.Dm,801:Z.prototype.Em,802:Z.prototype.Cm},Tj={496:Z.prototype.Pl,497:Z.prototype.Rl,498:Z.prototype.Sl,499:Z.prototype.Tl,500:Z.prototype.Ol,501:Z.prototype.Nl,502:Z.prototype.Ql,503:Z.prototype.Ul},Wj={800:Z.prototype.Kn,801:Z.prototype.Nn,802:Z.prototype.Mn,803:Z.prototype.Ln,807:Z.prototype.Oi,811:Z.prototype.Oi,815:Z.prototype.Oi},Vj={496:Z.prototype.$m,497:Z.prototype.en,498:Z.prototype.cn,499:Z.prototype.dn,500:Z.prototype.Zm,501:Z.prototype.Ym,502:Z.prototype.an,503:Z.prototype.Xm, +1014:Z.prototype.bn};u(function(){for(var a=C(window.document,"pcjs","hdc"),b=0;bik){if(d.load(this.Mf)){this.pe=new H(this,"1.15.8","failsafe");this.pe.load()&&(mk(this,d),a=2,dk(this.pe));this.pe.set("timestamp",ha());gk(this.pe);var e=this.xc&&!this.vg;if(1==a||la("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),l=d.get("data");f&&("ok"==f?d.load(l):("error"== +f&&"no machine state"!=l?(this.za("Error: "+l),"unable to verify user"==l&&(oa("user",""),this.yc=null)):this.fc(f+": "+l),dk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&lk(this,c?d:null)}else 2==a&&d.clear()}else lk(this);delete this.Mf;delete this.Zg}e=Ea(this.id);for(f=0;fa[1];a=a[2];this.ma.Cb=!0;this.xj||(this.fc("PCjs v1.15.8\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.xj=!0);this.ka&&nk(this,this.ka,b,c,a);this.zj&&(mk(this,b),b.clear());!c&&this.pe&&(this.pe.clear(),delete this.pe)}; +function mk(a,b){if(la("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.Ad(),d=b.toString(),e={app:"PCjs",ver:"1.15.8"};e.url=a.url;e.user=c;e.type="bug";e.data=d;r("http://www.pcjs.org/api/v1/report",!0,e)}} +function ok(a,b,c){var d,e="none",f=new H(a,"1.15.8"),l=new H(a,"1.15.8","validate"),g=ha();l.set("timestamp",g);f.set("timestamp",g);f.set("version","1.15.8");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ka&&a.ka.Ob&&(c&&jb(a.ka),d=a.ka.Ob(b,c),"object"===typeof d&&f.set(a.ka.id,d),c&&(a.ka.ma.Cb=!1,!1===d&&(e=null)));for(var g=Ea(a.id),m=0;mg.indexOf("/")&&(g=window.location.pathname+g);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(g?" url=$2"+g+"$2":""))}g=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(v){g= null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,!0,null,null,function(f,l,g){if(g||!l)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=l.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=g[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=m&&(l=l.replace(g[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}l=l.replace(/<\?xml[^>]*>[\r\n]*/,