Factored PDP-11 drive controller logic into a device-independent superclass (drive.js) and a device-dependent subclass (rk11.js); the RL11 controller is ready to be factored next

This commit is contained in:
Jeff Parsons 2017-01-28 13:39:19 -08:00 • committed by Jeff Parsons
commit 5edbdcdce2
33 changed files with 1754 additions and 1615 deletions

View file

@ -72,7 +72,7 @@ class Bus8080 extends Component {
*/
constructor(parmsBus, cpu, dbg)
{
super("Bus", parmsBus, Bus8080);
super("Bus", parmsBus);
this.cpu = cpu;
this.dbg = dbg;

View file

@ -60,7 +60,7 @@ class ChipSet8080 extends Component {
*/
constructor(parmsChipSet)
{
super("ChipSet", parmsChipSet, ChipSet8080, Messages8080.CHIPSET);
super("ChipSet", parmsChipSet, Messages8080.CHIPSET);
var model = parmsChipSet['model'];

View file

@ -112,7 +112,7 @@ class Computer8080 extends Component {
*/
constructor(parmsComputer, parmsMachine, fSuspended)
{
super("Computer", parmsComputer, Computer8080, Messages8080.COMPUTER);
super("Computer", parmsComputer, Messages8080.COMPUTER);
this.flags.powered = false;

View file

@ -76,7 +76,7 @@ class CPU8080 extends Component {
*/
constructor(parmsCPU, nCyclesDefault)
{
super("CPU", parmsCPU, CPU8080, Messages8080.CPU);
super("CPU", parmsCPU, Messages8080.CPU);
var nCycles = parmsCPU['cycles'] || nCyclesDefault;

View file

@ -59,7 +59,7 @@ class Keyboard8080 extends Component {
*/
constructor(parmsKbd)
{
super("Keyboard", parmsKbd, Keyboard8080, Messages8080.KEYBOARD);
super("Keyboard", parmsKbd, Messages8080.KEYBOARD);
var model = parmsKbd['model'];

View file

@ -55,7 +55,7 @@ class Panel8080 extends Component {
*/
constructor(parmsPanel)
{
super("Panel", parmsPanel, Panel8080);
super("Panel", parmsPanel);
}
/**

View file

@ -66,7 +66,7 @@ class RAM8080 extends Component {
*/
constructor(parmsRAM)
{
super("RAM", parmsRAM, RAM8080);
super("RAM", parmsRAM);
this.abInit = null;
this.aSymbols = null;

View file

@ -66,7 +66,7 @@ class ROM8080 extends Component {
*/
constructor(parmsROM)
{
super("ROM", parmsROM, ROM8080);
super("ROM", parmsROM);
this.abROM = null;
this.addrROM = parmsROM['addr'];

View file

@ -69,7 +69,7 @@ class SerialPort8080 extends Component {
*/
constructor(parmsSerial)
{
super("SerialPort", parmsSerial, SerialPort8080, Messages8080.SERIAL);
super("SerialPort", parmsSerial, Messages8080.SERIAL);
this.iAdapter = +parmsSerial['adapter'];

View file

@ -101,7 +101,7 @@ class Video8080 extends Component {
*/
constructor(parmsVideo, canvas, context, textarea, container)
{
super("Video", parmsVideo, Video8080, Messages8080.VIDEO);
super("Video", parmsVideo, Messages8080.VIDEO);
var video = this;
this.fGecko = Web.isUserAgent("Gecko/");

View file

@ -54,7 +54,7 @@ if (NODE) {
* count: BitField,
* btmod: BitField,
* type: BitField
* }} BlockInfoPDP11
* }}
*/
var BlockInfoPDP11 = Usr.defineBitFields({num:20, count:8, btmod:1, type:3});
@ -69,7 +69,7 @@ var BlockInfoPDP11 = Usr.defineBitFields({num:20, count:8, btmod:1, type:3});
* cbTotal: number,
* cBlocks: number,
* aBlocks: Array.<BlockInfoPDP11>
* }} BusInfoPDP11
* }}
*/
var BusInfoPDP11;
@ -95,7 +95,7 @@ class BusPDP11 extends Component {
*/
constructor(parmsBus, cpu, dbg)
{
super("Bus", parmsBus, BusPDP11, MessagesPDP11.BUS);
super("Bus", parmsBus, MessagesPDP11.BUS);
this.cpu = cpu;
this.dbg = dbg;

View file

@ -104,7 +104,7 @@ class ComputerPDP11 extends Component {
*/
constructor(parmsComputer, parmsMachine, fSuspended)
{
super("Computer", parmsComputer, ComputerPDP11, MessagesPDP11.COMPUTER);
super("Computer", parmsComputer, MessagesPDP11.COMPUTER);
this.flags.powered = false;

View file

@ -93,7 +93,7 @@ class CPUPDP11 extends Component {
*/
constructor(parmsCPU, nCyclesDefault)
{
super("CPU", parmsCPU, CPUPDP11, MessagesPDP11.CPU);
super("CPU", parmsCPU, MessagesPDP11.CPU);
var nCycles = +parmsCPU['cycles'] || nCyclesDefault;

View file

@ -74,7 +74,7 @@ if (NODE) {
* priority: number,
* message: number,
* next: (IRQ|null)
* }} IRQ
* }}
*/
var IRQ;
@ -675,8 +675,8 @@ class CPUStatePDP11 extends CPUPDP11 {
restore(data)
{
/*
* ES6 ALERT: Love these destructuring assignments, which make it easy to perform the
* inverse of what save() does when it collects a bunch of object properties into an array.
* ES6 ALERT: A handy destructuring assignment, which makes it easy to perform the inverse
* of what save() does when it collects a bunch of object properties into an array.
*/
[
this.regsGen,

View file

@ -59,7 +59,7 @@ if (NODE) {
* nBase:(number|undefined),
* sCmd:(string|undefined),
* aCmds:(Array.<string>|undefined)
* }} DbgAddrPDP11
* }}
*/
var DbgAddrPDP11;

View file

@ -690,6 +690,7 @@ var PDP11 = {
RK11: { // RK11 Disk Controller
PRI: 5,
VEC: 0o220,
DRIVES: 8, // maximum of 8 drives
RKDS: { // 177400: Drive Status Register
SC: 0x000F, // (000017) Sector Counter
SCESA: 0x0010, // (000020) Sector Counter Equals Sector Address
@ -874,6 +875,8 @@ var PDP11 = {
}
};
PDP11.RK11.RK05 = [203, 2, 12, 512, PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.RRDY];
PDP11.ACCESS.READ_WORD = PDP11.ACCESS.WORD | PDP11.ACCESS.READ; // formerly READ_MODE (2)
PDP11.ACCESS.READ_BYTE = PDP11.ACCESS.BYTE | PDP11.ACCESS.READ; // formerly READ_MODE (2) | BYTE_MODE (1)
PDP11.ACCESS.WRITE_WORD = PDP11.ACCESS.WORD | PDP11.ACCESS.WRITE; // formerly WRITE_MODE (4)

View file

@ -60,7 +60,7 @@ class DevicePDP11 extends Component {
*/
constructor(parmsDevice)
{
super("Device", parmsDevice, DevicePDP11, MessagesPDP11.DEVICE);
super("Device", parmsDevice, MessagesPDP11.DEVICE);
this.kw11 = { // KW11 registers
lks: PDP11.KW11.LKS.MON,
@ -241,8 +241,8 @@ class DevicePDP11 extends Component {
restore(data)
{
/*
* ES6 ALERT: Love these destructuring assignments, which make it easy to perform the
* inverse of what save() does when it collects a bunch of object properties into an array.
* ES6 ALERT: A handy destructuring assignment, which makes it easy to perform the inverse
* of what save() does when it collects a bunch of object properties into an array.
*/
[
this.kw11.lks

View file

@ -103,13 +103,13 @@ class DiskPDP11 extends Component {
* This means, for example, that all references to "track[iSector].data" must actually appear as
* "track[iSector]['data']".
*
* @param {RK11|RL11} controller
* @param {DriveController|RK11|RL11} controller
* @param {Object} drive
* @param {string} mode
*/
constructor(controller, drive, mode)
{
super("Disk", {'id': controller.idMachine + ".disk" + Str.toHex(++DiskPDP11.nDisks, 4)}, DiskPDP11, MessagesPDP11.DISK);
super("Disk", {'id': controller.idMachine + ".disk" + Str.toHex(++DiskPDP11.nDisks, 4)}, MessagesPDP11.DISK);
/*
* Route all non-Debugger messages (eg, notice() and println() calls) through
@ -371,6 +371,7 @@ class DiskPDP11 extends Component {
}
if (this.fnNotify) {
//noinspection JSUnresolvedFunction
this.fnNotify.call(this.controller, this.drive, disk, this.sDiskName, this.sDiskPath);
this.fnNotify = null;
}
@ -590,6 +591,7 @@ class DiskPDP11 extends Component {
}
if (this.fnNotify) {
//noinspection JSUnresolvedFunction
this.fnNotify.call(this.controllerNotify, this.drive, disk, this.sDiskName, this.sDiskPath);
this.fnNotify = null;
}

1093
modules/pdp11/lib/drive.js Normal file

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,7 @@ class KeyboardPDP11 extends Component {
*/
constructor(parmsKbd)
{
super("Keyboard", parmsKbd, KeyboardPDP11, MessagesPDP11.KEYBOARD);
super("Keyboard", parmsKbd, MessagesPDP11.KEYBOARD);
this.setReady();
}

View file

@ -53,7 +53,7 @@ class PanelPDP11 extends Component {
*/
constructor(parmsPanel, fBindings)
{
super("Panel", parmsPanel, PanelPDP11, MessagesPDP11.PANEL);
super("Panel", parmsPanel, MessagesPDP11.PANEL);
/*
* If there are any live registers, LEDs, etc, to display, this will provide a count.

View file

@ -64,7 +64,7 @@ class PC11 extends Component {
*/
constructor(parms)
{
super("PC11", parms, PC11);
super("PC11", parms);
this.sDevice = "PTR"; // TODO: Make the device name configurable

View file

@ -62,7 +62,7 @@ class RAMPDP11 extends Component {
*/
constructor(parmsRAM)
{
super("RAM", parmsRAM, RAMPDP11);
super("RAM", parmsRAM);
this.abInit = null;
this.aSymbols = null;

File diff suppressed because it is too large Load diff

View file

@ -89,7 +89,7 @@ class RL11 extends Component {
*/
constructor(parms)
{
super("RL11", parms, RL11, MessagesPDP11.RL11);
super("RL11", parms, MessagesPDP11.RL11);
/*
* We preliminarily parse and record any 'autoMount' object now, but we no longer process it

View file

@ -60,7 +60,7 @@ class ROMPDP11 extends Component {
*/
constructor(parmsROM)
{
super("ROM", parmsROM, ROMPDP11, MessagesPDP11.ROM);
super("ROM", parmsROM, MessagesPDP11.ROM);
this.abInit = null;
this.aSymbols = null;

View file

@ -100,7 +100,7 @@ class SerialPortPDP11 extends Component {
*/
constructor(parmsSerial)
{
super("SerialPort", parmsSerial, SerialPortPDP11, MessagesPDP11.SERIAL);
super("SerialPort", parmsSerial, MessagesPDP11.SERIAL);
this.iAdapter = +parmsSerial['adapter'];
this.nBaudReceive = +parmsSerial['baudReceive'] || PDP11.DL11.RCSR.BAUD;
@ -498,8 +498,8 @@ class SerialPortPDP11 extends Component {
}
/*
* ES6 ALERT: Love these destructuring assignments, which make it easy to perform the
* inverse of what save() does when it collects a bunch of object properties into an array.
* ES6 ALERT: A handy destructuring assignment, which makes it easy to perform the inverse
* of what saveRegisters() does when it collects a bunch of object properties into an array.
*/
[
this.regRBUF,

View file

@ -76,7 +76,7 @@
*/
class Component {
/**
* Component(type, parms, constructor, bitsMessage)
* Component(type, parms, bitsMessage)
*
* A Component object requires:
*
@ -88,14 +88,13 @@ class Component {
* name: component name (default is ""; if blank, toString() will use the type name only)
* comment: component comment string (default is undefined)
*
* Subclasses that use Component.subclass() to extend Component will likely have additional (parms) properties.
* Component subclasses will usually have additional (parms) properties.
*
* @param {string} type
* @param {Object} [parms]
* @param {Object} [constructor]
* @param {number} [bitsMessage] selects message(s) that the component wants to enable (default is 0)
*/
constructor(type, parms, constructor, bitsMessage)
constructor(type, parms, bitsMessage)
{
this.type = type;
@ -153,8 +152,8 @@ class Component {
/*
* TODO: Consider adding another parameter to the Component() constructor that allows components to tell
* us if they support single or multiple instances per machine. For example, there can be multiple SerialPort
* components per machine, but only one CPU component (well, OK, an FPU is also supported, but that's considered
* a different component).
* components per machine, but only one CPU component (some machines also support an FPU, but that component
* is considered separate from the CPU).
*
* It's not critical, but it would help catch machine configuration errors; for example, a machine that mistakenly
* includes two CPU components may, aside from wasting memory, end up with odd side-effects, like unresponsive

View file

@ -48,7 +48,7 @@ if (NODE) {
* fTemporary:(boolean|undefined),
* sCmd:(string|undefined),
* aCmds:(Array.<string>|undefined)
* }} DbgAddr
* }}
*/
var DbgAddr;
@ -94,7 +94,7 @@ class Debugger extends Component {
constructor(parmsDbg) {
if (DEBUGGER) {
super("Debugger", parmsDbg, Debugger);
super("Debugger", parmsDbg);
/*
* Default base used to display all values; modified with the "s base" command.

View file

@ -200,6 +200,7 @@
"./modules/pdp11/lib/serial.js",
"./modules/pdp11/lib/pc11.js",
"./modules/pdp11/lib/disk.js",
"./modules/pdp11/lib/drive.js",
"./modules/pdp11/lib/rk11.js",
"./modules/pdp11/lib/rl11.js",
"./modules/shared/es6/debugger.js",

View file

@ -32,7 +32,7 @@
var k;function ba(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}
var m={le:0,oe:1,pe:2,qe:3,re:4,se:5,te:6,ue:7,ve:8,we:9,xe:10,ye:11,ze:12,Ae:13,Be:14,Ce:15,De:16,Ee:17,Fe:18,Ge:19,He:20,Ie:21,Je:22,Ke:23,Le:24,Me:25,Ne:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,pb:65,rc:66,tc:67,Rb:68,E:69,xc:70,yc:71,zc:72,Ac:73,Hc:74,Ic:75,Ub:76,Pc:77,Qc:78,Sc:79,Tc:80,Q:81,Zc:82,bd:83,hd:84,jd:85,kd:86,ld:87,
nd:88,od:89,Db:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pd:97,wf:98,xf:99,d:100,e:101,yf:102,zf:103,Af:104,Bf:105,Cf:106,k:107,Df:108,Ef:109,n:110,Ff:111,p:112,q:113,r:114,Gf:115,t:116,If:117,Jf:118,Kf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Oe:127};
function n(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.bc=b.comment;this.wd=b;this.exports={};this.P=this.bindings={};a=this.id.indexOf(".");0>a?this.$a=this.id:(this.ab=this.id.substr(0,a),this.$a=this.id.substr(a+1));this.G={ready:!1,jb:!1,Eb:!1,ja:!1,error:!1};this.vb=null;this.G.error=!1;this.ha=d||0;this.K=this.u=this.H=this.S=this.ta=null;ca.push(this)}function da(a,b,c){ea[a]&&b&&(ea[a][b]=c)}function fa(){return Date.now()||+new Date}
function n(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.bc=b.comment;this.wd=b;this.exports={};this.P=this.bindings={};a=this.id.indexOf(".");0>a?this.$a=this.id:(this.ab=this.id.substr(0,a),this.$a=this.id.substr(a+1));this.G={ready:!1,jb:!1,Eb:!1,ja:!1,error:!1};this.vb=null;this.G.error=!1;this.ha=c||0;this.K=this.u=this.H=this.S=this.ta=null;ca.push(this)}function da(a,b,c){ea[a]&&b&&(ea[a][b]=c)}function fa(){return Date.now()||+new Date}
function ga(a,b,c){b||q((c?c+": ":"")+a)}function q(a){window&&window.alert(a)}function ha(a){var b=!1;window&&(b=window.confirm(a));return b}function ja(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ca.length;b++){var d=ca[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ka(a){if(void 0!==a){var b;for(b=0;b<ca.length;b++)if(ca[b].id===a)return ca[b]}return null}
function la(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<ca.length;d++)if(c)c==ca[d]&&(c=null);else if(!(a!=ca[d].type||b&&ca[d].id.indexOf(b)))return ca[d]}return null}function na(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
function oa(a,b){b=pa(b.parentNode,"pc8080-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pc8080-binding":(g=na(f))&&g.binding&&a.ca(g.type,g.binding,f,g.value),l=h.length}}}}
@ -75,7 +75,7 @@ k.ob=function(a,b){this.K&&wa(this.K,129)&&this.K.message("attempt to write "+y(
k.je=function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ca=!0};k.Vd=function(a,b){if(this.K&&null!=this.J){var c=this.K;sc(c,this.J+a,1,c.I)&&c.da(!0)}return this.lb(a,b)};k.Zd=function(a,b){if(this.K&&null!=this.J){var c=this.K;sc(c,this.J+a,2,c.I)&&c.da(!0)}return this.Jb(a,b)};
k.de=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;sc(d,this.J+a,1,d.w)&&d.da(!0)}this.u?this.ob(0,b):this.nb(a,b,c)};k.he=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;sc(d,this.J+a,2,d.w)&&d.da(!0)}this.u?this.ob(0,b):this.Ob(a,b,c)};k.Ud=function(a){return this.g[a]};k.Wd=function(a){return this.g[a]};k.Yd=function(a){return this.w.getUint16(a,!0)};k.$d=function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.A[a>>1]};k.ce=function(a,b){this.g[a]=b;this.Ca=!0};
k.ee=function(a,b){this.g[a]=b;this.Ca=!0};k.ge=function(a,b){this.w.setUint16(a,b,!0);this.Ca=!0};k.ie=function(a,b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.A[a>>1]=b;this.Ca=!0};var Yb=0,Zb=2,Cb=["NONE","RAM","ROM","VID","H/W"],Xb=0,ec=[],cc=[z.prototype.Xd,z.prototype.fe,z.prototype.ae,z.prototype.je],hc=[z.prototype.Vd,z.prototype.de,z.prototype.Zd,z.prototype.he];if(qb)var bc=[z.prototype.Ud,z.prototype.ce,z.prototype.Yd,z.prototype.ge],ac=[z.prototype.Wd,z.prototype.ee,z.prototype.$d,z.prototype.ie];
function tc(a,b){n.call(this,"CPU",a,0,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.U=c;this.Sa=Math.round(this.Fa/1E4)/100;this.Z=this.Sa*this.U;this.G.ka=!1;this.G.Mb=!1;this.G.ib=a.autoStart;this.G.ec=!1;this.G.Va=!1;this.ya=this.oa=0;this.za=a.csStart;this.na=a.csInterval;this.sa=a.csStop;this.T=[];this.zb=this.qb.bind(this);sa(this)}ba(tc,n);k=tc.prototype;
function tc(a,b){n.call(this,"CPU",a,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.U=c;this.Sa=Math.round(this.Fa/1E4)/100;this.Z=this.Sa*this.U;this.G.ka=!1;this.G.Mb=!1;this.G.ib=a.autoStart;this.G.ec=!1;this.G.Va=!1;this.ya=this.oa=0;this.za=a.csStart;this.na=a.csInterval;this.sa=a.csStop;this.T=[];this.zb=this.qb.bind(this);sa(this)}ba(tc,n);k=tc.prototype;
k.Ea=function(a,b,c,d){this.S=a;this.H=b;this.K=d;for(b=0;b<uc.length;b++)(c=this.P[uc[b]])&&this.S.ca(null,uc[b],c);this.W=vb(a,"ChipSet");a=vc(a,"autoStart");null!=a&&(this.G.ib="true"==a?!0:"false"==a?!1:!!a);sa(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.ua=function(a,b){if(!b){if(a&&this.restore){wc(this);if(!this.restore(a))return!1;xc(this)}else this.reset();this.K?(a=this.K,a.i("Type ? for help with PC8080 Debugger commands"),yc(a),a.ea&&(b=a.ea,a.ea=null,zc(a,b))):this.i("No debugger detected")}Ac(this);return!0};k.wa=function(a){return a?this.save():!0};k.ib=function(){return this.G.ib||!this.K&&void 0===this.P.run?(this.qb(),!0):!1};k.hc=function(){return 0};
function xc(a){void 0===a.za&&(a.za=0);void 0===a.na&&(a.na=-1);void 0===a.sa&&(a.sa=-1);a.G.Va=0<=a.za&&0<a.na;a.G.Va&&(a.ya=0,a.oa=a.za-a.la)}function Bc(a,b){if(a.G.Va){var c=!1;a.ya=a.ya+a.hc()|0;a.oa-=b;0>=a.oa&&(a.oa+=a.na,c=!0);0<=a.sa&&a.sa<=Cc(a)&&(a.na=a.sa=-1,xc(a),a.da(),c=!0);c&&a.i(Cc(a)+" cycles: checksum="+x(a.ya))}}
@ -118,7 +118,7 @@ md(this)||C(this,a);this.b-=10},function(){var a=G(this);Sb(this.H,a,this.g,this
11},function(){I(this,D(this));this.b-=11},function(){this.g=ud(this,G(this));this.b-=7},function(){I(this,this.j);C(this,32);this.b-=11},function(){od(this)&&(C(this,Bd(this)),this.b-=6);this.b-=5},function(){C(this,D(this));this.b-=5},function(){var a=H(this);od(this)&&C(this,a);this.b-=10},function(){var a=D(this);ld(this,jd(this));kd(this,a);this.b-=5},function(){var a=H(this);od(this)&&(I(this,this.j),C(this,a),this.b-=6);this.b-=11},Jd,function(){this.g=zd(this,G(this));this.b-=7},function(){I(this,
this.j);C(this,40);this.b-=11},function(){rd(this)||(C(this,Bd(this)),this.b-=6);this.b-=5},function(){var a=Bd(this);Sc(this,a&255|this.N&-256);this.g=a>>8;this.b-=10},function(){var a=H(this);rd(this)||C(this,a);this.b-=10},function(){this.N&=-513;this.b-=4},function(){var a=H(this);rd(this)||(I(this,this.j),C(this,a),this.b-=6);this.b-=11},function(){I(this,Uc(this)&255|this.g<<8);this.b-=11},function(){this.g=xd(this,G(this));this.b-=7},function(){I(this,this.j);C(this,48);this.b-=11},function(){rd(this)&&
(C(this,Bd(this)),this.b-=6);this.b-=5},function(){this.M=D(this)&65535;this.b-=5},function(){var a=H(this);rd(this)&&C(this,a);this.b-=10},function(){this.N|=512;this.b-=4;Cd(this)},function(){var a=H(this);rd(this)&&(I(this,this.j),C(this,a),this.b-=6);this.b-=11},Jd,function(){E(this,G(this));this.b-=7},function(){I(this,this.j);C(this,56);this.b-=11}];
function Kd(a){n.call(this,"ChipSet",a,0,32768);var b=a.model;b&&!Ld[b]&&ga("Unrecognized ChipSet model: "+b);this.g=Ld[b]||{};a.sound&&(this.U=null,window&&(this.U=window.AudioContext||window.webkitAudioContext),this.U&&new this.U);sa(this)}ba(Kd,n);k=Kd.prototype;k.ca=function(){return!1};
function Kd(a){n.call(this,"ChipSet",a,32768);var b=a.model;b&&!Ld[b]&&ga("Unrecognized ChipSet model: "+b);this.g=Ld[b]||{};a.sound&&(this.U=null,window&&(this.U=window.AudioContext||window.webkitAudioContext),this.U&&new this.U);sa(this)}ba(Kd,n);k=Kd.prototype;k.ca=function(){return!1};
k.Ea=function(a,b,c,d){this.H=b;this.u=c;this.K=d;this.S=a;this.B=vb(a,"Keyboard");this.C=vb(a,"SerialPort");this.video=vb(a,"Video");Nb(b,this,this.g.xb);Rb(b,this,this.g.yb);if(d){var e=this;Md(d,16384,function(){for(var a="",b=0;b<e.j.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=y(e.j[b]);e.K.i(a)})}};k.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.wa=function(a){return a?this.save():!0};k.reset=function(){this.g.INIT&&!this.restore(this.g.INIT)&&this.aa("reset error")};
k.save=function(){var a=new Vc(this);switch(this.g.pa){case Nd.pa:a.set(0,[this.ea,this.A,this.ga,this.N,this.T,this.Y,this.Z]);break;case L.pa:a.set(0,[this.W,this.D]),a.set(1,[this.F,this.I]),a.set(2,[this.w,this.O,this.X,this.V]),a.set(3,[this.M,this.b,this.L,this.R,this.j])}return a.data()};
k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.g.pa){case Nd.pa:return this.ea=b[0],this.A=b[1],this.ga=b[2],this.N=b[3],this.T=b[4],this.Y=b[5],this.Z=b[6],!0;case L.pa:return this.W=b[0],this.D=b[1],b=a[1],this.F=b[0],this.I=b[1],b=a[2],this.w=b[0],this.O=b[1],this.X=b[2],this.V=b[3],b=a[3],this.M=b[0],this.b=b[1],this.L=b[2],this.R=b[3],this.j=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Bd=function(a,b){var c=this.ea;v(this,a,null,b,"STATUS0",c,!0);return c};
@ -143,7 +143,7 @@ function Vd(a){n.call(this,"RAM",a);this.ra=this.g=null;this.w=a.addr;this.A=a.s
Vd.prototype.Ea=function(a,b,c,d){this.H=b;this.u=c;this.K=d;Wd(this)};Vd.prototype.ua=function(){return!0};Vd.prototype.wa=function(){return!0};
function Wd(a){!a.j&&a.A&&zb(a.H,a.w,a.A,1)&&(a.j=!0);if(!ra(a)){if(!a.j)q("No RAM allocated");else if(a.b){if(!a.g||!a.H)return;var b=a.w;null!==a.Qa&&(b=a.Qa);for(var c=0;c<a.g.length;c++)Hb(a.H,b+c,a.g[c]);if(null!==a.Ia){if(a.Ia==Xd){for(c=0;c<Yd.length;c++)Hb(a.H,Yd[c],118);Rc(a.u,function(a){return function(b){if(0<=Yd.indexOf(b)){var c=!1,d=a.u,e=a.K;if(b==Zd)switch(c=!0,d.A){case $d:ae(a,String.fromCharCode(d.C));break;case be:for(var l=jd(d),p="",r=255;r--;){var t=F(a.u,l++);if(36==t)break;
p+=String.fromCharCode(t)}ae(a,p);break;default:c=!1}c?Id.call(d):e&&(a.i("\nCP/M vector "+y(b)),C(d,b),e.da());b=!0}else b=!1;return b}}(a))}Tc(a.u,a.Ia)}delete a.g}sa(a)}}Vd.prototype.reset=function(){};function ae(a,b){b=b.replace(/\r/g,"");a.ta&&(a.ta.value+=b,a.ta.scrollTop=a.ta.scrollHeight)}var Zd=5,$d=2,be=9,Xd=256,Yd=[0,Zd];hb(function(){for(var a=pa(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=na(c),d=new Vd(d);oa(d,c)}});
function ce(a){n.call(this,"Keyboard",a,0,65536);(a=a.model)&&!de[a]&&ga("Unrecognized Keyboard8080 model: "+a);this.b=de[a]||{};this.reset();sa(this)}ba(ce,n);k=ce.prototype;
function ce(a){n.call(this,"Keyboard",a,65536);(a=a.model)&&!de[a]&&ga("Unrecognized Keyboard8080 model: "+a);this.b=de[a]||{};this.reset();sa(this)}ba(ce,n);k=ce.prototype;
k.ca=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.P[e]){if("led"==a&&this.b.bb[b])return this.P[e]=c,!0;switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return ee(d,a,!0)},c.onkeyup=function(a){return ee(d,a,!1)},c.onkeypress=function(a){a=a.keyCode;a>=m.pb&&a<=m.Db?d.j&(fe|ge)||(d.j|=ge,he(d,20,!0),De(d)):a>=m.pd&&a<=m.z&&d.j&ge&&(d.j&=~ge,he(d,20,!1),De(d));return!0},c.onpaste=function(a){a:{if(d.C&&d.C.Ra&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),
a=a.clipboardData||window.clipboardData)){Ee(d.C,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ta&&void 0!==this.b.Ta[b])return this.P[e]=c,c.onclick=function(a,b){return function(c){c.preventDefault&&c.preventDefault();he(a,b,!0,!0)}}(this,this.b.Ta[b]),!0}}return!1};k.Ea=function(a,b,c,d){this.S=a;this.u=c;this.K=d;var e=this;this.L=Ic(this.u,function(){Fe(e)});this.W=vb(a,"ChipSet");this.C=vb(a,"SerialPort");Nb(b,this,this.b.xb);Rb(b,this,this.b.yb)};
k.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.wa=function(a){return a?this.save():!0};k.reset=function(){this.g=[];this.j=0;this.b.INIT&&!this.restore(this.b.INIT)&&this.aa("reset error")};k.save=function(){var a=new Vc(this);switch(this.b.pa){case M.pa:a.set(0,[this.D,this.B,this.A,this.F,-1])}return a.data()};
@ -155,7 +155,7 @@ k.Td=function(a,b,c){v(this,a,b,c,"KBDUART.STATUS");this.D=b;this.A=!0;this.F=Cc
var Ge={pa:1978.1,Cb:{},Pb:Te,bb:{},Ta:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},N={},M={pa:100,Cb:(N[8]=3,N[m.Tc]=5,N[m.Sc]=6,N[m.od]=7,N[m.hd]=8,N[m.ld]=9,N[m.Q]=10,N[39]=16,N[221]=20,N[219]=21,N[m.Ac]=22,N[m.jd]=23,N[m.Zc]=24,N[m.E]=25,N[49]=26,N[37]=32,N[40]=34,N[117]=35,N[19]=35,N[192]=36,N[189]=37,N[57]=38,N[55]=39,N[52]=40,N[51]=41,N[27]=42,N[38]=48,N[114]=49,N[112]=50,N[46]=51,N[187]=52,N[48]=53,N[56]=54,N[54]=55,N[53]=56,N[50]=57,N[9]=58,N[103]=64,N[115]=65,N[113]=66,N[96]=67,N[118]=
68,N[220]=69,N[m.Ub]=70,N[m.Ic]=71,N[m.yc]=72,N[m.xc]=73,N[m.pb]=74,N[104]=80,N[2013]=81,N[98]=82,N[97]=83,N[222]=85,N[186]=86,N[m.Hc]=87,N[m.zc]=88,N[m.Rb]=89,N[m.bd]=90,N[110]=96,N[116]=97,N[101]=98,N[100]=99,N[13]=100,N[190]=101,N[188]=102,N[m.Qc]=103,N[m.rc]=104,N[m.nd]=105,N[119]=106,N[105]=112,N[99]=113,N[102]=114,N[109]=115,N[191]=117,N[m.Pc]=118,N[m[" "]]=119,N[m.kd]=120,N[m.tc]=121,N[m.Db]=122,N[120]=123,N[17]=124,N[16]=125,N[20]=126,N),Pb:{},bb:{},Ta:{"num-comma":116,"break":117,"line-feed":118,
"no-scroll":119,setup:120},qc:{qa:130,INIT:127},Ba:{qa:130,Nc:1,Mc:2,Lc:4,Kc:8,Oc:16,Wb:32,Vb:63,ed:64,me:128,INIT:0},Jc:127};M.bb={l4:M.Ba.Nc,l3:M.Ba.Mc,l2:M.Ba.Lc,l1:M.Ba.Kc,locked:M.Ba.Oc,local:M.Ba.Wb,online:~M.Ba.Wb,"caps-lock":ge};var de={SI1978:Ge,VT100:M};M.INIT=[[M.Ba.INIT,M.qc.INIT,!1,0,-1]];M.xb={130:ce.prototype.Fd};M.yb={130:ce.prototype.Td};hb(function(){for(var a=pa(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=na(c),d=new ce(d);oa(d,c)}});
function Ue(a,b,c,d,e){n.call(this,"Video",a,0,262144);var f=this;this.Sa=bb("Gecko/");var g=["","moz","ms","webkit"];this.M=a.screenWidth;this.I=a.screenHeight;this.la=a.bufferAddr;this.sd=a.bufferRAM;var h=a.bufferFormat;this.Y=h&&Ve[h.toUpperCase()]||We;this.O=a.bufferCols;this.Z=a.bufferRows;this.Ha=this.fa=a.cellWidth||1;this.ba=a.cellHeight||1;this.ea=null;this.Na=!1;this.na=a.bufferBits||1;this.ud=a.bufferLeft||0;if(this.g=a.bufferRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g&&
function Ue(a,b,c,d,e){n.call(this,"Video",a,262144);var f=this;this.Sa=bb("Gecko/");var g=["","moz","ms","webkit"];this.M=a.screenWidth;this.I=a.screenHeight;this.la=a.bufferAddr;this.sd=a.bufferRAM;var h=a.bufferFormat;this.Y=h&&Ve[h.toUpperCase()]||We;this.O=a.bufferCols;this.Z=a.bufferRows;this.Ha=this.fa=a.cellWidth||1;this.ba=a.cellHeight||1;this.ea=null;this.Na=!1;this.na=a.bufferBits||1;this.ud=a.bufferLeft||0;if(this.g=a.bufferRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g&&
(this.aa("unsupported buffer rotation: "+this.g),this.g=0);this.oa=a.interruptRate;this.hb=a.refreshRate||60;this.F=b;this.j=c;this.V=(this.xd=d)||b||null;this.zb=this.M;this.rd=this.I;this.La=this.M/this.O|0;this.Ma=this.I/this.Z|0;1<this.ba&&(this.Z++,this.sa=0,this.ya=!1);b=a.smoothing;(c=cb("smoothing"))&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.j[d]){this.j[d]=b;break}if(this.w=a.screenRotate)this.w=this.w%360,
0<this.w&&(this.w-=360),-90!=this.w?(this.aa("unsupported screen rotation: "+this.w),this.w=0):(this.j.translate(0,this.I),this.j.rotate(this.w*Math.PI/180),this.j.scale(this.I/this.M,this.M/this.I));if(this.b=e)if(this.b.Wa=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.Wa){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Xe(f,!!(document.fullscreenElement||document.msFullscreenElement||
document.mozFullScreenElement||document.webkitFullscreenElement))},!1);break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Xe(f,null)},!1);break}}if(this.R=a.fontROM)"json"!=Fa(this.R)&&(this.R=Ha()+"/api/v1/dump?file="+this.R+"&format=bytes"),Sa(this.R,null,!0,function(a,b,c){Ye(f,a,b,c)});this.Fa={}}ba(Ue,n);
@ -173,7 +173,7 @@ ya,S,La,dc,K,ia,ta,ma))}h++}g++}e++}}a.W=!0;!b&&a.ya&&1==h&&(a.A[l]=-1,h=0);a.ya
(f=b,g=e,b=c,e=d,c=a.C-(f+g),d=g),a.va.putImageData(a.Ua,0,0,b,c,e,d),a.j.drawImage(a.D,0,0,a.D.width,a.D.height,0,0,a.M,a.I))}}var bf=0,cf=1,$e=2,We=0,af=1,df=2,Ve={SI1978:af,VT100:df},ef=96,gf=64,hf=32,jf=0,lf=127,nf=15,of=16,mf=96,pf=8192,qf=16384;
hb(function(){for(var a=pa(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=na(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=Ua().indexOf("MSIE")&&(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.onresize());var f=+(d.aspect||cb("aspect"));f&&.3<=f&&3.33>=f&&(gb("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");bb("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Ue(d,e,g,f,c);oa(d,c)}});
function rf(a){n.call(this,"SerialPort",a,0,8388608);this.T=+a.adapter;switch(this.T){case 0:this.U=0;this.X=2;break;default:q("Unrecognized serial adapter #"+this.T);return}this.g=this.j=null;this.V=a.tabSize;this.R=a.charBOL;this.w=0;this.N=!1;this.D=!0;var b=a.binding;if("console"==b)this.j="";else{var c;a=sf;b&&(void 0===c&&(c="Panel"),(c=la(c,this.id))&&(b=c.P[b])&&this.ca(null,a,b))}this.A="";this.b=this.Ra=this.I=null;this.exports={connect:this.ic,receiveData:this.Kb,receiveStatus:this.be}}
function rf(a){n.call(this,"SerialPort",a,8388608);this.T=+a.adapter;switch(this.T){case 0:this.U=0;this.X=2;break;default:q("Unrecognized serial adapter #"+this.T);return}this.g=this.j=null;this.V=a.tabSize;this.R=a.charBOL;this.w=0;this.N=!1;this.D=!0;var b=a.binding;if("console"==b)this.j="";else{var c;a=sf;b&&(void 0===c&&(c="Panel"),(c=la(c,this.id))&&(b=c.P[b])&&this.ca(null,a,b))}this.A="";this.b=this.Ra=this.I=null;this.exports={connect:this.ic,receiveData:this.Kb,receiveStatus:this.be}}
ba(rf,n);k=rf.prototype;
k.ca=function(a,b,c,d){var e=this;switch(b){case sf:return this.P[b]=this.g=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),tf(e,b);return!0},c.onkeypress=function(a){a=a||window.event;tf(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.P[b]=c,d=d.replace(/\\e/g,String.fromCharCode(27)),c.onclick=function(){e.Kb(d);return!0},
!0}return!1};k.Ea=function(a,b,c,d){this.S=a;this.H=b;this.u=c;this.K=d;var e=this;this.Y=Ic(this.u,function(){e.Kb()});this.Z=Ic(this.u,function(){Ee(e)});this.W=vb(a,"ChipSet");Nb(b,this,uf,this.U);Rb(b,this,vf,this.U);sa(this)};
@ -254,7 +254,7 @@ T,U],[43,T,V],[43,T,W],[43,T,X],[43,T,Y],[43,T,Z],[43,T,R],[43,U,T],[43,U,U],[43
U],[43,R,V],[43,R,W],[43,R,X],[43,R,Y],[43,R,Z],[43,R,R],[3,R|O,T],[3,R|O,U],[3,R|O,V],[3,R|O,W],[3,R|O,X],[3,R|O,Y],[3,R|O,Z],[3,R|O,R],[2,R|O,T],[2,R|O,U],[2,R|O,V],[2,R|O,W],[2,R|O,X],[2,R|O,Y],[2,R|O,Z],[2,R|O,R],[73,R|O,T],[73,R|O,U],[73,R|O,V],[73,R|O,W],[73,R|O,X],[73,R|O,Y],[73,R|O,Z],[73,R|O,R],[66,R|O,T],[66,R|O,U],[66,R|O,V],[66,R|O,W],[66,R|O,X],[66,R|O,Y],[66,R|O,Z],[66,R|O,R],[5,R|O,T],[5,R|O,U],[5,R|O,V],[5,R|O,W],[5,R|O,X],[5,R|O,Y],[5,R|O,Z],[5,R|O,R],[76,R|O,T],[76,R|O,U],[76,R|
O,V],[76,R|O,W],[76,R|O,X],[76,R|O,Y],[76,R|O,Z],[76,R|O,R],[46,R|O,T],[46,R|O,U],[46,R|O,V],[46,R|O,W],[46,R|O,X],[46,R|O,Y],[46,R|O,Z],[46,R|O,R],[18,R|O,T],[18,R|O,U],[18,R|O,V],[18,R|O,W],[18,R|O,X],[18,R|O,Y],[18,R|O,Z],[18,R|O,R],[58],[50,Mh],[34,51],[30,51],[11,51],[51,Mh],[4,R|O,P|Q],[65,xh],[62],[54],[38,51],[30,51|yh],[15,51],[7,51],[1,R|O,P|Q],[65,xh],[57],[50,Nh],[33,51],[48,P|Q,R|O],[10,51],[51,Nh],[74,R|O,P|Q],[65,xh],[55],[54,yh],[31,51],[27,R|O,P|Q],[8,51],[7,51|yh],[67,R|O,P|Q],[65,
xh],[61],[50,Oh],[37,51],[78,Ph|uh|O,Oh|O],[14,51],[51,Oh],[6,R|O,P|Q],[65,xh],[60],[49,Oh],[36,51],[75,Oh|O,Nh|O],[13,51],[7,51|yh],[77,R|O,P|Q],[65,xh],[59],[50,Qh],[35,51],[24],[12,51],[51,Qh],[47,R|O,P|Q],[65,xh],[56],[69,Ph|O,Oh|O],[32,51],[25],[9,51],[7,51|yh],[19,R|O,P|Q],[65,xh]],Zg=1E3;hb(function(){for(var a=pa(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=na(c),d=new Uf(d);oa(d,c)}});
function Rh(a,b,c){n.call(this,"Computer",a,0,67108864);this.G.ja=!1;Sh(this,b);this.L=vc(this,"autoPower",a);this.j=0;this.T=a.busWidth||a.buswidth;this.b=Th;this.F=null;this.C=this.O=!1;this.U=vc(this,"url")||"";(Math.random()+.1).toString(36);this.g=Uh(this);if(this.u=la("CPU",this.id)){this.K=la("Debugger",this.id);this.A=[];for(b=null;b=vb(this,"Video",b);)this.A.push(b);this.H=new xb({id:this.ab+".bus",busWidth:this.T},this.u,this.K);var d,e=ja(this.id);if((this.B=la("Panel",this.id))&&this.B.ta)for(b=
function Rh(a,b,c){n.call(this,"Computer",a,67108864);this.G.ja=!1;Sh(this,b);this.L=vc(this,"autoPower",a);this.j=0;this.T=a.busWidth||a.buswidth;this.b=Th;this.F=null;this.C=this.O=!1;this.U=vc(this,"url")||"";(Math.random()+.1).toString(36);this.g=Uh(this);if(this.u=la("CPU",this.id)){this.K=la("Debugger",this.id);this.A=[];for(b=null;b=vb(this,"Video",b);)this.A.push(b);this.H=new xb({id:this.ab+".bus",busWidth:this.T},this.u,this.K);var d,e=ja(this.id);if((this.B=la("Panel",this.id))&&this.B.ta)for(b=
0;b<e.length;b++)d=e[b],d.aa=this.B.aa,d.i=this.B.i,d.ta=this.B.ta;this.i("PC8080 v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ea&&d.Ea(this,this.H,this.u,this.K);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.D=d:this.b=parseInt(d,10));var f;if(a=vc(this,"state")||(f=!0,a.state))b=this.M=a,f||(this.C=!0,this.b=Th),this.b&&(this.I=new Vc(this,"1.32.2"),Vh(this.I)?b=null:delete this.I);
!b&&this.b&&(b=Wh(this))&&(this.C=!0);if(b){var g=this;Sa(b,null,!0,function(a,b,c){c?(g.D=null,g.C=!1,g.aa("Unable to load machine state from server (error "+c+(b?": "+Na(b):"")+")")):(g.F=b,g.O=!0);sa(g)})}else sa(this);this.P.power||(this.L=!0);!c&&this.L&&Xh(this,this.kb)}else q("Unable to find CPU component")}ba(Rh,n);function Sh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
function vc(a,b,c){var d=b.toLowerCase(),d=cb(b)||cb(d);void 0===d&&a.R&&(d=a.R[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Xh(a,b,c){for(var d=ja(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ra(f)){ra(f,function(){Xh(a,b,c)});return}}b.call(a,c)}

View file

@ -28,354 +28,357 @@
http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/drive.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function ga(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ha(this)}});ga=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ja(a){ga();ca();ga();var b=a[Symbol.iterator];return b?b.call(a):ha(a)}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var la=ba,ma=["Math","log2"],na=0;na<ma.length-1;na++){var oa=ma[na];oa in la||(la[oa]={});la=la[oa]}var pa=ma[ma.length-1],ra=la[pa],sa=ra?ra:function(a){return Math.log(a)/Math.LN2};sa!=ra&&null!=sa&&aa(la,pa,{configurable:!0,writable:!0,value:sa});
var ta={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ua={rg:0,ud:1,tg:2,ug:3,vg:4,wg:5,xg:6,yg:7,Mc:8,zg:9,vd:10,Ag:11,Bg:12,wd:13,Cg:14,Dg:15,Eg:16,Fg:17,Gg:18,Hg:19,Ig:20,Jg:21,Kg:22,Lg:23,Mg:24,Ng:25,Og:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Jc:65,qg:66,sg:67,Pg:68,E:69,Qg:70,Rg:71,Sg:72,Tg:73,Ug:74,Vg:75,Wg:76,Xg:77,Yg:78,Zg:79,$g:80,Q:81,ah:82,bh:83,dh:84,eh:85,fh:86,gh:87,hh:88,ih:89,Gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,jh:97,kh:98,lh:99,d:100,e:101,mh:102,nh:103,oh:104,ph:105,sh:106,k:107,th:108,uh:109,n:110,vh:111,p:112,q:113,r:114,wh:115,t:116,yh:117,zh:118,Ah:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,xd:127};function q(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Sc=b.comment;this.Fd=b;this.exports={};this.C=this.bindings={};a=this.id.indexOf(".");0>a?this.mb=this.id:(this.nb=this.id.substr(0,a),this.mb=this.id.substr(a+1));this.A={ready:!1,fb:!1,Ac:!1,fa:!1,error:!1};this.hc=null;this.A.error=!1;this.ja=d||0;this.G=this.f=this.D=this.J=this.Pa=null;va.push(this)}function xa(a,b,c){ya[a]&&b&&(ya[a][b]=c)}
function za(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function Aa(a){var b=!1;window&&(b=window.confirm(a));return b}function Ba(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<va.length;b++){var d=va[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ca(a){if(void 0!==a){var b;for(b=0;b<va.length;b++)if(va[b].id===a)return va[b]}return null}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ja(a){fa();ca();fa();var b=a[Symbol.iterator];return b?b.call(a):ga(a)}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ka=ba,la=["Math","log2"],na=0;na<la.length-1;na++){var oa=la[na];oa in ka||(ka[oa]={});ka=ka[oa]}var pa=la[la.length-1],qa=ka[pa],ra=qa?qa:function(a){return Math.log(a)/Math.LN2};ra!=qa&&null!=ra&&aa(ka,pa,{configurable:!0,writable:!0,value:ra});
var sa={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ta={mh:0,Wd:1,ph:2,qh:3,rh:4,sh:5,th:6,uh:7,bd:8,vh:9,Xd:10,wh:11,xh:12,Yd:13,yh:14,zh:15,Ah:16,Bh:17,Ch:18,Dh:19,Eh:20,Fh:21,Gh:22,Hh:23,Ih:24,Jh:25,Kh:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Zc:65,lh:66,nh:67,Lh:68,E:69,Qh:70,Sh:71,Th:72,Uh:73,Vh:74,Wh:75,Xh:76,Yh:77,Zh:78,$h:79,bi:80,Q:81,di:82,ei:83,ii:84,ki:85,li:86,mi:87,ri:88,si:89,Ae:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ti:97,ui:98,vi:99,d:100,e:101,wi:102,xi:103,yi:104,zi:105,Ci:106,k:107,Di:108,Ei:109,n:110,Fi:111,p:112,q:113,r:114,Gi:115,t:116,Ii:117,Ji:118,Ki:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,Zd:127};function q(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.pd=b.comment;this.we=b;this.exports={};this.C=this.bindings={};a=this.id.indexOf(".");0>a?this.nb=this.id:(this.ob=this.id.substr(0,a),this.nb=this.id.substr(a+1));this.A={ready:!1,gb:!1,Qc:!1,fa:!1,error:!1};this.rc=null;this.A.error=!1;this.ia=c||0;this.G=this.f=this.D=this.J=this.Pa=null;va.push(this)}function wa(a,b,c){xa[a]&&b&&(xa[a][b]=c)}
function ya(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function za(a){var b=!1;window&&(b=window.confirm(a));return b}function Ba(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<va.length;b++){var d=va[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ca(a){if(void 0!==a){var b;for(b=0;b<va.length;b++)if(va[b].id===a)return va[b]}return null}
function Da(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<va.length;d++)if(c)c==va[d]&&(c=null);else if(!(a!=va[d].type||b&&va[d].id.indexOf(b)))return va[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function Ea(a,b){var c=x;b=y(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=w(g))&&k.binding&&a.sa(k.type,k.binding,g,k.value),m=l.length}}}}
function y(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}h=q.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.sa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.v=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.N=function(a){this.v(a,this.mb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
h.status=function(a){this.v(this.mb+": "+a)};h.N=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ja(a,b){a.A.error=!0;a.N(b)}function Ka(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function La(a,b){b&&(a.A.ready?b():a.hc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.hc,a.hc=null,b&&b()))}function Ma(a,b){a.A.fb&&(b?a.A.Ac=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.fb}
function Na(a,b){if(a.A.Ac)return a.A.fb=!1,a.A.Ac=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.fb=b;return a.A.fb}h.ya=function(){return this.A.fa=!0};h.xa=function(a,b){b&&(this.A.fa=!1);return!0};function B(a,b){if(a.G){a===a.G?b|=0:b=b||a.ja;var c=a.G.ja&b;return!!b&&c===b||!!(c&a.G.cd)}return!1}function C(a,b,c,d){a.G&&(!0===c||B(a,c|0))&&a.G.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var ya=window?window.PCjs.Machines:{},va=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
h.sa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.v=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.O=function(a){this.v(a,this.nb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
h.status=function(a){this.v(this.nb+": "+a)};h.O=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Fa(a,b){a.A.error=!0;a.O(b)}function Ga(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Ha(a,b){b&&(a.A.ready?b():a.rc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.rc,a.rc=null,b&&b()))}function Ia(a,b){a.A.gb&&(b?a.A.Qc=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.gb}
function Na(a,b){if(a.A.Qc)return a.A.gb=!1,a.A.Qc=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.gb=b;return a.A.gb}h.ya=function(){return this.A.fa=!0};h.xa=function(a,b){b&&(this.A.fa=!1);return!0};function B(a,b){if(a.G){a===a.G?b|=0:b=b||a.ia;var c=a.G.ia&b;return!!b&&c===b||!!(c&a.G.Ed)}return!1}function C(a,b,c,d){a.G&&(!0===c||B(a,c|0))&&a.G.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var xa=window?window.PCjs.Machines:{},va=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function G(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Oa(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function H(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Pa(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function I(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function J(a){return I(a,4,!0)}
function Qa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ra(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Sa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Wa(a){return a.replace(/[&<>"']/g,function(a){return Xa[a]})}function Ya(a,b){return(a+" ").slice(0,b)}
function Za(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Xa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},$a={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function ab(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function bb(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function cb(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
function Oa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Pa(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function F(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Qa(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function H(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Ra(a){return H(a,4,!0)}
function Sa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ua(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Va(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}
function ab(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},bb={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function cb(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function db(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function eb(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function db(a,b){var c,d={ca:null,ha:null,Ba:null,Aa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ba=g.load;d.Aa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
function fb(a,b){var c,d={ca:null,ha:null,Ba:null,Aa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ba=g.load;d.Aa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
e[c]&255,d.ca[f++]=e[c]>>8&255,d.ca[f++]=e[c]>>16&255,d.ca[f++]=e[c]>>24&255;else d.ca=g;d.ha=g.symbols;d.ca.length?1==d.ca.length&&(v(d.ca[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
function eb(){return"http://"+(window?window.location.host:"www.pcjs.org")}function fb(){if(null==hb){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}hb=a}return hb}function nb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function ob(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pb(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function qb(a){if(!rb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}rb=c}return rb[a]}
function sb(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function tb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function ub(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function vb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wb(a){xb.init.push(a)}
function yb(a){if(zb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ab(a){!zb&&a?(zb=!0,Bb&&Cb("init"),Db&&Cb("show")):zb=a}function Cb(a){xb[a]&&yb(xb[a])}var rb=null,xb={init:[],show:[],exit:[]},Bb=!1,Db=!1,zb=!0,hb=null;vb("onload",function(){Bb=!0;yb(xb.init)});vb("onpageshow",function(){Db=!0;yb(xb.show)});vb(pb("Opera")||pb("iOS")?"onunload":"onbeforeunload",function(){yb(xb.exit)});
var Eb="undefined"!==typeof ArrayBuffer,x="pdp11",Fb="PDPjs",Gb=!1,Hb=Eb,Ib=!0,Pb=!0,Qb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Rb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},x="pdp11",Fb="PDPjs",Gb=!1,Hb=Eb,Pb=Ib=!0,Sb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Tb(a,b){q.call(this,"Panel",a,0,512);this.j=this.u=0;this.M=b;this.ga=this.g=this.Ta=this.Sa=0;this.B=this.F=-1;this.H=this.I=this.w=!1;this.L=Ub;this.i={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.G=this.f=this.D=this.J=null;A(this)}p(Tb,q);h=Tb.prototype;
h.reset=function(a){this.stop();a&&Vb(this,this.Sa=0)};
function gb(){return"http://"+(window?window.location.host:"www.pcjs.org")}function hb(){if(null==ib){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ib=a}return ib}function jb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function kb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function mb(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function sb(a){if(!tb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}tb=c}return tb[a]}
function ub(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function vb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function wb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function xb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function yb(a){zb.init.push(a)}
function Ab(a){if(Bb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Cb(a){!Bb&&a?(Bb=!0,Db&&Eb("init"),Fb&&Eb("show")):Bb=a}function Eb(a){zb[a]&&Ab(zb[a])}var tb=null,zb={init:[],show:[],exit:[]},Db=!1,Fb=!1,Bb=!0,ib=null;xb("onload",function(){Db=!0;Ab(zb.init)});xb("onpageshow",function(){Fb=!0;Ab(zb.show)});xb(mb("Opera")||mb("iOS")?"onunload":"onbeforeunload",function(){Ab(zb.exit)});
var Gb="undefined"!==typeof ArrayBuffer,x="pdp11",Hb="PDPjs",Ib=!1,Jb=Gb,Kb=!0,Lb=!0,Mb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Nb={he:5,xe:144,ce:8,pc:{se:15,fi:16,pi:32,td:64,$d:128,wd:256,gi:512,Oh:1024,oc:2048,Nh:4096,jd:57344,Wa:{jd:13}},ne:{ye:1,oh:2,te:3,ve:28,nc:32,mc:64,md:128,ji:256,Mh:512,nd:1024,ci:2048,vd:4096,ni:8192,ai:16384,ae:32768,Hc:32736},le:{hd:1,lc:14,Bb:48,ge:64,Qb:128,hi:256,Ph:512,Rh:1024,fe:2048,Oc:8192,Hc:16384,gd:32768,ve:4608,
re:61438,Ad:3967,Wa:{lc:1,Bb:4}},me:{Nc:15,Ic:16,Pb:8160,Bc:57344,Wa:{Ic:4,Pb:5,Bc:13}},lc:{Vd:0,ze:2,je:4,zd:6,ue:8,ie:10,be:12,oi:14}},Ob={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"};Nb.oc=[203,2,12,512,Nb.pc.oc|Nb.pc.wd|Nb.pc.td];
var x="pdp11",Hb="PDPjs",Ib=!1,Jb=Gb,Lb=Kb=!0,Vb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Wb(a,b){q.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.ga=this.g=this.Ta=this.Sa=0;this.B=this.F=-1;this.H=this.I=this.w=!1;this.L=Xb;this.i={};this.b={START:[1,1,!0,!1,this.Re],STEP:[1,1,!1,!1,this.Se],ENABLE:[1,1,!1,!1,this.Ne],CONT:[1,1,!0,!1,this.Le],DEP:[0,0,!0,!1,this.Me],EXAM:[1,1,!0,!1,this.Oe],LOAD:[1,1,!0,!1,this.Qe],TEST:[0,0,!0,!1,this.Pe]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Te,a];this.G=this.f=this.D=this.J=null;A(this)}p(Wb,q);h=Wb.prototype;
h.reset=function(a){this.stop();a&&Yb(this,this.Sa=0)};
h.sa=function(a,b,c,d){if(this.J&&this.J.sa(a,b,c,d)||this.f&&this.f.sa(a,b,c,d)||this.G&&this.G.sa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.C[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.C[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.C[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Wb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Xb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Wb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Xb(a,b)}}(this,b),!0):q.prototype.sa.call(this,a,b,c,d)}};h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;Yb(b,this,Zb);$b(b,this.reset.bind(this));ac(this);bc(this)};
h.ya=function(a,b){if(!b)if(this.M&&cc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new L(this);a.set(0,[this.ga,this.Sa,this.Ta]);return a.data()};h.restore=function(a){if(a=a[0])dc(this,this.ga=a[0]),Vb(this,this.Sa=a[1]),ec(this,a[2]);return!0};function fc(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ac(a,b){for(var c in a.i)fc(a,c,null!=b?b:a.i[c])}
function gc(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function bc(a){for(var b in a.b)gc(a,b,a.b[b][1])}function hc(a,b,c,d){if(a.C[b]){var e=a.G&&a.G.Ca||8;c=c||0;c=8==e?H(c,d):I(c,d);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}function Wb(a,b){var c=a.b[b];gc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=ic&&(a.H=b==jc,a.I=b==kc)}
function Xb(a,b){var c=a.b[b];c[2]&&c[3]&&(gc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.T||(a=this.f,a.D.reset(),lc(a),this.b[mc]&&this.b[mc][1]&&nc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.ba()};
h.Rd=function(a){if(!a&&!this.f.A.T)if(this.b[mc]&&this.b[mc][1])nc(this.f);else{if((a=this.G)&&!Ma(a,!0))Na(a,!0),oc(a,0,null),Na(a,!1);else try{var b=this.f.ec(1);0<b&&(pc(this.f,b),qc(this.f,b,!0),Cc(this.f,b))}catch(c){"number"!=typeof c&&Ja(this.f,c.stack||c.message)}this.stop();this.J&&M(this.J)}};h.Sd=function(a){if(a&&!this.f.A.T)if(this.H&&Dc(this),a=Vb(this,this.Ta),this.L==Ub)Ec(this.D,this.ga,a);else{var b=this.f,c=this.ga;b.oa++;b.D.Mb(Fc(b,c,4),a);b.oa--}};
h.Ud=function(a){a||this.f.A.T||(this.I&&Dc(this),a=this.L==Ub?Gc(this.D,this.ga):Hc(this.f,this.ga),Vb(this,a))};h.Wd=function(a){a||this.f.A.T||dc(this,this.Ta)};h.Vd=function(a){a?(this.w=!0,ac(this,!0)):(this.w=!1,ac(this),ec(this,0))};h.Zd=function(a,b){this.Ta=a?this.Ta|1<<b:this.Ta&~(1<<b)};function Dc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[ic]&&a.b[ic][1]||(b=-b);dc(a,a.ga&~c|a.ga+b&c)}
function dc(a,b){a.ga=b&a.D.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Ic(a,"A"+c,b&1<<c)}}function Vb(a,b){a.g=b&65535;if(a.F!==a.g){a.F=a.g;b=a.F;for(var c=0;16>c;c++)Ic(a,"D"+c,b&1<<c)}return a.g}function Ic(a,b,c){a.i[b]=c;a.w||fc(a,b,c)}function Jc(a){return void 0!==a.C[Kc]}function ec(a,b){if(Jc(a)){a.Ta=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;bc(a)}}h.stop=function(){dc(this,this.f.g[7])};h.Gc=function(a){this.ga=a};h.setData=function(a,b){b?this.Sa=a:this.g=a};
h.de=function(a,b){return(b?this.Sa:this.Ta)&65535};h.qf=function(a){this.Sa=a};function cc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Ca(d.id);e||(e=new Tb(d,!0));Ea(e,c)}}var Ub=7,Kc="S0",jc="DEP",mc="ENABLE",kc="EXAM",ic="STEP",Lc={},Zb=(Lc[65400]=[null,null,Tb.prototype.de,Tb.prototype.qf,"CNSW"],Lc);wb(cc);
function Mc(a,b,c){q.call(this,"Bus",a,0,16);this.f=b;this.G=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Nc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.U=this.H-1;this.Ma=[];this.ma=0;this.F=!1;this.O=[];this.Hd=[Oc,Pc,Qc,Rc];this.b=this.u=[];this.B=this.L=this.w=this.P=this.R=0;a=new O(this);Sc(a,this.G);this.b=Array(this.H);this.u=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.u[b]=a;this.B=this.M-Nc;Tc(this,this.B,Nc,Uc,this);this.R=
this.P=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Mc,q);function Vc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Nc,a.R=(b&a.w)>>>a.g,a.u[a.R]=a.b[a.P])}}h=Mc.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Vc(this,16)};h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new L(this);a.set(0,Wc(this));return a.data()};
b){return function(){Zb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){$b(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Zb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){$b(a,b)}}(this,b),!0):q.prototype.sa.call(this,a,b,c,d)}};h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;ac(b,this,bc);cc(b,this.reset.bind(this));dc(this);ec(this)};
h.ya=function(a,b){if(!b)if(this.M&&fc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new I(this);a.set(0,[this.ga,this.Sa,this.Ta]);return a.data()};h.restore=function(a){if(a=a[0])gc(this,this.ga=a[0]),Yb(this,this.Sa=a[1]),hc(this,a[2]);return!0};function ic(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function dc(a,b){for(var c in a.i)ic(a,c,null!=b?b:a.i[c])}
function jc(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ec(a){for(var b in a.b)jc(a,b,a.b[b][1])}function kc(a,b,c,d){if(a.C[b]){var e=a.G&&a.G.Ca||8;c=c||0;c=8==e?F(c,d):H(c,d);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}function Zb(a,b){var c=a.b[b];jc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=lc&&(a.H=b==mc,a.I=b==nc)}
function $b(a,b){var c=a.b[b];c[2]&&c[3]&&(jc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Re=function(a){a||this.f.A.T||(a=this.f,a.D.reset(),oc(a),this.b[pc]&&this.b[pc][1]&&qc(this.f))};h.Se=function(){};h.Ne=function(a){a||this.f.ba()};
h.Le=function(a){if(!a&&!this.f.A.T)if(this.b[pc]&&this.b[pc][1])qc(this.f);else{if((a=this.G)&&!Ia(a,!0))Na(a,!0),rc(a,0,null),Na(a,!1);else try{var b=this.f.jc(1);0<b&&(sc(this.f,b),tc(this.f,b,!0),uc(this.f,b))}catch(c){"number"!=typeof c&&Fa(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Me=function(a){if(a&&!this.f.A.T)if(this.H&&vc(this),a=Yb(this,this.Ta),this.L==Xb)wc(this.D,this.ga,a);else{var b=this.f,c=this.ga;b.oa++;b.D.Ob(xc(b,c,4),a);b.oa--}};
h.Oe=function(a){a||this.f.A.T||(this.I&&vc(this),a=this.L==Xb?Jc(this.D,this.ga):Kc(this.f,this.ga),Yb(this,a))};h.Qe=function(a){a||this.f.A.T||gc(this,this.Ta)};h.Pe=function(a){a?(this.w=!0,dc(this,!0)):(this.w=!1,dc(this),hc(this,0))};h.Te=function(a,b){this.Ta=a?this.Ta|1<<b:this.Ta&~(1<<b)};function vc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[lc]&&a.b[lc][1]||(b=-b);gc(a,a.ga&~c|a.ga+b&c)}
function gc(a,b){a.ga=b&a.D.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Lc(a,"A"+c,b&1<<c)}}function Yb(a,b){a.g=b&65535;if(a.F!==a.g){a.F=a.g;b=a.F;for(var c=0;16>c;c++)Lc(a,"D"+c,b&1<<c)}return a.g}function Lc(a,b,c){a.i[b]=c;a.w||ic(a,b,c)}function Mc(a){return void 0!==a.C[Nc]}function hc(a,b){if(Mc(a)){a.Ta=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;ec(a)}}h.stop=function(){gc(this,this.f.g[7])};h.Wc=function(a){this.ga=a};h.setData=function(a,b){b?this.Sa=a:this.g=a};
h.Ye=function(a,b){return(b?this.Sa:this.Ta)&65535};h.kg=function(a){this.Sa=a};function fc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Ca(d.id);e||(e=new Wb(d,!0));Ea(e,c)}}var Xb=7,Nc="S0",mc="DEP",pc="ENABLE",nc="EXAM",lc="STEP",Oc={},bc=(Oc[65400]=[null,null,Wb.prototype.Ye,Wb.prototype.kg,"CNSW"],Oc);yb(fc);
function Pc(a,b,c){q.call(this,"Bus",a,16);this.f=b;this.G=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Qc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.U=this.H-1;this.Ma=[];this.ma=0;this.F=!1;this.N=[];this.Be=[Rc,Sc,Tc,Uc];this.b=this.u=[];this.B=this.L=this.w=this.P=this.R=0;a=new K(this);Vc(a,this.G);this.b=Array(this.H);this.u=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.u[b]=a;this.B=this.M-Qc;Wc(this,this.B,Qc,Xc,this);this.R=
this.P=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Pc,q);function Yc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Qc,a.R=(b&a.w)>>>a.g,a.u[a.R]=a.b[a.P])}}h=Pc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();Yc(this,16)};h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.save=function(){var a=new I(this);a.set(0,Zc(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.S){for(var e=0,f=Array(this.S),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Tc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Ib+=l.K-f,l.K=f,!0;if(f>=l.K+l.Ib){n=l.size-(f-m);n>g&&(n=g);l.Ib=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Xc(Yc,f,g)}f=new O(a,f,n,a.j,d,e);Sc(f,a.G,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Zc[d]+" at "+H(b)),!0):Xc($c,b,c)}h.Kc=function(a){return this.u[(a&this.w)>>>this.g].wb(a&this.i,a)};
h.dc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Pb||b!=this.i?this.u[c].na(b,a):this.u[c++].wb(b,a)|this.u[c&this.U].wb(0,a+1)<<8};h.Lc=function(a,b){this.u[(a&this.w)>>>this.g].yb(a&this.i,b,a)};h.Mb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Pb||c!=this.i?this.u[d].zb(c,b,a):(this.u[d++].yb(c,b&255,a),this.u[d&this.U].yb(0,b>>8&255,a+1))};function ad(a,b){return a.b[(b&a.I)>>>a.g]}
function Gc(a,b){var c;a.F=!1;a.ma++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?c=e.B(d,b):c=e.j(d,b)|ad(a,b+1).j(0,b+1)<<8;a.ma--;return c}function bd(a,b,c){a.F=!1;a.ma++;ad(a,b).D(b&a.i,c&255,b);a.ma--}function Ec(a,b,c){a.F=!1;a.ma++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?e.F(d,c&65535,b):(e.D(d,c&255,b),ad(a,b+1).D(0,c>>8&255,b+1));a.ma--}
function Wc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Wa||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function cd(a){for(var b=dd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Ib)}return c}
function ed(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&fd;if(void 0!==a.Ma[n])return v("I/O address already registered: "+I(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Yb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ka)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!ed(a,f,f,k,l,m,n,g[7]||b.ja,r||b.mb))return!1}}return!0}
function $b(a,b){a.O.push(b)}h.La=function(a,b,c){this.F=!0;this.ma||(this.G&&B(this.G,4)&&C(this.G,"memory fault ("+c+") on "+P(this.G,a),!0,!0),b&&(this.f.R|=b),this.f.ta(4,0,a))};function gd(a){var b=a.F;a.F=!1;return b}function Xc(a,b,c){v("Memory block error ("+a+": "+I(b)+","+I(c)+")");return!1}var Nc=8192,fd=Nc-1,Yc=1,$c=2;
function Oc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&B(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+P(this.f,b)+"): "+P(this.f,c),!0,!d.ma),c;d.La(b,16,3);c=255;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+P(this.f,b)+": "+P(this.f,c),!0,!d.ma);return c}
function Pc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+P(this.f,c)+","+P(this.f,b)+")",!0,!e.ma):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+P(this.f,c)+": "+P(this.f,
b),!0,!e.ma))}function Qc(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+P(this.f,b)+"): "+P(this.f,c),!0,!d.ma),c;d.La(b,16,2);c=65535;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+P(this.f,b)+": "+P(this.f,c),!0,!d.ma);return c}
function Rc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+P(this.f,c)+","+P(this.f,b)+")",!0,!e.ma):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+P(this.f,c)+": "+P(this.f,b),!0,!e.ma))}function Q(a){q.call(this,"Device",a,0,256);this.b={Ya:128,Hc:-1}}p(Q,q);h=Q.prototype;
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.G=d;var e=this;this.b.Hc=hd(c,function(){e.b.Ya|=128;e.b.Ya&64&&id(e.f,e.b.hb);e.J&&M(e.J,1);kd(e.f,e.b.Hc,1E3/60)});this.b.hb=ld(c,64,6,524288);Yb(b,this,md);$b(b,this.reset.bind(this));d&&nd(d,64,function(a){var b=e.f;od(e,"KIPDR",b.B[0],0,a[0]);od(e,"KDPDR",b.B[0],8,a[0]);od(e,"KIPAR",b.M[0],0,a[0]);od(e,"KDPAR",b.M[0],8,a[0],!0);od(e,"SIPDR",b.B[1],0,a[0]);od(e,"SDPDR",b.B[1],8,a[0]);od(e,"SIPAR",b.M[1],0,a[0]);od(e,"SDPAR",b.M[1],8,a[0],
!0);od(e,"UIPDR",b.B[3],0,a[0]);od(e,"UDPDR",b.B[3],8,a[0]);od(e,"UIPAR",b.M[3],0,a[0]);od(e,"UDPAR",b.M[3],8,a[0],!0);b.V&32&&od(e,"UNIMAP",b.Fa,-1,a[0])});A(this)};function od(a,b,c,d,e,f){a=a.G;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+Pa(n)+"]":"")+":"),g+=" "+P(a,c[d+n],l);a.v(g+(f?"\n":""))}}h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b.Ya=128;kd(this.f,this.b.Hc,1E3/60,!0)};h.save=function(){var a=new L(this);a.set(0,[this.b.Ya]);return a.data()};h.restore=function(a){a=ja(a[0]);this.b.Ya=a.next().value;return!0};h.ke=function(){return this.b.Ya};h.xf=function(a){this.b.Ya=a&192;this.b.Ya&64||pd(this.f,this.b.hb)};h.me=function(){return qd(this.f)};h.zf=function(a){rd(this.f,a&-129|this.f.U&128)};h.ne=function(){return sd(this.f)};h.oe=function(){return td(this.f)};
h.pe=function(){return this.f.V};h.Af=function(a){ud(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Fa[a>>1];return a&1?b>>16:b&65535};h.hg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Fa[c]=b&1?this.f.Fa[c]&65535|(a&63)<<16:this.f.Fa[c]&-65536|a&65534};h.Qe=function(a){return this.f.B[1][a>>1&7]};h.ag=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.B[1][(a>>1&7)+8]};h.Zf=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};
h.$f=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Yf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.je=function(a){return this.f.B[0][a>>1&7]};h.wf=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.he=function(a){return this.f.B[0][(a>>1&7)+8]};h.uf=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.vf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.tf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.We=function(a){return this.f.B[3][a>>1&7]};h.gg=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Ue=function(a){return this.f.B[3][(a>>1&7)+8]};h.eg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.fg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};
h.dg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.pa[a]:this.f.g[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.pa[b]=a:this.f.g[b]=a};h.ue=function(){return this.f.w&49152?this.f.W[0]:this.f.g[6]};h.Ff=function(a){this.f.w&49152?this.f.W[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.If=function(a){this.f.g[7]=a};h.Hb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.pa[a]};
h.Lb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.pa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[1]};h.Gf=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[1]=a};h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[3]};h.Hf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[3]=a};h.fe=function(a){return this.f.ac[a-65504>>1]};h.sf=function(a,b){this.f.ac[b-65504>>1]=a};h.nd=function(a){return 65520==a?(cd(this.D)>>6)-1:0};
h.sd=function(){};h.Se=function(){return 1};h.cg=function(){};h.ee=function(){return this.f.R};h.rf=function(){this.f.R=0};h.le=function(){return this.f.Yb};h.yf=function(a,b){b&1||(a&=255);this.f.Yb=a};h.qe=function(a,b){return b?0:this.f.Va};h.Bf=function(a){vd(this.f,a)};h.Re=function(a,b){return b?0:this.f.za&65280};h.bg=function(a){this.f.za=a|255};h.te=function(){return wd(this.f)};h.Ef=function(a){xd(this.f,a)};h.rd=function(a,b){B(this)&&C(this,"writeIgnored("+H(b)+"): "+H(a),!0,!0)};
var R={},md=(R[61568]=[null,null,Q.prototype.Xe,Q.prototype.hg,"UNIMAP",64,1170],R[62592]=[null,null,Q.prototype.Qe,Q.prototype.ag,"SIPDR",8,1145,64],R[62608]=[null,null,Q.prototype.Oe,Q.prototype.Zf,"SDPDR",8,1145,64],R[62624]=[null,null,Q.prototype.Pe,Q.prototype.$f,"SIPAR",8,1145,64],R[62640]=[null,null,Q.prototype.Ne,Q.prototype.Yf,"SDPAR",8,1145,64],R[62656]=[null,null,Q.prototype.je,Q.prototype.wf,"KIPDR",8,1140,64],R[62672]=[null,null,Q.prototype.he,Q.prototype.uf,"KDPDR",8,1145,64],R[62688]=
[null,null,Q.prototype.ie,Q.prototype.vf,"KIPAR",8,1140,64],R[62704]=[null,null,Q.prototype.ge,Q.prototype.tf,"KDPAR",8,1145,64],R[62798]=[null,null,Q.prototype.pe,Q.prototype.Af,"MMR3",1,1145,64],R[65382]=[null,null,Q.prototype.ke,Q.prototype.xf,"LKS"],R[65402]=[null,null,Q.prototype.me,Q.prototype.zf,"MMR0",1,1140,64],R[65404]=[null,null,Q.prototype.ne,Q.prototype.rd,"MMR1",1,1145,64],R[65406]=[null,null,Q.prototype.oe,Q.prototype.rd,"MMR2",1,1140,64],R[65408]=[null,null,Q.prototype.We,Q.prototype.gg,
"UIPDR",8,1140,64],R[65424]=[null,null,Q.prototype.Ue,Q.prototype.eg,"UDPDR",8,1145,64],R[65440]=[null,null,Q.prototype.Ve,Q.prototype.fg,"UIPAR",8,1140,64],R[65456]=[null,null,Q.prototype.Te,Q.prototype.dg,"UDPAR",8,1145,64],R[65472]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R0SET0"],R[65473]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R1SET0"],R[65474]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R2SET0"],R[65475]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R3SET0"],R[65476]=[null,null,Q.prototype.Gb,
Q.prototype.Kb,"R4SET0"],R[65477]=[null,null,Q.prototype.Gb,Q.prototype.Kb,"R5SET0"],R[65478]=[null,null,Q.prototype.ue,Q.prototype.Ff,"R6KERNEL"],R[65479]=[null,null,Q.prototype.xe,Q.prototype.If,"R7KERNEL"],R[65480]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R0SET1",1,1145],R[65481]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R1SET1",1,1145],R[65482]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R2SET1",1,1145],R[65483]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R3SET1",1,1145],R[65484]=[null,null,Q.prototype.Hb,
Q.prototype.Lb,"R4SET1",1,1145],R[65485]=[null,null,Q.prototype.Hb,Q.prototype.Lb,"R5SET1",1,1145],R[65486]=[null,null,Q.prototype.ve,Q.prototype.Gf,"R6SUPER",1,1145],R[65487]=[null,null,Q.prototype.we,Q.prototype.Hf,"R6USER",1,1145],R[65504]=[null,null,Q.prototype.fe,Q.prototype.sf,"CTRL",8,1170],R[65520]=[null,null,Q.prototype.nd,Q.prototype.sd,"LSIZE",1,1170],R[65522]=[null,null,Q.prototype.nd,Q.prototype.sd,"HSIZE",1,1170],R[65524]=[null,null,Q.prototype.Se,Q.prototype.cg,"SYSID",1,1170],R[65526]=
[null,null,Q.prototype.ee,Q.prototype.rf,"ERR",1,1170],R[65528]=[null,null,Q.prototype.le,Q.prototype.yf,"MBR",1,1170],R[65530]=[null,null,Q.prototype.qe,Q.prototype.Bf,"PIR"],R[65532]=[null,null,Q.prototype.Re,Q.prototype.bg,"SLR"],R[65534]=[null,null,Q.prototype.te,Q.prototype.Ef,"PSW"],R);
wb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Q(c);Ea(c,d);break;case "pc11":c=new yd(c);Ea(c,d);break;case "rl11":c=new zd(c);Ea(c,d);break;case "rk11":c=new S(c),Ea(c,d)}}});
function O(a,b,c,d,e,f){this.C=a;this.id=Ad+=2;this.b=null;this.K=b;this.Ib=c;this.size=d||0;this.type=e||Bd;this.J=e==Kd;this.f=this.controller=null;this.wb=this.j=this.Dc;this.na=this.B=this.Ec;this.yb=this.D=this.Jb;this.zb=this.F=this.nc;this.G=this.i=0;Sc(this);this.Wa=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Ld(this,f.Hd);else if(Eb)this.u=new ArrayBuffer(this.size),this.w=new DataView(this.u,0,this.size),this.g=new Uint8Array(this.u,0,this.size),this.H=new Uint16Array(this.u,
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),Ld(this,Md?Nd:Od);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Ld(this,Pd)}else Ld(this)}h=O.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Eb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Eb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1};function Ld(a,b){b||(b=Qd);Rd(a,b,void 0);Sd(a,b,void 0)}function Rd(a,b,c){c&&a.G||(a.wb=b[0]||a.Dc,a.na=b[2]||a.Ec);if(c||void 0===c)a.j=b[0]||a.Dc,a.B=b[2]||a.Ec}function Sd(a,b,c){c&&a.i||(a.yb=!a.J&&b[1]||a.Jb,a.zb=!a.J&&b[3]||a.nc);if(c||void 0===c)a.D=b[1]||a.Jb,a.F=b[3]||a.nc}
h.sb=function(a,b){b?this.i++||Sd(this,Td,!1):this.G++||Rd(this,Td,!1)};function Ud(a,b){b?--a.i||(a.yb=a.J?a.Jb:a.D,a.zb=a.J?a.nc:a.F):--a.G||(a.wb=a.j,a.na=a.B)}function Sc(a,b,c){a.f=b;a.G=a.i=0;c&&((a.G=c.G)&&Rd(a,Td,!1),(a.i=c.i)&&Sd(a,Td,!1))}h.Dc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+P(this.f,b),!0);this.C.La(b,32,2);return 255};
h.Jb=function(a,b,c){this.f&&B(this.f,32)&&C(this.f,"attempt to write "+P(this.f,b)+" to invalid addresses "+P(this.f,c),!0);this.C.La(c,32,4)};h.Ec=function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8};h.nc=function(a,b,c){this.yb(a++,b&255,c++);this.yb(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Ib&&a&1&&this.C.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.pf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=!0};h.lg=function(a,b,c){Ib&&a&1&&this.C.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Wa=!0};h.ae=function(a,b){this.f&&null!=this.K&&Vd(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Vd(this.f,this.K+a,2);return this.B(a,b)};
h.mf=function(a,b,c){this.f&&null!=this.K&&Wd(this.f,this.K+a);this.J?this.Jb(0,b,c):this.D(a,b,c)};h.jg=function(a,b,c){this.f&&null!=this.K&&Wd(this.f,this.K+a,2);this.J?this.Jb(0,b,c):this.F(a,b,c)};h.$d=function(a){return this.g[a]};h.be=function(a,b){a=this.g[a];this.f&&B(this.f,32)&&C(this.f,"Memory.readByte("+P(this.f,b)+"): "+P(this.f,a),!0);return a};h.Ye=function(a,b){Ib&&a&1&&this.C.La(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){Ib&&a&1&&this.C.La(b,64,2);a=!Pb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+P(this.f,b)+"): "+P(this.f,a),!0);return a};h.lf=function(a,b){this.g[a]=b;this.Wa=!0};h.nf=function(a,b,c){this.g[a]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+P(this.f,c)+","+P(this.f,b)+")",!0)};h.ig=function(a,b,c){Ib&&a&1&&this.C.La(c,64,4);this.w.setUint16(a,b,!0);this.Wa=!0};
h.kg=function(a,b,c){Ib&&a&1&&this.C.La(c,64,4);!Pb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+P(this.f,c)+","+P(this.f,b)+")",!0)};var Bd=0,dd=1,Kd=2,Uc=4,Zc=["NONE","RAM","ROM","VID","H/W"],Ad=0,Qd=[],Pd=[O.prototype.ce,O.prototype.pf,O.prototype.cf,O.prototype.lg],Td=[O.prototype.ae,O.prototype.mf,O.prototype.Ze,O.prototype.jg];
if(Eb)var Od=[O.prototype.$d,O.prototype.lf,O.prototype.Ye,O.prototype.ig],Nd=[O.prototype.be,O.prototype.nf,O.prototype.bf,O.prototype.kg];var Xd;if(Eb){var Yd=new ArrayBuffer(2);(new DataView(Yd)).setUint16(0,256,!0);Xd=256===(new Uint16Array(Yd))[0]}else Xd=!1;var Md=Xd;
function Zd(a,b){q.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.rc=0;this.pc=b;this.cb=c;this.wc=Math.round(this.pc/1E4)/100;this.pb=this.wc*this.cb;this.xc=this.Ub=this.tb=this.qc=0;this.A.T=this.A.lc=!1;this.A.va=a.autoStart;"string"==typeof this.A.va&&(this.A.va="true"==this.A.va);this.A.Bb=!1;this.Sb=this.Db=0;this.Tb=+a.csStart;this.Cb=+a.csInterval;this.Eb=+a.csStop;this.ia=[];this.Xc=this.gf.bind(this);this.eb=this.Ia=this.bb=this.b=this.la=this.Ha=this.Rb=this.ab=this.Fb=
this.yc=this.ob=0;this.ua=null;A(this)}p(Zd,q);h=Zd.prototype;h.wa=function(a,b,c,d){this.J=a;this.D=b;this.G=d;this.ua=a.i;for(a=0;a<$d.length;a++)(b=this.C[$d[a]])&&this.J.sa(null,$d[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ya=function(a,b){var c=ae(this.J,"autoStart");null!=c?this.A.va="true"==c?!0:"false"==c?!1:!!c:null==this.A.va&&(this.A.va=!this.G&&void 0===this.C.run);if(!b){if(a){be(this);if(!this.restore(a))return!1;ce(this)}else this.reset();this.G?(a=this.G,b=this.A.va,a.Ea=!0,a.v("Type ? for help with PDPjs Debugger commands"),de(a),b||ee(a),a.ua&&(b=a.ua,a.ua=null,fe(a,b))):this.status("No debugger detected");this.A.va||this.v("CPU will not be auto-started "+(this.ua?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.xa=function(a){return a?this.save():!0};h.va=function(){return this.A.T?!0:this.A.va?(nc(this),!0):!1};h.gd=function(){return 0};function ce(a){void 0===a.Tb&&(a.Tb=0);void 0===a.Cb&&(a.Cb=-1);void 0===a.Eb&&(a.Eb=-1);a.A.Bb=0<=a.Tb&&0<a.Cb;a.A.Bb&&(a.Sb=0,a.Db=a.Tb-a.eb)}function Cc(a,b){if(a.A.Bb){var c=!1;a.Sb=a.Sb+a.gd()|0;a.Db-=b;0>=a.Db&&(a.Db+=a.Cb,c=!0);0<=a.Eb&&a.Eb<=ge(a)&&(a.Cb=a.Eb=-1,ce(a),a.ba(),c=!0);c&&a.v(ge(a)+" cycles: checksum="+I(a.Sb))}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=Ba(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.hc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.T?d.ba():nc(d))},!0;
case "speed":return this.C[b]=c,!0;case "setSpeed":return this.C[b]=c,c.onclick=function(){he(d,d.cb<<1,!0)},c.textContent=this.pb.toFixed(2)+"Mhz",!0}return!1};function qc(a,b,c){a.eb+=b;c&&(a.bb=a.b=a.la=0)}function ie(a,b){var c=1;b&&1<a.cb&&a.ob&&(c=a.ob/a.wc);a.xc=Math.round(1E3/je);a.Ub=Math.floor(a.pc/je*c);b||(a.tb=a.Ub);a.qc=0}function ge(a){return a.eb+a.Ia+a.bb-a.b}function be(a){a.ob=0;a.yc=0;a.eb=a.Ia=a.bb=a.b=a.la=0;ce(a);he(a,1)}
function he(a,b,c){var d=!1;if(void 0!==b){.8>a.ob/a.pb?b=1:d=!0;a.cb=b;b=a.wc*a.cb;if(a.pb!=b){a.pb=b;b=a.pb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&ke(a.J)}qc(a,a.Ia);a.Ia=0;a.Ha=za();a.ab=0;ie(a);return d}function hd(a,b){var c=a.ia.length;a.ia.push([-1,b]);return c}function kd(a,b,c,d){0<=b&&b<a.ia.length&&(d||0>a.ia[b][0])&&(c=a.pc*a.cb/1E3*c|0,a.A.T&&(c+=le(a)),a.ia[b][0]=c)}
function me(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ne(a){for(var b=[],c=0;c<a.ia.length;c++)b.push(a.ia[c][0]);return b}function pc(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function le(a,b){var c=a.bb-=a.b;a.b=a.la=0;b&&(a.bb=0);return c}
h.gf=function(){if(this.A.T){this.qc>=this.pc&&ie(this,!0);this.Fb=0;this.Rb=za();if(this.ab){var a=this.Rb-this.ab;a>this.xc&&(this.Ha+=a,this.Ha>this.Rb&&(this.Ha=this.Rb))}try{do{var b=me(this,this.A.Bb?1:this.Ub);try{this.ec(b)}catch(e){if("number"!=typeof e)throw e;}b=le(this,!0);this.Fb+=b;this.Ia+=b;Cc(this,b);pc(this,b);this.tb-=b;if(0>=this.tb){this.tb+=this.Ub;++this.yc>=oe&&(this.J&&M(this.J,void 0),this.yc=0);break}}while(this.A.T)}catch(e){this.ba();this.J&&this.J.stop(za(),ge(this));
Ja(this,e.stack||e.message);return}if(this.A.T){a=setTimeout;b=this.Xc;this.ab=za();var c=this.xc;this.Fb&&(c=Math.round(c*this.Fb/this.Ub));var c=c-(this.ab-this.Rb),d=this.ab-this.Ha;d&&(this.ob=Math.round(this.Ia/(10*d))/100,864E5<=d&&(this.eb=0,he(this)));if(0>c||this.ob<this.pb)-1E3>c&&(this.Ha-=c),c=0;this.qc+=this.Fb;this.ab+=c;a(b,c)}}};
function nc(a,b){if(!Ka(a))if(a.A.T)a.v(a.toString()+" busy");else{he(a);a.A.T=!0;a.A.lc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.J&&(b&&ke(a.J,!0),a.J.start(a.Ha,ge(a)));a.G||a.status("Started");setTimeout(a.Xc,0)}}h.ec=function(){return 0};h.ba=function(a){var b=!1;if(this.A.T){le(this);qc(this,this.Ia);this.Ia=0;this.A.T=!1;if(b=this.C.run)b.textContent="Run";this.J&&this.J.stop(za(),ge(this));b=!0;this.G||this.status("Stopped")}this.A.complete=a;return b};var je=30,oe=15,$d=["power","reset"];
function pe(a){var b=+a.model||1170;Zd.call(this,a,6666667);this.ka=b;this.Rc=+a.addrReset||0;this.Ua=this.w=this.O=this.F=this.H=this.L=this.I=0;this.g=this.pa=this.W=[];this.M=this.B=this.Fa=this.ac=[];this.Za=this.P=this.Qc=this.qb=this.kb=this.rb=this.$a=this.R=this.Yb=this.Va=this.za=this.U=this.Zb=this.$b=this.V=this.i=0;this.Tc=[4,2,0,1];this.bc=0;this.Uc=255;1120>=this.ka?(this.Pc=qe.bind(this),this.Ab=this.Ld,this.bc=8,this.Uc=-1,this.Zc=255,this.Yc=0):(this.Pc=re.bind(this),this.Ab=this.Md,
this.Zc=~(1792|(1140>=this.ka?2048:0))&65535,this.Yc=1140<this.ka?2048:0);this.fc=this.cc=this.oa=0;this.S=null;this.Qb=[];this.Nb=this.sc=this.fd;this.Ob=this.tc=this.ld;this.mc=this.uc=this.pd;this.Pb=this.vc=this.qd;this.Ga=this.lb=this.Wb=this.Xb=0;this.Ea=this.kd;this.na=this.Fc;this.zb=this.Ic;this.u=this.j=this.oc=this.X=this.Z=0;this.A.complete=!1}p(pe,Zd);h=pe.prototype;
h.wa=function(a,b,c,d){Zd.prototype.wa.call(this,a,b,c,d);this.sc=b.Kc.bind(b);this.tc=b.dc.bind(b);this.uc=b.Lc.bind(b);this.vc=b.Mb.bind(b)};h.ya=function(a,b){for(var c=192,d=0;d<this.Qb.length;d++){var e=this.Qb[d];0>e.xb&&(e.xb=c,c+=4)}return Zd.prototype.ya.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ka);this.A.T&&this.ba();this.F=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Rc,-1,-2,-3,-4,-5,-6,-7,-8];this.pa=[0,0,0,0,0,0];this.W=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ac=[0,0,0,0,0,0,0,0];this.O=0;this.Ua=-1;this.u=this.j=this.oc=this.X=this.Z=this.i=this.Yb=0;lc(this);be(this);this.A.error=!1;Zd.prototype.reset.call(this)};function lc(a){a.U=0;a.Zb=0;a.$b=0;a.V=0;a.R=0;a.Va=0;a.za=255;a.qb=0;a.kb=0;a.rb=0;a.$a=262143;a.Za=a.g[7];a.P=0;a.S=null;a.D&&(se(a),a.Qc=cd(a.D))}
function se(a){a.Nb=a.sc;a.Ob=a.tc;a.mc=a.uc;a.Pb=a.vc;a.Wb&&(a.Nb=a.fd,a.Ob=a.ld);a.Xb&&(a.mc=a.pd,a.Pb=a.qd);a.qb?(a.Ga=65536,a.lb=a.V&16?4186112:253952,a.Ea=a.kd,a.na=a.Wb?a.af:a.Fc,a.zb=a.Xb?a.ng:a.Ic,Vc(a.D,a.V&16?22:18)):(a.Ga=0,a.lb=57344,a.Ea=a.Od,a.na=a.Wb?a.$e:a.od,a.zb=a.Xb?a.mg:a.td,Vc(a.D,16))}function qd(a){var b=a.U;b&57344||(b=b&-3199|a.kb<<5|a.rb<<1);return b}
function rd(a,b){b&=-3073;if(a.U!=b){b&57344&&!(a.U&57344)&&(a.Zb=a.P>>16&65535,a.$b=a.P&65535);a.U=b;a.kb=(b&96)>>5;a.rb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.qb!=c&&(a.qb=c,se(a))}}function sd(a){a.U&57344||(a.Zb=a.P>>16&65535);a=a.Zb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function td(a){a.U&57344||(a.$b=a.P&65535);return a.$b}function ud(a,b){1170>a.ka&&(b&=-49);a.V!=b&&(a.V=b,a.$a=b&16?4194303:262143,se(a))}
function te(a,b,c){a.Rc=b;ue(a,b);xd(a,0);a.D.reset();lc(a);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.T||nc(a)}else a.G&&a.A.fa?a.ba()||(de(a.G),M(a.J,-1)):!1===c&&a.ba();!a.A.T&&a.ua&&a.ua.stop()}h.gd=function(){return 0};
h.save=function(){var a=new L(this);a.set(0,[this.g,this.pa,this.W,this.M,this.B,this.Fa,this.ac,this.R,this.Yb,this.Va,this.za,this.kb,this.rb,this.Za,this.i,this.P,this.Ua,this.cc,this.fc]);a.set(1,[wd(this),qd(this),sd(this),td(this),this.V]);a.set(2,[this.eb,this.cb,this.A.va]);a.set(3,ve(this));a.set(4,ne(this));return a.data()};
h.restore=function(a){var b=ja(a[0]);this.g=b.next().value;this.pa=b.next().value;this.W=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Fa=b.next().value;this.ac=b.next().value;this.R=b.next().value;this.Yb=b.next().value;this.Va=b.next().value;this.za=b.next().value;this.kb=b.next().value;this.rb=b.next().value;this.Za=b.next().value;this.i=b.next().value;this.P=b.next().value;this.Ua=b.next().value;this.cc=b.next().value;this.fc=b.next().value;b=a[1];xd(this,b[0]);rd(this,b[1]);
this.Zb=b[2];this.$b=b[3];ud(this,b[4]);b=a[2];this.eb=b[0];he(this,b[1]);this.A.va=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Qb.length;d++){var e=this.Qb[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.S,this.S=d)}a=a[4];for(b=0;b<this.ia.length&&b<a.length;b++)this.ia[b][0]=a[b];return!0};function we(a){return a.F&65536?1:0}function xe(a){return a.H&32768?2:0}function ye(a){return a.L&65535?0:4}function ze(a){return a.I&32768?8:0}
function Ae(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function T(a,b,c){c&&(ue(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ue(a,b){a.g[7]=b&65535}function ld(a,b,c,d){b={xb:b,ib:c,message:d||0,name:Rb[b],next:null};a.Qb.push(b);return b}function Be(a,b){var c=a.S;if(c==b)a.S=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.S&&(a.i|=1)}
function id(a,b){if(b){if(b!=a.S){var c=a.S;if(!c||c.ib<=b.ib)b.next=c,a.S=b;else{do{var d=c.next;if(!d||d.ib<=b.ib){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+H(b.xb)+",priority="+b.ib+")",!0,!0)}}function pd(a,b){b&&(Be(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+H(b.xb)+",priority="+b.ib+")",!0,!0))}function ve(a){var b=[];for(a=a.S;a;)b.push(a.xb),a=a.next;return b}
function Ce(a){return a.i&64?(a.ta(168,64,-6),!0):a.i&32?(a.ta(4,32,-5),!0):a.i&16?(a.ta(12,16,-7),!0):!1}function wd(a){return a.w=a.w&63728|ze(a)|ye(a)|xe(a)|we(a)}function xd(a,b){b&=a.Zc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.F=b<<16;if((b^a.w)&a.Yc)for(var c=a.pa.length;0<=--c;){var d=a.g[c];a.g[c]=a.pa[c];a.pa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.W[c]=a.g[6],a.g[6]=a.W[a.O]);a.w=b;a.i&=-3;a.i|=a.S?2:1}function vd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}
h.Da=function(a){this.I=this.L=a;this.H=0};h.jb=function(a,b){this.I=this.L=this.F=a;this.H=b||0};function De(a,b){a.I=a.L=a.F=b;a.H=a.I^a.F>>1}function Ee(a,b,c,d){a.I=a.L=a.F=b;a.H=(c^d)&(d^b)}
h.ta=function(a,b,c){if(!this.oa){0>this.Ua?this.Ua=wd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.na(a|this.Ga),e=this.na(a+2&65535|this.Ga);xd(this,e&-12289|this.Ua>>2&12288);Fe(this,this.Ua);Fe(this,this.g[7]);ue(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.cc=c;this.fc=a;-1==c&&this.ba();if(-4<=c)throw a;}};
function Ge(a){var b=He(a),c=He(a);a.w&49152&&(c=c&-225|a.w&63712);ue(a,b);xd(a,c);a.i&=-17}function Ie(a,b){var c=b>>13&31;31>c&&(b=a.V&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b}
function Je(a,b,c){var d=[];if(c){c=Ie(a,b);var e=b>>13&31;d.push(c);d.push(e);a.V&32&&(d.push(a.Fa[e]),d.push(b&8191))}else if(a.qb){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.V&a.Tc[a.O]||(f&=7);b&=8191;var g=a.M[a.O][f]<<6;c=g+b&a.$a;3932160<=c&&(c=Ie(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.$a)}else c=b&65535,57344<=c&&(c|=a.lb),d.push(c);return d}
function Fc(a,b,c){var d,e,f;if(!(c&a.qb))return f=b&65535,57344<=f&&(f|=a.lb),f;d=b>>13;a.V&a.Tc[a.O]||(d&=7);e=a.B[a.O][d];f=(a.M[a.O][d]<<6)+(b&8191)&a.$a;3932160<=f&&(f=Ie(a,f));if(a.oa)return f;f>=a.Qc&&f<a.lb?(a.R|=32,a.ta(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ta(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.O][d]=e;if(f!=(4194170&a.$a)||a.O)a.kb=a.O,a.rb=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.U&57344||(g|=a.U&4096|a.kb<<5|a.rb<<1,rd(a,a.U&-61695|g&61694)),a.ta(168,64,-2)),a.U&61440||!(f<(4191360&a.$a)||f>(4194239&a.$a))||(a.U|=4096,a.U&512&&(a.i|=64)));return f}function He(a){var b=a.na(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Fe(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.Ab(4,-2,c);a.zb(c,b)}
function Ke(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.ta(4,0,-3),0;case 1:return 6==c&&a.Ab(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Ab(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.na(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Ab(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.na(e)|g;a.b-=8;break;case 6:return e=a.na(Ae(a,2)),e=e+a.g[c]&65535,6==c&&a.Ab(d,
0,e),a.b-=6,e|g;case 7:return e=a.na(Ae(a,2)),e=e+a.g[c]&65535,e=a.na(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.za&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.za&&(c<=this.za-32?this.ta(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.G&&Vd(this.G,a,1);return this.sc(a)};h.ld=function(a){this.G&&Vd(this.G,a,2);return this.tc(a)};
h.pd=function(a,b){this.G&&Wd(this.G,a,1);this.uc(a,b)};h.qd=function(a,b){this.G&&Wd(this.G,a,2);this.vc(a,b)};function Hc(a,b){a.oa++;b=a.D.dc(Fc(a,b,2));a.oa--;return b}function Le(a,b){(b?--a.Xb:--a.Wb)||se(a)}h.Od=function(a,b,c){return Ke(this,a,b,c)};h.kd=function(a,b,c){return Fc(this,Ke(this,a,b,c),c)};h.od=function(a){return this.D.dc(this.Za=a)};h.$e=function(a){this.G&&Vd(this.G,a,2);return this.od(a)};h.Fc=function(a){return this.D.dc(this.Za=Fc(this,a,2))};
h.af=function(a){this.G&&Vd(this.G,a,2);return this.Fc(a)};h.td=function(a,b){this.D.Mb(this.Za=a,b)};h.mg=function(a,b){this.G&&Wd(this.G,a,2);this.td(a,b)};h.Ic=function(a,b){this.D.Mb(this.Za=Fc(this,a,4),b)};h.ng=function(a,b){this.G&&Wd(this.G,a,2);this.Ic(a,b)};function Me(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Ke(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.na(d|c&a.Ga),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.W[a.w>>12&3];return c}
function Ne(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Ke(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=Fc(a,e|c&65536,4),a.O=a.w>>14&3,a.Pb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.W[a.w>>12&3]=d}function Oe(a,b){b>>=6;var c=a.Z=b&7;return(b=a.X=(b&56)>>3)?a.Nb(a.Ea(b,c,3)):a.g[c+a.bc]&a.Uc}function Pe(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.X=(b&56)>>3)?c=a.Ob(a.Ea(b,d,2)):c=a.g[d+a.bc];return c}function Qe(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Ke(a,b,c,8)}
function mf(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.Nb(a.Ea(b,c,3)):a.g[c]&255}function nf(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.Ob(a.Ea(b,d,2)):c=a.g[d];return c}function of(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.oc=a.Ea(b,e,7),c=0>c?a.g[-c-1]&255:c,a.mc(e,d.call(a,c,a.Nb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function U(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,6),a.Pb(e,d.call(a,0>c?a.g[-c-1]:c,a.Ob(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function pf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Ea(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.mc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function qf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Pb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.ec=function(a){this.A.complete=!0;var b=this.G?rf(this.G)?1:this.A.lc?-1:0:0,c=a?this.A.lc?0:1:-1;this.A.lc=!1;this.bb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(sf(this.G,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.S&&this.S.ib>e?this.S:null;f&&(d=f.xb,e=f.ib);e>(this.w&224)>>5?(this.i&8&&(Ae(this,2),this.i&=-9),this.ta(d,0,-10),e=!0):e=!1;e&&(f&&Be(this,f),a=!0);this.S||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&sf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&Ce(this)){if(this.i&4&&sf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.na(a);this.g[7]=a+2&65535;this.Pc(f)}while(0<this.b);return this.A.complete?this.bb-this.b:!1===this.A.complete?-1:0};wb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new pe(d);Ea(d,c)}});
function tf(a,b){var c=b+a;this.I=this.L=this.F=c;this.H=(a^c)&(b^c);return c&65535}function uf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.F=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function vf(a,b){a=b<<1;De(this,a);return a&65535}function wf(a,b){a=b<<1;De(this,a<<8);return a&255}function xf(a,b){a=b&32768|b>>1|b<<16;De(this,a);return a&65535}function yf(a,b){a=b&128|b>>1|b<<8;De(this,a<<8);return a&255}function zf(a,b){a=b&~a;this.Da(a);return a}function Af(a,b){a=b&~a;this.Da(a<<8);return a}
function Bf(a,b){a|=b;this.Da(a);return a}function Cf(a,b){a|=b;this.Da(a<<8);return a}function Df(a,b){a=~b|65536;this.jb(a);return a&65535}function Ef(a,b){a=~b|256;this.jb(a<<8);return a&255}function Ff(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Gf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function Hf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function If(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function Jf(a,b){a=-b;this.jb(a,a&b&32768);return a&65535}function Kf(a,b){a=-b;this.jb(a<<8,(a&b&128)<<8);return a&255}function Lf(a,b){a=b<<1|this.F>>16&1;De(this,a);return a&65535}function Mf(a,b){a=b<<1|this.F>>16&1;De(this,a<<8);return a&255}function Nf(a,b){a=(this.F&65536|b)>>1|b<<16;De(this,a);return a&65535}function Of(a,b){a=((this.F&65536)>>8|b)>>1|b<<8;De(this,a<<8);return a&255}function Pf(a,b){var c=b-a;Ee(this,c,a,b);return c&65535}
function Qf(a,b){var c=b-a;Ee(this,c<<8,a<<8,b<<8);return c&255}function Rf(a,b){this.I=this.L=b&65280;this.H=this.F=0;return(b<<8|b>>8)&65535}function Sf(a,b){a^=b;this.Da(a);return a&65535}function Tf(a){U(this,a,Pe(this,a),tf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function Uf(a){var b=nf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.F=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.F=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.F=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b}
function Vf(a){var b=nf(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.F=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.F=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function Wf(a){T(this,a,!we(this))}function Xf(a){T(this,a,we(this))}
function Yf(a){U(this,a,Pe(this,a),zf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Zf(a){of(this,a,Oe(this,a),Af);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function $f(a){U(this,a,Pe(this,a),Bf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function ag(a){of(this,a,Oe(this,a),Cf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function bg(a){var b=Pe(this,a);a=nf(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function cg(a){var b=Oe(this,a);a=mf(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function dg(a){T(this,a,ye(this))}function eg(a){T(this,a,!ze(this)==!xe(this))}function fg(a){T(this,a,!ye(this)&&!ze(this)==!xe(this))}function gg(a){T(this,a,!we(this)&&!ye(this))}
function hg(a){T(this,a,ye(this)||!ze(this)!=!xe(this))}function ig(a){T(this,a,we(this)||ye(this))}function jg(a){T(this,a,!ze(this)!=!xe(this))}function kg(a){T(this,a,ze(this))}function lg(a){T(this,a,!ye(this))}function mg(a){T(this,a,!ze(this))}function ng(){this.ta(12,0,-9)}function og(a){T(this,a,!0)}function pg(a){T(this,a,!xe(this))}function qg(a){T(this,a,xe(this))}function rg(a){a&1&&(this.F=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function sg(a){var b=Pe(this,a);a=nf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ee(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function tg(a){var b=Oe(this,a);a=mf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ee(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}
function ug(a){var b=nf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.F=65536,this.b-=7}function vg(){this.ta(24,0,-9);this.b-=20}
function wg(){this.w&49152?(this.R|=128,this.ta(4,0,-8)):(this.ua&&1120==this.ka&&this.ua.setData(this.g[0],!0),this.G?xg(this.G):this.ba());this.b-=7}function yg(){this.ta(16,0,-9);this.b-=20}var zg=[0,7,7,10,7,11,9,13];function Ag(a){this.la=this.b;ue(this,Qe(this,a));this.b=this.la-zg[this.u]}var Bg=[0,14,14,17,14,18,16,20];function Cg(a){this.la=this.b;var b=Qe(this,a);a=a>>6&7;Fe(this,this.g[a]);this.g[a]=this.g[7];ue(this,b);this.b=this.la-Bg[this.u]}
var Dg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Eg(a){var b=Pe(this,a);this.la=this.b;qf(this,a,b,this.Da);this.b=this.la-Dg[(this.X?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Fg(a){var b=Oe(this,a);pf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}var Gg=[7,13,13,17,14,18,17,21];
function Hg(a){var b=nf(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.H=0;this.F=-32768>b||32767<b?65536:0;this.b-=23}function Ig(){this.b-=5}function Jg(){this.w&49152||(this.D.reset(),lc(this),this.ua&&this.ua.setData(this.g[0],!0));this.b-=667}function Kg(a){if(a&8)V.call(this,a);else{var b=He(this);a&=7;7==a?ue(this,b):(ue(this,this.g[a]),this.g[a]=b);this.b-=9}}function Lg(){Ge(this);this.b-=13}
function Mg(a){a&1&&(this.F=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Ng(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ue(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Og(a){U(this,a,Pe(this,a),Pf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Pg(a){U(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)}function Qg(){this.ta(28,0,-9)}
function Rg(){this.ua&&(this.ua.Gc(this.g[7],!0),this.ua.setData(this.g[0],!0));this.i|=8;Ae(this,-2);this.b-=3}function Sg(a){U(this,a,this.g[(a>>6&7)+this.bc],Sf);this.b-=this.u?9:3+(7==this.j?2:0)}function V(a){var b;if(b=this.G)b=this.G,B(b,1)?(C(b,"undefined opcode "+P(b,a),!0,!0),b=xg(b)):b=!1;b||this.ta(8,0,-9)}function qe(a){Tg[a>>12].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}function Wg(a){Xg[a>>6&3].call(this,a)}function Yg(a){Zg[a>>6&3].call(this,a)}
function $g(a){ah[a&15].call(this,a)}function bh(a){ch[a&15].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)}function fh(a){gh[a>>6&3].call(this,a)}function hh(a){ih[a>>6&3].call(this,a)}
var Tg=[function(a){jh[a>>8&15].call(this,a)},Eg,sg,bg,Yf,$f,Tf,V,function(a){kh[a>>8&15].call(this,a)},Fg,tg,cg,Zf,ag,Og,V],jh=[function(a){lh[a>>4&15].call(this,a)},og,lg,dg,eg,jg,fg,hg,Cg,Cg,Ug,Wg,Yg,V,V,V],Vg=[function(a){qf(this,a,0,this.jb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,1,Hf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,1,Ff);this.b-=this.u?9:3+(7==this.j?2:0)}],Xg=[function(a){U(this,a,0,Jf);
this.b-=this.u?11:6},function(a){U(this,a,we(this)?1:0,tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,we(this)?1:0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=nf(this,a);this.jb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],Zg=[function(a){U(this,a,0,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,Lf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){U(this,a,0,vf);this.b-=this.u?9:3+(7==this.j?2:0)}],lh=
[function(a){mh[a&15].call(this,a)},V,V,V,Ag,Ag,Ag,Ag,Kg,V,$g,bh,Pg,Pg,Pg,Pg],mh=[wg,Rg,Lg,ng,yg,Jg,V,V,V,V,V,V,V,V,V,V],ah=[Ig,function(){this.F=0;this.b-=5},function(){this.H=0;this.b-=5},rg,function(){this.L=1;this.b-=5},rg,rg,rg,function(){this.I=0;this.b-=5},rg,rg,rg,rg,rg,rg,rg],ch=[Ig,function(){this.F=65536;this.b-=5},function(){this.H=32768;this.b-=5},Mg,function(){this.L=0;this.b-=5},Mg,Mg,Mg,function(){this.I=32768;this.b-=5},Mg,Mg,Mg,Mg,Mg,Mg,Mg],kh=[mg,kg,gg,ig,pg,qg,Wf,Xf,vg,Qg,dh,fh,
hh,V,V,V],eh=[function(a){pf(this,a,0,255,this.jb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,0,Ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,1,If);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,1,Gf);this.b-=this.u?9:3+(7==this.j?2:0)}],gh=[function(a){of(this,a,0,Kf);this.b-=this.u?11:6},function(a){of(this,a,we(this)?1:0,uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,we(this)?1:0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=mf(this,
a);this.jb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],ih=[function(a){of(this,a,0,Of);this.b-=this.u?9+(this.oc&1):3+(7==this.j?2:0)},function(a){of(this,a,0,Mf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){of(this,a,0,yf);this.b-=this.u?9+(this.oc&1):3+(7==this.j?2:0)},function(a){of(this,a,0,wf);this.b-=this.u?9:3+(7==this.j?2:0)}];function re(a){nh[a>>12].call(this,a)}
var nh=[function(a){oh[a>>8&15].call(this,a)},Eg,sg,bg,Yf,$f,Tf,function(a){ph[a>>8&15].call(this,a)},function(a){qh[a>>8&15].call(this,a)},Fg,tg,cg,Zf,ag,Og,V],oh=[function(a){rh[a>>4&15].call(this,a)},og,lg,dg,eg,jg,fg,hg,Cg,Cg,Ug,Wg,Yg,function(a){sh[a>>6&3].call(this,a)},V,V],sh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.na(a|this.Ga);ue(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Me(this,a,0);this.Da(a);Fe(this,a);this.b-=11},function(a){var b=He(this);
this.la=this.b;this.Da(b);Ne(this,a,0,b);this.b=this.la-Gg[this.u]},function(a){qf(this,a,ze(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],rh=[function(a){th[a&15].call(this,a)},V,V,V,Ag,Ag,Ag,Ag,Kg,function(a){!(a&8)||1145>this.ka?V.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},$g,bh,Pg,Pg,Pg,Pg],th=[wg,Rg,function(){Ge(this);this.i|=this.w&16;this.b-=13},ng,yg,Jg,Lg,function(a){V.call(this,a)},V,V,V,V,V,V,V,V],ph=[Hg,Hg,ug,ug,Uf,Uf,Vf,Vf,
Sg,Sg,V,V,V,V,Ng,Ng],qh=[mg,kg,gg,ig,pg,qg,Wf,Xf,vg,Qg,dh,fh,hh,function(a){1145>this.ka?V.call(this,a):uh[a>>6&3].call(this,a)},V,V],uh=[function(a){V.call(this,a)},function(a){a=Me(this,a,65536);this.Da(a);Fe(this,a);this.b-=11},function(a){var b=He(this);this.la=this.b;this.Da(b);Ne(this,a,65536,b);this.b=this.la-Gg[this.u]},function(a){V.call(this,a)}];
function vh(a){q.call(this,"ROM",a,0,128);this.ha=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Qa(this.j);if(this.j){a=this.j;var b=Ra(this.B);"json"!=b&&"hex"!=b&&(a=eb()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;cb(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(xa(c.nb,a,b),(a=db(a,b))?(c.g=a.ca,c.ha=a.ha):c.j=null);wh(c)})}}p(vh,q);
h=vh.prototype;h.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;wh(this)};h.ya=function(){this.ha&&(this.G&&xh(this.G,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.xa=function(){return!0};
function wh(a){if(!La(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Ja(a,"ROM size ("+I(a.g.length,8,!0)+") does not match specified size ("+I(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Nc){var c={},c=(c[b]=[vh.prototype.Me,vh.prototype.Xf,null,null,null,a.b>>1],c);if(Yb(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+H(b));b=a.w=!0;break a}}else if(Tc(a.D,b,a.b,Kd)){for(c=0;c<a.g.length;c++)bd(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}A(a)}}h.Me=function(a){return this.g[a-this.u]};h.Xf=function(){};wb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new vh(d);Ea(d,c)}});
function yh(a){q.call(this,"RAM",a);this.ha=this.g=null;this.i=+a.addr;this.j=+a.size;this.Ba=a.load;this.Aa=a.exec;null!=this.Ba&&(this.Ba=+this.Ba);null!=this.Aa&&(this.Aa=+this.Aa);this.u=!1;this.b=a.file;this.w=Qa(this.b);if(this.b){a=this.b;var b=Ra(this.w);"json"!=b&&"hex"!=b&&(a=eb()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;cb(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(xa(c.nb,a,b),(a=db(a,b))?(c.g=a.ca,c.ha=a.ha,
null==c.Ba&&(c.Ba=a.Ba),null==c.Aa&&(c.Aa=a.Aa)):c.b=null);zh(c)})}}p(yh,q);yh.prototype.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;zh(this)};yh.prototype.ya=function(a,b){this.ha&&(this.G&&xh(this.G,this.id,this.i,this.j,this.ha),delete this.ha);b||this.reset();return!0};yh.prototype.xa=function(){return!0};
function zh(a){if(a.D&&(!a.u&&a.j&&(Tc(a.D,a.i,a.j,dd)?a.u=!0:a.j=0),!La(a))){if(!a.u)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;Ah(a,a.g,a.Ba,a.Aa,a.i)?a.status('Loaded image "'+a.w+'"'):a.N('Error loading image "'+a.w+'"')}A(a)}}
yh.prototype.reset=function(){if(this.u){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Eb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Ah(this,this.g,this.Ba,this.Aa,this.i,!0)}};
function Ah(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){C(a,"invalid signature ("+J(m)+") at offset "+J(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+J(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+J(n),4096);break}m+=
b[l++]&255;if(m&255){C(a,"invalid checksum ("+I(m,2,!0)+") for block at offset "+J(n),4096);break}if(E)for(C(a,"loading "+J(E)+" bytes at "+J(u)+"-"+J(u+E),4096);E--;)bd(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+J(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)bd(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.ba(),f=!1;null!=d&&te(a.f,d,f)}return k}
wb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new yh(d);Ea(d,c)}});function Bh(a){q.call(this,"Keyboard",a,0,1024);A(this)}p(Bh,q);Bh.prototype.sa=function(){return!1};Bh.prototype.wa=function(a,b,c,d){this.J=a;this.f=c;this.G=d};wb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Bh(d);Ea(d,c)}});
function Ch(a){q.call(this,"SerialPort",a,0,262144);this.M=+a.adapter;this.U=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.O=null;this.S=this.X=-1;this.F=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Dh;b&&(void 0===c&&(c="Panel"),(c=Da(c,this.id))&&(b=c.C[b])&&this.sa(null,a,b))}this.j=this.H=this.P=null;this.exports=
{connect:this.md,receiveData:this.ic,receiveStatus:this.ff,setConnection:this.kf}}p(Ch,q);h=Ch.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case Dh:return this.C[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ua.Mc:ua.xd:46==c?b=ua.Mc:a.ctrlKey&&c>=ua.Jc&&c<=ua.Gd&&(b=c-(ua.Jc-ua.ud));b&&(a.preventDefault&&a.preventDefault(),d.ic(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ua.wd&&(b=ua.vd);d.ic(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ic(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;var e=this;this.R=ld(this.f,this.M?-1:48,4,262144);this.S=hd(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,C(e,"receiveByte("+I(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),kd(e.f,e.S,1E3/Math.round(e.U/10)));0<=a&&(e.F=a,e.b&128?e.F|=49152:e.b|=128,e.b&64&&id(c,e.R))});this.O=ld(this.f,this.M?-1:52,4,262144);this.X=hd(this.f,function(){e.g|=128;e.g&64&&id(c,e.O)});Yb(b,this,Eh,this.M?64832+8*(this.M-1)-65392:0);$b(b,this.reset.bind(this));
A(this)};h.md=function(a){if(!this.j){var b=ae(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Za(c[0]);if(d!=this.mb)return;c=Za(c[1]);if(this.j=Ca(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status("Connected "+this.nb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ya=function(a,b){if(!b)if(this.md(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Fh(this)};h.save=function(){var a=new L(this);a.set(0,[this.F,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Fh(this,a[0])};function Fh(a,b){b||(b=[0,8192,128,a.i]);b=ja(b);a.F=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0}
h.ic=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);kd(this.f,this.S,1E3/Math.round(this.U/10));return!0};h.ff=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&id(this.f,this.R))};h.kf=function(a,b){return this.j?!1:(this.j=a,this.H=b,!0)};
h.ze=function(){var a=this.b&65534;this.b&=-32769;return a};h.Kf=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.j,b))};h.ye=function(){this.b&=-129;return this.F};h.Jf=function(){};h.ef=function(){return this.g};h.pg=function(a){this.g&128&&(a&64?id(this.f,this.O):pd(this.f,this.O));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.og=function(a){a&=255;C(this,"transmitByte("+I(a,2,!0)+")");this.H&&this.H.call(this.j,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=$a[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=Ya("",c)));this.V&&!this.B&&c&&(b=String.fromCharCode(this.V)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.v(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}kd(this.f,this.X,1E3/Math.round(this.Z/10));this.g&=-129};var Dh="buffer",Gh={},Eh=(Gh[65392]=[null,null,Ch.prototype.ze,Ch.prototype.Kf,"RCSR"],Gh[65394]=[null,null,Ch.prototype.ye,Ch.prototype.Jf,"RBUF"],Gh[65396]=[null,null,Ch.prototype.ef,Ch.prototype.pg,"XCSR"],Gh[65398]=[null,null,Ch.prototype.df,Ch.prototype.og,"XBUF"],Gh);
wb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ch(d);Ea(d,c)}});function yd(a){q.call(this,"PC11",a);this.M=Hh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.B=this.F=this.b=0;this.w=[];this.u=Ih;this.i=Jh;this.L=this.j="";this.ca=this.Ba=this.Aa=null;this.P=-1;this.O=!pb("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(yd,q);
function Hh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=yd.prototype;
h.sa=function(a,b,c){var d=this,e=Jh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Kh;case "loadTape":return e||(e=Lh),this.C[b]=c,c.onclick=
function(){var a=d.C.listTapes;a&&Mh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.C[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mh(d,Qa(b,!0),b,Lh,a)}return!1};return!0;case Nh:return this.C[b]=c,!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;this.I=Oh(a);var e=this;if(a=Hh(this,ae(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=ld(this.f,56,4,4096);this.R=hd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.w.length&&(e.F=e.w[e.B++]&255,Ph(e,e.B/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&id(e.f,e.H))});Yb(b,this,Qh);$b(b,this.reset.bind(this));Rh(this,"None",Ih,!0);this.O&&Rh(this,"Local Tape",Sh);Rh(this,"Remote Tape",Th);Uh(this)||A(this)};
h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.F=0};function Uh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.C.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Qa(c,!0)}c&&b?Vh(a,b,c,Lh,!0):Wh(a)}return!!a.g}
function Mh(a,b,c,d,e){if(c)if(c==Sh)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Th){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.u=Th}else a.u=c;Vh(a,b,c,d,!1,e)}else Xh(a,!1)}
function Vh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Xh(a,!0),a.A.fb?a.N("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),Yh(a,b,c,d,f)?g++:a.A.fb=!0);g&&Zh(a,a.L,a.j,a.i,a.ca,a.Ba,a.Aa)}
function Yh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Zh(a,b,c,d,e),a.u=Sh);Wh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ra(c),f="json"==e||"gz"==e?encodeURI(c):eb()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!cb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(xa(a.nb,e,f),(e=db(e,f))&&Zh(a,b,c,d,e.ca,e.Ba,
e.Aa));a.A.fb=!1;a.g&&(a.g--,a.g||A(a));Wh(a)})}function Rh(a,b,c,d){if((a=a.C.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Wh(a){var b=a.C.listTapes;if(b&&b.options){a=a.u||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Ph(a,b){b|=0;if(b!==a.P){var c=a.C[Nh];c&&(c=(c=y(c,$h))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Zh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.Ba=f;a.Aa=g;d==Kh?a.I&&Ah(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.N('No valid memory address for tape "'+b+'"'):(a.B=0,a.w=e,a.status('Loaded tape "'+b+'"'),Ph(a,0))}function Xh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Lh?"tape detached":"tape unloaded"),a.u=Ih,a.i=Jh,Wh(a))}h.save=function(){return(new L(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Df=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&id(this.f,this.H)):(this.b&=-129,this.b|=2048,this.F=0,kd(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.F};h.Cf=function(){};var Ih="",Sh="?",Th="??",Jh=0,Lh=1,Kh=2,Nh="readProgress",$h="pcjs-progress-bar",ai={},Qh=(ai[65384]=[null,null,yd.prototype.se,yd.prototype.Df,"PRS"],ai[65386]=[null,null,yd.prototype.re,yd.prototype.Cf,"PRB"],ai);
function bi(a,b,c){q.call(this,"Disk",{id:a.nb+".disk"+I(++ci,4)},0,8192);this.controller=a;this.J=a.J;this.G=a.G;this.u=b;this.Na=b.name;this.ra=this.kc="";this.gc=b.gc;this.Y=this.ea=this.aa=this.qa=this.mode=0;this.b=[];this.i=null;this.j=!1;di(this,c,b.Y,b.ea,b.aa,b.qa);this.g=this.w=null;A(this)}p(bi,q);h=bi.prototype;h.wa=function(a,b,c,d){this.G=d};
function di(a,b,c,d,e,f){a.mode=b;a.Y=c;a.ea=d;a.aa=e;a.qa=f;a.b=[];if("preload"!=a.mode){b=Array(a.Y);for(c=0;c<b.length;c++){d=Array(a.ea);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=ei(null,c,e,g,a.qa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function fi(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.ra=c;a.kc=Qa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ta[d];if(e){a.Y=e[0];a.ea=e[1];a.aa=e[2];a.qa=e[3]||512;c=a.qa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.Y);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ea),t=0;t<u.length;t++)for(var E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var D=ei(null,d,t,z+1,a.qa,0),F=D.data,gb=0;gb<c;gb++,f+=4)var jd=F[gb]=b.getInt32(f,
!0),e=e+jd&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Na,a.ra),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ra(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Sa(c,"/")&&(d="dir"),f=eb()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.gc?"":e)+"&format=json"));return!!cb(f,
null,!0,function(b,c,d){gi(a,b,c,d)})}
function gi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.N('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{xa(a.controller.nb,b,c);try{if(0<Qa(a.kc,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.Y=k.length;a.ea=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.qa=l&&l.length||512;for(d=c=0;d<a.Y;d++)for(f=0;f<a.ea;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;hi(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}ei(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Na,a.ra),a.g=null)}function ei(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Wa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.ea)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=ei(null,a,b,g+1,f.Cc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.zc&&(d=k[g]=ei(null,a,b,f.zc,f.Cc,0))}}e&&e(d,!1);return d};function hi(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
function Wc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Kb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Kb){n=l.size-(f-m);n>g&&(n=g);l.Kb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return $c(ad,f,g)}f=new K(a,f,n,a.j,d,e);Vc(f,a.G,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+bd[d]+" at "+F(b)),!0):$c(cd,b,c)}h.$c=function(a){return this.u[(a&this.w)>>>this.g].xb(a&this.i,a)};
h.ic=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Lb||b!=this.i?this.u[c].na(b,a):this.u[c++].xb(b,a)|this.u[c&this.U].xb(0,a+1)<<8};h.ad=function(a,b){this.u[(a&this.w)>>>this.g].zb(a&this.i,b,a)};h.Ob=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Lb||c!=this.i?this.u[d].Ab(c,b,a):(this.u[d++].zb(c,b&255,a),this.u[d&this.U].zb(0,b>>8&255,a+1))};function dd(a,b){return a.b[(b&a.I)>>>a.g]}
function Jc(a,b){var c;a.F=!1;a.ma++;var d=b&a.i,e=dd(a,b);Lb||d!=a.i?c=e.B(d,b):c=e.j(d,b)|dd(a,b+1).j(0,b+1)<<8;a.ma--;return c}function ed(a,b,c){a.F=!1;a.ma++;dd(a,b).D(b&a.i,c&255,b);a.ma--}function wc(a,b,c){a.F=!1;a.ma++;var d=b&a.i,e=dd(a,b);Lb||d!=a.i?e.F(d,c&65535,b):(e.D(d,c&255,b),dd(a,b+1).D(0,c>>8&255,b+1));a.ma--}
function Zc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Xa||e.He){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function fd(a){for(var b=gd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Kb)}return c}
function hd(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&id;if(void 0!==a.Ma[n])return v("I/O address already registered: "+H(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function ac(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ka)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!hd(a,f,f,k,l,m,n,g[7]||b.ia,r||b.nb))return!1}}return!0}
function cc(a,b){a.N.push(b)}h.La=function(a,b,c){this.F=!0;this.ma||(this.G&&B(this.G,4)&&C(this.G,"memory fault ("+c+") on "+M(this.G,a),!0,!0),b&&(this.f.R|=b),this.f.ta(4,0,a))};function jd(a){var b=a.F;a.F=!1;return b}function $c(a,b,c){v("Memory block error ("+a+": "+H(b)+","+H(c)+")");return!1}var Qc=8192,id=Qc-1,ad=1,cd=2;
function Rc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&B(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+M(this.f,b)+"): "+M(this.f,c),!0,!d.ma),c;d.La(b,16,3);c=255;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+M(this.f,b)+": "+M(this.f,c),!0,!d.ma);return c}
function Sc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+M(this.f,c)+","+M(this.f,b)+")",!0,!e.ma):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+M(this.f,c)+": "+M(this.f,
b),!0,!e.ma))}function Tc(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+M(this.f,b)+"): "+M(this.f,c),!0,!d.ma),c;d.La(b,16,2);c=65535;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+M(this.f,b)+": "+M(this.f,c),!0,!d.ma);return c}
function Uc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+M(this.f,c)+","+M(this.f,b)+")",!0,!e.ma):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+M(this.f,c)+": "+M(this.f,b),!0,!e.ma))}function N(a){q.call(this,"Device",a,256);this.b={Za:128,Xc:-1}}p(N,q);h=N.prototype;
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.G=d;var e=this;this.b.Xc=kd(c,function(){e.b.Za|=128;e.b.Za&64&&ld(e.f,e.b.ib);e.J&&J(e.J,1);md(e.f,e.b.Xc,1E3/60)});this.b.ib=nd(c,64,6,524288);ac(b,this,od);cc(b,this.reset.bind(this));d&&pd(d,64,function(a){var b=e.f;rd(e,"KIPDR",b.B[0],0,a[0]);rd(e,"KDPDR",b.B[0],8,a[0]);rd(e,"KIPAR",b.M[0],0,a[0]);rd(e,"KDPAR",b.M[0],8,a[0],!0);rd(e,"SIPDR",b.B[1],0,a[0]);rd(e,"SDPDR",b.B[1],8,a[0]);rd(e,"SIPAR",b.M[1],0,a[0]);rd(e,"SDPAR",b.M[1],8,a[0],
!0);rd(e,"UIPDR",b.B[3],0,a[0]);rd(e,"UDPDR",b.B[3],8,a[0]);rd(e,"UIPAR",b.M[3],0,a[0]);rd(e,"UDPAR",b.M[3],8,a[0],!0);b.V&32&&rd(e,"UNIMAP",b.Fa,-1,a[0])});A(this)};function rd(a,b,c,d,e,f){a=a.G;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+Qa(n)+"]":"")+":"),g+=" "+M(a,c[d+n],l);a.v(g+(f?"\n":""))}}h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b.Za=128;md(this.f,this.b.Xc,1E3/60,!0)};h.save=function(){var a=new I(this);a.set(0,[this.b.Za]);return a.data()};h.restore=function(a){a=ja(a[0]);this.b.Za=a.next().value;return!0};h.ef=function(){return this.b.Za};h.rg=function(a){this.b.Za=a&192;this.b.Za&64||sd(this.f,this.b.ib)};h.gf=function(){return td(this.f)};h.tg=function(a){ud(this.f,a&-129|this.f.U&128)};h.hf=function(){return vd(this.f)};h.jf=function(){return wd(this.f)};
h.kf=function(){return this.f.V};h.ug=function(a){xd(this.f,a)};h.Tf=function(a){a=a>>1&63;var b=this.f.Fa[a>>1];return a&1?b>>16:b&65535};h.bh=function(a,b){b=b>>1&63;var c=b>>1;this.f.Fa[c]=b&1?this.f.Fa[c]&65535|(a&63)<<16:this.f.Fa[c]&-65536|a&65534};h.Mf=function(a){return this.f.B[1][a>>1&7]};h.Vg=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Kf=function(a){return this.f.B[1][(a>>1&7)+8]};h.Tg=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Lf=function(a){return this.f.M[1][a>>1&7]};
h.Ug=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Jf=function(a){return this.f.M[1][(a>>1&7)+8]};h.Sg=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.df=function(a){return this.f.B[0][a>>1&7]};h.qg=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.bf=function(a){return this.f.B[0][(a>>1&7)+8]};h.og=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.cf=function(a){return this.f.M[0][a>>1&7]};h.pg=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.af=function(a){return this.f.M[0][(a>>1&7)+8]};h.ng=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Sf=function(a){return this.f.B[3][a>>1&7]};h.ah=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Qf=function(a){return this.f.B[3][(a>>1&7)+8]};h.Zg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Rf=function(a){return this.f.M[3][a>>1&7]};h.$g=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Pf=function(a){return this.f.M[3][(a>>1&7)+8]};
h.Yg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.pa[a]:this.f.g[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.pa[b]=a:this.f.g[b]=a};h.qf=function(){return this.f.w&49152?this.f.W[0]:this.f.g[6]};h.zg=function(a){this.f.w&49152?this.f.W[0]=a:this.f.g[6]=a};h.tf=function(){return this.f.g[7]};h.Cg=function(a){this.f.g[7]=a};h.Jb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.pa[a]};
h.Nb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.pa[b]=a};h.rf=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[1]};h.Ag=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[1]=a};h.sf=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[3]};h.Bg=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[3]=a};h.$e=function(a){return this.f.fc[a-65504>>1]};h.mg=function(a,b){this.f.fc[b-65504>>1]=a};h.Od=function(a){return 65520==a?(fd(this.D)>>6)-1:0};
h.Td=function(){};h.Of=function(){return 1};h.Xg=function(){};h.Ze=function(){return this.f.R};h.lg=function(){this.f.R=0};h.ff=function(){return this.f.cc};h.sg=function(a,b){b&1||(a&=255);this.f.cc=a};h.lf=function(a,b){return b?0:this.f.Va};h.vg=function(a){yd(this.f,a)};h.Nf=function(a,b){return b?0:this.f.za&65280};h.Wg=function(a){this.f.za=a|255};h.pf=function(){return zd(this.f)};h.yg=function(a){Ad(this.f,a)};h.Sd=function(a,b){B(this)&&C(this,"writeIgnored("+F(b)+"): "+F(a),!0,!0)};
var O={},od=(O[61568]=[null,null,N.prototype.Tf,N.prototype.bh,"UNIMAP",64,1170],O[62592]=[null,null,N.prototype.Mf,N.prototype.Vg,"SIPDR",8,1145,64],O[62608]=[null,null,N.prototype.Kf,N.prototype.Tg,"SDPDR",8,1145,64],O[62624]=[null,null,N.prototype.Lf,N.prototype.Ug,"SIPAR",8,1145,64],O[62640]=[null,null,N.prototype.Jf,N.prototype.Sg,"SDPAR",8,1145,64],O[62656]=[null,null,N.prototype.df,N.prototype.qg,"KIPDR",8,1140,64],O[62672]=[null,null,N.prototype.bf,N.prototype.og,"KDPDR",8,1145,64],O[62688]=
[null,null,N.prototype.cf,N.prototype.pg,"KIPAR",8,1140,64],O[62704]=[null,null,N.prototype.af,N.prototype.ng,"KDPAR",8,1145,64],O[62798]=[null,null,N.prototype.kf,N.prototype.ug,"MMR3",1,1145,64],O[65382]=[null,null,N.prototype.ef,N.prototype.rg,"LKS"],O[65402]=[null,null,N.prototype.gf,N.prototype.tg,"MMR0",1,1140,64],O[65404]=[null,null,N.prototype.hf,N.prototype.Sd,"MMR1",1,1145,64],O[65406]=[null,null,N.prototype.jf,N.prototype.Sd,"MMR2",1,1140,64],O[65408]=[null,null,N.prototype.Sf,N.prototype.ah,
"UIPDR",8,1140,64],O[65424]=[null,null,N.prototype.Qf,N.prototype.Zg,"UDPDR",8,1145,64],O[65440]=[null,null,N.prototype.Rf,N.prototype.$g,"UIPAR",8,1140,64],O[65456]=[null,null,N.prototype.Pf,N.prototype.Yg,"UDPAR",8,1145,64],O[65472]=[null,null,N.prototype.Ib,N.prototype.Mb,"R0SET0"],O[65473]=[null,null,N.prototype.Ib,N.prototype.Mb,"R1SET0"],O[65474]=[null,null,N.prototype.Ib,N.prototype.Mb,"R2SET0"],O[65475]=[null,null,N.prototype.Ib,N.prototype.Mb,"R3SET0"],O[65476]=[null,null,N.prototype.Ib,
N.prototype.Mb,"R4SET0"],O[65477]=[null,null,N.prototype.Ib,N.prototype.Mb,"R5SET0"],O[65478]=[null,null,N.prototype.qf,N.prototype.zg,"R6KERNEL"],O[65479]=[null,null,N.prototype.tf,N.prototype.Cg,"R7KERNEL"],O[65480]=[null,null,N.prototype.Jb,N.prototype.Nb,"R0SET1",1,1145],O[65481]=[null,null,N.prototype.Jb,N.prototype.Nb,"R1SET1",1,1145],O[65482]=[null,null,N.prototype.Jb,N.prototype.Nb,"R2SET1",1,1145],O[65483]=[null,null,N.prototype.Jb,N.prototype.Nb,"R3SET1",1,1145],O[65484]=[null,null,N.prototype.Jb,
N.prototype.Nb,"R4SET1",1,1145],O[65485]=[null,null,N.prototype.Jb,N.prototype.Nb,"R5SET1",1,1145],O[65486]=[null,null,N.prototype.rf,N.prototype.Ag,"R6SUPER",1,1145],O[65487]=[null,null,N.prototype.sf,N.prototype.Bg,"R6USER",1,1145],O[65504]=[null,null,N.prototype.$e,N.prototype.mg,"CTRL",8,1170],O[65520]=[null,null,N.prototype.Od,N.prototype.Td,"LSIZE",1,1170],O[65522]=[null,null,N.prototype.Od,N.prototype.Td,"HSIZE",1,1170],O[65524]=[null,null,N.prototype.Of,N.prototype.Xg,"SYSID",1,1170],O[65526]=
[null,null,N.prototype.Ze,N.prototype.lg,"ERR",1,1170],O[65528]=[null,null,N.prototype.ff,N.prototype.sg,"MBR",1,1170],O[65530]=[null,null,N.prototype.lf,N.prototype.vg,"PIR"],O[65532]=[null,null,N.prototype.Nf,N.prototype.Wg,"SLR"],O[65534]=[null,null,N.prototype.pf,N.prototype.yg,"PSW"],O);
yb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new N(c);Ea(c,d);break;case "pc11":c=new Bd(c);Ea(c,d);break;case "rl11":c=new Cd(c);Ea(c,d);break;case "rk11":c=new Q(c),Ea(c,d)}}});
function K(a,b,c,d,e,f){this.C=a;this.id=Dd+=2;this.b=null;this.K=b;this.Kb=c;this.size=d||0;this.type=e||Ed;this.J=e==Fd;this.f=this.controller=null;this.xb=this.j=this.Tc;this.na=this.B=this.Uc;this.zb=this.D=this.Lb;this.Ab=this.F=this.xc;this.G=this.i=0;Vc(this);this.Xa=this.He=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Gd(this,f.Be);else if(Gb)this.u=new ArrayBuffer(this.size),this.w=new DataView(this.u,0,this.size),this.g=new Uint8Array(this.u,0,this.size),this.H=new Uint16Array(this.u,
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),Gd(this,Hd?Id:Rd);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Gd(this,Sd)}else Gd(this)}h=K.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Gb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Gb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1};function Gd(a,b){b||(b=Td);Ud(a,b,void 0);Vd(a,b,void 0)}function Ud(a,b,c){c&&a.G||(a.xb=b[0]||a.Tc,a.na=b[2]||a.Uc);if(c||void 0===c)a.j=b[0]||a.Tc,a.B=b[2]||a.Uc}function Vd(a,b,c){c&&a.i||(a.zb=!a.J&&b[1]||a.Lb,a.Ab=!a.J&&b[3]||a.xc);if(c||void 0===c)a.D=b[1]||a.Lb,a.F=b[3]||a.xc}
h.tb=function(a,b){b?this.i++||Vd(this,Wd,!1):this.G++||Ud(this,Wd,!1)};function Xd(a,b){b?--a.i||(a.zb=a.J?a.Lb:a.D,a.Ab=a.J?a.xc:a.F):--a.G||(a.xb=a.j,a.na=a.B)}function Vc(a,b,c){a.f=b;a.G=a.i=0;c&&((a.G=c.G)&&Ud(a,Wd,!1),(a.i=c.i)&&Vd(a,Wd,!1))}h.Tc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+M(this.f,b),!0);this.C.La(b,32,2);return 255};
h.Lb=function(a,b,c){this.f&&B(this.f,32)&&C(this.f,"attempt to write "+M(this.f,b)+" to invalid addresses "+M(this.f,c),!0);this.C.La(c,32,4)};h.Uc=function(a,b){return this.xb(a++,b++)|this.xb(a,b)<<8};h.xc=function(a,b,c){this.zb(a++,b&255,c++);this.zb(a,b>>8,c)};h.Xe=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.Zf=function(a,b){Kb&&a&1&&this.C.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.jg=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=!0};h.gh=function(a,b,c){Kb&&a&1&&this.C.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0};h.Ve=function(a,b){this.f&&null!=this.K&&Yd(this.f,this.K+a);return this.j(a,b)};h.Vf=function(a,b){this.f&&null!=this.K&&Yd(this.f,this.K+a,2);return this.B(a,b)};
h.hg=function(a,b,c){this.f&&null!=this.K&&Zd(this.f,this.K+a);this.J?this.Lb(0,b,c):this.D(a,b,c)};h.eh=function(a,b,c){this.f&&null!=this.K&&Zd(this.f,this.K+a,2);this.J?this.Lb(0,b,c):this.F(a,b,c)};h.Ue=function(a){return this.g[a]};h.We=function(a,b){a=this.g[a];this.f&&B(this.f,32)&&C(this.f,"Memory.readByte("+M(this.f,b)+"): "+M(this.f,a),!0);return a};h.Uf=function(a,b){Kb&&a&1&&this.C.La(b,64,2);return this.w.getUint16(a,!0)};
h.Yf=function(a,b){Kb&&a&1&&this.C.La(b,64,2);a=!Lb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+M(this.f,b)+"): "+M(this.f,a),!0);return a};h.gg=function(a,b){this.g[a]=b;this.Xa=!0};h.ig=function(a,b,c){this.g[a]=b;this.Xa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+M(this.f,c)+","+M(this.f,b)+")",!0)};h.dh=function(a,b,c){Kb&&a&1&&this.C.La(c,64,4);this.w.setUint16(a,b,!0);this.Xa=!0};
h.fh=function(a,b,c){Kb&&a&1&&this.C.La(c,64,4);!Lb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Xa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+M(this.f,c)+","+M(this.f,b)+")",!0)};var Ed=0,gd=1,Fd=2,Xc=4,bd=["NONE","RAM","ROM","VID","H/W"],Dd=0,Td=[],Sd=[K.prototype.Xe,K.prototype.jg,K.prototype.Zf,K.prototype.gh],Wd=[K.prototype.Ve,K.prototype.hg,K.prototype.Vf,K.prototype.eh];
if(Gb)var Rd=[K.prototype.Ue,K.prototype.gg,K.prototype.Uf,K.prototype.dh],Id=[K.prototype.We,K.prototype.ig,K.prototype.Yf,K.prototype.fh];var $d;if(Gb){var ae=new ArrayBuffer(2);(new DataView(ae)).setUint16(0,256,!0);$d=256===(new Uint16Array(ae))[0]}else $d=!1;var Hd=$d;
function be(a,b){q.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Cc=0;this.zc=b;this.eb=c;this.Kc=Math.round(this.zc/1E4)/100;this.qb=this.Kc*this.eb;this.Lc=this.Zb=this.ub=this.Ac=0;this.A.T=this.A.vc=!1;this.A.va=a.autoStart;"string"==typeof this.A.va&&(this.A.va="true"==this.A.va);this.A.Db=!1;this.Xb=this.Fb=0;this.Yb=+a.csStart;this.Eb=+a.csInterval;this.Gb=+a.csStop;this.ja=[];this.ud=this.cg.bind(this);this.fb=this.Ia=this.cb=this.b=this.la=this.Ha=this.Wb=this.bb=this.Hb=
this.Mc=this.pb=0;this.ua=null;A(this)}p(be,q);h=be.prototype;h.wa=function(a,b,c,d){this.J=a;this.D=b;this.G=d;this.ua=a.i;for(a=0;a<ce.length;a++)(b=this.C[ce[a]])&&this.J.sa(null,ce[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ya=function(a,b){var c=de(this.J,"autoStart");null!=c?this.A.va="true"==c?!0:"false"==c?!1:!!c:null==this.A.va&&(this.A.va=!this.G&&void 0===this.C.run);if(!b){if(a){ee(this);if(!this.restore(a))return!1;fe(this)}else this.reset();this.G?(a=this.G,b=this.A.va,a.Ea=!0,a.v("Type ? for help with PDPjs Debugger commands"),ge(a),b||he(a),a.ua&&(b=a.ua,a.ua=null,ie(a,b))):this.status("No debugger detected");this.A.va||this.v("CPU will not be auto-started "+(this.ua?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.xa=function(a){return a?this.save():!0};h.va=function(){return this.A.T?!0:this.A.va?(qc(this),!0):!1};h.Id=function(){return 0};function fe(a){void 0===a.Yb&&(a.Yb=0);void 0===a.Eb&&(a.Eb=-1);void 0===a.Gb&&(a.Gb=-1);a.A.Db=0<=a.Yb&&0<a.Eb;a.A.Db&&(a.Xb=0,a.Fb=a.Yb-a.fb)}function uc(a,b){if(a.A.Db){var c=!1;a.Xb=a.Xb+a.Id()|0;a.Fb-=b;0>=a.Fb&&(a.Fb+=a.Eb,c=!0);0<=a.Gb&&a.Gb<=je(a)&&(a.Eb=a.Gb=-1,fe(a),a.ba(),c=!0);c&&a.v(je(a)+" cycles: checksum="+H(a.Xb))}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=Ba(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.rc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.T?d.ba():qc(d))},!0;
case "speed":return this.C[b]=c,!0;case "setSpeed":return this.C[b]=c,c.onclick=function(){ke(d,d.eb<<1,!0)},c.textContent=this.qb.toFixed(2)+"Mhz",!0}return!1};function tc(a,b,c){a.fb+=b;c&&(a.cb=a.b=a.la=0)}function le(a,b){var c=1;b&&1<a.eb&&a.pb&&(c=a.pb/a.Kc);a.Lc=Math.round(1E3/me);a.Zb=Math.floor(a.zc/me*c);b||(a.ub=a.Zb);a.Ac=0}function je(a){return a.fb+a.Ia+a.cb-a.b}function ee(a){a.pb=0;a.Mc=0;a.fb=a.Ia=a.cb=a.b=a.la=0;fe(a);ke(a,1)}
function ke(a,b,c){var d=!1;if(void 0!==b){.8>a.pb/a.qb?b=1:d=!0;a.eb=b;b=a.Kc*a.eb;if(a.qb!=b){a.qb=b;b=a.qb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&ne(a.J)}tc(a,a.Ia);a.Ia=0;a.Ha=ya();a.bb=0;le(a);return d}function kd(a,b){var c=a.ja.length;a.ja.push([-1,b]);return c}function md(a,b,c,d){0<=b&&b<a.ja.length&&(d||0>a.ja[b][0])&&(c=a.zc*a.eb/1E3*c|0,a.A.T&&(c+=oe(a)),a.ja[b][0]=c)}
function pe(a,b){for(var c=a.ja.length-1;0<=c;c--){var d=a.ja[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qe(a){for(var b=[],c=0;c<a.ja.length;c++)b.push(a.ja[c][0]);return b}function sc(a,b){for(var c=a.ja.length-1;0<=c;c--){var d=a.ja[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function oe(a,b){var c=a.cb-=a.b;a.b=a.la=0;b&&(a.cb=0);return c}
h.cg=function(){if(this.A.T){this.Ac>=this.zc&&le(this,!0);this.Hb=0;this.Wb=ya();if(this.bb){var a=this.Wb-this.bb;a>this.Lc&&(this.Ha+=a,this.Ha>this.Wb&&(this.Ha=this.Wb))}try{do{var b=pe(this,this.A.Db?1:this.Zb);try{this.jc(b)}catch(e){if("number"!=typeof e)throw e;}b=oe(this,!0);this.Hb+=b;this.Ia+=b;uc(this,b);sc(this,b);this.ub-=b;if(0>=this.ub){this.ub+=this.Zb;++this.Mc>=re&&(this.J&&J(this.J,void 0),this.Mc=0);break}}while(this.A.T)}catch(e){this.ba();this.J&&this.J.stop(ya(),je(this));
Fa(this,e.stack||e.message);return}if(this.A.T){a=setTimeout;b=this.ud;this.bb=ya();var c=this.Lc;this.Hb&&(c=Math.round(c*this.Hb/this.Zb));var c=c-(this.bb-this.Wb),d=this.bb-this.Ha;d&&(this.pb=Math.round(this.Ia/(10*d))/100,864E5<=d&&(this.fb=0,ke(this)));if(0>c||this.pb<this.qb)-1E3>c&&(this.Ha-=c),c=0;this.Ac+=this.Hb;this.bb+=c;a(b,c)}}};
function qc(a,b){if(!Ga(a))if(a.A.T)a.v(a.toString()+" busy");else{ke(a);a.A.T=!0;a.A.vc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.J&&(b&&ne(a.J,!0),a.J.start(a.Ha,je(a)));a.G||a.status("Started");setTimeout(a.ud,0)}}h.jc=function(){return 0};h.ba=function(a){var b=!1;if(this.A.T){oe(this);tc(this,this.Ia);this.Ia=0;this.A.T=!1;if(b=this.C.run)b.textContent="Run";this.J&&this.J.stop(ya(),je(this));b=!0;this.G||this.status("Stopped")}this.A.complete=a;return b};var me=30,re=15,ce=["power","reset"];
function se(a){var b=+a.model||1170;be.call(this,a,6666667);this.ka=b;this.od=+a.addrReset||0;this.Ua=this.w=this.N=this.F=this.H=this.L=this.I=0;this.g=this.pa=this.W=[];this.M=this.B=this.Fa=this.fc=[];this.$a=this.P=this.ld=this.rb=this.lb=this.sb=this.ab=this.R=this.cc=this.Va=this.za=this.U=this.dc=this.ec=this.V=this.i=0;this.qd=[4,2,0,1];this.gc=0;this.rd=255;1120>=this.ka?(this.kd=te.bind(this),this.Cb=this.Fe,this.gc=8,this.rd=-1,this.yd=255,this.xd=0):(this.kd=ue.bind(this),this.Cb=this.Ge,
this.yd=~(1792|(1140>=this.ka?2048:0))&65535,this.xd=1140<this.ka?2048:0);this.kc=this.hc=this.oa=0;this.S=null;this.Vb=[];this.Sb=this.Ec=this.Hd;this.Tb=this.Fc=this.Md;this.wc=this.Gc=this.Qd;this.Ub=this.Jc=this.Rd;this.Ga=this.mb=this.ac=this.bc=0;this.Ea=this.Ld;this.na=this.Vc;this.Ab=this.Yc;this.u=this.j=this.yc=this.X=this.Z=0;this.A.complete=!1}p(se,be);h=se.prototype;
h.wa=function(a,b,c,d){be.prototype.wa.call(this,a,b,c,d);this.Ec=b.$c.bind(b);this.Fc=b.ic.bind(b);this.Gc=b.ad.bind(b);this.Jc=b.Ob.bind(b)};h.ya=function(a,b){for(var c=192,d=0;d<this.Vb.length;d++){var e=this.Vb[d];0>e.yb&&(e.yb=c,c+=4)}return be.prototype.ya.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ka);this.A.T&&this.ba();this.F=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.od,-1,-2,-3,-4,-5,-6,-7,-8];this.pa=[0,0,0,0,0,0];this.W=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.fc=[0,0,0,0,0,0,0,0];this.N=0;this.Ua=-1;this.u=this.j=this.yc=this.X=this.Z=this.i=this.cc=0;oc(this);ee(this);this.A.error=!1;be.prototype.reset.call(this)};function oc(a){a.U=0;a.dc=0;a.ec=0;a.V=0;a.R=0;a.Va=0;a.za=255;a.rb=0;a.lb=0;a.sb=0;a.ab=262143;a.$a=a.g[7];a.P=0;a.S=null;a.D&&(ve(a),a.ld=fd(a.D))}
function ve(a){a.Sb=a.Ec;a.Tb=a.Fc;a.wc=a.Gc;a.Ub=a.Jc;a.ac&&(a.Sb=a.Hd,a.Tb=a.Md);a.bc&&(a.wc=a.Qd,a.Ub=a.Rd);a.rb?(a.Ga=65536,a.mb=a.V&16?4186112:253952,a.Ea=a.Ld,a.na=a.ac?a.Xf:a.Vc,a.Ab=a.bc?a.ih:a.Yc,Yc(a.D,a.V&16?22:18)):(a.Ga=0,a.mb=57344,a.Ea=a.Ie,a.na=a.ac?a.Wf:a.Pd,a.Ab=a.bc?a.hh:a.Ud,Yc(a.D,16))}function td(a){var b=a.U;b&57344||(b=b&-3199|a.lb<<5|a.sb<<1);return b}
function ud(a,b){b&=-3073;if(a.U!=b){b&57344&&!(a.U&57344)&&(a.dc=a.P>>16&65535,a.ec=a.P&65535);a.U=b;a.lb=(b&96)>>5;a.sb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.rb!=c&&(a.rb=c,ve(a))}}function vd(a){a.U&57344||(a.dc=a.P>>16&65535);a=a.dc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function wd(a){a.U&57344||(a.ec=a.P&65535);return a.ec}function xd(a,b){1170>a.ka&&(b&=-49);a.V!=b&&(a.V=b,a.ab=b&16?4194303:262143,ve(a))}
function we(a,b,c){a.od=b;xe(a,b);Ad(a,0);a.D.reset();oc(a);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.T||qc(a)}else a.G&&a.A.fa?a.ba()||(ge(a.G),J(a.J,-1)):!1===c&&a.ba();!a.A.T&&a.ua&&a.ua.stop()}h.Id=function(){return 0};
h.save=function(){var a=new I(this);a.set(0,[this.g,this.pa,this.W,this.M,this.B,this.Fa,this.fc,this.R,this.cc,this.Va,this.za,this.lb,this.sb,this.$a,this.i,this.P,this.Ua,this.hc,this.kc]);a.set(1,[zd(this),td(this),vd(this),wd(this),this.V]);a.set(2,[this.fb,this.eb,this.A.va]);a.set(3,ye(this));a.set(4,qe(this));return a.data()};
h.restore=function(a){var b=ja(a[0]);this.g=b.next().value;this.pa=b.next().value;this.W=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Fa=b.next().value;this.fc=b.next().value;this.R=b.next().value;this.cc=b.next().value;this.Va=b.next().value;this.za=b.next().value;this.lb=b.next().value;this.sb=b.next().value;this.$a=b.next().value;this.i=b.next().value;this.P=b.next().value;this.Ua=b.next().value;this.hc=b.next().value;this.kc=b.next().value;b=a[1];Ad(this,b[0]);ud(this,b[1]);
this.dc=b[2];this.ec=b[3];xd(this,b[4]);b=a[2];this.fb=b[0];ke(this,b[1]);this.A.va=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Vb.length;d++){var e=this.Vb[d];if(e.yb===b[c]){d=e;break a}}d=null}d&&(d.next=this.S,this.S=d)}a=a[4];for(b=0;b<this.ja.length&&b<a.length;b++)this.ja[b][0]=a[b];return!0};function ze(a){return a.F&65536?1:0}function Ae(a){return a.H&32768?2:0}function Be(a){return a.L&65535?0:4}function Ce(a){return a.I&32768?8:0}
function De(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function R(a,b,c){c&&(xe(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function xe(a,b){a.g[7]=b&65535}function nd(a,b,c,d){b={yb:b,jb:c,message:d||0,name:Ob[b],next:null};a.Vb.push(b);return b}function Ee(a,b){var c=a.S;if(c==b)a.S=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.S&&(a.i|=1)}
function ld(a,b){if(b){if(b!=a.S){var c=a.S;if(!c||c.jb<=b.jb)b.next=c,a.S=b;else{do{var d=c.next;if(!d||d.jb<=b.jb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+F(b.yb)+",priority="+b.jb+")",!0,!0)}}function sd(a,b){b&&(Ee(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+F(b.yb)+",priority="+b.jb+")",!0,!0))}function ye(a){var b=[];for(a=a.S;a;)b.push(a.yb),a=a.next;return b}
function Fe(a){return a.i&64?(a.ta(168,64,-6),!0):a.i&32?(a.ta(4,32,-5),!0):a.i&16?(a.ta(12,16,-7),!0):!1}function zd(a){return a.w=a.w&63728|Ce(a)|Be(a)|Ae(a)|ze(a)}function Ad(a,b){b&=a.yd;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.F=b<<16;if((b^a.w)&a.xd)for(var c=a.pa.length;0<=--c;){var d=a.g[c];a.g[c]=a.pa[c];a.pa[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.W[c]=a.g[6],a.g[6]=a.W[a.N]);a.w=b;a.i&=-3;a.i|=a.S?2:1}function yd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}
h.Da=function(a){this.I=this.L=a;this.H=0};h.kb=function(a,b){this.I=this.L=this.F=a;this.H=b||0};function Ge(a,b){a.I=a.L=a.F=b;a.H=a.I^a.F>>1}function He(a,b,c,d){a.I=a.L=a.F=b;a.H=(c^d)&(d^b)}
h.ta=function(a,b,c){if(!this.oa){0>this.Ua?this.Ua=zd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.N=0;var d=this.na(a|this.Ga),e=this.na(a+2&65535|this.Ga);Ad(this,e&-12289|this.Ua>>2&12288);Ie(this,this.Ua);Ie(this,this.g[7]);xe(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.hc=c;this.kc=a;-1==c&&this.ba();if(-4<=c)throw a;}};
function Je(a){var b=Ke(a),c=Ke(a);a.w&49152&&(c=c&-225|a.w&63712);xe(a,b);Ad(a,c);a.i&=-17}function Le(a,b){var c=b>>13&31;31>c&&(b=a.V&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b}
function Me(a,b,c){var d=[];if(c){c=Le(a,b);var e=b>>13&31;d.push(c);d.push(e);a.V&32&&(d.push(a.Fa[e]),d.push(b&8191))}else if(a.rb){var e=a.N<<1,f=b>>13;7<f&&(e|=1);a.V&a.qd[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.ab;3932160<=c&&(c=Le(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.ab)}else c=b&65535,57344<=c&&(c|=a.mb),d.push(c);return d}
function xc(a,b,c){var d,e,f;if(!(c&a.rb))return f=b&65535,57344<=f&&(f|=a.mb),f;d=b>>13;a.V&a.qd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.ab;3932160<=f&&(f=Le(a,f));if(a.oa)return f;f>=a.ld&&f<a.mb?(a.R|=32,a.ta(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ta(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.ab)||a.N)a.lb=a.N,a.sb=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.U&57344||(g|=a.U&4096|a.lb<<5|a.sb<<1,ud(a,a.U&-61695|g&61694)),a.ta(168,64,-2)),a.U&61440||!(f<(4191360&a.ab)||f>(4194239&a.ab))||(a.U|=4096,a.U&512&&(a.i|=64)));return f}function Ke(a){var b=a.na(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Ie(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.Cb(4,-2,c);a.Ab(c,b)}
function Ne(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.ta(4,0,-3),0;case 1:return 6==c&&a.Cb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Cb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.na(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Cb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.na(e)|g;a.b-=8;break;case 6:return e=a.na(De(a,2)),e=e+a.g[c]&65535,6==c&&a.Cb(d,
0,e),a.b-=6,e|g;case 7:return e=a.na(De(a,2)),e=e+a.g[c]&65535,e=a.na(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fe=function(a,b,c){!this.N&&0>=b&&c<=this.za&&(this.i|=32)};h.Ge=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.za&&(c<=this.za-32?this.ta(4,0,-4):(this.R|=8,this.i|=32)))};h.Hd=function(a){this.G&&Yd(this.G,a,1);return this.Ec(a)};h.Md=function(a){this.G&&Yd(this.G,a,2);return this.Fc(a)};
h.Qd=function(a,b){this.G&&Zd(this.G,a,1);this.Gc(a,b)};h.Rd=function(a,b){this.G&&Zd(this.G,a,2);this.Jc(a,b)};function Kc(a,b){a.oa++;b=a.D.ic(xc(a,b,2));a.oa--;return b}function Oe(a,b){(b?--a.bc:--a.ac)||ve(a)}h.Ie=function(a,b,c){return Ne(this,a,b,c)};h.Ld=function(a,b,c){return xc(this,Ne(this,a,b,c),c)};h.Pd=function(a){return this.D.ic(this.$a=a)};h.Wf=function(a){this.G&&Yd(this.G,a,2);return this.Pd(a)};h.Vc=function(a){return this.D.ic(this.$a=xc(this,a,2))};
h.Xf=function(a){this.G&&Yd(this.G,a,2);return this.Vc(a)};h.Ud=function(a,b){this.D.Ob(this.$a=a,b)};h.hh=function(a,b){this.G&&Zd(this.G,a,2);this.Ud(a,b)};h.Yc=function(a,b){this.D.Ob(this.$a=xc(this,a,4),b)};h.ih=function(a,b){this.G&&Zd(this.G,a,2);this.Yc(a,b)};function Pe(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Ne(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.na(d|c&a.Ga),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.W[a.w>>12&3];return c}
function Qe(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Ne(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=xc(a,e|c&65536,4),a.N=a.w>>14&3,a.Ub(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.W[a.w>>12&3]=d}function Re(a,b){b>>=6;var c=a.Z=b&7;return(b=a.X=(b&56)>>3)?a.Sb(a.Ea(b,c,3)):a.g[c+a.gc]&a.rd}function Se(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.X=(b&56)>>3)?c=a.Tb(a.Ea(b,d,2)):c=a.g[d+a.gc];return c}function Te(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Ne(a,b,c,8)}
function Ue(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.Sb(a.Ea(b,c,3)):a.g[c]&255}function Ve(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.Tb(a.Ea(b,d,2)):c=a.g[d];return c}function We(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.yc=a.Ea(b,e,7),c=0>c?a.g[-c-1]&255:c,a.wc(e,d.call(a,c,a.Sb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function S(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,6),a.Ub(e,d.call(a,0>c?a.g[-c-1]:c,a.Tb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function sf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Ea(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.wc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function tf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Ea(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ub(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.jc=function(a){this.A.complete=!0;var b=this.G?uf(this.G)?1:this.A.vc?-1:0:0,c=a?this.A.vc?0:1:-1;this.A.vc=!1;this.cb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(vf(this.G,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.S&&this.S.jb>e?this.S:null;f&&(d=f.yb,e=f.jb);e>(this.w&224)>>5?(this.i&8&&(De(this,2),this.i&=-9),this.ta(d,0,-10),e=!0):e=!1;e&&(f&&Ee(this,f),a=!0);this.S||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&vf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&Fe(this)){if(this.i&4&&vf(this.G,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.na(a);this.g[7]=a+2&65535;this.kd(f)}while(0<this.b);return this.A.complete?this.cb-this.b:!1===this.A.complete?-1:0};yb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new se(d);Ea(d,c)}});
function wf(a,b){var c=b+a;this.I=this.L=this.F=c;this.H=(a^c)&(b^c);return c&65535}function xf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.F=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function yf(a,b){a=b<<1;Ge(this,a);return a&65535}function zf(a,b){a=b<<1;Ge(this,a<<8);return a&255}function Af(a,b){a=b&32768|b>>1|b<<16;Ge(this,a);return a&65535}function Bf(a,b){a=b&128|b>>1|b<<8;Ge(this,a<<8);return a&255}function Cf(a,b){a=b&~a;this.Da(a);return a}function Df(a,b){a=b&~a;this.Da(a<<8);return a}
function Ef(a,b){a|=b;this.Da(a);return a}function Ff(a,b){a|=b;this.Da(a<<8);return a}function Gf(a,b){a=~b|65536;this.kb(a);return a&65535}function Hf(a,b){a=~b|256;this.kb(a<<8);return a&255}function If(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Jf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function Kf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function Lf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function Mf(a,b){a=-b;this.kb(a,a&b&32768);return a&65535}function Nf(a,b){a=-b;this.kb(a<<8,(a&b&128)<<8);return a&255}function Of(a,b){a=b<<1|this.F>>16&1;Ge(this,a);return a&65535}function Pf(a,b){a=b<<1|this.F>>16&1;Ge(this,a<<8);return a&255}function Qf(a,b){a=(this.F&65536|b)>>1|b<<16;Ge(this,a);return a&65535}function Rf(a,b){a=((this.F&65536)>>8|b)>>1|b<<8;Ge(this,a<<8);return a&255}function Sf(a,b){var c=b-a;He(this,c,a,b);return c&65535}
function Tf(a,b){var c=b-a;He(this,c<<8,a<<8,b<<8);return c&255}function Uf(a,b){this.I=this.L=b&65280;this.H=this.F=0;return(b<<8|b>>8)&65535}function Vf(a,b){a^=b;this.Da(a);return a&65535}function Wf(a){S(this,a,Se(this,a),wf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function Xf(a){var b=Ve(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.F=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.F=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.F=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b}
function Yf(a){var b=Ve(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.F=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.F=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function Zf(a){R(this,a,!ze(this))}function $f(a){R(this,a,ze(this))}
function ag(a){S(this,a,Se(this,a),Cf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function bg(a){We(this,a,Re(this,a),Df);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function cg(a){S(this,a,Se(this,a),Ef);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function dg(a){We(this,a,Re(this,a),Ff);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function eg(a){var b=Se(this,a);a=Ve(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function fg(a){var b=Re(this,a);a=Ue(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function gg(a){R(this,a,Be(this))}function hg(a){R(this,a,!Ce(this)==!Ae(this))}function ig(a){R(this,a,!Be(this)&&!Ce(this)==!Ae(this))}function jg(a){R(this,a,!ze(this)&&!Be(this))}
function kg(a){R(this,a,Be(this)||!Ce(this)!=!Ae(this))}function lg(a){R(this,a,ze(this)||Be(this))}function mg(a){R(this,a,!Ce(this)!=!Ae(this))}function ng(a){R(this,a,Ce(this))}function og(a){R(this,a,!Be(this))}function pg(a){R(this,a,!Ce(this))}function qg(){this.ta(12,0,-9)}function rg(a){R(this,a,!0)}function sg(a){R(this,a,!Ae(this))}function tg(a){R(this,a,Ae(this))}function ug(a){a&1&&(this.F=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function vg(a){var b=Se(this,a);a=Ve(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;He(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function wg(a){var b=Re(this,a);a=Ue(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);He(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}
function xg(a){var b=Ve(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.F=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.F=65536,this.b-=7}function yg(){this.ta(24,0,-9);this.b-=20}
function zg(){this.w&49152?(this.R|=128,this.ta(4,0,-8)):(this.ua&&1120==this.ka&&this.ua.setData(this.g[0],!0),this.G?Ag(this.G):this.ba());this.b-=7}function Bg(){this.ta(16,0,-9);this.b-=20}var Cg=[0,7,7,10,7,11,9,13];function Dg(a){this.la=this.b;xe(this,Te(this,a));this.b=this.la-Cg[this.u]}var Eg=[0,14,14,17,14,18,16,20];function Fg(a){this.la=this.b;var b=Te(this,a);a=a>>6&7;Ie(this,this.g[a]);this.g[a]=this.g[7];xe(this,b);this.b=this.la-Eg[this.u]}
var Gg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Hg(a){var b=Se(this,a);this.la=this.b;tf(this,a,b,this.Da);this.b=this.la-Gg[(this.X?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Ig(a){var b=Re(this,a);sf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}var Jg=[7,13,13,17,14,18,17,21];
function Kg(a){var b=Ve(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.H=0;this.F=-32768>b||32767<b?65536:0;this.b-=23}function Lg(){this.b-=5}function Mg(){this.w&49152||(this.D.reset(),oc(this),this.ua&&this.ua.setData(this.g[0],!0));this.b-=667}function Ng(a){if(a&8)T.call(this,a);else{var b=Ke(this);a&=7;7==a?xe(this,b):(xe(this,this.g[a]),this.g[a]=b);this.b-=9}}function Og(){Je(this);this.b-=13}
function Pg(a){a&1&&(this.F=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Qg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)xe(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Rg(a){S(this,a,Se(this,a),Sf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Sg(a){S(this,a,0,Uf);this.b-=this.u?9:3+(7==this.j?2:0)}function Tg(){this.ta(28,0,-9)}
function Ug(){this.ua&&(this.ua.Wc(this.g[7],!0),this.ua.setData(this.g[0],!0));this.i|=8;De(this,-2);this.b-=3}function Vg(a){S(this,a,this.g[(a>>6&7)+this.gc],Vf);this.b-=this.u?9:3+(7==this.j?2:0)}function T(a){var b;if(b=this.G)b=this.G,B(b,1)?(C(b,"undefined opcode "+M(b,a),!0,!0),b=Ag(b)):b=!1;b||this.ta(8,0,-9)}function te(a){Wg[a>>12].call(this,a)}function Xg(a){Yg[a>>6&3].call(this,a)}function Zg(a){$g[a>>6&3].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}
function ch(a){dh[a&15].call(this,a)}function eh(a){fh[a&15].call(this,a)}function gh(a){hh[a>>6&3].call(this,a)}function ih(a){jh[a>>6&3].call(this,a)}function kh(a){lh[a>>6&3].call(this,a)}
var Wg=[function(a){mh[a>>8&15].call(this,a)},Hg,vg,eg,ag,cg,Wf,T,function(a){nh[a>>8&15].call(this,a)},Ig,wg,fg,bg,dg,Rg,T],mh=[function(a){oh[a>>4&15].call(this,a)},rg,og,gg,hg,mg,ig,kg,Fg,Fg,Xg,Zg,ah,T,T,T],Yg=[function(a){tf(this,a,0,this.kb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,Gf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,1,Kf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,1,If);this.b-=this.u?9:3+(7==this.j?2:0)}],$g=[function(a){S(this,a,0,Mf);
this.b-=this.u?11:6},function(a){S(this,a,ze(this)?1:0,wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,ze(this)?1:0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ve(this,a);this.kb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],bh=[function(a){S(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,Af);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){S(this,a,0,yf);this.b-=this.u?9:3+(7==this.j?2:0)}],oh=
[function(a){ph[a&15].call(this,a)},T,T,T,Dg,Dg,Dg,Dg,Ng,T,ch,eh,Sg,Sg,Sg,Sg],ph=[zg,Ug,Og,qg,Bg,Mg,T,T,T,T,T,T,T,T,T,T],dh=[Lg,function(){this.F=0;this.b-=5},function(){this.H=0;this.b-=5},ug,function(){this.L=1;this.b-=5},ug,ug,ug,function(){this.I=0;this.b-=5},ug,ug,ug,ug,ug,ug,ug],fh=[Lg,function(){this.F=65536;this.b-=5},function(){this.H=32768;this.b-=5},Pg,function(){this.L=0;this.b-=5},Pg,Pg,Pg,function(){this.I=32768;this.b-=5},Pg,Pg,Pg,Pg,Pg,Pg,Pg],nh=[pg,ng,jg,lg,sg,tg,Zf,$f,yg,Tg,gh,ih,
kh,T,T,T],hh=[function(a){sf(this,a,0,255,this.kb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,0,Hf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,1,Jf);this.b-=this.u?9:3+(7==this.j?2:0)}],jh=[function(a){We(this,a,0,Nf);this.b-=this.u?11:6},function(a){We(this,a,ze(this)?1:0,xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,ze(this)?1:0,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ue(this,
a);this.kb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],lh=[function(a){We(this,a,0,Rf);this.b-=this.u?9+(this.yc&1):3+(7==this.j?2:0)},function(a){We(this,a,0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){We(this,a,0,Bf);this.b-=this.u?9+(this.yc&1):3+(7==this.j?2:0)},function(a){We(this,a,0,zf);this.b-=this.u?9:3+(7==this.j?2:0)}];function ue(a){qh[a>>12].call(this,a)}
var qh=[function(a){rh[a>>8&15].call(this,a)},Hg,vg,eg,ag,cg,Wf,function(a){sh[a>>8&15].call(this,a)},function(a){th[a>>8&15].call(this,a)},Ig,wg,fg,bg,dg,Rg,T],rh=[function(a){uh[a>>4&15].call(this,a)},rg,og,gg,hg,mg,ig,kg,Fg,Fg,Xg,Zg,ah,function(a){vh[a>>6&3].call(this,a)},T,T],vh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.na(a|this.Ga);xe(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Pe(this,a,0);this.Da(a);Ie(this,a);this.b-=11},function(a){var b=Ke(this);
this.la=this.b;this.Da(b);Qe(this,a,0,b);this.b=this.la-Jg[this.u]},function(a){tf(this,a,Ce(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],uh=[function(a){wh[a&15].call(this,a)},T,T,T,Dg,Dg,Dg,Dg,Ng,function(a){!(a&8)||1145>this.ka?T.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},ch,eh,Sg,Sg,Sg,Sg],wh=[zg,Ug,function(){Je(this);this.i|=this.w&16;this.b-=13},qg,Bg,Mg,Og,function(a){T.call(this,a)},T,T,T,T,T,T,T,T],sh=[Kg,Kg,xg,xg,Xf,Xf,Yf,Yf,
Vg,Vg,T,T,T,T,Qg,Qg],th=[pg,ng,jg,lg,sg,tg,Zf,$f,yg,Tg,gh,ih,kh,function(a){1145>this.ka?T.call(this,a):xh[a>>6&3].call(this,a)},T,T],xh=[function(a){T.call(this,a)},function(a){a=Pe(this,a,65536);this.Da(a);Ie(this,a);this.b-=11},function(a){var b=Ke(this);this.la=this.b;this.Da(b);Qe(this,a,65536,b);this.b=this.la-Jg[this.u]},function(a){T.call(this,a)}];
function yh(a){q.call(this,"ROM",a,128);this.ha=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Sa(this.j);if(this.j){a=this.j;var b=Ta(this.B);"json"!=b&&"hex"!=b&&(a=gb()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;eb(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(wa(c.ob,a,b),(a=fb(a,b))?(c.g=a.ca,c.ha=a.ha):c.j=null);zh(c)})}}p(yh,q);
h=yh.prototype;h.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;zh(this)};h.ya=function(){this.ha&&(this.G&&Ah(this.G,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.xa=function(){return!0};
function zh(a){if(!Ha(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Fa(a,"ROM size ("+H(a.g.length,8,!0)+") does not match specified size ("+H(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Qc){var c={},c=(c[b]=[yh.prototype.If,yh.prototype.Rg,null,null,null,a.b>>1],c);if(ac(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+F(b));b=a.w=!0;break a}}else if(Wc(a.D,b,a.b,Fd)){for(c=0;c<a.g.length;c++)ed(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}A(a)}}h.If=function(a){return this.g[a-this.u]};h.Rg=function(){};yb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new yh(d);Ea(d,c)}});
function Bh(a){q.call(this,"RAM",a);this.ha=this.g=null;this.i=+a.addr;this.j=+a.size;this.Ba=a.load;this.Aa=a.exec;null!=this.Ba&&(this.Ba=+this.Ba);null!=this.Aa&&(this.Aa=+this.Aa);this.u=!1;this.b=a.file;this.w=Sa(this.b);if(this.b){a=this.b;var b=Ta(this.w);"json"!=b&&"hex"!=b&&(a=gb()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;eb(a,null,!0,function(a,b,f){f?(c.O("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(wa(c.ob,a,b),(a=fb(a,b))?(c.g=a.ca,c.ha=a.ha,
null==c.Ba&&(c.Ba=a.Ba),null==c.Aa&&(c.Aa=a.Aa)):c.b=null);Ch(c)})}}p(Bh,q);Bh.prototype.wa=function(a,b,c,d){this.D=b;this.f=c;this.G=d;Ch(this)};Bh.prototype.ya=function(a,b){this.ha&&(this.G&&Ah(this.G,this.id,this.i,this.j,this.ha),delete this.ha);b||this.reset();return!0};Bh.prototype.xa=function(){return!0};
function Ch(a){if(a.D&&(!a.u&&a.j&&(Wc(a.D,a.i,a.j,gd)?a.u=!0:a.j=0),!Ha(a))){if(!a.u)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;Dh(a,a.g,a.Ba,a.Aa,a.i)?a.status('Loaded image "'+a.w+'"'):a.O('Error loading image "'+a.w+'"')}A(a)}}
Bh.prototype.reset=function(){if(this.u){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Gb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Dh(this,this.g,this.Ba,this.Aa,this.i,!0)}};
function Dh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){C(a,"invalid signature ("+Ra(m)+") at offset "+Ra(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+Ra(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+Ra(n),4096);
break}m+=b[l++]&255;if(m&255){C(a,"invalid checksum ("+H(m,2,!0)+") for block at offset "+Ra(n),4096);break}if(E)for(C(a,"loading "+Ra(E)+" bytes at "+Ra(u)+"-"+Ra(u+E),4096);E--;)ed(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+Ra(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)ed(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.ba(),f=!1;null!=d&&we(a.f,d,f)}return k}
yb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Bh(d);Ea(d,c)}});function Eh(a){q.call(this,"Keyboard",a,1024);A(this)}p(Eh,q);Eh.prototype.sa=function(){return!1};Eh.prototype.wa=function(a,b,c,d){this.J=a;this.f=c;this.G=d};yb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Eh(d);Ea(d,c)}});
function Fh(a){q.call(this,"SerialPort",a,262144);this.M=+a.adapter;this.U=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.N=null;this.S=this.X=-1;this.F=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Gh;b&&(void 0===c&&(c="Panel"),(c=Da(c,this.id))&&(b=c.C[b])&&this.sa(null,a,b))}this.j=this.H=this.P=null;this.exports=
{connect:this.Nd,receiveData:this.sc,receiveStatus:this.bg,setConnection:this.fg}}p(Fh,q);h=Fh.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case Gh:return this.C[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.bd:ta.Zd:46==c?b=ta.bd:a.ctrlKey&&c>=ta.Zc&&c<=ta.Ae&&(b=c-(ta.Zc-ta.Wd));b&&(a.preventDefault&&a.preventDefault(),d.sc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.Yd&&(b=ta.Xd);d.sc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.sc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;var e=this;this.R=nd(this.f,this.M?-1:48,4,262144);this.S=kd(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,C(e,"receiveByte("+H(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),md(e.f,e.S,1E3/Math.round(e.U/10)));0<=a&&(e.F=a,e.b&128?e.F|=49152:e.b|=128,e.b&64&&ld(c,e.R))});this.N=nd(this.f,this.M?-1:52,4,262144);this.X=kd(this.f,function(){e.g|=128;e.g&64&&ld(c,e.N)});ac(b,this,Hh,this.M?64832+8*(this.M-1)-65392:0);cc(b,this.reset.bind(this));
A(this)};h.Nd=function(a){if(!this.j){var b=de(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ab(c[0]);if(d!=this.nb)return;c=ab(c[1]);if(this.j=Ca(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status("Connected "+this.ob+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ya=function(a,b){if(!b)if(this.Nd(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Ih(this)};h.save=function(){var a=new I(this);a.set(0,[this.F,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Ih(this,a[0])};function Ih(a,b){b||(b=[0,8192,128,a.i]);b=ja(b);a.F=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0}
h.sc=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);md(this.f,this.S,1E3/Math.round(this.U/10));return!0};h.bg=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&ld(this.f,this.R))};h.fg=function(a,b){return this.j?!1:(this.j=a,this.H=b,!0)};
h.vf=function(){var a=this.b&65534;this.b&=-32769;return a};h.Eg=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.j,b))};h.uf=function(){this.b&=-129;return this.F};h.Dg=function(){};h.ag=function(){return this.g};h.kh=function(a){this.g&128&&(a&64?ld(this.f,this.N):sd(this.f,this.N));this.g=this.g&-70|a&69};h.$f=function(){return 0};
h.jh=function(a){a&=255;C(this,"transmitByte("+H(a,2,!0)+")");this.H&&this.H.call(this.j,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=bb[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=Xa("",c)));this.V&&!this.B&&c&&(b=String.fromCharCode(this.V)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.v(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}md(this.f,this.X,1E3/Math.round(this.Z/10));this.g&=-129};var Gh="buffer",Jh={},Hh=(Jh[65392]=[null,null,Fh.prototype.vf,Fh.prototype.Eg,"RCSR"],Jh[65394]=[null,null,Fh.prototype.uf,Fh.prototype.Dg,"RBUF"],Jh[65396]=[null,null,Fh.prototype.ag,Fh.prototype.kh,"XCSR"],Jh[65398]=[null,null,Fh.prototype.$f,Fh.prototype.jh,"XBUF"],Jh);
yb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Fh(d);Ea(d,c)}});function Bd(a){q.call(this,"PC11",a);this.M=Kh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.B=this.F=this.b=0;this.w=[];this.u=Lh;this.i=Mh;this.L=this.j="";this.ca=this.Ba=this.Aa=null;this.P=-1;this.N=!mb("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(Bd,q);
function Kh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Bd.prototype;
h.sa=function(a,b,c){var d=this,e=Mh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Nh;case "loadTape":return e||(e=Oh),this.C[b]=c,c.onclick=
function(){var a=d.C.listTapes;a&&Ph(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.N){c.parentNode.removeChild(c);break}this.C[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ph(d,Sa(b,!0),b,Oh,a)}return!1};return!0;case Qh:return this.C[b]=c,!0}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;this.I=Rh(a);var e=this;if(a=Kh(this,de(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=nd(this.f,56,4,4096);this.R=kd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.w.length&&(e.F=e.w[e.B++]&255,Sh(e,e.B/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ld(e.f,e.H))});ac(b,this,Th);cc(b,this.reset.bind(this));Uh(this,"None",Lh,!0);this.N&&Uh(this,"Local Tape",Vh);Uh(this,"Remote Tape",Wh);Xh(this)||A(this)};
h.ya=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.F=0};function Xh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.C.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Sa(c,!0)}c&&b?Yh(a,b,c,Oh,!0):Zh(a)}return!!a.g}
function Ph(a,b,c,d,e){if(c)if(c==Vh)a.O('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Wh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Sa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.u=Wh}else a.u=c;Yh(a,b,c,d,!1,e)}else $h(a,!1)}
function Yh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,$h(a,!0),a.A.gb?a.O("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),ai(a,b,c,d,f)?g++:a.A.gb=!0);g&&bi(a,a.L,a.j,a.i,a.ca,a.Ba,a.Aa)}
function ai(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),bi(a,b,c,d,e),a.u=Vh);Zh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ta(c),f="json"==e||"gz"==e?encodeURI(c):gb()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!eb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.O('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(wa(a.ob,e,f),(e=fb(e,f))&&bi(a,b,c,d,e.ca,e.Ba,
e.Aa));a.A.gb=!1;a.g&&(a.g--,a.g||A(a));Zh(a)})}function Uh(a,b,c,d){if((a=a.C.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Zh(a){var b=a.C.listTapes;if(b&&b.options){a=a.u||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Sh(a,b){b|=0;if(b!==a.P){var c=a.C[Qh];c&&(c=(c=y(c,ci))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function bi(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.Ba=f;a.Aa=g;d==Nh?a.I&&Dh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.O('No valid memory address for tape "'+b+'"'):(a.B=0,a.w=e,a.status('Loaded tape "'+b+'"'),Sh(a,0))}function $h(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Oh?"tape detached":"tape unloaded"),a.u=Lh,a.i=Mh,Zh(a))}h.save=function(){return(new I(this)).data()};h.restore=function(){return!0};h.nf=function(){return this.b&65534};
h.xg=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&ld(this.f,this.H)):(this.b&=-129,this.b|=2048,this.F=0,md(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.mf=function(){this.b&=-129;this.b|=2048;return this.F};h.wg=function(){};var Lh="",Vh="?",Wh="??",Mh=0,Oh=1,Nh=2,Qh="readProgress",ci="pcjs-progress-bar",di={},Th=(di[65384]=[null,null,Bd.prototype.nf,Bd.prototype.xg,"PRS"],di[65386]=[null,null,Bd.prototype.mf,Bd.prototype.wg,"PRB"],di);
function ei(a,b,c){q.call(this,"Disk",{id:a.ob+".disk"+H(++fi,4)},8192);this.controller=a;this.J=a.J;this.G=a.G;this.u=b;this.Na=b.name;this.ra=this.uc="";this.qc=b.qc;this.Y=this.ea=this.aa=this.qa=this.mode=0;this.b=[];this.i=null;this.j=!1;gi(this,c,b.Y,b.ea,b.aa,b.qa);this.g=this.w=null;A(this)}p(ei,q);h=ei.prototype;h.wa=function(a,b,c,d){this.G=d};
function gi(a,b,c,d,e,f){a.mode=b;a.Y=c;a.ea=d;a.aa=e;a.qa=f;a.b=[];if("preload"!=a.mode){b=Array(a.Y);for(c=0;c<b.length;c++){d=Array(a.ea);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=hi(null,c,e,g,a.qa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ii(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.ra=c;a.uc=Sa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=sa[d];if(e){a.Y=e[0];a.ea=e[1];a.aa=e[2];a.qa=e[3]||512;c=a.qa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.Y);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ea),t=0;t<u.length;t++)for(var E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var D=hi(null,d,t,z+1,a.qa,0),G=D.data,lb=0;lb<c;lb++,f+=4)var qd=G[lb]=b.getInt32(f,
!0),e=e+qd&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.O("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Na,a.ra),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ta(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Ua(c,"/")&&(d="dir"),f=gb()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.qc?"":e)+"&format=json"));return!!eb(f,
null,!0,function(b,c,d){ji(a,b,c,d)})}
function ji(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.O('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{wa(a.controller.ob,b,c);try{if(0<Sa(a.uc,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.Y=k.length;a.ea=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.qa=l&&l.length||512;for(d=c=0;d<a.Y;d++)for(f=0;f<a.ea;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;ki(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}hi(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Na,a.ra),a.g=null)}function hi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ai=b;a.Bi=c;a.Ra=a.Ja=0;a.Xa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.De&&b<f.ea)for(k=g[b]=Array(f.Dd),g=0;g<k.length;g++)k[g]=hi(null,a,b,g+1,f.Sc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.De&&9==f.Pc&&(d=k[g]=hi(null,a,b,f.Pc,f.Sc,0))}}e&&e(d,!1);return d};function ki(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ja?f<a.Ra?(a.Ja+=a.Ra-f,a.Ra=f):f>=a.Ra+a.Ja&&(a.Ja+=f-(a.Ra+a.Ja)+1):(a.Ra=f,a.Ja=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ii(a,b){var c=a.ea*a.aa,d=b/c|0;return d<a.Y?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function ji(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ki(a){for(var b="",c=0,d;d=ii(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ji(a,d,e));return btoa(b)}
function li(a,b){var c=a.ea*a.aa,d=b/c|0;return d<a.Y?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function mi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ni(a){for(var b="",c=0,d;d=li(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(mi(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.ra,this.i,this.Y,this.ea,this.aa,this.qa];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?di(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=ii(this,a++);)li(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function li(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var ci=0;function S(a){q.call(this,"RK11",a,0,65536);this.L=mi(this,a.autoMount);this.F=0;this.i=Array(8);this.M=!pb("Mobi")&&window&&"FileReader"in window;this.u=[];this.hb=null;this.I=this.g=this.b=this.B=this.w=this.j=this.H=0}p(S,q);
function mi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=S.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=G(c.value,10);null!=a&&Gi(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Ii(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&G(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.N("Unable to boot the selected drive"):a.da?(te(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.i&&((a=d.i[G(a.value,10)||0])?(a=a.da)?(a=sb(ki(a),a.kc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.M)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ii(d,Qa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=mi(this,ae(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.L[e]=a[e]);Ji(this);this.hb=ld(this.f,144,5,65536);Yb(b,this,Ki);$b(b,this.reset.bind(this));Li(this,"None",Mi,!0);this.M&&Li(this,"Local Disk",Ni);Li(this,"Remote Disk",Oi);Pi(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){this.u=[];for(a=0;a<this.i.length;a++)Qi(this,a,!0);Pi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Gi(this,0)}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Ji(this)};
h.save=function(){var a=new L(this);a.set(0,[this.I,this.g,this.b,this.B,this.w,this.j,this.H,Ri(this)]);return a.data()};h.restore=function(a){return Ji(this,a[0])};
function Ji(a,b){b||(b=[2368,0,128,0,0,0,0]);var c=ja(b);a.I=c.next().value;a.g=c.next().value;a.b=c.next().value;a.B=c.next().value;a.w=c.next().value;a.j=c.next().value;a.H=c.next().value;b[7]&&(a.u=b[7]);for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.gb=b;d.name=c.mb;d.vb=d.Xa=!1;d.Y=203;d.ea=2;d.aa=12;d.qa=512;d.gc=!0;d.Kd=0;d.Id=0;d.zc=1;d.bd=d.aa;d.Cc=d.qa;d.Pd=0;d.hf=null;d.da||(d.ra="");d.status=2368}return!0}
function Ri(a){for(var b=0;b<a.i.length;b++){var c=a.i[b];c.da&&Si(a,c.ra,c.da)}return a.u}
function Pi(a,b){b||(a.F=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Qa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Ti(a,g,f,e,!0)&&b&&A(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function Ii(a,b,c,d){var e=a.C.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.N("Unable to load the selected drive");else if(c)if(c==Ni)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Oi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ti(a,e,b,c,!1,d)}else Qi(a,e)}
function Ti(a,b,c,d,e,f){var g=-1,k=a.i[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,Qi(a,b,!0),k.vb?a.N("RK11 busy"):(k.vb=!0,e&&(k.ub=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,fi(new bi(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.vb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.gb)),b=null);if(b){a.da=b;a.Na=c;a.ra=d;a:{var f;for(f=0;f<this.u.length;f++)if(this.u[f][1]==d){b.restore(this.u[f][2]);break a}this.u[f]=[c,d,[]]}this.N('Loaded disk "'+c+'" in drive '+("RK"+a.gb),a.ub||e);this.J&&ke(this.J)}else a.Xa=!1;a.ub&&(a.ub=!1,--this.F||A(this));Gi(this,a.gb)};
function Li(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Gi(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=G(a.value,10),c=c.Xa?Ni:c.ra,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Qi(a,b,c){var d=a.i[b];if(d.da||!1===c)Si(a,d.ra,d.da),d.Na="",d.ra="",d.da=null,d.Xa=!1,c||(a.N("Drive RK"+b+" unloaded",c),Gi(a,b))}
function Si(a,b,c){var d;for(d=0;d<a.u.length;d++)if(a.u[d][1]==b){a.u[d][2]=c.save();break}}h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.Y){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(Ec(this.D,Ie(this.f,f),u|t<<8),gd(this.D))){m=1024;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=128,e=0);for(;e;){var u=Gc(this.D,Ie(this.f,f));if(gd(this.D)){m=1024;break}if(!n){if(b>=a.Y){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f){this.w=f&65535;this.b=this.b&-49|f>>12&48;this.B=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Ui(this);return!0};function Ui(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),B(a)&&C(a,a.type+": ERROR: "+H(a.g)))}h.Ee=function(){return this.I};h.Pf=function(){};h.Fe=function(){return this.g};h.Qf=function(){};h.Be=function(){return this.b&61438};
h.Mf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:B(this)&&C(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.B&65535;n=(this.b&48)<<12|this.w;r=this.b&2048?0:2;B(this)&&C(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+H(n)+"--"+H(n+(m<<1)),!0,!0);if(g>=f.Y){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.Y?this.b|=8192:this.g|=64;break;case 12:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+c+")")}this.I=f.status|(f.da?128:0)|e<<13|this.j&15;Ui(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&id(this.f,this.hb))}};h.Ge=function(){return this.B};h.Rf=function(a){this.B=a};h.Ae=function(){return this.w};h.Lf=function(a){this.w=a};h.Ce=function(){return this.j};h.Nf=function(a){this.j=a};h.De=function(){return this.H};h.Of=function(a){this.H=a};
var Mi="",Ni="?",Oi="??",Vi={},Ki=(Vi[65280]=[null,null,S.prototype.Ee,S.prototype.Pf,"RKDS"],Vi[65282]=[null,null,S.prototype.Fe,S.prototype.Qf,"RKER"],Vi[65284]=[null,null,S.prototype.Be,S.prototype.Mf,"RKCS"],Vi[65286]=[null,null,S.prototype.Ge,S.prototype.Rf,"RKWC"],Vi[65288]=[null,null,S.prototype.Ae,S.prototype.Lf,"RKBA"],Vi[65290]=[null,null,S.prototype.Ce,S.prototype.Nf,"RKDA"],Vi[65294]=[null,null,S.prototype.De,S.prototype.Of,"RKDB"],Vi);
function zd(a){q.call(this,"RL11",a,0,131072);this.H=Wi(this,a.autoMount);this.F=0;this.g=Array(4);this.I=!pb("Mobi")&&window&&"FileReader"in window;this.hb=null;this.b=this.B=this.i=this.j=this.w=this.u=0;this.exports={selectDrive:this.jf}}p(zd,q);function Wi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=zd.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=G(c.value,10);null!=a&&Xi(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Yi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&G(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.da?(te(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[G(a.value,10)||0])?(a=a.da)?(a=sb(ki(a),a.kc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Yi(d,Qa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=Wi(this,ae(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Zi(this);this.hb=ld(this.f,112,5,131072);Yb(b,this,$i);$b(b,this.reset.bind(this));aj(this,"None",bj,!0);this.I&&aj(this,"Local Disk",cj);aj(this,"Remote Disk",dj);ej(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){for(a=0;a<this.g.length;a++)fj(this,a,!0);ej(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Xi(this,0)}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){Zi(this)};h.save=function(){return(new L(this)).data()};
h.restore=function(a){return Zi(this,a[0])};function ej(a,b){b||(a.F=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Qa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!gj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function Yi(a,b,c,d){var e=a.C.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==cj)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==dj){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"')}gj(a,e,b,c,!1,d)}else fj(a,e)}
function gj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,fj(a,b,!0),k.vb?a.N("RL11 busy"):(k.vb=!0,e&&(k.ub=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,fi(new bi(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.vb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.gb)),b=null);b?(a.da=b,a.Na=c,a.ra=d,this.N('Loaded disk "'+c+'" in drive '+("RL"+a.gb),a.ub||e),this.J&&ke(this.J)):a.Xa=!1;a.ub&&(a.ub=!1,--this.F||A(this));Xi(this,a.gb)};
function aj(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Xi(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.C.listDisks;a=a.C.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(G(a.options[c].value,10)==e.gb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=G(a.value,10);e=e.Xa?cj:e.ra;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.jf=function(a){var b=this.C.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=G(b.options[d].value,10);if(0<=e)return Xi(this,e,!0)}return!1};function fj(a,b,c){var d=a.g[b];if(d.da||!1===c)d.Na="",d.ra="",d.da=null,d.Xa=!1,c||(a.N("Drive RL"+b+" unloaded",c),Xi(a,b))}
function Zi(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.u=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.gb=b;d.name=c.mb;d.vb=d.Xa=!1;d.Y=512;d.ea=2;d.aa=40;d.qa=256;d.gc=!0;d.Kd=0;d.Id=0;d.zc=1;d.bd=d.aa;d.Cc=d.qa;d.Pd=0;d.hf=null;d.da||(d.ra="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}Ec(this.D,Ie(this.f,f),n|r<<8);if(gd(this.D)){k=8192;break}f+=2;e--;if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Gc(this.D,Ie(this.f,f));if(gd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.u=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
h.Uf=function(a){this.b=this.b&-1023|a&1022;this.u=this.u&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.da,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.Y?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.Y||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.u&63)<<16|this.B,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+H(e)+"--"+H(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&id(this.f,this.hb))}};h.He=function(){return this.B};h.Sf=function(a){this.B=a&65534};h.Ke=function(){return this.i};h.Vf=function(a){this.i=a};h.Le=function(){return this.w};h.Wf=function(a){this.w=a};h.Ie=function(){return this.u};
h.Tf=function(a){this.u=a&63;this.b=this.b&-49|(this.u&3)<<4};var bj="",cj="?",dj="??",hj={},$i=(hj[63744]=[null,null,zd.prototype.Je,zd.prototype.Uf,"RLCS"],hj[63746]=[null,null,zd.prototype.He,zd.prototype.Sf,"RLBA"],hj[63748]=[null,null,zd.prototype.Ke,zd.prototype.Vf,"RLDA"],hj[63750]=[null,null,zd.prototype.Le,zd.prototype.Wf,"RLMP"],hj[63752]=[null,null,zd.prototype.Ie,zd.prototype.Tf,"RLBE"],hj);
function ij(a){q.call(this,"Debugger",a);this.Ca=+a.base||16;this.ia=!1;this.w=0;this.P=!1;this.u=-1;this.j=[];this.U={}}p(ij,q);ij.prototype.hd=function(){return-1};ij.prototype.jd=function(){};
function jj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.P?b="end":b=a.j[a.u+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Za(b.substring(c,f))),c=f+1}}return a}
function kj(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?gi(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.O("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=li(this,a++);)oi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function oi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var fi=0;function pi(a,b,c,d,e,f){q.call(this,a,b,c);this.L=qi(this,b.autoMount);this.F=0;this.P=d;this.R=e;this.S=f;this.N=d.ce;this.i=Array(this.N);this.M=!mb("Mobi")&&window&&"FileReader"in window;this.u=[];this.ib=null}p(pi,q);
function qi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=pi.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v(d.type+" option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=Oa(c.value,10);null!=a&&
ri(d,a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&si(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&Oa(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.O("Unable to boot the selected drive"):a.da?(we(d.f,0,!0),(a=d.Dc(a,0,0,0,512,0,2))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.i&&((a=d.i[Oa(a.value,10)||0])?(a=a.da)?(a=ub(ni(a),a.uc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.M)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;si(d,Sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=qi(this,de(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.L[e]=a[e]);this.Rb();this.ib=nd(this.f,this.P.xe,this.P.he,this.ia);ac(b,this,this.S);cc(b,this.reset.bind(this));Mi(this,"None",Oi,!0);this.M&&Mi(this,"Local Disk",Pi);Mi(this,"Remote Disk",Qi);Ri(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){this.u=[];for(a=0;a<this.i.length;a++)Si(this,a,!0);Ri(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=this.type.substr(0,2)+b;a.appendChild(c)}0<this.N&&(a.value="0",ri(this,0))}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.Rb()};
h.save=function(){var a=new I(this);a.set(0,this.ed());a.set(0,Ti(this));return a.data()};h.restore=function(a){return this.Rb(a[0],a[1])};h.Rb=function(a,b){b&&(this.u=b);for(a=0;a<this.i.length;a++){b=this.i[a];void 0===b&&(b=this.i[a]={});var c=this.R;b.hb=a;b.name=this.nb;b.wb=b.Ya=!1;b.qc=!0;b.Y=c[0];b.ea=c[1];b.aa=c[2];b.qa=c[3];b.status=c[4];b.Ee=0;b.Ce=0;b.Pc=1;b.Dd=b.aa;b.Sc=b.qa;b.Je=0;b.dg=null;b.da||(b.ra="")}return!0};h.ed=function(){};
function Ti(a){for(var b=0;b<a.i.length;b++){var c=a.i[b];c.da&&Ui(a,c.ra,c.da)}return a.u}
function Ri(a,b){b||(a.F=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Sa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Vi(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function si(a,b,c,d){var e=a.C.listDrives,e=e&&Oa(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.O("Unable to load the selected drive");else if(c)if(c==Pi)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Qi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Vi(a,e,b,c,!1,d)}else Si(a,e)}
function Vi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,Si(a,b,!0),k.wb?a.O(a.type+" busy"):(k.wb=!0,e&&(k.vb=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Ya=!!f,ii(new ei(a,k,"preload"),c,d,f,a.ee)&&g++));return g}
h.ee=function(a,b,c,d,e){a.wb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.O('Disk "'+c+'" too large for drive '+(this.type.substr(0,2)+a.hb)),b=null);if(b){a.da=b;a.Na=c;a.ra=d;a:{var f;for(f=0;f<this.u.length;f++)if(this.u[f][1]==d){b.restore(this.u[f][2]);break a}this.u[f]=[c,d,[]]}this.O('Loaded disk "'+c+'" in drive '+(this.type.substr(0,2)+a.hb),a.vb||e);this.J&&ne(this.J)}else a.Ya=!1;a.vb&&(a.vb=!1,--this.F||A(this));ri(this,a.hb)};
function Mi(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ri(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=Oa(a.value,10),c=c.Ya?Pi:c.ra,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Si(a,b,c){var d=a.i[b];if(d.da||!1===c)Ui(a,d.ra,d.da),d.Na="",d.ra="",d.da=null,d.Ya=!1,c||(a.O("Drive "+(a.type.substr(0,2)+b)+" unloaded",c),ri(a,b))}
function Ui(a,b,c){var d;for(d=0;d<a.u.length;d++)if(a.u[d][1]==b){a.u[d][2]=c.save();break}}h.Dc=function(){return!1};h.fd=function(){return!1};var Oi="",Pi="?",Qi="??";function Q(a){pi.call(this,"RK11",a,65536,Nb,Nb.oc,Wi);this.I=this.g=this.b=this.B=this.w=this.j=this.H=0}p(Q,pi);h=Q.prototype;
h.Rb=function(a,b){a||(a=[Xi.oc|Xi.wd|Xi.td,0,U.Qb,0,0,0,0]);var c=ja(a);this.I=c.next().value;this.g=c.next().value;this.b=c.next().value;this.B=c.next().value;this.w=c.next().value;this.j=c.next().value;this.H=c.next().value;return pi.prototype.Rb.call(this,a,b)};h.ed=function(){return[this.I,this.g,this.b,this.B,this.w,this.j,this.H]};
h.Dc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=V.md,e=0);for(;e;){if(!n){if(b>=a.Y){m=V.mc;break}n=a.seek(b,c,d+1);if(!n){m=V.vd;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=V.nc;break}if(!k&&(wc(this.D,Le(this.f,f),u|t<<8),jd(this.D))){m=V.nd;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.fd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,r;a||(m=V.md,e=0);for(;e;){var u=Jc(this.D,Le(this.f,f));if(jd(this.D)){m=V.nd;break}if(!n){if(b>=a.Y){m=V.mc;break}n=a.seek(b,c,d+1,!0);if(!n){m=V.vd;break}r=0;++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=V.nc;break}if(u!=(t|E<<8)){m=V.ye;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=V.nc;break}r>=a.qa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.ke=function(a,b,c,d,e,f){this.w=f&65535;this.b=this.b&~U.Bb|f>>16-U.Wa.Bb&U.Bb;this.B=65536-e&65535;this.j=this.j&~Yi.Nc|d&Yi.Nc;this.g|=a;Zi(this);return!0};function Zi(a){a.b&=~U.gd;a.g&&(a.g|=V.ae,a.b|=U.gd,a.g&V.Hc&&(a.b|=U.Hc),B(a)&&C(a,a.type+": ERROR: "+F(a.g)))}h.Af=function(){return this.I};h.Jg=function(){};h.Bf=function(){return this.g};h.Kg=function(){};h.xf=function(){return this.b&U.re};
h.Gg=function(a){this.b=this.b&~U.Ad|a&U.Ad;if(this.b&U.hd){a=!0;var b,c,d="",e=(this.j&Yi.Bc)>>Yi.Wa.Bc,f=this.i[e],g,k,l,m,n,r;this.b&=~(U.Qb|U.Oc);this.g&=~V.te;switch(c=this.b&U.lc){case $i.Vd:B(this)&&C(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=U.Qb;break;case $i.ie:d="RCHK";case $i.je:d||(d="READ"),b=this.Dc;case $i.zd:d||(d="WCHK");case $i.ze:d||(d="WRITE");b||(b=this.fd);g=(this.j&Yi.Pb)>>Yi.Wa.Pb;k=(this.j&Yi.Ic)>>Yi.Wa.Ic;l=this.j&Yi.Nc;m=65536-this.B&65535;n=(this.b&U.Bb)<<
16-U.Wa.Bb|this.w;r=this.b&U.fe?0:2;B(this)&&C(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+F(n)+"--"+F(n+(m<<1)),!0,!0);if(g>=f.Y){this.g|=V.mc;break}if(l>=f.aa){this.g|=V.nc;break}a=b.call(this,f,g,k,l,m,n,r,c>=$i.zd,this.ke.bind(this));break;case $i.ue:g=(this.j&Yi.Pb)>>Yi.Wa.Pb;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.Y?this.b|=U.Oc:this.g|=V.mc;break;case $i.be:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=U.Qb|U.Oc;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+
c+")")}this.I=f.status|(f.da?Xi.$d:0)|e<<Xi.Wa.jd|this.j&Xi.se;Zi(this);a&&(this.b&=~U.hd,this.b|=U.Qb,this.b&U.ge&&ld(this.f,this.ib))}};h.Cf=function(){return this.B};h.Lg=function(a){this.B=a};h.wf=function(){return this.w};h.Fg=function(a){this.w=a};h.yf=function(){return this.j};h.Hg=function(a){this.j=a};h.zf=function(){return this.H};h.Ig=function(a){this.H=a};
var Xi=Nb.pc,V=Nb.ne,U=Nb.le,Yi=Nb.me,$i=Nb.lc,aj={},Wi=(aj[65280]=[null,null,Q.prototype.Af,Q.prototype.Jg,"RKDS"],aj[65282]=[null,null,Q.prototype.Bf,Q.prototype.Kg,"RKER"],aj[65284]=[null,null,Q.prototype.xf,Q.prototype.Gg,"RKCS"],aj[65286]=[null,null,Q.prototype.Cf,Q.prototype.Lg,"RKWC"],aj[65288]=[null,null,Q.prototype.wf,Q.prototype.Fg,"RKBA"],aj[65290]=[null,null,Q.prototype.yf,Q.prototype.Hg,"RKDA"],aj[65294]=[null,null,Q.prototype.zf,Q.prototype.Ig,"RKDB"],aj);
function Cd(a){q.call(this,"RL11",a,131072);this.H=bj(this,a.autoMount);this.F=0;this.g=Array(4);this.I=!mb("Mobi")&&window&&"FileReader"in window;this.ib=null;this.b=this.B=this.i=this.j=this.w=this.u=0;this.exports={selectDrive:this.eg}}p(Cd,q);function bj(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Cd.prototype;
h.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=Oa(c.value,10);null!=a&&cj(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&dj(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&Oa(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.O("Unable to boot the selected drive"):a.da?(we(d.f,0,!0),(a=d.sd(a,0,0,0,512,0))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[Oa(a.value,10)||0])?(a=a.da)?(a=ub(ni(a),a.uc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;dj(d,Sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.wa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.G=d;if(a=bj(this,de(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);ej(this);this.ib=nd(this.f,112,5,131072);ac(b,this,fj);cc(b,this.reset.bind(this));gj(this,"None",hj,!0);this.I&&gj(this,"Local Disk",ij);gj(this,"Remote Disk",jj);kj(this)||A(this)};
h.ya=function(a,b){if(!b){if(!a){if(this.reset(),this.J.B){for(a=0;a<this.g.length;a++)lj(this,a,!0);kj(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";cj(this,0)}}return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){ej(this)};h.save=function(){return(new I(this)).data()};
h.restore=function(a){return ej(this,a[0])};function kj(a,b){b||(a.F=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Sa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!mj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.F}
function dj(a,b,c,d){var e=a.C.listDrives,e=e&&Oa(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.O("Unable to load the selected drive");else if(c)if(c==ij)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==jj){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}mj(a,e,b,c,!1,d)}else lj(a,e)}
function mj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.ra.toLowerCase()!=d.toLowerCase()&&(g++,lj(a,b,!0),k.wb?a.O("RL11 busy"):(k.wb=!0,e&&(k.vb=!0,a.F++,B(a)&&C(a,"auto-loading disk: "+c)),k.Ya=!!f,ii(new ei(a,k,"preload"),c,d,f,a.pe)&&g++));return g}
h.pe=function(a,b,c,d,e){a.wb=!1;b&&(b.Y>a.Y||b.ea>a.ea)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.hb)),b=null);b?(a.da=b,a.Na=c,a.ra=d,this.O('Loaded disk "'+c+'" in drive '+("RL"+a.hb),a.vb||e),this.J&&ne(this.J)):a.Ya=!1;a.vb&&(a.vb=!1,--this.F||A(this));cj(this,a.hb)};
function gj(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function cj(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.C.listDisks;a=a.C.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(Oa(a.options[c].value,10)==e.hb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=Oa(a.value,10);e=e.Ya?ij:e.ra;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.eg=function(a){var b=this.C.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=Oa(b.options[d].value,10);if(0<=e)return cj(this,e,!0)}return!1};function lj(a,b,c){var d=a.g[b];if(d.da||!1===c)d.Na="",d.ra="",d.da=null,d.Ya=!1,c||(a.O("Drive RL"+b+" unloaded",c),cj(a,b))}
function ej(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.u=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.hb=b;d.name=c.nb;d.wb=d.Ya=!1;d.Y=512;d.ea=2;d.aa=40;d.qa=256;d.qc=!0;d.Ee=0;d.Ce=0;d.Pc=1;d.Dd=d.aa;d.Sc=d.qa;d.Je=0;d.dg=null;d.da||(d.ra="");d.status=29}return!0}
h.sd=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}wc(this.D,Le(this.f,f),n|r<<8);if(jd(this.D)){k=8192;break}f+=2;e--;if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.qe=function(a,b,c,d,e,f,g){var k=0;a=a.da;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Jc(this.D,Le(this.f,f));if(jd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.qa&&(l=null,++d>=a.aa&&(d=0,++c>=a.ea&&(c=0,++b>=a.Y)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.oe=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.u=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Ff=function(){return this.b&65535};
h.Og=function(a){this.b=this.b&-1023|a&1022;this.u=this.u&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.da,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.Y?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.sd;case 10:c||(c="WRITE"),b||(b=this.qe),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.Y||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.u&63)<<16|this.B,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+F(e)+"--"+F(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.oe.bind(this)))}a&&(this.b|=129,this.b&64&&ld(this.f,this.ib))}};h.Df=function(){return this.B};h.Mg=function(a){this.B=a&65534};h.Gf=function(){return this.i};h.Pg=function(a){this.i=a};h.Hf=function(){return this.w};h.Qg=function(a){this.w=a};h.Ef=function(){return this.u};
h.Ng=function(a){this.u=a&63;this.b=this.b&-49|(this.u&3)<<4};var hj="",ij="?",jj="??",nj={},fj=(nj[63744]=[null,null,Cd.prototype.Ff,Cd.prototype.Og,"RLCS"],nj[63746]=[null,null,Cd.prototype.Df,Cd.prototype.Mg,"RLBA"],nj[63748]=[null,null,Cd.prototype.Gf,Cd.prototype.Pg,"RLDA"],nj[63750]=[null,null,Cd.prototype.Hf,Cd.prototype.Qg,"RLMP"],nj[63752]=[null,null,Cd.prototype.Ef,Cd.prototype.Ng,"RLBE"],nj);
function oj(a){q.call(this,"Debugger",a);this.Ca=+a.base||16;this.ja=!1;this.w=0;this.P=!1;this.u=-1;this.j=[];this.U={}}p(oj,q);oj.prototype.Jd=function(){return-1};oj.prototype.Kd=function(){};
function pj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.P?b="end":b=a.j[a.u+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ab(b.substring(c,f))),c=f+1}}return a}
function qj(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function lj(a,b,c){var d;if(b){b=mj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Za(n);if(!n){f=!0;break}n=nj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&oj[n]<oj[l[l.length-1]]&&kj(k,l,1);l.push(n);b=b.substr(r+u)}kj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&pj(a,null,
d))}return d}function mj(a,b){for(var c,d=a.ia?"(":"{",e=a.ia?")":"}",f=new RegExp(a.ia?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=lj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?P(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function nj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.U[b],null==e&&(e=G(b,a.Ca))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function pj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=Oa(d&255,8)+g,d>>=8;d=I(c,0,!0)+" "+c+". "+H(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}
function qj(a,b){if(b)return pj(a,b,a.U[b]);var c=0;for(b in a.U)pj(a,b,a.U[b]),c++;return 0<c}function P(a,b,c,d){switch(a.Ca){case 8:a=H(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=I(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var oj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function rj(a){ij.call(this,a);this.Ea=!1;this.ia=!0;this.H=W();this.za=W();this.O=W();this.B=[];this.g=this.L=this.F=[];sj(this);this.R=this.Z=0;this.i=[];this.oa=void 0;tj(this);this.G=this;this.ka={};this.ja=this.cd=0;this.S=null;this.M=[];uj(this,a.messages);this.ua=a.commands;this.Ha=vj;this.W=[];this.I=0;this.Ia=this.pa=null;this.w=this.Ga=this.Fa=this.X=this.la=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return fe(b,a)}):void 0===global[x]&&(global[x]=
function(a){return fe(b,a)})}p(rj,ij);function wj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,Ca:c}}h=rj.prototype;h.Gc=function(a,b){a.K=b;a.Qa=!1;a.Ca=void 0;return a};function xj(a){return[a.K,a.Ka,a.Ca,a.Qa,a.jc]}function yj(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=jj(a,c.jc=b[4]));return c}
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=ae(a,"messages"))&&uj(this,a);1140>this.f.ka&&(this.W=this.W.concat(zj));1145>this.f.ka&&(this.W=this.W.concat(Aj));nd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=wj(Bj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=Zc[c],n&&d.v(I(n.id,8)+" %"+I(e<<d.D.g,8)+" %"+I(n.K,8)+" "+J(n.Ib)+" "+J(n.size)+" "+m),c!=Bd&&(c=-1),m=0);a+=d.D.j;e++}}});A(this)};
h.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",fe(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.u<d.j.length-1&&(b=d.j[++d.u])):40==a.keyCode&&(0<d.u?b=d.j[--d.u]:(b="",d.u=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.C[b]=c,ub(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";fe(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,ub(c,function(a){var b=!1;Ma(d,!0)||(Na(d,!0),b=oc(d,a?1:0,null),Na(d,!1));return b}),!0}return!1};function ee(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Nc=function(a,b){var c=255,d=wj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Ie(this.f,d),c.F=!1,c.ma++,d=ad(c,d).j(d&c.i,d),c.ma--):(c=this.f,c.oa++,d=c.D.Kc(Fc(c,d,3)),c.oa--),c=d,b&&Cj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=wj(a);-1!==d&&(c=a.Ka||65535<d?Gc(this.D,Ie(this.f,d)):Hc(this.f,d),b&&Cj(a,b));return c};h.Oc=function(a,b,c){var d=wj(a);if(-1!==d){if(a.Ka||65535<d)bd(this.D,Ie(this.f,d),b);else{var e=this.f;e.oa++;e.D.Lc(Fc(e,d,5),b);e.oa--}c&&Cj(a,c);M(this.J,-1)}};h.yd=function(a,b,c){var d=wj(a);if(-1!==d){if(a.Ka||65535<d)Ec(this.D,Ie(this.f,d),b);else{var e=this.f;e.oa++;e.D.Mb(Fc(e,d,4),b);e.oa--}c&&Cj(a,c);M(this.J,-1)}};
function Bj(a,b,c){var d;c=(c?a.H:a.za).K;var e,f;if(void 0!==b){b=mj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ha[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=lj(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function Dj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=jj(a,b.jc=c[2]))}function Cj(a,b){null!=a.K&&(a.K+=b||1)}function Ej(a,b){return(b.Ka?"%":"")+P(a,b.K)}
function uj(a,b){a.G=a;a.ja=a.cd=536870912;a.S=null;a.M=[];b=jj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ja|=Sb[c],a.v(c+" messages enabled"))}}function nd(a,b,c){for(var d in Sb)if(b==Sb[d]){a.ka[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=Fj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Gj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.pa[a-8];else if(20>a)b=this.f.W[a-16];else{var c=this.f,d=this.b;switch(a){case Hj:b=wd(this.f);break;case Ij:b=c.Va;break;case Jj:b=c.R;break;case Kj:b=c.za&65280;break;case Lj:b=qd(c);break;case Mj:b=sd(c);break;case Nj:b=td(c);break;case Oj:b=c.V;break;case Pj:d&&(b=d.ga);break;case Qj:d&&(b=d.Sa);break;case Rj:d&&Jc(d)&&(b=d.Ta)}}return b};
h.message=function(a,b){b&&(a+=" @"+Ej(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ja&1073741824)this.M.push(a);else{var c;if(this.ja&-2147483648&&this.f&&(c=this.f.A.T)||Ma(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,le(a),a.tb=0,a.J&&M(a.J,void 0))}};
function tj(a){var b;if(!rf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Sj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.v("instruction history buffer allocated")}}function Tj(a,b,c){if(!Uj(a,c))return!1;nc(a.f,b);return!0}
function oc(a,b,c,d){if(!Uj(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.w=0;b||rf(a)&&sf(a,a.f.g[7],0);try{b=me(a.f,b);var f=a.f.ec(b);0<f&&(pc(a.f,f),a.w+=f,qc(a.f,f,!0),Cc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ja(a.f,g.stack||g.message))}!1!==d&&(a.b&&a.b.stop(),M(a.J,-1));de(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)};
function de(a,b,c){if(a.Ea){void 0===b&&(b=!0);c&&a.v(Vj+c);c=a.f;if(c=c.i&128?c.fc|c.cc<<8:0){var d=c>>8;a.v("trapped to "+P(a,c&255,1)+" ("+(0>d?Qb[-d]:P(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?Wj(a):Xj(a)}}function Uj(a,b){var c;(c=!a.f||!La(a.f))||(c=a.f,c.A.fa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.T?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Ka(a.f)}h.ya=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.xa=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){tj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.T=!1;Yj(this);a||de(this)};h.save=function(){var a=new L(this);a.set(0,xj(this.H));a.set(1,xj(this.O));a.set(2,[this.j,this.P,this.ja]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=yj(this,a[b++]),this.O=yj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ja|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.T=!0;this.Fa=a;this.Ga=b};
h.stop=function(a,b){if(this.A.T){this.A.T=!1;this.w=b-this.Ga;if(!this.I){b="stopped";if(this.w){a-=this.Fa;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";rf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}de(this,!0);ee(this);Yj(this,this.f.g[7]);this.S=null}};function rf(a){return 1<a.g.length||!!a.Z}
function sf(a,b,c){var d=-1;c||(d=Hc(a.f,b))||(a.f.P&65535)!=b||(b=Ae(a.f,2));if(0<c&&(a.Z&&!--a.Z||Zj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Hc(a.f,b)),65535!=(d&65535)&&(a.Gc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function xg(a){var b=a.f;if(b.A.T)throw ue(b,a.f.P&65535),a.ba(),-1;return!1}function Vd(a,b,c){Zj(a,b,c||1,a.L)&&a.ba(!1)}function Wd(a,b,c){Zj(a,b,c||1,a.F)&&a.ba(!1)}
function sj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=wj(c),c.Ka?(c=a.D,Ud(c.b[d>>>c.g],!1)):Le(a.f,!1);a.L=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=wj(c),c.Ka?(c=a.D,Ud(c.b[d>>>c.g],!0)):Le(a.f,!0);a.F=["bw"];a.la=0;a.Z=0}
h.sb=function(a,b,c){var d=!0;c||ak(this,a,b,!1,!0);if(a!=this.g){var e=wj(b);if(-1===e)this.v("invalid address: "+Ej(this,b)),d=!1;else{var f=a==this.F;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].sb(e&g.i,f)}else e=this.f,(f?e.Xb++:e.Wb++)||se(e)}}d&&(a.push(b),c?b.Qa=!0:(bk(this,a,a.length-1,"set"),tj(this)));return d};
function ak(a,b,c,d,e){var f=!1;c=wj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==wj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||bk(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.F,k.Ka?(d=a.D,Ud(d.b[c>>>d.g],b)):Le(a.f,b));k.Qa||tj(a);break}}return f}function ck(a,b){for(var c=1;c<b.length;c++)bk(a,b,c);return b.length-1}function bk(a,b,c,d){c=b[c];a.v(b[0]+" "+Ej(a,c)+(d?" "+d:c.jc?' "'+c.jc+'"':""))}
function Yj(a,b){if(void 0!==b)Zj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!ak(a,a.g,c,!0))break;b=0}}}
function Zj(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=wj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(ak(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!dk(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.T||(f=!0)}if(f){e||bk(a,d,g,"hit");break}}}a.la--;return f}
function ek(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ha)if(g=a.Ha[k][f&k])break;g||(g=fk);var l=g[0];0<=a.W.indexOf(l)&&(g=fk,l=g[0]);var m=k="",n=gk[l],r=g.length-1;l||r||(k=P(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",D=E&hk;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=P(t,u);else if(D==ik)u=u.K-((f&63)<<1)&65535,z=P(t,u);else if(D==jk)z=P(t,f&7,1);else if(D==kk)z=P(t,f&63,1);else if(D==lk)z=P(t,f&255,1);else if(D=f&E,E&mk&&(D>>=6,E>>=6),E&Y){var E=null,F=D&
nk;switch(D&ok){case 0:z=Gj(F);break;case 8:z="@"+Gj(F);E=pk(t,t.f.g[F]);break;case 16:7>F?z="("+Gj(F)+")+":(D=t.Oa(u,2),z="#"+P(t,D,0,!0));break;case 24:7>F?z="@("+Gj(F)+")+":(D=t.Oa(u,2),z="@#"+P(t,D,0,!0),E=pk(t,D));break;case 32:z="-("+Gj(F)+")";break;case 40:z="@-("+Gj(F)+")";break;case 48:D=t.Oa(u,2);z=P(t,D,0,!0)+"("+Gj(F)+")";7==F&&(z=P(t,D=D+u.K&65535),E=pk(t,D));break;case 56:D=t.Oa(u,2),z="@"+P(t,D)+"("+Gj(F)+")",7==F&&(z="@"+P(t,D=D+u.K&65535),E=pk(t,Hc(t.f,D)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=Ej(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+P(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Ya(f,24);g+=Ya(n,5);k&&(g+=" "+k);if(c||m)g=Ya(g,60)+";"+(c||""),g=a.f.A.Bb?g+("cycles="+ge(a.f).toString()+" cs="+I(a.f.Sb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function pk(a,b){b=Je(a.f,b)[0];b>=a.f.lb&&b<a.D.B&&(b=b-a.f.lb+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Ma[b&fd])&&(a=b[4]);return a}function qk(a,b){switch(b){case "N":a=ze(a.f);break;case "Z":a=ye(a.f);break;case "V":a=xe(a.f);break;case "C":a=we(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=Gj(b),c+="="+P(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+P(a,d.pa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+P(a,d.W[b-16]);else switch(b){case Hj:c="PS="+P(a,wd(d));break;case Ij:c="PI="+P(a,d.Va);break;case Jj:c="ER="+P(a,d.R);break;case Kj:c="SL="+P(a,d.za&65280);break;case Lj:c="M0="+P(a,qd(d));break;case Mj:c="M1="+P(a,sd(d));break;case Nj:c="M2="+P(a,td(d));break;case Oj:c="M3="+P(a,d.V);break;case Pj:a.b&&(c="AR="+P(a,a.b.ga,3));break;case Qj:a.b&&(c="DR="+
P(a,a.b.Sa));break;case Rj:a.b&&Jc(a.b)&&(c="SR="+P(a,a.b.Ta,3))}c&&(c+=" ");return c}function rk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,Hj)+Z(a,Ij)+Z(a,Kj);d+=qk(a,"T")+qk(a,"N")+qk(a,"Z")+qk(a,"V")+qk(a,"C");b&&(b=d,c=""+(Z(a,Lj)+Z(a,Mj)),c+=Z(a,Nj)+Z(a,Oj)+Z(a,Jj),c=c+"\n"+(Z(a,Rj)+Z(a,Pj)+Z(a,Qj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function xh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=ab(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({xh:b,K:c,Qd:d,ha:e,ad:f})}function sk(a,b,c){var d=[],e=wj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=ab(f.ad,[e-g],a.dd);0<=e?tk(a,b,e,d):c&&(e=~e,tk(a,b,e-1,d),tk(a,b,e,d));break}}return d}
function tk(a,b,c,d){var e={},f=a.B[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function uk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return qj(a)||a.v("no variables"),!0;if(!c[2])return qj(a,c[1]);if(!c[3])return delete a.U[c[1]],!0;b=lj(a,c[3]);return void 0!==b?(a.U[c[1]]=b,!0):!1}a.v("invalid assignment:"+b);return!1}
function vk(a,b,c){var d=null;if(b=Bj(a,b,!0)){var e=sk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+J(f)),f=e[0]+" ("+P(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+J(f)),f=e[4]+" ("+P(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
function Wj(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=lj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ue(e,
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.F=g?65536:0;break;case "PS":xd(e,g);break;case "PI":vd(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.za=g|255;break;case "M0":rd(e,g);d=!0;break;case "M3":ud(e,g);d=!0;break;case "AR":a.b&&(d=a.b,dc(d,d.ga=g));d=!0;break;case "DR":a.b&&(d=a.b,Vb(d,d.Sa=g));d=!0;break;case "SR":if(a.b&&Jc(a.b)){ec(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.v("unknown register: "+f);return}M(a.J);a.v("updated registers:")}}a.v(rk(a,d));c&&(a.H=W(e.g[7]),Xj(a,Ej(a,a.H)))}}function wk(a,b){b=Za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):pj(a,null,c[2].charCodeAt(0)):lj(a,b,!0)}
function xk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=nj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;tb(c,function(){return Na(a,!0)&&oc(a,e,d,!1)},function(){a.b&&a.b.stop();M(a.J,-1);Na(a,!1)})}}
function Xj(a,b,c,d){if(b=Bj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=nj(a,c.substr(1)),null!=c&&(d=c);else{d=Bj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Ma(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=sk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=ek(a,b,g,f);a.v(f);a.H=b;e-=b.K-l;c++}}}
function dk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Vj+b):(a.P&&(a.v("ended assemble at "+Ej(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(La(a)&&0<b.length){a.P&&(b="a "+Ej(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
Bj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.v("begin assemble at "+Ej(a,r)),a.P=!0,M(a.J);else{var u;a.v("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Oc(r,u[t],1);a.v(ek(a,a.O))}}break;case "b":a:{var E=g[0],z=g[1],D=b;if("?"==z)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
else{var F=E.charAt(1);if("l"==F){var gb;gb=0+ck(a,a.g);gb+=ck(a,a.L);(gb+=ck(a,a.F))||a.v("no breakpoints")}else if("n"==F){var jd=+z||0;z&&(a.Z=jd);a.v("break after "+jd+" instruction(s)")}else if(void 0===z)a.v("missing breakpoint address");else{var ka=W();if("*"!=z&&(ka=Bj(a,z,!0),!ka))break a;"c"==F?null==ka.K?(sj(a),a.v("all breakpoints cleared")):ak(a,a.g,ka)||ak(a,a.L,ka)||ak(a,a.F,ka)||a.v("breakpoint missing: "+Ej(a,ka)):null!=ka.K&&(Dj(a,ka,D),"p"==F?a.sb(a.g,ka):"r"==F?a.sb(a.L,ka):"w"==
F?a.sb(a.F,ka):a.v("unknown breakpoint command: "+F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Jb,Ta=g[0],Fa=g[1],Ua=g[2],Xk=g[3];if("?"==Fa){var Kb="";for(Jb in Sb)a.ka[Jb]&&(Kb&&(Kb+=","),Kb+=Jb);Kb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
a.v("\tdh [p] [n] dump n instructions from history position p");Kb.length&&a.v("dump extension commands:\n\t"+Kb)}else if("state"==Fa){var Re=yk(a.J,!0);"console"==Ua?console.log(Re):(a.Pa&&(a.Pa.value=""),Re&&a.v(Re))}else if("symbols"==Fa)for(var Se=0;Se<a.B.length;Se++){var Te=a.B[Se],Lb;for(Lb in Te.ha)if("."!=Lb.charAt(0)){var ni=Te.ha[Lb].o;if(void 0!==ni){var oi=Te.ha[Lb].l;oi&&(Lb=oi);a.v(P(a,ni)+" "+Lb)}}}else{if("d"==Ta){for(Jb in Sb)if(g[1]==Jb){var pi=a.ka[Jb];pi?(g.shift(),g.shift(),
pi(g)):a.v("no dump registered for "+Fa);break a}Fa||(Ta=a.Ia||"dw")}else a.Ia=Ta;if("dh"==Ta){var qi=Fa,ri=Ua,si="",ti=0,wa=a.R,Ga=a.i;if(Ga.length){var qa=+qi||a.oa,rc=+ri||10;isNaN(qa)?qa=rc:si="more ";qa>Ga.length&&(a.v("note: only "+Ga.length+" available"),qa=Ga.length);wa-=qa;0>wa&&(null==Ga[Ga.length-1].K?(qa=wa+qa,wa=0):wa+=Ga.length);var Ue=[];"call"==ri&&(rc=1E5,Ue=["CALL"]);for(void 0!==qi&&a.v(qa+" instructions earlier:");0<rc&&wa!=a.R;){var ui=Ga[wa++];if(null==ui.K)break;var sc=W(ui.K),
Yk=qa--,vi=ek(a,sc,"history",Yk);(!Ue.length||0<=vi.indexOf(Ue[0]))&&a.v(vi);sc.Bc&&(wa+=sc.Bc,rc-=sc.Bc,qa-=sc.Bc);wa>=Ga.length&&(wa=0);a.oa=qa;ti++;rc--}}ti||(a.v("no "+si+"history available"),a.oa=void 0)}else{var fa=Bj(a,Fa);if(fa)if("da"==Ta){var Ve=fa.Ka||65535<fa.K,K=Je(a.f,fa.K||0,Ve);a.v(Ya("",Ve?12:19)+Oa(fa.K,Ve?22:17,3)+" "+H(fa.K,8));6>K.length?(2<K.length&&(a.v(" OFFSET: "+Oa(K[3],13,3)+" "+H(K[3],8)),a.v("UNIMAP["+Pa(K[1])+"]: "+Oa(K[2],22,3)+" "+H(K[2],8))),a.v(" PHYSICAL: "+
Oa(K[0],22,3)+" "+H(K[0],8))):(a.v(" OFFSET: "+Oa(K[1],13,3)+" "+H(K[1],8)),a.v("+ "+zk[K[2]]+"PAR"+K[3]+": "+Oa(K[4],22,3)+" "+H(K[4],8)),a.v("& MMUMASK: "+Oa(K[5],22,3)+" "+H(K[5],8)),a.v("= PHYSICAL: "+Oa(K[0],22,3)+" "+H(K[0],8)))}else{var ib=0,We="ds"==Ta;if(Ua){if("l"==Ua.charAt(0))Ua=Ua.substr(1)||Xk,ib=nj(a,Ua);else{var wi=Bj(a,Ua);wi&&(ib=wi.K-fa.K)}0>ib&&(ib=0);65536<ib&&(ib=65536)}var $k=a.Ca;fa.Ca&&(a.Ca=fa.Ca);for(var jb="dd"==Ta?4:"db"==Ta?1:2,Cd=jb*ib||128,Xe=
We?16:a.Ca,al=(Cd+Xe-1)/Xe|0||1,kb="";al--&&0<Cd;){for(var lb="",Ye="",Fa=Ej(a,fa),Dd=Xe,tc=0,uc=0;0<Dd&&0<Cd;){var Mb=1,Ed=1==jb?a.Nc(fa,Mb):a.Oa(fa,Mb=2),tc=tc|Ed<<(uc<<3),uc=uc+Mb;uc==jb&&(We?(lb&&(lb+=","),lb+="0x"+I(tc,2*jb)):(lb+=P(a,tc,jb),lb+=1==jb?9==Dd?"-":" ":" "),tc=uc=0);Dd-=Mb;for(Cd-=Mb;1==jb&&Mb--;)var Ze=Ed&255,Ye=Ye+(32<=Ze&&128>Ze?String.fromCharCode(Ze):"."),Ed=Ed>>8}kb&&(kb+="\n");kb=We?kb+(lb+","):kb+(Fa+": "+lb+(Dd?"":" "+Ye))}kb&&a.v(kb);a.za=fa;a.Ca=$k}}}}break;case "e":if("else"==
g[0])break;var Nb,$e,af,bf,cf=g[0],df=g[1];"eb"==cf?(Nb=1,$e=255,af=a.Nc,bf=a.Oc):"e"==cf||"ew"==cf?(Nb=2,$e=65535,af=a.Oa,bf=a.yd):df=null;if(null==df)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Fd=Bj(a,df);if(Fd)for(var Gd=2;Gd<g.length;Gd++){var vc=lj(a,g[Gd]);if(void 0===vc){a.v("unrecognized value: "+g[Gd]);break}vc&~$e&&a.v("warning: "+I(vc)+" exceeds "+Nb+"-byte value");a.v("changing "+Ej(a,Fd)+(B(a,16)?
"":" from "+P(a,af.call(a,Fd),Nb))+" to "+P(a,vc,Nb));bf.call(a,Fd,vc,Nb)}}break;case "g":a:{var xi=g[1],bl=b;if(void 0!==xi){var ef=Bj(a,xi,!0);if(!ef)break a;Dj(a,ef,bl);a.sb(a.g,ef,!0)}Tj(a,!0,c)}break;case "h":a.A.T?(c||a.v("halting"),a.ba()):Ma(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var ff;var wc=b.substr(2),wc=Za(wc);lj(a,wc)?(c||a.v("true: "+wc),ff=!0):(c||a.v("false: "+wc),ff=!1);ff||(d=!1);break}f=!0;break;case "k":var cl=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var gf=0,hf=W(),xc=W(a.f.g[6]);for(a.v("stack trace for "+Ej(a,xc));10>gf;){for(var mb=null,dl=256;65536>xc.K>>>0;){hf.K=a.Oa(xc,2);if(null==xc.K||!dl--)break;if(!(hf.K&1)){for(var el=a,Hd=hf,yi=null,yc=Hd.K,zi=yc,jf=1;6>=jf&&yc;jf++){if(2<jf){Hd.K=yc;var Id=ek(el,Hd);if(0<=Id.indexOf("JSR")){var Ai=Id.indexOf(" ");if(yc+(Id.indexOf(" ",Ai+1)-Ai-1)/2==zi){yi=Id;break}}}yc-=2}Hd.K=zi;if(mb=yi)break}}if(!mb||null==mb)break;var Bi=
null;if("ks"==cl){var Ci=mb.match(/[0-9A-F]+$/);Ci&&(Bi=vk(a,Ci[0]))}mb=Ya(mb,50)+" ;"+(Bi||"stack="+Ej(a,xc));a.v(mb);gf++}gf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){vk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ha,Ia=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Va=0;if("all"==N)Va=1879046143,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Sb)if(N==Ha){Va=Sb[Ha];Ia=!!(a.ja&Va);break}if(!Va){a.v("unknown message category: "+
N);break a}}if(Va)if("on"==g[2])a.ja|=Va,Ia=!0;else if("off"==g[2]&&(a.ja&=~Va,Ia=!1,1073741824==Va)){for(var Di=1E3<=a.M.length?a.M.length-1E3:0;Di<a.M.length;)a.v(a.M[Di++]);a.M=[]}}var fl=0,zc="";for(Ha in Sb)if(!N||N==Ha){var gl=!!(a.ja&Sb[Ha]);if(null===Ia||Ia==gl)zc&&(zc+=","),++fl%10||(zc+="\n\t"),"key"==Ha&&(Ha="keys"),zc+=Ha}void 0===N&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+
(zc||"none"));tj(a)}break;case "p":if("print"==g[0]){wk(a,b.substr(5));break}var hl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ei="pr"==hl?1:0,Fi=1+Ei;if(a.I)a.v("step in progress");else{var Jd=W(a.f.g[7]),Ob=a.Oa(Jd);3==Ob||4==Ob||34816==(Ob&65280)||32256==(Ob&65024)||35072==(Ob&65280)?(a.I=Fi,Cj(Jd,2)):2048==(Ob&65024)&&(ek(a,Jd),a.I=Fi);a.I?(a.sb(a.g,Jd,!0),Tj(a)||(a.J&&ke(a.J),a.I=0)):xk(a,Ei?"tr":
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}Wj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.Ca=Ac;else{a.v("invalid base: "+Ac);break}}a.v("default base: "+a.Ca);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Cb=Bc;break;case "start":a.f.Tb=Bc;break;case "stop":a.f.Eb=Bc;break;default:a.v("unknown cs option");break a}void 0!==Bc&&ce(a.f);a.v("checksums "+(a.f.A.Bb?"enabled":"disabled"));break;case "sp":void 0!==
g[2]&&(he(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.pb.toFixed(2)+"Mhz")+" ("+a.f.cb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":xk(a,
g[0],g[1]);break;case "u":Xj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){uk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Fb||"PDP11")+" version 1.32.2 ("+a.f.ka+",RELEASE"+(Hb?",TYPEDARRAYS":Gb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wk(a,b.substr(1));break}var kf="commands:",lf;for(lf in Ak)kf+="\n"+Ya(lf,9)+Ak[lf];rf(a)||(kf+="\nnote: history disabled if no exec breakpoints");a.v(kf);break;default:f=!0}f&&(a.v("unknown command: "+
b),d=!1)}}catch(Hi){a.v("debugger error: "+(Hi.stack||Hi.message)),d=!1}return d}function fe(a,b,c){b=jj(a,b,c);for(var d in b)if(!dk(a,b[+d]))return!1;return!0}
var Ak={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},gk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
Hj=20,Ij=21,Jj=22,Kj=23,Lj=24,Mj=25,Nj=26,Oj=27,Pj=28,Qj=29,Rj=30,Fj={SP:6,PC:7,PS:Hj,PI:Ij,ER:Jj,SL:Kj,M0:Lj,M1:Mj,M2:Nj,M3:Oj,AR:Pj,DR:Qj,SR:Rj},zk="KI KD SI SD ?? ?? UI UD".split(" "),nk=7,ok=56,Y=ok|nk,mk=4032,X=4096,ik=8192,jk=12288,kk=24576,lk=32768,hk=61440,vj={61440:{4096:[62,mk,Y],8192:[47,mk,Y],12288:[18,mk,Y],16384:[14,mk,Y],20480:[16,mk,Y],24576:[3,mk,Y],36864:[63,mk,Y],40960:[48,mk,Y],45056:[19,mk,Y],49152:[15,mk,Y],53248:[17,mk,Y],57344:[94,mk,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,ik]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,lk],35072:[107,lk]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,kk],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,nk],152:[108,jk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},fk=[0],zj=[58,60,65,96,110,100,101,102,103,104,105],Aj=[108,59,64],Sj=1E3,Vj=">> ";wb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new rj(d);Ea(d,c)}});
function Bk(a,b,c){q.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.P=null;Ck(this,b);this.M=ae(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.F=this.S=!1;this.w=this.u=null;this.R=this.B=this.O=!1;this.V=ae(this,"url")||"";(Math.random()+.1).toString(36);this.g=Dk(this);if(this.f=Da("CPU",this.id)){this.G=Da("Debugger",this.id);this.D=new Mc({id:this.nb+".bus",busWidth:this.U},this.f,this.G);var d,e=Ba(this.id);if((this.i=Da("Panel",this.id))&&
this.i.Pa)for(b=0;b<e.length;b++)d=e[b],d.N=this.i.N,d.v=this.i.v,d.Pa=this.i.Pa;this.v(Fb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.wa&&d.wa(this,this.D,this.f,this.G);this.b=ae(this,"resume",a,4,Ek);var f;b=null;if(a=ae(this,"state")||(f=!0,a.state))this.L=b=a,
f||(this.F=!0,this.b=Ek),this.b&&(this.w=new L(this,"1.32.2"),Fk(this.w)?b=null:delete this.w);!b&&this.b&&(b=Gk(this))&&(this.F=!0);if(b){var g=this;cb(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+Za(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.C.power||(this.M=!0);!c&&this.M&&Hk(this,this.Vb)}else v("Unable to find CPU component")}p(Bk,q);
function Ck(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function ae(a,b,c,d,e){var f=b.toLowerCase(),f=qb(b)||qb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Hk(a,b,c){for(var d=Ba(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Hk(a,b,c)});return}}b.call(a,c)}function Ik(a,b){var c=new L(a,"1.32.2",Jk);if(Fk(c)&&Kk(c)){var d=c.get(Lk),e=b?b.get(Lk):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Bk.prototype;
h.Vb=function(a){void 0===a&&(a=this.b||(this.I?Mk:Ek));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.w||new L(this,"1.32.2");if(a==Nk)b=!0;else if(a>Ek){if(Fk(d,this.I)){this.u=new L(this,"1.32.2",Ok);Fk(this.u)&&(Pk(this,d),a=Qk,Rk(this.u));this.u.set(Lk,bb());Sk(this.u);var e=this.b&&!this.F;if(a==Mk||Aa("Click OK to restore the previous "+Fb+" machine state, or CANCEL to reset the machine.")){if(c=Kk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Fk(d,g):("error"==f&&"no machine state"!=
g?(this.N("Error: "+g),"unable to verify user"==g&&(ob(Tk,""),this.g=null)):this.v(f+": "+g),Rk(d),Fk(d)?(c=Kk(d),e=!0):c=!1))}e&&Ik(this,c?d:null)}else a==Qk&&d.clear()}else Ik(this);delete this.I;delete this.w}e=Ba(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Uk(this,g,d,b,c));b=[d,a,c];a!=Nk?Hk(this,this.ed,b):this.ed(b)}};
function Uk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ya(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=Ek,window&&window.location.reload()):a.O=!0,b.ya(null),e=!1),!d&&b.Sc){var g=b.Sc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.f&&(Uk(this,this.f,b,c,a),M(this,-2),this.f.va());this.O&&(Pk(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function Pk(a,b){if(Aa("There may be a problem with your "+Fb+" machine.\n\nTo help us diagnose it, click OK to send this "+Fb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Fb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;cb("http://www.pcjs.org/api/v1/report",d,!0)}}
function yk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new L(a,"1.32.2"),g=new L(a,"1.32.2",Jk),k=bb();g.set(Lk,k);f.set(Lk,k);f.set(Vk,"1.32.2");f.set(Wk,window?window.location.href:null);f.set(Zk,window?window.navigator.userAgent:"");a.f&&a.f.xa&&(c&&(b&&(a.f.A.va=a.f.A.T),a.f.ba()),d=a.f.xa(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=Ba(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&il(a,a.g,f.toString()),Sk(g)&&Sk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==jl),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.C.power)&&(b.textContent="Power");a.j=0;return e}
h.reset=function(){this.D&&this.D.reset&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=Ba(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}M(this,-1)};h.start=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}M(this,-1)};
h.stop=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}M(this,-1)};
function M(a,b){if(a.f){var c=a.f,d=b||0,e=c.C.speed;e&&(0>=d||30<=(c.rc+=d))&&(e.textContent=c.A.T?c.ob.toFixed(2)+"Mhz":"Stopped",c.rc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.T;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)hc(a,"R"+e,a.f.g[e]);e=wd(a.f);hc(a,"PS",e);hc(a,"NF",e&8?1:0,1);hc(a,"ZF",e&4?1:0,1);hc(a,"VF",e&2?1:0,1);hc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.ga=a.f.g[7]:0<b&&c&&!d&&(a.ga=a.f.Za);dc(a,a.ga);Vb(a,a.Sa);b=a.f;b=b.qb?b.V&16?1:2:4;Ic(a,"B22",b&1);Ic(a,"B18",b&2);
Ic(a,"B16",b&4)}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?yk(d,!1,!0):Hk(d,d.Vb))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=Aa("Click OK to save changes to this "+Fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.Vb(Ek),d.B=!1)}else d.reset(),d.f&&d.f.va()},!0;case "save":if(Sa(eb(),"pcjs.org"))c.parentNode.removeChild(c);else return this.C[b]=
c,c.onclick=function(){var a=Dk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=yk(d,b);b?il(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};function Dk(a,b){var c=a.g;c||((c=nb(Tk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=kl(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
function kl(a,b){a.g=null;b=cb(eb()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ob(Tk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Gk(a){var b=null;a.g&&(b=eb()+"/api/v1/user?req=load&user="+a.g+"&state="+ll(a,"1.32.2"));return b}
function il(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ll(a,"1.32.2");d.data=c;b=cb(eb()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.N(c),ob(Tk,""),a.g=null)}}
function Oh(a){var b;a=Ba(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function ke(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Ok="failsafe",Jk="validate",Lk="timestamp",Vk="version",Wk="url",Zk="browser",Tk="user",Nk=-1,Ek=0,Mk=1,Qk=2,jl=3;
wb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Bk(g,d,!0);Ea(g,f);g.M&&Hk(g,g.Vb)}});xb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.R&&!c.A.fa&&c.Vb(Nk)}});xb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.A.fa&&yk(c,!(!c.b||c.H),!0)}});
function L(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.C=!1;this.key=ll(a,b,c);Rk(this,a.Fd)}h=L.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function Fk(a,b){return b?(a.b=b,a.g=!0,a.C=!1,!0):a.g?!0:fb()&&(b=nb(a.key))?(a.b=b,a.g=!0):!1}function Kk(a){var b=!0;if(!a.C)try{a.f=JSON.parse(a.b),a.C=!0}catch(c){v(c.message||c),b=!1}return b}
function Sk(a){var b=!0;if(fb()){var c=JSON.stringify(a.f);ob(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Rk(a,b){a.b="";a.f={};a.g=a.C=!1;b&&a.set("parms",b)}
h.clear=function(a){Rk(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function ll(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var ml=0;
function nl(a,b,c,d,e,f){e("Loading "+a+"...");cb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):ol(k,a,b,c,d,e,f)})}
function ol(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(xa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?pl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function pl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");cb(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);pl(a,b,c)}})}else c(a,null)}
function ql(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Wa(a))}function f(a){e("Error: "+a);l&&(--ml||Ab(!0));l=!1}var g,k,l=!0;ml++;ya[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?nl(c,null,null,!1,e,function(d,l){l?(xa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--ml||Ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ml||Ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nl(b,a,d,!0,e,m):ol(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){Ab(!1);return ql(a,b,c,d)};window.findMachineComponent=function(a,b){return Da(b,a+".machine")};window.enableEvents=Ab;window.sendEvent=Cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11-dbg.map
function rj(a,b,c){var d;if(b){b=sj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ab(n);if(!n){f=!0;break}n=tj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&uj[n]<uj[l[l.length-1]]&&qj(k,l,1);l.push(n);b=b.substr(r+u)}qj(k,l)&&1==k.length||(f=!0);f?c&&a.v("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&vj(a,null,
d))}return d}function sj(a,b){for(var c,d=a.ja?"(":"{",e=a.ja?")":"}",f=new RegExp(a.ja?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=rj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?M(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function tj(a,b,c,d){var e;null!=b?(e=a.Jd(b),0<=e?e=a.Kd(e):(e=a.U[b],null==e&&(e=Oa(b,a.Ca))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function vj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=Pa(d&255,8)+g,d>>=8;d=H(c,0,!0)+" "+c+". "+F(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}
function wj(a,b){if(b)return vj(a,b,a.U[b]);var c=0;for(b in a.U)vj(a,b,a.U[b]),c++;return 0<c}function M(a,b,c,d){switch(a.Ca){case 8:a=F(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=H(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var uj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function xj(a){oj.call(this,a);this.Ea=!1;this.ja=!0;this.H=W();this.za=W();this.N=W();this.B=[];this.g=this.L=this.F=[];yj(this);this.R=this.Z=0;this.i=[];this.oa=void 0;zj(this);this.G=this;this.ka={};this.ia=this.Ed=0;this.S=null;this.M=[];Aj(this,a.messages);this.ua=a.commands;this.Ha=Bj;this.W=[];this.I=0;this.Ia=this.pa=null;this.w=this.Ga=this.Fa=this.X=this.la=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return ie(b,a)}):void 0===global[x]&&(global[x]=
function(a){return ie(b,a)})}p(xj,oj);function Cj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,Ca:c}}h=xj.prototype;h.Wc=function(a,b){a.K=b;a.Qa=!1;a.Ca=void 0;return a};function Dj(a){return[a.K,a.Ka,a.Ca,a.Qa,a.tc]}function Ej(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.Bd=pj(a,c.tc=b[4]));return c}
h.wa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=de(a,"messages"))&&Aj(this,a);1140>this.f.ka&&(this.W=this.W.concat(Fj));1145>this.f.ka&&(this.W=this.W.concat(Gj));pd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=Cj(Hj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=bd[c],n&&d.v(H(n.id,8)+" %"+H(e<<d.D.g,8)+" %"+H(n.K,8)+" "+Ra(n.Kb)+" "+Ra(n.size)+" "+m),c!=Ed&&(c=-1),m=0);a+=d.D.j;e++}}});A(this)};
h.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ie(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.u<d.j.length-1&&(b=d.j[++d.u])):40==a.keyCode&&(0<d.u?b=d.j[--d.u]:(b="",d.u=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.C[b]=c,wb(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";ie(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,wb(c,function(a){var b=!1;Ia(d,!0)||(Na(d,!0),b=rc(d,a?1:0,null),Na(d,!1));return b}),!0}return!1};function he(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.cd=function(a,b){var c=255,d=Cj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Le(this.f,d),c.F=!1,c.ma++,d=dd(c,d).j(d&c.i,d),c.ma--):(c=this.f,c.oa++,d=c.D.$c(xc(c,d,3)),c.oa--),c=d,b&&Ij(a,b));return c};
h.Oa=function(a,b){var c=65535,d=Cj(a);-1!==d&&(c=a.Ka||65535<d?Jc(this.D,Le(this.f,d)):Kc(this.f,d),b&&Ij(a,b));return c};h.dd=function(a,b,c){var d=Cj(a);if(-1!==d){if(a.Ka||65535<d)ed(this.D,Le(this.f,d),b);else{var e=this.f;e.oa++;e.D.ad(xc(e,d,5),b);e.oa--}c&&Ij(a,c);J(this.J,-1)}};h.de=function(a,b,c){var d=Cj(a);if(-1!==d){if(a.Ka||65535<d)wc(this.D,Le(this.f,d),b);else{var e=this.f;e.oa++;e.D.Ob(xc(e,d,4),b);e.oa--}c&&Ij(a,c);J(this.J,-1)}};
function Hj(a,b,c){var d;c=(c?a.H:a.za).K;var e,f;if(void 0!==b){b=sj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ha[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=rj(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function Jj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Bd=pj(a,b.tc=c[2]))}function Ij(a,b){null!=a.K&&(a.K+=b||1)}function Kj(a,b){return(b.Ka?"%":"")+M(a,b.K)}
function Aj(a,b){a.G=a;a.ia=a.Ed=536870912;a.S=null;a.M=[];b=pj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Vb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=Vb[c],a.v(c+" messages enabled"))}}function pd(a,b,c){for(var d in Vb)if(b==Vb[d]){a.ka[d]=c;break}}
h.Jd=function(a){a=a.toUpperCase();var b=Lj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Mj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.Kd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.pa[a-8];else if(20>a)b=this.f.W[a-16];else{var c=this.f,d=this.b;switch(a){case Nj:b=zd(this.f);break;case Oj:b=c.Va;break;case Pj:b=c.R;break;case Qj:b=c.za&65280;break;case Rj:b=td(c);break;case Sj:b=vd(c);break;case Tj:b=wd(c);break;case Uj:b=c.V;break;case Vj:d&&(b=d.ga);break;case Wj:d&&(b=d.Sa);break;case Xj:d&&Mc(d)&&(b=d.Ta)}}return b};
h.message=function(a,b){b&&(a+=" @"+Kj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ia&1073741824)this.M.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.T)||Ia(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,oe(a),a.ub=0,a.J&&J(a.J,void 0))}};
function zj(a){var b;if(!uf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Yj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.v("instruction history buffer allocated")}}function Zj(a,b,c){if(!ak(a,c))return!1;qc(a.f,b);return!0}
function rc(a,b,c,d){if(!ak(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.w=0;b||uf(a)&&vf(a,a.f.g[7],0);try{b=pe(a.f,b);var f=a.f.jc(b);0<f&&(sc(a.f,f),a.w+=f,tc(a.f,f,!0),uc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Fa(a.f,g.stack||g.message))}!1!==d&&(a.b&&a.b.stop(),J(a.J,-1));ge(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)};
function ge(a,b,c){if(a.Ea){void 0===b&&(b=!0);c&&a.v(bk+c);c=a.f;if(c=c.i&128?c.kc|c.hc<<8:0){var d=c>>8;a.v("trapped to "+M(a,c&255,1)+" ("+(0>d?Mb[-d]:M(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?ck(a):dk(a)}}function ak(a,b){var c;(c=!a.f||!Ha(a.f))||(c=a.f,c.A.fa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.T?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Ga(a.f)}h.ya=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.xa=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){zj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.T=!1;ek(this);a||ge(this)};h.save=function(){var a=new I(this);a.set(0,Dj(this.H));a.set(1,Dj(this.N));a.set(2,[this.j,this.P,this.ia]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=Ej(this,a[b++]),this.N=Ej(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ia|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.T=!0;this.Fa=a;this.Ga=b};
h.stop=function(a,b){if(this.A.T){this.A.T=!1;this.w=b-this.Ga;if(!this.I){b="stopped";if(this.w){a-=this.Fa;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";uf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}ge(this,!0);he(this);ek(this,this.f.g[7]);this.S=null}};function uf(a){return 1<a.g.length||!!a.Z}
function vf(a,b,c){var d=-1;c||(d=Kc(a.f,b))||(a.f.P&65535)!=b||(b=De(a.f,2));if(0<c&&(a.Z&&!--a.Z||fk(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Kc(a.f,b)),65535!=(d&65535)&&(a.Wc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function Ag(a){var b=a.f;if(b.A.T)throw xe(b,a.f.P&65535),a.ba(),-1;return!1}function Yd(a,b,c){fk(a,b,c||1,a.L)&&a.ba(!1)}function Zd(a,b,c){fk(a,b,c||1,a.F)&&a.ba(!1)}
function yj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=Cj(c),c.Ka?(c=a.D,Xd(c.b[d>>>c.g],!1)):Oe(a.f,!1);a.L=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=Cj(c),c.Ka?(c=a.D,Xd(c.b[d>>>c.g],!0)):Oe(a.f,!0);a.F=["bw"];a.la=0;a.Z=0}
h.tb=function(a,b,c){var d=!0;c||gk(this,a,b,!1,!0);if(a!=this.g){var e=Cj(b);if(-1===e)this.v("invalid address: "+Kj(this,b)),d=!1;else{var f=a==this.F;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].tb(e&g.i,f)}else e=this.f,(f?e.bc++:e.ac++)||ve(e)}}d&&(a.push(b),c?b.Qa=!0:(hk(this,a,a.length-1,"set"),zj(this)));return d};
function gk(a,b,c,d,e){var f=!1;c=Cj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Cj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||hk(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.F,k.Ka?(d=a.D,Xd(d.b[c>>>d.g],b)):Oe(a.f,b));k.Qa||zj(a);break}}return f}function ik(a,b){for(var c=1;c<b.length;c++)hk(a,b,c);return b.length-1}function hk(a,b,c,d){c=b[c];a.v(b[0]+" "+Kj(a,c)+(d?" "+d:c.tc?' "'+c.tc+'"':""))}
function ek(a,b){if(void 0!==b)fk(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!gk(a,a.g,c,!0))break;b=0}}}
function fk(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=Cj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(gk(a,d,k,!0),e=!0);if(n=k.Bd){for(var f=!1,r=0;r<n.length;r++)if(!jk(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.T||(f=!0)}if(f){e||hk(a,d,g,"hit");break}}}a.la--;return f}
function kk(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ha)if(g=a.Ha[k][f&k])break;g||(g=lk);var l=g[0];0<=a.W.indexOf(l)&&(g=lk,l=g[0]);var m=k="",n=mk[l],r=g.length-1;l||r||(k=M(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",D=E&nk;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=M(t,u);else if(D==ok)u=u.K-((f&63)<<1)&65535,z=M(t,u);else if(D==pk)z=M(t,f&7,1);else if(D==qk)z=M(t,f&63,1);else if(D==rk)z=M(t,f&255,1);else if(D=f&E,E&sk&&(D>>=6,E>>=6),E&Y){var E=null,G=D&
tk;switch(D&uk){case 0:z=Mj(G);break;case 8:z="@"+Mj(G);E=vk(t,t.f.g[G]);break;case 16:7>G?z="("+Mj(G)+")+":(D=t.Oa(u,2),z="#"+M(t,D,0,!0));break;case 24:7>G?z="@("+Mj(G)+")+":(D=t.Oa(u,2),z="@#"+M(t,D,0,!0),E=vk(t,D));break;case 32:z="-("+Mj(G)+")";break;case 40:z="@-("+Mj(G)+")";break;case 48:D=t.Oa(u,2);z=M(t,D,0,!0)+"("+Mj(G)+")";7==G&&(z=M(t,D=D+u.K&65535),E=vk(t,D));break;case 56:D=t.Oa(u,2),z="@"+M(t,D)+"("+Mj(G)+")",7==G&&(z="@"+M(t,D=D+u.K&65535),E=vk(t,Kc(t.f,D)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=Kj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+M(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.Db?g+("cycles="+je(a.f).toString()+" cs="+H(a.f.Xb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function vk(a,b){b=Me(a.f,b)[0];b>=a.f.mb&&b<a.D.B&&(b=b-a.f.mb+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Ma[b&id])&&(a=b[4]);return a}function wk(a,b){switch(b){case "N":a=Ce(a.f);break;case "Z":a=Be(a.f);break;case "V":a=Ae(a.f);break;case "C":a=ze(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=Mj(b),c+="="+M(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+M(a,d.pa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+M(a,d.W[b-16]);else switch(b){case Nj:c="PS="+M(a,zd(d));break;case Oj:c="PI="+M(a,d.Va);break;case Pj:c="ER="+M(a,d.R);break;case Qj:c="SL="+M(a,d.za&65280);break;case Rj:c="M0="+M(a,td(d));break;case Sj:c="M1="+M(a,vd(d));break;case Tj:c="M2="+M(a,wd(d));break;case Uj:c="M3="+M(a,d.V);break;case Vj:a.b&&(c="AR="+M(a,a.b.ga,3));break;case Wj:a.b&&(c="DR="+
M(a,a.b.Sa));break;case Xj:a.b&&Mc(a.b)&&(c="SR="+M(a,a.b.Ta,3))}c&&(c+=" ");return c}function xk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,Nj)+Z(a,Oj)+Z(a,Qj);d+=wk(a,"T")+wk(a,"N")+wk(a,"Z")+wk(a,"V")+wk(a,"C");b&&(b=d,c=""+(Z(a,Rj)+Z(a,Sj)),c+=Z(a,Tj)+Z(a,Uj)+Z(a,Pj),c=c+"\n"+(Z(a,Xj)+Z(a,Vj)+Z(a,Wj)),d=b+("\n"+c));return d}h.Fd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Ah(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=cb(n,l,a.Fd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Hi:b,K:c,Ke:d,ha:e,Cd:f})}function yk(a,b,c){var d=[],e=Cj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Ke;if(e>=g&&e<g+k){e=cb(f.Cd,[e-g],a.Fd);0<=e?zk(a,b,e,d):c&&(e=~e,zk(a,b,e-1,d),zk(a,b,e,d));break}}return d}
function zk(a,b,c,d){var e={},f=a.B[b].Cd,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ha[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Ak(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return wj(a)||a.v("no variables"),!0;if(!c[2])return wj(a,c[1]);if(!c[3])return delete a.U[c[1]],!0;b=rj(a,c[3]);return void 0!==b?(a.U[c[1]]=b,!0):!1}a.v("invalid assignment:"+b);return!1}
function Bk(a,b,c){var d=null;if(b=Hj(a,b,!0)){var e=yk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+Ra(f)),f=e[0]+" ("+M(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+Ra(f)),f=e[4]+" ("+M(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
function ck(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=rj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":xe(e,
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.F=g?65536:0;break;case "PS":Ad(e,g);break;case "PI":yd(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.za=g|255;break;case "M0":ud(e,g);d=!0;break;case "M3":xd(e,g);d=!0;break;case "AR":a.b&&(d=a.b,gc(d,d.ga=g));d=!0;break;case "DR":a.b&&(d=a.b,Yb(d,d.Sa=g));d=!0;break;case "SR":if(a.b&&Mc(a.b)){hc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.v("unknown register: "+f);return}J(a.J);a.v("updated registers:")}}a.v(xk(a,d));c&&(a.H=W(e.g[7]),dk(a,Kj(a,a.H)))}}function Ck(a,b){b=ab(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):vj(a,null,c[2].charCodeAt(0)):rj(a,b,!0)}
function Dk(a,b,c){if("?"==c)a.v("trace commands:"),a.v("\tt [#]\ttrace # instructions"),a.v("\ttr [#]\ttrace # instructions with register updates"),a.v("\ttc [#]\ttrace # cycles"),a.v("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=tj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;vb(c,function(){return Na(a,!0)&&rc(a,e,d,!1)},function(){a.b&&a.b.stop();J(a.J,-1);Na(a,!1)})}}
function dk(a,b,c,d){if(b=Hj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=tj(a,c.substr(1)),null!=c&&(d=c);else{d=Hj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Ia(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=yk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=kk(a,b,g,f);a.v(f);a.H=b;e-=b.K-l;c++}}}
function jk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(bk+b):(a.P&&(a.v("ended assemble at "+Kj(a,a.N)),a.H=a.N,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ha(a)&&0<b.length){a.P&&(b="a "+Kj(a,a.N)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
Hj(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.v("begin assemble at "+Kj(a,r)),a.P=!0,J(a.J);else{var u;a.v("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.dd(r,u[t],1);a.v(kk(a,a.N))}}break;case "b":a:{var E=g[0],z=g[1],D=b;if("?"==z)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
else{var G=E.charAt(1);if("l"==G){var lb;lb=0+ik(a,a.g);lb+=ik(a,a.L);(lb+=ik(a,a.F))||a.v("no breakpoints")}else if("n"==G){var qd=+z||0;z&&(a.Z=qd);a.v("break after "+qd+" instruction(s)")}else if(void 0===z)a.v("missing breakpoint address");else{var ma=W();if("*"!=z&&(ma=Hj(a,z,!0),!ma))break a;"c"==G?null==ma.K?(yj(a),a.v("all breakpoints cleared")):gk(a,a.g,ma)||gk(a,a.L,ma)||gk(a,a.F,ma)||a.v("breakpoint missing: "+Kj(a,ma)):null!=ma.K&&(Jj(a,ma,D),"p"==G?a.tb(a.g,ma):"r"==G?a.tb(a.L,ma):"w"==
G?a.tb(a.F,ma):a.v("unknown breakpoint command: "+G))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Pb,Ya=g[0],Ja=g[1],Za=g[2],cl=g[3];if("?"==Ja){var Qb="";for(Pb in Vb)a.ka[Pb]&&(Qb&&(Qb+=","),Qb+=Pb);Qb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
a.v("\tdh [p] [n] dump n instructions from history position p");Qb.length&&a.v("dump extension commands:\n\t"+Qb)}else if("state"==Ja){var Xe=Ek(a.J,!0);"console"==Za?console.log(Xe):(a.Pa&&(a.Pa.value=""),Xe&&a.v(Xe))}else if("symbols"==Ja)for(var Ye=0;Ye<a.B.length;Ye++){var Ze=a.B[Ye],Rb;for(Rb in Ze.ha)if("."!=Rb.charAt(0)){var ti=Ze.ha[Rb].o;if(void 0!==ti){var ui=Ze.ha[Rb].l;ui&&(Rb=ui);a.v(M(a,ti)+" "+Rb)}}}else{if("d"==Ya){for(Pb in Vb)if(g[1]==Pb){var vi=a.ka[Pb];vi?(g.shift(),g.shift(),
vi(g)):a.v("no dump registered for "+Ja);break a}Ja||(Ya=a.Ia||"dw")}else a.Ia=Ya;if("dh"==Ya){var wi=Ja,xi=Za,yi="",zi=0,Aa=a.R,Ka=a.i;if(Ka.length){var ua=+wi||a.oa,yc=+xi||10;isNaN(ua)?ua=yc:yi="more ";ua>Ka.length&&(a.v("note: only "+Ka.length+" available"),ua=Ka.length);Aa-=ua;0>Aa&&(null==Ka[Ka.length-1].K?(ua=Aa+ua,Aa=0):Aa+=Ka.length);var $e=[];"call"==xi&&(yc=1E5,$e=["CALL"]);for(void 0!==wi&&a.v(ua+" instructions earlier:");0<yc&&Aa!=a.R;){var Ai=Ka[Aa++];if(null==Ai.K)break;var zc=W(Ai.K),
dl=ua--,Bi=kk(a,zc,"history",dl);(!$e.length||0<=Bi.indexOf($e[0]))&&a.v(Bi);zc.Rc&&(Aa+=zc.Rc,yc-=zc.Rc,ua-=zc.Rc);Aa>=Ka.length&&(Aa=0);a.oa=ua;zi++;yc--}}zi||(a.v("no "+yi+"history available"),a.oa=void 0)}else{var ha=Hj(a,Ja);if(ha)if("da"==Ya){var af=ha.Ka||65535<ha.K,L=Me(a.f,ha.K||0,af);a.v(Xa("",af?12:19)+Pa(ha.K,af?22:17,3)+" "+F(ha.K,8));6>L.length?(2<L.length&&(a.v(" OFFSET: "+Pa(L[3],13,3)+" "+F(L[3],8)),a.v("UNIMAP["+Qa(L[1])+"]: "+Pa(L[2],22,3)+" "+F(L[2],8))),a.v(" PHYSICAL: "+
Pa(L[0],22,3)+" "+F(L[0],8))):(a.v(" OFFSET: "+Pa(L[1],13,3)+" "+F(L[1],8)),a.v("+ "+Fk[L[2]]+"PAR"+L[3]+": "+Pa(L[4],22,3)+" "+F(L[4],8)),a.v("& MMUMASK: "+Pa(L[5],22,3)+" "+F(L[5],8)),a.v("= PHYSICAL: "+Pa(L[0],22,3)+" "+F(L[0],8)))}else{var nb=0,bf="ds"==Ya;if(Za){if("l"==Za.charAt(0))Za=Za.substr(1)||cl,nb=tj(a,Za);else{var Ci=Hj(a,Za);Ci&&(nb=Ci.K-ha.K)}0>nb&&(nb=0);65536<nb&&(nb=65536)}var fl=a.Ca;ha.Ca&&(a.Ca=ha.Ca);for(var ob="dd"==Ya?4:"db"==Ya?1:2,Jd=ob*nb||128,cf=
bf?16:a.Ca,gl=(Jd+cf-1)/cf|0||1,pb="";gl--&&0<Jd;){for(var qb="",df="",Ja=Kj(a,ha),Kd=cf,Ac=0,Bc=0;0<Kd&&0<Jd;){var Sb=1,Ld=1==ob?a.cd(ha,Sb):a.Oa(ha,Sb=2),Ac=Ac|Ld<<(Bc<<3),Bc=Bc+Sb;Bc==ob&&(bf?(qb&&(qb+=","),qb+="0x"+H(Ac,2*ob)):(qb+=M(a,Ac,ob),qb+=1==ob?9==Kd?"-":" ":" "),Ac=Bc=0);Kd-=Sb;for(Jd-=Sb;1==ob&&Sb--;)var ef=Ld&255,df=df+(32<=ef&&128>ef?String.fromCharCode(ef):"."),Ld=Ld>>8}pb&&(pb+="\n");pb=bf?pb+(qb+","):pb+(Ja+": "+qb+(Kd?"":" "+df))}pb&&a.v(pb);a.za=ha;a.Ca=fl}}}}break;case "e":if("else"==
g[0])break;var Tb,ff,gf,hf,jf=g[0],kf=g[1];"eb"==jf?(Tb=1,ff=255,gf=a.cd,hf=a.dd):"e"==jf||"ew"==jf?(Tb=2,ff=65535,gf=a.Oa,hf=a.de):kf=null;if(null==kf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Md=Hj(a,kf);if(Md)for(var Nd=2;Nd<g.length;Nd++){var Cc=rj(a,g[Nd]);if(void 0===Cc){a.v("unrecognized value: "+g[Nd]);break}Cc&~ff&&a.v("warning: "+H(Cc)+" exceeds "+Tb+"-byte value");a.v("changing "+Kj(a,Md)+(B(a,16)?
"":" from "+M(a,gf.call(a,Md),Tb))+" to "+M(a,Cc,Tb));hf.call(a,Md,Cc,Tb)}}break;case "g":a:{var Di=g[1],hl=b;if(void 0!==Di){var lf=Hj(a,Di,!0);if(!lf)break a;Jj(a,lf,hl);a.tb(a.g,lf,!0)}Zj(a,!0,c)}break;case "h":a.A.T?(c||a.v("halting"),a.ba()):Ia(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var mf;var Dc=b.substr(2),Dc=ab(Dc);rj(a,Dc)?(c||a.v("true: "+Dc),mf=!0):(c||a.v("false: "+Dc),mf=!1);mf||(d=!1);break}f=!0;break;case "k":var il=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var nf=0,of=W(),Ec=W(a.f.g[6]);for(a.v("stack trace for "+Kj(a,Ec));10>nf;){for(var rb=null,jl=256;65536>Ec.K>>>0;){of.K=a.Oa(Ec,2);if(null==Ec.K||!jl--)break;if(!(of.K&1)){for(var kl=a,Od=of,Ei=null,Fc=Od.K,Fi=Fc,pf=1;6>=pf&&Fc;pf++){if(2<pf){Od.K=Fc;var Pd=kk(kl,Od);if(0<=Pd.indexOf("JSR")){var Gi=Pd.indexOf(" ");if(Fc+(Pd.indexOf(" ",Gi+1)-Gi-1)/2==Fi){Ei=Pd;break}}}Fc-=2}Od.K=Fi;if(rb=Ei)break}}if(!rb||null==rb)break;var Hi=
null;if("ks"==il){var Ii=rb.match(/[0-9A-F]+$/);Ii&&(Hi=Bk(a,Ii[0]))}rb=Xa(rb,50)+" ;"+(Hi||"stack="+Kj(a,Ec));a.v(rb);nf++}nf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Bk(a,g[1],!0);break}f=!0;break;case "m":a:{var La,Ma=null,P=g[1];"?"==P&&(P=void 0);if(void 0!==P){var $a=0;if("all"==P)$a=1879046143,P=null;else if("on"==P)Ma=!0,P=null;else if("off"==P)Ma=!1,P=null;else{"keys"==P&&(P="key");"kbd"==P&&(P="keyboard");for(La in Vb)if(P==La){$a=Vb[La];Ma=!!(a.ia&$a);break}if(!$a){a.v("unknown message category: "+
P);break a}}if($a)if("on"==g[2])a.ia|=$a,Ma=!0;else if("off"==g[2]&&(a.ia&=~$a,Ma=!1,1073741824==$a)){for(var Ji=1E3<=a.M.length?a.M.length-1E3:0;Ji<a.M.length;)a.v(a.M[Ji++]);a.M=[]}}var ll=0,Gc="";for(La in Vb)if(!P||P==La){var ml=!!(a.ia&Vb[La]);if(null===Ma||Ma==ml)Gc&&(Gc+=","),++ll%10||(Gc+="\n\t"),"key"==La&&(La="keys"),Gc+=La}void 0===P&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Ma?Ma?"messages on: ":"messages off: ":"message categories:\n\t")+
(Gc||"none"));zj(a)}break;case "p":if("print"==g[0]){Ck(a,b.substr(5));break}var nl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ki="pr"==nl?1:0,Li=1+Ki;if(a.I)a.v("step in progress");else{var Qd=W(a.f.g[7]),Ub=a.Oa(Qd);3==Ub||4==Ub||34816==(Ub&65280)||32256==(Ub&65024)||35072==(Ub&65280)?(a.I=Li,Ij(Qd,2)):2048==(Ub&65024)&&(kk(a,Qd),a.I=Li);a.I?(a.tb(a.g,Qd,!0),Zj(a)||(a.J&&ne(a.J),a.I=0)):Dk(a,Ki?"tr":
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}ck(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Hc=+g[2];if(8==Hc||10==Hc||16==Hc)a.Ca=Hc;else{a.v("invalid base: "+Hc);break}}a.v("default base: "+a.Ca);break;case "cs":var Ic;void 0!==g[3]&&(Ic=+g[3]);switch(g[2]){case "int":a.f.Eb=Ic;break;case "start":a.f.Yb=Ic;break;case "stop":a.f.Gb=Ic;break;default:a.v("unknown cs option");break a}void 0!==Ic&&fe(a.f);a.v("checksums "+(a.f.A.Db?"enabled":"disabled"));break;case "sp":void 0!==
g[2]&&(ke(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.qb.toFixed(2)+"Mhz")+" ("+a.f.eb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Dk(a,
g[0],g[1]);break;case "u":dk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Ak(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.32.2 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Ck(a,b.substr(1));break}var qf="commands:",rf;for(rf in Gk)qf+="\n"+Xa(rf,9)+Gk[rf];uf(a)||(qf+="\nnote: history disabled if no exec breakpoints");a.v(qf);break;default:f=!0}f&&(a.v("unknown command: "+
b),d=!1)}}catch(Ni){a.v("debugger error: "+(Ni.stack||Ni.message)),d=!1}return d}function ie(a,b,c){b=pj(a,b,c);for(var d in b)if(!jk(a,b[+d]))return!1;return!0}
var Gk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},mk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
Nj=20,Oj=21,Pj=22,Qj=23,Rj=24,Sj=25,Tj=26,Uj=27,Vj=28,Wj=29,Xj=30,Lj={SP:6,PC:7,PS:Nj,PI:Oj,ER:Pj,SL:Qj,M0:Rj,M1:Sj,M2:Tj,M3:Uj,AR:Vj,DR:Wj,SR:Xj},Fk="KI KD SI SD ?? ?? UI UD".split(" "),tk=7,uk=56,Y=uk|tk,sk=4032,X=4096,ok=8192,pk=12288,qk=24576,rk=32768,nk=61440,Bj={61440:{4096:[62,sk,Y],8192:[47,sk,Y],12288:[18,sk,Y],16384:[14,sk,Y],20480:[16,sk,Y],24576:[3,sk,Y],36864:[63,sk,Y],40960:[48,sk,Y],45056:[19,sk,Y],49152:[15,sk,Y],53248:[17,sk,Y],57344:[94,sk,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,ok]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,rk],35072:[107,rk]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,qk],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,tk],152:[108,pk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},lk=[0],Fj=[58,60,65,96,110,100,101,102,103,104,105],Gj=[108,59,64],Yj=1E3,bk=">> ";yb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new xj(d);Ea(d,c)}});
function Hk(a,b,c){q.call(this,"Computer",a,33554432);this.A.fa=!1;this.P=null;Ik(this,b);this.M=de(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.F=this.S=!1;this.w=this.u=null;this.R=this.B=this.N=!1;this.V=de(this,"url")||"";(Math.random()+.1).toString(36);this.g=Jk(this);if(this.f=Da("CPU",this.id)){this.G=Da("Debugger",this.id);this.D=new Pc({id:this.ob+".bus",busWidth:this.U},this.f,this.G);var d,e=Ba(this.id);if((this.i=Da("Panel",this.id))&&this.i.Pa)for(b=
0;b<e.length;b++)d=e[b],d.O=this.i.O,d.v=this.i.v,d.Pa=this.i.Pa;this.v(Hb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.wa&&d.wa(this,this.D,this.f,this.G);this.b=de(this,"resume",a,4,Kk);var f;b=null;if(a=de(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.F=!0,this.b=
Kk),this.b&&(this.w=new I(this,"1.32.2"),Lk(this.w)?b=null:delete this.w);!b&&this.b&&(b=Mk(this))&&(this.F=!0);if(b){var g=this;eb(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.O("Unable to load machine state from server (error "+c+(b?": "+ab(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.C.power||(this.M=!0);!c&&this.M&&Nk(this,this.$b)}else v("Unable to find CPU component")}p(Hk,q);
function Ik(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function de(a,b,c,d,e){var f=b.toLowerCase(),f=sb(b)||sb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Nk(a,b,c){for(var d=Ba(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ha(f)){Ha(f,function(){Nk(a,b,c)});return}}b.call(a,c)}function Ok(a,b){var c=new I(a,"1.32.2",Pk);if(Lk(c)&&Qk(c)){var d=c.get(Rk),e=b?b.get(Rk):"unknown";d!=e&&(a.O("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Hk.prototype;
h.$b=function(a){void 0===a&&(a=this.b||(this.I?Sk:Kk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.w||new I(this,"1.32.2");if(a==Tk)b=!0;else if(a>Kk){if(Lk(d,this.I)){this.u=new I(this,"1.32.2",Uk);Lk(this.u)&&(Vk(this,d),a=Wk,Xk(this.u));this.u.set(Rk,db());Yk(this.u);var e=this.b&&!this.F;if(a==Sk||za("Click OK to restore the previous "+Hb+" machine state, or CANCEL to reset the machine.")){if(c=Qk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Lk(d,g):("error"==f&&"no machine state"!=
g?(this.O("Error: "+g),"unable to verify user"==g&&(kb(Zk,""),this.g=null)):this.v(f+": "+g),Xk(d),Lk(d)?(c=Qk(d),e=!0):c=!1))}e&&Ok(this,c?d:null)}else a==Wk&&d.clear()}else Ok(this);delete this.I;delete this.w}e=Ba(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=$k(this,g,d,b,c));b=[d,a,c];a!=Tk?Nk(this,this.Gd,b):this.Gd(b)}};
function $k(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ya(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=Kk,window&&window.location.reload()):a.N=!0,b.ya(null),e=!1),!d&&b.pd){var g=b.pd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Gd=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.f&&($k(this,this.f,b,c,a),J(this,-2),this.f.va());this.N&&(Vk(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function Vk(a,b){if(za("There may be a problem with your "+Hb+" machine.\n\nTo help us diagnose it, click OK to send this "+Hb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Hb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;eb("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ek(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new I(a,"1.32.2"),g=new I(a,"1.32.2",Pk),k=db();g.set(Rk,k);f.set(Rk,k);f.set(al,"1.32.2");f.set(bl,window?window.location.href:null);f.set(el,window?window.navigator.userAgent:"");a.f&&a.f.xa&&(c&&(b&&(a.f.A.va=a.f.A.T),a.f.ba()),d=a.f.xa(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=Ba(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&ol(a,a.g,f.toString()),Yk(g)&&Yk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==pl),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.C.power)&&(b.textContent="Power");a.j=0;return e}
h.reset=function(){this.D&&this.D.reset&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=Ba(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}J(this,-1)};h.start=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
h.stop=function(a,b){for(var c=Ba(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(a,b){if(a.f){var c=a.f,d=b||0,e=c.C.speed;e&&(0>=d||30<=(c.Cc+=d))&&(e.textContent=c.A.T?c.pb.toFixed(2)+"Mhz":"Stopped",c.Cc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.T;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)kc(a,"R"+e,a.f.g[e]);e=zd(a.f);kc(a,"PS",e);kc(a,"NF",e&8?1:0,1);kc(a,"ZF",e&4?1:0,1);kc(a,"VF",e&2?1:0,1);kc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.ga=a.f.g[7]:0<b&&c&&!d&&(a.ga=a.f.$a);gc(a,a.ga);Yb(a,a.Sa);b=a.f;b=b.rb?b.V&16?1:2:4;Lc(a,"B22",b&1);Lc(a,"B18",b&2);
Lc(a,"B16",b&4)}}
h.sa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?Ek(d,!1,!0):Nk(d,d.$b))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=za("Click OK to save changes to this "+Hb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ek(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.$b(Kk),d.B=!1)}else d.reset(),d.f&&d.f.va()},!0;case "save":if(Ua(gb(),"pcjs.org"))c.parentNode.removeChild(c);else return this.C[b]=
c,c.onclick=function(){var a=Jk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=Ek(d,b);b?ol(d,a,c):d.O("Resume disabled, machine state not saved")}},!0}return!1};function Jk(a,b){var c=a.g;c||((c=jb(Zk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=ql(a,c))||a.O("The user ID is invalid.")):b&&a.O("Browser local storage is not available"));return c}
function ql(a,b){a.g=null;b=eb(gb()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(kb(Zk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Mk(a){var b=null;a.g&&(b=gb()+"/api/v1/user?req=load&user="+a.g+"&state="+rl(a,"1.32.2"));return b}
function ol(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rl(a,"1.32.2");d.data=c;b=eb(gb()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.O("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.O(c),kb(Zk,""),a.g=null)}}
function Rh(a){var b;a=Ba(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function ne(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Uk="failsafe",Pk="validate",Rk="timestamp",al="version",bl="url",el="browser",Zk="user",Tk=-1,Kk=0,Sk=1,Wk=2,pl=3;
yb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Hk(g,d,!0);Ea(g,f);g.M&&Nk(g,g.$b)}});zb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.R&&!c.A.fa&&c.$b(Tk)}});zb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Da("Computer",c.id))&&c.A.fa&&Ek(c,!(!c.b||c.H),!0)}});
function I(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.C=!1;this.key=rl(a,b,c);Xk(this,a.we)}h=I.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function Lk(a,b){return b?(a.b=b,a.g=!0,a.C=!1,!0):a.g?!0:hb()&&(b=jb(a.key))?(a.b=b,a.g=!0):!1}function Qk(a){var b=!0;if(!a.C)try{a.f=JSON.parse(a.b),a.C=!0}catch(c){v(c.message||c),b=!1}return b}
function Yk(a){var b=!0;if(hb()){var c=JSON.stringify(a.f);kb(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Xk(a,b){a.b="";a.f={};a.g=a.C=!1;b&&a.set("parms",b)}
h.clear=function(a){Xk(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function rl(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var sl=0;
function tl(a,b,c,d,e,f){e("Loading "+a+"...");eb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):ul(k,a,b,c,d,e,f)})}
function ul(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(wa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?vl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function vl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");eb(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);vl(a,b,c)}})}else c(a,null)}
function wl(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Va(a))}function f(a){e("Error: "+a);l&&(--sl||Cb(!0));l=!1}var g,k,l=!0;sl++;xa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?tl(c,null,null,!1,e,function(d,l){l?(wa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--sl||Cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--sl||Cb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?tl(b,a,d,!0,e,m):ul(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){Cb(!1);return wl(a,b,c,d)};window.findMachineComponent=function(a,b){return Da(b,a+".machine")};window.enableEvents=Cb;window.sendEvent=Eb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11-dbg.map

View file

@ -28,264 +28,268 @@
http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/drive.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ia(a){fa();ca();fa();var b=a[Symbol.iterator];return b?b.call(a):ga(a)}
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ja=ba,ka=["Math","log2"],la=0;la<ka.length-1;la++){var ma=ka[la];ma in ja||(ja[ma]={});ja=ja[ma]}var na=ka[ka.length-1],oa=ja[na],pa=oa?oa:function(a){return Math.log(a)/Math.LN2};pa!=oa&&null!=pa&&aa(ja,na,{configurable:!0,writable:!0,value:pa});
var qa={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},q={Hf:0,Hc:1,Jf:2,Kf:3,Lf:4,Mf:5,Nf:6,Of:7,kc:8,Pf:9,Ic:10,Qf:11,Rf:12,Jc:13,Sf:14,Tf:15,Uf:16,Vf:17,Wf:18,Xf:19,Yf:20,Zf:21,$f:22,ag:23,bg:24,cg:25,dg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,jc:65,Gf:66,If:67,eg:68,E:69,fg:70,gg:71,hg:72,ig:73,jg:74,kg:75,lg:76,mg:77,ng:78,og:79,pg:80,Q:81,qg:82,rg:83,sg:84,tg:85,ug:86,vg:87,wg:88,xg:89,Uc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yg:97,zg:98,Ag:99,d:100,e:101,Bg:102,Cg:103,Dg:104,Eg:105,Hg:106,k:107,Ig:108,Jg:109,n:110,Kg:111,p:112,q:113,r:114,Lg:115,t:116,Mg:117,Ng:118,Og:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,Kc:127};function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.oc=b.comment;this.Tc=b;this.exports={};this.l=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Sa:!1,ac:!1,S:!1,error:!1};this.Db=null;this.j.error=!1;this.Rc=d||0;this.D=this.c=this.v=this.A=this.bb=null;u.push(this)}function ra(a,b,c){sa[a]&&b&&(sa[a][b]=c)}
function ta(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function va(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function wa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function A(a,b){var c=B;b=C(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=z(g))&&k.binding&&a.ha(k.type,k.binding,g,k.value),m=l.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}h=r.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.ha=function(a,b,c){switch(b){case "clear":return this.l[b]||(this.l[b]=c,c.onclick=function(a){return function(){a.l.print&&(a.l.print.value="")}}(this)),!0;case "print":return this.l[b]||(this.bb=this.l[b]=c,c.value="",this.Z=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.B=function(a){this.Z(a,this.Ka)}),!0;default:return!1}};h.log=function(){};h.Z=function(){};
h.status=function(a){this.Z(this.Ka+": "+a)};h.B=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function xa(a,b){b&&(a.j.ready?b():a.Db=b);return a.j.ready}function D(a,b){a.j.error||(a.j.ready=!1!==b,a.j.ready&&(b=a.Db,a.Db=null,b&&b()))}function ya(a,b){a.j.ac?(a.j.Sa=!1,a.j.ac=!1):a.j.error?a.Z(a.toString()+" error"):a.j.Sa=b}h.ga=function(){return this.j.S=!0};h.fa=function(a,b){b&&(this.j.S=!1);return!0};
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var sa=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ba.Symbol||(ba.Symbol=ea)}var fa=0;function ea(a){return"jscomp_symbol_"+(a||"")+fa++}
function ga(){da();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ha(this)}});ga=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ja(a){ga();da();ga();var b=a[Symbol.iterator];return b?b.call(a):ha(a)}
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ka=ba,la=["Math","log2"],ma=0;ma<la.length-1;ma++){var na=la[ma];na in ka||(ka[na]={});ka=ka[na]}var oa=la[la.length-1],pa=ka[oa],qa=pa?pa:function(a){return Math.log(a)/Math.LN2};qa!=pa&&null!=qa&&aa(ka,oa,{configurable:!0,writable:!0,value:qa});
var ra={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},sa={Bg:0,kd:1,Eg:2,Fg:3,Gg:4,Hg:5,Ig:6,Jg:7,Ac:8,Kg:9,ld:10,Lg:11,Mg:12,md:13,Ng:14,Og:15,Pg:16,Qg:17,Rg:18,Sg:19,Tg:20,Ug:21,Vg:22,Wg:23,Xg:24,Yg:25,Zg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,zc:65,Ag:66,Cg:67,$g:68,E:69,fh:70,hh:71,ih:72,jh:73,kh:74,lh:75,mh:76,nh:77,oh:78,ph:79,rh:80,Q:81,th:82,uh:83,yh:84,Ah:85,Bh:86,Ch:87,Gh:88,Hh:89,Pd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ih:97,Jh:98,Kh:99,d:100,e:101,Lh:102,Mh:103,Nh:104,Oh:105,Rh:106,k:107,Sh:108,Th:109,n:110,Uh:111,p:112,q:113,r:114,Vh:115,t:116,Wh:117,Xh:118,Yh:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,nd:127};function q(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mc=b.comment;this.Kd=b;this.exports={};this.l=this.bindings={};a=this.id.indexOf(".");0>a?this.La=this.id:(this.Ma=this.id.substr(0,a),this.La=this.id.substr(a+1));this.j={ready:!1,Ta:!1,qc:!1,S:!1,error:!1};this.Nb=null;this.j.error=!1;this.Jc=c||0;this.F=this.c=this.v=this.A=this.eb=null;r.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}
function va(){return Date.now()||+new Date}function u(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<r.length;b++){var d=r[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ya(a){if(void 0!==a){var b;for(b=0;b<r.length;b++)if(r[b].id===a)return r[b]}return null}
function za(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<r.length;d++)if(c)c==r[d]&&(c=null);else if(!(a!=r[d].type||b&&r[d].id.indexOf(b)))return r[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
function w(a,b){var c=z;b=A(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=v(g))&&k.binding&&a.ha(k.type,k.binding,g,k.value),m=l.length}}}}
function A(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}h=q.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.ha=function(a,b,c){switch(b){case "clear":return this.l[b]||(this.l[b]=c,c.onclick=function(a){return function(){a.l.print&&(a.l.print.value="")}}(this)),!0;case "print":return this.l[b]||(this.eb=this.l[b]=c,c.value="",this.Z=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.B=function(a){this.Z(a,this.La)}),!0;default:return!1}};h.log=function(){};h.Z=function(){};
h.status=function(a){this.Z(this.La+": "+a)};h.B=function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)};function Aa(a,b){b&&(a.j.ready?b():a.Nb=b);return a.j.ready}function B(a,b){a.j.error||(a.j.ready=!1!==b,a.j.ready&&(b=a.Nb,a.Nb=null,b&&b()))}function Ba(a,b){a.j.qc?(a.j.Ta=!1,a.j.qc=!1):a.j.error?a.Z(a.toString()+" error"):a.j.Ta=b}h.ga=function(){return this.j.S=!0};h.fa=function(a,b){b&&(this.j.S=!1);return!0};
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var ua=window?window.PCjs.Machines:{},r=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function E(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function za(a,b){var c="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function Aa(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
function F(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ba(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ca(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ea(a){return a.replace(/[&<>"']/g,function(a){return Fa[a]})}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var Fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Ha={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function Ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function G(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
function C(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Ca(a,b){var c="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function Da(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
function D(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Fa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ga(a){return a.replace(/[&<>"']/g,function(a){return Ha[a]})}function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var Ha={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Ka={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function La(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function E(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Ja(a,b){var c,d={O:null,ka:null,ca:null,ba:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ca=g.load;d.ba=g.exec;if(e=g.bytes)d.O=e;else if(e=g.words)for(d.O=Array(2*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&255,d.O[f++]=e[c]>>8&255;else if(e=g.data)for(d.O=Array(4*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&
255,d.O[f++]=e[c]>>8&255,d.O[f++]=e[c]>>16&255,d.O[f++]=e[c]>>24&255;else d.O=g;d.ka=g.symbols;d.O.length?1==d.O.length&&(v(d.O[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.O=e)}return d}
function Ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}function La(){if(null==Ma){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ma=a}return Ma}function Na(a){var b;if(window)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)}return!1}
function Qa(a){if(!Ra){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ra=c}return Ra[a]}
function Sa(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}
function Ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ua(a){Va.init.push(a)}function Wa(a){if(Xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ya(a){!Xa&&a?(Xa=!0,Za&&$a("init"),ab&&$a("show")):Xa=a}function $a(a){Va[a]&&Wa(Va[a])}var Ra=null,Va={init:[],show:[],exit:[]},Za=!1,ab=!1,Xa=!0,Ma=null;
Ta("onload",function(){Za=!0;Wa(Va.init)});Ta("onpageshow",function(){ab=!0;Wa(Va.show)});Ta(Pa("Opera")||Pa("iOS")?"onunload":"onbeforeunload",function(){Wa(Va.exit)});var bb="undefined"!==typeof ArrayBuffer,B="pdp11",cb="PDPjs",db=!0,eb=!0,fb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},B="pdp11",cb="PDPjs",eb=db=!0;
function gb(a,b){r.call(this,"Panel",a,0,512);this.i=this.m=0;this.G=b;this.U=this.g=this.b=this.f=0;this.s=this.u=-1;this.w=this.C=this.o=!1;this.F=hb;this.h={};this.a={START:[1,1,!0,!1,this.md],STEP:[1,1,!1,!1,this.nd],ENABLE:[1,1,!1,!1,this.hd],CONT:[1,1,!0,!1,this.fd],DEP:[0,0,!0,!1,this.gd],EXAM:[1,1,!0,!1,this.jd],LOAD:[1,1,!0,!1,this.ld],TEST:[0,0,!0,!1,this.kd]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.od,a];this.D=this.c=this.v=this.A=null;D(this)}n(gb,r);h=gb.prototype;
h.reset=function(a){this.stop();a&&ib(this,this.f=0)};
h.ha=function(a,b,c,d){if(this.A&&this.A.ha(a,b,c,d)||this.c&&this.c.ha(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.l[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.h[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){jb(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){kb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){jb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){kb(a,b)}}(this,b),!0):r.prototype.ha.call(this,a,b,c,d)}};h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;lb(b,this,mb);nb(b,this.reset.bind(this));ob(this);pb(this)};h.ga=function(a,b){if(!b)if(this.G&&qb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};
h.fa=function(a){return a?this.save():!0};h.save=function(){var a=new H(this);a.set(0,[this.U,this.f,this.b]);return a.data()};h.restore=function(a){if(a=a[0])rb(this,this.U=a[0]),ib(this,this.f=a[1]),sb(this,a[2]);return!0};function tb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ob(a,b){for(var c in a.h)tb(a,c,null!=b?b:a.h[c])}function ub(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}
function pb(a){for(var b in a.a)ub(a,b,a.a[b][1])}function vb(a,b,c,d){if(a.l[b]){var e=a.D&&a.D.h||8;c=c||0;c=8==e?za(c,d):Aa(c,d);a.l[b].textContent!=c&&(a.l[b].textContent=c)}}function jb(a,b){var c=a.a[b];ub(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=wb&&(a.w=b==xb,a.C=b==yb)}function kb(a,b){var c=a.a[b];c[2]&&c[3]&&(ub(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.md=function(a){a||this.c.j.N||(a=this.c,a.v.reset(),zb(a),this.a[Ab]&&this.a[Ab][1]&&Bb(this.c))};h.nd=function(){};
h.hd=function(a){a||I(this.c)};h.fd=function(a){if(!a&&!this.c.j.N)if(this.a[Ab]&&this.a[Ab][1])Bb(this.c);else{a=this.D;var b;if(b=a)a.j.Sa&&(a.j.ac=!0),b=!a.j.Sa;if(b)ya(a,!0),a.f(0,null),ya(a,!1);else try{var c=this.c.Sb(1);0<c&&(Cb(this.c,c),Db(this.c,c,!0),Eb(this.c,c))}catch(d){"number"!=typeof d&&(c=this.c,a=d.stack||d.message,c.j.error=!0,c.B(a))}this.stop();this.A&&Fb(this.A)}};
h.gd=function(a){if(a&&!this.c.j.N)if(this.w&&Gb(this),a=ib(this,this.b),this.F==hb)Hb(this.v,this.U,a);else{var b=this.c,c=this.U;b.cb++;b.v.Ab(Ib(b,c,4),a);b.cb--}};h.jd=function(a){if(!a&&!this.c.j.N){this.C&&Gb(this);if(this.F==hb)a=Jb(this.v,this.U);else{a=this.c;var b=this.U;a.cb++;b=a.v.zb(Ib(a,b,2));a.cb--;a=b}ib(this,a)}};h.ld=function(a){a||this.c.j.N||rb(this,this.b)};h.kd=function(a){a?(this.o=!0,ob(this,!0)):(this.o=!1,ob(this),sb(this,0))};
h.od=function(a,b){this.b=a?this.b|1<<b:this.b&~(1<<b)};function Gb(a){var b=1140>=a.c.pa?8:16,c=65472<=a.U&&a.U<65472+b,b=c?1:2,c=c?15:a.v.u;a.a[wb]&&a.a[wb][1]||(b=-b);rb(a,a.U&~c|a.U+b&c)}function rb(a,b){a.U=b&a.v.u;if(a.s!==a.U){a.s=a.U;b=a.s;for(var c=0;22>c;c++)Kb(a,"A"+c,b&1<<c)}}function ib(a,b){a.g=b&65535;if(a.u!==a.g){a.u=a.g;b=a.u;for(var c=0;16>c;c++)Kb(a,"D"+c,b&1<<c)}return a.g}function Kb(a,b,c){a.h[b]=c;a.o||tb(a,b,c)}
function sb(a,b){if(void 0!==a.l[Lb]){a.b=b;for(var c=0;22>c;c++)a.a["S"+c][1]=b&1<<c?1:0;pb(a)}}h.stop=function(){rb(this,this.c.b[7])};h.setData=function(a,b){b?this.f=a:this.g=a};h.td=function(a,b){return(b?this.f:this.b)&65535};h.Fe=function(a){this.f=a};function qb(){for(var a=C(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=va(d.id);e||(e=new gb(d,!0));A(e,c)}}
var hb=7,Lb="S0",xb="DEP",Ab="ENABLE",yb="EXAM",wb="STEP",Mb={},mb=(Mb[65400]=[null,null,gb.prototype.td,gb.prototype.Fe,"CNSW"],Mb);Ua(qb);
function Nb(a,b,c){r.call(this,"Bus",a,0,16);this.c=b;this.D=c;this.T=+a.busWidth||16;this.F=1<<this.T;this.u=this.F-1;this.g=Ob;this.h=Math.log2(this.g);this.K=this.g>>2;this.f=this.g-1;this.s=this.F/this.g|0;this.L=this.s-1;this.Ga=[];this.m=0;this.o=!1;this.G=[];this.Vc=[Pb,Qb,Rb,Sb];this.a=this.b=[];this.C=this.w=this.i=this.H=this.I=0;a=new J(this);Tb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b<this.s;b++)this.a[b]=this.b[b]=a;this.C=this.F-Ob;Ub(this,this.C,Ob,Vb,this);this.I=this.H=
(this.C&this.u)>>>this.h;this.w=0;this.i=this.u;D(this)}n(Nb,r);function Wb(a,b){if(b!=a.w){for(var c=0;c<a.s;c++)a.b[c]=a.a[c];a.w=0;a.i=a.u;b&&(a.w=b,b=1<<b,a.i=b-1,b-=Ob,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Nb.prototype;h.reset=function(){for(var a=0;a<this.G.length;a++)this.G[a]();Wb(this,16)};h.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.fa=function(a){return a?this.save():!0};h.save=function(){var a=new H(this);a.set(0,Xb(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.K){for(var e=0,f=Array(this.K),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Ub(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.h;0<g&&k<a.a.length;){var l=a.a[k],m=k*a.g,p=a.g-(f-m);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ra)return l.wb+=l.Ra-f,l.Ra=f,!0;if(f>=l.Ra+l.wb){p=l.size-(f-m);p>g&&(p=g);l.wb=f-l.Ra+p;f=m+a.g;g-=p;k++;continue}}return Yb(Zb,f,g)}f=new J(a,f,p,a.g,d,e);Tb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+$b[d]+" at "+za(b)),!0):Yb(ac,b,c)}h.Fc=function(a){return this.b[(a&this.i)>>>this.h].fb(a&this.f,a)};
h.zb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return eb||b!=this.f?this.b[c].W(b,a):this.b[c++].fb(b,a)|this.b[c&this.L].fb(0,a+1)<<8};h.Gc=function(a,b){this.b[(a&this.i)>>>this.h].ib(a&this.f,b,a)};h.Ab=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;eb||c!=this.f?this.b[d].lb(c,b,a):(this.b[d++].ib(c,b&255,a),this.b[d&this.L].ib(0,b>>8&255,a+1))};function bc(a,b){return a.a[(b&a.u)>>>a.h]}
function Jb(a,b){var c;a.o=!1;a.m++;var d=b&a.f,e=bc(a,b);eb||d!=a.f?c=e.D(d,b):c=e.i(d,b)|bc(a,b+1).i(0,b+1)<<8;a.m--;return c}function cc(a,b,c){a.o=!1;a.m++;bc(a,b).l(b&a.f,c&255,b);a.m--}function Hb(a,b,c){a.o=!1;a.m++;var d=b&a.f,e=bc(a,b);eb||d!=a.f?e.m(d,c&65535,b):(e.l(d,c&255,b),bc(a,b+1).l(0,c>>8&255,b+1));a.m--}
function Xb(a){for(var b=0,c=[],d=0;d<a.s;d++){var e=a.a[d];if(e.xa||e.ad){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;l[k++]=p-g;l[k++]=m;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function dc(a){for(var b=ec,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.Ra+e.wb)}return c}
function gc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var p=b&hc;if(void 0!==a.Ga[p])return v("I/O address already registered: "+Aa(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Ga[p]=[d,e,f,g,t,k||16,!1]}return!0}
function lb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.pa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var t=g[4],x=g[5]||1,w=0;w<x;w++,f+=2)if(t&&1<x&&(t=g[4]+w),!gc(a,f,f,k,l,m,p,g[7]||b.Rc,t||b.Ka))return!1}}return!0}
function nb(a,b){a.G.push(b)}function K(a,b,c){a.o=!0;a.m||(c&&(a.c.G|=c),L(a.c,4,0,b))}function ic(a){var b=a.o;a.o=!1;return b}function Yb(a,b,c){v("Memory block error ("+a+": "+Aa(b)+","+Aa(c)+")");return!1}var Ob=8192,hc=Ob-1,Zb=1,ac=2;function Pb(a,b){var c=-1,d=this.controller,e=d.Ga[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ga[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;K(d,b,16);return 255}
function Qb(a,b,c){var d=!1,e=this.controller,f=e.Ga[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ga[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||K(e,c,16)}function Rb(a,b){var c=-1,d=this.controller;a=d.Ga[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;K(d,b,16);return 65535}
function Sb(a,b,c){var d=!1,e=this.controller;a=e.Ga[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||K(e,c,16)}function M(a){r.call(this,"Device",a,0,256);this.a={za:128,fc:-1}}n(M,r);h=M.prototype;h.ea=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.fc=jc(c,function(){e.a.za|=128;e.a.za&64&&N(e.c,e.a.Ia);e.A&&Fb(e.A,1);kc(e.c,e.a.fc,1E3/60)});this.a.Ia=lc(c,64,6,524288);lb(b,this,mc);nb(b,this.reset.bind(this));D(this)};
h.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){this.a.za=128;kc(this.c,this.a.fc,1E3/60,!0)};h.save=function(){var a=new H(this);a.set(0,[this.a.za]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.za=a.next().value;return!0};h.Ad=function(){return this.a.za};h.Me=function(a){this.a.za=a&192;this.a.za&64||(a=this.a.Ia)&&nc(this.c,a)};h.Cd=function(){return oc(this.c)};
h.Oe=function(a){pc(this.c,a&-129|this.c.K&128)};h.Dd=function(){return qc(this.c)};h.Ed=function(){return rc(this.c)};h.Fd=function(){return this.c.qa};h.Pe=function(a){sc(this.c,a)};h.me=function(a){a=a>>1&63;var b=this.c.Fa[a>>1];return a&1?b>>16:b&65535};h.yf=function(a,b){b=b>>1&63;var c=b>>1;this.c.Fa[c]=b&1?this.c.Fa[c]&65535|(a&63)<<16:this.c.Fa[c]&-65536|a&65534};h.fe=function(a){return this.c.s[1][a>>1&7]};h.rf=function(a,b){this.c.s[1][b>>1&7]=a&65295};
h.de=function(a){return this.c.s[1][(a>>1&7)+8]};h.pf=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.ee=function(a){return this.c.H[1][a>>1&7]};h.qf=function(a,b){b=b>>1&7;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.ce=function(a){return this.c.H[1][(a>>1&7)+8]};h.nf=function(a,b){b=(b>>1&7)+8;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.zd=function(a){return this.c.s[0][a>>1&7]};h.Le=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.xd=function(a){return this.c.s[0][(a>>1&7)+8]};
h.Je=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.yd=function(a){return this.c.H[0][a>>1&7]};h.Ke=function(a,b){b=b>>1&7;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.wd=function(a){return this.c.H[0][(a>>1&7)+8]};h.Ie=function(a,b){b=(b>>1&7)+8;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.le=function(a){return this.c.s[3][a>>1&7]};h.xf=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.je=function(a){return this.c.s[3][(a>>1&7)+8]};h.vf=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295};
h.ke=function(a){return this.c.H[3][a>>1&7]};h.wf=function(a,b){b=b>>1&7;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.ie=function(a){return this.c.H[3][(a>>1&7)+8]};h.uf=function(a,b){b=(b>>1&7)+8;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.gb=function(a){a&=7;return this.c.i&2048?this.c.ra[a]:this.c.b[a]};h.jb=function(a,b){b&=7;this.c.i&2048?this.c.ra[b]=a:this.c.b[b]=a};h.Kd=function(){return this.c.i&49152?this.c.ja[0]:this.c.b[6]};h.Ue=function(a){this.c.i&49152?this.c.ja[0]=a:this.c.b[6]=a};
h.Nd=function(){return this.c.b[7]};h.Xe=function(a){this.c.b[7]=a};h.hb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ra[a]};h.kb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ra[b]=a};h.Ld=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.ja[1]};h.Ve=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ja[1]=a};h.Md=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.ja[3]};h.We=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ja[3]=a};
h.vd=function(a){return this.c.ub[a-65504>>1]};h.He=function(a,b){this.c.ub[b-65504>>1]=a};h.Ac=function(a){return 65520==a?(dc(this.v)>>6)-1:0};h.Dc=function(){};h.he=function(){return 1};h.tf=function(){};h.ud=function(){return this.c.G};h.Ge=function(){this.c.G=0};h.Bd=function(){return this.c.rb};h.Ne=function(a,b){b&1||(a&=255);this.c.rb=a};h.Gd=function(a,b){return b?0:this.c.Qa};h.Qe=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.Qa=a};
h.ge=function(a,b){return b?0:this.c.Ea&65280};h.sf=function(a){this.c.Ea=a|255};h.Jd=function(){return tc(this.c)};h.Te=function(a){uc(this.c,a)};h.Cc=function(){};
var O={},mc=(O[61568]=[null,null,M.prototype.me,M.prototype.yf,"UNIMAP",64,1170],O[62592]=[null,null,M.prototype.fe,M.prototype.rf,"SIPDR",8,1145,64],O[62608]=[null,null,M.prototype.de,M.prototype.pf,"SDPDR",8,1145,64],O[62624]=[null,null,M.prototype.ee,M.prototype.qf,"SIPAR",8,1145,64],O[62640]=[null,null,M.prototype.ce,M.prototype.nf,"SDPAR",8,1145,64],O[62656]=[null,null,M.prototype.zd,M.prototype.Le,"KIPDR",8,1140,64],O[62672]=[null,null,M.prototype.xd,M.prototype.Je,"KDPDR",8,1145,64],O[62688]=
[null,null,M.prototype.yd,M.prototype.Ke,"KIPAR",8,1140,64],O[62704]=[null,null,M.prototype.wd,M.prototype.Ie,"KDPAR",8,1145,64],O[62798]=[null,null,M.prototype.Fd,M.prototype.Pe,"MMR3",1,1145,64],O[65382]=[null,null,M.prototype.Ad,M.prototype.Me,"LKS"],O[65402]=[null,null,M.prototype.Cd,M.prototype.Oe,"MMR0",1,1140,64],O[65404]=[null,null,M.prototype.Dd,M.prototype.Cc,"MMR1",1,1145,64],O[65406]=[null,null,M.prototype.Ed,M.prototype.Cc,"MMR2",1,1140,64],O[65408]=[null,null,M.prototype.le,M.prototype.xf,
"UIPDR",8,1140,64],O[65424]=[null,null,M.prototype.je,M.prototype.vf,"UDPDR",8,1145,64],O[65440]=[null,null,M.prototype.ke,M.prototype.wf,"UIPAR",8,1140,64],O[65456]=[null,null,M.prototype.ie,M.prototype.uf,"UDPAR",8,1145,64],O[65472]=[null,null,M.prototype.gb,M.prototype.jb,"R0SET0"],O[65473]=[null,null,M.prototype.gb,M.prototype.jb,"R1SET0"],O[65474]=[null,null,M.prototype.gb,M.prototype.jb,"R2SET0"],O[65475]=[null,null,M.prototype.gb,M.prototype.jb,"R3SET0"],O[65476]=[null,null,M.prototype.gb,
M.prototype.jb,"R4SET0"],O[65477]=[null,null,M.prototype.gb,M.prototype.jb,"R5SET0"],O[65478]=[null,null,M.prototype.Kd,M.prototype.Ue,"R6KERNEL"],O[65479]=[null,null,M.prototype.Nd,M.prototype.Xe,"R7KERNEL"],O[65480]=[null,null,M.prototype.hb,M.prototype.kb,"R0SET1",1,1145],O[65481]=[null,null,M.prototype.hb,M.prototype.kb,"R1SET1",1,1145],O[65482]=[null,null,M.prototype.hb,M.prototype.kb,"R2SET1",1,1145],O[65483]=[null,null,M.prototype.hb,M.prototype.kb,"R3SET1",1,1145],O[65484]=[null,null,M.prototype.hb,
M.prototype.kb,"R4SET1",1,1145],O[65485]=[null,null,M.prototype.hb,M.prototype.kb,"R5SET1",1,1145],O[65486]=[null,null,M.prototype.Ld,M.prototype.Ve,"R6SUPER",1,1145],O[65487]=[null,null,M.prototype.Md,M.prototype.We,"R6USER",1,1145],O[65504]=[null,null,M.prototype.vd,M.prototype.He,"CTRL",8,1170],O[65520]=[null,null,M.prototype.Ac,M.prototype.Dc,"LSIZE",1,1170],O[65522]=[null,null,M.prototype.Ac,M.prototype.Dc,"HSIZE",1,1170],O[65524]=[null,null,M.prototype.he,M.prototype.tf,"SYSID",1,1170],O[65526]=
[null,null,M.prototype.ud,M.prototype.Ge,"ERR",1,1170],O[65528]=[null,null,M.prototype.Bd,M.prototype.Ne,"MBR",1,1170],O[65530]=[null,null,M.prototype.Gd,M.prototype.Qe,"PIR"],O[65532]=[null,null,M.prototype.ge,M.prototype.sf,"SLR"],O[65534]=[null,null,M.prototype.Jd,M.prototype.Te,"PSW"],O);
Ua(function(){for(var a=C(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new M(c);A(c,d);break;case "pc11":c=new vc(c);A(c,d);break;case "rl11":c=new P(c);A(c,d);break;case "rk11":c=new Q(c),A(c,d)}}});
function J(a,b,c,d,e,f){this.b=a;this.id=wc+=2;this.c=null;this.Ra=b;this.wb=c;this.size=d||0;this.type=e||xc;this.A=e==yc;this.controller=null;this.fb=this.i=this.cc;this.W=this.D=this.dc;this.ib=this.l=this.yb;this.lb=this.m=this.gc;this.g=this.h=0;Tb(this);this.xa=this.ad=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],zc(this,f.Vc);else if(bb)this.f=new ArrayBuffer(this.size),this.v=new DataView(this.f,0,this.size),this.a=new Uint8Array(this.f,0,this.size),this.o=new Uint16Array(this.f,
0,this.size>>1),this.c=new Int32Array(this.f,0,this.size>>2),zc(this,Bc?Cc:Dc);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;zc(this,Ec)}else zc(this)}h=J.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(bb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.v.getInt32(b<<2,!0);else a=this.c;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(bb)for(b=0;b<a.length;b++)this.v.setInt32(b<<2,a[b],!0);else this.c=a;return this.xa=!0}return!1};function zc(a,b){b||(b=Fc);Gc(a,b,void 0);Hc(a,b,void 0)}function Gc(a,b,c){c&&a.g||(a.fb=b[0]||a.cc,a.W=b[2]||a.dc);if(c||void 0===c)a.i=b[0]||a.cc,a.D=b[2]||a.dc}function Hc(a,b,c){c&&a.h||(a.ib=!a.A&&b[1]||a.yb,a.lb=!a.A&&b[3]||a.gc);if(c||void 0===c)a.l=b[1]||a.yb,a.m=b[3]||a.gc}
function Tb(a,b){a.g=a.h=0;b&&((a.g=b.g)&&Gc(a,Ic,!1),(a.h=b.h)&&Hc(a,Ic,!1))}h.cc=function(a,b){K(this.b,b,32);return 255};h.yb=function(a,b,c){K(this.b,c,32)};h.dc=function(a,b){return this.fb(a++,b++)|this.fb(a,b)<<8};h.gc=function(a,b,c){this.ib(a++,b&255,c++);this.ib(a,b>>8,c)};h.sd=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.re=function(a,b){db&&a&1&&K(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8};
h.Ee=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.xa=!0};h.Cf=function(a,b,c){db&&a&1&&K(this.b,c,64);c=a>>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<<a)|b<<a:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.xa=!0};h.qd=function(a,b){return this.i(a,b)};h.oe=function(a,b){return this.D(a,b)};h.Ce=function(a,b,c){this.A?this.yb(0,0,c):this.l(a,b,c)};h.Af=function(a,b,c){this.A?this.yb(0,0,c):this.m(a,b,c)};h.pd=function(a){return this.a[a]};
h.rd=function(a){return this.a[a]};h.ne=function(a,b){db&&a&1&&K(this.b,b,64);return this.v.getUint16(a,!0)};h.qe=function(a,b){db&&a&1&&K(this.b,b,64);return!eb&&a&1?this.a[a]|this.a[a+1]<<8:this.o[a>>1]};h.Be=function(a,b){this.a[a]=b;this.xa=!0};h.De=function(a,b){this.a[a]=b;this.xa=!0};h.zf=function(a,b,c){db&&a&1&&K(this.b,c,64);this.v.setUint16(a,b,!0);this.xa=!0};h.Bf=function(a,b,c){db&&a&1&&K(this.b,c,64);!eb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.o[a>>1]=b;this.xa=!0};
var xc=0,ec=1,yc=2,Vb=4,$b=["NONE","RAM","ROM","VID","H/W"],wc=0,Fc=[],Ec=[J.prototype.sd,J.prototype.Ee,J.prototype.re,J.prototype.Cf],Ic=[J.prototype.qd,J.prototype.Ce,J.prototype.oe,J.prototype.Af];if(bb)var Dc=[J.prototype.pd,J.prototype.Be,J.prototype.ne,J.prototype.zf],Cc=[J.prototype.rd,J.prototype.De,J.prototype.qe,J.prototype.Bf];var Jc;if(bb){var Kc=new ArrayBuffer(2);(new DataView(Kc)).setUint16(0,256,!0);Jc=256===(new Uint16Array(Kc))[0]}else Jc=!1;var Bc=Jc;
function Lc(a,b){r.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.hc=0;this.Nb=b;this.Pa=c;this.Vb=Math.round(this.Nb/1E4)/100;this.Xa=this.Vb*this.Pa;this.Wb=this.qb=this.$a=this.Ob=0;this.j.N=this.j.ec=!1;this.j.da=a.autoStart;"string"==typeof this.j.da&&(this.j.da="true"==this.j.da);this.j.Bb=!1;this.Lb=this.Za=0;this.Mb=+a.csStart;this.ob=+a.csInterval;this.pb=+a.csStop;this.Y=[];this.qc=this.ve.bind(this);this.Da=this.va=this.Ca=this.a=this.aa=this.ua=this.nb=this.Ba=this.ab=
this.Xb=this.Ma=0;this.ma=null;D(this)}n(Lc,r);h=Lc.prototype;h.ea=function(a,b,c,d){this.A=a;this.v=b;this.D=d;this.ma=a.f;for(a=0;a<Mc.length;a++)(b=this.l[Mc[a]])&&this.A.ha(null,Mc[a],b);D(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ga=function(a,b){var c=Nc(this.A,"autoStart");null!=c?this.j.da="true"==c?!0:"false"==c?!1:!!c:null==this.j.da&&(this.j.da=void 0===this.l.run);if(!b){if(a){Oc(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.status("No debugger detected");this.j.da||this.Z("CPU will not be auto-started "+(this.ma?"(click Run to start)":"(type 'go' to start)"))}return!0};h.fa=function(a){return a?this.save():!0};h.da=function(){return this.j.N?!0:this.j.da?(Bb(this),!0):!1};h.xc=function(){return 0};
function Pc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.ob&&(a.ob=-1);void 0===a.pb&&(a.pb=-1);a.j.Bb=0<=a.Mb&&0<a.ob;a.j.Bb&&(a.Lb=0,a.Za=a.Mb-a.Da)}function Eb(a,b){if(a.j.Bb){var c=!1;a.Lb=a.Lb+a.xc()|0;a.Za-=b;0>=a.Za&&(a.Za+=a.ob,c=!0);0<=a.pb&&a.pb<=Qc(a)&&(a.ob=a.pb=-1,Pc(a),I(a),c=!0);c&&a.Z(Qc(a)+" cycles: checksum="+Aa(a.Lb))}}
h.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.S)a=!0;else{var b=null,c,k=y(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.j.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.j.S);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Db?" (waiting for notification)":""))+".");a=!1}a&&(d.j.N?I(d):Bb(d))},!0;case "speed":return this.l[b]=
c,!0;case "setSpeed":return this.l[b]=c,c.onclick=function(){Rc(d,d.Pa<<1,!0)},c.textContent=this.Xa.toFixed(2)+"Mhz",!0}return!1};function Db(a,b,c){a.Da+=b;c&&(a.Ca=a.a=a.aa=0)}function Sc(a,b){var c=1;b&&1<a.Pa&&a.Ma&&(c=a.Ma/a.Vb);a.Wb=Math.round(1E3/Tc);a.qb=Math.floor(a.Nb/Tc*c);b||(a.$a=a.qb);a.Ob=0}function Qc(a){return a.Da+a.va+a.Ca-a.a}function Oc(a){a.Ma=0;a.Xb=0;a.Da=a.va=a.Ca=a.a=a.aa=0;Pc(a);Rc(a,1)}
function Rc(a,b,c){if(void 0!==b){.8>a.Ma/a.Xa&&(b=1);a.Pa=b;b=a.Vb*a.Pa;if(a.Xa!=b){a.Xa=b;b=a.Xa.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.A&&Uc(a.A)}Db(a,a.va);a.va=0;a.ua=ta();a.Ba=0;Sc(a)}function jc(a,b){var c=a.Y.length;a.Y.push([-1,b]);return c}function kc(a,b,c,d){0<=b&&b<a.Y.length&&(d||0>a.Y[b][0])&&(c=a.Nb*a.Pa/1E3*c|0,a.j.N&&(c+=Vc(a)),a.Y[b][0]=c)}function Wc(a){for(var b=[],c=0;c<a.Y.length;c++)b.push(a.Y[c][0]);return b}
function Cb(a,b){for(var c=a.Y.length-1;0<=c;c--){var d=a.Y[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Vc(a,b){var c=a.Ca-=a.a;a.a=a.aa=0;b&&(a.Ca=0);return c}
h.ve=function(){if(this.j.N){this.Ob>=this.Nb&&Sc(this,!0);this.ab=0;this.nb=ta();if(this.Ba){var a=this.nb-this.Ba;a>this.Wb&&(this.ua+=a,this.ua>this.nb&&(this.ua=this.nb))}try{do{for(var b,c=this.j.Bb?1:this.qb,d=this.Y.length-1;0<=d;d--){var e=this.Y[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Sb(b)}catch(f){if("number"!=typeof f)throw f;}b=Vc(this,!0);this.ab+=b;this.va+=b;Eb(this,b);Cb(this,b);this.$a-=b;if(0>=this.$a){this.$a+=this.qb;++this.Xb>=Xc&&(this.A&&Fb(this.A,void 0),this.Xb=0);break}}while(this.j.N)}catch(f){I(this);
this.A&&this.A.stop(ta(),Qc(this));a=f.stack||f.message;this.j.error=!0;this.B(a);return}if(this.j.N){a=setTimeout;b=this.qc;this.Ba=ta();c=this.Wb;this.ab&&(c=Math.round(c*this.ab/this.qb));c-=this.Ba-this.nb;if(d=this.Ba-this.ua)this.Ma=Math.round(this.va/(10*d))/100,864E5<=d&&(this.Da=0,Rc(this));if(0>c||this.Ma<this.Xa)-1E3>c&&(this.ua-=c),c=0;this.Ob+=this.ab;this.Ba+=c;a(b,c)}}};
function Bb(a){var b;a.j.error?(a.Z(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.N)a.Z(a.toString()+" busy");else{Rc(a);a.j.N=!0;a.j.ec=!0;if(b=a.l.run)b.textContent="Halt";a.A&&a.A.start(a.ua,Qc(a));a.D||a.status("Started");setTimeout(a.qc,0)}}h.Sb=function(){return 0};function I(a){var b=!1;if(a.j.N){Vc(a);Db(a,a.va);a.va=0;a.j.N=!1;if(b=a.l.run)b.textContent="Run";a.A&&a.A.stop(ta(),Qc(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}var Tc=30,Xc=15,Mc=["power","reset"];
function Yc(a){var b=+a.model||1170;Lc.call(this,a,6666667);this.pa=b;this.nc=+a.addrReset||0;this.wa=this.i=this.C=this.u=this.m=this.o=this.w=0;this.b=this.ra=this.ja=[];this.H=this.s=this.Fa=this.ub=[];this.Aa=this.F=this.mc=this.Ya=this.Na=this.Oa=this.Va=this.G=this.rb=this.Qa=this.Ea=this.K=this.sb=this.tb=this.qa=this.g=0;this.Sc=[4,2,0,1];this.Pb=0;this.pc=255;1120>=this.pa?(this.lc=Zc.bind(this),this.Wa=this.Zc,this.Pb=8,this.pc=-1,this.sc=255,this.rc=0):(this.lc=$c.bind(this),this.Wa=this.$c,
this.sc=~(1792|(1140>=this.pa?2048:0))&65535,this.rc=1140<this.pa?2048:0);this.Zb=this.Yb=this.cb=0;this.I=null;this.mb=[];this.Fb=this.ic=this.bd;this.Gb=this.Qb=this.dd;this.Rb=this.Tb=this.ye;this.Hb=this.Ub=this.Ae;this.ta=this.Eb=0;this.oa=this.yc;this.W=this.Bc;this.lb=this.Ec;this.h=this.f=this.Kb=this.L=this.T=0;this.j.complete=!1}n(Yc,Lc);h=Yc.prototype;h.ea=function(a,b,c,d){Lc.prototype.ea.call(this,a,b,c,d);this.ic=b.Fc.bind(b);this.Qb=b.zb.bind(b);this.Tb=b.Gc.bind(b);this.Ub=b.Ab.bind(b)};
h.ga=function(a,b){for(var c=192,d=0;d<this.mb.length;d++){var e=this.mb[d];0>e.xb&&(e.xb=c,c+=4)}return Lc.prototype.ga.call(this,a,b)};
h.reset=function(){this.status("Model "+this.pa);this.j.N&&I(this);this.u=65536;this.m=32768;this.o=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.nc,-1,-2,-3,-4,-5,-6,-7,-8];this.ra=[0,0,0,0,0,0];this.ja=[0,0,0,0];this.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.s=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ub=[0,0,0,0,0,0,0,0];this.C=0;this.wa=-1;this.h=this.f=this.Kb=this.L=this.T=this.g=this.rb=0;zb(this);Oc(this);this.j.error=!1;Lc.prototype.reset.call(this)};function zb(a){a.K=0;a.sb=0;a.tb=0;a.qa=0;a.G=0;a.Qa=0;a.Ea=255;a.Ya=0;a.Na=0;a.Oa=0;a.Va=262143;a.Aa=a.b[7];a.F=0;a.I=null;a.v&&(ad(a),a.mc=dc(a.v))}
function ad(a){a.Fb=a.ic;a.Gb=a.Qb;a.Rb=a.Tb;a.Hb=a.Ub;a.Ya?(a.ta=65536,a.Eb=a.qa&16?4186112:253952,a.oa=a.yc,a.W=a.Bc,a.lb=a.Ec,Wb(a.v,a.qa&16?22:18)):(a.ta=0,a.Eb=57344,a.oa=a.cd,a.W=a.pe,a.lb=a.Df,Wb(a.v,16))}function oc(a){var b=a.K;b&57344||(b=b&-3199|a.Na<<5|a.Oa<<1);return b}function pc(a,b){b&=-3073;if(a.K!=b){b&57344&&!(a.K&57344)&&(a.sb=a.F>>16&65535,a.tb=a.F&65535);a.K=b;a.Na=(b&96)>>5;a.Oa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ya!=c&&(a.Ya=c,ad(a))}}
function qc(a){a.K&57344||(a.sb=a.F>>16&65535);a=a.sb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function rc(a){a.K&57344||(a.tb=a.F&65535);return a.tb}function sc(a,b){1170>a.pa&&(b&=-49);a.qa!=b&&(a.qa=b,a.Va=b&16?4194303:262143,ad(a))}function bd(a,b,c){a.nc=b;R(a,b);uc(a,0);a.v.reset();zb(a);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.j.N||Bb(a)}else a.D&&a.j.S?I(a)||(a.D.g(),Fb(a.A,-1)):!1===c&&I(a);!a.j.N&&a.ma&&a.ma.stop()}h.xc=function(){return 0};
h.save=function(){var a=new H(this);a.set(0,[this.b,this.ra,this.ja,this.H,this.s,this.Fa,this.ub,this.G,this.rb,this.Qa,this.Ea,this.Na,this.Oa,this.Aa,this.g,this.F,this.wa,this.Yb,this.Zb]);a.set(1,[tc(this),oc(this),qc(this),rc(this),this.qa]);a.set(2,[this.Da,this.Pa,this.j.da]);a.set(3,cd(this));a.set(4,Wc(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ra=b.next().value;this.ja=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Fa=b.next().value;this.ub=b.next().value;this.G=b.next().value;this.rb=b.next().value;this.Qa=b.next().value;this.Ea=b.next().value;this.Na=b.next().value;this.Oa=b.next().value;this.Aa=b.next().value;this.g=b.next().value;this.F=b.next().value;this.wa=b.next().value;this.Yb=b.next().value;this.Zb=b.next().value;b=a[1];uc(this,b[0]);pc(this,b[1]);
this.sb=b[2];this.tb=b[3];sc(this,b[4]);b=a[2];this.Da=b[0];Rc(this,b[1]);this.j.da=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.mb.length;d++){var e=this.mb[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.I,this.I=d)}a=a[4];for(b=0;b<this.Y.length&&b<a.length;b++)this.Y[b][0]=a[b];return!0};function dd(a){return a.u&65536?1:0}function ed(a){return a.w&32768?8:0}function fd(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}
function S(a,b,c){c&&(R(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function R(a,b){a.b[7]=b&65535}function lc(a,b,c,d){b={xb:b,eb:c,message:d||0,name:fb[b],next:null};a.mb.push(b);return b}function nc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.g|=1)}function N(a,b){if(b){if(b!=a.I){var c=a.I;if(!c||c.eb<=b.eb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.eb<=b.eb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}
function cd(a){var b=[];for(a=a.I;a;)b.push(a.xb),a=a.next;return b}function gd(a){return a.g&64?(L(a,168,64,-6),!0):a.g&32?(L(a,4,32,-5),!0):a.g&16?(L(a,12,16,-7),!0):!1}function tc(a){return a.i=a.i&63728|ed(a)|(a.o&65535?0:4)|(a.m&32768?2:0)|dd(a)}function uc(a,b){b&=a.sc;a.w=b<<12;a.o=~b&4;a.m=b<<14;a.u=b<<16;if((b^a.i)&a.rc)for(var c=a.ra.length;0<=--c;){var d=a.b[c];a.b[c]=a.ra[c];a.ra[c]=d}a.C=b>>14&3;c=a.i>>14&3;a.C!=c&&(a.ja[c]=a.b[6],a.b[6]=a.ja[a.C]);a.i=b;a.g&=-3;a.g|=a.I?2:1}
h.ia=function(a){this.w=this.o=a;this.m=0};h.Ja=function(a,b){this.w=this.o=this.u=a;this.m=b||0};function hd(a,b){a.w=a.o=a.u=b;a.m=a.w^a.u>>1}function id(a,b,c,d){a.w=a.o=a.u=b;a.m=(c^d)&(d^b)}
function L(a,b,c,d){if(!a.cb){0>a.wa?a.wa=tc(a):a.C||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.G|=4,a.b[6]=b=4);if(-1!=d){a.F=b|4143316992;a.C=0;var e=a.W(b|a.ta),f=a.W(b+2&65535|a.ta);uc(a,f&-12289|a.wa>>2&12288);jd(a,a.wa);jd(a,a.b[7]);R(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.wa=-1;a.Yb=d;a.Zb=b;-1==d&&I(a);if(-4<=d)throw b;}}function kd(a){var b=ld(a),c=ld(a);a.i&49152&&(c=c&-225|a.i&63712);R(a,b);uc(a,c);a.g&=-17}
function md(a,b){var c=b>>13&31;31>c&&(b=a.qa&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b}
function Ib(a,b,c){var d,e,f;if(!(c&a.Ya))return f=b&65535,57344<=f&&(f|=a.Eb),f;d=b>>13;a.qa&a.Sc[a.C]||(d&=7);e=a.s[a.C][d];f=(a.H[a.C][d]<<6)+(b&8191)&a.Va;3932160<=f&&(f=md(a,f));if(a.cb)return f;f>=a.mc&&f<a.Eb?(a.G|=32,L(a,4,0,f)):f&1&&!(c&1)&&(a.G|=64,L(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.s[a.C][d]=e;if(f!=(4194170&a.Va)||a.C)a.Na=a.C,a.Oa=d;g&&(g&57344&&(0<=a.wa&&(g|=128),a.K&57344||(g|=a.K&4096|a.Na<<5|a.Oa<<1,pc(a,a.K&-61695|g&61694)),L(a,168,64,-2)),a.K&61440||!(f<(4191360&a.Va)||f>(4194239&a.Va))||(a.K|=4096,a.K&512&&(a.g|=64)));return f}function ld(a){var b=a.W(a.b[6]|a.ta);a.b[6]=a.b[6]+2&65535;return b}function jd(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.F=a.F&65535|(a.F&-65536)<<8|16121856;a.g&256||a.Wa(4,-2,c);a.lb(c,b)}
function nd(a,b,c,d){var e,f,g=d&8?0:a.ta;switch(b){case 0:return L(a,4,0,-3),0;case 1:return 6==c&&a.Wa(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.Wa(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.Wa(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(fd(a,2)),e=e+a.b[c]&65535,6==c&&a.Wa(d,0,
e),a.a-=6,e|g;case 7:return e=a.W(fd(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.ta),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.F=a.F&65535|(a.F&-65536)<<8|(f<<3&248|c)<<16;return e}h.Zc=function(a,b,c){!this.C&&0>=b&&c<=this.Ea&&(this.g|=32)};h.$c=function(a,b,c){this.C||(65534<=c&&(c|=-65536),a&4&&c<=this.Ea&&(c<=this.Ea-32?L(this,4,0,-4):(this.G|=8,this.g|=32)))};h.bd=function(a){return this.ic(a)};h.dd=function(a){return this.Qb(a)};h.ye=function(a,b){this.Tb(a,b)};h.Ae=function(a,b){this.Ub(a,b)};
h.cd=function(a,b,c){return nd(this,a,b,c)};h.yc=function(a,b,c){return Ib(this,nd(this,a,b,c),c)};h.pe=function(a){return this.v.zb(this.Aa=a)};h.Bc=function(a){return this.v.zb(this.Aa=Ib(this,a,2))};h.Df=function(a,b){this.v.Ab(this.Aa=a,b)};h.Ec=function(a,b){this.v.Ab(this.Aa=Ib(this,a,4),b)};
function od(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=nd(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.C=a.i>>12&3,c=a.W(d|c&a.ta),a.C=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ja[a.i>>12&3];return c}function pd(a,b,c,d){a.F=a.F&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=nd(a,b,e,4),c&65536||(e&=65535),a.C=a.i>>12&3,e=Ib(a,e|c&65536,4),a.C=a.i>>14&3,a.Hb(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ja[a.i>>12&3]=d}
function qd(a,b){b>>=6;var c=a.T=b&7;return(b=a.L=(b&56)>>3)?a.Fb(a.oa(b,c,3)):a.b[c+a.Pb]&a.pc}function rd(a,b){var c;b>>=6;var d=a.T=b&7;(b=a.L=(b&56)>>3)?c=a.Gb(a.oa(b,d,2)):c=a.b[d+a.Pb];return c}function sd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return nd(a,b,c,8)}function td(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.Fb(a.oa(b,c,3)):a.b[c]&255}function ud(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.Gb(a.oa(b,d,2)):c=a.b[d];return c}
function T(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.Kb=a.oa(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Rb(e,d.call(a,c,a.Fb(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function U(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.oa(b,e,6),a.Hb(e,d.call(a,0>c?a.b[-c-1]:c,a.Gb(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function vd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.oa(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.Rb(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function wd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.oa(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.Hb(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
h.Sb=function(a){this.j.complete=!0;var b=a?this.j.ec?0:1:-1;this.j.ec=!1;this.Ca=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.Qa&224)>>5,e=this.I&&this.I.eb>d?this.I:null;e&&(c=e.xb,d=e.eb);d>(this.i&224)>>5?(this.g&8&&(fd(this,2),this.g&=-9),L(this,c,0,-10),d=!0):d=!1;d&&(e&&nc(this,e),a=!0);this.I||this.Qa||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){I(this);break}if(0>b)break}if(this.g&112&&gd(this)){if(this.g&
4&&this.D.b(this.b[7],b)){I(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.F=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.lc(e)}while(0<this.a);return this.j.complete?this.Ca-this.a:!1===this.j.complete?-1:0};Ua(function(){for(var a=C(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Yc(d);A(d,c)}});function xd(a,b){var c=b+a;this.w=this.o=this.u=c;this.m=(a^c)&(b^c);return c&65535}
function yd(a,b){var c=b+a,d=c<<8;this.w=this.o=this.u=d;this.m=(a<<8^d)&(b<<8^d);return c&255}function zd(a,b){a=b<<1;hd(this,a);return a&65535}function Ad(a,b){a=b<<1;hd(this,a<<8);return a&255}function Bd(a,b){a=b&32768|b>>1|b<<16;hd(this,a);return a&65535}function Cd(a,b){a=b&128|b>>1|b<<8;hd(this,a<<8);return a&255}function Dd(a,b){a=b&~a;this.ia(a);return a}function Ed(a,b){a=b&~a;this.ia(a<<8);return a}function Fd(a,b){a|=b;this.ia(a);return a}function Gd(a,b){a|=b;this.ia(a<<8);return a}
function Hd(a,b){a=~b|65536;this.Ja(a);return a&65535}function Id(a,b){a=~b|256;this.Ja(a<<8);return a&255}function Jd(a,b){this.w=this.o=a=b-a;this.m=b&(b^a);return a&65535}function Kd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.o=c;this.m=b&(b^c);return a&255}function Ld(a,b){this.w=this.o=a=b+a;this.m=a&(b^a);return a&65535}function Md(a,b){a=b+a;var c=a<<8;this.w=this.o=c;this.m=c&(b<<8^c);return a&255}function Nd(a,b){a=-b;this.Ja(a,a&b&32768);return a&65535}
function Od(a,b){a=-b;this.Ja(a<<8,(a&b&128)<<8);return a&255}function Pd(a,b){a=b<<1|this.u>>16&1;hd(this,a);return a&65535}function Qd(a,b){a=b<<1|this.u>>16&1;hd(this,a<<8);return a&255}function Rd(a,b){a=(this.u&65536|b)>>1|b<<16;hd(this,a);return a&65535}function Sd(a,b){a=((this.u&65536)>>8|b)>>1|b<<8;hd(this,a<<8);return a&255}function Td(a,b){var c=b-a;id(this,c,a,b);return c&65535}function Ud(a,b){var c=b-a;id(this,c<<8,a<<8,b<<8);return c&255}
function Vd(a,b){this.w=this.o=b&65280;this.m=this.u=0;return(b<<8|b>>8)&65535}function Wd(a,b){a^=b;this.ia(a);return a&65535}function Xd(a){U(this,a,rd(this,a),xd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}
function Yd(a){var b=ud(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.u=this.m=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.u=c<<17-b,c>>=b;else if(b)if(16<b)this.m=c,c=0;else{this.u=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.m=32768)}this.b[a]=c&65535;this.w=this.o=c;this.a-=(this.h?6:7)+b}
function Zd(a){var b=ud(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.m=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.u=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.u=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.m=32768)):d=c;this.b[a]=d>>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.o=d>>16|d;this.a-=(this.h?6:7)+b}function $d(a){S(this,a,!dd(this))}function ae(a){S(this,a,dd(this))}
function be(a){U(this,a,rd(this,a),Dd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function ce(a){T(this,a,qd(this,a),Ed);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function de(a){U(this,a,rd(this,a),Fd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function ee(a){T(this,a,qd(this,a),Gd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}
function fe(a){var b=rd(this,a);a=ud(this,a);this.ia((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function ge(a){var b=qd(this,a);a=td(this,a);this.ia(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function he(a){S(this,a,this.o&65535?0:4)}function ie(a){S(this,a,!ed(this)==!(this.m&32768))}function je(a){S(this,a,!!(this.o&65535)&&!ed(this)==!(this.m&32768))}
function ke(a){S(this,a,!dd(this)&&!!(this.o&65535))}function le(a){S(this,a,(this.o&65535?0:4)||!ed(this)!=!(this.m&32768))}function me(a){S(this,a,dd(this)||(this.o&65535?0:4))}function ne(a){S(this,a,!ed(this)!=!(this.m&32768))}function oe(a){S(this,a,ed(this))}function pe(a){S(this,a,!!(this.o&65535))}function qe(a){S(this,a,!ed(this))}function re(){L(this,12,0,-9)}function se(a){S(this,a,!0)}function te(a){S(this,a,!(this.m&32768))}function ue(a){S(this,a,this.m&32768?2:0)}
function V(a){a&1&&(this.u=0);a&2&&(this.m=0);a&4&&(this.o=1);a&8&&(this.w=0);this.a-=5}function ve(a){var b=rd(this,a);a=ud(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;id(this,c,a,b);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function we(a){var b=qd(this,a);a=td(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);id(this,c,a,b);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}
function xe(a){var b=ud(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.m=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.o=d>>16|d,this.w=d>>16):(this.m=32768,this.o=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.o=this.w=0,this.m=32768,this.u=65536,this.a-=7}function ye(){L(this,24,0,-9);this.a-=20}
function ze(){this.i&49152?(this.G|=128,L(this,4,0,-8)):(this.ma&&1120==this.pa&&this.ma.setData(this.b[0],!0),this.D?this.D.i():I(this));this.a-=7}function Ae(){L(this,16,0,-9);this.a-=20}var Be=[0,7,7,10,7,11,9,13];function Ce(a){this.aa=this.a;R(this,sd(this,a));this.a=this.aa-Be[this.h]}var De=[0,14,14,17,14,18,16,20];function Ee(a){this.aa=this.a;var b=sd(this,a);a=a>>6&7;jd(this,this.b[a]);this.b[a]=this.b[7];R(this,b);this.a=this.aa-De[this.h]}
var Fe=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ge(a){var b=rd(this,a);this.aa=this.a;wd(this,a,b,this.ia);this.a=this.aa-Fe[(this.L?8:0)+this.h]+(7!=this.f||this.h?0:2)}function He(a){var b=qd(this,a);vd(this,a,b,65535,this.ia);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}var Ie=[7,13,13,17,14,18,17,21];
function Je(a){var b=ud(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.o=this.w|b;this.m=0;this.u=-32768>b||32767<b?65536:0;this.a-=23}function Ke(){this.a-=5}function Le(){this.i&49152||(this.v.reset(),zb(this),this.ma&&this.ma.setData(this.b[0],!0));this.a-=667}function Me(a){if(a&8)L(this,8,0,-9);else{var b=ld(this);a&=7;7==a?R(this,b):(R(this,this.b[a]),this.b[a]=b);this.a-=9}}function Ne(){kd(this);this.a-=13}
function W(a){a&1&&(this.u=65536);a&2&&(this.m=32768);a&4&&(this.o=0);a&8&&(this.w=32768);this.a-=5}function Oe(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)R(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Pe(a){U(this,a,rd(this,a),Td);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function Qe(a){U(this,a,0,Vd);this.a-=this.h?9:3+(7==this.f?2:0)}function Re(){L(this,28,0,-9)}
function Se(){this.ma&&(this.ma.U=this.b[7],this.ma.setData(this.b[0],!0));this.g|=8;fd(this,-2);this.a-=3}function Te(a){U(this,a,this.b[(a>>6&7)+this.Pb],Wd);this.a-=this.h?9:3+(7==this.f?2:0)}function X(){L(this,8,0,-9)}function Zc(a){Ue[a>>12].call(this,a)}function Ve(a){We[a>>6&3].call(this,a)}function Xe(a){Ye[a>>6&3].call(this,a)}function Ze(a){$e[a>>6&3].call(this,a)}function af(a){bf[a&15].call(this,a)}function cf(a){df[a&15].call(this,a)}function ef(a){ff[a>>6&3].call(this,a)}
function gf(a){hf[a>>6&3].call(this,a)}function jf(a){kf[a>>6&3].call(this,a)}
var Ue=[function(a){lf[a>>8&15].call(this,a)},Ge,ve,fe,be,de,Xd,X,function(a){mf[a>>8&15].call(this,a)},He,we,ge,ce,ee,Pe,X],lf=[function(a){nf[a>>4&15].call(this,a)},se,pe,he,ie,ne,je,le,Ee,Ee,Ve,Xe,Ze,X,X,X],We=[function(a){wd(this,a,0,this.Ja);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Hd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Ld);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Jd);this.a-=this.h?9:3+(7==this.f?2:0)}],Ye=[function(a){U(this,a,0,Nd);
this.a-=this.h?11:6},function(a){U(this,a,dd(this)?1:0,xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,dd(this)?1:0,Td);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=ud(this,a);this.Ja(a);this.a-=this.h?4:3+(7==this.f?2:0)}],$e=[function(a){U(this,a,0,Rd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Pd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Bd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,zd);this.a-=this.h?9:3+(7==this.f?2:0)}],nf=
[function(a){of[a&15].call(this,a)},X,X,X,Ce,Ce,Ce,Ce,Me,X,af,cf,Qe,Qe,Qe,Qe],of=[ze,Se,Ne,re,Ae,Le,X,X,X,X,X,X,X,X,X,X],bf=[Ke,function(){this.u=0;this.a-=5},function(){this.m=0;this.a-=5},V,function(){this.o=1;this.a-=5},V,V,V,function(){this.w=0;this.a-=5},V,V,V,V,V,V,V],df=[Ke,function(){this.u=65536;this.a-=5},function(){this.m=32768;this.a-=5},W,function(){this.o=0;this.a-=5},W,W,W,function(){this.w=32768;this.a-=5},W,W,W,W,W,W,W],mf=[qe,oe,ke,me,te,ue,$d,ae,ye,Re,ef,gf,jf,X,X,X],ff=[function(a){vd(this,
a,0,255,this.Ja);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Id);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Md);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Kd);this.a-=this.h?9:3+(7==this.f?2:0)}],hf=[function(a){T(this,a,0,Od);this.a-=this.h?11:6},function(a){T(this,a,dd(this)?1:0,yd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,dd(this)?1:0,Ud);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=td(this,a);this.Ja(a<<8);this.a-=this.h?4:3+
(7==this.f?2:0)}],kf=[function(a){T(this,a,0,Sd);this.a-=this.h?9+(this.Kb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Qd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Cd);this.a-=this.h?9+(this.Kb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Ad);this.a-=this.h?9:3+(7==this.f?2:0)}];function $c(a){pf[a>>12].call(this,a)}
var pf=[function(a){qf[a>>8&15].call(this,a)},Ge,ve,fe,be,de,Xd,function(a){rf[a>>8&15].call(this,a)},function(a){sf[a>>8&15].call(this,a)},He,we,ge,ce,ee,Pe,X],qf=[function(a){tf[a>>4&15].call(this,a)},se,pe,he,ie,ne,je,le,Ee,Ee,Ve,Xe,Ze,function(a){uf[a>>6&3].call(this,a)},X,X],uf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.ta);R(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=od(this,a,0);this.ia(a);jd(this,a);this.a-=11},function(a){var b=ld(this);this.aa=
this.a;this.ia(b);pd(this,a,0,b);this.a=this.aa-Ie[this.h]},function(a){wd(this,a,ed(this)?65535:0,this.ia);this.a-=this.h?9:3+(7==this.f?2:0)}],tf=[function(a){vf[a&15].call(this,a)},X,X,X,Ce,Ce,Ce,Ce,Me,function(a){!(a&8)||1145>this.pa?L(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},af,cf,Qe,Qe,Qe,Qe],vf=[ze,Se,function(){kd(this);this.g|=this.i&16;this.a-=13},re,Ae,Le,Ne,function(){L(this,8,0,-9)},X,X,X,X,X,X,X,X],rf=[Je,Je,xe,xe,Yd,Yd,Zd,Zd,Te,Te,X,
X,X,X,Oe,Oe],sf=[qe,oe,ke,me,te,ue,$d,ae,ye,Re,ef,gf,jf,function(a){1145>this.pa?L(this,8,0,-9):wf[a>>6&3].call(this,a)},X,X],wf=[function(){L(this,8,0,-9)},function(a){a=od(this,a,65536);this.ia(a);jd(this,a);this.a-=11},function(a){var b=ld(this);this.aa=this.a;this.ia(b);pd(this,a,65536,b);this.a=this.aa-Ie[this.h]},function(){L(this,8,0,-9)}];
function xf(a){r.call(this,"ROM",a,0,128);this.ka=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.m=F(this.g);if(this.g){a=this.g;var b=Ba(this.m);"json"!=b&&"hex"!=b&&(a=Ka()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;G(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(ra(c.La,a,b),(a=Ja(a,b))?(c.b=a.O,c.ka=a.ka):c.g=null);yf(c)})}}n(xf,r);
h=xf.prototype;h.ea=function(a,b,c,d){this.v=b;this.c=c;this.D=d;yf(this)};h.ga=function(){this.ka&&(this.D&&this.D.a(this.id,this.h,this.a,this.ka),delete this.ka);return!0};h.fa=function(){return!0};
function yf(a){if(!xa(a)){if(a.g){if(!a.b||!a.v)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a){var b="ROM size ("+Aa(a.b.length,8,!0)+") does not match specified size ("+Aa(a.a,8,!0)+")";a.j.error=!0;a.B(b)}else{a:{b=a.h;if(57344<=b&&b<57344+Ob){var c={},c=(c[b]=[xf.prototype.be,xf.prototype.mf,null,null,null,a.a>>1],c);if(lb(a.v,a,c)){a.status("Added "+a.a+"-byte ROM at "+za(b));b=a.i=!0;break a}}else if(Ub(a.v,b,a.a,yc)){for(c=0;c<a.b.length;c++)cc(a.v,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];
"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.v,g=d.a,k=[],l=d.h>>>f.h;0<g&&l<f.a.length;)k.push(f.a[l++]),g-=f.g;f=d.v;d=d.a;g=0;for(e>>>=f.h;0<d&&e<f.a.length;){l=k[g++];if(!l)break;f.a[e++]=l;d-=f.g}}a.i||delete a.b}}}D(a)}}h.be=function(a){return this.b[a-this.h]};h.mf=function(){};Ua(function(){for(var a=C(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new xf(d);A(d,c)}});
function zf(a){r.call(this,"RAM",a);this.ka=this.b=null;this.f=+a.addr;this.g=+a.size;this.ca=a.load;this.ba=a.exec;null!=this.ca&&(this.ca=+this.ca);null!=this.ba&&(this.ba=+this.ba);this.h=!1;this.a=a.file;this.i=F(this.a);if(this.a){a=this.a;var b=Ba(this.i);"json"!=b&&"hex"!=b&&(a=Ka()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;G(a,null,!0,function(a,b,f){f?(c.B("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ra(c.La,a,b),(a=Ja(a,b))?(c.b=a.O,c.ka=a.ka,
null==c.ca&&(c.ca=a.ca),null==c.ba&&(c.ba=a.ba)):c.a=null);Af(c)})}}n(zf,r);zf.prototype.ea=function(a,b,c,d){this.v=b;this.c=c;this.D=d;Af(this)};zf.prototype.ga=function(a,b){this.ka&&(this.D&&this.D.a(this.id,this.f,this.g,this.ka),delete this.ka);b||this.reset();return!0};zf.prototype.fa=function(){return!0};
function Af(a){if(a.v&&(!a.h&&a.g&&(Ub(a.v,a.f,a.g,ec)?a.h=!0:a.g=0),!xa(a))){if(!a.h)v("No RAM allocated");else if(a.a){if(!a.b||!a.v)return;Bf(a,a.b,a.ca,a.ba,a.f)?a.status('Loaded image "'+a.i+'"'):a.B('Error loading image "'+a.i+'"')}D(a)}}
zf.prototype.reset=function(){if(this.h){for(var a=this.v,b=this.f,c=this.g,d=b&a.f,b=b>>>a.h;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(bb&&e.a)for(k=d;f--&&k<e.a.length;k++)e.a[k]=g;else for(k=d;f--&&k<e.size;k++)e.l(d,g,e.Ra+d);c-=a.g;b++;d=0}this.b&&Bf(this,this.b,this.ca,this.ba,this.f,!0)}};
function Bf(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(t&255)+(t>>8)),x=l,w=p-=6;0<p&&l<b.length;)m+=b[l++]&255,p--;if(p||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(w)for(;w--;)cc(a.v,t++,b[x++]&255);else t&1?g=!0:null==d&&(d=t);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)cc(a.v,c+e,b[e]);k=!0}if(k){if(null==d||g)I(a.c),f=!1;null!=d&&bd(a.c,d,f)}return k}Ua(function(){for(var a=C(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new zf(d);A(d,c)}});function Cf(a){r.call(this,"Keyboard",a,0,1024);D(this)}n(Cf,r);Cf.prototype.ha=function(){return!1};Cf.prototype.ea=function(a,b,c,d){this.A=a;this.c=c;this.D=d};Ua(function(){for(var a=C(document,B,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Cf(d);A(d,c)}});
function Z(a){r.call(this,"SerialPort",a,0,262144);this.C=+a.adapter;this.K=+a.baudReceive||9600;this.aa=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.h=this.i=null;this.T=+a.tabSize;this.L=+a.charBOL;this.m=0;this.u=!0;this.H=this.F=null;this.I=this.Y=-1;this.o=this.a=this.b=0;this.f=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=Df;b&&(void 0===c&&(c="Panel"),(c=wa(c,this.id))&&(b=c.l[b])&&this.ha(null,a,b))}this.g=this.s=this.G=null;this.exports=
{connect:this.zc,receiveData:this.Ib,receiveStatus:this.ue,setConnection:this.ze}}n(Z,r);h=Z.prototype;
h.ha=function(a,b,c){var d=this;switch(b){case Df:return this.l[b]=this.h=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.kc:q.Kc:46==c?b=q.kc:a.ctrlKey&&c>=q.jc&&c<=q.Uc&&(b=c-(q.jc-q.Hc));b&&(a.preventDefault&&a.preventDefault(),d.Ib(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Jc&&(b=q.Ic);d.Ib(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ib(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;var e=this;this.H=lc(this.c,this.C?-1:48,4,262144);this.I=jc(this.c,function(){var a;a=-1;e.f.length&&(a=e.f.shift()&255,e.w&&97<=a&&122>a&&(a-=32),kc(e.c,e.I,1E3/Math.round(e.K/10)));0<=a&&(e.o=a,e.a&128?e.o|=49152:e.a|=128,e.a&64&&N(c,e.H))});this.F=lc(this.c,this.C?-1:52,4,262144);this.Y=jc(this.c,function(){e.b|=128;e.b&64&&N(c,e.F)});lb(b,this,Ef,this.C?64832+8*(this.C-1)-65392:0);nb(b,this.reset.bind(this));D(this)};
h.zc=function(a){if(!this.g){var b=Nc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Ka)return;c=Ga(c[1]);if(this.g=va(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.u);if(this.s=e.receiveData){this.u=a;this.G=e.receiveStatus;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.ga=function(a,b){if(!b)if(this.zc(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.fa=function(a){return a?this.save():!0};h.reset=function(){Ff(this)};h.save=function(){var a=new H(this);a.set(0,[this.o,this.a,this.b,this.f]);return a.data()};h.restore=function(a){return Ff(this,a[0])};function Ff(a,b){b||(b=[0,8192,128,a.f]);b=ia(b);a.o=b.next().value;a.a=b.next().value;a.b=b.next().value;a.f=b.next().value;return!0}
h.Ib=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);kc(this.c,this.I,1E3/Math.round(this.K/10));return!0};h.ue=function(a){var b=this.a;this.a&=-12289;a&32&&(this.a|=8192);a&256&&(this.a|=4096);b!=this.a&&(this.a|=32768,this.a&32&&N(this.c,this.H))};h.ze=function(a,b){return this.g?!1:(this.g=a,this.s=b,!0)};
h.Pd=function(){var a=this.a&65534;this.a&=-32769;return a};h.Ze=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.G&&b&6&&(b=0,b=this.u?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.G.call(this.g,b))};h.Od=function(){this.a&=-129;return this.o};h.Ye=function(){};h.te=function(){return this.b};h.Ff=function(a){if(this.b&128)if(a&64)N(this.c,this.F);else{var b=this.F;b&&nc(this.c,b)}this.b=this.b&-70|a&69};h.se=function(){return 0};
h.Ef=function(a){a&=255;this.s&&this.s.call(this.g,a);a&=127;if(this.h)if(13==a)this.m=0;else if(8==a)this.h.value=this.h.value.slice(0,-1),0<this.m&&this.m--;else{if(a){var b;13!=a&&10!=a&&(b=Ha[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.m%a,this.T&&(b=" ".slice(0,c)));this.L&&!this.m&&c&&(b=String.fromCharCode(this.L)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.m+=c}}else if(null!=
this.i){if(10==a||1024<=this.i.length)this.Z(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}kc(this.c,this.Y,1E3/Math.round(this.aa/10));this.b&=-129};var Df="buffer",Gf={},Ef=(Gf[65392]=[null,null,Z.prototype.Pd,Z.prototype.Ze,"RCSR"],Gf[65394]=[null,null,Z.prototype.Od,Z.prototype.Ye,"RBUF"],Gf[65396]=[null,null,Z.prototype.te,Z.prototype.Ff,"XCSR"],Gf[65398]=[null,null,Z.prototype.se,Z.prototype.Ef,"XBUF"],Gf);
Ua(function(){for(var a=C(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});function vc(a){r.call(this,"PC11",a);this.C=Hf(this,a.autoMount);this.b=0;this.I=+a.baudReceive||3600;this.m=this.o=this.a=0;this.i=[];this.h=If;this.f=Jf;this.w=this.g="";this.O=this.ca=this.ba=null;this.G=-1;this.F=!Pa("Mobi")&&window&&"FileReader"in window;this.s=null;this.H=-1;this.u=null}n(vc,r);
function Hf(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vc.prototype;
h.ha=function(a,b,c){var d=this,e=Jf;switch(b){case "listTapes":return this.l[b]=c,c.onchange=function(){var a=d.l.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.l[b]=c,!0;case "readTape":e=Kf;case "loadTape":return e||(e=Lf),this.l[b]=c,c.onclick=
function(){var a=d.l.listTapes;a&&Mf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.l[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mf(d,F(b,!0),b,Lf,a)}return!1};return!0;case Nf:return this.l[b]=c,!0}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;this.u=Of(a);var e=this;if(a=Hf(this,Nc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=lc(this.c,56,4,4096);this.H=jc(this.c,function(){1==(e.a&32769)&&!(e.a&128)&&e.m<e.i.length&&(e.o=e.i[e.m++]&255,Pf(e,e.m/e.i.length*100),e.a|=128,e.a&=-2049,e.a&64&&N(e.c,e.s))});lb(b,this,Qf);nb(b,this.reset.bind(this));Rf(this,"None",If,!0);this.F&&Rf(this,"Local Tape",Sf);Rf(this,"Remote Tape",Tf);Uf(this)||D(this)};
h.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.o=0};function Uf(a){a.b=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.l.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=F(c,!0)}c&&b?Vf(a,b,c,Lf,!0):Wf(a)}return!!a.b}
function Mf(a,b,c,d,e){if(c)if(c==Sf)a.B('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Tf){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"');a.h=Tf}else a.h=c;Vf(a,b,c,d,!1,e)}else Xf(a,!1)}function Vf(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,Xf(a,!0),a.j.Sa?a.B("PC11 busy"):(e&&a.b++,Yf(a,b,c,d,f)?g++:a.j.Sa=!0);g&&Zf(a,a.w,a.g,a.f,a.O,a.ca,a.ba)}
function Yf(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Zf(a,b,c,d,e),a.h=Sf);Wf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ba(c),f="json"==e||"gz"==e?encodeURI(c):Ka()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!G(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.j.S;g?a.B('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ra(a.La,e,f),(e=Ja(e,f))&&Zf(a,b,c,d,e.O,e.ca,e.ba));
a.j.Sa=!1;a.b&&(a.b--,a.b||D(a));Wf(a)})}function Rf(a,b,c,d){if((a=a.l.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function Wf(a){var b=a.l.listTapes;if(b&&b.options){a=a.h||a.g;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
function Pf(a,b){b|=0;if(b!==a.G){var c=a.l[Nf];c&&(c=(c=C(c,$f))&&c[0])&&c.style&&(c.style.width=b+"%");a.G=b}}function Zf(a,b,c,d,e,f,g){a.w=b;a.g=c;a.f=d;a.O=e;a.ca=f;a.ba=g;d==Kf?a.u&&Bf(a.u,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.B('No valid memory address for tape "'+b+'"'):(a.m=0,a.i=e,a.status('Loaded tape "'+b+'"'),Pf(a,0))}function Xf(a,b){if(a.g||!1===b)a.w="",a.g="",b||(a.f&&a.status(a.f==Lf?"tape detached":"tape unloaded"),a.h=If,a.f=Jf,Wf(a))}h.save=function(){return(new H(this)).data()};
h.restore=function(){return!0};h.Id=function(){return this.a&65534};h.Se=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&N(this.c,this.s)):(this.a&=-129,this.a|=2048,this.o=0,kc(this.c,this.H,1E3/Math.round(this.I/10))));this.a=this.a&-66|a&65};h.Hd=function(){this.a&=-129;this.a|=2048;return this.o};h.Re=function(){};
var If="",Sf="?",Tf="??",Jf=0,Lf=1,Kf=2,Nf="readProgress",$f="pcjs-progress-bar",ag={},Qf=(ag[65384]=[null,null,vc.prototype.Id,vc.prototype.Se,"PRS"],ag[65386]=[null,null,vc.prototype.Hd,vc.prototype.Re,"PRB"],ag);
function bg(a,b,c){r.call(this,"Disk",{id:a.La+".disk"+Aa(++cg,4)},0,8192);this.controller=a;this.A=a.A;this.D=a.D;this.h=b;this.na=b.name;this.X=this.Jb="";this.Cb=b.Cb;this.J=this.R=this.M=this.V=this.mode=0;this.a=[];this.f=null;this.g=!1;dg(this,c,b.J,b.R,b.M,b.V);this.b=this.i=null;D(this)}n(bg,r);h=bg.prototype;h.ea=function(a,b,c,d){this.D=d};
function dg(a,b,c,d,e,f){a.mode=b;a.J=c;a.R=d;a.M=e;a.V=f;a.a=[];if("preload"!=a.mode){b=Array(a.J);for(c=0;c<b.length;c++){d=Array(a.R);for(e=0;e<d.length;e++){f=Array(a.M);for(var g=1;g<=f.length;g++)f[g-1]=eg(null,c,e,g,a.V,0);d[e]=f}b[c]=d}a.a=b}a.f=null}
function fg(a,b,c,d,e){var f=c;if(a.b)return!0;a.na=b;a.X=c;a.Jb=F(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=qa[d];if(e){a.J=e[0];a.R=e[1];a.M=e[2];a.V=e[3]||512;c=a.V>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.J);for(d=0;d<a.a.length;d++)for(var x=a.a[d]=Array(a.R),w=0;w<x.length;w++)for(var Y=x[w]=Array(a.M),Da=0;Da<Y.length;Da++){for(var fc=eg(null,d,w,Da+1,a.V,0),dh=fc.data,Ac=0;Ac<c;Ac++,f+=4)var eh=dh[Ac]=b.getInt32(f,
!0),e=e+eh&-1;fc.la=c;Y[Da]=fc}a.f=e;c=a}else a.B("Unrecognized disk format ("+d+" bytes)");a.b&&(a.b.call(a.controller,a.h,c,a.na,a.X),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ba(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Ca(c,"/")&&(d="dir"),f=Ka()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Cb?"":e)+"&format=json"));return!!G(f,
null,!0,function(b,c,d){gg(a,b,c,d)})}
function gg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.S;a.g=!1;if(d)a.controller.B('Unable to load disk "'+a.na+'" (error '+d+": "+b+")",f);else{ra(a.controller.La,b,c);try{if(0<F(a.Jb,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.J=k.length;a.R=k[0].length;a.M=k[0][0].length;var l=k[0][0][0];a.V=l&&l.length||512;for(d=c=0;d<a.J;d++)for(f=0;f<a.R;f++)for(g=0;g<a.M;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var x=l.bytes;if(void 0!==x&&x.length){for(var w=m<<2,Y=x.length;Y<w;Y++)x[Y]=p;hg(l,x)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}eg(l,d,f);for(w=0;w<
t.length;w++)c=c+t[w]&-1}a.a=k;a.f=c;e=a}else v("Empty disk image: "+a.na)}catch(Da){v("Disk image error ("+b+"): "+Da.message)}}a.b&&(a.b.call(a.i,a.h,e,a.na,a.X),a.b=null)}function eg(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Fg=b;a.Gg=c;a.sa=a.la=0;a.xa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.h,g=this.a[a];if(g){var k=g[b];if(!k&&f.Xc&&b<f.R)for(k=g[b]=Array(f.vc),g=0;g<k.length;g++)k[g]=eg(null,a,b,g+1,f.bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Xc&&9==f.$b&&(d=k[g]=eg(null,a,b,f.$b,f.bc,0))}}e&&e(d,!1);return d};function hg(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
function Ma(a,b){var c,d={O:null,ka:null,ca:null,ba:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ca=g.load;d.ba=g.exec;if(e=g.bytes)d.O=e;else if(e=g.words)for(d.O=Array(2*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&255,d.O[f++]=e[c]>>8&255;else if(e=g.data)for(d.O=Array(4*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&
255,d.O[f++]=e[c]>>8&255,d.O[f++]=e[c]>>16&255,d.O[f++]=e[c]>>24&255;else d.O=g;d.ka=g.symbols;d.O.length?1==d.O.length&&(u(d.O[0]),d=null):(u("Empty resource: "+a),d=null)}catch(k){u("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.O=e)}return d}
function Na(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Sa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Ta(a){if(!Ua){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ua=c}return Ua[a]}
function Va(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}
function Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Ya.init.push(a)}function Za(a){if($a)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!$a&&a?($a=!0,bb&&cb("init"),db&&cb("show")):$a=a}function cb(a){Ya[a]&&Za(Ya[a])}var Ua=null,Ya={init:[],show:[],exit:[]},bb=!1,db=!1,$a=!0,Pa=null;
Wa("onload",function(){bb=!0;Za(Ya.init)});Wa("onpageshow",function(){db=!0;Za(Ya.show)});Wa(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});
var eb="undefined"!==typeof ArrayBuffer,z="pdp11",fb="PDPjs",gb=!0,hb=!0,F={vd:5,Md:144,rd:8,Kb:{Gd:15,vh:16,Fh:32,Rc:64,od:128,Uc:256,wh:512,dh:1024,Jb:2048,bh:4096,Fc:57344,xa:{Fc:13}},Bd:{Nd:1,Dg:2,Hd:3,Ld:28,Ib:32,Hb:64,Kc:128,zh:256,ah:512,Lc:1024,sh:2048,Tc:4096,Dh:8192,qh:16384,pd:32768,jc:32736},zd:{Ec:1,Gb:14,Xa:48,ud:64,pb:128,xh:256,eh:512,gh:1024,td:2048,oc:8192,jc:16384,Dc:32768,Ld:4608,Fd:61438,Wc:3967,xa:{Gb:1,Xa:4}},Ad:{nc:15,kc:16,ob:8160,dc:57344,xa:{kc:4,ob:5,dc:13}},Gb:{jd:0,Od:2,
xd:4,Vc:6,Id:8,wd:10,qd:12,Eh:14}},ib={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"};F.Jb=[203,2,12,512,F.Kb.Jb|F.Kb.Uc|F.Kb.Rc];z="pdp11";fb="PDPjs";hb=gb=!0;
function jb(a,b){q.call(this,"Panel",a,512);this.i=this.m=0;this.G=b;this.U=this.g=this.b=this.f=0;this.s=this.u=-1;this.w=this.C=this.o=!1;this.D=kb;this.h={};this.a={START:[1,1,!0,!1,this.ge],STEP:[1,1,!1,!1,this.he],ENABLE:[1,1,!1,!1,this.ce],CONT:[1,1,!0,!1,this.ae],DEP:[0,0,!0,!1,this.be],EXAM:[1,1,!0,!1,this.de],LOAD:[1,1,!0,!1,this.fe],TEST:[0,0,!0,!1,this.ee]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.ie,a];this.F=this.c=this.v=this.A=null;B(this)}n(jb,q);h=jb.prototype;
h.reset=function(a){this.stop();a&&lb(this,this.f=0)};
h.ha=function(a,b,c,d){if(this.A&&this.A.ha(a,b,c,d)||this.c&&this.c.ha(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.l[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.h[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){mb(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){nb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){mb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){nb(a,b)}}(this,b),!0):q.prototype.ha.call(this,a,b,c,d)}};h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.F=d;ob(b,this,pb);qb(b,this.reset.bind(this));rb(this);sb(this)};h.ga=function(a,b){if(!b)if(this.G&&tb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};
h.fa=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.U,this.f,this.b]);return a.data()};h.restore=function(a){if(a=a[0])ub(this,this.U=a[0]),lb(this,this.f=a[1]),vb(this,a[2]);return!0};function wb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function rb(a,b){for(var c in a.h)wb(a,c,null!=b?b:a.h[c])}function xb(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}
function sb(a){for(var b in a.a)xb(a,b,a.a[b][1])}function yb(a,b,c,d){if(a.l[b]){var e=a.F&&a.F.h||8;c=c||0;c=8==e?Ca(c,d):Da(c,d);a.l[b].textContent!=c&&(a.l[b].textContent=c)}}function mb(a,b){var c=a.a[b];xb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=zb&&(a.w=b==Ab,a.C=b==Bb)}function nb(a,b){var c=a.a[b];c[2]&&c[3]&&(xb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.ge=function(a){a||this.c.j.N||(a=this.c,a.v.reset(),Cb(a),this.a[Db]&&this.a[Db][1]&&Eb(this.c))};h.he=function(){};
h.ce=function(a){a||H(this.c)};h.ae=function(a){if(!a&&!this.c.j.N)if(this.a[Db]&&this.a[Db][1])Eb(this.c);else{a=this.F;var b;if(b=a)a.j.Ta&&(a.j.qc=!0),b=!a.j.Ta;if(b)Ba(a,!0),a.f(0,null),Ba(a,!1);else try{var c=this.c.bc(1);0<c&&(Fb(this.c,c),Gb(this.c,c,!0),Hb(this.c,c))}catch(d){"number"!=typeof d&&(c=this.c,a=d.stack||d.message,c.j.error=!0,c.B(a))}this.stop();this.A&&Ib(this.A)}};
h.be=function(a){if(a&&!this.c.j.N)if(this.w&&Jb(this),a=lb(this,this.b),this.D==kb)Kb(this.v,this.U,a);else{var b=this.c,c=this.U;b.fb++;b.v.Fb(Lb(b,c,4),a);b.fb--}};h.de=function(a){if(!a&&!this.c.j.N){this.C&&Jb(this);if(this.D==kb)a=Mb(this.v,this.U);else{a=this.c;var b=this.U;a.fb++;b=a.v.Eb(Lb(a,b,2));a.fb--;a=b}lb(this,a)}};h.fe=function(a){a||this.c.j.N||ub(this,this.b)};h.ee=function(a){a?(this.o=!0,rb(this,!0)):(this.o=!1,rb(this),vb(this,0))};
h.ie=function(a,b){this.b=a?this.b|1<<b:this.b&~(1<<b)};function Jb(a){var b=1140>=a.c.pa?8:16,c=65472<=a.U&&a.U<65472+b,b=c?1:2,c=c?15:a.v.u;a.a[zb]&&a.a[zb][1]||(b=-b);ub(a,a.U&~c|a.U+b&c)}function ub(a,b){a.U=b&a.v.u;if(a.s!==a.U){a.s=a.U;b=a.s;for(var c=0;22>c;c++)Nb(a,"A"+c,b&1<<c)}}function lb(a,b){a.g=b&65535;if(a.u!==a.g){a.u=a.g;b=a.u;for(var c=0;16>c;c++)Nb(a,"D"+c,b&1<<c)}return a.g}function Nb(a,b,c){a.h[b]=c;a.o||wb(a,b,c)}
function vb(a,b){if(void 0!==a.l[Ob]){a.b=b;for(var c=0;22>c;c++)a.a["S"+c][1]=b&1<<c?1:0;sb(a)}}h.stop=function(){ub(this,this.c.b[7])};h.setData=function(a,b){b?this.f=a:this.g=a};h.ne=function(a,b){return(b?this.f:this.b)&65535};h.Bf=function(a){this.f=a};function tb(){for(var a=A(document,z,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=ya(d.id);e||(e=new jb(d,!0));w(e,c)}}
var kb=7,Ob="S0",Ab="DEP",Db="ENABLE",Bb="EXAM",zb="STEP",Pb={},pb=(Pb[65400]=[null,null,jb.prototype.ne,jb.prototype.Bf,"CNSW"],Pb);Xa(tb);
function Qb(a,b,c){q.call(this,"Bus",a,16);this.c=b;this.F=c;this.T=+a.busWidth||16;this.D=1<<this.T;this.u=this.D-1;this.g=Rb;this.h=Math.log2(this.g);this.K=this.g>>2;this.f=this.g-1;this.s=this.D/this.g|0;this.L=this.s-1;this.Ha=[];this.m=0;this.o=!1;this.G=[];this.Qd=[Sb,Tb,Ub,Vb];this.a=this.b=[];this.C=this.w=this.i=this.H=this.I=0;a=new I(this);Wb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b<this.s;b++)this.a[b]=this.b[b]=a;this.C=this.D-Rb;Xb(this,this.C,Rb,Yb,this);this.I=this.H=
(this.C&this.u)>>>this.h;this.w=0;this.i=this.u;B(this)}n(Qb,q);function Zb(a,b){if(b!=a.w){for(var c=0;c<a.s;c++)a.b[c]=a.a[c];a.w=0;a.i=a.u;b&&(a.w=b,b=1<<b,a.i=b-1,b-=Rb,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Qb.prototype;h.reset=function(){for(var a=0;a<this.G.length;a++)this.G[a]();Zb(this,16)};h.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.fa=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,$b(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.K){for(var e=0,f=Array(this.K),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){u("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Xb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.h;0<g&&k<a.a.length;){var l=a.a[k],m=k*a.g,p=a.g-(f-m);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Sa)return l.Bb+=l.Sa-f,l.Sa=f,!0;if(f>=l.Sa+l.Bb){p=l.size-(f-m);p>g&&(p=g);l.Bb=f-l.Sa+p;f=m+a.g;g-=p;k++;continue}}return ac(bc,f,g)}f=new I(a,f,p,a.g,d,e);Wb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+cc[d]+" at "+Ca(b)),!0):ac(dc,b,c)}h.gd=function(a){return this.b[(a&this.i)>>>this.h].hb(a&this.f,a)};
h.Eb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return hb||b!=this.f?this.b[c].W(b,a):this.b[c++].hb(b,a)|this.b[c&this.L].hb(0,a+1)<<8};h.hd=function(a,b){this.b[(a&this.i)>>>this.h].kb(a&this.f,b,a)};h.Fb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;hb||c!=this.f?this.b[d].nb(c,b,a):(this.b[d++].kb(c,b&255,a),this.b[d&this.L].kb(0,b>>8&255,a+1))};function ec(a,b){return a.a[(b&a.u)>>>a.h]}
function Mb(a,b){var c;a.o=!1;a.m++;var d=b&a.f,e=ec(a,b);hb||d!=a.f?c=e.F(d,b):c=e.i(d,b)|ec(a,b+1).i(0,b+1)<<8;a.m--;return c}function fc(a,b,c){a.o=!1;a.m++;ec(a,b).l(b&a.f,c&255,b);a.m--}function Kb(a,b,c){a.o=!1;a.m++;var d=b&a.f,e=ec(a,b);hb||d!=a.f?e.m(d,c&65535,b):(e.l(d,c&255,b),ec(a,b+1).l(0,c>>8&255,b+1));a.m--}
function $b(a){for(var b=0,c=[],d=0;d<a.s;d++){var e=a.a[d];if(e.ya||e.Wd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;l[k++]=p-g;l[k++]=m;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function gc(a){for(var b=hc,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.Sa+e.Bb)}return c}
function ic(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var p=b&jc;if(void 0!==a.Ha[p])return u("I/O address already registered: "+Da(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Ha[p]=[d,e,f,g,t,k||16,!1]}return!0}
function ob(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.pa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var t=g[4],y=g[5]||1,x=0;x<y;x++,f+=2)if(t&&1<y&&(t=g[4]+x),!ic(a,f,f,k,l,m,p,g[7]||b.Jc,t||b.La))return!1}}return!0}
function qb(a,b){a.G.push(b)}function J(a,b,c){a.o=!0;a.m||(c&&(a.c.G|=c),K(a.c,4,0,b))}function kc(a){var b=a.o;a.o=!1;return b}function ac(a,b,c){u("Memory block error ("+a+": "+Da(b)+","+Da(c)+")");return!1}var Rb=8192,jc=Rb-1,bc=1,dc=2;function Sb(a,b){var c=-1,d=this.controller,e=d.Ha[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ha[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255}
function Tb(a,b,c){var d=!1,e=this.controller,f=e.Ha[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ha[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function Ub(a,b){var c=-1,d=this.controller;a=d.Ha[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}
function Vb(a,b,c){var d=!1,e=this.controller;a=e.Ha[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function L(a){q.call(this,"Device",a,256);this.a={Aa:128,vc:-1}}n(L,q);h=L.prototype;h.ea=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.F=d;var e=this;this.a.vc=lc(c,function(){e.a.Aa|=128;e.a.Aa&64&&nc(e.c,e.a.Ja);e.A&&Ib(e.A,1);oc(e.c,e.a.vc,1E3/60)});this.a.Ja=pc(c,64,6,524288);ob(b,this,qc);qb(b,this.reset.bind(this));B(this)};
h.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){this.a.Aa=128;oc(this.c,this.a.vc,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.a.Aa]);return a.data()};h.restore=function(a){a=ja(a[0]);this.a.Aa=a.next().value;return!0};h.ue=function(){return this.a.Aa};h.If=function(a){this.a.Aa=a&192;this.a.Aa&64||(a=this.a.Ja)&&rc(this.c,a)};h.we=function(){return sc(this.c)};
h.Kf=function(a){tc(this.c,a&-129|this.c.K&128)};h.xe=function(){return uc(this.c)};h.ye=function(){return vc(this.c)};h.ze=function(){return this.c.qa};h.Lf=function(a){wc(this.c,a)};h.gf=function(a){a=a>>1&63;var b=this.c.Ga[a>>1];return a&1?b>>16:b&65535};h.sg=function(a,b){b=b>>1&63;var c=b>>1;this.c.Ga[c]=b&1?this.c.Ga[c]&65535|(a&63)<<16:this.c.Ga[c]&-65536|a&65534};h.$e=function(a){return this.c.s[1][a>>1&7]};h.lg=function(a,b){this.c.s[1][b>>1&7]=a&65295};
h.Ye=function(a){return this.c.s[1][(a>>1&7)+8]};h.jg=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.Ze=function(a){return this.c.H[1][a>>1&7]};h.kg=function(a,b){b=b>>1&7;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.Xe=function(a){return this.c.H[1][(a>>1&7)+8]};h.ig=function(a,b){b=(b>>1&7)+8;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.te=function(a){return this.c.s[0][a>>1&7]};h.Hf=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.re=function(a){return this.c.s[0][(a>>1&7)+8]};
h.Ff=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.se=function(a){return this.c.H[0][a>>1&7]};h.Gf=function(a,b){b=b>>1&7;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.qe=function(a){return this.c.H[0][(a>>1&7)+8]};h.Ef=function(a,b){b=(b>>1&7)+8;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.ff=function(a){return this.c.s[3][a>>1&7]};h.rg=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.df=function(a){return this.c.s[3][(a>>1&7)+8]};h.pg=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295};
h.ef=function(a){return this.c.H[3][a>>1&7]};h.qg=function(a,b){b=b>>1&7;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.cf=function(a){return this.c.H[3][(a>>1&7)+8]};h.og=function(a,b){b=(b>>1&7)+8;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.ib=function(a){a&=7;return this.c.i&2048?this.c.ra[a]:this.c.b[a]};h.lb=function(a,b){b&=7;this.c.i&2048?this.c.ra[b]=a:this.c.b[b]=a};h.Ee=function(){return this.c.i&49152?this.c.ja[0]:this.c.b[6]};h.Qf=function(a){this.c.i&49152?this.c.ja[0]=a:this.c.b[6]=a};
h.He=function(){return this.c.b[7]};h.Tf=function(a){this.c.b[7]=a};h.jb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ra[a]};h.mb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ra[b]=a};h.Fe=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.ja[1]};h.Rf=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ja[1]=a};h.Ge=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.ja[3]};h.Sf=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ja[3]=a};
h.pe=function(a){return this.c.zb[a-65504>>1]};h.Df=function(a,b){this.c.zb[b-65504>>1]=a};h.bd=function(a){return 65520==a?(gc(this.v)>>6)-1:0};h.ed=function(){};h.bf=function(){return 1};h.ng=function(){};h.oe=function(){return this.c.G};h.Cf=function(){this.c.G=0};h.ve=function(){return this.c.wb};h.Jf=function(a,b){b&1||(a&=255);this.c.wb=a};h.Ae=function(a,b){return b?0:this.c.Ra};h.Mf=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.Ra=a};
h.af=function(a,b){return b?0:this.c.Fa&65280};h.mg=function(a){this.c.Fa=a|255};h.De=function(){return xc(this.c)};h.Pf=function(a){yc(this.c,a)};h.dd=function(){};
var M={},qc=(M[61568]=[null,null,L.prototype.gf,L.prototype.sg,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.$e,L.prototype.lg,"SIPDR",8,1145,64],M[62608]=[null,null,L.prototype.Ye,L.prototype.jg,"SDPDR",8,1145,64],M[62624]=[null,null,L.prototype.Ze,L.prototype.kg,"SIPAR",8,1145,64],M[62640]=[null,null,L.prototype.Xe,L.prototype.ig,"SDPAR",8,1145,64],M[62656]=[null,null,L.prototype.te,L.prototype.Hf,"KIPDR",8,1140,64],M[62672]=[null,null,L.prototype.re,L.prototype.Ff,"KDPDR",8,1145,64],M[62688]=
[null,null,L.prototype.se,L.prototype.Gf,"KIPAR",8,1140,64],M[62704]=[null,null,L.prototype.qe,L.prototype.Ef,"KDPAR",8,1145,64],M[62798]=[null,null,L.prototype.ze,L.prototype.Lf,"MMR3",1,1145,64],M[65382]=[null,null,L.prototype.ue,L.prototype.If,"LKS"],M[65402]=[null,null,L.prototype.we,L.prototype.Kf,"MMR0",1,1140,64],M[65404]=[null,null,L.prototype.xe,L.prototype.dd,"MMR1",1,1145,64],M[65406]=[null,null,L.prototype.ye,L.prototype.dd,"MMR2",1,1140,64],M[65408]=[null,null,L.prototype.ff,L.prototype.rg,
"UIPDR",8,1140,64],M[65424]=[null,null,L.prototype.df,L.prototype.pg,"UDPDR",8,1145,64],M[65440]=[null,null,L.prototype.ef,L.prototype.qg,"UIPAR",8,1140,64],M[65456]=[null,null,L.prototype.cf,L.prototype.og,"UDPAR",8,1145,64],M[65472]=[null,null,L.prototype.ib,L.prototype.lb,"R0SET0"],M[65473]=[null,null,L.prototype.ib,L.prototype.lb,"R1SET0"],M[65474]=[null,null,L.prototype.ib,L.prototype.lb,"R2SET0"],M[65475]=[null,null,L.prototype.ib,L.prototype.lb,"R3SET0"],M[65476]=[null,null,L.prototype.ib,
L.prototype.lb,"R4SET0"],M[65477]=[null,null,L.prototype.ib,L.prototype.lb,"R5SET0"],M[65478]=[null,null,L.prototype.Ee,L.prototype.Qf,"R6KERNEL"],M[65479]=[null,null,L.prototype.He,L.prototype.Tf,"R7KERNEL"],M[65480]=[null,null,L.prototype.jb,L.prototype.mb,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.jb,L.prototype.mb,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.jb,L.prototype.mb,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.jb,L.prototype.mb,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.jb,
L.prototype.mb,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.jb,L.prototype.mb,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.Fe,L.prototype.Rf,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.Ge,L.prototype.Sf,"R6USER",1,1145],M[65504]=[null,null,L.prototype.pe,L.prototype.Df,"CTRL",8,1170],M[65520]=[null,null,L.prototype.bd,L.prototype.ed,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.bd,L.prototype.ed,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.bf,L.prototype.ng,"SYSID",1,1170],M[65526]=
[null,null,L.prototype.oe,L.prototype.Cf,"ERR",1,1170],M[65528]=[null,null,L.prototype.ve,L.prototype.Jf,"MBR",1,1170],M[65530]=[null,null,L.prototype.Ae,L.prototype.Mf,"PIR"],M[65532]=[null,null,L.prototype.af,L.prototype.mg,"SLR"],M[65534]=[null,null,L.prototype.De,L.prototype.Pf,"PSW"],M);
Xa(function(){for(var a=A(document,z,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new L(c);w(c,d);break;case "pc11":c=new zc(c);w(c,d);break;case "rl11":c=new N(c);w(c,d);break;case "rk11":c=new O(c),w(c,d)}}});
function I(a,b,c,d,e,f){this.b=a;this.id=Ac+=2;this.c=null;this.Sa=b;this.Bb=c;this.size=d||0;this.type=e||Bc;this.A=e==Cc;this.controller=null;this.hb=this.i=this.sc;this.W=this.F=this.tc;this.kb=this.l=this.Db;this.nb=this.m=this.wc;this.g=this.h=0;Wb(this);this.ya=this.Wd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],Dc(this,f.Qd);else if(eb)this.f=new ArrayBuffer(this.size),this.v=new DataView(this.f,0,this.size),this.a=new Uint8Array(this.f,0,this.size),this.o=new Uint16Array(this.f,
0,this.size>>1),this.c=new Int32Array(this.f,0,this.size>>2),Dc(this,Ec?Fc:Gc);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Dc(this,Ic)}else Dc(this)}h=I.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(eb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.v.getInt32(b<<2,!0);else a=this.c;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(eb)for(b=0;b<a.length;b++)this.v.setInt32(b<<2,a[b],!0);else this.c=a;return this.ya=!0}return!1};function Dc(a,b){b||(b=Jc);Kc(a,b,void 0);Lc(a,b,void 0)}function Kc(a,b,c){c&&a.g||(a.hb=b[0]||a.sc,a.W=b[2]||a.tc);if(c||void 0===c)a.i=b[0]||a.sc,a.F=b[2]||a.tc}function Lc(a,b,c){c&&a.h||(a.kb=!a.A&&b[1]||a.Db,a.nb=!a.A&&b[3]||a.wc);if(c||void 0===c)a.l=b[1]||a.Db,a.m=b[3]||a.wc}
function Wb(a,b){a.g=a.h=0;b&&((a.g=b.g)&&Kc(a,Mc,!1),(a.h=b.h)&&Lc(a,Mc,!1))}h.sc=function(a,b){J(this.b,b,32);return 255};h.Db=function(a,b,c){J(this.b,c,32)};h.tc=function(a,b){return this.hb(a++,b++)|this.hb(a,b)<<8};h.wc=function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)};h.me=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.mf=function(a,b){gb&&a&1&&J(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8};
h.Af=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.ya=!0};h.wg=function(a,b,c){gb&&a&1&&J(this.b,c,64);c=a>>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<<a)|b<<a:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.ya=!0};h.ke=function(a,b){return this.i(a,b)};h.jf=function(a,b){return this.F(a,b)};h.yf=function(a,b,c){this.A?this.Db(0,0,c):this.l(a,b,c)};h.ug=function(a,b,c){this.A?this.Db(0,0,c):this.m(a,b,c)};h.je=function(a){return this.a[a]};
h.le=function(a){return this.a[a]};h.hf=function(a,b){gb&&a&1&&J(this.b,b,64);return this.v.getUint16(a,!0)};h.lf=function(a,b){gb&&a&1&&J(this.b,b,64);return!hb&&a&1?this.a[a]|this.a[a+1]<<8:this.o[a>>1]};h.xf=function(a,b){this.a[a]=b;this.ya=!0};h.zf=function(a,b){this.a[a]=b;this.ya=!0};h.tg=function(a,b,c){gb&&a&1&&J(this.b,c,64);this.v.setUint16(a,b,!0);this.ya=!0};h.vg=function(a,b,c){gb&&a&1&&J(this.b,c,64);!hb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.o[a>>1]=b;this.ya=!0};
var Bc=0,hc=1,Cc=2,Yb=4,cc=["NONE","RAM","ROM","VID","H/W"],Ac=0,Jc=[],Ic=[I.prototype.me,I.prototype.Af,I.prototype.mf,I.prototype.wg],Mc=[I.prototype.ke,I.prototype.yf,I.prototype.jf,I.prototype.ug];if(eb)var Gc=[I.prototype.je,I.prototype.xf,I.prototype.hf,I.prototype.tg],Fc=[I.prototype.le,I.prototype.zf,I.prototype.lf,I.prototype.vg];var Nc;if(eb){var Oc=new ArrayBuffer(2);(new DataView(Oc)).setUint16(0,256,!0);Nc=256===(new Uint16Array(Oc))[0]}else Nc=!1;var Ec=Nc;
function Pc(a,b){q.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.xc=0;this.Xb=b;this.Qa=c;this.gc=Math.round(this.Xb/1E4)/100;this.Za=this.gc*this.Qa;this.hc=this.vb=this.bb=this.Yb=0;this.j.N=this.j.uc=!1;this.j.da=a.autoStart;"string"==typeof this.j.da&&(this.j.da="true"==this.j.da);this.j.Lb=!1;this.Vb=this.ab=0;this.Wb=+a.csStart;this.tb=+a.csInterval;this.ub=+a.csStop;this.Y=[];this.Oc=this.rf.bind(this);this.Ea=this.va=this.Da=this.a=this.aa=this.ua=this.sb=this.Ca=this.cb=
this.ic=this.Na=0;this.ma=null;B(this)}n(Pc,q);h=Pc.prototype;h.ea=function(a,b,c,d){this.A=a;this.v=b;this.F=d;this.ma=a.f;for(a=0;a<Qc.length;a++)(b=this.l[Qc[a]])&&this.A.ha(null,Qc[a],b);B(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ga=function(a,b){var c=Rc(this.A,"autoStart");null!=c?this.j.da="true"==c?!0:"false"==c?!1:!!c:null==this.j.da&&(this.j.da=void 0===this.l.run);if(!b){if(a){Sc(this);if(!this.restore(a))return!1;Tc(this)}else this.reset();this.status("No debugger detected");this.j.da||this.Z("CPU will not be auto-started "+(this.ma?"(click Run to start)":"(type 'go' to start)"))}return!0};h.fa=function(a){return a?this.save():!0};h.da=function(){return this.j.N?!0:this.j.da?(Eb(this),!0):!1};h.Zc=function(){return 0};
function Tc(a){void 0===a.Wb&&(a.Wb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.j.Lb=0<=a.Wb&&0<a.tb;a.j.Lb&&(a.Vb=0,a.ab=a.Wb-a.Ea)}function Hb(a,b){if(a.j.Lb){var c=!1;a.Vb=a.Vb+a.Zc()|0;a.ab-=b;0>=a.ab&&(a.ab+=a.tb,c=!0);0<=a.ub&&a.ub<=Uc(a)&&(a.tb=a.ub=-1,Tc(a),H(a),c=!0);c&&a.Z(Uc(a)+" cycles: checksum="+Da(a.Vb))}}
h.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.S)a=!0;else{var b=null,c,k=xa(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.j.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.j.S);c++);c==k.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Nb?" (waiting for notification)":""))+".");a=!1}a&&(d.j.N?H(d):Eb(d))},!0;case "speed":return this.l[b]=
c,!0;case "setSpeed":return this.l[b]=c,c.onclick=function(){Vc(d,d.Qa<<1,!0)},c.textContent=this.Za.toFixed(2)+"Mhz",!0}return!1};function Gb(a,b,c){a.Ea+=b;c&&(a.Da=a.a=a.aa=0)}function Wc(a,b){var c=1;b&&1<a.Qa&&a.Na&&(c=a.Na/a.gc);a.hc=Math.round(1E3/Xc);a.vb=Math.floor(a.Xb/Xc*c);b||(a.bb=a.vb);a.Yb=0}function Uc(a){return a.Ea+a.va+a.Da-a.a}function Sc(a){a.Na=0;a.ic=0;a.Ea=a.va=a.Da=a.a=a.aa=0;Tc(a);Vc(a,1)}
function Vc(a,b,c){if(void 0!==b){.8>a.Na/a.Za&&(b=1);a.Qa=b;b=a.gc*a.Qa;if(a.Za!=b){a.Za=b;b=a.Za.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.A&&Yc(a.A)}Gb(a,a.va);a.va=0;a.ua=va();a.Ca=0;Wc(a)}function lc(a,b){var c=a.Y.length;a.Y.push([-1,b]);return c}function oc(a,b,c,d){0<=b&&b<a.Y.length&&(d||0>a.Y[b][0])&&(c=a.Xb*a.Qa/1E3*c|0,a.j.N&&(c+=Zc(a)),a.Y[b][0]=c)}function $c(a){for(var b=[],c=0;c<a.Y.length;c++)b.push(a.Y[c][0]);return b}
function Fb(a,b){for(var c=a.Y.length-1;0<=c;c--){var d=a.Y[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zc(a,b){var c=a.Da-=a.a;a.a=a.aa=0;b&&(a.Da=0);return c}
h.rf=function(){if(this.j.N){this.Yb>=this.Xb&&Wc(this,!0);this.cb=0;this.sb=va();if(this.Ca){var a=this.sb-this.Ca;a>this.hc&&(this.ua+=a,this.ua>this.sb&&(this.ua=this.sb))}try{do{for(var b,c=this.j.Lb?1:this.vb,d=this.Y.length-1;0<=d;d--){var e=this.Y[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.bc(b)}catch(f){if("number"!=typeof f)throw f;}b=Zc(this,!0);this.cb+=b;this.va+=b;Hb(this,b);Fb(this,b);this.bb-=b;if(0>=this.bb){this.bb+=this.vb;++this.ic>=ad&&(this.A&&Ib(this.A,void 0),this.ic=0);break}}while(this.j.N)}catch(f){H(this);
this.A&&this.A.stop(va(),Uc(this));a=f.stack||f.message;this.j.error=!0;this.B(a);return}if(this.j.N){a=setTimeout;b=this.Oc;this.Ca=va();c=this.hc;this.cb&&(c=Math.round(c*this.cb/this.vb));c-=this.Ca-this.sb;if(d=this.Ca-this.ua)this.Na=Math.round(this.va/(10*d))/100,864E5<=d&&(this.Ea=0,Vc(this));if(0>c||this.Na<this.Za)-1E3>c&&(this.ua-=c),c=0;this.Yb+=this.cb;this.Ca+=c;a(b,c)}}};
function Eb(a){var b;a.j.error?(a.Z(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.N)a.Z(a.toString()+" busy");else{Vc(a);a.j.N=!0;a.j.uc=!0;if(b=a.l.run)b.textContent="Halt";a.A&&a.A.start(a.ua,Uc(a));a.F||a.status("Started");setTimeout(a.Oc,0)}}h.bc=function(){return 0};function H(a){var b=!1;if(a.j.N){Zc(a);Gb(a,a.va);a.va=0;a.j.N=!1;if(b=a.l.run)b.textContent="Run";a.A&&a.A.stop(va(),Uc(a));b=!0;a.F||a.status("Stopped")}a.j.complete=void 0;return b}var Xc=30,ad=15,Qc=["power","reset"];
function bd(a){var b=+a.model||1170;Pc.call(this,a,6666667);this.pa=b;this.Ic=+a.addrReset||0;this.wa=this.i=this.C=this.u=this.m=this.o=this.w=0;this.b=this.ra=this.ja=[];this.H=this.s=this.Ga=this.zb=[];this.Ba=this.D=this.Hc=this.$a=this.Oa=this.Pa=this.Wa=this.G=this.wb=this.Ra=this.Fa=this.K=this.xb=this.yb=this.qa=this.g=0;this.Jd=[4,2,0,1];this.Zb=0;this.Nc=255;1120>=this.pa?(this.Gc=cd.bind(this),this.Ya=this.Ud,this.Zb=8,this.Nc=-1,this.Sc=255,this.Pc=0):(this.Gc=dd.bind(this),this.Ya=this.Vd,
this.Sc=~(1792|(1140>=this.pa?2048:0))&65535,this.Pc=1140<this.pa?2048:0);this.mc=this.lc=this.fb=0;this.I=null;this.rb=[];this.Pb=this.yc=this.Xd;this.Qb=this.$b=this.Zd;this.ac=this.cc=this.uf;this.Rb=this.ec=this.wf;this.ta=this.Ob=0;this.oa=this.$c;this.W=this.cd;this.nb=this.fd;this.h=this.f=this.Ub=this.L=this.T=0;this.j.complete=!1}n(bd,Pc);h=bd.prototype;h.ea=function(a,b,c,d){Pc.prototype.ea.call(this,a,b,c,d);this.yc=b.gd.bind(b);this.$b=b.Eb.bind(b);this.cc=b.hd.bind(b);this.ec=b.Fb.bind(b)};
h.ga=function(a,b){for(var c=192,d=0;d<this.rb.length;d++){var e=this.rb[d];0>e.Cb&&(e.Cb=c,c+=4)}return Pc.prototype.ga.call(this,a,b)};
h.reset=function(){this.status("Model "+this.pa);this.j.N&&H(this);this.u=65536;this.m=32768;this.o=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.Ic,-1,-2,-3,-4,-5,-6,-7,-8];this.ra=[0,0,0,0,0,0];this.ja=[0,0,0,0];this.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.s=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ga=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.zb=[0,0,0,0,0,0,0,0];this.C=0;this.wa=-1;this.h=this.f=this.Ub=this.L=this.T=this.g=this.wb=0;Cb(this);Sc(this);this.j.error=!1;Pc.prototype.reset.call(this)};function Cb(a){a.K=0;a.xb=0;a.yb=0;a.qa=0;a.G=0;a.Ra=0;a.Fa=255;a.$a=0;a.Oa=0;a.Pa=0;a.Wa=262143;a.Ba=a.b[7];a.D=0;a.I=null;a.v&&(ed(a),a.Hc=gc(a.v))}
function ed(a){a.Pb=a.yc;a.Qb=a.$b;a.ac=a.cc;a.Rb=a.ec;a.$a?(a.ta=65536,a.Ob=a.qa&16?4186112:253952,a.oa=a.$c,a.W=a.cd,a.nb=a.fd,Zb(a.v,a.qa&16?22:18)):(a.ta=0,a.Ob=57344,a.oa=a.Yd,a.W=a.kf,a.nb=a.xg,Zb(a.v,16))}function sc(a){var b=a.K;b&57344||(b=b&-3199|a.Oa<<5|a.Pa<<1);return b}function tc(a,b){b&=-3073;if(a.K!=b){b&57344&&!(a.K&57344)&&(a.xb=a.D>>16&65535,a.yb=a.D&65535);a.K=b;a.Oa=(b&96)>>5;a.Pa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.$a!=c&&(a.$a=c,ed(a))}}
function uc(a){a.K&57344||(a.xb=a.D>>16&65535);a=a.xb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function vc(a){a.K&57344||(a.yb=a.D&65535);return a.yb}function wc(a,b){1170>a.pa&&(b&=-49);a.qa!=b&&(a.qa=b,a.Wa=b&16?4194303:262143,ed(a))}function fd(a,b,c){a.Ic=b;P(a,b);yc(a,0);a.v.reset();Cb(a);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.j.N||Eb(a)}else a.F&&a.j.S?H(a)||(a.F.g(),Ib(a.A,-1)):!1===c&&H(a);!a.j.N&&a.ma&&a.ma.stop()}h.Zc=function(){return 0};
h.save=function(){var a=new G(this);a.set(0,[this.b,this.ra,this.ja,this.H,this.s,this.Ga,this.zb,this.G,this.wb,this.Ra,this.Fa,this.Oa,this.Pa,this.Ba,this.g,this.D,this.wa,this.lc,this.mc]);a.set(1,[xc(this),sc(this),uc(this),vc(this),this.qa]);a.set(2,[this.Ea,this.Qa,this.j.da]);a.set(3,gd(this));a.set(4,$c(this));return a.data()};
h.restore=function(a){var b=ja(a[0]);this.b=b.next().value;this.ra=b.next().value;this.ja=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Ga=b.next().value;this.zb=b.next().value;this.G=b.next().value;this.wb=b.next().value;this.Ra=b.next().value;this.Fa=b.next().value;this.Oa=b.next().value;this.Pa=b.next().value;this.Ba=b.next().value;this.g=b.next().value;this.D=b.next().value;this.wa=b.next().value;this.lc=b.next().value;this.mc=b.next().value;b=a[1];yc(this,b[0]);tc(this,b[1]);
this.xb=b[2];this.yb=b[3];wc(this,b[4]);b=a[2];this.Ea=b[0];Vc(this,b[1]);this.j.da=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.rb.length;d++){var e=this.rb[d];if(e.Cb===b[c]){d=e;break a}}d=null}d&&(d.next=this.I,this.I=d)}a=a[4];for(b=0;b<this.Y.length&&b<a.length;b++)this.Y[b][0]=a[b];return!0};function hd(a){return a.u&65536?1:0}function id(a){return a.w&32768?8:0}function jd(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}
function Q(a,b,c){c&&(P(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function P(a,b){a.b[7]=b&65535}function pc(a,b,c,d){b={Cb:b,gb:c,message:d||0,name:ib[b],next:null};a.rb.push(b);return b}function rc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.g|=1)}function nc(a,b){if(b){if(b!=a.I){var c=a.I;if(!c||c.gb<=b.gb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.gb<=b.gb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}
function gd(a){var b=[];for(a=a.I;a;)b.push(a.Cb),a=a.next;return b}function kd(a){return a.g&64?(K(a,168,64,-6),!0):a.g&32?(K(a,4,32,-5),!0):a.g&16?(K(a,12,16,-7),!0):!1}function xc(a){return a.i=a.i&63728|id(a)|(a.o&65535?0:4)|(a.m&32768?2:0)|hd(a)}function yc(a,b){b&=a.Sc;a.w=b<<12;a.o=~b&4;a.m=b<<14;a.u=b<<16;if((b^a.i)&a.Pc)for(var c=a.ra.length;0<=--c;){var d=a.b[c];a.b[c]=a.ra[c];a.ra[c]=d}a.C=b>>14&3;c=a.i>>14&3;a.C!=c&&(a.ja[c]=a.b[6],a.b[6]=a.ja[a.C]);a.i=b;a.g&=-3;a.g|=a.I?2:1}
h.ia=function(a){this.w=this.o=a;this.m=0};h.Ka=function(a,b){this.w=this.o=this.u=a;this.m=b||0};function ld(a,b){a.w=a.o=a.u=b;a.m=a.w^a.u>>1}function md(a,b,c,d){a.w=a.o=a.u=b;a.m=(c^d)&(d^b)}
function K(a,b,c,d){if(!a.fb){0>a.wa?a.wa=xc(a):a.C||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.G|=4,a.b[6]=b=4);if(-1!=d){a.D=b|4143316992;a.C=0;var e=a.W(b|a.ta),f=a.W(b+2&65535|a.ta);yc(a,f&-12289|a.wa>>2&12288);nd(a,a.wa);nd(a,a.b[7]);P(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.wa=-1;a.lc=d;a.mc=b;-1==d&&H(a);if(-4<=d)throw b;}}function od(a){var b=pd(a),c=pd(a);a.i&49152&&(c=c&-225|a.i&63712);P(a,b);yc(a,c);a.g&=-17}
function qd(a,b){var c=b>>13&31;31>c&&(b=a.qa&32?a.Ga[c]+(b&8191)&4194303:b&-3932161);return b}
function Lb(a,b,c){var d,e,f;if(!(c&a.$a))return f=b&65535,57344<=f&&(f|=a.Ob),f;d=b>>13;a.qa&a.Jd[a.C]||(d&=7);e=a.s[a.C][d];f=(a.H[a.C][d]<<6)+(b&8191)&a.Wa;3932160<=f&&(f=qd(a,f));if(a.fb)return f;f>=a.Hc&&f<a.Ob?(a.G|=32,K(a,4,0,f)):f&1&&!(c&1)&&(a.G|=64,K(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.s[a.C][d]=e;if(f!=(4194170&a.Wa)||a.C)a.Oa=a.C,a.Pa=d;g&&(g&57344&&(0<=a.wa&&(g|=128),a.K&57344||(g|=a.K&4096|a.Oa<<5|a.Pa<<1,tc(a,a.K&-61695|g&61694)),K(a,168,64,-2)),a.K&61440||!(f<(4191360&a.Wa)||f>(4194239&a.Wa))||(a.K|=4096,a.K&512&&(a.g|=64)));return f}function pd(a){var b=a.W(a.b[6]|a.ta);a.b[6]=a.b[6]+2&65535;return b}function nd(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.D=a.D&65535|(a.D&-65536)<<8|16121856;a.g&256||a.Ya(4,-2,c);a.nb(c,b)}
function rd(a,b,c,d){var e,f,g=d&8?0:a.ta;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Ya(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.Ya(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.Ya(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(jd(a,2)),e=e+a.b[c]&65535,6==c&&a.Ya(d,0,
e),a.a-=6,e|g;case 7:return e=a.W(jd(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.ta),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.D=a.D&65535|(a.D&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ud=function(a,b,c){!this.C&&0>=b&&c<=this.Fa&&(this.g|=32)};h.Vd=function(a,b,c){this.C||(65534<=c&&(c|=-65536),a&4&&c<=this.Fa&&(c<=this.Fa-32?K(this,4,0,-4):(this.G|=8,this.g|=32)))};h.Xd=function(a){return this.yc(a)};h.Zd=function(a){return this.$b(a)};h.uf=function(a,b){this.cc(a,b)};h.wf=function(a,b){this.ec(a,b)};
h.Yd=function(a,b,c){return rd(this,a,b,c)};h.$c=function(a,b,c){return Lb(this,rd(this,a,b,c),c)};h.kf=function(a){return this.v.Eb(this.Ba=a)};h.cd=function(a){return this.v.Eb(this.Ba=Lb(this,a,2))};h.xg=function(a,b){this.v.Fb(this.Ba=a,b)};h.fd=function(a,b){this.v.Fb(this.Ba=Lb(this,a,4),b)};
function sd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=rd(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.C=a.i>>12&3,c=a.W(d|c&a.ta),a.C=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ja[a.i>>12&3];return c}function td(a,b,c,d){a.D=a.D&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=rd(a,b,e,4),c&65536||(e&=65535),a.C=a.i>>12&3,e=Lb(a,e|c&65536,4),a.C=a.i>>14&3,a.Rb(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ja[a.i>>12&3]=d}
function ud(a,b){b>>=6;var c=a.T=b&7;return(b=a.L=(b&56)>>3)?a.Pb(a.oa(b,c,3)):a.b[c+a.Zb]&a.Nc}function vd(a,b){var c;b>>=6;var d=a.T=b&7;(b=a.L=(b&56)>>3)?c=a.Qb(a.oa(b,d,2)):c=a.b[d+a.Zb];return c}function wd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return rd(a,b,c,8)}function xd(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.Pb(a.oa(b,c,3)):a.b[c]&255}function yd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.Qb(a.oa(b,d,2)):c=a.b[d];return c}
function R(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.Ub=a.oa(b,e,7),c=0>c?a.b[-c-1]&255:c,a.ac(e,d.call(a,c,a.Pb(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function S(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.oa(b,e,6),a.Rb(e,d.call(a,0>c?a.b[-c-1]:c,a.Qb(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function zd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.oa(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.ac(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function Ad(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.oa(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.Rb(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
h.bc=function(a){this.j.complete=!0;var b=a?this.j.uc?0:1:-1;this.j.uc=!1;this.Da=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.Ra&224)>>5,e=this.I&&this.I.gb>d?this.I:null;e&&(c=e.Cb,d=e.gb);d>(this.i&224)>>5?(this.g&8&&(jd(this,2),this.g&=-9),K(this,c,0,-10),d=!0):d=!1;d&&(e&&rc(this,e),a=!0);this.I||this.Ra||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.F.b(this.b[7],b)){H(this);break}if(0>b)break}if(this.g&112&&kd(this)){if(this.g&
4&&this.F.b(this.b[7],b)){H(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.D=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.Gc(e)}while(0<this.a);return this.j.complete?this.Da-this.a:!1===this.j.complete?-1:0};Xa(function(){for(var a=A(document,z,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new bd(d);w(d,c)}});function Bd(a,b){var c=b+a;this.w=this.o=this.u=c;this.m=(a^c)&(b^c);return c&65535}
function Cd(a,b){var c=b+a,d=c<<8;this.w=this.o=this.u=d;this.m=(a<<8^d)&(b<<8^d);return c&255}function Dd(a,b){a=b<<1;ld(this,a);return a&65535}function Ed(a,b){a=b<<1;ld(this,a<<8);return a&255}function Fd(a,b){a=b&32768|b>>1|b<<16;ld(this,a);return a&65535}function Gd(a,b){a=b&128|b>>1|b<<8;ld(this,a<<8);return a&255}function Hd(a,b){a=b&~a;this.ia(a);return a}function Id(a,b){a=b&~a;this.ia(a<<8);return a}function Jd(a,b){a|=b;this.ia(a);return a}function Kd(a,b){a|=b;this.ia(a<<8);return a}
function Ld(a,b){a=~b|65536;this.Ka(a);return a&65535}function Md(a,b){a=~b|256;this.Ka(a<<8);return a&255}function Nd(a,b){this.w=this.o=a=b-a;this.m=b&(b^a);return a&65535}function Od(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.o=c;this.m=b&(b^c);return a&255}function Pd(a,b){this.w=this.o=a=b+a;this.m=a&(b^a);return a&65535}function Qd(a,b){a=b+a;var c=a<<8;this.w=this.o=c;this.m=c&(b<<8^c);return a&255}function Rd(a,b){a=-b;this.Ka(a,a&b&32768);return a&65535}
function Sd(a,b){a=-b;this.Ka(a<<8,(a&b&128)<<8);return a&255}function Td(a,b){a=b<<1|this.u>>16&1;ld(this,a);return a&65535}function Ud(a,b){a=b<<1|this.u>>16&1;ld(this,a<<8);return a&255}function Vd(a,b){a=(this.u&65536|b)>>1|b<<16;ld(this,a);return a&65535}function Wd(a,b){a=((this.u&65536)>>8|b)>>1|b<<8;ld(this,a<<8);return a&255}function Xd(a,b){var c=b-a;md(this,c,a,b);return c&65535}function Yd(a,b){var c=b-a;md(this,c<<8,a<<8,b<<8);return c&255}
function Zd(a,b){this.w=this.o=b&65280;this.m=this.u=0;return(b<<8|b>>8)&65535}function $d(a,b){a^=b;this.ia(a);return a&65535}function ae(a){S(this,a,vd(this,a),Bd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}
function be(a){var b=yd(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.u=this.m=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.u=c<<17-b,c>>=b;else if(b)if(16<b)this.m=c,c=0;else{this.u=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.m=32768)}this.b[a]=c&65535;this.w=this.o=c;this.a-=(this.h?6:7)+b}
function ce(a){var b=yd(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.m=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.u=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.u=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.m=32768)):d=c;this.b[a]=d>>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.o=d>>16|d;this.a-=(this.h?6:7)+b}function de(a){Q(this,a,!hd(this))}function ee(a){Q(this,a,hd(this))}
function fe(a){S(this,a,vd(this,a),Hd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function ge(a){R(this,a,ud(this,a),Id);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function he(a){S(this,a,vd(this,a),Jd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function ie(a){R(this,a,ud(this,a),Kd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}
function je(a){var b=vd(this,a);a=yd(this,a);this.ia((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function ke(a){var b=ud(this,a);a=xd(this,a);this.ia(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function le(a){Q(this,a,this.o&65535?0:4)}function me(a){Q(this,a,!id(this)==!(this.m&32768))}function ne(a){Q(this,a,!!(this.o&65535)&&!id(this)==!(this.m&32768))}
function oe(a){Q(this,a,!hd(this)&&!!(this.o&65535))}function pe(a){Q(this,a,(this.o&65535?0:4)||!id(this)!=!(this.m&32768))}function qe(a){Q(this,a,hd(this)||(this.o&65535?0:4))}function re(a){Q(this,a,!id(this)!=!(this.m&32768))}function se(a){Q(this,a,id(this))}function te(a){Q(this,a,!!(this.o&65535))}function ue(a){Q(this,a,!id(this))}function ve(){K(this,12,0,-9)}function we(a){Q(this,a,!0)}function xe(a){Q(this,a,!(this.m&32768))}function ye(a){Q(this,a,this.m&32768?2:0)}
function T(a){a&1&&(this.u=0);a&2&&(this.m=0);a&4&&(this.o=1);a&8&&(this.w=0);this.a-=5}function ze(a){var b=vd(this,a);a=yd(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;md(this,c,a,b);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function Ae(a){var b=ud(this,a);a=xd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);md(this,c,a,b);this.a-=this.h?4+(this.T&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}
function Be(a){var b=yd(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.m=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.o=d>>16|d,this.w=d>>16):(this.m=32768,this.o=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.o=this.w=0,this.m=32768,this.u=65536,this.a-=7}function Ce(){K(this,24,0,-9);this.a-=20}
function De(){this.i&49152?(this.G|=128,K(this,4,0,-8)):(this.ma&&1120==this.pa&&this.ma.setData(this.b[0],!0),this.F?this.F.i():H(this));this.a-=7}function Ee(){K(this,16,0,-9);this.a-=20}var Fe=[0,7,7,10,7,11,9,13];function Ge(a){this.aa=this.a;P(this,wd(this,a));this.a=this.aa-Fe[this.h]}var He=[0,14,14,17,14,18,16,20];function Ie(a){this.aa=this.a;var b=wd(this,a);a=a>>6&7;nd(this,this.b[a]);this.b[a]=this.b[7];P(this,b);this.a=this.aa-He[this.h]}
var Je=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ke(a){var b=vd(this,a);this.aa=this.a;Ad(this,a,b,this.ia);this.a=this.aa-Je[(this.L?8:0)+this.h]+(7!=this.f||this.h?0:2)}function Le(a){var b=ud(this,a);zd(this,a,b,65535,this.ia);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}var Me=[7,13,13,17,14,18,17,21];
function Ne(a){var b=yd(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.o=this.w|b;this.m=0;this.u=-32768>b||32767<b?65536:0;this.a-=23}function Oe(){this.a-=5}function Pe(){this.i&49152||(this.v.reset(),Cb(this),this.ma&&this.ma.setData(this.b[0],!0));this.a-=667}function Qe(a){if(a&8)K(this,8,0,-9);else{var b=pd(this);a&=7;7==a?P(this,b):(P(this,this.b[a]),this.b[a]=b);this.a-=9}}function Re(){od(this);this.a-=13}
function U(a){a&1&&(this.u=65536);a&2&&(this.m=32768);a&4&&(this.o=0);a&8&&(this.w=32768);this.a-=5}function Se(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)P(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Te(a){S(this,a,vd(this,a),Xd);this.a-=this.h?9+(this.T&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function Ue(a){S(this,a,0,Zd);this.a-=this.h?9:3+(7==this.f?2:0)}function Ve(){K(this,28,0,-9)}
function We(){this.ma&&(this.ma.U=this.b[7],this.ma.setData(this.b[0],!0));this.g|=8;jd(this,-2);this.a-=3}function Xe(a){S(this,a,this.b[(a>>6&7)+this.Zb],$d);this.a-=this.h?9:3+(7==this.f?2:0)}function V(){K(this,8,0,-9)}function cd(a){Ye[a>>12].call(this,a)}function Ze(a){$e[a>>6&3].call(this,a)}function af(a){bf[a>>6&3].call(this,a)}function cf(a){df[a>>6&3].call(this,a)}function ef(a){ff[a&15].call(this,a)}function gf(a){hf[a&15].call(this,a)}function jf(a){kf[a>>6&3].call(this,a)}
function lf(a){mf[a>>6&3].call(this,a)}function nf(a){of[a>>6&3].call(this,a)}
var Ye=[function(a){pf[a>>8&15].call(this,a)},Ke,ze,je,fe,he,ae,V,function(a){qf[a>>8&15].call(this,a)},Le,Ae,ke,ge,ie,Te,V],pf=[function(a){rf[a>>4&15].call(this,a)},we,te,le,me,re,ne,pe,Ie,Ie,Ze,af,cf,V,V,V],$e=[function(a){Ad(this,a,0,this.Ka);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Ld);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Pd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Nd);this.a-=this.h?9:3+(7==this.f?2:0)}],bf=[function(a){S(this,a,0,Rd);
this.a-=this.h?11:6},function(a){S(this,a,hd(this)?1:0,Bd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,hd(this)?1:0,Xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=yd(this,a);this.Ka(a);this.a-=this.h?4:3+(7==this.f?2:0)}],df=[function(a){S(this,a,0,Vd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Td);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Fd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Dd);this.a-=this.h?9:3+(7==this.f?2:0)}],rf=
[function(a){sf[a&15].call(this,a)},V,V,V,Ge,Ge,Ge,Ge,Qe,V,ef,gf,Ue,Ue,Ue,Ue],sf=[De,We,Re,ve,Ee,Pe,V,V,V,V,V,V,V,V,V,V],ff=[Oe,function(){this.u=0;this.a-=5},function(){this.m=0;this.a-=5},T,function(){this.o=1;this.a-=5},T,T,T,function(){this.w=0;this.a-=5},T,T,T,T,T,T,T],hf=[Oe,function(){this.u=65536;this.a-=5},function(){this.m=32768;this.a-=5},U,function(){this.o=0;this.a-=5},U,U,U,function(){this.w=32768;this.a-=5},U,U,U,U,U,U,U],qf=[ue,se,oe,qe,xe,ye,de,ee,Ce,Ve,jf,lf,nf,V,V,V],kf=[function(a){zd(this,
a,0,255,this.Ka);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Md);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Qd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Od);this.a-=this.h?9:3+(7==this.f?2:0)}],mf=[function(a){R(this,a,0,Sd);this.a-=this.h?11:6},function(a){R(this,a,hd(this)?1:0,Cd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){R(this,a,hd(this)?1:0,Yd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=xd(this,a);this.Ka(a<<8);this.a-=this.h?4:3+
(7==this.f?2:0)}],of=[function(a){R(this,a,0,Wd);this.a-=this.h?9+(this.Ub&1):3+(7==this.f?2:0)},function(a){R(this,a,0,Ud);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Gd);this.a-=this.h?9+(this.Ub&1):3+(7==this.f?2:0)},function(a){R(this,a,0,Ed);this.a-=this.h?9:3+(7==this.f?2:0)}];function dd(a){tf[a>>12].call(this,a)}
var tf=[function(a){uf[a>>8&15].call(this,a)},Ke,ze,je,fe,he,ae,function(a){vf[a>>8&15].call(this,a)},function(a){wf[a>>8&15].call(this,a)},Le,Ae,ke,ge,ie,Te,V],uf=[function(a){xf[a>>4&15].call(this,a)},we,te,le,me,re,ne,pe,Ie,Ie,Ze,af,cf,function(a){yf[a>>6&3].call(this,a)},V,V],yf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.ta);P(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=sd(this,a,0);this.ia(a);nd(this,a);this.a-=11},function(a){var b=pd(this);this.aa=
this.a;this.ia(b);td(this,a,0,b);this.a=this.aa-Me[this.h]},function(a){Ad(this,a,id(this)?65535:0,this.ia);this.a-=this.h?9:3+(7==this.f?2:0)}],xf=[function(a){zf[a&15].call(this,a)},V,V,V,Ge,Ge,Ge,Ge,Qe,function(a){!(a&8)||1145>this.pa?K(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},ef,gf,Ue,Ue,Ue,Ue],zf=[De,We,function(){od(this);this.g|=this.i&16;this.a-=13},ve,Ee,Pe,Re,function(){K(this,8,0,-9)},V,V,V,V,V,V,V,V],vf=[Ne,Ne,Be,Be,be,be,ce,ce,Xe,Xe,V,
V,V,V,Se,Se],wf=[ue,se,oe,qe,xe,ye,de,ee,Ce,Ve,jf,lf,nf,function(a){1145>this.pa?K(this,8,0,-9):Af[a>>6&3].call(this,a)},V,V],Af=[function(){K(this,8,0,-9)},function(a){a=sd(this,a,65536);this.ia(a);nd(this,a);this.a-=11},function(a){var b=pd(this);this.aa=this.a;this.ia(b);td(this,a,65536,b);this.a=this.aa-Me[this.h]},function(){K(this,8,0,-9)}];
function Bf(a){q.call(this,"ROM",a,128);this.ka=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.m=D(this.g);if(this.g){a=this.g;var b=Ea(this.m);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;E(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(ta(c.Ma,a,b),(a=Ma(a,b))?(c.b=a.O,c.ka=a.ka):c.g=null);Cf(c)})}}n(Bf,q);h=Bf.prototype;
h.ea=function(a,b,c,d){this.v=b;this.c=c;this.F=d;Cf(this)};h.ga=function(){this.ka&&(this.F&&this.F.a(this.id,this.h,this.a,this.ka),delete this.ka);return!0};h.fa=function(){return!0};
function Cf(a){if(!Aa(a)){if(a.g){if(!a.b||!a.v)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a){var b="ROM size ("+Da(a.b.length,8,!0)+") does not match specified size ("+Da(a.a,8,!0)+")";a.j.error=!0;a.B(b)}else{a:{b=a.h;if(57344<=b&&b<57344+Rb){var c={},c=(c[b]=[Bf.prototype.We,Bf.prototype.hg,null,null,null,a.a>>1],c);if(ob(a.v,a,c)){a.status("Added "+a.a+"-byte ROM at "+Ca(b));b=a.i=!0;break a}}else if(Xb(a.v,b,a.a,Cc)){for(c=0;c<a.b.length;c++)fc(a.v,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];
"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.v,g=d.a,k=[],l=d.h>>>f.h;0<g&&l<f.a.length;)k.push(f.a[l++]),g-=f.g;f=d.v;d=d.a;g=0;for(e>>>=f.h;0<d&&e<f.a.length;){l=k[g++];if(!l)break;f.a[e++]=l;d-=f.g}}a.i||delete a.b}}}B(a)}}h.We=function(a){return this.b[a-this.h]};h.hg=function(){};Xa(function(){for(var a=A(document,z,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Bf(d);w(d,c)}});
function Df(a){q.call(this,"RAM",a);this.ka=this.b=null;this.f=+a.addr;this.g=+a.size;this.ca=a.load;this.ba=a.exec;null!=this.ca&&(this.ca=+this.ca);null!=this.ba&&(this.ba=+this.ba);this.h=!1;this.a=a.file;this.i=D(this.a);if(this.a){a=this.a;var b=Ea(this.i);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;E(a,null,!0,function(a,b,f){f?(c.B("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ta(c.Ma,a,b),(a=Ma(a,b))?(c.b=a.O,c.ka=a.ka,
null==c.ca&&(c.ca=a.ca),null==c.ba&&(c.ba=a.ba)):c.a=null);Ef(c)})}}n(Df,q);Df.prototype.ea=function(a,b,c,d){this.v=b;this.c=c;this.F=d;Ef(this)};Df.prototype.ga=function(a,b){this.ka&&(this.F&&this.F.a(this.id,this.f,this.g,this.ka),delete this.ka);b||this.reset();return!0};Df.prototype.fa=function(){return!0};
function Ef(a){if(a.v&&(!a.h&&a.g&&(Xb(a.v,a.f,a.g,hc)?a.h=!0:a.g=0),!Aa(a))){if(!a.h)u("No RAM allocated");else if(a.a){if(!a.b||!a.v)return;Ff(a,a.b,a.ca,a.ba,a.f)?a.status('Loaded image "'+a.i+'"'):a.B('Error loading image "'+a.i+'"')}B(a)}}
Df.prototype.reset=function(){if(this.h){for(var a=this.v,b=this.f,c=this.g,d=b&a.f,b=b>>>a.h;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(eb&&e.a)for(k=d;f--&&k<e.a.length;k++)e.a[k]=g;else for(k=d;f--&&k<e.size;k++)e.l(d,g,e.Sa+d);c-=a.g;b++;d=0}this.b&&Ff(this,this.b,this.ca,this.ba,this.f,!0)}};
function Ff(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(t&255)+(t>>8)),y=l,x=p-=6;0<p&&l<b.length;)m+=b[l++]&255,p--;if(p||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(x)for(;x--;)fc(a.v,t++,b[y++]&255);else t&1?g=!0:null==d&&(d=t);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)fc(a.v,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.c),f=!1;null!=d&&fd(a.c,d,f)}return k}Xa(function(){for(var a=A(document,z,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Df(d);w(d,c)}});function Gf(a){q.call(this,"Keyboard",a,1024);B(this)}n(Gf,q);Gf.prototype.ha=function(){return!1};Gf.prototype.ea=function(a,b,c,d){this.A=a;this.c=c;this.F=d};Xa(function(){for(var a=A(document,z,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Gf(d);w(d,c)}});
function W(a){q.call(this,"SerialPort",a,262144);this.C=+a.adapter;this.K=+a.baudReceive||9600;this.aa=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.h=this.i=null;this.T=+a.tabSize;this.L=+a.charBOL;this.m=0;this.u=!0;this.H=this.D=null;this.I=this.Y=-1;this.o=this.a=this.b=0;this.f=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=Hf;b&&(void 0===c&&(c="Panel"),(c=za(c,this.id))&&(b=c.l[b])&&this.ha(null,a,b))}this.g=this.s=this.G=null;this.exports=
{connect:this.ad,receiveData:this.Sb,receiveStatus:this.qf,setConnection:this.vf}}n(W,q);h=W.prototype;
h.ha=function(a,b,c){var d=this;switch(b){case Hf:return this.l[b]=this.h=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.Ac:sa.nd:46==c?b=sa.Ac:a.ctrlKey&&c>=sa.zc&&c<=sa.Pd&&(b=c-(sa.zc-sa.kd));b&&(a.preventDefault&&a.preventDefault(),d.Sb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.md&&(b=sa.ld);d.Sb(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Sb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.F=d;var e=this;this.H=pc(this.c,this.C?-1:48,4,262144);this.I=lc(this.c,function(){var a;a=-1;e.f.length&&(a=e.f.shift()&255,e.w&&97<=a&&122>a&&(a-=32),oc(e.c,e.I,1E3/Math.round(e.K/10)));0<=a&&(e.o=a,e.a&128?e.o|=49152:e.a|=128,e.a&64&&nc(c,e.H))});this.D=pc(this.c,this.C?-1:52,4,262144);this.Y=lc(this.c,function(){e.b|=128;e.b&64&&nc(c,e.D)});ob(b,this,If,this.C?64832+8*(this.C-1)-65392:0);qb(b,this.reset.bind(this));B(this)};
h.ad=function(a){if(!this.g){var b=Rc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.La)return;c=Ja(c[1]);if(this.g=ya(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.u);if(this.s=e.receiveData){this.u=a;this.G=e.receiveStatus;this.status("Connected "+this.Ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.ga=function(a,b){if(!b)if(this.ad(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.fa=function(a){return a?this.save():!0};h.reset=function(){Jf(this)};h.save=function(){var a=new G(this);a.set(0,[this.o,this.a,this.b,this.f]);return a.data()};h.restore=function(a){return Jf(this,a[0])};function Jf(a,b){b||(b=[0,8192,128,a.f]);b=ja(b);a.o=b.next().value;a.a=b.next().value;a.b=b.next().value;a.f=b.next().value;return!0}
h.Sb=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);oc(this.c,this.I,1E3/Math.round(this.K/10));return!0};h.qf=function(a){var b=this.a;this.a&=-12289;a&32&&(this.a|=8192);a&256&&(this.a|=4096);b!=this.a&&(this.a|=32768,this.a&32&&nc(this.c,this.H))};h.vf=function(a,b){return this.g?!1:(this.g=a,this.s=b,!0)};
h.Je=function(){var a=this.a&65534;this.a&=-32769;return a};h.Vf=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.G&&b&6&&(b=0,b=this.u?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.G.call(this.g,b))};h.Ie=function(){this.a&=-129;return this.o};h.Uf=function(){};h.pf=function(){return this.b};h.zg=function(a){if(this.b&128)if(a&64)nc(this.c,this.D);else{var b=this.D;b&&rc(this.c,b)}this.b=this.b&-70|a&69};h.nf=function(){return 0};
h.yg=function(a){a&=255;this.s&&this.s.call(this.g,a);a&=127;if(this.h)if(13==a)this.m=0;else if(8==a)this.h.value=this.h.value.slice(0,-1),0<this.m&&this.m--;else{if(a){var b;13!=a&&10!=a&&(b=Ka[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.m%a,this.T&&(b=" ".slice(0,c)));this.L&&!this.m&&c&&(b=String.fromCharCode(this.L)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.m+=c}}else if(null!=
this.i){if(10==a||1024<=this.i.length)this.Z(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}oc(this.c,this.Y,1E3/Math.round(this.aa/10));this.b&=-129};var Hf="buffer",Kf={},If=(Kf[65392]=[null,null,W.prototype.Je,W.prototype.Vf,"RCSR"],Kf[65394]=[null,null,W.prototype.Ie,W.prototype.Uf,"RBUF"],Kf[65396]=[null,null,W.prototype.pf,W.prototype.zg,"XCSR"],Kf[65398]=[null,null,W.prototype.nf,W.prototype.yg,"XBUF"],Kf);
Xa(function(){for(var a=A(document,z,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new W(d);w(d,c)}});function zc(a){q.call(this,"PC11",a);this.C=Lf(this,a.autoMount);this.b=0;this.I=+a.baudReceive||3600;this.m=this.o=this.a=0;this.i=[];this.h=Mf;this.f=Nf;this.w=this.g="";this.O=this.ca=this.ba=null;this.G=-1;this.D=!Sa("Mobi")&&window&&"FileReader"in window;this.s=null;this.H=-1;this.u=null}n(zc,q);
function Lf(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){u(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=zc.prototype;
h.ha=function(a,b,c){var d=this,e=Nf;switch(b){case "listTapes":return this.l[b]=c,c.onchange=function(){var a=d.l.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){u("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.l[b]=c,!0;case "readTape":e=Of;case "loadTape":return e||(e=Pf),this.l[b]=c,c.onclick=
function(){var a=d.l.listTapes;a&&Qf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.D){c.parentNode.removeChild(c);break}this.l[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Qf(d,D(b,!0),b,Pf,a)}return!1};return!0;case Rf:return this.l[b]=c,!0}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.F=d;this.u=Sf(a);var e=this;if(a=Lf(this,Rc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=pc(this.c,56,4,4096);this.H=lc(this.c,function(){1==(e.a&32769)&&!(e.a&128)&&e.m<e.i.length&&(e.o=e.i[e.m++]&255,Tf(e,e.m/e.i.length*100),e.a|=128,e.a&=-2049,e.a&64&&nc(e.c,e.s))});ob(b,this,Uf);qb(b,this.reset.bind(this));Vf(this,"None",Mf,!0);this.D&&Vf(this,"Local Tape",Wf);Vf(this,"Remote Tape",Xf);Yf(this)||B(this)};
h.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.o=0};function Yf(a){a.b=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.l.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=D(c,!0)}c&&b?Zf(a,b,c,Pf,!0):$f(a)}return!!a.b}
function Qf(a,b,c,d,e){if(c)if(c==Wf)a.B('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Xf){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=D(c);a.status("Attempting to load "+c+' as "'+b+'"');a.h=Xf}else a.h=c;Zf(a,b,c,d,!1,e)}else ag(a,!1)}function Zf(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,ag(a,!0),a.j.Ta?a.B("PC11 busy"):(e&&a.b++,bg(a,b,c,d,f)?g++:a.j.Ta=!0);g&&cg(a,a.w,a.g,a.f,a.O,a.ca,a.ba)}
function bg(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),cg(a,b,c,d,e),a.h=Wf);$f(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ea(c),f="json"==e||"gz"==e?encodeURI(c):Na()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!E(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.j.S;g?a.B('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ta(a.Ma,e,f),(e=Ma(e,f))&&cg(a,b,c,d,e.O,e.ca,e.ba));
a.j.Ta=!1;a.b&&(a.b--,a.b||B(a));$f(a)})}function Vf(a,b,c,d){if((a=a.l.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function $f(a){var b=a.l.listTapes;if(b&&b.options){a=a.h||a.g;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
function Tf(a,b){b|=0;if(b!==a.G){var c=a.l[Rf];c&&(c=(c=A(c,dg))&&c[0])&&c.style&&(c.style.width=b+"%");a.G=b}}function cg(a,b,c,d,e,f,g){a.w=b;a.g=c;a.f=d;a.O=e;a.ca=f;a.ba=g;d==Of?a.u&&Ff(a.u,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.B('No valid memory address for tape "'+b+'"'):(a.m=0,a.i=e,a.status('Loaded tape "'+b+'"'),Tf(a,0))}function ag(a,b){if(a.g||!1===b)a.w="",a.g="",b||(a.f&&a.status(a.f==Pf?"tape detached":"tape unloaded"),a.h=Mf,a.f=Nf,$f(a))}h.save=function(){return(new G(this)).data()};
h.restore=function(){return!0};h.Ce=function(){return this.a&65534};h.Of=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&nc(this.c,this.s)):(this.a&=-129,this.a|=2048,this.o=0,oc(this.c,this.H,1E3/Math.round(this.I/10))));this.a=this.a&-66|a&65};h.Be=function(){this.a&=-129;this.a|=2048;return this.o};h.Nf=function(){};
var Mf="",Wf="?",Xf="??",Nf=0,Pf=1,Of=2,Rf="readProgress",dg="pcjs-progress-bar",eg={},Uf=(eg[65384]=[null,null,zc.prototype.Ce,zc.prototype.Of,"PRS"],eg[65386]=[null,null,zc.prototype.Be,zc.prototype.Nf,"PRB"],eg);
function fg(a,b,c){q.call(this,"Disk",{id:a.Ma+".disk"+Da(++gg,4)},8192);this.controller=a;this.A=a.A;this.F=a.F;this.h=b;this.na=b.name;this.X=this.Tb="";this.Mb=b.Mb;this.J=this.R=this.M=this.V=this.mode=0;this.a=[];this.f=null;this.g=!1;hg(this,c,b.J,b.R,b.M,b.V);this.b=this.i=null;B(this)}n(fg,q);h=fg.prototype;h.ea=function(a,b,c,d){this.F=d};
function hg(a,b,c,d,e,f){a.mode=b;a.J=c;a.R=d;a.M=e;a.V=f;a.a=[];if("preload"!=a.mode){b=Array(a.J);for(c=0;c<b.length;c++){d=Array(a.R);for(e=0;e<d.length;e++){f=Array(a.M);for(var g=1;g<=f.length;g++)f[g-1]=ig(null,c,e,g,a.V,0);d[e]=f}b[c]=d}a.a=b}a.f=null}
function jg(a,b,c,d,e){var f=c;if(a.b)return!0;a.na=b;a.X=c;a.Tb=D(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ra[d];if(e){a.J=e[0];a.R=e[1];a.M=e[2];a.V=e[3]||512;c=a.V>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.J);for(d=0;d<a.a.length;d++)for(var y=a.a[d]=Array(a.R),x=0;x<y.length;x++)for(var ca=y[x]=Array(a.M),Ia=0;Ia<ca.length;Ia++){for(var mc=ig(null,d,x,Ia+1,a.V,0),jh=mc.data,Hc=0;Hc<c;Hc++,f+=4)var kh=jh[Hc]=b.getInt32(f,
!0),e=e+kh&-1;mc.la=c;ca[Ia]=mc}a.f=e;c=a}else a.B("Unrecognized disk format ("+d+" bytes)");a.b&&(a.b.call(a.controller,a.h,c,a.na,a.X),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ea(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Fa(c,"/")&&(d="dir"),f=Na()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Mb?"":e)+"&format=json"));return!!E(f,
null,!0,function(b,c,d){kg(a,b,c,d)})}
function kg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.S;a.g=!1;if(d)a.controller.B('Unable to load disk "'+a.na+'" (error '+d+": "+b+")",f);else{ta(a.controller.Ma,b,c);try{if(0<D(a.Tb,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)u(k[0]);else{a.J=k.length;a.R=k[0].length;a.M=k[0][0].length;var l=k[0][0][0];a.V=l&&l.length||512;for(d=c=0;d<a.J;d++)for(f=0;f<a.R;f++)for(g=0;g<a.M;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var y=l.bytes;if(void 0!==y&&y.length){for(var x=m<<2,ca=y.length;ca<x;ca++)y[ca]=p;lg(l,y)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}ig(l,d,f);for(x=
0;x<t.length;x++)c=c+t[x]&-1}a.a=k;a.f=c;e=a}else u("Empty disk image: "+a.na)}catch(Ia){u("Disk image error ("+b+"): "+Ia.message)}}a.b&&(a.b.call(a.i,a.h,e,a.na,a.X),a.b=null)}function ig(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ph=b;a.Qh=c;a.sa=a.la=0;a.ya=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.h,g=this.a[a];if(g){var k=g[b];if(!k&&f.Sd&&b<f.R)for(k=g[b]=Array(f.Xc),g=0;g<k.length;g++)k[g]=ig(null,a,b,g+1,f.rc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Sd&&9==f.pc&&(d=k[g]=ig(null,a,b,f.pc,f.rc,0))}}e&&e(d,!1);return d};function lg(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.la?f<a.sa?(a.la+=a.sa-f,a.sa=f):f>=a.sa+a.la&&(a.la+=f-(a.sa+a.la)+1):(a.sa=f,a.la=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ig(a,b){var c=a.R*a.M,d=b/c|0;return d<a.J?(b%=c,a.seek(d,b/a.M|0,b%a.M+1)):null}function jg(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function kg(a){for(var b="",c=0,d;d=ig(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(jg(a,d,e));return btoa(b)}
function mg(a,b){var c=a.R*a.M,d=b/c|0;return d<a.J?(b%=c,a.seek(d,b/a.M|0,b%a.M+1)):null}function ng(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function og(a){for(var b="",c=0,d;d=mg(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ng(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.X,this.f,this.J,this.R,this.M,this.V];if(!this.g)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.la){for(var k=[],l=0,m=g.sa,p=g.sa+g.la;m<p;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.sa,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?dg(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?hg(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.sa=e;for(k.la=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.B("Unable to restore disk '"+this.na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=ig(this,a++);)lg(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function lg(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var cg=0;function Q(a){r.call(this,"RK11",a,0,65536);this.w=mg(this,a.autoMount);this.o=0;this.f=Array(8);this.C=!Pa("Mobi")&&window&&"FileReader"in window;this.h=[];this.Ia=null;this.u=this.b=this.a=this.m=this.i=this.g=this.s=0}n(Q,r);
function mg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Q.prototype;
h.ha=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=E(c.value);null!=a&&ng(d,a)},
!0;case "loadDisk":return this.l[b]=c,c.onclick=function(){var a=d.l.listDisks;a&&a.options&&og(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.l[b]=c,c.onclick=function(){var a,b=d.l.listDrives,b=b&&E(b.value);null==b||0>b||b>=d.f.length||!(a=d.f[b])?d.B("Unable to boot the selected drive"):a.P?(bd(d.c,0,!0),(a=d.tc(a,0,0,0,512,0,2))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.C){c.parentNode.removeChild(c);
break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.f&&((a=d.f[E(a.value)||0])?(a=a.P)?(a=Sa(kg(a),a.Jb.replace(".json",".img")),v(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.C)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;og(d,F(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;if(a=mg(this,Nc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.w[e]=a[e]);pg(this);this.Ia=lc(this.c,144,5,65536);lb(b,this,qg);nb(b,this.reset.bind(this));rg(this,"None",sg,!0);this.C&&rg(this,"Local Disk",tg);rg(this,"Remote Disk",ug);vg(this)||D(this)};
h.ga=function(a,b){if(!b){if(!a){if(this.reset(),this.A.m){this.h=[];for(a=0;a<this.f.length;a++)wg(this,a,!0);vg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";ng(this,0)}}return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){pg(this)};
h.save=function(){var a=new H(this);a.set(0,[this.u,this.b,this.a,this.m,this.i,this.g,this.s,xg(this)]);return a.data()};h.restore=function(a){return pg(this,a[0])};
function pg(a,b){b||(b=[2368,0,128,0,0,0,0]);var c=ia(b);a.u=c.next().value;a.b=c.next().value;a.a=c.next().value;a.m=c.next().value;a.i=c.next().value;a.g=c.next().value;a.s=c.next().value;b[7]&&(a.h=b[7]);for(b=0;b<a.f.length;b++){var d=a.f[b];void 0===d&&(d=a.f[b]={});c=a;d.Ha=b;d.name=c.Ka;d.Ua=d.ya=!1;d.J=203;d.R=2;d.M=12;d.V=512;d.Cb=!0;d.Yc=0;d.Wc=0;d.$b=1;d.vc=d.M;d.bc=d.V;d.ed=0;d.we=null;d.P||(d.X="");d.status=2368}return!0}
function xg(a){for(var b=0;b<a.f.length;b++){var c=a.f[b];c.P&&yg(a,c.X,c.P)}return a.h}
function vg(a,b){b||(a.o=0);for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=F(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.f.length)){!zg(a,g,f,e,!0)&&b&&D(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function og(a,b,c,d){var e=a.l.listDrives,e=e&&E(e.value);if(void 0===e||0>e||e>=a.f.length)a.B("Unable to load the selected drive");else if(c)if(c==tg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==ug){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"')}zg(a,e,b,c,!1,d)}else wg(a,e)}
function zg(a,b,c,d,e,f){var g=-1,k=a.f[b];k.X.toLowerCase()!=d.toLowerCase()&&(g++,wg(a,b,!0),k.Ua?a.B("RK11 busy"):(k.Ua=!0,e&&(k.Ta=!0,a.o++),k.ya=!!f,fg(new bg(a,k,"preload"),c,d,f,a.Mc)&&g++));return g}
h.Mc=function(a,b,c,d,e){a.Ua=!1;b&&(b.J>a.J||b.R>a.R)&&(this.B('Disk "'+c+'" too large for drive '+("RK"+a.Ha)),b=null);if(b){a.P=b;a.na=c;a.X=d;a:{var f;for(f=0;f<this.h.length;f++)if(this.h[f][1]==d){b.restore(this.h[f][2]);break a}this.h[f]=[c,d,[]]}this.B('Loaded disk "'+c+'" in drive '+("RK"+a.Ha),a.Ta||e);this.A&&Uc(this.A)}else a.ya=!1;a.Ta&&(a.Ta=!1,--this.o||D(this));ng(this,a.Ha)};
function rg(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ng(a,b){if(0<=b&&b<a.f.length){var c=a.f[b],d=a.l.listDisks;a=a.l.listDrives;if(d&&a&&d.options&&a.options&&(a=E(a.value),c=c.ya?tg:c.X,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function wg(a,b,c){var d=a.f[b];if(d.P||!1===c)yg(a,d.X,d.P),d.na="",d.X="",d.P=null,d.ya=!1,c||(a.B("Drive RK"+b+" unloaded",c),ng(a,b))}
function yg(a,b,c){var d;for(d=0;d<a.h.length;d++)if(a.h[d][1]==b){a.h[d][2]=c.save();break}}h.tc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var p=null,t;a||(m=128,e=0);for(;e;){if(!p){if(b>=a.J){m=64;break}p=a.seek(b,c,d+1);if(!p){m=4096;break}t=0;++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b))}var x,w;if(0>(x=a.read(p,t++))||0>(w=a.read(p,t++))){m=32;break}if(!k&&(Hb(this.v,md(this.c,f),x|w<<8),ic(this.v))){m=1024;break}t>=a.V&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Nc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var p=null,t;a||(m=128,e=0);for(;e;){var x=Jb(this.v,md(this.c,f));if(ic(this.v)){m=1024;break}if(!p){if(b>=a.J){m=64;break}p=a.seek(b,c,d+1,!0);if(!p){m=4096;break}t=0;++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b))}if(k){var w,Y;if(0>(w=a.read(p,t++))||0>(Y=a.read(p,t++))){m=32;break}if(x!=(w|Y<<8)){m=1;break}}else if(!a.write(p,t++,x&255)||!a.write(p,t++,x>>8)){m=32;break}t>=a.V&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Lc=function(a,b,c,d,e,f){this.i=f&65535;this.a=this.a&-49|f>>12&48;this.m=65536-e&65535;this.g=this.g&-16|d&15;this.b|=a;Ag(this);return!0};function Ag(a){a.a&=-32769;a.b&&(a.b|=32768,a.a|=32768,a.b&32736&&(a.a|=16384))}h.Ud=function(){return this.u};h.df=function(){};h.Vd=function(){return this.b};h.ef=function(){};h.Rd=function(){return this.a&61438};
h.af=function(a){this.a=this.a&-3968|a&3967;if(this.a&1){a=!0;var b,c,d=(this.g&57344)>>13,e=this.f[d],f,g,k,l,m,p;this.a&=-8321;this.b&=-4;switch(c=this.a&14){case 0:this.b=this.g=0;this.a=128;break;case 10:case 4:b=this.tc;case 6:case 2:b||(b=this.Nc);f=(this.g&8160)>>5;g=(this.g&16)>>4;k=this.g&15;l=65536-this.m&65535;m=(this.a&48)<<12|this.i;p=this.a&2048?0:2;if(f>=e.J){this.b|=64;break}if(k>=e.M){this.b|=32;break}a=b.call(this,e,f,g,k,l,m,p,6<=c,this.Lc.bind(this));break;case 8:f=(this.g&8160)>>
5;f<e.J?this.a|=8192:this.b|=64;break;case 12:this.b=this.g=0,this.a=8320}this.u=e.status|(e.P?128:0)|d<<13|this.g&15;Ag(this);a&&(this.a&=-2,this.a|=128,this.a&64&&N(this.c,this.Ia))}};h.Wd=function(){return this.m};h.ff=function(a){this.m=a};h.Qd=function(){return this.i};h.$e=function(a){this.i=a};h.Sd=function(){return this.g};h.bf=function(a){this.g=a};h.Td=function(){return this.s};h.cf=function(a){this.s=a};
var sg="",tg="?",ug="??",Bg={},qg=(Bg[65280]=[null,null,Q.prototype.Ud,Q.prototype.df,"RKDS"],Bg[65282]=[null,null,Q.prototype.Vd,Q.prototype.ef,"RKER"],Bg[65284]=[null,null,Q.prototype.Rd,Q.prototype.af,"RKCS"],Bg[65286]=[null,null,Q.prototype.Wd,Q.prototype.ff,"RKWC"],Bg[65288]=[null,null,Q.prototype.Qd,Q.prototype.$e,"RKBA"],Bg[65290]=[null,null,Q.prototype.Sd,Q.prototype.bf,"RKDA"],Bg[65294]=[null,null,Q.prototype.Td,Q.prototype.cf,"RKDB"],Bg);
function P(a){r.call(this,"RL11",a,0,131072);this.s=Cg(this,a.autoMount);this.o=0;this.b=Array(4);this.u=!Pa("Mobi")&&window&&"FileReader"in window;this.Ia=null;this.a=this.m=this.f=this.g=this.i=this.h=0;this.exports={selectDrive:this.xe}}n(P,r);function Cg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=P.prototype;
h.ha=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=E(c.value);null!=a&&Dg(d,a)},
!0;case "loadDisk":return this.l[b]=c,c.onclick=function(){var a=d.l.listDisks;a&&a.options&&Eg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.l[b]=c,c.onclick=function(){var a,b=d.l.listDrives,b=b&&E(b.value);null==b||0>b||b>=d.b.length||!(a=d.b[b])?d.B("Unable to boot the selected drive"):a.P?(bd(d.c,0,!0),(a=d.uc(a,0,0,0,512,0))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.u){c.parentNode.removeChild(c);
break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.b&&((a=d.b[E(a.value)||0])?(a=a.P)?(a=Sa(kg(a),a.Jb.replace(".json",".img")),v(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.u)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Eg(d,F(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;if(a=Cg(this,Nc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.s[e]=a[e]);Fg(this);this.Ia=lc(this.c,112,5,131072);lb(b,this,Gg);nb(b,this.reset.bind(this));Hg(this,"None",Ig,!0);this.u&&Hg(this,"Local Disk",Jg);Hg(this,"Remote Disk",Kg);Lg(this)||D(this)};
h.ga=function(a,b){if(!b){if(!a){if(this.reset(),this.A.m){for(a=0;a<this.b.length;a++)Mg(this,a,!0);Lg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Dg(this,0)}}return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){Fg(this)};h.save=function(){return(new H(this)).data()};
h.restore=function(a){return Fg(this,a[0])};function Lg(a,b){b||(a.o=0);for(var c in a.s){var d=a.s[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=F(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.b.length)){!Ng(a,g,f,e,!0)&&b&&D(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function Eg(a,b,c,d){var e=a.l.listDrives,e=e&&E(e.value);if(void 0===e||0>e||e>=a.b.length)a.B("Unable to load the selected drive");else if(c)if(c==Jg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Kg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ng(a,e,b,c,!1,d)}else Mg(a,e)}
function Ng(a,b,c,d,e,f){var g=-1,k=a.b[b];k.X.toLowerCase()!=d.toLowerCase()&&(g++,Mg(a,b,!0),k.Ua?a.B("RL11 busy"):(k.Ua=!0,e&&(k.Ta=!0,a.o++),k.ya=!!f,fg(new bg(a,k,"preload"),c,d,f,a.Pc)&&g++));return g}h.Pc=function(a,b,c,d,e){a.Ua=!1;b&&(b.J>a.J||b.R>a.R)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Ha)),b=null);b?(a.P=b,a.na=c,a.X=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Ha),a.Ta||e),this.A&&Uc(this.A)):a.ya=!1;a.Ta&&(a.Ta=!1,--this.o||D(this));Dg(this,a.Ha)};
function Hg(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Dg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.l.listDisks;a=a.l.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(E(a.options[c].value)==e.Ha){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=E(a.value);e=e.ya?Jg:e.X;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.xe=function(a){var b=this.l.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=E(b.options[d].value);if(0<=e)return Dg(this,e,!0)}return!1};function Mg(a,b,c){var d=a.b[b];if(d.P||!1===c)d.na="",d.X="",d.P=null,d.ya=!1,c||(a.B("Drive RL"+b+" unloaded",c),Dg(a,b))}
function Fg(a,b){var c=0;b||(b=[]);a.a=b[c++]||129;a.m=b[c++]||0;a.f=b[c++]||0;a.g=b[c++]||0;a.i=b[c++]||0;a.h=b[c]||0;for(b=0;b<a.b.length;b++){var d=a.b[b];void 0===d&&(d=a.b[b]={});c=a;d.Ha=b;d.name=c.Ka;d.Ua=d.ya=!1;d.J=512;d.R=2;d.M=40;d.V=256;d.Cb=!0;d.Yc=0;d.Wc=0;d.$b=1;d.vc=d.M;d.bc=d.V;d.ed=0;d.we=null;d.P||(d.X="");d.status=29}return!0}
h.uc=function(a,b,c,d,e,f,g){var k=0;a=a.P;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var p,t;if(0>(p=a.read(l,m++))||0>(t=a.read(l,m++))){k=5120;break}Hb(this.v,md(this.c,f),p|t<<8);if(ic(this.v)){k=8192;break}f+=2;e--;if(m>=a.V&&(l=null,++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Qc=function(a,b,c,d,e,f,g){var k=0;a=a.P;var l=null,m;a||(k=5120,e=0);for(;e;){var p=Jb(this.v,md(this.c,f));if(ic(this.v)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,p&255)||!a.write(l,m++,p>>8)){k=5120;break}if(m>=a.V&&(l=null,++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Oc=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&-49|f>>12&48;this.h=f>>16&63;this.g=this.f=b<<7|(c?64:0)|d&63;this.i=65536-e&65535;a&&(this.a=this.a|a|32768);return!0};h.Zd=function(){return this.a&65535};
h.jf=function(a){this.a=this.a&-1023|a&1022;this.h=this.h&60|(a&48)>>4;if(!(this.a&128)){a=!0;var b,c=this.b[(this.a&768)>>8],d=c.P,e,f,g;this.a&=-2;switch(this.a&14){case 4:this.i&8&&(this.a&=63);this.i=c.status|this.g&64|(d&&512==d.J?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.g=this.f&4?this.g+b:this.g-b,this.f=this.g=this.g&65408|c);break;case 8:this.i=this.g;break;case 12:b=this.uc;case 10:b||(b=this.Qc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.J||g>=d.M?
this.a|=37888:(a=65536-this.i&65535,d=(this.h&63)<<16|this.m,a=b.call(this,c,e,f,g,a,d,this.Oc.bind(this)))}a&&(this.a|=129,this.a&64&&N(this.c,this.Ia))}};h.Xd=function(){return this.m};h.gf=function(a){this.m=a&65534};h.$d=function(){return this.f};h.kf=function(a){this.f=a};h.ae=function(){return this.i};h.lf=function(a){this.i=a};h.Yd=function(){return this.h};h.hf=function(a){this.h=a&63;this.a=this.a&-49|(this.h&3)<<4};
var Ig="",Jg="?",Kg="??",Og={},Gg=(Og[63744]=[null,null,P.prototype.Zd,P.prototype.jf,"RLCS"],Og[63746]=[null,null,P.prototype.Xd,P.prototype.gf,"RLBA"],Og[63748]=[null,null,P.prototype.$d,P.prototype.kf,"RLDA"],Og[63750]=[null,null,P.prototype.ae,P.prototype.lf,"RLMP"],Og[63752]=[null,null,P.prototype.Yd,P.prototype.hf,"RLBE"],Og);
function Pg(a,b,c){r.call(this,"Computer",a,0,33554432);this.j.S=!1;this.G=null;Qg(this,b);this.C=Nc(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.u=this.s=this.w=null;this.o=this.I=!1;this.i=this.h=null;this.H=this.m=this.F=!1;this.L=Nc(this,"url")||"";(Math.random()+.1).toString(36);this.b=Rg(this);if(this.c=wa("CPU",this.id)){this.D=wa("Debugger",this.id);this.v=new Nb({id:this.La+".bus",busWidth:this.K},this.c,this.D);var d,e=y(this.id);if((this.f=wa("Panel",this.id))&&this.f.bb)for(b=
0;b<e.length;b++)d=e[b],d.B=this.f.B,d.Z=this.f.Z,d.bb=this.f.bb;this.Z(cb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.Z("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.ea&&d.ea(this,this.v,this.c,this.D);this.a=Nc(this,"resume",a,4,Sg);var f;b=null;if(a=Nc(this,"state")||(f=!0,a.state))this.w=b=a,f||(this.o=!0,this.a=
Sg),this.a&&(this.i=new H(this,"1.32.2"),Tg(this.i)?b=null:delete this.i);!b&&this.a&&(b=Ug(this))&&(this.o=!0);if(b){var g=this;G(b,null,!0,function(a,b,c){c?(g.s=null,g.o=!1,g.B("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.u=b,g.I=!0);D(g)})}else D(this);this.l.power||(this.C=!0);!c&&this.C&&Vg(this,this.vb)}else v("Unable to find CPU component")}n(Pg,r);
function Qg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.G=b}function Nc(a,b,c,d,e){var f=b.toLowerCase(),f=Qa(b)||Qa(f);void 0===f&&a.G&&(f=a.G[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Vg(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!xa(f)){xa(f,function(){Vg(a,b,c)});return}}b.call(a,c)}function Wg(a,b){var c=new H(a,"1.32.2",Xg);if(Tg(c)&&Yg(c)){var d=c.get(Zg),e=b?b.get(Zg):"unknown";d!=e&&(a.B("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Pg.prototype;
h.vb=function(a){void 0===a&&(a=this.a||(this.u?$g:Sg));if(!this.g){this.g++;var b=!1,c=!1;this.F=!1;var d=this.i||new H(this,"1.32.2");if(a==ah)b=!0;else if(a>Sg){if(Tg(d,this.u)){this.h=new H(this,"1.32.2",bh);Tg(this.h)&&(ch(this,d),a=fh,gh(this.h));this.h.set(Zg,Ia());hh(this.h);var e=this.a&&!this.o;if(a==$g||ua("Click OK to restore the previous "+cb+" machine state, or CANCEL to reset the machine.")){if(c=Yg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Tg(d,g):("error"==f&&"no machine state"!=
g?(this.B("Error: "+g),"unable to verify user"==g&&(Oa(ih,""),this.b=null)):this.Z(f+": "+g),gh(d),Tg(d)?(c=Yg(d),e=!0):c=!1))}e&&Wg(this,c?d:null)}else a==fh&&d.clear()}else Wg(this);delete this.u;delete this.i}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=jh(this,g,d,b,c));b=[d,a,c];a!=ah?Vg(this,this.wc,b):this.wc(b)}};
function jh(a,b,c,d,e){if(!b.j.S){b.j.S=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ga(f,d)&&f&&(v("Unable to restore state for "+b.type),a.w&&!a.I?(c.clear(),a.a=Sg,window&&window.location.reload()):a.F=!0,b.ga(null),e=!1),!d&&b.oc){var g=b.oc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.wc=function(a){var b=a[0],c=0>a[1];a=a[2];this.H=!0;this.j.S=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.c&&(jh(this,this.c,b,c,a),Fb(this,-2),this.c.da());this.F&&(ch(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
function ch(a,b){if(ua("There may be a problem with your "+cb+" machine.\n\nTo help us diagnose it, click OK to send this "+cb+" machine state to http://www.pcjs.org.")){var c=a.L;a=a.b||"";b=b.toString();var d={};d.app=cb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;G("http://www.pcjs.org/api/v1/report",d,!0)}}
function kh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new H(a,"1.32.2"),g=new H(a,"1.32.2",Xg),k=Ia();g.set(Zg,k);f.set(Zg,k);f.set(lh,"1.32.2");f.set(mh,window?window.location.href:null);f.set(nh,window?window.navigator.userAgent:"");a.c&&a.c.fa&&(c&&(b&&(a.c.j.da=a.c.j.N),I(a.c)),d=a.c.fa(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.j.S=!1,!1===d&&(e=null)));for(var k=y(a.id),l=0;l<k.length;l++){var m=k[l];m.j.S&&(m.fa&&(d=m.fa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.j.S=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.b&&oh(a,a.b,f.toString()),hh(g)&&hh(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==ph),d&&f.clear(k)):e=f.toString());c&&(a.j.S=!1,b=a.l.power)&&(b.textContent="Power");a.g=0;return e}h.reset=function(){this.v&&this.v.reset&&this.v.reset();this.c&&this.c.reset&&this.c.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c!==this.c&&c.reset&&c.reset()}Fb(this,-1)};
h.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Fb(this,-1)};h.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Fb(this,-1)};
function Fb(a,b){if(a.c){var c=a.c,d=b||0,e=c.l.speed;e&&(0>=d||30<=(c.hc+=d))&&(e.textContent=c.j.N?c.Ma.toFixed(2)+"Mhz":"Stopped",c.hc=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)vb(a,"R"+e,a.c.b[e]);e=tc(a.c);vb(a,"PS",e);vb(a,"NF",e&8?1:0,1);vb(a,"ZF",e&4?1:0,1);vb(a,"VF",e&2?1:0,1);vb(a,"CF",e&1?1:0,1);a.i=0}-1>b?a.U=a.c.b[7]:0<b&&c&&!d&&(a.U=a.c.Aa);rb(a,a.U);ib(a,a.f);b=a.c;b=b.Ya?b.qa&16?1:2:4;Kb(a,"B22",b&1);Kb(a,"B18",b&2);Kb(a,
h.toJSON=function(){var a;a=0;for(var b;b=mg(this,a++);)pg(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function pg(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var gg=0;function qg(a,b,c,d,e,f){q.call(this,a,b,c);this.w=rg(this,b.autoMount);this.o=0;this.G=d;this.H=e;this.I=f;this.D=d.rd;this.f=Array(this.D);this.C=!Sa("Mobi")&&window&&"FileReader"in window;this.h=[];this.Ja=null}n(qg,q);
function rg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){u(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=qg.prototype;
h.ha=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){u(d.type+" option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=C(c.value);null!=a&&sg(d,
a)},!0;case "loadDisk":return this.l[b]=c,c.onclick=function(){var a=d.l.listDisks;a&&a.options&&tg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.l[b]=c,c.onclick=function(){var a,b=d.l.listDrives,b=b&&C(b.value);null==b||0>b||b>=d.f.length||!(a=d.f[b])?d.B("Unable to boot the selected drive"):a.P?(fd(d.c,0,!0),(a=d.fc(a,0,0,0,512,0,2))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.C){c.parentNode.removeChild(c);
break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.f&&((a=d.f[C(a.value)||0])?(a=a.P)?(a=Va(og(a),a.Tb.replace(".json",".img")),u(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.C)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;tg(d,D(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.F=d;if(a=rg(this,Rc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.w[e]=a[e]);this.qb();this.Ja=pc(this.c,this.G.Md,this.G.vd,this.Jc);ob(b,this,this.I);qb(b,this.reset.bind(this));ug(this,"None",vg,!0);this.C&&ug(this,"Local Disk",wg);ug(this,"Remote Disk",xg);yg(this)||B(this)};
h.ga=function(a,b){if(!b){if(!a){if(this.reset(),this.A.m){this.h=[];for(a=0;a<this.f.length;a++)zg(this,a,!0);yg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.D;b++){var c=document.createElement("option");c.value=b;c.text=this.type.substr(0,2)+b;a.appendChild(c)}0<this.D&&(a.value="0",sg(this,0))}}return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){this.qb()};
h.save=function(){var a=new G(this);a.set(0,this.Bc());a.set(0,Ag(this));return a.data()};h.restore=function(a){return this.qb(a[0],a[1])};h.qb=function(a,b){b&&(this.h=b);for(a=0;a<this.f.length;a++){b=this.f[a];void 0===b&&(b=this.f[a]={});var c=this.H;b.Ia=a;b.name=this.La;b.Va=b.za=!1;b.Mb=!0;b.J=c[0];b.R=c[1];b.M=c[2];b.V=c[3];b.status=c[4];b.Td=0;b.Rd=0;b.pc=1;b.Xc=b.M;b.rc=b.V;b.$d=0;b.sf=null;b.P||(b.X="")}return!0};h.Bc=function(){};
function Ag(a){for(var b=0;b<a.f.length;b++){var c=a.f[b];c.P&&Bg(a,c.X,c.P)}return a.h}
function yg(a,b){b||(a.o=0);for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=D(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.f.length)){!Cg(a,g,f,e,!0)&&b&&B(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function tg(a,b,c,d){var e=a.l.listDrives,e=e&&C(e.value);if(void 0===e||0>e||e>=a.f.length)a.B("Unable to load the selected drive");else if(c)if(c==wg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==xg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=D(c);a.status("Attempting to load "+c+' as "'+b+'"')}Cg(a,e,b,c,!1,d)}else zg(a,e)}
function Cg(a,b,c,d,e,f){var g=-1,k=a.f[b];k.X.toLowerCase()!=d.toLowerCase()&&(g++,zg(a,b,!0),k.Va?a.B(a.type+" busy"):(k.Va=!0,e&&(k.Ua=!0,a.o++),k.za=!!f,jg(new fg(a,k,"preload"),c,d,f,a.sd)&&g++));return g}
h.sd=function(a,b,c,d,e){a.Va=!1;b&&(b.J>a.J||b.R>a.R)&&(this.B('Disk "'+c+'" too large for drive '+(this.type.substr(0,2)+a.Ia)),b=null);if(b){a.P=b;a.na=c;a.X=d;a:{var f;for(f=0;f<this.h.length;f++)if(this.h[f][1]==d){b.restore(this.h[f][2]);break a}this.h[f]=[c,d,[]]}this.B('Loaded disk "'+c+'" in drive '+(this.type.substr(0,2)+a.Ia),a.Ua||e);this.A&&Yc(this.A)}else a.za=!1;a.Ua&&(a.Ua=!1,--this.o||B(this));sg(this,a.Ia)};
function ug(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function sg(a,b){if(0<=b&&b<a.f.length){var c=a.f[b],d=a.l.listDisks;a=a.l.listDrives;if(d&&a&&d.options&&a.options&&(a=C(a.value),c=c.za?wg:c.X,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function zg(a,b,c){var d=a.f[b];if(d.P||!1===c)Bg(a,d.X,d.P),d.na="",d.X="",d.P=null,d.za=!1,c||(a.B("Drive "+(a.type.substr(0,2)+b)+" unloaded",c),sg(a,b))}
function Bg(a,b,c){var d;for(d=0;d<a.h.length;d++)if(a.h[d][1]==b){a.h[d][2]=c.save();break}}h.fc=function(){return!1};h.Cc=function(){return!1};var vg="",wg="?",xg="??";function O(a){qg.call(this,"RK11",a,65536,F,F.Jb,Dg);this.u=this.b=this.a=this.m=this.i=this.g=this.s=0}n(O,qg);h=O.prototype;
h.qb=function(a,b){a||(a=[Eg.Jb|Eg.Uc|Eg.Rc,0,X.pb,0,0,0,0]);var c=ja(a);this.u=c.next().value;this.b=c.next().value;this.a=c.next().value;this.m=c.next().value;this.i=c.next().value;this.g=c.next().value;this.s=c.next().value;return qg.prototype.qb.call(this,a,b)};h.Bc=function(){return[this.u,this.b,this.a,this.m,this.i,this.g,this.s]};
h.fc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var p=null,t;a||(m=Y.Kc,e=0);for(;e;){if(!p){if(b>=a.J){m=Y.Hb;break}p=a.seek(b,c,d+1);if(!p){m=Y.Tc;break}t=0;++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b))}var y,x;if(0>(y=a.read(p,t++))||0>(x=a.read(p,t++))){m=Y.Ib;break}if(!k&&(Kb(this.v,qd(this.c,f),y|x<<8),kc(this.v))){m=Y.Lc;break}t>=a.V&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Cc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var p=null,t;a||(m=Y.Kc,e=0);for(;e;){var y=Mb(this.v,qd(this.c,f));if(kc(this.v)){m=Y.Lc;break}if(!p){if(b>=a.J){m=Y.Hb;break}p=a.seek(b,c,d+1,!0);if(!p){m=Y.Tc;break}t=0;++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b))}if(k){var x,ca;if(0>(x=a.read(p,t++))||0>(ca=a.read(p,t++))){m=Y.Ib;break}if(y!=(x|ca<<8)){m=Y.Nd;break}}else if(!a.write(p,t++,y&255)||!a.write(p,t++,y>>8)){m=Y.Ib;break}t>=a.V&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.yd=function(a,b,c,d,e,f){this.i=f&65535;this.a=this.a&~X.Xa|f>>16-X.xa.Xa&X.Xa;this.m=65536-e&65535;this.g=this.g&~Z.nc|d&Z.nc;this.b|=a;Fg(this);return!0};function Fg(a){a.a&=~X.Dc;a.b&&(a.b|=Y.pd,a.a|=X.Dc,a.b&Y.jc&&(a.a|=X.jc))}h.Oe=function(){return this.u};h.$f=function(){};h.Pe=function(){return this.b};h.ag=function(){};h.Le=function(){return this.a&X.Fd};
h.Xf=function(a){this.a=this.a&~X.Wc|a&X.Wc;if(this.a&X.Ec){a=!0;var b,c,d=(this.g&Z.dc)>>Z.xa.dc,e=this.f[d],f,g,k,l,m,p;this.a&=~(X.pb|X.oc);this.b&=~Y.Hd;switch(c=this.a&X.Gb){case Gg.jd:this.b=this.g=0;this.a=X.pb;break;case Gg.wd:case Gg.xd:b=this.fc;case Gg.Vc:case Gg.Od:b||(b=this.Cc);f=(this.g&Z.ob)>>Z.xa.ob;g=(this.g&Z.kc)>>Z.xa.kc;k=this.g&Z.nc;l=65536-this.m&65535;m=(this.a&X.Xa)<<16-X.xa.Xa|this.i;p=this.a&X.td?0:2;if(f>=e.J){this.b|=Y.Hb;break}if(k>=e.M){this.b|=Y.Ib;break}a=b.call(this,
e,f,g,k,l,m,p,c>=Gg.Vc,this.yd.bind(this));break;case Gg.Id:f=(this.g&Z.ob)>>Z.xa.ob;f<e.J?this.a|=X.oc:this.b|=Y.Hb;break;case Gg.qd:this.b=this.g=0,this.a=X.pb|X.oc}this.u=e.status|(e.P?Eg.od:0)|d<<Eg.xa.Fc|this.g&Eg.Gd;Fg(this);a&&(this.a&=~X.Ec,this.a|=X.pb,this.a&X.ud&&nc(this.c,this.Ja))}};h.Qe=function(){return this.m};h.bg=function(a){this.m=a};h.Ke=function(){return this.i};h.Wf=function(a){this.i=a};h.Me=function(){return this.g};h.Yf=function(a){this.g=a};h.Ne=function(){return this.s};
h.Zf=function(a){this.s=a};var Eg=F.Kb,Y=F.Bd,X=F.zd,Z=F.Ad,Gg=F.Gb,Hg={},Dg=(Hg[65280]=[null,null,O.prototype.Oe,O.prototype.$f,"RKDS"],Hg[65282]=[null,null,O.prototype.Pe,O.prototype.ag,"RKER"],Hg[65284]=[null,null,O.prototype.Le,O.prototype.Xf,"RKCS"],Hg[65286]=[null,null,O.prototype.Qe,O.prototype.bg,"RKWC"],Hg[65288]=[null,null,O.prototype.Ke,O.prototype.Wf,"RKBA"],Hg[65290]=[null,null,O.prototype.Me,O.prototype.Yf,"RKDA"],Hg[65294]=[null,null,O.prototype.Ne,O.prototype.Zf,"RKDB"],Hg);
function N(a){q.call(this,"RL11",a,131072);this.s=Ig(this,a.autoMount);this.o=0;this.b=Array(4);this.u=!Sa("Mobi")&&window&&"FileReader"in window;this.Ja=null;this.a=this.m=this.f=this.g=this.i=this.h=0;this.exports={selectDrive:this.tf}}n(N,q);function Ig(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){u(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=N.prototype;
h.ha=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){u("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=C(c.value);null!=a&&Jg(d,a)},
!0;case "loadDisk":return this.l[b]=c,c.onclick=function(){var a=d.l.listDisks;a&&a.options&&Kg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.l[b]=c,c.onclick=function(){var a,b=d.l.listDrives,b=b&&C(b.value);null==b||0>b||b>=d.b.length||!(a=d.b[b])?d.B("Unable to boot the selected drive"):a.P?(fd(d.c,0,!0),(a=d.Qc(a,0,0,0,512,0))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.u){c.parentNode.removeChild(c);
break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.b&&((a=d.b[C(a.value)||0])?(a=a.P)?(a=Va(og(a),a.Tb.replace(".json",".img")),u(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.u)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Kg(d,D(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ea=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.F=d;if(a=Ig(this,Rc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.s[e]=a[e]);Lg(this);this.Ja=pc(this.c,112,5,131072);ob(b,this,Mg);qb(b,this.reset.bind(this));Ng(this,"None",Og,!0);this.u&&Ng(this,"Local Disk",Pg);Ng(this,"Remote Disk",Qg);Rg(this)||B(this)};
h.ga=function(a,b){if(!b){if(!a){if(this.reset(),this.A.m){for(a=0;a<this.b.length;a++)Sg(this,a,!0);Rg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.l.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Jg(this,0)}}return!0};h.fa=function(a){return a?this.save():!0};h.reset=function(){Lg(this)};h.save=function(){return(new G(this)).data()};
h.restore=function(a){return Lg(this,a[0])};function Rg(a,b){b||(a.o=0);for(var c in a.s){var d=a.s[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=D(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.b.length)){!Tg(a,g,f,e,!0)&&b&&B(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function Kg(a,b,c,d){var e=a.l.listDrives,e=e&&C(e.value);if(void 0===e||0>e||e>=a.b.length)a.B("Unable to load the selected drive");else if(c)if(c==Pg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Qg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=D(c);a.status("Attempting to load "+c+' as "'+b+'"')}Tg(a,e,b,c,!1,d)}else Sg(a,e)}
function Tg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.X.toLowerCase()!=d.toLowerCase()&&(g++,Sg(a,b,!0),k.Va?a.B("RL11 busy"):(k.Va=!0,e&&(k.Ua=!0,a.o++),k.za=!!f,jg(new fg(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}h.Dd=function(a,b,c,d,e){a.Va=!1;b&&(b.J>a.J||b.R>a.R)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Ia)),b=null);b?(a.P=b,a.na=c,a.X=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Ia),a.Ua||e),this.A&&Yc(this.A)):a.za=!1;a.Ua&&(a.Ua=!1,--this.o||B(this));Jg(this,a.Ia)};
function Ng(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Jg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.l.listDisks;a=a.l.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(C(a.options[c].value)==e.Ia){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=C(a.value);e=e.za?Pg:e.X;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.tf=function(a){var b=this.l.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=C(b.options[d].value);if(0<=e)return Jg(this,e,!0)}return!1};function Sg(a,b,c){var d=a.b[b];if(d.P||!1===c)d.na="",d.X="",d.P=null,d.za=!1,c||(a.B("Drive RL"+b+" unloaded",c),Jg(a,b))}
function Lg(a,b){var c=0;b||(b=[]);a.a=b[c++]||129;a.m=b[c++]||0;a.f=b[c++]||0;a.g=b[c++]||0;a.i=b[c++]||0;a.h=b[c]||0;for(b=0;b<a.b.length;b++){var d=a.b[b];void 0===d&&(d=a.b[b]={});c=a;d.Ia=b;d.name=c.La;d.Va=d.za=!1;d.J=512;d.R=2;d.M=40;d.V=256;d.Mb=!0;d.Td=0;d.Rd=0;d.pc=1;d.Xc=d.M;d.rc=d.V;d.$d=0;d.sf=null;d.P||(d.X="");d.status=29}return!0}
h.Qc=function(a,b,c,d,e,f,g){var k=0;a=a.P;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var p,t;if(0>(p=a.read(l,m++))||0>(t=a.read(l,m++))){k=5120;break}Kb(this.v,qd(this.c,f),p|t<<8);if(kc(this.v)){k=8192;break}f+=2;e--;if(m>=a.V&&(l=null,++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.P;var l=null,m;a||(k=5120,e=0);for(;e;){var p=Mb(this.v,qd(this.c,f));if(kc(this.v)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,p&255)||!a.write(l,m++,p>>8)){k=5120;break}if(m>=a.V&&(l=null,++d>=a.M&&(d=0,++c>=a.R&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&-49|f>>12&48;this.h=f>>16&63;this.g=this.f=b<<7|(c?64:0)|d&63;this.i=65536-e&65535;a&&(this.a=this.a|a|32768);return!0};h.Te=function(){return this.a&65535};
h.eg=function(a){this.a=this.a&-1023|a&1022;this.h=this.h&60|(a&48)>>4;if(!(this.a&128)){a=!0;var b,c=this.b[(this.a&768)>>8],d=c.P,e,f,g;this.a&=-2;switch(this.a&14){case 4:this.i&8&&(this.a&=63);this.i=c.status|this.g&64|(d&&512==d.J?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.g=this.f&4?this.g+b:this.g-b,this.f=this.g=this.g&65408|c);break;case 8:this.i=this.g;break;case 12:b=this.Qc;case 10:b||(b=this.Ed),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.J||g>=d.M?
this.a|=37888:(a=65536-this.i&65535,d=(this.h&63)<<16|this.m,a=b.call(this,c,e,f,g,a,d,this.Cd.bind(this)))}a&&(this.a|=129,this.a&64&&nc(this.c,this.Ja))}};h.Re=function(){return this.m};h.cg=function(a){this.m=a&65534};h.Ue=function(){return this.f};h.fg=function(a){this.f=a};h.Ve=function(){return this.i};h.gg=function(a){this.i=a};h.Se=function(){return this.h};h.dg=function(a){this.h=a&63;this.a=this.a&-49|(this.h&3)<<4};
var Og="",Pg="?",Qg="??",Ug={},Mg=(Ug[63744]=[null,null,N.prototype.Te,N.prototype.eg,"RLCS"],Ug[63746]=[null,null,N.prototype.Re,N.prototype.cg,"RLBA"],Ug[63748]=[null,null,N.prototype.Ue,N.prototype.fg,"RLDA"],Ug[63750]=[null,null,N.prototype.Ve,N.prototype.gg,"RLMP"],Ug[63752]=[null,null,N.prototype.Se,N.prototype.dg,"RLBE"],Ug);
function Vg(a,b,c){q.call(this,"Computer",a,33554432);this.j.S=!1;this.G=null;Wg(this,b);this.C=Rc(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.u=this.s=this.w=null;this.o=this.I=!1;this.i=this.h=null;this.H=this.m=this.D=!1;this.L=Rc(this,"url")||"";(Math.random()+.1).toString(36);this.b=Xg(this);if(this.c=za("CPU",this.id)){this.F=za("Debugger",this.id);this.v=new Qb({id:this.Ma+".bus",busWidth:this.K},this.c,this.F);var d,e=xa(this.id);if((this.f=za("Panel",this.id))&&this.f.eb)for(b=
0;b<e.length;b++)d=e[b],d.B=this.f.B,d.Z=this.f.Z,d.eb=this.f.eb;this.Z(fb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.Z("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.ea&&d.ea(this,this.v,this.c,this.F);this.a=Rc(this,"resume",a,4,Yg);var f;b=null;if(a=Rc(this,"state")||(f=!0,a.state))this.w=b=a,f||(this.o=!0,this.a=
Yg),this.a&&(this.i=new G(this,"1.32.2"),Zg(this.i)?b=null:delete this.i);!b&&this.a&&(b=$g(this))&&(this.o=!0);if(b){var g=this;E(b,null,!0,function(a,b,c){c?(g.s=null,g.o=!1,g.B("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(g.u=b,g.I=!0);B(g)})}else B(this);this.l.power||(this.C=!0);!c&&this.C&&ah(this,this.Ab)}else u("Unable to find CPU component")}n(Vg,q);
function Wg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.G=b}function Rc(a,b,c,d,e){var f=b.toLowerCase(),f=Ta(b)||Ta(f);void 0===f&&a.G&&(f=a.G[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function ah(a,b,c){for(var d=xa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Aa(f)){Aa(f,function(){ah(a,b,c)});return}}b.call(a,c)}function bh(a,b){var c=new G(a,"1.32.2",ch);if(Zg(c)&&dh(c)){var d=c.get(eh),e=b?b.get(eh):"unknown";d!=e&&(a.B("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Vg.prototype;
h.Ab=function(a){void 0===a&&(a=this.a||(this.u?fh:Yg));if(!this.g){this.g++;var b=!1,c=!1;this.D=!1;var d=this.i||new G(this,"1.32.2");if(a==gh)b=!0;else if(a>Yg){if(Zg(d,this.u)){this.h=new G(this,"1.32.2",hh);Zg(this.h)&&(ih(this,d),a=lh,mh(this.h));this.h.set(eh,La());nh(this.h);var e=this.a&&!this.o;if(a==fh||wa("Click OK to restore the previous "+fb+" machine state, or CANCEL to reset the machine.")){if(c=dh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zg(d,g):("error"==f&&"no machine state"!=
g?(this.B("Error: "+g),"unable to verify user"==g&&(Ra(oh,""),this.b=null)):this.Z(f+": "+g),mh(d),Zg(d)?(c=dh(d),e=!0):c=!1))}e&&bh(this,c?d:null)}else a==lh&&d.clear()}else bh(this);delete this.u;delete this.i}e=xa(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=ph(this,g,d,b,c));b=[d,a,c];a!=gh?ah(this,this.Yc,b):this.Yc(b)}};
function ph(a,b,c,d,e){if(!b.j.S){b.j.S=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ga(f,d)&&f&&(u("Unable to restore state for "+b.type),a.w&&!a.I?(c.clear(),a.a=Yg,window&&window.location.reload()):a.D=!0,b.ga(null),e=!1),!d&&b.Mc){var g=b.Mc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){u("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Yc=function(a){var b=a[0],c=0>a[1];a=a[2];this.H=!0;this.j.S=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.c&&(ph(this,this.c,b,c,a),Ib(this,-2),this.c.da());this.D&&(ih(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
function ih(a,b){if(wa("There may be a problem with your "+fb+" machine.\n\nTo help us diagnose it, click OK to send this "+fb+" machine state to http://www.pcjs.org.")){var c=a.L;a=a.b||"";b=b.toString();var d={};d.app=fb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;E("http://www.pcjs.org/api/v1/report",d,!0)}}
function qh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new G(a,"1.32.2"),g=new G(a,"1.32.2",ch),k=La();g.set(eh,k);f.set(eh,k);f.set(rh,"1.32.2");f.set(sh,window?window.location.href:null);f.set(th,window?window.navigator.userAgent:"");a.c&&a.c.fa&&(c&&(b&&(a.c.j.da=a.c.j.N),H(a.c)),d=a.c.fa(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.j.S=!1,!1===d&&(e=null)));for(var k=xa(a.id),l=0;l<k.length;l++){var m=k[l];m.j.S&&(m.fa&&(d=m.fa(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.j.S=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.b&&uh(a,a.b,f.toString()),nh(g)&&nh(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==vh),d&&f.clear(k)):e=f.toString());c&&(a.j.S=!1,b=a.l.power)&&(b.textContent="Power");a.g=0;return e}h.reset=function(){this.v&&this.v.reset&&this.v.reset();this.c&&this.c.reset&&this.c.reset();for(var a=xa(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c!==this.c&&c.reset&&c.reset()}Ib(this,-1)};
h.start=function(a,b){for(var c=xa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Ib(this,-1)};h.stop=function(a,b){for(var c=xa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Ib(this,-1)};
function Ib(a,b){if(a.c){var c=a.c,d=b||0,e=c.l.speed;e&&(0>=d||30<=(c.xc+=d))&&(e.textContent=c.j.N?c.Na.toFixed(2)+"Mhz":"Stopped",c.xc=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)yb(a,"R"+e,a.c.b[e]);e=xc(a.c);yb(a,"PS",e);yb(a,"NF",e&8?1:0,1);yb(a,"ZF",e&4?1:0,1);yb(a,"VF",e&2?1:0,1);yb(a,"CF",e&1?1:0,1);a.i=0}-1>b?a.U=a.c.b[7]:0<b&&c&&!d&&(a.U=a.c.Ba);ub(a,a.U);lb(a,a.f);b=a.c;b=b.$a?b.qa&16?1:2:4;Nb(a,"B22",b&1);Nb(a,"B18",b&2);Nb(a,
"B16",b&4)}}
h.ha=function(a,b,c){var d=this;switch(b){case "power":return this.l[b]=c,c.onclick=function(){d.g||(d.j.S?kh(d,!1,!0):Vg(d,d.vb))},!0;case "reset":return this.l[b]=c,c.onclick=function(){if(d.j.S&&!d.g)if(d.a&&!d.s){var a=ua("Click OK to save changes to this "+cb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kh(d,a,!0);!a&&d.w?window&&window.location.reload():(a||(d.m=!0),d.vb(Sg),d.m=!1)}else d.reset(),d.c&&d.c.da()},!0;case "save":if(Ca(Ka(),"pcjs.org"))c.parentNode.removeChild(c);else return this.l[b]=
c,c.onclick=function(){var a=Rg(d,!0);if(a){var b=!!(d.a&&!d.s||d.w),c=kh(d,b);b?oh(d,a,c):d.B("Resume disabled, machine state not saved")}},!0}return!1};function Rg(a,b){var c=a.b;c||((c=Na(ih),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=qh(a,c))||a.B("The user ID is invalid.")):b&&a.B("Browser local storage is not available"));return c}
function qh(a,b){a.b=null;b=G(Ka()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Oa(ih,b.data),a.b=b.data)}catch(d){v(d.message+" ("+c+")")}return a.b}function Ug(a){var b=null;a.b&&(b=Ka()+"/api/v1/user?req=load&user="+a.b+"&state="+rh(a,"1.32.2"));return b}
function oh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rh(a,"1.32.2");d.data=c;b=G(Ka()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.B("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.B(c),Oa(ih,""),a.b=null)}}
function Of(a){var b;a=y(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function Uc(a){if(a.bb){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.bb.focus();window&&window.scrollTo(b,c)}}var bh="failsafe",Xg="validate",Zg="timestamp",lh="version",mh="url",nh="browser",ih="user",ah=-1,Sg=0,$g=1,fh=2,ph=3;
Ua(function(){for(var a=C(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=C(c,B,"computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new Pg(g,d,!0);A(g,f);g.C&&Vg(g,g.vb)}});Va.show.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=wa("Computer",c.id))&&c.H&&!c.j.S&&c.vb(ah)}});Va.exit.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=wa("Computer",c.id))&&c.j.S&&kh(c,!(!c.a||c.s),!0)}});
function H(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.l=!1;this.key=rh(a,b,c);gh(this,a.Tc)}h=H.prototype;h.set=function(a,b){try{this.c[a]=b}catch(c){}};h.get=function(a){return this.c[a]||null};h.data=function(){return this.c};function Tg(a,b){return b?(a.a=b,a.b=!0,a.l=!1,!0):a.b?!0:La()&&(b=Na(a.key))?(a.a=b,a.b=!0):!1}function Yg(a){var b=!0;if(!a.l)try{a.c=JSON.parse(a.a),a.l=!0}catch(c){v(c.message||c),b=!1}return b}
function hh(a){var b=!0;if(La()){var c=JSON.stringify(a.c);Oa(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.c?JSON.stringify(this.c):this.a};function gh(a,b){a.a="";a.c={};a.b=a.l=!1;b&&a.set("parms",b)}
h.clear=function(a){gh(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function rh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var sh=0;
function th(a,b,c,d,e,f){e("Loading "+a+"...");G(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):uh(k,a,b,c,d,e,f)})}
function uh(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(ra(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?vh(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function vh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");G(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);vh(a,b,c)}})}else c(a,null)}
function wh(a,b,c,d){function e(a){if(void 0===k){var b=g&&C(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Ea(a))}function f(a){e("Error: "+a);l&&(--sh||Ya(!0));l=!1}var g,k,l=!0;sh++;sa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));p.appendChild(t)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?th(c,null,null,!1,e,function(d,l){l?(ra(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--sh||Ya(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--sh||Ya(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?th(b,a,d,!0,e,m):uh(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(x){f(x.message)}return l}window.embedPDP11=function(a,b,c,d){Ya(!1);return wh(a,b,c,d)};window.findMachineComponent=function(a,b){return wa(b,a+".machine")};window.enableEvents=Ya;window.sendEvent=$a;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11.map
h.ha=function(a,b,c){var d=this;switch(b){case "power":return this.l[b]=c,c.onclick=function(){d.g||(d.j.S?qh(d,!1,!0):ah(d,d.Ab))},!0;case "reset":return this.l[b]=c,c.onclick=function(){if(d.j.S&&!d.g)if(d.a&&!d.s){var a=wa("Click OK to save changes to this "+fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");qh(d,a,!0);!a&&d.w?window&&window.location.reload():(a||(d.m=!0),d.Ab(Yg),d.m=!1)}else d.reset(),d.c&&d.c.da()},!0;case "save":if(Fa(Na(),"pcjs.org"))c.parentNode.removeChild(c);else return this.l[b]=
c,c.onclick=function(){var a=Xg(d,!0);if(a){var b=!!(d.a&&!d.s||d.w),c=qh(d,b);b?uh(d,a,c):d.B("Resume disabled, machine state not saved")}},!0}return!1};function Xg(a,b){var c=a.b;c||((c=Qa(oh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=wh(a,c))||a.B("The user ID is invalid.")):b&&a.B("Browser local storage is not available"));return c}
function wh(a,b){a.b=null;b=E(Na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(oh,b.data),a.b=b.data)}catch(d){u(d.message+" ("+c+")")}return a.b}function $g(a){var b=null;a.b&&(b=Na()+"/api/v1/user?req=load&user="+a.b+"&state="+xh(a,"1.32.2"));return b}
function uh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=xh(a,"1.32.2");d.data=c;b=E(Na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.B("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.B(c),Ra(oh,""),a.b=null)}}
function Sf(a){var b;a=xa(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function Yc(a){if(a.eb){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.eb.focus();window&&window.scrollTo(b,c)}}var hh="failsafe",ch="validate",eh="timestamp",rh="version",sh="url",th="browser",oh="user",gh=-1,Yg=0,fh=1,lh=2,vh=3;
Xa(function(){for(var a=A(document,z+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=A(c,z,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new Vg(g,d,!0);w(g,f);g.C&&ah(g,g.Ab)}});Ya.show.push(function(){for(var a=A(document,z,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=za("Computer",c.id))&&c.H&&!c.j.S&&c.Ab(gh)}});Ya.exit.push(function(){for(var a=A(document,z,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=za("Computer",c.id))&&c.j.S&&qh(c,!(!c.a||c.s),!0)}});
function G(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.l=!1;this.key=xh(a,b,c);mh(this,a.Kd)}h=G.prototype;h.set=function(a,b){try{this.c[a]=b}catch(c){}};h.get=function(a){return this.c[a]||null};h.data=function(){return this.c};function Zg(a,b){return b?(a.a=b,a.b=!0,a.l=!1,!0):a.b?!0:Oa()&&(b=Qa(a.key))?(a.a=b,a.b=!0):!1}function dh(a){var b=!0;if(!a.l)try{a.c=JSON.parse(a.a),a.l=!0}catch(c){u(c.message||c),b=!1}return b}
function nh(a){var b=!0;if(Oa()){var c=JSON.stringify(a.c);Ra(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.c?JSON.stringify(this.c):this.a};function mh(a,b){a.a="";a.c={};a.b=a.l=!1;b&&a.set("parms",b)}
h.clear=function(a){mh(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function xh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var yh=0;
function zh(a,b,c,d,e,f){e("Loading "+a+"...");E(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):Ah(k,a,b,c,d,e,f)})}
function Ah(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Bh(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Bh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");E(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Bh(a,b,c)}})}else c(a,null)}
function Ch(a,b,c,d){function e(a){if(void 0===k){var b=g&&A(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Ga(a))}function f(a){e("Error: "+a);l&&(--yh||ab(!0));l=!1}var g,k,l=!0;yh++;ua[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));p.appendChild(t)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?zh(c,null,null,!1,e,function(d,l){l?(ta(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--yh||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--yh||ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?zh(b,a,d,!0,e,m):Ah(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedPDP11=function(a,b,c,d){ab(!1);return Ch(a,b,c,d)};window.findMachineComponent=function(a,b){return za(b,a+".machine")};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11.map