Fixed PCx86 default keystroke injection delay

This commit is contained in:
Jeff Parsons 2017-09-24 18:49:35 -07:00 committed by Jeff Parsons
commit 0228094f1d
61 changed files with 193839 additions and 0 deletions

View file

@ -0,0 +1,278 @@
@CHARSET "UTF-8";
/**
@author Jeff Parsons (@jeffpar)
@website http://www.pcjs.org/
@created 2013-05-05
@modified 2014-02-23
@license http://www.gnu.org/licenses/gpl.html
*/
body {
margin: 0;
background: #202020;
}
h1, h2 {
margin-top: 0;
color: #cccccc;
}
h1, h2, h3, h4 {
word-wrap: break-word;
}
h4 a {
color: #cccccc !important;
}
p {
line-height: 1.5em;
}
img {
max-width: 100%;
}
a img {
vertical-align: bottom;
}
pre, code {
color: #000000;
background-color: #cccccc;
font-family: Monaco, Consolas, "Lucida Console", monospace;
font-size: 12px;
}
pre {
margin: 1em 2em;
padding: 1em;
border-radius: 5px;
overflow: auto;
}
code {
padding: 1px;
}
pre a, code a {
color: #006400 !important;
}
.common {
width: 100%;
margin: 0 auto;
color: #cccccc;
}
.common a {
color: #7fc07f;
text-decoration: none;
}
.common hr {
border-color: #808080;
}
.common a:hover {
text-decoration: underline;
}
.common, .machine {
font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
font-size: 15px;
}
.machine {
overflow: hidden;
}
.c1pjs {
overflow: visible;
}
.machine-placeholder {
text-align: center;
font-weight: bold;
}
.machine-floating {
position: relative;
z-index: auto;
background-color: transparent;
padding-right: 0;
}
.machine-sticky {
position: fixed !important;
z-index: 1 !important;
background-color: #404040 !important;
padding-right: 16px !important;
top: 0 !important;
}
.common-top {
background: #202020;
font-size: small;
}
.common-top-left {
float: left;
width: 60%;
}
.common-top-left ul {
line-height: 1.5em;
list-style-type: none;
margin: 0;
padding: 1em 1em 1em 9px;
overflow: hidden;
}
.common-top-left ul li {
display: block;
float: left;
}
.common-top-left ul li a {
border-right: 1px solid #6f6f6f;
padding: 2px 6px 2px 6px;
}
.common-top-left ul li:last-child a {
border-right: none;
}
.common-top-right {
float: right;
width: 40%;
}
.common-top-right p {
float: right;
margin: 0;
padding: 1em;
}
.common-middle {
clear: both;
padding: 1px 1em 1px 1em;
background: #404040;
}
.common-sidebar {
float: left;
font-size: small;
width: 140px;
padding-bottom: 20px;
overflow: hidden;
white-space: nowrap;
word-wrap: break-word;
}
.common-list {
list-style-type: none;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
}
.common-list li {
padding-bottom: 7px;
}
.common-list-data {
list-style-type: none;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
}
.common-list-data li {
line-height: 1.5em;
}
.common-list-data-items, .common-list-data-subitems {
font-size: x-small;
list-style-type: none;
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.common-list-data-items li, .common-list-data-subitems li {
padding-bottom: 0;
}
.common-main {
margin-left: 150px;
}
.common-main blockquote {
text-align: justify;
}
.common-image-gallery {
margin: 0 auto;
text-align: center;
}
.common-image-gallery:after {
content: '';
display: block;
}
.common-image-frame {
display: inline-block;
margin: 8px;
text-align: center;
}
.common-image-link {
padding: 5px;
border: 1px solid black;
border-radius: 5px;
background-color: #FAEBD7;
}
.common-image-label {
font-size: x-small;
}
.common-bottom {
clear: both;
padding-top: 1em;
}
.common-bottom:after {
content: '';
display: block;
clear: both;
}
.common-reference {
float: left;
font-size: x-small;
}
.common-reference a {
text-decoration: none;
}
.common-copyright {
float: right;
font-size: x-small;
}
.common-copyright a {
text-decoration: none;
}
.md-list {
}
.md-list li {
line-height: 1.5em;
margin-bottom: 1em;
}
.md-list li p {
padding-left: 2em;
}
.md-list-compact {
}
.md-list-compact li {
margin-bottom: 0;
}
.md-list-none {
list-style-type: none;
padding-left: 2em;
}
.md-list-none li {
margin-bottom: 0;
}
@media screen and (max-width: 900px) {
.common-sidebar {
width: 100%;
white-space: normal;
}
.common-list {
padding-left: 0;
}
.common-list-data {
padding-left: 0;
}
.common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li {
width: 130px;
float: left;
overflow: hidden;
vertical-align: top;
padding-right: 1em;
margin-top: 0;
}
.common-list-data-subitems {
display: none;
}
.common-main {
clear: both;
margin-left: 0;
padding-left: 0;
padding-right: 0;
}
.md-list-none {
padding-left: 1em;
}
}

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- author="Jeff Parsons (@jeffpar)" website="http://www.pcjs.org/" created="2012-05-05" modified="2014-02-23" license="http://www.gnu.org/licenses/gpl.html" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;"> <!ENTITY ne "&#8800;"> <!ENTITY le "&#8804;"> <!ENTITY ge "&#8805;">
<!ENTITY times "&#215;"> <!ENTITY sdot "&#8901;"> <!ENTITY divide "&#247;">
<!ENTITY copy "&#169;"> <!ENTITY Sigma "&#931;"> <!ENTITY sigma "&#963;"> <!ENTITY sum "&#8721;"> <!ENTITY lbrace "&#123;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template name="commonStyles">
<meta charset="utf-8"/>
<link rel="apple-touch-icon" sizes="57x57" href="/versions/icons/current/pc-icon-57.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="/versions/icons/current/pc-icon-72.png"/>
<link rel="apple-touch-icon" sizes="76x76" href="/versions/icons/current/pc-icon-76.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="/versions/icons/current/pc-icon-114.png"/>
<link rel="apple-touch-icon" sizes="120x120" href="/versions/icons/current/pc-icon-120.png"/>
<link rel="apple-touch-icon" sizes="144x144" href="/versions/icons/current/pc-icon-144.png"/>
<link rel="apple-touch-icon" sizes="152x152" href="/versions/icons/current/pc-icon-152.png"/>
<link rel="apple-touch-icon" sizes="180x180" href="/versions/icons/current/pc-icon-180.png"/>
<link rel="apple-touch-icon" sizes="192x192" href="/versions/icons/current/pc-icon-192.png"/>
<link rel="apple-touch-icon" href="/versions/icons/current/apple-touch-icon.png"/>
<link rel="icon" type="image/png" sizes="192x192" href="/versions/icons/current/pc-icon-192.png"/>
<link rel="shortcut icon" type="image/x-icon" href="/versions/icons/current/favicon.ico"/>
<link rel="stylesheet" type="text/css" href="/versions/pdpjs/1.37.1/common.css"/>
</xsl:template>
<xsl:template name="commonTop">
<div class="common-top">
<div class="common-top-left">
<ul>
<li><a href="/">PCjs</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/apps/">Apps</a></li>
<li><a href="/devices/">Devices</a></li>
<li><a href="/disks/">Disks</a></li>
<li><a href="/pubs/docs/">Docs</a></li>
<li><a href="/pubs/docs/about/">About</a></li>
</ul>
</div>
<div class="common-top-right">
<p>Powered by <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">JavaScript</a>, <a href="http://vanilla-js.com/" target="_blank">Vanilla JS</a>, and <a href="http://github.com/jeffpar/pcjs" target="_blank">GitHub</a></p>
</div>
</div>
</xsl:template>
<xsl:template name="commonBottom">
<div class="common-bottom">
<p class="common-reference"></p>
<p class="common-copyright">
<span class="common-copyright"><a href="http://www.pcjs.org/">pcjs.org</a> © 2012-2017 by <a href="http://twitter.com/jeffpar">@jeffpar</a></span><br/>
<span class="common-copyright"><a href="http://github.com/jeffpar/pcjs">PCjs Project</a> released under <a href="http://gnu.org/licenses/gpl.html">GPLv3</a></span>
</p>
</div>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,262 @@
@CHARSET "UTF-8";
*:not(input,textarea) {
-webkit-user-select: none;
}
.pcjs-embed {
}
.pcjs-embed:after {
clear:both;
}
.pcjs-machine {
}
.pcjs-name, .pcjs-menu {
clear: both;
font-weight: bold;
padding-bottom: 4px;
}
.pcjs-menu {
float: left;
}
.pcjs-canvas {
width: 100%;
height: auto;
}
.pcjs-container {
color: #000000;
position: relative;
}
.pcjs-label {
font-size: small;
line-height: 20px;
vertical-align: middle;
float: left;
font-family: Monaco, "Lucida Console", monospace;
}
.pcjs-controls textarea {
font-family: Monaco, "Lucida Console", monospace;
font-size: x-small;
}
.pcjs-fieldset {
border: none;
margin: 0;
padding: 0;
}
.pcjs-flag {
font-family: Monaco, "Lucida Console", monospace;
font-size: small;
text-align: center;
line-height: 20px;
vertical-align: middle;
}
.pcjs-progress {
height: 20px;
width: 200px;
margin-top: 8px;
border: 1px solid black;
position: relative;
}
.pcjs-progress-bar {
height: 20px;
width: 0;
background-color: gold;
position: absolute;
top: 0;
}
.pcjs-progress-text {
height: 20px;
width: 200px;
font-size: small;
line-height: 20px;
text-align: center;
position: absolute;
top: 0;
z-index: 1;
}
.pcjs-register {
font-family: Monaco, "Lucida Console", monospace;
font-size: small;
text-align: center;
line-height: 20px;
vertical-align: middle;
border: 1px solid black;
}
.pcjs-switches {
float: left;
}
.pcjs-bitBucket {
float: left;
width: 19px;
height: 38px;
}
.pcjs-bitCell {
float: left;
width: 19px;
height: 19px;
margin-right: -1px;
margin-bottom: -1px;
border: 1px solid black;
text-align: center;
line-height: 19px;
}
.pcjs-bitCellLeft {
border-left: 1px solid black;
}
.pcjs-bitLabel {
font-size: xx-small;
text-align: center;
}
.pcjs-description, .pcjs-status {
font-size: x-small;
line-height: 2.0em;
}
.pcjs-key {
border: 1px solid black;
font-size: x-small;
text-align: center;
position: absolute;
height: 34px;
line-height: 34px;
background-color: #ffffff;
}
.pcjs-panel-group {
color: #ffffff;
background-color: #404040;
}
.pcjs-triplet {
padding: 1px;
}
.pcjs-ledlbl {
text-align: center;
font-size: 40%;
background-color: #000000;
}
.pcjs-ledlbl0 {
text-align: right;
font-size: 50%;
background-color: #8d4076;
}
.pcjs-ledlbl1 {
text-align: right;
font-size: 50%;
background-color: #d83662;
}
.pcjs-ledpad {
text-align: center;
font-size: x-small;
line-height: 32px;
background-color: #000000;
border-bottom-left-radius: 20%;
border-bottom-right-radius: 20%;
}
.pcjs-led {
float: left;
width: 8px;
height: 8px;
margin: 4px;
border: 1px solid black;
text-align: center;
vertical-align: middle;
background-color: #000000;
}
.pcjs-rled {
float: left;
width: 8px;
height: 8px;
margin: 4px;
border: 1px solid black;
border-radius: 50%;
text-align: center;
vertical-align: middle;
background-color: #ff0000;
max-width: 50%;
max-height: 50%;
}
.pcjs-swlbl {
text-align: center;
font-size: 40%;
line-height: 16px;
background-color: #000000;
border-top-left-radius: 20%;
border-top-right-radius: 20%;
}
.pcjs-swpad {
height: 32px;
background-color: #000000;
}
.pcjs-switch {
height: 10px;
width: 28px;
margin-top: 0;
max-width: 90%;
background-color: #00ff00;
}
.pcjs-screen {
clear: both;
height: auto;
position: relative;
line-height: 0;
}
.pcjs-screen textarea {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
border: 0;
padding: 0;
resize: none;
color: white;
font-family: Monaco, "Lucida Console", monospace;
font-size: medium;
background: rgba(0, 0, 0, .5);
opacity: 0;
line-height: 0;
}
.pcjs-reference {
float: left;
font-size: x-small;
}
.pcjs-reference a {
text-decoration: none;
}
.pcjs-copyright {
float: right;
font-size: x-small;
}
.pcjs-copyright a {
text-decoration: none;
}
@media screen and (max-width: 800px) {
.pcjs-textarea {
width: 100% !important;
}
.pcjs-registers {
width: 100% !important;
max-width: none !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
.pdp11-device {
width: 98% !important;
max-width: none !important;
margin-left: 8px !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
}
@media screen and (min-width: 1200px) {
.machine-left {
max-width: 48%;
float: left;
}
.machine-right {
max-width: 48%;
float: left;
margin-left: 30px;
}
.machine-right + * {
clear: both;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,162 @@
@CHARSET "UTF-8";
.page {
margin: 2% 2%;
padding: 2% 2%;
min-width: 30em;
overflow: auto;
font-size: large;
font-family: Helvetica, Arial, sans-serif;
background: #303030;
color: #ccc;
}
.page-header {
}
.page-header-title {
text-align: center;
}
.page a {
color: #7fc07f;
text-decoration: none;
}
a.footlink, a.paralink {
text-decoration: none;
}
a.footlink:link, a.paralink:link {
color: blue;
}
a.footlink:visited, a.paralink:visited {
color: blue;
}
.galleryitem {
float: left;
width: 200px;
}
.item {
float: left;
width: 2em;
text-indent: 1em;
}
.list {
margin-left: 3em;
text-indent: 0;
text-align: justify;
}
ul {
list-style: none;
}
div.pnumber {
float: left;
width: 2em;
text-indent: 1em;
}
div.pitem {
margin-left: 10em;
}
p.indent, .justified p {
text-indent: 2em;
text-align: justify;
line-height: 1.5em;
}
p.noindent {
text-indent: 0;
text-align: justify;
}
p.center, .center {
text-align: center;
}
li.para {
margin-top: 1em;
margin-bottom: 1em;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
blockquote.tag {
font-size: small;
font-family: Monaco, Fixed, monospace;
margin-top: 0;
margin-bottom: 0;
}
.blockquote {
padding-left: 1em;
text-indent: 0;
text-align: justify;
}
.italics {
font-style: italic;
}
.medium {
font-size: medium;
}
.small {
font-size: x-small;
}
.smallcaps {
font-variant: small-caps;
}
.strike {
text-decoration: line-through;
}
.summation, .bracelist {
display: inline-block;
position: relative;
vertical-align: middle;
text-align: center;
margin-bottom: 0.5ex;
text-indent: 0;
}
.bracelist-symbol {
font-size: 3em;
vertical-align: -40%;
}
.summation .summation-lower, .summation .summation-upper, .bracelist-item {
display: block;
font-size: 75%;
text-align: center;
}
.summation .summation-upper {
margin-bottom: 0;
margin-left: 0.8ex;
font-style: italic;
}
.summation .summation-lower{
margin-bottom: -0.6ex;
font-style: italic;
}
.summation .summation-symbol {
font-size: 2em;
}
p sup {
vertical-align: baseline;
position: relative;
bottom: .5em;
font-size: small;
}
p sub {
vertical-align: baseline;
position: relative;
bottom: -.5em;
font-size: small;
}
.footnote {
font-size: medium;
text-indent: 1em;
text-align: justify;
margin-top: .5em;
}
.image-right {
float: right;
margin-left: 1em;
margin-top: 1em;
margin-bottom: 1em;
}
.image-caption {
font-size: small;
text-align: center;
}

View file

@ -0,0 +1,452 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- author="Jeff Parsons (@jeffpar)" website="http://www.pcjs.org/" created="2012-05-05" modified="2014-02-23" license="http://www.gnu.org/licenses/gpl.html" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;"> <!ENTITY ne "&#8800;"> <!ENTITY le "&#8804;"> <!ENTITY ge "&#8805;">
<!ENTITY times "&#215;"> <!ENTITY sdot "&#8901;"> <!ENTITY divide "&#247;">
<!ENTITY copy "&#169;"> <!ENTITY Sigma "&#931;"> <!ENTITY sigma "&#963;"> <!ENTITY sum "&#8721;"> <!ENTITY lbrace "&#123;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template name="documentStyles">
<link rel="stylesheet" type="text/css" href="/versions/pdpjs/1.37.1/document.css"/>
</xsl:template>
<xsl:template match="title">
<h1><xsl:apply-templates/></h1>
</xsl:template>
<xsl:template name="p">
<xsl:if test="@id">
<a name="{@id}"></a>
</xsl:if>
<xsl:choose>
<xsl:when test="not(@class)">
<p><xsl:apply-templates/></p>
</xsl:when>
<xsl:otherwise>
<p class="{@class}"><xsl:apply-templates/></p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="p">
<xsl:call-template name="p"/>
</xsl:template>
<xsl:template match="br">
<br/>
</xsl:template>
<xsl:template match="p[@number]">
<div class="pnumber">
<xsl:choose>
<xsl:when test="not(@number) or @number = ''">&nbsp;</xsl:when>
<xsl:otherwise><xsl:value-of select="@number"/></xsl:otherwise>
</xsl:choose>
</div>
<div class="pitem">
<xsl:call-template name="p"/>
</div>
</xsl:template>
<xsl:template match="span">
<xsl:choose>
<xsl:when test="not(@class)">
<span><xsl:apply-templates/></span>
</xsl:when>
<xsl:when test="@class = 'italics'">
<em><xsl:apply-templates/></em>
</xsl:when>
<xsl:otherwise>
<span class="{@class}"><xsl:apply-templates/></span>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="h2">
<h2><xsl:apply-templates/></h2>
</xsl:template>
<xsl:template match="h3">
<h3><xsl:apply-templates/></h3>
</xsl:template>
<xsl:template match="h4">
<h4><xsl:apply-templates/></h4>
</xsl:template>
<xsl:template match="h5">
<h5><xsl:apply-templates/></h5>
</xsl:template>
<xsl:template match="h6">
<h6><xsl:apply-templates/></h6>
</xsl:template>
<xsl:template match="em">
<em><xsl:apply-templates/></em>
</xsl:template>
<xsl:template match="strong">
<strong><xsl:apply-templates/></strong>
</xsl:template>
<xsl:template match="a">
<a href="{@href}" target="{@target}"><xsl:apply-templates/></a>
</xsl:template>
<xsl:template match="ol">
<blockquote><ol><xsl:apply-templates/></ol></blockquote>
</xsl:template>
<xsl:template match="ul">
<blockquote><ul><xsl:apply-templates/></ul></blockquote>
</xsl:template>
<xsl:template match="li">
<li><xsl:apply-templates/></li>
</xsl:template>
<xsl:template match="img">
<div><img src="{@src}" alt="image"/></div>
</xsl:template>
<xsl:template match="pre">
<pre><xsl:apply-templates/></pre>
</xsl:template>
<xsl:template match="figure">
<xsl:choose>
<xsl:when test="@pos">
<div class="{@pos}"><img src="{@ref}" alt="{.}"/><br/><xsl:value-of select="."/></div>
</xsl:when>
<xsl:otherwise>
<div><img src="{@ref}" alt="{.}"/><br/><xsl:value-of select="."/></div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="sub">
<sub><xsl:apply-templates/></sub>
</xsl:template>
<xsl:template match="sup">
<sup><xsl:apply-templates/></sup>
</xsl:template>
<xsl:template match="lt">&lt;</xsl:template>
<xsl:template match="gt">&gt;</xsl:template>
<xsl:template match="ne">&ne;</xsl:template>
<xsl:template match="le">&le;</xsl:template>
<xsl:template match="ge">&ge;</xsl:template>
<xsl:template match="times">&times;</xsl:template>
<xsl:template match="dot">&sdot;</xsl:template>
<xsl:template match="divide">&divide;</xsl:template>
<xsl:template match="sigma">&sigma;</xsl:template>
<xsl:template match="summation">
<span class="summation">
<span class="summation-upper"><xsl:value-of select="@upper"/></span>
<span class="summation-symbol">&sum;</span>
<span class="summation-lower"><xsl:value-of select="@lower"/></span>
</span>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="bracelist">
<span class="bracelist-symbol">&lbrace;</span>
<span class="bracelist">
<xsl:for-each select="item">
<span class="bracelist-item"><xsl:apply-templates/></span>
</xsl:for-each>
</span>
</xsl:template>
<xsl:template match="footlink">
<xsl:variable name="docID" select="/document/@id"/>
<a class="footlink" id="fn{$docID}_ref{@n}" href="#fn{$docID}_{@n}"><sup><xsl:if test="@quoted"><xsl:text>[</xsl:text></xsl:if><xsl:value-of select="@n"/><xsl:if test="@quoted"><xsl:text>]</xsl:text></xsl:if></sup></a>
</xsl:template>
<xsl:template match="footnote">
<xsl:variable name="docID" select="/document/@id"/>
<div class="footnote"><a id="fn{$docID}_{@n}" href="#fn{$docID}_ref{@n}"><sup><xsl:value-of select="@n"/></sup></a><xsl:text> </xsl:text>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template name="authors">
<xsl:for-each select="author"><xsl:if test="position() != 1"><xsl:text>, </xsl:text></xsl:if><xsl:if test="position() != 1 and position() = last()"><xsl:text>and </xsl:text></xsl:if><xsl:value-of select="."/></xsl:for-each>
</xsl:template>
<xsl:template name="formatDate">
<xsl:param name="date"/>
<xsl:param name="format">MDY</xsl:param>
<xsl:variable name="year">
<xsl:value-of select="substring-before($date,'-')"/>
</xsl:variable>
<xsl:variable name="mon-day">
<xsl:value-of select="substring-after($date,'-')"/>
</xsl:variable>
<xsl:variable name="mon">
<xsl:value-of select="substring-before($mon-day,'-')"/>
</xsl:variable>
<xsl:variable name="full-day">
<xsl:value-of select="substring-after($mon-day,'-')"/>
</xsl:variable>
<xsl:variable name="day">
<xsl:choose>
<xsl:when test="substring($full-day,1,1) = '0'"><xsl:value-of select="substring($full-day,2)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$full-day"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="$mon = '01'">January </xsl:when>
<xsl:when test="$mon = '02'">February </xsl:when>
<xsl:when test="$mon = '03'">March </xsl:when>
<xsl:when test="$mon = '04'">April </xsl:when>
<xsl:when test="$mon = '05'">May </xsl:when>
<xsl:when test="$mon = '06'">June </xsl:when>
<xsl:when test="$mon = '07'">July </xsl:when>
<xsl:when test="$mon = '08'">August </xsl:when>
<xsl:when test="$mon = '09'">September </xsl:when>
<xsl:when test="$mon = '10'">October </xsl:when>
<xsl:when test="$mon = '11'">November </xsl:when>
<xsl:when test="$mon = '12'">December </xsl:when>
<xsl:when test="$mon = '00'"/> </xsl:choose>
<xsl:if test="$day != '0' and $format = 'MDY'">
<xsl:value-of select="$day"/><xsl:text>, </xsl:text>
</xsl:if>
<xsl:value-of select="$year"/>
</xsl:template>
<xsl:template match="gallery">
<h2><xsl:value-of select="description"/></h2>
<div class="gallery">
<xsl:apply-templates select="item" mode="gallery"/>
</div>
<div style="clear:both;"></div>
</xsl:template>
<xsl:template match="item" mode="gallery">
<div class="galleryitem">
<a href="{@ref}"><img src="/versions/images/current/pdf-192.jpg" alt="{.}"/></a><br/>
<div style="font-size:small; text-align:center;"><xsl:value-of select="."/></div>
</div>
</xsl:template>
<xsl:template match="list[@type = 'timeline']">
<xsl:if test="not(description)">
<h2>Timeline</h2>
</xsl:if>
<xsl:if test="description">
<h2><xsl:value-of select="description"/></h2>
</xsl:if>
<blockquote>
<xsl:apply-templates select="item" mode="timeline"/>
</blockquote>
</xsl:template>
<xsl:template match="item" mode="timeline">
<xsl:if test="@ref">
<xsl:variable name="documentFile"><xsl:value-of select="$rootDir"/><xsl:value-of select="@ref"/></xsl:variable>
<xsl:apply-templates select="document($documentFile)/document" mode="withDate">
<xsl:with-param name="itemRef" select="@ref"/>
</xsl:apply-templates>
</xsl:if>
<xsl:if test="not(@ref)">
<h3><xsl:call-template name="formatDate"><xsl:with-param name="date" select="@date"/></xsl:call-template></h3>
<blockquote>
<xsl:value-of select="."/>
</blockquote>
</xsl:if>
</xsl:template>
<xsl:template match="list[@type = 'people']">
<xsl:if test="not(description)">
<h2>People</h2>
</xsl:if>
<xsl:if test="description">
<h2><xsl:value-of select="description"/></h2>
</xsl:if>
<blockquote>
<xsl:apply-templates select="item" mode="people"/>
</blockquote>
</xsl:template>
<xsl:template match="item" mode="people">
<h3><xsl:value-of select="name"/></h3>
<xsl:apply-templates select="list"/>
</xsl:template>
<xsl:template match="list[@type = 'documents']">
<xsl:if test="description"><h2><xsl:value-of select="description"/></h2></xsl:if>
<ul>
<xsl:apply-templates select="item" mode="document"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="document">
<xsl:variable name="documentFile"><xsl:value-of select="$rootDir"/><xsl:value-of select="@ref"/></xsl:variable>
<xsl:apply-templates select="document($documentFile)/document">
<xsl:with-param name="itemRef" select="@ref"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="document">
<xsl:param name="itemRef"/>
<li>
<xsl:call-template name="documentSummary"><xsl:with-param name="itemRef" select="$itemRef"/></xsl:call-template>
</li>
</xsl:template>
<xsl:template match="document" mode="withDate">
<xsl:param name="itemRef"/>
<h3><xsl:call-template name="formatDate"><xsl:with-param name="date" select="date"/><xsl:with-param name="format" select="MY"/></xsl:call-template></h3>
<blockquote>
<p>
<xsl:call-template name="documentSummary"><xsl:with-param name="itemRef" select="$itemRef"/><xsl:with-param name="multiLine" select="'true'"/></xsl:call-template>
</p>
</blockquote>
</xsl:template>
<xsl:template name="documentSummary">
<xsl:param name="itemRef"/>
<xsl:param name="multiLine">false</xsl:param>
<xsl:choose>
<xsl:when test="content|include">
<a href="{$itemRef}"><xsl:value-of select="title"/></a>
<xsl:if test="@ref">
<span class="small">
<xsl:text> [</xsl:text><a href="{@ref}">Original</a><xsl:text>]</xsl:text>
</span>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<a href="{$itemRef}"><xsl:value-of select="title"/></a>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="copy">
<span class="small">
<xsl:text> [</xsl:text><a href="{copy/@ref}"><xsl:value-of select="copy"/></a><xsl:text>]</xsl:text>
</span>
</xsl:if>
<xsl:if test="author"><xsl:if test="$multiLine = 'true'"><br/></xsl:if><span class="medium"><xsl:text> by </xsl:text><xsl:call-template name="authors"/></span></xsl:if>
<xsl:if test="source">
<span class="small">
<br/>
<xsl:text>[Source: </xsl:text>
<xsl:if test="site">
<a href="{site/@url}"><xsl:value-of select="site"/></a>
</xsl:if>
<xsl:if test="not(site)">
<a href="{source/@url}"><xsl:value-of select="source"/></a>
</xsl:if>
<xsl:text>]</xsl:text>
</span>
</xsl:if>
</xsl:template>
<xsl:template match="list[@type = 'resources']">
<xsl:if test="not(description)">
<h2>Resources</h2>
</xsl:if>
<xsl:if test="description">
<h2><xsl:value-of select="description"/></h2>
</xsl:if>
<blockquote>
<xsl:apply-templates select="item" mode="resources"/>
</blockquote>
</xsl:template>
<xsl:template match="item" mode="resources">
<h3><xsl:value-of select="description"/></h3>
<xsl:apply-templates select="list"/>
</xsl:template>
<xsl:template match="list[@type = 'links']">
<xsl:if test="description">
<h4><xsl:value-of select="description"/></h4>
</xsl:if>
<ul>
<xsl:apply-templates select="item" mode="links"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="links">
<li><a href="{@ref}"><xsl:value-of select="."/></a></li>
</xsl:template>
<xsl:template match="list[not(@type)]">
<xsl:if test="description">
<h2><xsl:value-of select="description"/></h2>
</xsl:if>
<blockquote>
<xsl:apply-templates select="item|tag" mode="outer"/>
</blockquote>
</xsl:template>
<xsl:template match="item" mode="outer">
<xsl:if test="description">
<h3><xsl:value-of select="description"/></h3>
</xsl:if>
<xsl:apply-templates select="list|item|tag" mode="inner"/>
</xsl:template>
<xsl:template match="list" mode="inner">
<xsl:if test="description">
<h4><xsl:value-of select="description"/></h4>
</xsl:if>
<ul>
<xsl:apply-templates select="list|item|para|tag" mode="inner"/>
</ul>
</xsl:template>
<xsl:template name="innerlist">
<xsl:if test="description">
<xsl:value-of select="description"/>
</xsl:if>
<ul>
<xsl:apply-templates select="list|item|para|tag" mode="inner"/>
</ul>
</xsl:template>
<xsl:template match="item" mode="inner">
<xsl:choose>
<xsl:when test="@ref">
<li><a href="{@ref}"><xsl:apply-templates/></a></li>
</xsl:when>
<xsl:when test="description">
<li><xsl:call-template name="innerlist"/></li>
</xsl:when>
<xsl:otherwise>
<li><xsl:apply-templates/></li>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="para" mode="inner">
<li class="para"><xsl:apply-templates/></li>
</xsl:template>
<xsl:template match="tag" mode="outer">
<xsl:call-template name="tag"/>
</xsl:template>
<xsl:template match="tag" mode="inner">
<xsl:call-template name="tag"/>
</xsl:template>
<xsl:template name="tag">
<blockquote class="tag">
<xsl:text>&lt;</xsl:text><xsl:if test="@href"><a href="{@href}"><xsl:value-of select="@name"/></a></xsl:if><xsl:if test="not(@href)"><xsl:value-of select="@name"/></xsl:if><xsl:for-each select="attr"><xsl:text> </xsl:text><xsl:value-of select="@name"/><xsl:text>="</xsl:text><xsl:value-of select="@value"/><xsl:text>"</xsl:text></xsl:for-each>
<xsl:choose>
<xsl:when test="tag"><xsl:text>&gt;</xsl:text><xsl:apply-templates mode="inner"/><xsl:text>&lt;/</xsl:text><xsl:value-of select="@name"/><xsl:text>&gt;</xsl:text></xsl:when>
<xsl:when test="normalize-space(.) != ''"><xsl:text>&gt;</xsl:text><xsl:value-of select="."/><xsl:text>&lt;/</xsl:text><xsl:value-of select="@name"/><xsl:text>&gt;</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>/&gt;</xsl:text></xsl:otherwise>
</xsl:choose>
</blockquote>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- author="Jeff Parsons (@jeffpar)" website="http://www.pcjs.org/" created="2012-05-05" modified="2014-02-23" license="http://www.gnu.org/licenses/gpl.html" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;"> <!ENTITY sect "&#167;"> <!ENTITY copy "&#169;"> <!ENTITY para "&#182;"> <!ENTITY ndash "&#8211;"> <!ENTITY mdash "&#8212;">
<!ENTITY lsquo "&#8216;"> <!ENTITY rsquo "&#8217;"> <!ENTITY ldquo "&#8220;"> <!ENTITY rdquo "&#8221;"> <!ENTITY dagger "&#8224;"> <!ENTITY Dagger "&#8225;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output doctype-system="about:legacy-compat" method="html"/>
<xsl:include href="/versions/pdpjs/1.37.1/common.xsl"/>
<xsl:include href="/versions/pdpjs/1.37.1/components.xsl"/>
<xsl:template match="/machine">
<xsl:variable name="machineType">
<xsl:choose>
<xsl:when test="@type"><xsl:value-of select="@type"/></xsl:when>
<xsl:otherwise><xsl:value-of select="@class"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="machineClass">
<xsl:choose>
<xsl:when test="@class = 'pc' or @class = 'c1p'"><xsl:value-of select="@class"/>js</xsl:when>
<xsl:otherwise><xsl:value-of select="@class"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html lang="en">
<head>
<title><xsl:value-of select="$SITEHOST"/></title>
<xsl:call-template name="commonStyles"/>
<xsl:call-template name="componentStyles"/>
</head>
<body>
<div class="common">
<xsl:call-template name="commonTop"/>
<div class="common-middle">
<p></p>
<div id="{@id}" class="machine {$machineType} {$machineClass}">
<xsl:call-template name="component">
<xsl:with-param name="machine" select="@id"/>
<xsl:with-param name="component" select="'machine'"/>
<xsl:with-param name="class" select="$machineClass"/>
<xsl:with-param name="parms"><xsl:if test="@parms">,<xsl:value-of select="@parms"/></xsl:if></xsl:with-param>
</xsl:call-template>
</div>
</div>
<xsl:call-template name="commonBottom"/>
</div>
<xsl:call-template name="componentScripts">
<xsl:with-param name="component">
<xsl:choose>
<xsl:when test="debugger"><xsl:value-of select="$machineType"/>-dbg</xsl:when>
<xsl:otherwise><xsl:value-of select="$machineType"/></xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,247 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- author="Jeff Parsons (@jeffpar)" website="http://www.pcjs.org/" created="2014-04-10" modified="2014-04-10" license="http://www.gnu.org/licenses/gpl.html" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;"> <!ENTITY sect "&#167;"> <!ENTITY copy "&#169;"> <!ENTITY para "&#182;"> <!ENTITY ndash "&#8211;"> <!ENTITY mdash "&#8212;">
<!ENTITY lsquo "&#8216;"> <!ENTITY rsquo "&#8217;"> <!ENTITY ldquo "&#8220;"> <!ENTITY rdquo "&#8221;"> <!ENTITY dagger "&#8224;"> <!ENTITY Dagger "&#8225;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output doctype-system="about:legacy-compat" method="html"/>
<xsl:include href="/versions/pdpjs/1.37.1/common.xsl"/>
<xsl:include href="/versions/pdpjs/1.37.1/components.xsl"/>
<xsl:template match="/manifest[@type = 'document']">
<html lang="en">
<head>
<title><xsl:value-of select="$SITEHOST"/></title>
<xsl:call-template name="commonStyles"/>
<xsl:call-template name="componentStyles"/>
</head>
<body>
<div class="common">
<xsl:call-template name="commonTop"/>
<div class="common-middle">
<h4>Document Manifest</h4>
<div class="common-sidebar">
<ul class="common-list-data">
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Title'"/>
<xsl:with-param name="node" select="title"/>
<xsl:with-param name="default">None</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Version'"/>
<xsl:with-param name="node" select="version"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Source'"/>
<xsl:with-param name="node" select="source"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Documents'"/>
<xsl:with-param name="node" select="document"/>
<xsl:with-param name="default"><xsl:value-of select="title"/> <xsl:if test="version != ''"><xsl:text> </xsl:text><xsl:value-of select="version"/></xsl:if></xsl:with-param>
</xsl:call-template>
</ul>
</div>
<div class="common-main">
<p><xsl:value-of select="desc"/></p>
<xsl:call-template name="commonBottom"/>
</div>
</div>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="/manifest[@type = 'software' or not(@type)]">
<xsl:variable name="machineClass">
<xsl:choose>
<xsl:when test="machine/@class"><xsl:value-of select="machine/@class"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$APPCLASS"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html lang="en">
<head>
<title><xsl:value-of select="$SITEHOST"/></title>
<xsl:call-template name="commonStyles"/>
<xsl:call-template name="componentStyles"/>
</head>
<body>
<div class="common">
<xsl:call-template name="commonTop"/>
<div class="common-middle">
<h4>Software Manifest</h4>
<div class="common-sidebar">
<ul class="common-list-data">
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Title'"/>
<xsl:with-param name="node" select="title"/>
<xsl:with-param name="default">None</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Version'"/>
<xsl:with-param name="node" select="version"/>
<xsl:with-param name="default">Unknown</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Type'"/>
<xsl:with-param name="node" select="type"/>
<xsl:with-param name="default">None</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Category'"/>
<xsl:with-param name="node" select="category"/>
<xsl:with-param name="default">None</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Created'"/>
<xsl:with-param name="node" select="creationDate"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Creators'"/>
<xsl:with-param name="node" select="creator"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label"><xsl:if test="creationDate">Updated</xsl:if><xsl:if test="not(creationDate)">Released</xsl:if></xsl:with-param>
<xsl:with-param name="node" select="releaseDate"/>
<xsl:with-param name="default">Unknown</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Company'"/>
<xsl:with-param name="node" select="company"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Authors'"/>
<xsl:with-param name="node" select="author"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Contributors'"/>
<xsl:with-param name="node" select="contributor"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Publisher'"/>
<xsl:with-param name="node" select="publisher"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'License'"/>
<xsl:with-param name="node" select="license"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Source'"/>
<xsl:with-param name="node" select="source"/>
<xsl:with-param name="default" select="''"/>
</xsl:call-template>
<xsl:call-template name="listItem">
<xsl:with-param name="label" select="'Disks'"/>
<xsl:with-param name="node" select="disk"/>
<xsl:with-param name="default"><xsl:value-of select="title"/> <xsl:if test="version != ''"><xsl:text> </xsl:text><xsl:value-of select="version"/></xsl:if></xsl:with-param>
</xsl:call-template>
</ul>
</div>
<div class="common-main">
<xsl:for-each select="machine[not(@type) or @type = 'default']">
<xsl:call-template name="machine">
<xsl:with-param name="href" select="@href"/>
<xsl:with-param name="state" select="@state"/>
</xsl:call-template>
</xsl:for-each>
<xsl:if test="not(machine[not(@type) or @type = 'default'])">
<p>No default machine specified for '<xsl:value-of select="title"/>' in manifest.xml</p>
</xsl:if>
<xsl:call-template name="commonBottom"/>
</div>
</div>
</div>
<xsl:call-template name="componentScripts">
<xsl:with-param name="component">
<xsl:choose>
<xsl:when test="machine/@debugger"><xsl:value-of select="$machineClass"/>-dbg</xsl:when>
<xsl:otherwise><xsl:value-of select="$machineClass"/></xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</body>
</html>
</xsl:template>
<xsl:template name="listItem">
<xsl:param name="label"/>
<xsl:param name="node"/>
<xsl:param name="default">Unknown</xsl:param>
<xsl:if test="$node != '' or $default != ''">
<li><xsl:value-of select="$label"/>
<ul class="common-list-data-items">
<xsl:for-each select="$node">
<xsl:variable name="desc">
<xsl:choose>
<xsl:when test="desc"><xsl:value-of select="desc"/></xsl:when>
<xsl:when test="org"><xsl:value-of select="org"/></xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:variable>
<li title="{$desc}">
<xsl:variable name="value">
<xsl:choose>
<xsl:when test="name">
<xsl:value-of select="name"/>
</xsl:when>
<xsl:when test="normalize-space(./text()) != ''">
<xsl:value-of select="normalize-space(./text())"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$default"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="href">
<xsl:if test="@href"><xsl:value-of select="@href"/></xsl:if>
</xsl:variable>
<xsl:choose>
<xsl:when test="$href != ''">
<a href="{$href}"><xsl:value-of select="$value"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$value"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="page">
<ul class="common-list-data-subitems">
<xsl:for-each select="page">
<li>
<xsl:if test="@href">
<a href="{$href}{@href}"><xsl:value-of select="."/></a>
</xsl:if>
<xsl:if test="not(@href)">
<xsl:value-of select="."/>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</li>
</xsl:for-each>
<xsl:if test="not($node)">
<xsl:if test="@href">
<a href="{@href}"><xsl:value-of select="$default"/></a>
</xsl:if>
<xsl:if test="not(@href)">
<xsl:value-of select="$default"/>
</xsl:if>
</xsl:if>
</ul>
</li>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- author="Jeff Parsons (@jeffpar)" website="http://www.pcjs.org/" created="2012-05-05" modified="2014-02-23" license="http://www.gnu.org/licenses/gpl.html" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;"> <!ENTITY sect "&#167;"> <!ENTITY copy "&#169;"> <!ENTITY para "&#182;"> <!ENTITY ndash "&#8211;"> <!ENTITY mdash "&#8212;">
<!ENTITY lsquo "&#8216;"> <!ENTITY rsquo "&#8217;"> <!ENTITY ldquo "&#8220;"> <!ENTITY rdquo "&#8221;"> <!ENTITY dagger "&#8224;"> <!ENTITY Dagger "&#8225;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output doctype-system="about:legacy-compat" method="html"/>
<xsl:include href="/versions/pdpjs/1.37.1/common.xsl"/>
<xsl:include href="/versions/pdpjs/1.37.1/document.xsl"/>
<xsl:include href="/versions/pdpjs/1.37.1/components.xsl"/>
<xsl:template match="/outline">
<xsl:variable name="machineType">
<xsl:choose>
<xsl:when test="machine/@type"><xsl:value-of select="machine/@type"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$MACHINETYPE"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html lang="en">
<head>
<title><xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/></title>
<xsl:call-template name="commonStyles"/>
<xsl:call-template name="documentStyles"/>
<xsl:call-template name="componentStyles"/>
</head>
<body>
<div class="common">
<div class="page justified">
<xsl:apply-templates/>
</div>
</div>
<xsl:call-template name="componentScripts">
<xsl:with-param name="component">
<xsl:choose>
<xsl:when test="debugger"><xsl:value-of select="$machineType"/>-dbg</xsl:when>
<xsl:otherwise><xsl:value-of select="$machineType"/></xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,308 @@
(function(){/*
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
*/
var m,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
function ea(){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 fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
var ja="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ka;if("function"==typeof Object.setPrototypeOf)ka=Object.setPrototypeOf;else{var na;a:{var oa={yb:!0},pa={};try{pa.__proto__=oa;na=pa.yb;break a}catch(a){}na=!1}ka=na?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var qa=ka;
function ra(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;if(qa)qa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.zd=b.prototype}function sa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
sa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});sa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ya={uc:0,Nb:1,wc:2,xc:3,yc:4,zc:5,Ac:6,Bc:7,wb:8,Cc:9,Ob:10,Dc:11,Ec:12,Pb:13,Fc:14,Gc:15,Hc:16,Ic:17,Jc:18,Kc:19,Lc:20,Mc:21,Nc:22,Oc:23,Pc:24,Qc:25,Rc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,vb:65,tc:66,vc:67,Sc:68,E:69,Tc:70,Uc:71,Vc:72,Wc:73,Xc:74,Yc:75,Zc:76,$c:77,ad:78,bd:79,cd:80,Q:81,dd:82,ed:83,fd:84,gd:85,hd:86,jd:87,
kd:88,ld:89,Rb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yb:97,md:98,nd:99,d:100,e:101,od:102,pd:103,qd:104,rd:105,td:106,k:107,ud:108,vd:109,n:110,wd:111,p:112,q:113,r:114,xd:115,t:116,Ad:117,Bd:118,Cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Qb:127};
function za(a,b){if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&
(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return g}
function Aa(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b;h+=0<=h&&9>=h?48:55;f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function Ba(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return Aa(a,8,b,c?"0o":"")}
function Ca(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return Aa(a,10,b)}function n(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return Aa(a,16,b,c?"0x":"")}function Da(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function 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 Ka[a]})}function La(a,b){return(a+" ").slice(0,b)}function Ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ka={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Na(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;var h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
function Oa(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=Pa[a.getDay()].substr(0,3);break;case "F":b+=Qa[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=Pa[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
break;case "M":b+=Qa[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var Pa="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Qa="January February March April May June July August September October November December".split(" ");
function Va(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Wa(a,b){var c,d={da:null,Z:null,ka:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ka=g.load;d.xa=g.exec;if(e=g.bytes)d.da=e;else if(e=g.words)for(d.da=Array(2*e.length),f=c=0;c<e.length;c++)d.da[f++]=e[c]&255,d.da[f++]=e[c]>>8&255;else if(e=g.longs)for(d.da=Array(4*e.length),f=c=0;c<e.length;c++)d.da[f++]=
e[c]&255,d.da[f++]=e[c]>>8&255,d.da[f++]=e[c]>>16&255,d.da[f++]=e[c]>>24&255;else(e=g.data)?d.Na=e:d.da=g;d.da&&(d.da.length?1==d.da.length&&(r(d.da[0]),d=null):(r("Empty resource: "+a),d=null));d.Z=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.da=e)}return d}
function Xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ya(){if(null==Za){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}Za=a}return Za}function $a(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
function ab(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function bb(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 cb(a){if(!db){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," "))}db=c}return db[a]||db[a.toLowerCase()]}function eb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function fb(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 gb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function hb(a){ib.init.push(a)}
function jb(a){if(kb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function lb(a){!kb&&a?(kb=!0,rb&&sb("init"),tb&&sb("show")):kb=a}function sb(a){ib[a]&&jb(ib[a])}var db=null,ib={init:[],show:[],exit:[]},rb=!1,tb=!1,kb=!0,Za=null;gb("onload",function(){rb=!0;jb(ib.init)});gb("onpageshow",function(){tb=!0;jb(ib.show)});
gb(bb("iOS")?"onpagehide":bb("Opera")?"onunload":"onbeforeunload",function(){jb(ib.exit)});function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Cb=b.comment;this.Ub=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Db=this.id:(this.Za=this.id.substr(0,a),this.Db=this.id.substr(a+1));this.A={ready:!1,Ta:!1,nb:!1,sd:!1,aa:!1,tb:!1,error:!1};this.bb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.H=this.G=null;ub.push(this)}
function vb(a,b,c){wb[a]&&b&&(wb[a][b]=c)}function xb(){return Date.now()||+new Date}function r(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
function Ab(a,b){var c=u;b=w(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case c+"-binding":(h=Bb(g))&&h.binding&&a.ra(h.type,h.binding,g,h.value),l=k.length}}}}function Cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ub.length;b++){var d=ub[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Db(a){if(void 0!==a){var b;for(b=0;b<ub.length;b++)if(ub[b].id===a)return ub[b]}return null}function Eb(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<ub.length;d++)if(c)c==ub[d]&&(c=null);else if(!(a!=ub[d].type||b&&ub[d].id.indexOf(b)))return ub[d]}return null}function Bb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function w(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function Fb(a){for(var b=!0,c=Gb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Hb.indexOf(e)&&(f=function(){return function(){Fb(a)}}());var g=Rb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{b=!1;var h=Eb(d[1],a);if(h)if(g=Sb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Gb[a];return b}m=t.prototype;
m.toString=function(){return this.name?this.name:this.id||this.type};
m.ra=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.J[b]=c,this.ia=function(a){this.u(a,this.type);return!0},c.value="",this.print=function(a){return function(b){zb(a,b)}}(c),this.u=function(a,b){return function(a,c){a||(a="");if(c!=Tb||"..."!=a.slice(-3))c&&(a=c+": "+a),zb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+".")+
c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};m.log=function(){};m.print=function(){};m.u=function(){};m.status=function(a){this.u(this.type+": "+a)};m.ia=function(a,b,c){if(!b){var d=Eb("Computer",this.id);if(d&&d.A.tb)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||r((c?c+": ":"")+a);return!0};function Ub(a,b){a.A.error=!0;a.ia(b)}
function Vb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Wb(a,b){b&&(a.A.ready?b():a.bb=b);return a.A.ready}function Xb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.bb;a.bb=null;b&&b()}}function Yb(a,b){a.A.Ta&&(b?a.A.nb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Ta}function Zb(a,b){if(a.A.nb)return a.A.Ta=!1,a.A.nb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Ta=b;return a.A.Ta}m.za=function(){return this.A.aa=!0};
m.qa=function(a,b){b&&(this.A.aa=!1);return!0};function $b(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function ac(a,b,c,d){a.D&&(!0===c||$b(a,c|0))&&a.D.message(b,d)}var Tb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var wb=window?window.PCjs.Machines:{},ub=window?window.PCjs.Components:[],Gb=window?window.PCjs.Commands:{},Hb=["hold","sleep","wait"],Rb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Sb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var u="pdp10",bc="PDPjs",cc=Math.pow(2,18)-1,dc=Math.pow(2,18),ec=Math.pow(2,17)-1,fc=Math.pow(2,17),x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),gc=Math.pow(2,34),hc=Math.pow(2,36),ic=Math.pow(2,21),jc=Math.pow(2,26),kc=Math.pow(2,23),lc=Math.pow(2,30);u="pdp10";bc="PDPjs";
var mc={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function nc(a,b){t.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=oc;this.C={};this.b={START:[1,1,!0,!1,this.ec],STEP:[1,1,!1,!1,this.fc],ENABLE:[1,1,!1,!1,this.$b],CONT:[1,1,!0,!1,this.Yb],DEP:[0,0,!0,!1,this.Zb],EXAM:[1,1,!0,!1,this.ac],LOAD:[1,1,!0,!1,this.cc],TEST:[0,0,!0,!1,this.bc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.dc,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Vb,toggle:this.oc,reset:this.kc,
set:this.nc};Xb(this)}ra(nc,t);m=nc.prototype;m.reset=function(a){this.stop();a&&pc(this,this.w=0)};
m.ra=function(a,b,c,d){if(this.G&&this.G.ra(a,b,c,d)||this.v&&this.v.ra(a,b,c,d)||this.D&&this.D.ra(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){qc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){rc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){qc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){rc(a,b)}}(this,b),!0):t.prototype.ra.call(this,a,b,c,d)}};m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;sc(this);tc(this)};m.za=function(a,b){if(!b)if(this.V&&uc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
m.restore=function(a){if(a=a[0])vc(this,this.i=a[0]),pc(this,this.w=a[1]),wc(this,a[2]);return!0};m.kc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}tc(this);return!0};function xc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function sc(a,b){for(var c in a.C)xc(a,c,null!=b?b:a.C[c])}function yc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function tc(a){for(var b in a.b)yc(a,b,a.b[b][1])}
m.Vb=function(a,b,c){if(qc(this,b)){if(c){var d=this;setTimeout(function(){rc(d,b);a&&a()},+c);return!1}rc(this,b)}return!0};m.nc=function(a,b){if("SR"==a)return wc(this,za(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,yc(this,a,c[1]),!0):!1};m.oc=function(a){return qc(this,a)?(rc(this,a),!0):!1};function qc(a,b){var c=a.b[b];return c?(yc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=zc&&(a.O=b==Ac,a.R=b==Bc),!0):!1}
function rc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(yc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(G(this.v,this.i),this.b[Cc]&&this.b[Cc][1]&&Dc(this.v))};m.fc=function(){};m.$b=function(a){a||H(this.v)};
m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[Cc]&&this.b[Cc][1])Dc(this.v);else{if((a=this.D)&&!Yb(a,!0))Zb(a,!0),Ec(a,0,null),Zb(a,!1);else try{var b=this.v.Xa(1);0<b&&(Fc(this.v,b),Gc(this.v,b,!0),Hc(this.v,b))}catch(c){"number"!=typeof c&&(b=c,Ub(this.v,b.stack||b.message))}this.stop();this.G&&K(this.G)}};m.Zb=function(a){a&&!this.v.A.P&&(this.O&&Ic(this),a=pc(this,this.w=this.j),this.S==oc?Jc(this.H,this.i,a):this.v.g(this.i,a))};
m.ac=function(a){if(!a&&!this.v.A.P){var b;this.R&&Ic(this);this.S==oc?b=Kc(this.H,this.i):b=this.v.f(this.i);pc(this,this.w=b)}};m.cc=function(a){a||this.v.A.P||vc(this,this.j)};m.bc=function(a){a?(this.F=!0,sc(this,!0)):(this.F=!1,sc(this),wc(this,0))};m.dc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function Ic(a){var b=1,c=a.H.j;a.b[zc]&&a.b[zc][1]||(b=-b);vc(a,a.i&~c|a.i+b&c)}
function vc(a,b){a.i=b&a.H.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||xc(d,e,f)}}}function pc(a,b){a.I=b%D;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||xc(d,e,f)}}return a.I}function wc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;tc(a);return!0}m.stop=function(){vc(this,this.v.i)};
function uc(){for(var a=w(document,u,"panel"),b=0;b<a.length;b++){var c=a[b],d=Bb(c),e=Db(d.id);e||(e=new nc(d,!0));Ab(e,c)}}var oc=7,Ac="DEP",Cc="ENABLE",Bc="EXAM",zc="STEP";hb(uc);function Lc(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Mc(this);Nc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Xb(this)}ra(Lc,t);m=Lc.prototype;m.reset=function(){};
m.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Sc(this));return a.data()};m.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Tc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Va+=h.B-e,h.B=e,!0;if(e>=h.B+h.Va){l=h.size-(e-k);l>f&&(l=f);h.Va=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Uc(Vc,e,f)}e=new Mc(a,e,l,16384,d);Nc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Wc[d]+" at "+Ba(b)),!0):Uc(Xc,b,c)}
function Kc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function Jc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Sc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.pb||e.Tb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
m.Jb=function(a){if(!this.w)throw this.D&&$b(this.D,4)&&ac(this.D,"memory fault on "+L(this.D,a),!0,!0),H(this.v),-1;};function Uc(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Vc=1,Xc=2;function Yc(a){t.call(this,"Device",a,256)}ra(Yc,t);m=Yc.prototype;m.Ka=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Xb(this)};m.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.reset=function(){};
m.save=function(){return(new F(this)).data()};m.restore=function(){return!0};hb(function(){for(var a=w(document,u,"device"),b=0;b<a.length;b++){var c=a[b];var d=Bb(c);switch(d.type){case "default":d=new Yc(d),Ab(d,c)}}});
function Mc(a,b,c,d,e){this.H=a;this.id=Zc+=2;this.B=b;this.Va=c;this.size=d||0;this.type=e||$c;this.G=e==ad;this.b=null;this.f=this.w=this.sb;this.g=this.D=this.Wa;this.i=this.v=0;Nc(this);this.pb=this.Tb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;bd(this,cd)}else bd(this)}m=Mc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.pb=!0):!1};function bd(a,b){b||(b=dd);ed(a,b,void 0);fd(a,b,void 0)}
function ed(a,b,c){c&&a.i||(a.f=b[0]||a.sb);if(c||void 0===c)a.w=b[0]||a.sb}function fd(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Wa);if(c||void 0===c)a.D=b[1]||a.Wa}m.Qa=function(a,b){b?0===this.v++&&fd(this,gd,!1):0===this.i++&&ed(this,gd,!1)};function hd(a,b){b?0===--a.v&&(a.g=a.G?a.Wa:a.D):0===--a.i&&(a.f=a.w)}function Nc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&ed(a,gd,!1),(a.v=c.v)&&fd(a,gd,!1))}
m.sb=function(a,b){this.b&&$b(this.b,32)&&ac(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Jb(b);return-1};m.Wa=function(a,b,c){this.b&&$b(this.b,32)&&ac(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0);this.H.Jb(c)};m.ic=function(a){return this.j[a]};m.rc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.pb=!0)};m.gc=function(a,b){if(this.b&&null!=this.B){var c=this.b;id(c,this.B+a,2,c.N)&&jd(c,!1)}return this.w(a,b)};
m.qc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;id(d,this.B+b,2,d.K)&&jd(d,!1)}this.G?this.Wa(a,0,c):this.D(a,b,c)};var $c=0,ad=2,Wc=["NONE","RAM","ROM"],Zc=0,dd=[],cd=[Mc.prototype.ic,Mc.prototype.rc],gd=[Mc.prototype.gc,Mc.prototype.qc];
function kd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.gb=0;this.kb=b;this.ga=c;this.hb=Math.round(this.kb/1E4)/100;this.ba=this.hb*this.ga;this.jb=this.Ha=this.la=this.$a=0;this.A.P=this.A.fb=!1;this.A.fa=a.autoStart;"string"==typeof this.A.fa&&(this.A.fa="true"==this.A.fa);this.A.Sa=!1;this.Fa=this.sa=0;this.Ga=+a.csStart;this.oa=+a.csInterval;this.ta=+a.csStop;this.R=[];this.Fb=this.lc.bind(this);this.W=this.M=this.V=this.N=this.L=this.Ea=this.S=this.ua=this.lb=this.Y=
0;this.Ma=null;Xb(this)}ra(kd,t);m=kd.prototype;m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ma=a.j;for(a=0;a<ld.length;a++)(b=this.J[ld[a]])&&this.G.ra(null,ld[a],b);Xb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.za=function(a,b){var c=md(this.G,"autoStart");null!=c?this.A.fa="true"==c?!0:"false"==c?!1:!!c:null==this.A.fa&&(this.A.fa=!this.D&&void 0===this.J.run);if(!b){if(a){nd(this);if(!this.restore(a))return!1;od(this)}else this.reset();this.D?(a=this.D,b=this.A.fa,a.Ha=!0,a.u("Type ? for help with PDPjs Debugger commands"),pd(a),b||qd(a),a.ta&&(b=a.ta,a.ta=null,rd(a,b,!0))):this.status("No debugger detected");this.A.fa||this.u("CPU will not be auto-started "+(this.Ma?"(click Run to start)":"(type 'go' to start)"))}return!0};
m.qa=function(a){return a?this.save():!0};m.fa=function(){return this.A.P?!0:this.A.fa?(Dc(this),!0):!1};m.Kb=function(){return 0};function od(a){void 0===a.Ga&&(a.Ga=0);void 0===a.oa&&(a.oa=-1);void 0===a.ta&&(a.ta=-1);a.A.Sa=0<=a.Ga&&0<a.oa;a.A.Sa&&(a.Fa=0,a.sa=a.Ga-a.W)}function Hc(a,b){if(a.A.Sa){var c=!1;a.Fa=a.Fa+a.Kb()|0;a.sa-=b;0>=a.sa&&(a.sa+=a.oa,c=!0);0<=a.ta&&a.ta<=sd(a)&&(a.oa=a.ta=-1,od(a),H(a),c=!0);c&&a.u(sd(a)+" cycles: checksum="+n(a.Fa))}}
m.ra=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.aa)a=!0;else{var b=null,c,h=Cb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.aa);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.P?H(d):Dc(d))},!0;
case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){td(d,d.ga<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function Gc(a,b,c){a.W+=b;c&&(a.V=a.N=0)}function ud(a,b){var c=1;b&&1<a.ga&&a.Y&&(c=a.Y/a.hb);a.jb=Math.round(1E3/vd);a.Ha=Math.floor(a.kb/vd*c);b||(a.la=a.Ha);a.$a=0}function sd(a){return a.W+a.M+a.V-a.N}function nd(a){a.Y=0;a.lb=0;a.W=a.M=a.V=a.N=0;od(a);td(a,1)}
function td(a,b,c){var d=!1;if(void 0!==b){.8>a.Y/a.ba?b=1:d=!0;a.ga=b;b=a.hb*a.ga;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.G&&wd(a.G)}Gc(a,a.M);a.M=0;a.L=xb();a.S=0;ud(a);return d}function xd(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;c<a.R.length;c++)b.push(a.R[c][0]);return b}
function Fc(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c}
m.lc=function(){if(this.A.P){this.$a>=this.kb&&ud(this,!0);this.ua=0;this.Ea=xb();if(this.S){var a=this.Ea-this.S;a>this.jb&&(this.L+=a,this.L>this.Ea&&(this.L=this.Ea))}try{do{var b=xd(this,this.A.Sa?1:this.Ha);try{this.Xa(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ua+=b;this.M+=b;Hc(this,b);Fc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Ha;++this.lb>=Ad&&(this.G&&K(this.G,void 0),this.lb=0);break}}while(this.A.P)}catch(e){H(this);this.G&&this.G.stop(xb(),sd(this));Ub(this,
e.stack||e.message);return}if(this.A.P){a=setTimeout;b=this.Fb;this.S=xb();var c=this.jb;this.ua&&(c=Math.round(c*this.ua/this.Ha));c-=this.S-this.Ea;var d=this.S-this.L;d&&(this.Y=Math.round(this.M/(10*d))/100,864E5<=d&&(this.W=0,td(this)));if(0>c||this.Y<this.ba)-1E3>c&&(this.L-=c),c=0;this.$a+=this.ua;this.S+=c;a(b,c)}}};
function Dc(a,b){if(!Vb(a))if(a.A.P)a.u(a.toString()+" busy");else{td(a);a.A.P=!0;a.A.fb=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&wd(a.G,!0),a.G.start(a.L,sd(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.Xa=function(){return 0};function H(a,b){var c=!1;if(a.A.P){zd(a);Gc(a,a.M);a.M=0;a.A.P=!1;if(c=a.J.run)c.textContent="Run";a.G&&a.G.stop(xb(),sd(a));c=!0;a.D||a.status("Stopped")}a.A.complete=b;return c}var vd=30,Ad=15,ld=["power","reset"];
function Bd(a){var b=+a.model||1001;kd.call(this,a,1E6);this.ib=b;this.Ya=+a.addrReset||0;this.Sb=Cd.bind(this);this.w=M.bind(this);this.Ba=null;this.ub=[];this.A.complete=!1}ra(Bd,kd);m=Bd.prototype;
m.reset=function(){this.status("Model "+this.ib);this.A.P&&H(this);this.Ia=this.Ja=this.b=this.I=0;this.i=this.na=this.Ya;this.K=this.O=-1;this.F=this.j=0;this.mb=[0,0];this.va=[0,0];this.ma=[0,0];this.wa=[0,0];this.Aa=this.i;this.C=0;this.f=this.hc;this.g=this.sc;this.Ba=null;nd(this);this.A.error=!1;kd.prototype.reset.call(this)};m.Kb=function(){return 0};
m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ia,this.Ja,this.i,this.O,this.K,this.j,this.C,this.na,this.Aa,this.Ya]);a.set(1,[]);a.set(2,[this.W,this.ga,this.A.fa]);a.set(3,Dd(this));a.set(4,yd(this));return a.data()};
m.restore=function(a){var b=a[0];ea();ca();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.I=b.next().value;this.Ia=b.next().value;this.Ja=b.next().value;this.i=b.next().value;this.O=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.na=b.next().value;this.Aa=b.next().value;this.Ya=b.next().value;b=a[2];this.W=b[0];td(this,b[1]);this.A.fa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ub.length;d++){var e=this.ub[d];if(e.pc===
b[c]){d=e;break a}}d=null}d&&(d.next=this.Ba,this.Ba=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function Ed(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function Fd(a,b){var c=a.i;a.i=(c+b)%dc;return c}function Gd(a){return 0<=a.O?a.O:a.I&4194304?a.na:a.i}function G(a,b){a.I=0;a.O=-1;a.i=b%dc}function Dd(a){var b=[];for(a=a.Ba;a;)b.push(a.pc),a=a.next;return b}
m.hc=function(a){var b=this.H;a=this.Aa=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};m.sc=function(a,b){var c=this.H;a=this.Aa=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
m.Xa=function(a){this.A.complete=!0;var b=this.D?Hd(this.D)?1:this.A.fb?-1:0:0,c=a?this.A.fb?0:1:-1;this.A.fb=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Id(this.D,Gd(this),c)){H(this);break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Ba||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Id(this.D,Gd(this),c)){H(this);break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ia=this.f(this.b):0<=this.O?(this.I=this.Ja=this.f(this.O),this.O=-1):(this.I=
this.Ja=this.f(this.na=this.i),this.i=(this.i+1)%dc);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ia=this.f(a))&cc;a=this.I&4194304?-1:this.Ja/kc|0;0<=a&&this.Sb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!1===this.A.complete?-1:0};hb(function(){for(var a=w(document,u,"cpu"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Bd(d);Ab(d,c)}});function Cd(a){Jd[a>>4].call(this,a,a&15)}function O(a){this.w(a)}
function Kd(){var a=0,b=this.f(this.b),c=b/lc&63,d=b>>24&63;c-=d;0>c&&(a++,c=36-d,0>c&&(c=100-d));b=c*lc+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function Ld(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/lc&63,d=this.K>>24&63;a=32>c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.j&=-8193;this.K=-1}}
function Md(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/lc&63,d=this.K>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.j&=-8193;this.K=-1}}function Nd(a,b){this.g(b,this.f(this.b))}function Od(a,b){this.g(b,this.b)}function Pd(a,b){this.g(this.b,this.f(b))}function Qd(a,b){this.g(b,0)}function Rd(a,b){this.g(b,C-this.f(b))}function Sd(a,b){this.g(b,C)}
function Td(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Ud(a,d,c)+(c-(c&x)))}function ke(a,b){var c=this.f(b);this.g(b,Ud(a,c,0))}function le(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Ud(a,c,b)+(b-(b&x)))}function me(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ne(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Ud(a,d,c)+c)}
function oe(a,b){var c=this.b*y,d=this.f(b);this.g(b,Ud(a,d,c)+c)}function pe(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Ud(a,c,b)+b)}function qe(a,b){var c=this.f(this.b),d=(c&x)*y;c=Ud(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function re(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,se(a,d,c)+c)}function te(a,b){var c=this.f(b);this.g(b,se(a,c,this.b)+this.b)}function ue(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,se(a,c,b)+b)}
function ve(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>ec?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function we(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,se(a,d,c)+c)}function xe(a,b){var c=this.f(b);this.g(b,se(a,c,0))}function ye(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,se(a,c,b)+b)}function ze(a,b){var c=this.f(this.b),d=c/y|0;c=se(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function P(a){Ae[a&7].call(this,a,a>>3&127)}
function Be(){}function Ce(){}function M(a){this.u("undefined opcode: "+Ba(a));Fd(this,-1);H(this)}function De(a){a>z&&(a!=A?a=hc-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%D;Ee.call(this,a,b,c);return c}
function Fe(a,b,c){var d=!1,e=!1;if(void 0===c){if(!a)return this.j|=131104,-1;c=b>z?C:0}else if((c<A?c:hc-c-(b?1:0))>=(a<A?a:hc-a))return this.j|=131104,-1;var f=c-c%A;b=b%A+(c&1)*A;c=this.F=f+Math.trunc(c/2);a>z&&(a=D-a,d=!d);c>z&&(b?(c=C-c,b=D-b):c&&(c=D-c),e=!0,d=!d);f=this.mb;f[0]=0;f[1]=0;f=this.va;f[0]=1;f[1]=0;f=this.ma;f[0]=a;f[1]=0;a=this.wa;a[0]=b;for(a[1]=c;0<Ge(this.wa,this.ma);)He(this.ma,this.ma),He(this.va,this.va);do{if(0<=Ge(this.wa,this.ma)&&(c=this.wa,a=this.ma,c[0]-=a[0],c[1]-=
a[1],0>c[0]&&(c[0]+=D,c[1]--),He(this.mb,this.va),Ie(this.wa)))break;Je(this.ma);Je(this.va)}while(!Ie(this.va));b=this.mb[0];this.F=this.wa[0];d&&b&&(b=D-b);e&&this.F&&(this.F=D-this.F);return b}
function Ke(a,b,c,d){var e=a,f=b;b=!1;e>z&&(d||1001!=this.ib||e!=A)&&(e=D-e,b=!b);f>z&&(f=D-f,b=!b);if(e<y&&f<y){a=e*f;var g=0}else{a=e&x;e=Math.trunc(e/y);g=f&x;f=Math.trunc(f/y);var h=a*g,k=e*g+Math.trunc(h/y);g=Math.trunc(k/y);k=(k&x)+a*f;a=(k*y+(h&x))%D;g+=Math.trunc(k/y)+e*f}b&&(a?(g=C-g,a=D-a):g&&(g=D-g));b=a;a=g;e=a-a%A;a=2*a%D+Math.trunc(b/A);b=e+b%A;a-a%A!=e&&(b=a);d?g=b:(b==A&&a==A&&(this.j|=131072),this.F=b,g=a);c&&(a=this.F,!d&&(g||a>z)&&(g!=C||a<=z)&&(this.j|=131072),g=a);return g}
function Le(a){a?a==A?this.j|=163840:a=hc-a:this.j|=98304;return a}function Me(a,b){var c=a-b;0>c&&(c+=D);Ee.call(this,c,b,a);return c}function Ee(a,b,c){a=Math.trunc(a/gc);b=Math.trunc(b/gc);c=Math.trunc(c/gc);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function Ne(a,b){return(a<A?a:a-D)-(b<A?b:b-D)}
function Oe(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function T(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function U(a){return a<A?a:a-D}function V(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function W(a){return(a/y|0)+(a&x)*y}function se(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>ec?x*y:0}return b}function Ud(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
function He(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function Ge(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Je(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Ie(a){return!a[0]&&!a[1]}
var Jd=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Kd,function(a,b){this.j&8192||(Kd.call(this),this.j|=8192);Ld.call(this,0,b)},Ld,function(a,b){this.j&8192||(Kd.call(this),this.j|=8192);Md.call(this,0,b)},Md,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Nd,Od,Pd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Le.call(this,this.f(this.b)))},function(a,b){this.g(b,
Le.call(this,this.b))},function(a,b){this.g(this.b,Le.call(this,this.f(b)))},function(a,b){a=Le.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,De.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,De.call(this,this.f(b)))},function(a,b){a=De.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ke.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,Ke.call(this,this.f(b),this.b,!0))},function(a,
b){this.g(this.b,Ke.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,Ke.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,Ke.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,Ke.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,Ke.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ke.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Fe.call(this,
this.f(this.b),this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Fe.call(this,this.b,this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Fe.call(this,this.f(this.b),this.f(b));0>a||this.g(this.b,a)},function(a,b){a=Fe.call(this,this.f(this.b),this.f(b));0>a||(this.g(this.b,this.g(b,a)),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15);c=Fe.call(this,this.f(this.b),c,a);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=
this.f(b+1&15);c=Fe.call(this,this.b,c,a);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=Fe.call(this,this.f(this.b),b,a);0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15);c=Fe.call(this,this.f(this.b),c,a);0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b);if(0<a){var d=z;var e=c<A?0:A;35>a&&(e+=c*Math.pow(2,a)%A,d=A-Math.pow(2,35-a));c<A?c+d>z&&(this.j|=131072):c-
d<A&&(this.j|=131072)}else-35>=a?e=c<A?0:z:(e=Math.trunc(c/Math.pow(2,-a)),c>z&&(d=D-Math.pow(2,36+a),e+=d));this.g(b,e)}},function(a,b){if(a=((this.b&fc)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b);c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+
1&15,a)},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);if(0<a){var e=c;if(36<=a){if(0<c&&c<A||c>z&&c<C)this.j|=131072;if(71<=a){if(0<d&&d<A||d>z&&d<C)this.j|=131072;c=0}else{c=d*Math.pow(2,a-35)%A;var f=A-Math.pow(2,70-a);e<=z?d+f>z&&(this.j|=131072):d-f<=z&&(this.j|=131072)}d=0;e>z&&(c+=A,d+=A)}else c=c*Math.pow(2,a)%A+Math.trunc(d%A/Math.pow(2,35-a)),d=d*Math.pow(2,a)%A,f=A-Math.pow(2,35-a),e<=z?e+f>z&&(this.j|=131072):(e-f<=z&&(this.j|=131072),c+=A,d+=A)}else-36>=
a?(d=-72>=a?c>z?C:0:Math.trunc(c%A/Math.pow(2,-a-35)),c<=z?c=0:(c=C,d+=A)):(f=c>z?D-Math.pow(2,36+a):0,d=Math.trunc(d%A/Math.pow(2,-a))+c%A*Math.pow(2,35+a)%A,c=Math.trunc(c/Math.pow(2,-a))+f,c>z&&(d+=A));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=((this.b&fc)<<14>>23|this.b&255)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-
a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,
this.f(this.b));this.g(this.b,a)},function(a,b){var c=a=!1,d=this.f(b),e=d/y|0;for(d&=x;!a;)if(this.g(d,this.f(e)),(a=d>=this.b)||(e=e+1&x,d=d+1&x,c=!0),a||!this.A.P){c&&this.g(b,e*y+d);a||Fd(this,-1);break}},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&Ed(this,this.Ia/y|0);b&4&&H(this);b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,
this.b))},function(){this.O=this.b},M,function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&cc,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&cc,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&cc);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&cc);a-=262145;0>a&&(a+=D);(a/
y|0)==x&&(this.j|=262144);this.g(b,a);G(this,c&cc)},function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,
this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,Me.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Me.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Me.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Me.call(this,this.f(b),this.f(this.b))))},Be,function(a,b){0>Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0==Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,
b){0>=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0!=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<Ne(this.f(b),this.b)&&G(this,this.i+1)},Ce,function(a,b){0>Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0==Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0>=Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=Ne(this.f(b),
this.f(this.b))&&G(this,this.i+1)},function(a,b){0!=Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},Be,function(a,b){0>U(this.f(b))&&G(this,this.b)},function(a,b){0==U(this.f(b))&&G(this,this.b)},function(a,b){0>=U(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=U(this.f(b))&&G(this,this.b)},function(a,b){0!=U(this.f(b))&&G(this,this.b)},function(a,b){0<U(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},
function(a,b){a=this.f(this.b);0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0==U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=U(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0!=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,
Q.call(this,this.f(b),1));0<U(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));G(this,
this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),C))},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),
C));0==U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=U(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),C));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0!=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<U(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));b&&this.g(b,a)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),C));0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),C));0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},Qd,Qd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-
this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),this.b))},function(a,b){this.g(this.b,R(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),this.f(this.b))))},Nd,Od,Ce,Nd,function(a,b){this.g(b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),C-this.b))},function(a,b){this.g(this.b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),C-this.f(this.b))))},Be,Be,Pd,Pd,function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},
function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(this.b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,V(this.f(b),this.f(this.b))))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(this.b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),C-this.b))},
function(a,b){this.g(this.b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,Oe(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Oe(this.f(b),this.b))},function(a,b){this.g(this.b,Oe(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Oe(this.f(b),this.f(this.b))))},Rd,Rd,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,T(C-this.f(b),this.f(this.b)))},
function(a,b){this.g(b,T(C-this.f(b),this.b))},function(a,b){this.g(this.b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.b))},function(a,b){this.g(this.b,T(this.f(b),C-this.f(this.b)))},
function(a,b){this.g(this.b,this.g(b,T(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),C-this.f(this.b))))},Sd,Sd,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,re,te,ue,ve,we,xe,
ye,ze,re,te,ue,ve,we,xe,ye,ze,re,te,ue,ve,we,xe,ye,ze,re,te,ue,ve,we,xe,ye,ze,Be,Be,function(a,b){0==R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0==R(this.f(b),this.b*y)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.b*y)&&G(this,this.i+1)},Ce,Ce,function(a,b){0==R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0==R(this.f(b),W(this.f(this.b)))&&G(this,this.i+
1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0!=R(this.f(b),W(this.f(this.b)))&&G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0==R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),
this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,
c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(b,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&
G(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),
W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,
c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);0==R(a,this.b*y)&&G(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},
function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),
W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P],Ae=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);
a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
function Pe(a){t.call(this,"ROM",a,128);this.Z=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=Da(this.w);if(this.w){a=this.w;var b=Ea(this.F);"json"!=b&&"hex"!=b&&(a=Xa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Va(a,null,!0,function(a,b,f){f?(c.ia("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(vb(c.Za,a,b),(a=Wa(a,b))?(c.b=a.da,c.Z=a.Z):c.w=null);Qe(c)})}}ra(Pe,t);
Pe.prototype.Ka=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Qe(this)};Pe.prototype.za=function(){this.Z&&(this.D&&Re(this.D,this.id,this.C,this.j,this.Z),delete this.Z);return!0};Pe.prototype.qa=function(){return!0};
function Qe(a){if(!Wb(a)){if(a.w){if(!a.b||!a.H)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)Ub(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b=a.C;if(Tc(a.H,b,a.j,ad)){var c;for(c=0;c<a.b.length;c++)Jc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.j;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Xb(a)}}hb(function(){for(var a=w(document,u,"rom"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Pe(d);Ab(d,c)}});
function Se(a){t.call(this,"RAM",a);this.Z=this.Na=null;this.i=+a.addr;this.j=+a.size;this.ka=a.load;this.xa=a.exec;null!=this.ka&&(this.ka=+this.ka);null!=this.xa&&(this.xa=+this.xa);this.w=this.F=!1;this.b=a.file;this.C=Da(this.b);if(this.b){a=this.b;var b=Ea(this.C);"json"!=b&&"hex"!=b&&(a=Xa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Va(a,null,!0,function(a,b,f){f?(c.ia("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(vb(c.Za,a,b),(a=Wa(a,b))?(c.Na=a.Na,
c.Z=a.Z,null==c.ka&&(c.ka=a.ka),null==c.xa&&(c.xa=a.xa)):c.b=null);Te(c)})}}ra(Se,t);Se.prototype.Ka=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Te(this)};Se.prototype.za=function(a,b){this.Z&&(this.D&&Re(this.D,this.id,this.i,this.j,this.Z),delete this.Z);b||this.reset();return!0};Se.prototype.qa=function(){return!0};
function Te(a){if(a.H&&(!a.w&&a.j&&(Tc(a.H,a.i,a.j,1)?a.w=!0:a.j=0),!Wb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Na)return;Ue(a,a.Na,a.ka,a.xa,a.i)?a.status('Loaded image "'+a.C+'"'):a.ia('Error loading image "'+a.C+'"')}a.F=!0;Xb(a)}}
Se.prototype.reset=function(){if(this.w&&!this.F){var a=this.H,b=this.i,c=this.j,d=b&16383;for(b>>>=a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0;g=void 0===g?0:g;d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=D);g=Math.trunc(Math.abs(g))%D;for(var h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Na&&Ue(this,this.Na,this.ka,this.xa,this.i,!this.D)}this.F=!1};
function Ue(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Jc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(H(a.v),f=!1),null!=d&&(a=a.v,a.Ya=d,G(a,d),f?a.A.aa?a.A.P||Dc(a):a.A.fa=!0:a.D&&a.A.aa?H(a)||a.G.A.reset||(pd(a.D),K(a.G,-1)):!1===f&&H(a),!a.A.P&&a.Ma&&a.Ma.stop()));return g}hb(function(){for(var a=w(document,u,"ram"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Se(d);Ab(d,c)}});
function Ve(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=We;b&&(void 0===c&&(c="Panel"),(c=Eb(c,this.id))&&(b=c.J[b])&&this.ra(null,a,b))}this.b=this.C=null;this.exports={connect:this.Lb,receiveData:this.cb,receiveStatus:this.jc,setConnection:this.mc}}ra(Ve,t);m=Ve.prototype;
m.ra=function(a,b,c){var d=this;switch(b){case We:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ya.wb:ya.Qb:46==c?b=ya.wb:a.ctrlKey&&c>=ya.vb&&c<=ya.Rb&&(b=c-(ya.vb-ya.Nb));b&&(a.preventDefault&&a.preventDefault(),d.cb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ya.Pb&&(b=ya.Ob);d.cb(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.cb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Xb(this)};
m.Lb=function(a){if(!this.b){var b=md(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ma(c[0]);if(d!=this.Db)return;c=Ma(c[1]);if(this.b=Db(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.Za+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.za=function(a,b){if(!b)if(this.Lb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
m.qa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.cb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var We="buffer";
hb(function(){for(var a=w(document,u,"serial"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Ve(d);Ab(d,c)}});function Xe(a){t.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.S=["{","}"];this.sa=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.b={}}ra(Xe,t);Xe.prototype.qb=function(){return-1};Xe.prototype.rb=function(){};
function Ye(a,b,c,d){if(c)if(b){0>a.C&&a.w.length&&(a.C=0);if(0>a.C||b!=a.w[a.C])a.w.splice(0,0,b),a.C=0;a.C--}else a.V?b="end":b=a.w[a.C+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(Ma(b.substring(c,f))),c=f+1}}return a}function Ze(a,b,c){if(32>=a.L)return b&c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/$e|0)&(c/$e|0))*$e+((b&c)>>>0)}
function af(a,b,c){if(32>=a.L)return b|c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/$e|0)^(c/$e|0))*$e+((b^c)>>>0)}Xe.prototype.Ib=function(a,b){return a*b};function X(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b<<32-c>>32-c:(a=Math.pow(2,c-1),b>=a?(e=b%a,(b/a|0)&1&&(e-=a)):b<-a&&(e=b%a,((-b-1)/a|0)&1?e&&(e+=a):e||(e-=a)));b!=e&&(b=e);return b}
function bf(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop();var g=b.pop();switch(e){case "*":g=a.Ib(g,f);break;case "/":if(!f)return!1;g=Math.trunc(g/f);break;case "^/":if(!f)return!1;g%=f;break;case "+":g+=f;break;case "-":g-=f;break;case "<<":g<<=f;break;case ">>":g>>=f;break;case ">>>":g>>>=f;break;case "<":g=g<f?1:0;break;case "<=":g=g<=f?1:0;break;case ">":g=g>f?1:0;break;case ">=":g=g>=f?1:0;break;case "==":g=g==f?1:0;break;case "!=":g=g!=f?
1:0;break;case "&":g=Ze(a,g,f);break;case "!":case "|":e=g;32>=a.L?g=e|f:(e=X(a,e,0,!0),f=X(a,f,0,!0),g=(e/$e|0|f/$e|0)*$e+((e|f)>>>0));break;case "^!":g=af(a,g,f);break;case "&&":g=g&&f?1:0;break;case "||":g=g||f?1:0;break;case ",,":g=X(a,g,18,!0)*Math.pow(2,18)+X(a,f,18,!0);break;case "_":case "^_":"^_"==e&&(f=35-(f&255));f&&(g=X(a,g,0,!0),g=0<f?g*Math.pow(2,f):Math.trunc(g/Math.pow(2,-f)));break;default:return!1}b.push(X(a,g))}return!0}
function cf(a,b,c,d,e,f){var g,h=!1,k=0,l=[],p=[],q=a.T;for(a.T=e;c<d;){var B=b[c++].trim();var v=c<d?b[c++]:"";if(B)var J=df(a,B,null,f,k);else if("{"==v){B=1;for(J=c;c<d;)if(c++,v=c<b.length?b[c++]:"","{"==v)B++;else if("}"==v&&!--B)break;J=cf(a,b,J,c-1,a.T,f);null!=J&&k&&(J=ef(a,J,k));B=c<d?b[c++].trim():"";v=c<d?b[c++]:""}else{if(" "==v)continue;if("^B"==v){a.T=2;continue}if("^O"==v){a.T=8;continue}if("^D"==v){a.T=10;continue}if(!(k&-1073741824)){if("+"==v)continue;if("-"==v){k=k<<2|1;continue}if("~"==
v||"^-"==v){k=k<<2|2;continue}if("^L"==v){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(B),J=0;else{h=!0;f=[];break}l.push(X(a,J));if(" "==v)if(c<b.length-1&&!b[c])c++,v=b[c++];else{h=!0;break}if(!v)break;k="<"==a.S[0]?ff:gf;if(!k[v]){h=!0;break}p.length&&k[v]<=k[p[p.length-1]]&&bf(a,l,p,1);p.push(v);a.T="^_"==v?10:e;k=0}if(h||!bf(a,l,p)||1!=l.length)h=!0;h?f||a.u("parse error ("+(B||v)+")"):g=l.pop();a.T=q;return g}
function hf(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var l=b[h++];if(l==c){k=-1;break}if(!k)break;k--;l=l.charCodeAt(0);7==d?l&=127:l=l-32&63;g=X(a,g*Math.pow(2,d)+l,d*e,!0)}if(0<=k){a.u("parse error ("+c+b+c+")");return}b=b.substr(0,f)+L(a,g,-1)+b.substr(h)}return b}
function jf(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.S[0]&&(b=b.split(a.S[0]).join("{").split(a.S[1]).join("}"));b=hf(a,b,'"',7,5);if(!b)return d;b=hf(a,b,"'",6,6);if(!b)return d;16!=a.T&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=cf(a,b,0,b.length,a.T,c);void 0!==d&&e&&kf(a,null,d)}return d}
function ef(a,b,c){for(;c;){switch(c&3){case 1:b=-X(a,b);break;case 2:b=af(a,b,-1);break;case 3:for(var d=35;0<=d&&!Ze(a,b,Math.pow(2,d));)d--;b=35-d}c>>>=2}return b}
function df(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.qb(b);if(0<=g)g=a.rb(g);else if(g=b,a.b[g]?g=a.b[g].value:(g=g.substr(0,6),g=a.b[g]&&a.b[g].value),null!=g){var h=a.b[b]&&a.b[b].Mb;h&&(f?f.push(h):(f=jf(a,h,d),void 0!==f?g+=f:(d||a.u("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=za(b,1<b.length||10<a.T?a.T:10);null!=g?g=X(a,ef(a,g,e)):d||a.u("invalid "+(c||"value")+": "+b)}else d||a.u("missing "+(c||"value"));return g}
function kf(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.T?L(a,c,a.L,8,1)+" "+c+".":L(a,c,a.L,16,1)+" "+L(a,c,a.L,8,1)+" "+L(a,c,a.L,2,32>=a.L?8:6)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+e);return d}function lf(a){var b=a.b;a.b={};return b}function mf(a,b){var c=0;if(a.b){if(b)return kf(a,b,a.b[b]&&a.b[b].value);b=Object.keys(a.b);b.sort();for(var d=0;d<b.length;d++)kf(a,b[d],a.b[b[d]].value),c++}return 0<c}
function L(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.T){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=Aa(b,2,a,"",e);break;case 8:b=Ba(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=Ca(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var gf={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ff={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},$e=Math.pow(2,32);
function nf(a){Xe.call(this,a);this.Ha=!1;this.Ea=18;this.L=36;this.S=["<",">"];this.sa=[];this.Ga=Y();this.M=Y(0);this.na=Y(0);this.ga=Y(0);this.I=[];this.i=this.N=this.K=[];of(this);this.W=this.oa=0;this.j=[];this.Aa=void 0;pf(this);this.D=this;this.ua={};this.ca=this.Eb=0;this.Y=null;this.R=[];qf(this,a.messages);this.ta=a.commands;this.Fa=[];this.O=0;this.Ma=this.Ba=null;this.F=this.Ja=this.Ia=this.ma=this.wa=0;this.va=this.la=this.ba=null;var b=this;window?void 0===window[u]&&(window[u]=function(a){return rd(b,
a)}):void 0===global[u]&&(global[u]=function(a){return rd(b,a)})}ra(nf,Xe);function rf(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,ab:void 0===b?!1:b,pa:!1,T:c}}function sf(a,b,c,d){a.B=b;a.ab=c||!1;a.pa=!1;a.T=d}function tf(a){return[a.B,a.ab,a.pa,a.T,a.eb]}function uf(a,b){var c=Y(b[0],b[1],b[2]);c.pa=b[3];b[4]&&(c.zb=Ye(a,c.eb=b[4]));return c}m=nf.prototype;
m.Ka=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.la=a.j;this.Ea=b.F;(b=md(a,"messages"))&&qf(this,b);if(a=md(a,"commands"))this.ta=a;vf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=rf(wf(d,c,d.na));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");c=-1;for(var l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Wc[c],p&&d.u(n(p.id,8)+" %"+
n(e<<d.H.i,8)+" %"+n(p.B,8)+" "+n(p.Va,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=$c&&(c=-1),l=0);a+=16384;e++}}});Xb(this)};
m.ra=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ba=this.J[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";rd(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.w.length-1&&(b=d.w[++d.C])):40==a.keyCode&&(0<d.C?b=d.w[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,fb(c,function(){if(d.ba){var a=d.ba.value;
d.ba.value="";rd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,fb(c,function(a){var b=!1;Yb(d,!0)||(Zb(d,!0),b=Ec(d,a?1:0,null),Zb(d,!1));return b}),!0}return!1};function qd(a){if(a.ba){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ba.focus();window&&window.scrollTo(b,c)}}m.La=function(a,b){var c=-1,d=rf(a);-1!==d&&(c=Kc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};m.xb=function(a,b,c){var d=rf(a);-1!==d&&(Jc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),K(this.G,-1))};
m.Ib=function(a,b){0>a&&(a+=D);0>b&&(b+=D);a=Ke.call(this.v,a,b,!1,!0);a>=A&&(a-=D);return a};
function wf(a,b,c){var d;c||(c=Y());var e=c.B;if(void 0!==b){a:{e=a.S[0];var f=a.S[1];var g="("==e||"{"==e||"["==e?"\\":"";var h="["==e?"\\":"";for(h=new RegExp(g+e+"([^"+h+e+h+f+"]+)"+g+f);g=b.match(h);){var k=jf(a,g[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+g[1]+f,null!=k?L(a,k):"undefined")}if(a.sa.length)for(e=a.sa[0],f=a.sa[1],g="("==e||"{"==e||"["==e?"\\":"",h="["==e?"\\":"",h=new RegExp(g+e+"([^"+h+e+h+f+"]+)"+g+f);g=b.match(h);)b=b.replace("["+g[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){f=
null;switch(e[1].toLowerCase()){case "ops":f=0}if(null==f)break;b=b.replace(e[0],f.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}var p;e=b;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),f=0;f<a.I.length;f++)if(g=a.I[f].Z[e],null!=g){var q=g.o;break}null!=q&&(p=Y(q));if(p)return p;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);e=jf(a,b)}null!=e&&(e=xf(e,a.Ea),sf(c,e,l,d));return c}
function yf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Ye(a,b.eb=c[2]))}function xf(a,b){0>a&&a>=-A&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function zf(a,b){return L(a,b/dc,18)+" "+L(a,b%dc,18)}
function qf(a,b){a.D=a;a.ca=a.Eb=536870916;a.Y=null;a.R=[];b=Ye(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in mc){a:{var d=void 0;if(Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}}0<=d&&(a.ca|=mc[c],a.u(c+" messages enabled"))}}function vf(a,b){for(var c in mc)if(16==mc[c]){a.ua[c]=b;break}}m.qb=function(a){return Af.indexOf(a.toUpperCase())};
m.rb=function(a){var b=this.v;switch(a){case Bf:var c=b.i;break;case Cf:c=b.I;break;case Df:c=b.b;break;case Ef:c=b.j&x;break;case Ff:c=b.j&131072?1:0;break;case Gf:c=b.j&65536?1:0;break;case Hf:c=b.j&32768?1:0;break;case If:c=b.j&8192?1:0;break;case Jf:c=b.j&32?1:0;break;case Kf:c=b.j&262144?1:0}return c};
m.message=function(a,b){b&&(a+=" @"+L(this,Y(this.v.na).B,18));if(!this.Y||a!=this.Y)if(this.Y=a,this.ca&1073741824)this.R.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.P)||Yb(this,!0))jd(this),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,zd(a),a.la=0,a.G&&K(a.G,void 0))}};
function pf(a){var b;if(!Hd(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(Lf);for(b=0;b<a.j.length;b++)a.j[b]=Y();a.W=0;a.u("instruction history buffer allocated")}}function Mf(a,b,c){if(!Nf(a,c))return!1;Dc(a.v,b);return!0}
function Ec(a,b,c,d){if(!Nf(a))return!1;var e="";null===c&&(e=(c=!a.Ba||"tr"==a.Ba)?"tr":"t");a.F=0;b||Hd(a)&&Id(a,a.v.i,0);try{b=xd(a.v,b);var f=a.v.Xa(b);0<f&&(Fc(a.v,f),a.F+=f,Gc(a.v,f,!0),Hc(a.v,f),a.ma++)}catch(g){"number"!=typeof g&&(b=g,a.F=0,Ub(a.v,b.stack||b.message))}!1!==d&&(a.la&&a.la.stop(),K(a.G,-1));pd(a,c||!1,e);return 0<a.F}function jd(a,b){a.v&&H(a.v,b)}function pd(a,b,c){b=void 0===b?!0:b;a.Ha&&(c&&a.u(Of+c),sf(a.M,a.v.i),b&&1!=a.O?Pf(a):Qf(a))}
function Nf(a,b){var c;(c=!a.v||!Wb(a.v))||(c=a.v,c.A.aa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.P?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Vb(a.v)}m.za=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.qa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){pf(this);this.ma=0;this.Y=null;this.F=0;sf(this.M,this.v.i);this.A.P=!1;Rf(this);a||pd(this)};
m.save=function(){var a=new F(this);a.set(0,tf(this.M));a.set(1,tf(this.na));a.set(2,tf(this.ga));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=uf(this,a[b++]),this.na=uf(this,a[b++]),this.ga=uf(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ia=a;this.Ja=b};
m.stop=function(a,b){if(this.A.P){this.A.P=!1;this.F=b-this.Ja;if(!this.O){b="stopped";if(this.F){a-=this.Ia;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";Hd(this)&&(b+=this.ma+" instructions, ",this.ma=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else $b(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}pd(this,!0);qd(this);Rf(this,this.v.i);this.Y=null}};function Hd(a){return 1<a.i.length||!!a.oa}
function Id(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.na==b&&(b=Fd(a.v,1)));if(0<c&&(a.oa&&!--a.oa||id(a,b,1,a.i)))return!0;0<=c&&a.j.length&&(a.ma++,0>d&&(d=a.v.f(b)),0<=d&&(sf(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1}
function Sf(a,b,c,d){var e=Y(b.B),f=a.La(b,1),g,h=0,k=f/ic|0,l;for(l in Tf)if(g=Tf[l][k&l]){var p=+l;k>>=6;switch(p){case 32512:var q=Uf;h=k&3;break;case 32256:q=Vf;h=k&7;break;case 29248:q=Wf,h=(k&48)>>2|(k&6)>>1}break}q=q&&q[h]||"";"S"==q&&g>Xf&&(q="B");q=Yf[g||0]+q;if(g){if(28700==p)p=f/jc&127,h=L(a,p,-1);else for(p=f>>23&15,h=L(a,p,-1),k=0;h&&k<Zf.length;k++)if(g==Zf[k][0]&&(l=Zf[k][p])){q=Yf[l];h="";break}q=La(q,8)+(h?h+",":"");f&4194304&&(q+="@");q+=L(a,f&262143,-1);(f=f>>18&15)&&(q+="("+L(a,
f,-1)+")")}else q=La(q,8)+zf(a,f);f=q;g="";p=L(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(q=a.La(e,1),g+=" "+zf(a,q),null==e.B)break;while(e.B!=b.B)}p+=La(g,16)+f;c&&(p=La(p,48)+";"+(c||""),p=a.v.A.Sa?p+("cycles="+sd(a.v).toString()+" cs="+n(a.v.Fa)):p+(null!=d?"="+d.toString():""));return p}
function $f(a,b,c,d,e){var f=-1;if(b){for(var g=b.toUpperCase(),h=0;h<Zf.length;h++)for(var k in Zf[h])if(+k){var l=Zf[h][k];if(g==Yf[l]){g=Yf[Zf[h][0]];c&&(c=L(a,+k)+","+c);break}}for(var p in Tf){var q=+p;k=Tf[p];switch(q){case 32512:h=Uf;break;case 32256:h=Vf;break;case 29248:h=Wf;break;default:h=[""]}for(var B in k){l=k[B];for(var v=0;v<h.length;v++){var J=h[v];"S"==J&&l>Xf&&(J="B");if(g==Yf[l]+J){f=29248!=q?v:(v&3)<<1|(v&12)<<2;f=(B|f<<6)*ic;break}}if(0<=f)break}if(0<=f)break}!(0>f)||c&&c.match(/^[0-9A-Z$%.?]/i)||
(c=b+c,b="",f=0)}else c&&(f=q=0);if(0<=f&&c)for(g=c.split(","),2<g.length&&(e||a.u("too many operands: "+c),g.length=0,f=-1),p=0;p<g.length;p++)if(l=g[p].trim()){B=l.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!B){e||a.u("unknown operand: "+l);f=-1;break}B[1]&&(f+=4194304);if(l=B[3]){l=jf(a,l,e);if(void 0==l){f=-1;break}l=W(X(a,l,36,!0));f+=l}l=B[2];if(p||1==g.length)l=l?l.replace(/(^|[^0-9])\./g,"$1"+L(a,d,18)):"0";l=jf(a,l,e);if(void 0==l){f=-1;break}if(!p&&1<g.length)if(28700==q){if(0>l||127<l)l&=127;
f+=l*jc}else{if(0>l||15<l)l&=15;f+=l<<23}else{if(b||p)if(0>l||262143<l)l&=cc;f+=l}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function of(a){var b;a.i=["bp"];if(a.N)for(b=1;b<a.N.length;b++){var c=a.N[b];c=rf(c);var d=a.H;hd(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=rf(c),d=a.H,hd(d.b[c>>>d.i],!0);a.K=["bw"];a.wa=0;a.oa=0}
m.Qa=function(a,b,c){var d=!0;c||ag(this,a,b,!1,!0);if(a!=this.i){var e=rf(b);if(-1===e)this.u("invalid address: "+L(this,b.B,18)),d=!1;else{var f=this.H;f.b[e>>>f.i].Qa(e&16383,a==this.K)}}d&&(a.push(b),c?b.pa=!0:(bg(this,a,a.length-1,"set"),pf(this)));return d};function ag(a,b,c,d,e){var f=!1;c=rf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==rf(h)&&(!d||h.pa)){f=!0;h.pa||e||bg(a,b,g,"cleared");b.splice(g,1);b!=a.i&&(d=a.H,hd(d.b[c>>>d.i],b==a.K));h.pa||pf(a);break}}return f}
function cg(a,b){for(var c=1;c<b.length;c++)bg(a,b,c);return b.length-1}function bg(a,b,c,d){c=b[c];a.u(b[0]+" "+L(a,c.B,18)+(d?" "+d:c.eb?' "'+c.eb+'"':""))}function Rf(a,b){if(void 0!==b)id(a,b,1,a.i,!0),a.O=0;else for(b=1;b<a.i.length;b++){var c=a.i[b];if(c.pa){if(!ag(a,a.i,c,!0))break;b=0}}}
function id(a,b,c,d,e){var f=!1;if(!a.wa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.pa)for(var k=rf(h)&(d==a.i?65535:-1),l=0;l<c;l++)if(b+l==k){var p;f=!0;h.pa&&(ag(a,d,h,!0),e=!0);if(p=h.zb){f=!1;for(var q=0;q<p.length;q++)if(!dg(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var B=q+1;B<p.length&&p[B].indexOf("else");B++)q++;if(B==p.length){f=!0;break}}a.v.A.P||(f=!0)}if(f){e||bg(a,d,g,"hit");break}}}a.wa--;return f}
function eg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=Ba(d,2);sf(e.Ga,d);f+="="+L(e,e.La(e.Ga),36)+" ";c+=f}if(b){b="";for(d=0;d<Af.length;d++)(e=Af[d]||"")&&(e+="="+L(a,a.rb(d),d>=Ff?1:d==Cf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Re(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f;k=[k>>>0,g];var q=Na(p,k,a.Gb);0>q&&p.splice(-(q+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,Z:e,Bb:f})}function fg(a,b,c){var d=[],e=rf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Na(f.Bb,[e-g],a.Gb);0<=e?gg(a,b,e,d):c&&(e=~e,gg(a,b,e-1,d),gg(a,b,e,d));break}}return d}
function hg(a,b,c){var d=a.H,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(G(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),pd(a)):a.u("no data")}function gg(a,b,c,d){var e={},f=a.I[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].Z[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Mg(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=wf(a,d,a.ga);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.G),!0;var g=e.match(/^(['"]?)(.*?)(\.klm|\.mac|\.html|\.txt|)\1$/i);if(g&&(g[1]||g[3])){f=wf(a,d);if(a.va)a.u("assembly already in progress");else{var h=g[2]+g[3];g[3]||(c+="s");var k=f.B,l=a.va=new Og(a);Pg(l,h,k,c,function(b,c){if(!b)try{var d=l.J;null==d&&(d=k);hg(a,l.U,d)}catch(v){"number"==typeof v?b=v||-1:(a.u(v.message),
b=-1)}b&&a.u("error ("+b+") processing "+(c||h));a.va=null;b||rd(a)})}return!1}b.shift();b.shift();b.shift();b=$f(a,e,b.join(""),f.B||0);0<=b&&(a.xb(f,b),a.u(Sf(a,f)));return!0}function Qg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return mf(a)||a.u("no variables"),!0;if(!c[2])return mf(a,c[1]);if(!c[3])return delete a.b[c[1]],!0;b=jf(a,c[3]);return void 0!==b?(a.b[c[1]]={value:b,Mb:void 0},!0):!1}a.u("invalid assignment:"+b);return!1}
function Rg(a,b,c){var d=null;b=wf(a,b);var e=fg(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.B-e[1])&&(g=" + "+n(f,4,!0));f=e[0]+" ("+L(a,e[1],18)+")"+g;c&&a.u(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+L(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
function Pf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=jf(a,b);if(void 0===g)return;b=a.qb(f);if(0>b){a.u("unknown register: "+f);return}f=0;var h=a.v;switch(b){case Bf:G(h,
g);sf(a.M,h.i);break;case Ef:Ed(h,g);break;case Ff:f=131072;break;case Gf:f=65536;break;case Hf:f=32768;break;case If:f=8192;break;case Jf:f=32;break;case Kf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);K(a.G);a.u("updated registers:")}}a.u(eg(a,e));c&&(sf(a.M,Gd(d)),Qf(a,L(a,a.M.B,18)))}}function Sg(a,b){b=Ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):kf(a,null,c[2].charCodeAt(0)):jf(a,b,!1)}
function Tg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=df(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ba=b;eb(c,function(){return Zb(a,!0)&&Ec(a,e,d,!1)},function(){a.la&&a.la.stop();K(a.G,-1);Zb(a,!1)})}}
function Qf(a,b,c,d){b=wf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=df(a,c.substr(1)),null!=c&&(d=c);else{d=wf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Yb(a,!1)||a.O?a.F:null,g=null!=f?"cycles":null,h=fg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ga;l=b;h.B=l.B;h.ab=l.ab;h.pa=l.pa;h.T=l.T;a.u(Sf(a,b,g,f));e-=b.B-k;c++}}
function dg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(Of+b):(a.V&&(a.u("ended assemble at "+L(a,a.ga.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Y=null;if(Wb(a)&&0<b.length){a.V&&(b="a "+L(a,a.ga.B,18)+" "+b);var f=!1,g=b;var h=void 0===h?" ":h;for(var k=[],l="",p=0,q=0;p<g.length;){var B=g[p++];l?B==l&&(l="",k.push(g.substr(q,p-q)),q=p):'"'==B||"'"==B?l=B:0<=h.indexOf(B)&&(k.push(g.substr(q,p-q-1)),q=p)}q<p&&k.push(g.substr(q,p-q));k[0]=k[0].toLowerCase();if(k&&k.length){var v=
k[0],J=v.charAt(0);for(p=1;p<v.length;p++)if(B=v.charAt(p),"?"==J||"r"==J||"a">B||"z"<B){k[0]=v.substr(p);k.unshift(v.substr(0,p));break}}switch(k[0].charAt(0)){case "a":d=Mg(a,k);break;case "b":var Oc=k[0],ta=k[1],I=b;if("?"==ta)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var Ra=
Oc.charAt(1);if("l"==Ra){var ig=0+cg(a,a.i);ig+=cg(a,a.N);(ig+=cg(a,a.K))||a.u("no breakpoints")}else if("n"==Ra){var jg=+ta||0;ta&&(a.oa=jg);a.u("break after "+jg+" instruction(s)")}else if(void 0===ta)a.u("missing breakpoint address");else{var la="*"==ta?Y():wf(a,ta,a.M);"c"==Ra?null==la.B?(of(a),a.u("all breakpoints cleared")):ag(a,a.i,la)||ag(a,a.N,la)||ag(a,a.K,la)||a.u("breakpoint missing: "+L(a,la.B,18)):null!=la.B&&(yf(a,la,I),"p"==Ra?a.Qa(a.i,la):"r"==Ra?a.Qa(a.N,la):"w"==Ra?a.Qa(a.K,la):
a.u("unknown breakpoint command: "+Ra))}}break;case "c":var kg=a.G;kg.F&&(kg.F.value="");break;case "d":a:{var mb,nb=k[0],ua=k[1],Ha=k[2],ki=k[3];if("?"==ua){var ob="";for(mb in mc)a.ua[mb]&&(ob&&(ob+=","),ob+=mb);ob+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");ob.length&&a.u("dump extension commands:\n\t"+ob)}else if("state"==
ua){var Vd=Ug(a.G,!0);if("console"==Ha)console.log(Vd);else{var lg=a.G;lg.F&&(lg.F.value="");Vd&&a.u(Vd)}}else if("symbols"==ua)for(var Wd=0;Wd<a.I.length;Wd++){var Xd=a.I[Wd],pb;for(pb in Xd.Z)if("."!=pb.charAt(0)){var mg=Xd.Z[pb].o;if(void 0!==mg){var ng=Xd.Z[pb].l;ng&&(pb=ng);a.u(L(a,mg,18)+" "+pb)}}}else{if("d"==nb){for(mb in mc)if(k[1]==mb){var og=a.ua[mb];og?(k.shift(),k.shift(),og(k)):a.u("no dump registered for "+ua);break a}ua||(nb=a.Ma||"dw")}else a.Ma=nb;if("dh"==nb){var pg=ua,qg=Ha,rg=
"",sg=0,ma=a.W,va=a.j;if(va.length){var ia=+pg||a.Aa,Ib=+qg||10;isNaN(ia)?ia=Ib:rg="more ";ia>va.length&&(a.u("note: only "+va.length+" available"),ia=va.length);ma-=ia;0>ma&&(null==va[va.length-1].B?(ia=ma+ia,ma=0):ma+=va.length);var Yd=[];"call"==qg&&(Ib=1E5,Yd=["CALL"]);for(void 0!==pg&&a.u(ia+" instructions earlier:");0<Ib&&ma!=a.W;){var tg=va[ma++];if(null==tg.B)break;var Jb=Y(tg.B),li=ia--,ug=Sf(a,Jb,"history",li);(!Yd.length||0<=ug.indexOf(Yd[0]))&&a.u(ug);Jb.ob&&(ma+=Jb.ob,Ib-=Jb.ob,ia-=Jb.ob);
ma>=va.length&&(ma=0);a.Aa=ia;sg++;Ib--}}sg||(a.u("no "+rg+"history available"),a.Aa=void 0)}else{var Sa=0,vg="ds"==nb,Kb=wf(a,ua,a.na);Ha&&("l"==Ha.charAt(0)?(Ha=Ha.substr(1)||ki,Sa=df(a,Ha)):Sa=wf(a,Ha).B-Kb.B,0>Sa&&(Sa=0),65536<Sa&&(Sa=65536));var mi=a.T;Kb.T&&(a.T=Kb.T);for(var wg="db"==nb?1:2,Zd=Sa||32,$d=1==wg?1:4,ni=(Zd+$d-1)/$d|0||1,Ta="";ni--&&0<Zd;){var Ia="",xg="";ua=L(a,Kb.B,18);for(var yg=$d;0<yg--&&0<Zd--;){var ae=a.La(Kb,1);vg?(Ia&&(Ia+=","),Ia+=ae):(Ia+=zf(a,ae),Ia+=" ");for(var be=
29,oi=0;1==wg&&0<=be;oi++){var Pc=ae/Math.pow(2,be)%Math.pow(2,7);Ia+=L(a,Pc,7)+" ";Pc+=0;xg+=32>Pc?".":String.fromCharCode(Pc);be-=7}}Ta&&(Ta+="\n");Ta=vg?Ta+(Ia+","):Ta+(ua+": "+Ia+(0>yg?" "+xg:""))}Ta&&a.u(Ta);a.T=mi}}}break;case "e":if("else"==k[0])break;var zg=k[0],ce=k[1];if("e"==zg||"ew"==zg){var pi=a.La;var qi=a.xb}else ce=null;if(null==ce)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var de=wf(a,ce,a.na),ee=2;ee<k.length;ee++){var Lb=jf(a,k[ee]);if(void 0===
Lb)break;Lb=xf(Lb);a.u("changing "+L(a,de.B,18)+" from "+zf(a,pi.call(a,de))+" to "+zf(a,Lb));qi.call(a,de,Lb,1)}break;case "g":var Ag=k[1],ri=b;if(void 0!==Ag){var Bg=wf(a,Ag);yf(a,Bg,ri);a.Qa(a.i,Bg,!0)}Mf(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),jd(a)):Yb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var Mb=b.substr(2);Mb=Ma(Mb);if(jf(a,Mb)){c||a.u("true: "+Mb);var Cg=!0}else c||a.u("false: "+Mb),Cg=!1;Cg||(d=!1);break}f=!0;break;case "k":var si=k[0];if("?"==k[1])a.u("stack trace commands:"),
a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var fe=0,ge=Y(),Nb=Y();for(a.u("stack trace for "+L(a,Nb.B,18));10>fe;){for(var Ua=null,ti=256;65536>Nb.B>>>0;){ge.B=a.La(Nb,2);if(null==Nb.B||!ti--)break;if(!(ge.B&1)){for(var ui=a,Qc=ge,Dg=null,Ob=Qc.B,Eg=Ob,he=1;6>=he&&Ob;he++){if(2<he){Qc.B=Ob;var Rc=Sf(ui,Qc);if(0<=Rc.indexOf("JSR")){var Fg=Rc.indexOf(" ");if(Ob+(Rc.indexOf(" ",Fg+1)-Fg-1)/2==Eg){Dg=Rc;break}}}Ob-=2}Qc.B=Eg;if(Ua=Dg)break}}if(!Ua||null==Ua)break;var Gg=
null;if("ks"==si){var Hg=Ua.match(/[0-9A-F]+$/);Hg&&(Gg=Rg(a,Hg[0]))}Ua=La(Ua,50)+" ;"+(Gg||"stack="+L(a,Nb.B,18));a.u(Ua);fe++}fe||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Rg(a,k[1],!0);break}f=!0;break;case "m":a:{var wa,xa=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ja=0;if("all"==N)Ja=1879046143,N=null;else if("on"==N)xa=!0,N=null;else if("off"==N)xa=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(wa in mc)if(N==wa){Ja=mc[wa];xa=!!(a.ca&Ja);break}if(!Ja){a.u("unknown message category: "+
N);break a}}if(Ja)if("on"==k[2])a.ca|=Ja,xa=!0;else if("off"==k[2]&&(a.ca&=~Ja,xa=!1,1073741824==Ja)){for(var Ig=1E3<=a.R.length?a.R.length-1E3:0;Ig<a.R.length;)a.u(a.R[Ig++]);a.R=[]}}var vi=0,Pb="";for(wa in mc)if(!N||N==wa){var wi=!!(a.ca&mc[wa]);if(null===xa||xa==wi)Pb&&(Pb+=","),++vi%10||(Pb+="\n\t"),"key"==wa&&(wa="keys"),Pb+=wa}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==xa?xa?"messages on: ":"messages off: ":"message categories:\n\t")+
(Pb||"none"));pf(a)}break;case "p":if("print"==k[0]){Sg(a,b.substr(5));break}var Jg=k[0],Kg="p"==Jg?0:"pr"==Jg?1:-1;if("?"==k[1]||0>Kg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var Lg=Y(a.v.i);a.La(Lg);a.O?(a.Qa(a.i,Lg,!0),Mf(a)||(a.G&&wd(a.G),a.O=0)):Tg(a,Kg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Pf(a,k);break;case "s":a:switch(k[1]){case "base":if(k[2]){var qb=+k[2];
if(2==qb||8==qb||10==qb||16==qb)a.T=qb;else{a.u("invalid base: "+qb);break}}a.u("default base: "+a.T);break;case "cs":var Qb;void 0!==k[3]&&(Qb=+k[3]);switch(k[2]){case "int":a.v.oa=Qb;break;case "start":a.v.Ga=Qb;break;case "stop":a.v.ta=Qb;break;default:a.u("unknown cs option");break a}void 0!==Qb&&od(a.v);a.u("checksums "+(a.v.A.Sa?"enabled":"disabled"));break;case "sp":void 0!==k[2]&&(td(a.v,+k[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ba.toFixed(2)+
"Mhz")+" ("+a.v.ga+"x)");break;default:if(k[1]){a.u("unknown option: "+k[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":Tg(a,k[0],k[1]);break;case "u":Qf(a,k[1],k[2],8);break;case "v":if("var"==k[0]){Qg(a,b.substr(3))||(d=!1);break}if("ver"==
k[0]){a.u((bc||"PDP10")+" version 1.37.1 ("+a.v.ib+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(k[1]){Sg(a,b.substr(1));break}var ie="commands:",je;for(je in Vg)ie+="\n"+La(je,9)+Vg[je];Hd(a)||(ie+="\nnote: history disabled if no exec breakpoints");a.u(ie);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Ng){a.u("Debugger "+(Ng.stack||Ng.message)),d=!1}return d}
function rd(a,b,c){null!=b&&(a.Fa=Ye(a,b,c));for(;b=a.Fa.shift();)if(!dg(a,b))return!1;return!0}
var Vg={"?":"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"},Xf=20,Yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
Bf=0,Cf=1,Df=2,Ef=3,Ff=4,Gf=5,Hf=6,If=7,Jf=8,Kf=9,Af="PC RA EA PS OV C0 C1 BI ND PD".split(" "),Wg={},Tf=(Wg[28672]={0:101},Wg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Wg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Xf,
9216:53,9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Wg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Wg[29248]={24576:79,24640:80,25088:81,25152:82},Wg[28700]={28672:93,28676:94,28680:95,28684:96,
28688:97,28692:98,28696:99,28700:100},Wg),Uf=["","I","M","S"],Vf=" L E LE A GE N G".split(" "),Wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Zf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],Lf=1E3,Of=">> ";hb(function(){for(var a=w(document,u,"debugger"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new nf(d);Ab(d,c)}});function Og(a){this.b=a}
function Xg(a,b,c,d){a.ka=b;a.W=(c||"").toLowerCase();a.done=d;a.R=0;a.H=[];a.N=[];a.D=[];a.v={};a.K={};a.M=[];a.L=[];a.U=[];a.ea=[];a.Y=[];a.ha=0;a.V=0;a.ba=0;a.X=a.ka||0;a.Ca=-1;a.G=[];a.S=null;a.i=0;a.I=null;a.C=a.O="";a.ga=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;a.j=null;a.w=null;a.F="";a.J=null}
function Pg(a,b,c,d,e){d&&0<=d.indexOf("s")?(Xg(a,c,d,e),a.D=b.split(/(\r?\n)/),a.N.push(a.D.length),Yg(a),a.done&&a.done(a.V)):(Xg(a,c,d,e),a.H=b.split(";"),Zg(a))}
function Zg(a){if(a.R==a.H.length)Yg(a),a.done&&a.done(a.V);else{var b=a.H[a.R];a.u("loading "+Da(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Va(b,null,!0,function(b,d,e){if(e)a.done&&a.done(e,b);else{e=d;if(Fa(b,".html")){e="";for(var c=/<pre>([\s\S]*?)<\/pre>/gi;b=c.exec(d);)b=b[1],0<=b.indexOf("&")&&(b=b.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&")),e+=b;(b=e.match(/&[a-z]+;/i))&&$g(a,"unrecognized HTML entity '"+b[0]+"'")}d=e.split(/(\r?\n)/);
if(d.length&1){if(b=d.pop())$g(a,"unexpected line '"+b+"'"),d.push(b),d.push("")}else $g(a,"unexpected number of lines ("+d.length+")");a.D=a.D.concat(d);a.N[a.R]=d.length>>1;a.R++;setTimeout(function(){Zg(a)},0)}})}}
function Yg(a){if(0<=a.W.indexOf("p"))a.u(a.D.join(""));else{var b=lf(a.b);ah(a,"APR",0);ah(a,"PI",4);try{for(var c=0;c<a.D.length;c+=2){a.ha++;0<=a.W.indexOf("l")&&a.u(bh(a)+": "+a.D[c]);if(!ch(a,a.D[c]+"\r\n"))break;if(null!==a.J)break}a.i&&a.error("open block",a.v[a.I].ha);a.G.length&&a.error("open scope",a.G[0].ha);dh(a);eh(a);a.ea.forEach(function(b,c){b=fh(a,b,void 0,c,a.Y[c]);void 0!==b&&(b+=a.U[c],a.U[c]=gh(a,b,c))})}catch(d){a.u(d.message),a.V=-1}0>a.W.indexOf("d")&&(a.b.b=b)}}
function ch(a,b,c,d,e){var f;null!=a.w&&(b=hh(a,b));for(var g=!0,h="";g;){var k=b.match(a.ga);if(!k||k[5]&&";"!=k[5].charAt(0))return a.error("failed to parse line '"+b+"'"),!1;g=!1;h=k[2].toUpperCase();if(h==ih||h==jh)c=null;if(c){for(f=0;f<c.length;f++){var l=c[f],p=a.v[a.I];if(!(p&&0<=p.Oa.indexOf(l))){p=d[f]||e[f]||"";for(var q=0,B=b.length-k[5].length;q<B;){var v=b.indexOf(l,q);if(0>v)break;q=v+1;var J=v+l.length,Oc="",ta="";v&&(Oc=b[v-1]).match(/[0-9A-Z$%.]/i)||!(J>=b.length)&&(ta=b[J]).match(/[0-9A-Z$%.]/i)||
("'"==Oc&&v--,"'"==ta&&J++,b=b.substr(0,v)+p+b.substr(J),q=v+p.length,g=!0)}}}c=null}if(a.i&&(1==a.i&&(f=b.indexOf(a.C),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.S+" definition in '"+b+"'")),1<a.i&&(b=kh(a,b),g=!0),a.i))return!0}d=k[1];b=k[3];c=k[4].trim();k=k[4]+k[5];d&&(d=d.slice(0,-1),ah(a,d,a.X,lh));var I;h&&(I=c.match(/^([=:]+)(.*)/))&&(e=0,d=h,h=I[1],c=I[2],"=="==h?e|=2:"=:"==h&&(e|=mh),ah(a,d,c,e),h=c="");if(!h&&!c)return!0;a.S=h;if(I=nh(a,c))c=c.replace(I,oh(a,ph,nh(a,k))),b||(b=
"\t");for(;I=qh(a,c);)c=c.replace(I,I.slice(0,-1));if(!rh(a,h,c))switch(h){case sh:case th:case uh:hh(a,k);break;case vh:h=c;I=fh(a,h);void 0!==I&&0<=I&&262143>=I?a.X+=I:a.error("unrecognized BLOCK expression '"+h+"'");break;case wh:h=c;b=k=0;for(c=36;I=xh(a,h);){h=h.substr(I.length).trim();d=I;if(e=I.match(/^\((.*)\)\s*(.*)$/))e[1]&&(k=fh(a,"^D"+e[1])),d=e[2];if(k){d=d?fh(a,d):0;if(void 0===d||0>k||36<k){a.error("unexpected BYTE operand: "+I);break}d=X(a.b,d,k,!0);c<k&&(yh(a,b),b=0,c=36);b+=d*Math.pow(2,
c-k);c-=k}else yh(a,0)}36>c&&yh(a,b);break;case zh:(h=c)?(a.J=fh(a,h),void 0===a.J&&a.error("unrecognized END expression '"+h+"'")):a.J=a.ka;break;case Ah:Bh(a,c);break;case Ch:dh(a);break;case Dh:a.X=fh(a,c)||0;break;case Eh:eh(a);break;case Fh:Bh(a,c.replace(",",",,"));break;case Gh:case Hh:case Ih:case Jh:case Kh:case Lh:case Mh:case Nh:case Oh:case Ph:case Qh:case Rh:case ih:case jh:case Sh:case Th:oh(a,h,k);break;case Uh:h=Vh(a,c);for(I=0;I<h.length;I++)delete a.b.b[h[I]],delete a.K[h[I]];break;
case Wh:case Xh:case Yh:case Zh:case $h:case ai:case bi:case ci:break;default:Bh(a,h,b,c)}return!0}
function rh(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Da==di){var e=a.X;Z(a,d.ja);if(e<a.X){if(!c)return!0;ei(a);Z(a,c);d=a.U[0];var f=a.ea[0];fi(a);if(void 0!==d)return a.U[e]+=d&130023423,a.U[e]+=d&4194304,f&&(a.ea[e]=a.ea[e]?a.ea[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' ("+c+") failed");return!1}b=a.j;a.j=d;d.Pa=Vh(a,c,!0);Z(a,d.ja,d.Oa,d.Pa,d.Ab);a.j=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case Kh:case Jh:case Rh:d.Da||Z(a,d.ja);break;case Lh:0<d.Da&&Z(a,d.ja);break;case Mh:0<=
d.Da&&Z(a,d.ja);break;case Oh:0>d.Da&&Z(a,d.ja);break;case Ph:0>=d.Da&&Z(a,d.ja);break;case Hh:case Qh:case Ih:case Nh:d.Da&&Z(a,d.ja);break;case ih:case jh:for(b=0;b<d.Pa.length;b++)Z(a,d.ja,d.Oa,[d.Pa[b]],[]);break;case Th:for(;0<d.Da--;)Z(a,d.ja);break;default:c=d.ja,ei(a,b),Z(a,c),fi(a)}return!0}function Z(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&ch(a,b[f]+"\r\n",c,d,e);f++);}
function ei(a,b){a.G.push({name:b,U:a.U,ea:a.ea,X:a.X,Ca:a.Ca,ha:a.ha});a.U=[];a.ea=[];0>a.Ca&&(a.Ca=a.X);a.X=0}function fi(a){if(a.G.length){var b=a.G[a.G.length-1].name;b&&a.M.push({name:b,U:a.U,ea:a.ea});b=a.G.pop();a.U=b.U;a.ea=b.ea;a.X=b.X;a.Ca=b.Ca;a.G.length||-1==a.Ca||a.error("scope restore error")}else a.error("scope nesting error")}
function xh(a,b){var c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(!g&&0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s) in '"+b+"'");break}}}g?0<g&&a.error("extra bracket(s) in '"+b+"'"):f=b.substr(0,d);return f}
function fh(a,b,c,d,e){var f=-1;void 0===d&&(d=0<=a.Ca?a.Ca:a.X);var g=b.replace(/SIXBIT\s*(\S)(.*?)\1/g,"'$2'").replace(/ASCII\s*(\S)(.*?)\1/g,'"$2"');if(c){var h="",k=g;if(f=g.match(/^([^\s]+)\s*(.*?)\s*$/))h=f[1],k=f[2];f=$f(a.b,h,k,d,c)}0>f&&(g=g.replace(/\.([^0-9]|$)/g,L(a.b,d,-1)+"$1"),f=jf(a.b,g,c),void 0===f&&a.error("unable to parse expression '"+b+"'",e));return f}
function nh(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s) in '"+b+"'");0<=f&&(d=b.substr(f,g-f));return d}function bh(a,b){b=void 0===b?a.ha:b;for(var c=0;b>a.N[c];)if(b-=a.N[c],c<a.H.length-1)c++;else break;return Da(a.H[c]+" line "+b)}
function qh(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.v[d]){var e,f;var g=e=f=[];a.v[d]={name:d,Da:gi,Oa:g,Ab:e,Pa:f,ja:b+": 0",ha:a.ha};a.L.push(d)}}return c}
function Vh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=xh(a,b);if(!c)break;var e=c;if("\\"==c[0]){var f=1,g=0;"'"==c[1]?(f++,g=6):'"'==c[1]&&(f++,g=7);e=a;f=c.substr(f);g=void 0===g?0:g;var h=fh(e,f);if(void 0!==h){var k=5;switch(g){case 0:f=L(e.b,h,-1);break;case 6:k++;case 7:for(;h&&k--;)h=Math.trunc(h/Math.pow(2,g))}}e=f}d.push(e);b=b.substr(c.length+1)}return d}
function hh(a,b){var c=b;null==a.w&&(a.w=a.F="",b&&(a.w=b[0],c=b=b.substr(1)));if(a.w){var d=b.indexOf(a.w);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.w=null);a.F+=b}if(null==a.w){d=b=0;var e=a.F.length;a.S==th&&e++;for(var f=0;f<e;f++){if(!b){d=0;var g=29;var h=7;a.S==uh&&(h--,g++)}var k=a.F.charCodeAt(f)&127;6==h&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,g);g-=h;b++;0>g&&(yh(a,d),b=0)}b&&yh(a,d)}return c}
function oh(a,b,c){var d,e;a.C="<";a.O=">";var f=d=e=[];if(b==Gh){var g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!g)return a.error("unrecognized "+b+" in '"+c+"'"),c;var h=g[1];if(g[2]&&","!=g[2]){d=f=Vh(a,g[2],!0);b=[];for(c=0;c<d.length;c++){var k=d[c].indexOf("<");if(0<=k){var l=d[c].lastIndexOf(">");0>l&&(l=d[c].length);b[c]=d[c].substr(k,l-k);d[c]=d[c].substr(0,k)}}d=b}k=hi;b=3}else if(b==Sh){a.C="[";a.O="]";g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);
if(!g)return a.error("unrecognized "+b+" in '"+c+"'"),c;h=g[1];k=di;b=2}else if(b==ph)a.C="[",a.O="]",h="?"+Ca(++a.ba,5),a.v[h]&&a.error("literal symbol '"+h+"' redefined"),g=[c[0],c.substr(1)],k=ii,b=0;else if(b==ih||b==jh){a.j||a.error(b+" outside of macro");g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!g)return a.error("unrecognized "+b+" operands '"+c+"'"),c;for(k=0;k<a.j.Oa.length&&g[1]!=a.j.Oa[k];k++);if(k==a.j.Oa.length)return a.error("invalid "+b+" parameter '"+g[1]+"'"),c;
h="?"+b;f=[g[1]];b==jh?e=a.j.Pa[k].split(""):e=Vh(a,a.j.Pa[k]);k=e.length;b=2}else{if(b==Hh)k=1,","==c[0]&&(c=c.substr(1).trim());else{g=xh(a,c);if(!g)return a.error("missing "+b+" expression '"+c+"'"),c;c=c.substr(g.length+1);g=g.trim();if(b==Jh||b==Nh){h=xh(a,c);if(!h)return a.error("missing second "+b+" expression '"+c+"'"),c;c=c.substr(h.length+1)}k=b==Ih||b==Rh?a.v[g]||a.K[g]||void 0!==a.b.b[g]?1:0:fh(a,g)||0}g=c.match(/\s*(<|)([\s\S]*)/i);h="?"+b;b=1}h=h.toUpperCase();a.i=1;a.I=h;a.v[h]={name:h,
Da:k,Oa:f,Ab:d,Pa:e,ja:"",ha:a.ha};g[b]&&(a.i=2,kh(a,g[b+1]));return h}function kh(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.C)a.i++;else if(b[d]==a.O&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.I||"";a.v[d].ja+=b;a.i||(a.I=null,rh(a,d));return c}
function ah(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&lh&&a.K[b])a.error("redefined label '"+b+"'");else{var e=void 0;if("string"==typeof c){e=[];var f=fh(a,c,e);if(void 0===f){a.error("invalid symbol '"+b+"': "+c);return}1<e.length&&a.error("too many undefined symbols in '"+b+"': "+e.join());c=f;e=e[0]}(f=a.K[b])?(f.value=c,f.Xb=d,f.ha=a.ha):a.K[b]={name:b,value:c,Xb:d,ha:a.ha};a.b.b[b]={value:c,Mb:e}}}
function Bh(a,b,c,d){var e=[];b=(b+(void 0===c?"":c)+(void 0===d?"":d)).trim();c=fh(a,b,e);void 0!==c?e.length?1==e.length?yh(a,c,e[0]):yh(a,0,b):yh(a,c):a.error("unrecognized word expression '"+b+"'")}
function dh(a){for(var b=a.X,c={},d=0;d<a.M.length;c={U:c.U,Ra:c.Ra,ya:c.ya},d++){c.ya=a.M[d];c.U=[];c.Ra=0;c.ya.U.forEach(function(a){return function(b,c){c===a.U.length&&a.U.push(b);a.Ra++}}(c));if(c.Ra==c.U.length)for(var e=b;e+c.Ra<=a.X;e++){var f=void 0;for(f=0;f<c.Ra&&c.U[f]===a.U[e+f]&&c.ya.ea[f]==a.ea[e];f++);if(f==c.Ra){ah(a,c.ya.name,e,lh);c.ya=null;break}}if(c.ya){var g=a;ah(a,c.ya.name,a.X,lh);c.ya.U.forEach(function(a){return function(b,c){yh(g,b,a.ya.ea[c])}}(c))}}a.M=[]}
function eh(a){for(var b=0;b<a.L.length;b++){var c=a.L[b],d=a.v[c];d?Z(a,d.ja):a.error("missing definition for variable '"+c+"'")}a.L=[]}function yh(a,b,c){a.U[a.X]=gh(a,b);void 0!==c&&(a.ea[a.X]=c);a.Y[a.X]=a.ha;a.X++}function gh(a,b,c){c=void 0===c?a.X:c;var d=X(a.b,b||0,36,!0);(b<-A||b>=D)&&$g(a,"truncated value "+Ba(b)+" at location "+Ba(c)+" to "+Ba(d));return d}Og.prototype.error=function(a,b){throw Error("error in "+bh(this,b)+": "+a);};
function $g(a,b){a.u("warning in "+bh(a,void 0)+": "+b)}Og.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
var lh=1,mh=4,sh="ASCII",th="ASCIZ",vh="BLOCK",wh="BYTE",Gh="DEFINE",zh="END",Ah="EXP",Hh="IF1",Ih="IFDEF",Jh="IFDIF",Kh="IFE",Lh="IFG",Mh="IFGE",Nh="IFIDN",Oh="IFL",Ph="IFLE",Qh="IFN",Rh="IFNDEF",ih="IRP",jh="IRPC",Wh="LALL",Ch="LIT",ph="LITERAL",Xh="LIST",Dh="LOC",Yh="NOSYM",Sh="OPDEF",Zh="PAGE",Uh="PURGE",Th="REPEAT",uh="SIXBIT",$h="SUBTTL",ai="TITLE",Eh="VAR",bi="XALL",Fh="XWD",ci="XLIST",hi=-1,di=-2,ii=-3,gi=-4;
function ji(a,b,c){t.call(this,"Computer",a,33554432);this.A.aa=!1;this.S=null;xi(this,b);this.O=md(this,"autoPower",a,6);this.w=0;this.Y=+a.busWidth||+a.buswidth;this.M=this.I=this.N=null;this.L=this.W=!1;this.K=this.C=null;this.V=this.R=!1;this.ba=md(this,"url")||"";(Math.random()+.1).toString(36);this.i=yi(this);if(this.v=Eb("CPU",this.id)){this.D=Eb("Debugger",this.id);this.H=new Lc({id:this.Za+".bus",busWidth:this.Y},this.v,this.D);var d=Cb(this.id);if(this.F=(this.j=Eb("Panel",this.id))&&this.j.J.print)for(b=
0;b<d.length;b++){var e=d[b];e.ia=this.j.ia;e.print=this.j.print;e.u=this.j.u}this.u(bc+" v1.37.1\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<d.length;b++)e=d[b],e.Ka&&e.Ka(this,this.H,this.v,this.D);b=null;e=md(this,"resume",a);void 0!==e&&(1<e.length?b=this.I=e:this.b=parseInt(e,10));var f;if(a=md(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=zi),this.b&&(this.K=new F(this,"1.37.1"),Ai(this.K)?
b=null:delete this.K);!b&&this.b&&(b=Bi(this))&&(this.L=!0);if(b){var g=this;Va(b,null,!0,function(a,b,c){c?(g.I=null,g.L=!1,g.ia("Unable to load machine state from server (error "+c+(b?": "+Ma(b):"")+")")):(g.M=b,g.W=!0);Xb(g)})}else Xb(this);this.J.power||(this.O=!0);!c&&this.O&&Ci(this,this.Ua)}else r("Unable to find CPU component")}ra(ji,t);function xi(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.S=b}
function md(a,b,c,d){var e=b.toLowerCase();e=cb(b)||cb(e);void 0===e&&a.S&&(e=a.S[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Ci(a,b,c){for(var d=Cb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wb(f)){Wb(f,function(){Ci(a,b,c)});return}}b.call(a,c)}
function Di(a,b){var c=new F(a,"1.37.1",Ei);if(Ai(c)&&Fi(c)){var d=c.get(Gi),e=b?b.get(Gi):"unknown";d!=e&&(a.ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=ji.prototype;
m.Ua=function(a){void 0===a&&(a=this.b||(this.M?Hi:zi));if(!this.w){this.w++;var b=!1,c=!1;this.R=!1;var d=this.K||new F(this,"1.37.1");if(a==Ii)b=!0;else if(a>zi){if(Ai(d,this.M)){this.C=new F(this,"1.37.1",Ji);Ai(this.C)&&(Ki(this,d),a=Li,Mi(this.C));this.C.set(Gi,Oa());Ni(this.C);var e=this.b&&!this.L;if(a==Hi||yb("Click OK to restore the previous "+bc+" machine state, or CANCEL to reset the machine.")){if(c=Fi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ai(d,g):("error"==f&&"no machine state"!=
g?(this.ia("Error: "+g),"unable to verify user"==g&&(ab(Oi,""),this.i=null)):this.u(f+": "+g),Mi(d),Ai(d)?(c=Fi(d),e=!0):c=!1))}e&&Di(this,c?d:null)}else a==Li&&d.clear()}else Di(this);delete this.M;delete this.K}e=Cb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Pi(this,g,d,b,c));b=[d,a,c];a!=Ii?Ci(this,this.Hb,b):this.Hb(b)}};
function Pi(a,b,c,d,e){if(!b.A.aa){b.A.aa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.za(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=zi,window&&window.location.reload()):a.R=!0,b.za(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.V=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Pi(this,this.v,b,c,a),K(this,-2),this.v.fa());this.R&&(Ki(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
function Ki(a,b){if(yb("There may be a problem with your "+bc+" machine.\n\nTo help us diagnose it, click OK to send this "+bc+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=bc;d.ver="1.37.1";d.url=c;d.user=a;d.type="bug";d.data=b;Va("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ug(a,b,c){var d="none";if(a.w)return null;a.w--;var e=new F(a,"1.37.1"),f=new F(a,"1.37.1",Ei),g=Oa();f.set(Gi,g);e.set(Gi,g);e.set(Qi,"1.37.1");e.set(Ri,window?window.location.href:null);e.set(Si,window?window.navigator.userAgent:"");if(a.v&&a.v.qa){c&&(b&&(a.v.A.fa=a.v.A.P),H(a.v));var h=a.v.qa(b,c);"object"===typeof h&&e.set(a.v.id,h);c&&(a.v.A.aa=!1,!1===h&&(d=null))}g=Cb(a.id);for(var k=0;k<g.length;k++){var l=g[k];l.A.aa&&(l.qa&&(h=l.qa(b,c),"object"===typeof h&&e.set(l.id,h)),c&&(l.A.aa=
!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.i&&Ti(a,a.i,e.toString()),Ni(f)&&Ni(e)||(d=null,h=g=!0)):a.b&&(h=!0,g=a.b==Ui),h&&e.clear(g)):d=e.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return d}
m.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(ac(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(ac(this,"Resetting "+this.v.type),this.v.reset());for(var a=Cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(ac(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};m.start=function(a,b){for(var c=Cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
m.stop=function(a,b){for(var c=Cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
function K(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.gb+=d))&&(e.textContent=c.A.P?c.Y.toFixed(2)+"Mhz":"Stopped",c.gb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.P;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8;e=e||0;e=8==f?Ba(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Aa);vc(a,a.i);pc(a,a.w)}}
m.ra=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?Ug(d,!1,!0):Ci(d,d.Ua))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.I){var a=yb("Click OK to save changes to this "+bc+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ug(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ua(zi)}else d.reset(),d.v&&!d.D&&d.v.fa()},!0;case "save":if(Fa(Xa(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.J[b]=c,c.onclick=function(){var a=yi(d,!0);if(a){var b=!!(d.b&&!d.I||d.N),c=Ug(d,b);b?Ti(d,a,c):d.ia("Resume disabled, machine state not saved")}},!0}return!1};
function yi(a,b){var c=a.i;c||((c=$a(Oi),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=Vi(a,c))||a.ia("The user ID is invalid.")):b&&a.ia("Browser local storage is not available"));return c}
function Vi(a,b){a.i=null;b=Va(Xa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ab(Oi,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function Bi(a){var b=null;a.i&&(b=Xa()+"/api/v1/user?req=load&user="+a.i+"&state="+Wi(a,"1.37.1"));return b}
function Ti(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wi(a,"1.37.1");d.data=c;b=Va(Xa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ia("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ia(c),ab(Oi,""),a.i=null)}}
function wd(a,b){if(a.F){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.F.focus();!b&&window&&window.scrollTo(c,d)}}var Ji="failsafe",Ei="validate",Gi="timestamp",Qi="version",Ri="url",Si="browser",Oi="user",Ii=-1,zi=0,Hi=1,Li=2,Ui=3;hb(function(){for(var a=w(document,u+"-machine"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);c=w(c,u,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=Bb(f);g=new ji(g,d,!0);Ab(g,f);g.O&&Ci(g,g.Ua)}}});
ib.show.push(function(){for(var a=w(document,u,"computer"),b=0;b<a.length;b++){var c=Bb(a[b]);if(c=Eb("Computer",c.id))c.A.tb=!1,c.V&&!c.A.aa&&c.Ua(Ii)}});ib.exit.push(function(){for(var a=w(document,u,"computer"),b=0;b<a.length;b++){var c=Bb(a[b]);if(c=Eb("Computer",c.id))c.A.tb=!0,c.A.aa&&Ug(c,!(!c.b||c.I),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Wi(a,b,c);Mi(this,a.Ub)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};
m.get=function(a){return this.b[a]||null};m.data=function(){return this.b};function Ai(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Ya()&&(b=$a(a.key))?(a.i=b,a.v=!0):!1}function Fi(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){r(c.message||c),b=!1}return b}function Ni(a){var b=!0;if(Ya()){var c=JSON.stringify(a.b);ab(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Mi(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Mi(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 Wi(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 Xi=0;
function Yi(a,b,c,d,e,f,g){f("Loading "+a+"...");Va(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):Zi(k,a,b,c,d,e,f,g)})}
function Zi(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(vb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
"$1PDPjs$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?$i(a,g,k):k(a,null):h("no data"+(b?" for file: "+
b:""),null)}
function $i(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,p=/( [a-z]+=)(['"])(.*?)\2/gi;l=p.exec(f);)k=0>k.toLowerCase().indexOf(l[1].toLowerCase())?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);$i(a,b,c)}})}else c(a,null)}
function aj(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function g(a){f("Error: "+a);l&&(--Xi||lb(!0));l=!1}var h,k,l=!0;Xi++;wb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=p:B.appendChild(document.createTextNode(p));q.appendChild(B)}d||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.37.1/components.xsl");p=function(e,k){k?Yi(d,null,a,null,!1,f,function(a,e){e?(vb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xi||lb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Xi||
lb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Yi(c,b,a,e,!0,f,p):Zi(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(v){g(v.message)}return l}window.embedPDP10=function(a,b,c,d){lb(!1);return aj("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){lb(!1);return aj("pdp11",a,b,c,d)};
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Gb[c],d=!0;else if("string"==typeof f&&!Gb[c]){d=!0;e=Gb;for(var g=c,h=f.length,k=[],l=[],p="",q=null,B=0;B<h;B++){var v=f[B];if('"'==v||"'"==v)q&&v!=q?p+=v:(q?q=null:q=v,p&&(l.push(p),p=""));else{if(!q){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){p&&(l.push(p),p="");";"==v&&l.length&&(k.push(l),l=[]);continue}}p+=v}}p&&l.push(p);l.length&&k.push(l);e[g]=k;Fb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(g=Eb(d,c+".machine"))&&(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=lb;window.sendEvent=sb;})();//# sourceMappingURL=/versions/pdpjs/1.37.1/pdp10-dbg.map

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,200 @@
(function(){/*
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
function ea(){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 fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
var ia="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ja;if("function"==typeof Object.setPrototypeOf)ja=Object.setPrototypeOf;else{var ka;a:{var la={Va:!0},ma={};try{ma.__proto__=la;ka=ma.Va;break a}catch(a){}ka=!1}ja=ka?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var na=ja;
function l(a,b){a.prototype=ia(b.prototype);a.prototype.constructor=a;if(na)na(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Lc=b.prototype}function oa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
oa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var n={Ib:0,bb:1,Kb:2,Lb:3,Mb:4,Nb:5,Ob:6,Pb:7,Ta:8,Qb:9,cb:10,Rb:11,Sb:12,eb:13,Tb:14,Ub:15,Vb:16,Wb:17,Xb:18,Yb:19,Zb:20,$b:21,ac:22,bc:23,cc:24,dc:25,ec: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,Sa:65,Hb:66,Jb:67,fc:68,E:69,gc:70,hc:71,ic:72,jc:73,kc:74,lc:75,mc:76,nc:77,oc:78,pc:79,qc:80,Q:81,rc:82,sc:83,tc:84,uc:85,vc:86,wc:87,
xc:88,yc:89,gb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Va:97,zc:98,Ac:99,d:100,e:101,Bc:102,Cc:103,Dc:104,Ec:105,Gc:106,k:107,Hc:108,Ic:109,n:110,Jc:111,p:112,q:113,r:114,Kc:115,t:116,Mc:117,Nc:118,Oc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,fb:127};
function pa(a,b,c,d){var e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var k=a%b;k+=0<=k&&9>=k?48:55;f=String.fromCharCode(k)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function qa(a,b){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return pa(a,8,b,"")}
function ra(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return pa(a,16,b,c?"0x":"")}function sa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ua(){var a=va();return-1!==a.indexOf("pcjs.org",a.length-8)}function wa(a){return a.replace(/[&<>"']/g,function(a){return xa[a]})}
function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var xa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};
function za(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=Aa[a.getDay()].substr(0,3);break;case "F":b+=Ba[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=Aa[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
break;case "M":b+=Ba[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var Aa="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Ba="January February March April May June July August September October November December".split(" ");
function p(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 m="",t;for(t in b)b.hasOwnProperty(t)&&(m&&(m+="&"),m+=t+"="+encodeURIComponent(b[t]));m=m.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(m)}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 Ca(a,b){var c,d={I:null,O:null,U:null,T:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.U=g.load;d.T=g.exec;if(e=g.bytes)d.I=e;else if(e=g.words)for(d.I=Array(2*e.length),f=c=0;c<e.length;c++)d.I[f++]=e[c]&255,d.I[f++]=e[c]>>8&255;else if(e=g.longs)for(d.I=Array(4*e.length),f=c=0;c<e.length;c++)d.I[f++]=
e[c]&255,d.I[f++]=e[c]>>8&255,d.I[f++]=e[c]>>16&255,d.I[f++]=e[c]>>24&255;else(e=g.data)?d.Z=e:d.I=g;d.I&&(d.I.length?1==d.I.length&&(q(d.I[0]),d=null):(q("Empty resource: "+a),d=null));d.O=g.symbols}catch(k){q("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)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.I=e)}return d}
function va(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Da(){if(null==Ea){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}Ea=a}return Ea}function Fa(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
function Ga(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ha(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 Ia(a){if(!Ja){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," "))}Ja=c}return Ja[a]||Ja[a.toLowerCase()]}function Ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function La(a){r.init.push(a)}
function Ma(a){if(Na)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Oa(a){!Na&&a?(Na=!0,Pa&&Qa("init"),Ra&&Qa("show")):Na=a}function Qa(a){r[a]&&Ma(r[a])}var Ja=null,r={init:[],show:[],exit:[]},Pa=!1,Ra=!1,Na=!0,Ea=null;Ka("onload",function(){Pa=!0;Ma(r.init)});Ka("onpageshow",function(){Ra=!0;Ma(r.show)});
Ka(Ha("iOS")?"onpagehide":Ha("Opera")?"onunload":"onbeforeunload",function(){Ma(r.exit)});function u(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ra=b.comment;this.jb=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.Wa=this.id:(this.ua=this.id.substr(0,a),this.Wa=this.id.substr(a+1));this.h={ready:!1,za:!1,Ma:!1,Fc:!1,F:!1,Qa:!1,error:!1};this.Ba=null;this.h.error=!1;this.w=this.j=this.s=this.v=null;v.push(this)}
function Sa(a,b,c){Ta[a]&&b&&(Ta[a][b]=c)}function Ua(){return Date.now()||+new Date}function q(a){window&&window.alert(a)}function Va(a){var b=!1;window&&(b=window.confirm(a));return b}function Wa(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
function Xa(a,b){var c=w;b=x(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 m=k.split(" "),t=0;t<m.length;t++)switch(k=m[t],k){case c+"-binding":(k=y(g))&&k.binding&&a.V(k.type,k.binding,g,k.value),t=m.length}}}}function Ya(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Za(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}function z(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
function x(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function $a(a){for(var b=!0,c=ab[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=bb.indexOf(e)&&(f=function(){return function(){$a(a)}}());var g=cb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{b=!1;var k=z(d[1],a);if(k)if(g=db[e])b=g(k,d[2],d[3]);else{var m=k.exports;if(m&&(g=m[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){q("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ab[a];return b}h=u.prototype;
h.toString=function(){return this.name?this.name:this.id||this.type};
h.V=function(a,b,c){switch(b){case "clear":return this.m[b]||(this.m[b]=c,c.onclick=function(a){return function(){a.m.print&&(a.m.print.value="")}}(this)),!0;case "print":return this.m[b]||(this.m[b]=c,this.G=function(a){this.N(a,this.type);return!0},c.value="",this.print=function(a){return function(b){Wa(a,b)}}(c),this.N=function(a,b){return function(a,c){a||(a="");if(c!=eb||"..."!=a.slice(-3))c&&(a=c+": "+a),Wa(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+".")+
c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};h.log=function(){};h.print=function(){};h.N=function(){};h.status=function(a){this.N(this.type+": "+a)};h.G=function(a,b,c){if(!b){var d=z("Computer",this.id);if(d&&d.h.Qa)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||q((c?c+": ":"")+a);return!0};function fb(a,b){b&&(a.h.ready?b():a.Ba=b);return a.h.ready}
function A(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.Ba;a.Ba=null;b&&b()}}function gb(a,b){a.h.Ma?(a.h.za=!1,a.h.Ma=!1):a.h.error?a.N(a.toString()+" error"):a.h.za=b}h.W=function(){return this.h.F=!0};h.R=function(a,b){b&&(this.h.F=!1);return!0};var eb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var Ta=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],ab=window?window.PCjs.Commands:{},bb=["hold","sleep","wait"],cb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},db={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var w="pdp10",hb="PDPjs",ib=Math.pow(2,18)-1,jb=Math.pow(2,18),kb=Math.pow(2,17)-1,lb=Math.pow(2,17),C=Math.pow(2,18)-1,D=Math.pow(2,18),E=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),J=Math.pow(2,32),mb=Math.pow(2,34),nb=Math.pow(2,36),ob=Math.pow(2,23),pb=Math.pow(2,30);w="pdp10";hb="PDPjs";
function qb(a,b){u.call(this,"Panel",a);this.A=this.C=0;this.P=b;this.f=this.u=this.g=this.i=0;this.D=this.H=-1;this.J=this.L=this.o=!1;this.M=rb;this.l={};this.a={START:[1,1,!0,!1,this.sb],STEP:[1,1,!1,!1,this.tb],ENABLE:[1,1,!1,!1,this.nb],CONT:[1,1,!0,!1,this.lb],DEP:[0,0,!0,!1,this.mb],EXAM:[1,1,!0,!1,this.ob],LOAD:[1,1,!0,!1,this.qb],TEST:[0,0,!0,!1,this.pb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.rb,a];this.w=this.j=this.s=this.v=null;this.exports={hold:this.kb,toggle:this.Cb,reset:this.yb,
set:this.Bb};A(this)}l(qb,u);h=qb.prototype;h.reset=function(a){this.stop();a&&sb(this,this.i=0)};
h.V=function(a,b,c,d){if(this.v&&this.v.V(a,b,c,d)||this.j&&this.j.V(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){tb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ub(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){tb(a,
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ub(a,b)}}(this,b),!0):u.prototype.V.call(this,a,b,c,d)}};h.aa=function(a,b,c,d){this.v=a;this.s=b;this.j=c;this.w=d;vb(this);wb(this)};h.W=function(a,b){if(!b)if(this.P&&xb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.R=function(a){return a?this.save():!0};h.save=function(){var a=new K(this);a.set(0,[this.f,this.i,this.g]);return a.data()};
h.restore=function(a){if(a=a[0])yb(this,this.f=a[0]),sb(this,this.i=a[1]),zb(this,a[2]);return!0};h.yb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}wb(this);return!0};function Ab(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function vb(a,b){for(var c in a.l)Ab(a,c,null!=b?b:a.l[c])}function Bb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function wb(a){for(var b in a.a)Bb(a,b,a.a[b][1])}
h.kb=function(a,b,c){if(tb(this,b)){if(c){var d=this;setTimeout(function(){ub(d,b);a&&a()},+c);return!1}ub(this,b)}return!0};
h.Bb=function(a,b){if("SR"==a){a=b;b=8;if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;
e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return zb(this,g)}return(g=this.a[a])?(g[1]=+b?1:0,Bb(this,a,g[1]),!0):!1};h.Cb=function(a){return tb(this,a)?(ub(this,a),!0):!1};
function tb(a,b){var c=a.a[b];return c?(Bb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Cb&&(a.J=b==Db,a.L=b==Eb),!0):!1}function ub(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(Bb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}h.sb=function(a){a||this.j.h.B||(L(this.j,this.f),this.a[Fb]&&this.a[Fb][1]&&Gb(this.j))};h.tb=function(){};h.nb=function(a){a||M(this.j)};
h.lb=function(a){if(!a&&!this.j.h.B)if(this.a[Fb]&&this.a[Fb][1])Gb(this.j);else{a=this.w;var b;if(b=a)a.h.za&&(a.h.Ma=!0),b=!a.h.za;if(b)gb(a,!0),a.f(0,null),gb(a,!1);else try{var c=this.j.Fa(1);0<c&&(Hb(this.j,c),Ib(this.j,c,!0),Jb(this.j,c))}catch(d){"number"!=typeof d&&(a=d,c=this.j,a=a.stack||a.message,c.h.error=!0,c.G(a))}this.stop();this.v&&Kb(this.v)}};h.mb=function(a){a&&!this.j.h.B&&(this.J&&Lb(this),a=sb(this,this.i=this.g),this.M==rb?Mb(this.s,this.f,a):this.j.c(this.f,a))};
h.ob=function(a){if(!a&&!this.j.h.B){this.L&&Lb(this);if(this.M==rb){a=this.s;var b=this.f,c=a.a[(b&a.g)>>>a.f];a.i++;b=c.i(b&16383,b);a.i--;a=b}else a=this.j.b(this.f);sb(this,this.i=a)}};h.qb=function(a){a||this.j.h.B||yb(this,this.g)};h.pb=function(a){a?(this.o=!0,vb(this,!0)):(this.o=!1,vb(this),zb(this,0))};h.rb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};function Lb(a){var b=1,c=a.s.g;a.a[Cb]&&a.a[Cb][1]||(b=-b);yb(a,a.f&~c|a.f+b&c)}
function yb(a,b){a.f=b&a.s.g;if(a.D!==a.f){a.D=a.f;b=a.D;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.l[e]=f;d.o||Ab(d,e,f)}}}function sb(a,b){a.u=b%H;if(a.H!==a.u){a.H=a.u;b=a.H;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.l[e]=f;d.o||Ab(d,e,f)}}return a.u}function zb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;wb(a);return!0}h.stop=function(){yb(this,this.j.f)};
function xb(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=y(c),e=Za(d.id);e||(e=new qb(d,!0));Xa(e,c)}}var rb=7,Db="DEP",Fb="ENABLE",Eb="EXAM",Cb="STEP";La(xb);function Nb(a,b,c){u.call(this,"Bus",a);this.j=b;this.w=c;this.u=+a.busWidth||18;this.o=1<<this.u;this.g=this.o-1;this.f=Math.log2(16384);this.l=this.o/16384|0;this.i=0;this.a=[];a=new Ob(this);Pb(a);this.a=Array(this.l);for(b=0;b<this.l;b++)this.a[b]=a;A(this)}l(Nb,u);h=Nb.prototype;h.reset=function(){};
h.W=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.R=function(a){return a?this.save():!0};h.save=function(){var a=new K(this);a.set(0,Qb(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&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var k=d[g++],m=d[g++];k--;)f[e++]=m;d=f}e=this.a[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Rb(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.a.length;){var k=a.a[g],m=16384*g,t=16384-(e-m);t>f&&(t=f);if(k&&k.size){if(k.type==d){if(e+f<=k.fa)return k.Da+=k.fa-e,k.fa=e,!0;if(e>=k.fa+k.Da){t=k.size-(e-m);t>f&&(t=f);k.Da=e-k.fa+t;e=m+16384;f-=t;g++;continue}}return Sb(Tb,e,f)}e=new Ob(a,e,t,16384,d);Pb(e,k);a.a[g++]=e;e=m+16384;f-=t}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ub[d]+" at "+qa(b)),!0):Sb(Vb,b,c)}
function Mb(a,b,c){var d=a.a[(b&a.g)>>>a.f];a.i++;d.j(c,b&16383,b);a.i--}function Qb(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Na||e.ib){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,m=[];g<e.length;){for(var t=e[g],B=g+1;B<e.length&&e[B]===t;)B++;m[k++]=B-g;m[k++]=t;g=B}m.length<e.length&&(e=m)}c[f]=e}}return c}function Sb(a,b,c){q("Memory block error ("+a+": "+ra(b)+","+ra(c)+")");return!1}var Tb=1,Vb=2;function Wb(a){u.call(this,"Device",a)}l(Wb,u);h=Wb.prototype;
h.aa=function(a,b,c,d){this.s=b;this.v=a;this.j=c;this.w=d;A(this)};h.W=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.R=function(a){return a?this.save():!0};h.reset=function(){};h.save=function(){return(new K(this)).data()};h.restore=function(){return!0};La(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c=a[b];var d=y(c);switch(d.type){case "default":d=new Wb(d),Xa(d,c)}}});
function Ob(a,b,c,d,e){this.m=a;this.id=Xb+=2;this.fa=b;this.Da=c;this.size=d||0;this.type=e||Yb;this.s=e==Zb;this.b=this.i=this.Oa;this.c=this.j=this.Ea;this.f=this.g=0;Pb(this);this.Na=this.ib=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;$b(this,ac)}else $b(this)}h=Ob.prototype;h.save=function(){return this.a};h.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Na=!0):!1};function $b(a,b){b||(b=bc);cc(a,b,void 0);dc(a,b,void 0)}
function cc(a,b,c){c&&a.f||(a.b=b[0]||a.Oa);if(c||void 0===c)a.i=b[0]||a.Oa}function dc(a,b,c){c&&a.g||(a.c=!a.s&&b[1]||a.Ea);if(c||void 0===c)a.j=b[1]||a.Ea}function Pb(a,b){a.f=a.g=0;b&&((a.f=b.f)&&cc(a,ec,!1),(a.g=b.g)&&dc(a,ec,!1))}h.Oa=function(){var a=this.m;if(!a.i)throw M(a.j),-1;return-1};h.Ea=function(){var a=this.m;if(!a.i)throw M(a.j),-1;};h.wb=function(a){return this.a[a]};h.Fb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Na=!0)};h.ub=function(a,b){return this.i(a,b)};
h.Eb=function(a,b,c){this.s?this.Ea():this.j(a,b,c)};var Yb=0,Zb=2,Ub=["NONE","RAM","ROM"],Xb=0,bc=[],ac=[Ob.prototype.wb,Ob.prototype.Fb],ec=[Ob.prototype.ub,Ob.prototype.Eb];
function fc(a,b){u.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Ga=0;this.Ja=b;this.ia=c;this.Ha=Math.round(this.Ja/1E4)/100;this.ga=this.Ha*this.ia;this.Ia=this.oa=this.ba=this.ya=0;this.h.B=this.h.Pa=!1;this.h.K=a.autoStart;"string"==typeof this.h.K&&(this.h.K="true"==this.h.K);this.h.Aa=!1;this.wa=this.ha=0;this.xa=+a.csStart;this.ma=+a.csInterval;this.na=+a.csStop;this.L=[];this.Ya=this.zb.bind(this);this.S=this.D=this.P=this.H=this.C=this.la=this.M=this.ca=this.Ka=this.X=0;this.sa=
null;A(this)}l(fc,u);h=fc.prototype;h.aa=function(a,b,c,d){this.v=a;this.s=b;this.w=d;this.sa=a.g;for(a=0;a<gc.length;a++)(b=this.m[gc[a]])&&this.v.V(null,gc[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.W=function(a,b){var c=hc(this.v,"autoStart");null!=c?this.h.K="true"==c?!0:"false"==c?!1:!!c:null==this.h.K&&(this.h.K=void 0===this.m.run);if(!b){if(a){ic(this);if(!this.restore(a))return!1;jc(this)}else this.reset();this.status("No debugger detected");this.h.K||this.N("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};h.R=function(a){return a?this.save():!0};h.K=function(){return this.h.B?!0:this.h.K?(Gb(this),!0):!1};h.$a=function(){return 0};
function jc(a){void 0===a.xa&&(a.xa=0);void 0===a.ma&&(a.ma=-1);void 0===a.na&&(a.na=-1);a.h.Aa=0<=a.xa&&0<a.ma;a.h.Aa&&(a.wa=0,a.ha=a.xa-a.S)}function Jb(a,b){if(a.h.Aa){var c=!1;a.wa=a.wa+a.$a()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.ma,c=!0);0<=a.na&&a.na<=kc(a)&&(a.ma=a.na=-1,jc(a),M(a),c=!0);c&&a.N(kc(a)+" cycles: checksum="+ra(a.wa))}}
h.V=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.h.F)a=!0;else{var b=null,c,k=Ya(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.h.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.h.F);c++);c==k.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Ba?" (waiting for notification)":""))+".");a=!1}a&&(d.h.B?M(d):Gb(d))},!0;case "speed":return this.m[b]=
c,!0;case "setSpeed":return this.m[b]=c,c.onclick=function(){lc(d,d.ia<<1,!0)},c.textContent=this.ga.toFixed(2)+"Mhz",!0}return!1};function Ib(a,b,c){a.S+=b;c&&(a.P=a.H=0)}function mc(a,b){var c=1;b&&1<a.ia&&a.X&&(c=a.X/a.Ha);a.Ia=Math.round(1E3/nc);a.oa=Math.floor(a.Ja/nc*c);b||(a.ba=a.oa);a.ya=0}function kc(a){return a.S+a.D+a.P-a.H}function ic(a){a.X=0;a.Ka=0;a.S=a.D=a.P=a.H=0;jc(a);lc(a,1)}
function lc(a,b,c){if(void 0!==b){.8>a.X/a.ga&&(b=1);a.ia=b;b=a.Ha*a.ia;if(a.ga!=b){a.ga=b;b=a.ga.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.N("target speed: "+b)}c&&a.v&&(c=a.v,c.H&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.H.focus(),window&&window.scrollTo(b,d)))}Ib(a,a.D);a.D=0;a.C=Ua();a.M=0;mc(a)}function oc(a){for(var b=[],c=0;c<a.L.length;c++)b.push(a.L[c][0]);return b}
function Hb(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function pc(a,b){var c=a.P-=a.H;a.H=0;b&&(a.P=0);return c}
h.zb=function(){if(this.h.B){this.ya>=this.Ja&&mc(this,!0);this.ca=0;this.la=Ua();if(this.M){var a=this.la-this.M;a>this.Ia&&(this.C+=a,this.C>this.la&&(this.C=this.la))}try{do{for(var b,c=this.h.Aa?1:this.oa,d=this.L.length-1;0<=d;d--){var e=this.L[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Fa(b)}catch(f){if("number"!=typeof f)throw f;}b=pc(this,!0);this.ca+=b;this.D+=b;Jb(this,b);Hb(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.oa;++this.Ka>=qc&&(this.v&&Kb(this.v,void 0),this.Ka=0);break}}while(this.h.B)}catch(f){M(this);
this.v&&this.v.stop(Ua(),kc(this));a=f.stack||f.message;this.h.error=!0;this.G(a);return}if(this.h.B){a=setTimeout;b=this.Ya;this.M=Ua();c=this.Ia;this.ca&&(c=Math.round(c*this.ca/this.oa));c-=this.M-this.la;if(d=this.M-this.C)this.X=Math.round(this.D/(10*d))/100,864E5<=d&&(this.S=0,lc(this));if(0>c||this.X<this.ga)-1E3>c&&(this.C-=c),c=0;this.ya+=this.ca;this.M+=c;a(b,c)}}};
function Gb(a){if(a.h.error){a.N(a.toString()+" error");var b=!0}else b=!1;if(!b)if(a.h.B)a.N(a.toString()+" busy");else{lc(a);a.h.B=!0;a.h.Pa=!0;if(b=a.m.run)b.textContent="Halt";a.v&&a.v.start(a.C,kc(a));a.w||a.status("Started");setTimeout(a.Ya,0)}}h.Fa=function(){return 0};function M(a){var b=!1;if(a.h.B){pc(a);Ib(a,a.D);a.D=0;a.h.B=!1;if(b=a.m.run)b.textContent="Run";a.v&&a.v.stop(Ua(),kc(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var nc=30,qc=15,gc=["power","reset"];
function rc(a){var b=+a.model||1001;fc.call(this,a,1E6);this.Xa=b;this.ta=+a.addrReset||0;this.hb=sc.bind(this);this.i=N.bind(this);this.ka=null;this.Ua=[];this.h.complete=!1}l(rc,fc);h=rc.prototype;
h.reset=function(){this.status("Model "+this.Xa);this.h.B&&M(this);this.pa=this.qa=this.a=this.u=0;this.f=this.va=this.ta;this.A=this.J=-1;this.l=this.g=0;this.La=[0,0];this.da=[0,0];this.Y=[0,0];this.ea=[0,0];this.ja=this.f;this.o=0;this.b=this.vb;this.c=this.Gb;this.ka=null;ic(this);this.h.error=!1;fc.prototype.reset.call(this)};h.$a=function(){return 0};
h.save=function(){var a=new K(this);a.set(0,[this.a,this.u,this.pa,this.qa,this.f,this.J,this.A,this.g,this.o,this.va,this.ja,this.ta]);a.set(1,[]);a.set(2,[this.S,this.ia,this.h.K]);a.set(3,tc(this));a.set(4,oc(this));return a.data()};
h.restore=function(a){var b=a[0];ea();ca();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.a=b.next().value;this.u=b.next().value;this.pa=b.next().value;this.qa=b.next().value;this.f=b.next().value;this.J=b.next().value;this.A=b.next().value;this.g=b.next().value;this.o=b.next().value;this.va=b.next().value;this.ja=b.next().value;this.ta=b.next().value;b=a[2];this.S=b[0];lc(this,b[1]);this.h.K=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ua.length;d++){var e=this.Ua[d];if(e.Db===
b[c]){d=e;break a}}d=null}d&&(d.next=this.ka,this.ka=d)}a=a[4];for(b=0;b<this.L.length&&b<a.length;b++)this.L[b][0]=a[b];return!0};function L(a,b){a.u=0;a.J=-1;a.f=b%jb}function tc(a){var b=[];for(a=a.ka;a;)b.push(a.Db),a=a.next;return b}h.vb=function(a){var b=this.s;a=this.ja=a;return b.a[(a&b.g)>>>b.f].b(a&16383,a)};h.Gb=function(a,b){var c=this.s;a=this.ja=a;c.a[(a&c.g)>>>c.f].c(b,a&16383,a);return b};
h.Fa=function(a){this.h.complete=!0;var b=a?this.h.Pa?0:1:-1;this.h.Pa=!1;this.P=this.H=a;this.o=this.o&-5|0;do{if(a=this.o)if(a=this.o&11)this.o&2?this.ka||(this.o&=-3):this.o&1&&this.o++,a=!1;if(a){if(this.o&4&&this.w.i(0<=this.J?this.J:this.u&4194304?this.va:this.f,b)){M(this);break}if(0>b)break}this.o&=15;this.u&4194304?this.u=this.pa=this.b(this.a):0<=this.J?(this.u=this.qa=this.b(this.J),this.J=-1):(this.u=this.qa=this.b(this.va=this.f),this.f=(this.f+1)%jb);this.u&=8388607;this.a=this.u&262143;
if(a=this.u>>18&15)this.a=this.a+(this.pa=this.b(a))&ib;a=this.u&4194304?-1:this.qa/ob|0;0<=a&&this.hb(a);this.H--}while(0<this.H);return this.h.complete?this.P-this.H:!1===this.h.complete?-1:0};La(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c);d=new rc(d);Xa(d,c)}});function sc(a){uc[a>>4].call(this,a,a&15)}function O(a){this.i(a)}
function vc(){var a=0,b=this.b(this.a),c=b/pb&63,d=b>>24&63;c-=d;0>c&&(a++,c=36-d,0>c&&(c=100-d));b=c*pb+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.c(this.a,b)}function wc(a,b){a=this.b(this.a);if(0>this.A)this.A=a,this.u=this.a|4194304;else{var c=this.A/pb&63,d=this.A>>24&63;a=32>c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.c(b,a);this.g&=-8193;this.A=-1}}
function xc(a,b){a=this.b(this.a);if(0>this.A)this.A=a,this.u=this.a|4194304;else{var c=this.A/pb&63,d=this.A>>24&63;b=this.b(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.c(this.a,a);this.g&=-8193;this.A=-1}}function yc(a,b){this.c(b,this.b(this.a))}function zc(a,b){this.c(b,this.a)}function Ac(a,b){this.c(this.a,this.b(b))}function Bc(a,b){this.c(b,0)}function Cc(a,b){this.c(b,G-this.b(b))}function Dc(a,b){this.c(b,G)}
function Ec(a,b){var c=this.b(this.a),d=this.b(b);this.c(b,Fc(a,d,c)+(c-(c&C)))}function Gc(a,b){var c=this.b(b);this.c(b,Fc(a,c,0))}function Hc(a,b){b=this.b(b);var c=this.b(this.a);this.c(this.a,Fc(a,c,b)+(b-(b&C)))}function Ic(a,b){var c=this.b(this.a),d=c;if(a&=384)switch(d-=d&C,a){case 256:d+=C;break;case 384:d+=c>E?C:0}c=d;this.c(this.a,c);b&&this.c(b,c)}function Jc(a,b){var c=(this.b(this.a)&C)*D,d=this.b(b);this.c(b,Fc(a,d,c)+c)}
function Kc(a,b){var c=this.a*D,d=this.b(b);this.c(b,Fc(a,d,c)+c)}function Lc(a,b){b=(this.b(b)&C)*D;var c=this.b(this.a);this.c(this.a,Fc(a,c,b)+b)}function Mc(a,b){var c=this.b(this.a),d=(c&C)*D;c=Fc(a,c,d)+d;this.c(this.a,c);b&&this.c(b,c)}function Nc(a,b){var c=this.b(this.a)&C,d=this.b(b);this.c(b,Oc(a,d,c)+c)}function Pc(a,b){var c=this.b(b);this.c(b,Oc(a,c,this.a)+this.a)}function Qc(a,b){b=this.b(b)&C;var c=this.b(this.a);this.c(this.a,Oc(a,c,b)+b)}
function Rc(a,b){var c=this.b(this.a),d=c;if(a&=384)switch(d&=C,a){case 256:d+=C*D;break;case 384:d+=c>kb?C*D:0}c=d;this.c(this.a,c);b&&this.c(b,c)}function Sc(a,b){var c=this.b(this.a)/D|0,d=this.b(b);this.c(b,Oc(a,d,c)+c)}function Tc(a,b){var c=this.b(b);this.c(b,Oc(a,c,0))}function Uc(a,b){b=this.b(b)/D|0;var c=this.b(this.a);this.c(this.a,Oc(a,c,b)+b)}function Vc(a,b){var c=this.b(this.a),d=c/D|0;c=Oc(a,c,d)+d;this.c(this.a,c);b&&this.c(b,c)}function P(a){Wc[a&7].call(this,a,a>>3&127)}
function Xc(){}function Yc(){}function N(a){this.N("undefined opcode: "+qa(a));this.f=(this.f+-1)%jb;M(this)}function Zc(a){a>E&&(a!=F?a=nb-a:this.g|=163840);return a}function Q(a,b){var c=(a+b)%H;$c.call(this,a,b,c);return c}
function ad(a,b,c){var d=!1,e=!1;if(void 0===c){if(!a)return this.g|=131104,-1;c=b>E?G:0}else if((c<F?c:nb-c-(b?1:0))>=(a<F?a:nb-a))return this.g|=131104,-1;var f=c-c%F;b=b%F+(c&1)*F;c=this.l=f+Math.trunc(c/2);a>E&&(a=H-a,d=!d);c>E&&(b?(c=G-c,b=H-b):c&&(c=H-c),e=!0,d=!d);f=this.La;f[0]=0;f[1]=0;f=this.da;f[0]=1;f[1]=0;f=this.Y;f[0]=a;f[1]=0;a=this.ea;a[0]=b;for(a[1]=c;0<bd(this.ea,this.Y);)cd(this.Y,this.Y),cd(this.da,this.da);do{if(0<=bd(this.ea,this.Y)&&(c=this.ea,a=this.Y,c[0]-=a[0],c[1]-=a[1],
0>c[0]&&(c[0]+=H,c[1]--),cd(this.La,this.da),dd(this.ea)))break;ed(this.Y);ed(this.da)}while(!dd(this.da));b=this.La[0];this.l=this.ea[0];d&&b&&(b=H-b);e&&this.l&&(this.l=H-this.l);return b}
function fd(a,b,c,d){var e=a,f=b;b=!1;e>E&&(d||1001!=this.Xa||e!=F)&&(e=H-e,b=!b);f>E&&(f=H-f,b=!b);if(e<D&&f<D){a=e*f;var g=0}else{a=e&C;e=Math.trunc(e/D);g=f&C;f=Math.trunc(f/D);var k=a*g,m=e*g+Math.trunc(k/D);g=Math.trunc(m/D);m=(m&C)+a*f;a=(m*D+(k&C))%H;g+=Math.trunc(m/D)+e*f}b&&(a?(g=G-g,a=H-a):g&&(g=H-g));b=a;a=g;e=a-a%F;a=2*a%H+Math.trunc(b/F);b=e+b%F;a-a%F!=e&&(b=a);d?g=b:(b==F&&a==F&&(this.g|=131072),this.l=b,g=a);c&&(a=this.l,!d&&(g||a>E)&&(g!=G||a<=E)&&(this.g|=131072),g=a);return g}
function gd(a){a?a==F?this.g|=163840:a=nb-a:this.g|=98304;return a}function hd(a,b){var c=a-b;0>c&&(c+=H);$c.call(this,c,b,a);return c}function $c(a,b,c){a=Math.trunc(a/mb);b=Math.trunc(b/mb);c=Math.trunc(c/mb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function T(a,b){return R(a,(~(b/J|0)&15)*J+(~b>>>0))}function U(a,b){return(a<F?a:a-H)-(b<F?b:b-H)}
function id(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function V(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)}function W(a){return a<F?a:a-H}function Y(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function Z(a){return(a/D|0)+(a&C)*D}function Oc(a,b,c){switch(a&384){case 0:b-=b&C;break;case 128:b=0;break;case 256:b=C*D;break;case 384:b=c>kb?C*D:0}return b}function Fc(a,b,c){switch(a&384){case 0:b&=C;break;case 128:b=0;break;case 256:b=C;break;case 384:b=c>E?C:0}return b}
function cd(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=H&&(a[0]%=H,a[1]++)}function bd(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function ed(a){a[1]%2&&(a[0]+=H);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function dd(a){return!a[0]&&!a[1]}
var uc=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},vc,function(a,b){this.g&8192||(vc.call(this),this.g|=8192);wc.call(this,0,b)},wc,function(a,b){this.g&8192||(vc.call(this),this.g|=8192);xc.call(this,0,b)},xc,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},yc,zc,Ac,function(a,b){b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);a=(a/D|0)+(a&C)*D;this.c(b,a)},function(a,b){this.c(b,this.a*D)},function(a,b){a=this.b(b);a=(a/D|0)+(a&C)*D;this.c(this.a,a)},function(a,b){a=this.b(this.a);a=(a/D|0)+(a&C)*D;this.c(this.a,a);b&&this.c(b,a)},function(a,b){this.c(b,gd.call(this,this.b(this.a)))},function(a,b){this.c(b,
gd.call(this,this.a))},function(a,b){this.c(this.a,gd.call(this,this.b(b)))},function(a,b){a=gd.call(this,this.b(this.a));this.c(this.a,a);b&&this.c(b,a)},function(a,b){this.c(b,Zc.call(this,this.b(this.a)))},function(a,b){this.c(b,this.a)},function(a,b){this.c(this.a,Zc.call(this,this.b(b)))},function(a,b){a=Zc.call(this,this.b(this.a));this.c(this.a,a);b&&this.c(b,a)},function(a,b){this.c(b,fd.call(this,this.b(b),this.b(this.a),!0))},function(a,b){this.c(b,fd.call(this,this.b(b),this.a,!0))},function(a,
b){this.c(this.a,fd.call(this,this.b(b),this.b(this.a),!0))},function(a,b){this.c(this.a,this.c(b,fd.call(this,this.b(b),this.b(this.a),!0)))},function(a,b){this.c(b,fd.call(this,this.b(b),this.b(this.a)));this.c(b+1&15,this.l)},function(a,b){this.c(b,fd.call(this,this.b(b),this.a));this.c(b+1&15,this.l)},function(a,b){this.c(this.a,fd.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,fd.call(this,this.b(b),this.b(this.a))));this.c(b+1&15,this.l)},function(a,b){a=ad.call(this,
this.b(this.a),this.b(b));0>a||(this.c(b,a),this.c(b+1&15,this.l))},function(a,b){a=ad.call(this,this.a,this.b(b));0>a||(this.c(b,a),this.c(b+1&15,this.l))},function(a,b){a=ad.call(this,this.b(this.a),this.b(b));0>a||this.c(this.a,a)},function(a,b){a=ad.call(this,this.b(this.a),this.b(b));0>a||(this.c(this.a,this.c(b,a)),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);var c=this.b(b+1&15);c=ad.call(this,this.b(this.a),c,a);0>c||(this.c(b,c),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);var c=
this.b(b+1&15);c=ad.call(this,this.a,c,a);0>c||(this.c(b,c),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);b=this.b(b+1&15);b=ad.call(this,this.b(this.a),b,a);0>b||this.c(this.a,b)},function(a,b){a=this.b(b);var c=this.b(b+1&15);c=ad.call(this,this.b(this.a),c,a);0>c||(this.c(b,this.c(this.a,c)),this.c(b+1&15,this.l))},function(a,b){if(a=(this.a&lb)<<14>>23|this.a&255){var c=this.b(b);if(0<a){var d=E;var e=c<F?0:F;35>a&&(e+=c*Math.pow(2,a)%F,d=F-Math.pow(2,35-a));c<F?c+d>E&&(this.g|=131072):c-
d<F&&(this.g|=131072)}else-35>=a?e=c<F?0:E:(e=Math.trunc(c/Math.pow(2,-a)),c>E&&(d=H-Math.pow(2,36+a),e+=d));this.c(b,e)}},function(a,b){if(a=((this.a&lb)<<14>>23|this.a&255)%36){var c=this.b(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.c(b,c)}},function(a,b){if(a=(this.a&lb)<<14>>23|this.a&255){var c=this.b(b);c=0<a?36<=a?0:c*Math.pow(2,a)%H:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.c(b,c)}},function(a,b){a=0;var c=this.b(b);if(c){for(;c<F;)a++,c*=2;L(this,this.a)}this.c(b+
1&15,a)},function(a,b){if(a=(this.a&lb)<<14>>23|this.a&255){var c=this.b(b),d=this.b(b+1&15);if(0<a){var e=c;if(36<=a){if(0<c&&c<F||c>E&&c<G)this.g|=131072;if(71<=a){if(0<d&&d<F||d>E&&d<G)this.g|=131072;c=0}else{c=d*Math.pow(2,a-35)%F;var f=F-Math.pow(2,70-a);e<=E?d+f>E&&(this.g|=131072):d-f<=E&&(this.g|=131072)}d=0;e>E&&(c+=F,d+=F)}else c=c*Math.pow(2,a)%F+Math.trunc(d%F/Math.pow(2,35-a)),d=d*Math.pow(2,a)%F,f=F-Math.pow(2,35-a),e<=E?e+f>E&&(this.g|=131072):(e-f<=E&&(this.g|=131072),c+=F,d+=F)}else-36>=
a?(d=-72>=a?c>E?G:0:Math.trunc(c%F/Math.pow(2,-a-35)),c<=E?c=0:(c=G,d+=F)):(f=c>E?H-Math.pow(2,36+a):0,d=Math.trunc(d%F/Math.pow(2,-a))+c%F*Math.pow(2,35+a)%F,c=Math.trunc(c/Math.pow(2,-a))+f,c>E&&(d+=F));this.c(b,c);this.c(b+1&15,d)}},function(a,b){if(a=((this.a&lb)<<14>>23|this.a&255)%72){var c=this.b(b),d=this.b(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-
a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a)));this.c(b,c);this.c(b+1&15,d)}},function(a,b){if(a=(this.a&lb)<<14>>23|this.a&255){var c=this.b(b),d=this.b(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%H,d=0):(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.c(b,c);this.c(b+1&15,d)}},N,function(a,b){a=this.b(b);this.c(b,
this.b(this.a));this.c(this.a,a)},function(a,b){var c=a=!1,d=this.b(b),e=d/D|0;for(d&=C;!a;)if(this.c(d,this.b(e)),(a=d>=this.a)||(e=e+1&C,d=d+1&C,c=!0),a||!this.h.B){c&&this.c(b,e*D+d);a||(this.f=(this.f+-1)%jb);break}},function(a,b){a=(this.b(b)+262145)%H;this.c(b,a);a<F&&L(this,this.a)},function(a,b){a=(this.b(b)+262145)%H;this.c(b,a);a>=F&&L(this,this.a)},function(a,b){b&1&&(this.g|=4096);if(b&2){var c=this.pa/D|0;this.g=this.g&-254049|c&254048;this.g|=c&4096;c&2048?this.g&4096||(this.g|=2048):
this.g&=-2049}b&4&&M(this);b&8&&this.i(a);L(this,this.a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,L(this,this.a))},function(){this.J=this.a},N,function(a,b){a=(this.b(b)+262145)%H;this.c(b,a);a/D|0||(this.g|=262144);this.c(a&ib,(this.g&C)*D+this.f);this.g&=-8193;L(this,this.a)},function(a,b){a=this.b(b);a+=262145;this.c(a&ib,this.b(this.a));a>=H&&(a-=H);a/D|0||(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b);var c=this.b(a&ib);this.c(this.a,c);this.a==b&&(a=c);a-=262145;0>a&&(a+=H);(a/
D|0)==C&&(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b);var c=this.b(a&ib);a-=262145;0>a&&(a+=H);(a/D|0)==C&&(this.g|=262144);this.c(b,a);L(this,c&ib)},function(){this.c(this.a,(this.g&C)*D+this.f);this.g&=-8193;L(this,this.a+1)},function(a,b){this.c(b,(this.g&C)*D+this.f);this.g&=-8193;L(this,this.a)},function(a,b){this.c(this.a,this.b(b));this.c(b,this.a*D+this.f);L(this,this.a+1)},function(a,b){a=this.b(b);this.c(b,this.b(a/D|0));L(this,this.a)},function(a,b){this.c(b,Q.call(this,this.b(b),
this.b(this.a)))},function(a,b){this.c(b,Q.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,Q.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Q.call(this,this.b(b),this.b(this.a))))},function(a,b){this.c(b,hd.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,hd.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,hd.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,hd.call(this,this.b(b),this.b(this.a))))},Xc,function(a,
b){0>U(this.b(b),this.a)&&L(this,this.f+1)},function(a,b){0==U(this.b(b),this.a)&&L(this,this.f+1)},function(a,b){0>=U(this.b(b),this.a)&&L(this,this.f+1)},function(){L(this,this.f+1)},function(a,b){0<=U(this.b(b),this.a)&&L(this,this.f+1)},function(a,b){0!=U(this.b(b),this.a)&&L(this,this.f+1)},function(a,b){0<U(this.b(b),this.a)&&L(this,this.f+1)},Yc,function(a,b){0>U(this.b(b),this.b(this.a))&&L(this,this.f+1)},function(a,b){0==U(this.b(b),this.b(this.a))&&L(this,this.f+1)},function(a,b){0>=U(this.b(b),
this.b(this.a))&&L(this,this.f+1)},function(){L(this,this.f+1)},function(a,b){0<=U(this.b(b),this.b(this.a))&&L(this,this.f+1)},function(a,b){0!=U(this.b(b),this.b(this.a))&&L(this,this.f+1)},function(a,b){0<U(this.b(b),this.b(this.a))&&L(this,this.f+1)},Xc,function(a,b){0>W(this.b(b))&&L(this,this.a)},function(a,b){0==W(this.b(b))&&L(this,this.a)},function(a,b){0>=W(this.b(b))&&L(this,this.a)},function(){L(this,this.a)},function(a,b){0<=W(this.b(b))&&L(this,this.a)},function(a,b){0!=W(this.b(b))&&
L(this,this.a)},function(a,b){0<W(this.b(b))&&L(this,this.a)},function(a,b){b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0>W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0==W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0>=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){L(this,this.f+1);b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0<=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0!=W(a)&&L(this,
this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0<W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){this.c(b,Q.call(this,this.b(b),1))},function(a,b){a=this.c(b,Q.call(this,this.b(b),1));0>W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),1));0==W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),1));0>=W(a)&&L(this,this.a)},function(a,b){this.c(b,Q.call(this,this.b(b),1));L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),1));0<=W(a)&&L(this,
this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),1));0!=W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),1));0<W(a)&&L(this,this.a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));0>W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));0==W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));
0>=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));0<=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));0!=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),1));0<W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){this.c(b,Q.call(this,this.b(b),G))},function(a,
b){a=this.c(b,Q.call(this,this.b(b),G));0>W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),G));0==W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),G));0>=W(a)&&L(this,this.a)},function(a,b){this.c(b,Q.call(this,this.b(b),G));L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),G));0<=W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),G));0!=W(a)&&L(this,this.a)},function(a,b){a=this.c(b,Q.call(this,this.b(b),G));0<W(a)&&L(this,this.a)},
function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));0>W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));0==W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));0>=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,
Q.call(this,this.b(this.a),G));0<=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));0!=W(a)&&L(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,Q.call(this,this.b(this.a),G));0<W(a)&&L(this,this.f+1);b&&this.c(b,a)},Bc,Bc,function(){this.c(this.a,0)},function(a,b){this.c(this.a,this.c(b,0))},function(a,b){this.c(b,R(this.b(b),this.b(this.a)))},function(a,b){this.c(b,R(this.b(b),this.a))},function(a,b){this.c(this.a,R(this.b(b),this.b(this.a)))},
function(a,b){this.c(this.a,this.c(b,R(this.b(b),this.b(this.a))))},function(a,b){this.c(b,R(G-this.b(b),this.b(this.a)))},function(a,b){this.c(b,R(G-this.b(b),this.a))},function(a,b){this.c(this.a,R(G-this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,R(G-this.b(b),this.b(this.a))))},yc,zc,Yc,yc,function(a,b){this.c(b,R(this.b(b),G-this.b(this.a)))},function(a,b){this.c(b,R(this.b(b),G-this.a))},function(a,b){this.c(this.a,R(this.b(b),G-this.b(this.a)))},function(a,b){this.c(this.a,
this.c(b,R(this.b(b),G-this.b(this.a))))},Xc,Xc,Ac,Ac,function(a,b){this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Y(this.b(b),this.a))},function(a,b){this.c(this.a,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Y(this.b(b),this.b(this.a))))},function(a,b){this.c(b,V(this.b(b),this.b(this.a)))},function(a,b){this.c(b,V(this.b(b),this.a))},function(a,b){this.c(this.a,V(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,V(this.b(b),this.b(this.a))))},
function(a,b){this.c(b,R(G-this.b(b),G-this.b(this.a)))},function(a,b){this.c(b,R(G-this.b(b),G-this.a))},function(a,b){this.c(this.a,R(G-this.b(b),G-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,R(G-this.b(b),G-this.b(this.a))))},function(a,b){this.c(b,id(this.b(b),this.b(this.a)))},function(a,b){this.c(b,id(this.b(b),this.a))},function(a,b){this.c(this.a,id(this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,id(this.b(b),this.b(this.a))))},Cc,Cc,function(a,b){this.c(this.a,
G-this.b(b))},function(a,b){this.c(this.a,this.c(b,G-this.b(b)))},function(a,b){this.c(b,V(G-this.b(b),this.b(this.a)))},function(a,b){this.c(b,V(G-this.b(b),this.a))},function(a,b){this.c(this.a,V(G-this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,V(G-this.b(b),this.b(this.a))))},function(a,b){this.c(b,G-this.b(this.a))},function(a,b){this.c(b,G-this.a)},function(){this.c(this.a,G-this.b(this.a))},function(a,b){this.c(this.a,this.c(b,G-this.b(this.a)))},function(a,b){this.c(b,V(this.b(b),
G-this.b(this.a)))},function(a,b){this.c(b,V(this.b(b),G-this.a))},function(a,b){this.c(this.a,V(this.b(b),G-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,V(this.b(b),G-this.b(this.a))))},function(a,b){this.c(b,V(G-this.b(b),G-this.b(this.a)))},function(a,b){this.c(b,V(G-this.b(b),G-this.a))},function(a,b){this.c(this.a,V(G-this.b(b),G-this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,V(G-this.b(b),G-this.b(this.a))))},Dc,Dc,function(){this.c(this.a,G)},function(a,b){this.c(this.a,this.c(b,
G))},Ec,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Ec,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Ec,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Ec,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Nc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Nc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Nc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Xc,Xc,function(a,b){0==R(this.b(b),this.a)&&L(this,this.f+1)},function(a,b){0==R(this.b(b),this.a*D)&&L(this,this.f+1)},function(){L(this,this.f+1)},function(){L(this,this.f+1)},function(a,b){0!=R(this.b(b),this.a)&&L(this,this.f+1)},function(a,b){0!=R(this.b(b),this.a*D)&&L(this,this.f+1)},Yc,Yc,function(a,
b){0==R(this.b(b),this.b(this.a))&&L(this,this.f+1)},function(a,b){0==R(this.b(b),Z(this.b(this.a)))&&L(this,this.f+1)},function(){L(this,this.f+1)},function(){L(this,this.f+1)},function(a,b){0!=R(this.b(b),this.b(this.a))&&L(this,this.f+1)},function(a,b){0!=R(this.b(b),Z(this.b(this.a)))&&L(this,this.f+1)},function(a,b){this.c(b,T(this.b(b),this.a))},function(a,b){this.c(b,T(this.b(b),this.a*D))},function(a,b){a=this.b(b);0==R(a,this.a)&&L(this,this.f+1);this.c(b,T(a,this.a))},function(a,b){a=this.b(b);
var c=this.a*D;0==R(a,c)&&L(this,this.f+1);this.c(b,T(a,c))},function(a,b){L(this,this.f+1);this.c(b,T(this.b(b),this.a))},function(a,b){L(this,this.f+1);this.c(b,T(this.b(b),this.a*D))},function(a,b){a=this.b(b);0!=R(a,this.a)&&L(this,this.f+1);this.c(b,T(a,this.a))},function(a,b){a=this.b(b);var c=this.a*D;0!=R(a,c)&&L(this,this.f+1);this.c(b,T(a,c))},function(a,b){this.c(b,T(this.b(b),this.b(this.a)))},function(a,b){this.c(b,T(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);
0==R(a,c)&&L(this,this.f+1);this.c(b,T(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));0==R(a,c)&&L(this,this.f+1);this.c(b,T(a,c))},function(a,b){L(this,this.f+1);this.c(b,T(this.b(b),this.b(this.a)))},function(a,b){L(this,this.f+1);this.c(b,T(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);0!=R(a,c)&&L(this,this.f+1);this.c(b,T(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));0!=R(a,c)&&L(this,this.f+1);this.c(b,T(a,c))},function(a,b){this.c(b,Y(this.b(b),
this.a))},function(a,b){this.c(b,Y(this.b(b),this.a*D))},function(a,b){a=this.b(b);0==R(a,this.a)&&L(this,this.f+1);this.c(b,Y(a,this.a))},function(a,b){a=this.b(b);var c=this.a*D;0==R(a,c)&&L(this,this.f+1);this.c(b,Y(a,c))},function(a,b){L(this,this.f+1);this.c(b,Y(this.b(b),this.a))},function(a,b){L(this,this.f+1);this.c(b,Y(this.b(b),this.a*D))},function(a,b){a=this.b(b);0!=R(a,this.a)&&L(this,this.f+1);this.c(b,Y(a,this.a))},function(a,b){a=this.b(b);var c=this.a*D;0!=R(a,c)&&L(this,this.f+1);
this.c(b,Y(a,c))},function(a,b){this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){this.c(b,Y(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);0==R(a,c)&&L(this,this.f+1);this.c(b,Y(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));0==R(a,c)&&L(this,this.f+1);this.c(b,Y(a,c))},function(a,b){L(this,this.f+1);this.c(b,Y(this.b(b),this.b(this.a)))},function(a,b){L(this,this.f+1);this.c(b,Y(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);
0!=R(a,c)&&L(this,this.f+1);this.c(b,Y(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));0!=R(a,c)&&L(this,this.f+1);this.c(b,Y(a,c))},function(a,b){this.c(b,V(this.b(b),this.a))},function(a,b){this.c(b,V(this.b(b),this.a*D))},function(a,b){a=this.b(b);0==R(a,this.a)&&L(this,this.f+1);this.c(b,V(a,this.a))},function(a,b){a=this.b(b);0==R(a,this.a*D)&&L(this,this.f+1);this.c(b,V(a,this.a*D))},function(a,b){L(this,this.f+1);this.c(b,V(this.b(b),this.a))},function(a,b){L(this,this.f+1);this.c(b,
V(this.b(b),this.a*D))},function(a,b){a=this.b(b);0!=R(a,this.a)&&L(this,this.f+1);this.c(b,V(a,this.a))},function(a,b){a=this.b(b);var c=this.a*D;0!=R(a,c)&&L(this,this.f+1);this.c(b,V(a,c))},function(a,b){this.c(b,V(this.b(b),this.b(this.a)))},function(a,b){this.c(b,V(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);0==R(a,c)&&L(this,this.f+1);this.c(b,V(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));0==R(a,c)&&L(this,this.f+1);this.c(b,V(a,c))},function(a,
b){L(this,this.f+1);this.c(b,V(this.b(b),this.b(this.a)))},function(a,b){L(this,this.f+1);this.c(b,V(this.b(b),Z(this.b(this.a))))},function(a,b){a=this.b(b);var c=this.b(this.a);0!=R(a,c)&&L(this,this.f+1);this.c(b,V(a,c))},function(a,b){a=this.b(b);var c=Z(this.b(this.a));0!=R(a,c)&&L(this,this.f+1);this.c(b,V(a,c))},P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P],Wc=[function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a,b){switch(b){case 0:a=this.b(this.a);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.i(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.c(this.a,a);break;default:this.i(a)}},function(a){this.i(a)},function(a){this.i(a)}];
function jd(a){u.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.i=a.file;this.o=sa(this.i);if(this.i){a=this.i;var b=ta(this.o);"json"!=b&&"hex"!=b&&(a=va()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.i=null):(Sa(c.ua,a,b),(a=Ca(a,b))?(c.a=a.I,c.O=a.O):c.i=null);kd(c)})}}l(jd,u);
jd.prototype.aa=function(a,b,c,d){this.s=b;this.j=c;this.w=d;kd(this)};jd.prototype.W=function(){this.O&&(this.w&&this.w.a(this.id,this.l,this.g,this.O),delete this.O);return!0};jd.prototype.R=function(){return!0};
function kd(a){if(!fb(a)){if(a.i){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ra(a.a.length,8,!0)+") does not match specified size ("+ra(a.g,8,!0)+")";a.h.error=!0;a.G(b)}else{b=a.l;if(Rb(a.s,b,a.g,Zb)){var c;for(c=0;c<a.a.length;c++)Mb(a.s,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.s,g=d.g,k=[],m=d.l>>>f.f;0<g&&m<f.a.length;)k.push(f.a[m++]),g-=16384;f=d.s;
d=d.g;g=0;for(e>>>=f.f;0<d&&e<f.a.length;){m=k[g++];if(!m)break;f.a[e++]=m;d-=16384}}delete a.a}}}A(a)}}La(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=y(c);d=new jd(d);Xa(d,c)}});
function ld(a){u.call(this,"RAM",a);this.O=this.Z=null;this.f=+a.addr;this.g=+a.size;this.U=a.load;this.T=a.exec;null!=this.U&&(this.U=+this.U);null!=this.T&&(this.T=+this.T);this.i=this.o=!1;this.a=a.file;this.l=sa(this.a);if(this.a){a=this.a;var b=ta(this.l);"json"!=b&&"hex"!=b&&(a=va()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(Sa(c.ua,a,b),(a=Ca(a,b))?(c.Z=a.Z,c.O=a.O,null==
c.U&&(c.U=a.U),null==c.T&&(c.T=a.T)):c.a=null);md(c)})}}l(ld,u);ld.prototype.aa=function(a,b,c,d){this.s=b;this.j=c;this.w=d;md(this)};ld.prototype.W=function(a,b){this.O&&(this.w&&this.w.a(this.id,this.f,this.g,this.O),delete this.O);b||this.reset();return!0};ld.prototype.R=function(){return!0};
function md(a){if(a.s&&(!a.i&&a.g&&(Rb(a.s,a.f,a.g,1)?a.i=!0:a.g=0),!fb(a))){if(!a.i)q("No RAM allocated");else if(a.a){if(!a.Z)return;nd(a,a.Z,a.U,a.T,a.f)?a.status('Loaded image "'+a.l+'"'):a.G('Error loading image "'+a.l+'"')}a.o=!0;A(a)}}
ld.prototype.reset=function(){if(this.i&&!this.o){var a=this.s,b=this.f,c=this.g,d=b&16383;for(b>>>=a.f;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0;g=void 0===g?0:g;d=d||0;void 0===f&&(f=e.size);0>g&&g>=-F&&(g+=H);g=Math.trunc(Math.abs(g))%H;for(var k=d;f--&&k<e.size;k++)e.j(g,d,e.fa+d);c-=16384;b++;d=0}this.Z&&nd(this,this.Z,this.U,this.T,this.f,!this.w)}this.o=!1};
function nd(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Mb(a.s,c+g,b[g]);g=!0}g&&(null==d&&(M(a.j),f=!1),null!=d&&(a=a.j,a.ta=d,L(a,d),f?a.h.F?a.h.B||Gb(a):a.h.K=!0:a.w&&a.h.F?M(a)||a.v.h.reset||(a.w.g(),Kb(a.v,-1)):!1===f&&M(a),!a.h.B&&a.sa&&a.sa.stop()));return g}La(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=y(c);d=new ld(d);Xa(d,c)}});
function od(a){u.call(this,"SerialPort",a);this.i=a.upperCase;"string"==typeof this.i&&(this.i="true"==this.i);this.g=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=pd;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.m[b])&&this.V(null,a,b))}this.a=this.l=null;this.exports={connect:this.ab,receiveData:this.Ca,receiveStatus:this.xb,setConnection:this.Ab}}l(od,u);h=od.prototype;
h.V=function(a,b,c){var d=this;switch(b){case pd:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?n.Ta:n.fb:46==c?b=n.Ta:a.ctrlKey&&c>=n.Sa&&c<=n.gb&&(b=c-(n.Sa-n.bb));b&&(a.preventDefault&&a.preventDefault(),d.Ca(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==n.eb&&(b=n.cb);d.Ca(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.Ca(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};h.aa=function(a,b,c,d){this.v=a;this.s=b;this.j=c;this.w=d;A(this)};
h.ab=function(a){if(!this.a){var b=hc(this.v,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ya(c[0]);if(d!=this.Wa)return;c=ya(c[1]);if(this.a=Za(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.W=function(a,b){if(!b)if(this.ab(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.R=function(a){return a?this.save():!0};h.reset=function(){};h.save=function(){var a=new K(this);a.set(0,[]);return a.data()};h.restore=function(){return!0};h.Ca=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);return!0};h.xb=function(){};h.Ab=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var pd="buffer";
La(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=y(c);d=new od(d);Xa(d,c)}});
function qd(a,b,c){u.call(this,"Computer",a);this.h.F=!1;this.M=null;rd(this,b);this.J=hc(this,"autoPower",a,6);this.i=0;this.X=+a.busWidth||+a.buswidth;this.C=this.o=this.D=null;this.A=this.S=!1;this.u=this.l=null;this.P=this.L=!1;this.Y=hc(this,"url")||"";(Math.random()+.1).toString(36);this.f=sd(this);if(this.j=z("CPU",this.id)){this.w=z("Debugger",this.id);this.s=new Nb({id:this.ua+".bus",busWidth:this.X},this.j,this.w);var d=Ya(this.id);if(this.H=(this.g=z("Panel",this.id))&&this.g.m.print)for(b=
0;b<d.length;b++){var e=d[b];e.G=this.g.G;e.print=this.g.print;e.N=this.g.N}this.N(hb+" v1.37.1\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<d.length;b++)e=d[b],e.aa&&e.aa(this,this.s,this.j,this.w);b=null;e=hc(this,"resume",a);void 0!==e&&(1<e.length?b=this.o=e:this.a=parseInt(e,10));var f;if(a=hc(this,"state")||(f=!0,a.state))this.D=b=a,f||(this.A=!0,this.a=td),this.a&&(this.u=new K(this,"1.37.1"),ud(this.u)?
b=null:delete this.u);!b&&this.a&&(b=vd(this))&&(this.A=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.o=null,g.A=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+ya(b):"")+")")):(g.C=b,g.S=!0);A(g)})}else A(this);this.m.power||(this.J=!0);!c&&this.J&&wd(this,this.ra)}else q("Unable to find CPU component")}l(qd,u);function rd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.M=b}
function hc(a,b,c,d){var e=b.toLowerCase();e=Ia(b)||Ia(e);void 0===e&&a.M&&(e=a.M[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function wd(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){wd(a,b,c)});return}}b.call(a,c)}
function xd(a,b){var c=new K(a,"1.37.1",yd);if(ud(c)&&zd(c)){var d=c.get(Ad),e=b?b.get(Ad):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=qd.prototype;
h.ra=function(a){void 0===a&&(a=this.a||(this.C?Bd:td));if(!this.i){this.i++;var b=!1,c=!1;this.L=!1;var d=this.u||new K(this,"1.37.1");if(a==Cd)b=!0;else if(a>td){if(ud(d,this.C)){this.l=new K(this,"1.37.1",Dd);ud(this.l)&&(Ed(this,d),a=Fd,Gd(this.l));this.l.set(Ad,za());Hd(this.l);var e=this.a&&!this.A;if(a==Bd||Va("Click OK to restore the previous "+hb+" machine state, or CANCEL to reset the machine.")){if(c=zd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ud(d,g):("error"==f&&"no machine state"!=
g?(this.G("Error: "+g),"unable to verify user"==g&&(Ga(Id,""),this.f=null)):this.N(f+": "+g),Gd(d),ud(d)?(c=zd(d),e=!0):c=!1))}e&&xd(this,c?d:null)}else a==Fd&&d.clear()}else xd(this);delete this.C;delete this.u}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.j&&(c=Jd(this,g,d,b,c));b=[d,a,c];a!=Cd?wd(this,this.Za,b):this.Za(b)}};
function Jd(a,b,c,d,e){if(!b.h.F){b.h.F=!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.W(f,d)&&f&&(q("Unable to restore state for "+b.type),a.D&&!a.S?(c.clear(),a.a=td,window&&window.location.reload()):a.L=!0,b.W(null),e=!1),!d&&b.Ra){var g=b.Ra.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){q("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Za=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.h.F=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.j&&(Jd(this,this.j,b,c,a),Kb(this,-2),this.j.K());this.L&&(Ed(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0};
function Ed(a,b){if(Va("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.Y;a=a.f||"";b=b.toString();var d={};d.app=hb;d.ver="1.37.1";d.url=c;d.user=a;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
function Kd(a,b,c){var d="none";if(a.i)return null;a.i--;var e=new K(a,"1.37.1"),f=new K(a,"1.37.1",yd),g=za();f.set(Ad,g);e.set(Ad,g);e.set(Ld,"1.37.1");e.set(Md,window?window.location.href:null);e.set(Nd,window?window.navigator.userAgent:"");if(a.j&&a.j.R){c&&(b&&(a.j.h.K=a.j.h.B),M(a.j));var k=a.j.R(b,c);"object"===typeof k&&e.set(a.j.id,k);c&&(a.j.h.F=!1,!1===k&&(d=null))}g=Ya(a.id);for(var m=0;m<g.length;m++){var t=g[m];t.h.F&&(t.R&&(k=t.R(b,c),"object"===typeof k&&e.set(t.id,k)),c&&(t.h.F=!1,
!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.f&&Od(a,a.f,e.toString()),Hd(f)&&Hd(e)||(d=null,k=g=!0)):a.a&&(k=!0,g=a.a==Pd),k&&e.clear(g)):d=e.toString());c&&(a.h.F=!1,b=a.m.power)&&(b.textContent="Power");a.i=0;return d}h.reset=function(){this.h.reset=!0;this.s&&this.s.reset&&this.s.reset();this.j&&this.j.reset&&this.j.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.s&&c!==this.j&&c.reset&&c.reset()}this.h.reset=!1;Kb(this,-1)};
h.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Kb(this,-1)};h.stop=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Kb(this,-1)};
function Kb(a,b){if(a.j){var c=a.j,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Ga+=d))&&(e.textContent=c.h.B?c.X.toFixed(2)+"Mhz":"Stopped",c.Ga=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.j.h.B;d=!!(a.j.o&8);if(0>=b||60<=(a.A+=b)){e=a.j.f;if(a.m.PC){var f=a.w&&a.w.l||8;e=e||0;e=8==f?qa(e,void 0):ra(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.A=0}-1>b?a.f=a.j.f:0<b&&c&&!d&&(a.f=a.j.ja);yb(a,a.f);sb(a,a.i)}}
h.V=function(a,b,c){var d=this;switch(b){case "power":return this.m[b]=c,c.onclick=function(){d.i||(d.h.F?Kd(d,!1,!0):wd(d,d.ra))},!0;case "reset":return this.m[b]=c,c.onclick=function(){if(d.h.F&&!d.i)if(d.a&&!d.o){var a=Va("Click OK to save changes to this "+hb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Kd(d,a,!0);!a&&d.D?window&&window.location.reload():d.ra(td)}else d.reset(),d.j&&!d.w&&d.j.K()},!0;case "save":if(ua())c.parentNode.removeChild(c);else return this.m[b]=
c,c.onclick=function(){var a=sd(d,!0);if(a){var b=!!(d.a&&!d.o||d.D),c=Kd(d,b);b?Od(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function sd(a,b){var c=a.f;c||((c=Fa(Id),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=Qd(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
function Qd(a,b){a.f=null;b=p(va()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ga(Id,b.data),a.f=b.data)}catch(d){q(d.message+" ("+c+")")}return a.f}function vd(a){var b=null;a.f&&(b=va()+"/api/v1/user?req=load&user="+a.f+"&state="+Rd(a,"1.37.1"));return b}
function Od(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Rd(a,"1.37.1");d.data=c;b=p(va()+"/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.G("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.G(c),Ga(Id,""),a.f=null)}}
var Dd="failsafe",yd="validate",Ad="timestamp",Ld="version",Md="url",Nd="browser",Id="user",Cd=-1,td=0,Bd=1,Fd=2,Pd=3;La(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++){var c=a[b],d=y(c);c=x(c,w,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=y(f);g=new qd(g,d,!0);Xa(g,f);g.J&&wd(g,g.ra)}}});r.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=y(a[b]);if(c=z("Computer",c.id))c.h.Qa=!1,c.P&&!c.h.F&&c.ra(Cd)}});
r.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=y(a[b]);if(c=z("Computer",c.id))c.h.Qa=!0,c.h.F&&Kd(c,!(!c.a||c.o),!0)}});function K(a,b,c){this.id=a.id;this.f="";this.a={};this.g=this.j=!1;this.key=Rd(a,b,c);Gd(this,a.jb)}h=K.prototype;h.set=function(a,b){try{this.a[a]=b}catch(c){}};h.get=function(a){return this.a[a]||null};h.data=function(){return this.a};function ud(a,b){return b?(a.f=b,a.g=!0,a.j=!1,!0):a.g?!0:Da()&&(b=Fa(a.key))?(a.f=b,a.g=!0):!1}
function zd(a){var b=!0;if(!a.j)try{a.a=JSON.parse(a.f),a.j=!0}catch(c){q(c.message||c),b=!1}return b}function Hd(a){var b=!0;if(Da()){var c=JSON.stringify(a.a);Ga(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.a?JSON.stringify(this.a):this.f};function Gd(a,b){a.f="";a.a={};a.g=a.j=!1;b&&a.set("parms",b)}
h.clear=function(a){Gd(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 Rd(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 Sd=0;
function Td(a,b,c,d,e,f,g){f("Loading "+a+"...");p(a,null,!0,function(k,m,t){t?(m||(m="unable to load "+a+" ("+t+")"),g(m,null)):Ud(m,a,b,c,d,e,f,g)})}
function Ud(a,b,c,d,e,f,g,k){function m(a,g){if(g)k(g,null);else{c&&(Sa(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
"$1PDPjs$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(S){g=null,a=S.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Vd(a,g,m):m(a,null):k("no data"+(b?" for file: "+
b:""),null)}
function Vd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(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 m=k[0],t,B=/( [a-z]+=)(['"])(.*?)\2/gi;t=B.exec(f);)m=0>m.toLowerCase().indexOf(t[1].toLowerCase())?m.replace(">",t[0]+">"):m.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);k[0]!=m&&(g=g.replace(k[0],m))}else{c(a,"missing <"+d[1]+
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);Vd(a,b,c)}})}else c(a,null)}
function Wd(a,b,c,d,e){function f(a){if(void 0===m){var b=k&&x(k,"machine-warning");m=b&&b[0]||k}m&&(m.innerHTML=wa(a))}function g(a){f("Error: "+a);t&&(--Sd||Oa(!0));t=!1}var k,m,t=!0;Sd++;Ta[b]={};try{if(k=document.getElementById(b)){var B;if("object"==typeof resources&&(B=resources.css)){var S=document.head||document.getElementsByTagName("head")[0],X=document.createElement("style");X.type="text/css";X.styleSheet?X.styleSheet.cssText=B:X.appendChild(document.createTextNode(B));S.appendChild(X)}d||
(B=a,"pdp"==a.substr(0,3)&&(B="pdpjs"),d="/versions/"+B+"/1.37.1/components.xsl");B=function(e,m){m?Td(d,null,a,null,!1,f,function(a,e){e?(Sa(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=m.transformNode(e))?(k.outerHTML=e,--Sd||Oa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(m,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Sd||
Oa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Td(c,b,a,e,!0,f,B):Ud(c,null,b,a,e,!1,f,B)}else g("missing machine element: "+b)}catch(I){g(I.message)}return t}window.embedPDP10=function(a,b,c,d){Oa(!1);return Wd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Oa(!1);return Wd("pdp11",a,b,c,d)};
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete ab[c],d=!0;else if("string"==typeof f&&!ab[c]){d=!0;e=ab;for(var g=c,k=f.length,m=[],t=[],B="",S=null,X=0;X<k;X++){var I=f[X];if('"'==I||"'"==I)S&&I!=S?B+=I:(S?S=null:S=I,B&&(t.push(B),B=""));else{if(!S){if("\r"==I||"\n"==I)I=";";if(" "==I||"\t"==I||";"==I){B&&(t.push(B),B="");";"==I&&t.length&&(m.push(t),t=[]);continue}}B+=I}}B&&t.push(B);t.length&&m.push(t);e[g]=m;$a(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(g=z(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Oa;window.sendEvent=Qa;})();//# sourceMappingURL=/versions/pdpjs/1.37.1/pdp10.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,405 @@
(function(){/*
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rx11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2017
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/shared/lib/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){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
function ea(){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 fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ia(a){ea();ca();ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)}
var ja="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ka;if("function"==typeof Object.setPrototypeOf)ka=Object.setPrototypeOf;else{var la;a:{var ma={ge:!0},na={};try{na.__proto__=ma;la=na.ge;break a}catch(a){}la=!1}ka=la?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var oa=ka;
function q(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;if(oa)oa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Lk=b.prototype}function pa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
pa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});pa("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});
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],10653696:[306,4,17],21411840:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},sa={Ci:0,Fe:1,Ji:2,Ki:3,Li:4,Mi:5,Ni:6,Oi:7,Nd:8,Pi:9,Ge:10,Qi:11,Ri:12,He:13,Si:14,Ti:15,Ui:16,Vi:17,Wi:18,Xi:19,Yi:20,Zi:21,$i:22,aj:23,bj:24,cj:25,dj: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,Jd:65,yi:66,Ei:67,ej:68,E:69,kj:70,nj:71,zj:72,Bj:73,Cj:74,Dj:75,Ej:76,Hj:77,Jj:78,Pj:79,Sj:80,Q:81,Uj:82,Xj:83,fk:84,hk:85,jk:86,kk:87,pk:88,qk:89,yf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ge:97,sk:98,vk:99,d:100,e:101,wk:102,xk:103,yk:104,zk:105,Ek:106,k:107,Fk:108,Gk:109,n:110,Hk:111,p:112,q:113,r:114,Ik:115,t:116,Mk:117,
Nk:118,Ok:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,$b:127};
function ta(a,b){if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&
(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return g}
function va(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var k=a%b;k+=0<=k&&9>=k?48:55;f=String.fromCharCode(k)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function wa(a,b,c){b?36<b&&(b=36):(b=Math.abs(a),b=255>=b?8:262143>=b?18:36);return va(a,2,b,"",c)}
function u(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return va(a,8,b,c?"0o":"")}function xa(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return va(a,10,b)}function v(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return va(a,16,b,c?"0x":"")}function ya(a){return v(a,4,!0)}function za(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 Aa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ba(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ca(a){return a.replace(/[&<>"']/g,function(a){return Da[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var Da={"&":"&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(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;var k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}
function Ja(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=La[a.getDay()].substr(0,3);break;case "F":b+=Ma[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=La[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
break;case "M":b+=Ma[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var La="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Ma="January February March April May June July August September October November December".split(" ");
function Na(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 Oa(a,b){var c,d={aa:null,ha:null,za:null,ya:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.za=g.load;d.ya=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c<e.length;c++)d.aa[f++]=e[c]&255,d.aa[f++]=e[c]>>8&255;else if(e=g.longs)for(d.aa=Array(4*e.length),f=c=0;c<e.length;c++)d.aa[f++]=
e[c]&255,d.aa[f++]=e[c]>>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else(e=g.data)?d.rk=e:d.aa=g;d.aa&&(d.aa.length?1==d.aa.length&&(w(d.aa[0]),d=null):(w("Empty resource: "+a),d=null));d.ha=g.symbols}catch(k){w("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)){w("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.aa=e)}return d}
function Pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Qa(){if(null==Ra){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}Ra=a}return Ra}function Sa(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
function Ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ua(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 Va(a){if(!$a){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," "))}$a=c}return $a[a]||$a[a.toLowerCase()]}function ab(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function bb(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 cb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function db(a){eb.init.push(a)}
function fb(a){if(gb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function hb(a){!gb&&a?(gb=!0,ib&&jb("init"),kb&&jb("show")):gb=a}function jb(a){eb[a]&&fb(eb[a])}var $a=null,eb={init:[],show:[],exit:[]},ib=!1,kb=!1,gb=!0,Ra=null;cb("onload",function(){ib=!0;fb(eb.init)});cb("onpageshow",function(){kb=!0;fb(eb.show)});
cb(Ua("iOS")?"onpagehide":Ua("Opera")?"onunload":"onbeforeunload",function(){fb(eb.exit)});function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ud=b.comment;this.wf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Wc=this.id:(this.tb=this.id.substr(0,a),this.Wc=this.id.substr(a+1));this.A={ready:!1,bb:!1,vd:!1,Dk:!1,ca:!1,Hd:!1,error:!1};this.Lc=null;this.A.error=!1;this.ia=c||0;this.D=this.f=this.F=this.J=null;lb.push(this)}
function mb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date}function w(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
function ub(a,b){var c=y;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=vb(g))&&k.binding&&a.va(k.type,k.binding,g,k.value),m=l.length}}}}function wb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<lb.length;b++){var d=lb[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function xb(a){if(void 0!==a){var b;for(b=0;b<lb.length;b++)if(lb[b].id===a)return lb[b]}return null}function Db(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<lb.length;d++)if(c)c==lb[d]&&(c=null);else if(!(a!=lb[d].type||b&&lb[d].id.indexOf(b)))return lb[d]}return null}function vb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
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}
function Eb(a){for(var b=!0,c=Fb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Gb.indexOf(e)&&(f=function(){return function(){Eb(a)}}());var g=Hb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{b=!1;var k=Db(d[1],a);if(k)if(g=Ib[e])b=g(k,d[2],d[3]);else{var l=k.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){w("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Fb[a];return b}h=x.prototype;
h.toString=function(){return this.name?this.name:this.id||this.type};
h.va=function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.H[b]=c,this.T=function(a){this.v(a,this.type);return!0},c.value="",this.print=function(a){return function(b){tb(a,b)}}(c),this.v=function(a,b){return function(a,c){a||(a="");if(c!=Jb||"..."!=a.slice(-3))c&&(a=c+": "+a),tb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+".")+
c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};h.log=function(){};h.print=function(){};h.v=function(){};h.status=function(a){this.v(this.type+": "+a)};h.T=function(a,b,c){if(!b){var d=Db("Computer",this.id);if(d&&d.A.Hd)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||w((c?c+": ":"")+a);return!0};function Kb(a,b){a.A.error=!0;a.T(b)}
function Lb(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Mb(a,b){b&&(a.A.ready?b():a.Lc=b);return a.A.ready}function D(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Lc,a.Lc=null,b&&b()))}function Nb(a,b){a.A.bb&&(b?a.A.vd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.bb}function Ob(a,b){if(a.A.vd)return a.A.bb=!1,a.A.vd=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.bb=b;return a.A.bb}h.Ca=function(){return this.A.ca=!0};
h.Ba=function(a,b){b&&(this.A.ca=!1);return!0};function E(a,b){if(a.D){a===a.D?b|=0:b=b||a.ia;var c=a.D.ia&b;return!!b&&c===b||!!(c&a.D.ke)}return!1}function F(a,b,c,d){a.D&&(!0===c||E(a,c|0))&&a.D.message(b,d)}var Jb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var qb=window?window.PCjs.Machines:{},lb=window?window.PCjs.Components:[],Fb=window?window.PCjs.Commands:{},Gb=["hold","sleep","wait"],Hb={alert:function(a){w(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ib={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var Pb="undefined"!==typeof ArrayBuffer,y="pdp11",Qb="PDPjs",Rb=!1,Sb=Pb,Tb=!0,Ub=!0,Vb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Xb={pd:5,td:144,Yc:8,Fc:{qf:15,Yj:16,nk:32,Zd:64,Ea:128,ce:256,bk:512,ij:1024,Ec:2048,hj:4096,hd:57344,ma:{hd:13}},cf:{fe:1,Ii:2,rf:3,Ib:28,Dc:32,Cc:64,Td:128,gk:256,Ie:512,bc:1024,Tj:2048,be:4096,lk:8192,Rj:16384,Je:32768,cd:32736},af:{ac:1,wa:14,Hb:48,Gb:64,Ya:128,ek:256,jj:512,lj:1024,Re:2048,rd:8192,cd:16384,fb:32768,Ib:4608,
cc:61438,Sa:3967,ma:{wa:1,Hb:4}},bf:{qd:15,fd:16,Zb:8160,qb:57344,ma:{fd:4,Zb:5,qb:13}},wa:{Ee:0,ec:2,rb:4,ud:6,Ic:8,Ve:10,Ke:12,mk:14}},Yb={pd:5,td:112,Yc:4,Ue:"DY",hf:{Ea:1,wa:14,Xa:48,Gb:64,Ya:128,qb:768,Qd:15360,gj:16384,fb:32768,Fi:16254,ak:128,cc:65535,Sa:1022,ma:{wa:1,Xa:4,qb:8}},ff:{Sa:65534},jf:{sf:1,tf:4,uf:16,Zj:65408,$d:63,Hc:64,dc:65408,Ne:3,sj:8,ma:{Hc:6,dc:7}},Gc:{Qe:{Fj:0,dk:1,Di:2,Gj:3,Ic:4,Se:5,ik:6,ck:7},Rd:8,Pe:16,pj:32,rj:64,Oe:128,qj:256,vj:512,xj:1024,uj:2048,tj:4096,yj:8192,
oj:16384,wj:32768},gf:{$a:63},Qd:{Qj:1024,fj:2048,fe:2048,Aj:3072,Ie:4096,Za:5120,bc:8192,Ij:9216},wa:{Kj:0,ud:2,vf:4,Ic:6,Ze:8,xf:10,We:12,Vj:14}},Zb={pd:5,td:180,Yc:2,Ue:"DX",lf:{ac:1,wa:14,sd:16,DONE:32,Gb:64,ab:128,INIT:16384,fb:32768,Ib:16128,cc:32992,Sa:16479},Wj:{},pf:{$a:127},nf:{$a:31},mf:{Md:1,Wd:2,hd:4,$b:64,Ea:128},wa:{$c:0,EMPTY:2,ec:4,rb:6,Ib:8,Ye:10,Jc:12,Xe:14},Me:{dd:8,ed:16,zi:24,Te:32,mj:40,$j:48,od:56,Oj:72,Nj:80,Mj:88,Hi:96,Bi:104,Lj:112,nd:120,Gi:128,Ai:136}},$b={48:"DL11R",
52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11",180:"RX11"};Zb.kf=["DX",77,1,26,128,1,0,0,128,0];Xb.Ec=["RK",203,2,12,512,0,0,0,512,Xb.Fc.Ec|Xb.Fc.ce|Xb.Fc.Zd];Yb.df=["RL",512,2,40,256,0,0,0,256,Yb.Gc.Qe.Se|Yb.Gc.Rd|Yb.Gc.Pe];y="pdp11";Qb="PDPjs";Rb=!1;Sb=Pb;Ub=Tb=!0;
var fc={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,rx11:262144,dl11:1048576,serial:1048576,kw11:2097152,timer:2097152,speaker:16777216,computer:33554432,log:536870912,warn:1073741824,halt:-2147483648};
function gc(a,b){x.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.fa=this.g=this.Va=this.Cb=0;this.B=this.C=-1;this.G=this.I=this.w=!1;this.K=hc;this.i={};this.b={START:[1,1,!0,!1,this.Uf],STEP:[1,1,!1,!1,this.Vf],ENABLE:[1,1,!1,!1,this.Pf],CONT:[1,1,!0,!1,this.Nf],DEP:[0,0,!0,!1,this.Of],EXAM:[1,1,!0,!1,this.Qf],LOAD:[1,1,!0,!1,this.Sf],TEST:[0,0,!0,!1,this.Rf]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Tf,a];this.D=this.f=this.F=this.J=null;this.exports={hold:this.If,toggle:this.nh,
reset:this.hh,set:this.mh};D(this)}q(gc,x);function ic(a,b){return jc(a,a.Cb=b)}h=gc.prototype;h.reset=function(a){this.stop();a&&ic(this,0)};
h.va=function(a,b,c,d){if(this.J&&this.J.va(a,b,c,d)||this.f&&this.f.va(a,b,c,d)||this.D&&this.D.va(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.H[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.H[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.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){kc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){lc(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){kc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){lc(a,b)}}(this,b),!0):x.prototype.va.call(this,a,b,c,d)}};h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;mc(b,this,nc);oc(b,this.reset.bind(this));pc(this);qc(this)};
h.Ca=function(a,b){if(!b)if(this.M&&rc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.fa,this.Cb,this.Va]);return a.data()};h.restore=function(a){if(a=a[0])sc(this,this.fa=a[0]),ic(this,a[1]),tc(this,a[2]);return!0};h.hh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}qc(this);return!0};function uc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}
function pc(a,b){for(var c in a.i)uc(a,c,null!=b?b:a.i[c])}function vc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function qc(a){for(var b in a.b)vc(a,b,a.b[b][1])}function wc(a,b,c,d){if(a.H[b]){var e=a.D&&a.D.W||8;c=c||0;c=8==e?u(c,d):v(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.If=function(a,b,c){if(kc(this,b)){if(c){var d=this;setTimeout(function(){lc(d,b);a&&a()},+c);return!1}lc(this,b)}return!0};
h.mh=function(a,b){if("SR"==a)return tc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,vc(this,a,c[1]),!0):!1};h.nh=function(a){return kc(this,a)?(lc(this,a),!0):!1};function kc(a,b){var c=a.b[b];return c?(vc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=xc&&(a.G=b==yc,a.I=b==zc),!0):!1}function lc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(vc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
h.Uf=function(a){a||this.f.A.V||(Ac(this.f,this.fa),a=this.f,a.F.reset(),Bc(a),this.b[Cc]&&this.b[Cc][1]&&Dc(this.f))};h.Vf=function(){};h.Pf=function(a){a||H(this.f)};h.Nf=function(a){if(!a&&!this.f.A.V)if(this.b[Cc]&&this.b[Cc][1])Dc(this.f);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),Ec(a,0,null),Ob(a,!1);else try{var b=this.f.zc(1);0<b&&(Fc(this.f,b),Gc(this.f,b,!0),Hc(this.f,b))}catch(c){"number"!=typeof c&&(b=c,Kb(this.f,b.stack||b.message))}this.stop();this.J&&Ic(this.J)}};
h.Of=function(a){if(a&&!this.f.A.V)if(this.G&&Jc(this),a=ic(this,this.Va),this.K==hc)Kc(this.F,this.fa,a);else{var b=this.f,c=this.fa;b.pa++;b.F.Yb(Lc(b,c,4),a);b.pa--}};h.Qf=function(a){a||this.f.A.V||(this.I&&Jc(this),a=this.K==hc?Mc(this.F,this.fa):Nc(this.f,this.fa),ic(this,a))};h.Sf=function(a){a||this.f.A.V||sc(this,this.Va)};h.Rf=function(a){a?(this.w=!0,pc(this,!0)):(this.w=!1,pc(this),tc(this,0))};h.Tf=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};
function Jc(a){var b=1140>=a.f.ja?8:16,c=65472<=a.fa&&a.fa<65472+b;b=c?1:2;c=c?15:a.F.I;a.b[xc]&&a.b[xc][1]||(b=-b);sc(a,a.fa&~c|a.fa+b&c)}function sc(a,b){a.fa=b&a.F.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Oc(a,"A"+c,b&1<<c)}}function jc(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Oc(a,"D"+c,b&1<<c)}return a.g}function Oc(a,b,c){a.i[b]=c;a.w||uc(a,b,c)}function tc(a,b){a.Va=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Va&1<<b?1:0;qc(a);return!0}
h.stop=function(){sc(this,this.f.g[7])};h.Fd=function(a){this.fa=a};h.setData=function(a,b){b?this.Cb=a:this.g=a};h.$f=function(a,b){return(b?this.Cb:this.Va)&65535};h.th=function(a){this.Cb=a};function rc(){for(var a=A(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=vb(c),e=xb(d.id);e||(e=new gc(d,!0));ub(e,c)}}var hc=7,yc="DEP",Cc="ENABLE",zc="EXAM",xc="STEP",Zc={},nc=(Zc[65400]=[null,null,gc.prototype.$f,gc.prototype.th,"CNSW"],Zc);db(rc);
function $c(a,b,c){x.call(this,"Bus",a,16);this.f=b;this.D=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=ad;this.g=Math.log2(this.j);this.R=this.j>>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.zf=[bd,cd,dd,ed];this.b=this.u=[];this.B=this.K=this.w=this.O=this.P=0;a=new I(this);fd(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-ad;gd(this,this.B,ad,hd,this);this.P=
this.O=(this.B&this.I)>>>this.g;this.K=0;this.w=this.I;D(this)}q($c,x);function id(a,b){if(b!=a.K){for(var c=0;c<a.G;c++)a.u[c]=a.b[c];a.K=0;a.w=a.I;b&&(a.K=b,b=1<<b,a.w=b-1,b-=ad,a.P=(b&a.w)>>>a.g,a.u[a.P]=a.b[a.O])}}h=$c.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();id(this,16)};h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,jd(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.R){for(var e=0,f=Array(this.R),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)){w("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function gd(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.L)return l.Ub+=l.L-f,l.L=f,!0;if(f>=l.L+l.Ub){n=l.size-(f-m);n>g&&(n=g);l.Ub=f-l.L+n;f=m+a.j;g-=n;k++;continue}}return kd(ld,f,g)}f=new I(a,f,n,a.j,d,e);fd(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+md[d]+" at "+u(b)),!0):kd(nd,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Bb(a&this.i,a)};
h.yc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Ub||b!=this.i?this.u[c].oa(b,a):this.u[c++].Bb(b,a)|this.u[c&this.S].Bb(0,a+1)<<8};h.Ld=function(a,b){this.u[(a&this.w)>>>this.g].Eb(a&this.i,b,a)};h.Yb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Ub||c!=this.i?this.u[d].Fb(c,b,a):(this.u[d++].Eb(c,b&255,a),this.u[d&this.S].Eb(0,b>>8&255,a+1))};function od(a,b){return a.b[(b&a.I)>>>a.g]}
function Mc(a,b){var c;a.C=!1;a.na++;var d=b&a.i,e=od(a,b);Ub||d!=a.i?c=e.B(d,b):c=e.j(d,b)|od(a,b+1).j(0,b+1)<<8;a.na--;return c}function pd(a,b,c){a.C=!1;a.na++;od(a,b).F(b&a.i,c&255,b);a.na--}function Kc(a,b,c){a.C=!1;a.na++;var d=b&a.i,e=od(a,b);Ub||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),od(a,b+1).F(0,c>>8&255,b+1));a.na--}
function jd(a){for(var b=0,c=[],d=0;d<a.G;d++){var e=a.b[d];if(e.cb||e.Gf){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 qd(a){for(var b=rd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.L+e.Ub)}return c}
function sd(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&td;if(void 0!==a.Pa[n])return w("I/O address already registered: "+v(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Pa[n]=[d,e,f,g,t,k||16,!1]}return!0}
function mc(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ja)){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 t=g[4],r=g[5]||1,p=0;p<r;p++,f+=2)if(t&&1<r&&(t=g[4]+p),!sd(a,f,f,k,l,m,n,g[7]||b.ia,t||b.Wc))return!1}}return!0}
function oc(a,b){a.N.push(b)}h.Na=function(a,b,c){this.C=!0;this.na||(this.D&&E(this.D,4)&&F(this.D,"memory fault ("+c+") on "+K(this.D,a),!0,!0),b&&(this.f.P|=b),this.f.ra(4,0,a))};function ud(a){var b=a.C;a.C=!1;return b}function kd(a,b,c){w("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var ad=8192,td=ad-1,ld=1,nd=2;
function bd(a,b){var c=-1,d=this.controller,e=d.Pa[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.Pa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&E(this.f,16|e[5])&&F(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,3);c=255;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function cd(a,b,c){var d=!1,e=this.controller,f=e.Pa[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.Pa[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&&E(this.f,16|f[5])&&F(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,5),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f,
b),!0,!e.na))}function dd(a,b){var c=-1,d=this.controller;a=d.Pa[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&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function ed(a,b,c){var d=!1,e=this.controller;a=e.Pa[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&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){x.call(this,"Device",a,256);this.b={eb:128,Gd:-1}}q(L,x);h=L.prototype;
h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Gd=vd(c,function(){e.b.eb|=128;e.b.eb&64&&wd(e.f,e.b.Qa);e.J&&Ic(e.J,1);xd(e.f,e.b.Gd,1E3/60)});this.b.Qa=yd(c,64,6,2097152);mc(b,this,zd);oc(b,this.reset.bind(this));d&&Ad(d,64,function(a){var b=e.f;Bd(e,"KIPDR",b.B[0],0,a[0]);Bd(e,"KDPDR",b.B[0],8,a[0]);Bd(e,"KIPAR",b.M[0],0,a[0]);Bd(e,"KDPAR",b.M[0],8,a[0],!0);Bd(e,"SIPDR",b.B[1],0,a[0]);Bd(e,"SDPDR",b.B[1],8,a[0]);Bd(e,"SIPAR",b.M[1],0,a[0]);Bd(e,"SDPAR",b.M[1],8,a[0],
!0);Bd(e,"UIPDR",b.B[3],0,a[0]);Bd(e,"UDPDR",b.B[3],8,a[0]);Bd(e,"UIPAR",b.M[3],0,a[0]);Bd(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&Bd(e,"UNIMAP",b.Ga,-1,a[0])});D(this)};function Bd(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n<g;n++)0==n%m&&(k&&(k+="\n"),k+=b+(l?"["+xa(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b.eb=128;xd(this.f,this.b.Gd,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.b.eb]);return a.data()};h.restore=function(a){a=ia(a[0]);this.b.eb=a.next().value;return!0};h.gg=function(){return this.b.eb};h.Ah=function(a){this.b.eb=a&192;this.b.eb&64||Cd(this.f,this.b.Qa)};h.ig=function(){return Dd(this.f)};h.Ch=function(a){Ed(this.f,a&-129|this.f.S&128)};h.jg=function(){return Fd(this.f)};h.kg=function(){return Hd(this.f)};
h.lg=function(){return this.f.X};h.Dh=function(a){Id(this.f,a)};h.Xg=function(a){a=a>>1&63;var b=this.f.Ga[a>>1];return a&1?b>>16:b&65535};h.oi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ga[c]=b&1?this.f.Ga[c]&65535|(a&63)<<16:this.f.Ga[c]&-65536|a&65534};h.Qg=function(a){return this.f.B[1][a>>1&7]};h.hi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Og=function(a){return this.f.B[1][(a>>1&7)+8]};h.fi=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pg=function(a){return this.f.M[1][a>>1&7]};
h.gi=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ng=function(a){return this.f.M[1][(a>>1&7)+8]};h.ei=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.fg=function(a){return this.f.B[0][a>>1&7]};h.zh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.dg=function(a){return this.f.B[0][(a>>1&7)+8]};h.xh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.eg=function(a){return this.f.M[0][a>>1&7]};h.yh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.cg=function(a){return this.f.M[0][(a>>1&7)+8]};h.wh=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Wg=function(a){return this.f.B[3][a>>1&7]};h.ni=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Ug=function(a){return this.f.B[3][(a>>1&7)+8]};h.li=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Vg=function(a){return this.f.M[3][a>>1&7]};h.mi=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Tg=function(a){return this.f.M[3][(a>>1&7)+8]};
h.ki=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Sb=function(a){a&=7;return this.f.w&2048?this.f.ta[a]:this.f.g[a]};h.Wb=function(a,b){b&=7;this.f.w&2048?this.f.ta[b]=a:this.f.g[b]=a};h.sg=function(){return this.f.w&49152?this.f.Y[0]:this.f.g[6]};h.Kh=function(a){this.f.w&49152?this.f.Y[0]=a:this.f.g[6]=a};h.vg=function(){return this.f.g[7]};h.Nh=function(a){this.f.g[7]=a};h.Tb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ta[a]};
h.Xb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ta[b]=a};h.tg=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.Y[1]};h.Lh=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.Y[1]=a};h.ug=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.Y[3]};h.Mh=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.Y[3]=a};h.bg=function(a){return this.f.uc[a-65504>>1]};h.vh=function(a,b){this.f.uc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(qd(this.F)>>6)-1:0};
h.Ce=function(){};h.Sg=function(){return 1};h.ji=function(){};h.ag=function(){return this.f.P};h.uh=function(){this.f.P=0};h.hg=function(){return this.f.rc};h.Bh=function(a,b){b&1||(a&=255);this.f.rc=a};h.mg=function(a,b){return b?0:this.f.mb};h.Eh=function(a){Jd(this.f,a)};h.Rg=function(a,b){return b?0:this.f.Fa&65280};h.ii=function(a){this.f.Fa=a|255};h.rg=function(){return Kd(this.f)};h.Jh=function(a){Ld(this.f,a)};h.Be=function(a,b){E(this)&&F(this,"writeIgnored("+u(b)+"): "+u(a),!0,!0)};
var M={},zd=(M[61568]=[null,null,L.prototype.Xg,L.prototype.oi,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.Qg,L.prototype.hi,"SIPDR",8,1145,64],M[62608]=[null,null,L.prototype.Og,L.prototype.fi,"SDPDR",8,1145,64],M[62624]=[null,null,L.prototype.Pg,L.prototype.gi,"SIPAR",8,1145,64],M[62640]=[null,null,L.prototype.Ng,L.prototype.ei,"SDPAR",8,1145,64],M[62656]=[null,null,L.prototype.fg,L.prototype.zh,"KIPDR",8,1140,64],M[62672]=[null,null,L.prototype.dg,L.prototype.xh,"KDPDR",8,1145,64],M[62688]=
[null,null,L.prototype.eg,L.prototype.yh,"KIPAR",8,1140,64],M[62704]=[null,null,L.prototype.cg,L.prototype.wh,"KDPAR",8,1145,64],M[62798]=[null,null,L.prototype.lg,L.prototype.Dh,"MMR3",1,1145,64],M[65382]=[null,null,L.prototype.gg,L.prototype.Ah,"LKS"],M[65402]=[null,null,L.prototype.ig,L.prototype.Ch,"MMR0",1,1140,64],M[65404]=[null,null,L.prototype.jg,L.prototype.Be,"MMR1",1,1145,64],M[65406]=[null,null,L.prototype.kg,L.prototype.Be,"MMR2",1,1140,64],M[65408]=[null,null,L.prototype.Wg,L.prototype.ni,
"UIPDR",8,1140,64],M[65424]=[null,null,L.prototype.Ug,L.prototype.li,"UDPDR",8,1145,64],M[65440]=[null,null,L.prototype.Vg,L.prototype.mi,"UIPAR",8,1140,64],M[65456]=[null,null,L.prototype.Tg,L.prototype.ki,"UDPAR",8,1145,64],M[65472]=[null,null,L.prototype.Sb,L.prototype.Wb,"R0SET0"],M[65473]=[null,null,L.prototype.Sb,L.prototype.Wb,"R1SET0"],M[65474]=[null,null,L.prototype.Sb,L.prototype.Wb,"R2SET0"],M[65475]=[null,null,L.prototype.Sb,L.prototype.Wb,"R3SET0"],M[65476]=[null,null,L.prototype.Sb,
L.prototype.Wb,"R4SET0"],M[65477]=[null,null,L.prototype.Sb,L.prototype.Wb,"R5SET0"],M[65478]=[null,null,L.prototype.sg,L.prototype.Kh,"R6KERNEL"],M[65479]=[null,null,L.prototype.vg,L.prototype.Nh,"R7KERNEL"],M[65480]=[null,null,L.prototype.Tb,L.prototype.Xb,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Tb,L.prototype.Xb,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Tb,L.prototype.Xb,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Tb,L.prototype.Xb,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.Tb,
L.prototype.Xb,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Tb,L.prototype.Xb,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.tg,L.prototype.Lh,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.ug,L.prototype.Mh,"R6USER",1,1145],M[65504]=[null,null,L.prototype.bg,L.prototype.vh,"CTRL",8,1170],M[65520]=[null,null,L.prototype.xe,L.prototype.Ce,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.xe,L.prototype.Ce,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.Sg,L.prototype.ji,"SYSID",1,1170],M[65526]=
[null,null,L.prototype.ag,L.prototype.uh,"ERR",1,1170],M[65528]=[null,null,L.prototype.hg,L.prototype.Bh,"MBR",1,1170],M[65530]=[null,null,L.prototype.mg,L.prototype.Eh,"PIR"],M[65532]=[null,null,L.prototype.Rg,L.prototype.ii,"SLR"],M[65534]=[null,null,L.prototype.rg,L.prototype.Jh,"PSW"],M);
db(function(){for(var a=A(document,y,"device"),b=0;b<a.length;b++){var c=a[b];var d=vb(c);switch(d.type){case "default":d=new L(d);ub(d,c);break;case "pc11":d=new Md(d);ub(d,c);break;case "rl11":d=new Nd(d);ub(d,c);break;case "rk11":d=new N(d);ub(d,c);break;case "rx11":d=new Od(d),ub(d,c)}}});
function I(a,b,c,d,e,f){this.D=a;this.id=Yd+=2;this.b=null;this.L=b;this.Ub=c;this.size=d||0;this.type=e||Zd;this.J=e==$d;this.f=this.controller=null;this.Bb=this.j=this.Bd;this.oa=this.B=this.Cd;this.Eb=this.F=this.Vb;this.Fb=this.C=this.Uc;this.H=this.i=0;fd(this);this.cb=this.Gf=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ae(this,f.zf);else if(Pb)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.G=new Uint16Array(this.u,
0,this.size>>1),this.b=new Int32Array(this.u,0,this.size>>2),ae(this,be?ce:de);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;ae(this,ee)}else ae(this)}h=I.prototype;h.save=function(){var a;if(this.controller)var b=null;else if(Pb)for(b=Array(this.size>>2),a=0;a<b.length;a++)b[a]=this.w.getInt32(a<<2,!0);else b=this.b;return b};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Pb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.cb=!0}return!1};function ae(a,b){b||(b=fe);ge(a,b,void 0);he(a,b,void 0)}function ge(a,b,c){c&&a.H||(a.Bb=b[0]||a.Bd,a.oa=b[2]||a.Cd);if(c||void 0===c)a.j=b[0]||a.Bd,a.B=b[2]||a.Cd}function he(a,b,c){c&&a.i||(a.Eb=!a.J&&b[1]||a.Vb,a.Fb=!a.J&&b[3]||a.Uc);if(c||void 0===c)a.F=b[1]||a.Vb,a.C=b[3]||a.Uc}
h.zb=function(a,b){b?0===this.i++&&he(this,ie,!1):0===this.H++&&ge(this,ie,!1)};function je(a,b){b?0===--a.i&&(a.Eb=a.J?a.Vb:a.F,a.Fb=a.J?a.Uc:a.C):0===--a.H&&(a.Bb=a.j,a.oa=a.B)}function fd(a,b,c){a.f=b;a.H=a.i=0;c&&((a.H=c.H)&&ge(a,ie,!1),(a.i=c.i)&&he(a,ie,!1))}h.Bd=function(a,b){this.f&&E(this.f,32)&&F(this.f,"attempt to read invalid address "+K(this.f,b),!0);this.D.Na(b,32,2);return 255};
h.Vb=function(a,b,c){this.f&&E(this.f,32)&&F(this.f,"attempt to write "+K(this.f,b)+" to invalid addresses "+K(this.f,c),!0);this.D.Na(c,32,4)};h.Cd=function(a,b){return this.Bb(a++,b++)|this.Bb(a,b)<<8};h.Uc=function(a,b,c){this.Eb(a++,b&255,c++);this.Eb(a,b>>8,c)};h.Zf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.dh=function(a,b){Tb&&a&1&&this.D.Na(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.sh=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.cb=!0};h.ti=function(a,b,c){Tb&&a&1&&this.D.Na(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.cb=!0};h.Xf=function(a,b){this.f&&null!=this.L&&ke(this.f,this.L+a);return this.j(a,b)};h.Zg=function(a,b){this.f&&null!=this.L&&ke(this.f,this.L+a,2);return this.B(a,b)};
h.qh=function(a,b,c){this.f&&null!=this.L&&le(this.f,this.L+a);this.J?this.Vb(0,b,c):this.F(a,b,c)};h.ri=function(a,b,c){this.f&&null!=this.L&&le(this.f,this.L+a,2);this.J?this.Vb(0,b,c):this.C(a,b,c)};h.Wf=function(a){return this.g[a]};h.Yf=function(a,b){a=this.g[a];this.f&&E(this.f,32)&&F(this.f,"Memory.readByte("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.Yg=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);return this.w.getUint16(a,!0)};
h.bh=function(a,b){Tb&&a&1&&this.D.Na(b,64,2);a=!Ub&&a&1?this.g[a]|this.g[a+1]<<8:this.G[a>>1];this.f&&E(this.f,32)&&F(this.f,"Memory.readWord("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.ph=function(a,b){this.g[a]=b;this.cb=!0};h.rh=function(a,b,c){this.g[a]=b;this.cb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0)};h.pi=function(a,b,c){Tb&&a&1&&this.D.Na(c,64,4);this.w.setUint16(a,b,!0);this.cb=!0};
h.si=function(a,b,c){Tb&&a&1&&this.D.Na(c,64,4);!Ub&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.cb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Zd=0,rd=1,$d=2,hd=4,md=["NONE","RAM","ROM","VID","H/W"],Yd=0,fe=[],ee=[I.prototype.Zf,I.prototype.sh,I.prototype.dh,I.prototype.ti],ie=[I.prototype.Xf,I.prototype.qh,I.prototype.Zg,I.prototype.ri];
if(Pb)var de=[I.prototype.Wf,I.prototype.ph,I.prototype.Yg,I.prototype.pi],ce=[I.prototype.Yf,I.prototype.rh,I.prototype.bh,I.prototype.si];var me;if(Pb){var ne=new ArrayBuffer(2);(new DataView(ne)).setUint16(0,256,!0);me=256===(new Uint16Array(ne))[0]}else me=!1;var be=me;
function oe(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Zc=0;this.Xc=b;this.kb=c;this.kd=Math.round(this.Xc/1E4)/100;this.vb=this.kd*this.kb;this.ld=this.nc=this.yb=this.wc=0;this.A.V=this.A.Qc=!1;this.A.qa=a.autoStart;"string"==typeof this.A.qa&&(this.A.qa="true"==this.A.qa);this.A.Lb=!1;this.lc=this.Mb=0;this.mc=+a.csStart;this.Kb=+a.csInterval;this.Ob=+a.csStop;this.ga=[];this.Yd=this.ih.bind(this);this.lb=this.Ja=this.jb=this.b=this.la=this.Ia=this.kc=this.ib=this.Pb=
this.md=this.ub=0;this.sa=null;D(this)}q(oe,x);h=oe.prototype;h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.sa=a.i;for(a=0;a<pe.length;a++)(b=this.H[pe[a]])&&this.J.va(null,pe[a],b);D(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.Ca=function(a,b){var c=qe(this.J,"autoStart");null!=c?this.A.qa="true"==c?!0:"false"==c?!1:!!c:null==this.A.qa&&(this.A.qa=!this.D&&void 0===this.H.run);if(!b){if(a){re(this);if(!this.restore(a))return!1;se(this)}else this.reset();this.D?(a=this.D,b=this.A.qa,a.Ga=!0,a.v("Type ? for help with PDPjs Debugger commands"),te(a),b||ue(a),a.xa&&(b=a.xa,a.xa=null,ve(a,b))):this.status("No debugger detected");this.A.qa||this.v("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.Ba=function(a){return a?this.save():!0};h.qa=function(){return this.A.V?!0:this.A.qa?Dc(this):!1};h.qe=function(){return 0};function se(a){void 0===a.mc&&(a.mc=0);void 0===a.Kb&&(a.Kb=-1);void 0===a.Ob&&(a.Ob=-1);a.A.Lb=0<=a.mc&&0<a.Kb;a.A.Lb&&(a.lc=0,a.Mb=a.mc-a.lb)}function Hc(a,b){if(a.A.Lb){var c=!1;a.lc=a.lc+a.qe()|0;a.Mb-=b;0>=a.Mb&&(a.Mb+=a.Kb,c=!0);0<=a.Ob&&a.Ob<=we(a)&&(a.Kb=a.Ob=-1,se(a),H(a),c=!0);c&&a.v(we(a)+" cycles: checksum="+v(a.lc))}}
h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ca)a=!0;else{var b=null,c,k=wb(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.ca);c++);c==k.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Lc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.V?H(d):Dc(d))},!0;
case "speed":return this.H[b]=c,!0;case "setSpeed":return this.H[b]=c,c.onclick=function(){xe(d,d.kb<<1,!0)},c.textContent=this.vb.toFixed(2)+"Mhz",!0}return!1};function Gc(a,b,c){a.lb+=b;c&&(a.jb=a.b=a.la=0)}function ye(a,b){var c=1;b&&1<a.kb&&a.ub&&(c=a.ub/a.kd);a.ld=Math.round(1E3/ze);a.nc=Math.floor(a.Xc/ze*c);b||(a.yb=a.nc);a.wc=0}function we(a){return a.lb+a.Ja+a.jb-a.b}function re(a){a.ub=0;a.md=0;a.lb=a.Ja=a.jb=a.b=a.la=0;se(a);xe(a,1)}
function xe(a,b,c){var d=!1;if(void 0!==b){.8>a.ub/a.vb?b=1:d=!0;a.kb=b;b=a.kd*a.kb;if(a.vb!=b){a.vb=b;b=a.vb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&Ae(a.J)}Gc(a,a.Ja);a.Ja=0;a.Ia=rb();a.ib=0;ye(a);return d}function vd(a,b){var c=a.ga.length;a.ga.push([-1,b]);return c}function xd(a,b,c,d){0<=b&&b<a.ga.length&&(d||0>a.ga[b][0])&&(c=a.Xc*a.kb/1E3*c|0,a.A.V&&(c+=Be(a)),a.ga[b][0]=c)}
function Ce(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function De(a){for(var b=[],c=0;c<a.ga.length;c++)b.push(a.ga[c][0]);return b}function Fc(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Be(a,b){var c=a.jb-=a.b;a.b=a.la=0;b&&(a.jb=0);return c}
h.ih=function(){if(this.A.V){this.wc>=this.Xc&&ye(this,!0);this.Pb=0;this.kc=rb();if(this.ib){var a=this.kc-this.ib;a>this.ld&&(this.Ia+=a,this.Ia>this.kc&&(this.Ia=this.kc))}try{do{var b=Ce(this,this.A.Lb?1:this.nc);try{this.zc(b)}catch(e){if("number"!=typeof e)throw e;}b=Be(this,!0);this.Pb+=b;this.Ja+=b;Hc(this,b);Fc(this,b);this.yb-=b;if(0>=this.yb){this.yb+=this.nc;++this.md>=Ee&&(this.J&&Ic(this.J,void 0),this.md=0);break}}while(this.A.V)}catch(e){H(this);this.J&&this.J.stop(rb(),we(this));
Kb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Yd;this.ib=rb();var c=this.ld;this.Pb&&(c=Math.round(c*this.Pb/this.nc));c-=this.ib-this.kc;var d=this.ib-this.Ia;d&&(this.ub=Math.round(this.Ja/(10*d))/100,864E5<=d&&(this.lb=0,xe(this)));if(0>c||this.ub<this.vb)-1E3>c&&(this.Ia-=c),c=0;this.wc+=this.Pb;this.ib+=c;a(b,c)}}};
function Dc(a,b){if(Lb(a))return!1;if(a.A.V)return a.v(a.toString()+" busy"),!1;xe(a);a.A.V=!0;a.A.Qc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&Ae(a.J,!0),a.J.start(a.Ia,we(a)));a.D||a.status("Started");setTimeout(a.Yd,0);return!0}h.zc=function(){return 0};function H(a,b){var c=!1;if(a.A.V){Be(a);Gc(a,a.Ja);a.Ja=0;a.A.V=!1;if(c=a.H.run)c.textContent="Run";a.J&&a.J.stop(rb(),we(a));c=!0;a.D||a.status("Stopped")}a.A.complete=b;return c}var ze=30,Ee=15,pe=["power","reset"];
function Fe(a){var b=+a.model||1170;oe.call(this,a,6666667);this.ja=b;this.Sc=+a.addrReset||0;this.Ka=this.w=this.N=this.C=this.G=this.K=this.I=0;this.g=this.ta=this.Y=[];this.M=this.B=this.Ga=this.uc=[];this.gb=this.O=this.Sd=this.wb=this.xb=this.pb=this.hb=this.P=this.rc=this.mb=this.Fa=this.S=this.sc=this.tc=this.X=this.i=0;this.Vd=[4,2,0,1];this.xc=0;this.Xd=255;1120>=this.ja?(this.ae=Ge.bind(this),this.Jb=this.Df,this.xc=8,this.Xd=-1,this.ee=255,this.de=0):(this.ae=He.bind(this),this.Jb=this.Ef,
this.ee=~(1792|(1140>=this.ja?2048:0))&65535,this.de=1140<this.ja?2048:0);this.Bc=this.Ac=this.pa=0;this.R=null;this.jc=[];this.gc=this.ad=this.pe;this.hc=this.bd=this.te;this.Rc=this.gd=this.ze;this.ic=this.jd=this.Ae;this.Ha=this.sb=this.oc=this.qc=0;this.xa=this.se;this.oa=this.Dd;this.Fb=this.Id;this.u=this.j=this.Vc=this.U=this.Z=0;this.A.complete=!1}q(Fe,oe);h=Fe.prototype;
h.Aa=function(a,b,c,d){oe.prototype.Aa.call(this,a,b,c,d);this.ad=b.Kd.bind(b);this.bd=b.yc.bind(b);this.gd=b.Ld.bind(b);this.jd=b.Yb.bind(b)};h.Ca=function(a,b){for(var c=192,d=0;d<this.jc.length;d++){var e=this.jc[d];0>e.Db&&(e.Db=c,c+=4)}return oe.prototype.Ca.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ja);this.A.V&&H(this);this.C=65536;this.G=32768;this.K=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Sc,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.Y=[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.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.uc=[0,0,0,0,0,0,0,0];this.N=0;this.Ka=-1;this.u=this.j=this.Vc=this.U=this.Z=this.i=this.rc=0;Bc(this);re(this);this.A.error=!1;oe.prototype.reset.call(this)};function Bc(a){a.S=0;a.sc=0;a.tc=0;a.X=0;a.P=0;a.mb=0;a.Fa=255;a.wb=0;a.xb=0;a.pb=0;a.hb=262143;a.gb=a.g[7];a.O=0;a.R=null;a.F&&(Ie(a),a.Sd=qd(a.F))}
function Ie(a){a.gc=a.ad;a.hc=a.bd;a.Rc=a.gd;a.ic=a.jd;a.oc&&(a.gc=a.pe,a.hc=a.te);a.qc&&(a.Rc=a.ze,a.ic=a.Ae);a.wb?(a.Ha=65536,a.sb=a.X&16?4186112:253952,a.xa=a.se,a.oa=a.oc?a.ah:a.Dd,a.Fb=a.qc?a.vi:a.Id,id(a.F,a.X&16?22:18)):(a.Ha=0,a.sb=57344,a.xa=a.Hf,a.oa=a.oc?a.$g:a.ye,a.Fb=a.qc?a.ui:a.De,id(a.F,16))}function Dd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.pb<<1);return b}
function Ed(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.sc=a.O>>16&65535,a.tc=a.O&65535);a.S=b;a.xb=(b&96)>>5;a.pb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.wb!=c&&(a.wb=c,Ie(a))}}function Fd(a){a.S&57344||(a.sc=a.O>>16&65535);a=a.sc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function Hd(a){a.S&57344||(a.tc=a.O&65535);return a.tc}function Id(a,b){1170>a.ja&&(b&=-49);a.X!=b&&(a.X=b,a.hb=b&16?4194303:262143,Ie(a))}
function Je(a,b,c,d){a.Sc=b;Ac(a,b);Ld(a,0);a.F.reset();Bc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ca?a.A.V||Dc(a):a.A.qa=!0}else a.D&&a.A.ca?H(a)||a.J.A.reset||(te(a.D),Ic(a.J,-1)):!1===c&&H(a);!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0};
h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.Y,this.M,this.B,this.Ga,this.uc,this.P,this.rc,this.mb,this.Fa,this.xb,this.pb,this.gb,this.i,this.O,this.Ka,this.Ac,this.Bc,this.Sc]);a.set(1,[Kd(this),Dd(this),Fd(this),Hd(this),this.X]);a.set(2,[this.lb,this.kb,this.A.qa]);a.set(3,Ke(this));a.set(4,De(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.Y=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ga=b.next().value;this.uc=b.next().value;this.P=b.next().value;this.rc=b.next().value;this.mb=b.next().value;this.Fa=b.next().value;this.xb=b.next().value;this.pb=b.next().value;this.gb=b.next().value;this.i=b.next().value;this.O=b.next().value;this.Ka=b.next().value;this.Ac=b.next().value;this.Bc=b.next().value;this.Sc=b.next().value;b=a[1];Ld(this,
b[0]);Ed(this,b[1]);this.sc=b[2];this.tc=b[3];Id(this,b[4]);b=a[2];this.lb=b[0];xe(this,b[1]);this.A.qa=b[2];b=a[3];for(var c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.jc.length;d++){var e=this.jc[d];if(e.Db===b[c]){d=e;break a}}d=null}d&&(d.next=this.R,this.R=d)}a=a[4];for(b=0;b<this.ga.length&&b<a.length;b++)this.ga[b][0]=a[b];return!0};function Le(a){return a.C&65536?1:0}function Me(a){return a.G&32768?2:0}function Ne(a){return a.K&65535?0:4}function Oe(a){return a.I&32768?8:0}
function Pe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function Qe(a,b,c){c&&(Ac(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function Ac(a,b){a.g[7]=b&65535}function yd(a,b,c,d){b={Db:b,nb:c,message:d||0,name:$b[b],next:null};a.jc.push(b);return b}function Re(a,b){var c=a.R;if(c==b)a.R=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.R&&(a.i|=1)}
function wd(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.nb<=b.nb)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.nb<=b.nb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&E(a,b.message|8)&&F(a,"setIRQ(vector="+u(b.Db)+",priority="+b.nb+")",!0,!0)}}function Cd(a,b){b&&(Re(a,b),b.message&&E(a,b.message|8)&&F(a,"clearIRQ(vector="+u(b.Db)+",priority="+b.nb+")",!0,!0))}function Ke(a){var b=[];for(a=a.R;a;)b.push(a.Db),a=a.next;return b}
function Se(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function Kd(a){return a.w=a.w&63728|Oe(a)|Ne(a)|Me(a)|Le(a)}function Ld(a,b){b&=a.ee;a.I=b<<12;a.K=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.de)for(var c=a.ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.ta[c];a.ta[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.Y[c]=a.g[6],a.g[6]=a.Y[a.N]);a.w=b;a.i&=-3;a.i|=a.R?2:1}function Jd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.mb=b}
h.Da=function(a){this.I=this.K=a;this.G=0};h.ob=function(a,b){this.I=this.K=this.C=a;this.G=b||0};function Te(a,b){a.I=a.K=a.C=b;a.G=a.I^a.C>>1}function Ue(a,b,c,d){a.I=a.K=a.C=b;a.G=(c^d)&(d^b)}
h.ra=function(a,b,c){if(!this.pa){0>this.Ka?this.Ka=Kd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ha),e=this.oa(a+2&65535|this.Ha);Ld(this,e&-12289|this.Ka>>2&12288);Ve(this,this.Ka);Ve(this,this.g[7]);Ac(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ka=-1;this.Ac=c;this.Bc=a;-1==c&&H(this);if(-4<=c)throw a;}};
function We(a){var b=Xe(a),c=Xe(a);a.w&49152&&(c=c&-225|a.w&63712);Ac(a,b);Ld(a,c);a.i&=-17}function Ye(a,b){var c=b>>13&31;31>c&&(b=a.X&32?a.Ga[c]+(b&8191)&4194303:b&-3932161);return b}
function Ze(a,b,c){var d=[];if(c){c=Ye(a,b);var e=b>>13&31;d.push(c);d.push(e);a.X&32&&(d.push(a.Ga[e]),d.push(b&8191))}else if(a.wb){e=a.N<<1;var f=b>>13;7<f&&(e|=1);a.X&a.Vd[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.hb;3932160<=c&&(c=Ye(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.hb)}else c=b&65535,57344<=c&&(c|=a.sb),d.push(c);return d}
function Lc(a,b,c){if(!(c&a.wb)){var d=b&65535;57344<=d&&(d|=a.sb);return d}var e=b>>13;a.X&a.Vd[a.N]||(e&=7);var f=a.B[a.N][e];d=(a.M[a.N][e]<<6)+(b&8191)&a.hb;3932160<=d&&(d=Ye(a,d));if(a.pa)return d;d>=a.Sd&&d<a.sb?(a.P|=32,a.ra(4,0,d)):d&1&&!(c&1)&&(a.P|=64,a.ra(4,0,d));var g=0;switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!=(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
8128)&&(g|=16384));a.B[a.N][e]=f;if(d!=(4194170&a.hb)||a.N)a.xb=a.N,a.pb=e;g&&(g&57344&&(0<=a.Ka&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.pb<<1,Ed(a,a.S&-61695|g&61694)),a.ra(168,64,-2)),a.S&61440||!(d<(4191360&a.hb)||d>(4194239&a.hb))||(a.S|=4096,a.S&512&&(a.i|=64)));return d}function Xe(a){var b=a.oa(a.g[6]|a.Ha);a.g[6]=a.g[6]+2&65535;return b}function Ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.O=a.O&65535|(a.O&-65536)<<8|16121856;a.i&256||a.Jb(4,-2,c);a.Fb(c,b)}
function $e(a,b,c,d){var e=d&8?0:a.Ha;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Jb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|e;case 2:var f=2;var g=a.g[c];6==c&&a.Jb(d,f,g);7!=c&&(g|=e,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;g=a.g[c];7!=c&&(g|=e);g=a.oa(g);g|=e;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);g=a.g[c]+f&65535;6==c&&a.Jb(d,f,g);7!=c&&(g|=e);a.b-=4;break;case 5:f=-2;g=a.g[c]-2&65535;7!=c&&(g|=e);g=a.oa(g)|e;a.b-=8;break;case 6:return g=a.oa(Pe(a,2)),g=g+a.g[c]&65535,6==c&&
a.Jb(d,0,g),a.b-=6,g|e;case 7:return g=a.oa(Pe(a,2)),g=g+a.g[c]&65535,g=a.oa(g|a.Ha),a.b-=10,g|e}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return g}h.Df=function(a,b,c){!this.N&&0>=b&&c<=this.Fa&&(this.i|=32)};h.Ef=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Fa&&(c<=this.Fa-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ke(this.D,a,1);return this.ad(a)};h.te=function(a){this.D&&ke(this.D,a,2);return this.bd(a)};
h.ze=function(a,b){this.D&&le(this.D,a,1);this.gd(a,b)};h.Ae=function(a,b){this.D&&le(this.D,a,2);this.jd(a,b)};function Nc(a,b){a.pa++;b=a.F.yc(Lc(a,b,2));a.pa--;return b}function af(a,b){(b?--a.qc:--a.oc)||Ie(a)}h.Hf=function(a,b,c){return $e(this,a,b,c)};h.se=function(a,b,c){return Lc(this,$e(this,a,b,c),c)};h.ye=function(a){return this.F.yc(this.gb=a)};h.$g=function(a){this.D&&ke(this.D,a,2);return this.ye(a)};h.Dd=function(a){return this.F.yc(this.gb=Lc(this,a,2))};
h.ah=function(a){this.D&&ke(this.D,a,2);return this.Dd(a)};h.De=function(a,b){this.F.Yb(this.gb=a,b)};h.ui=function(a,b){this.D&&le(this.D,a,2);this.De(a,b)};h.Id=function(a,b){this.F.Yb(this.gb=Lc(this,a,4),b)};h.vi=function(a,b){this.D&&le(this.D,a,2);this.Id(a,b)};function bf(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=$e(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ha),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.Y[a.w>>12&3];return c}
function cf(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=$e(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Lc(a,e|c&65536,4),a.N=a.w>>14&3,a.ic(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.Y[a.w>>12&3]=d}function df(a,b){b>>=6;var c=a.Z=b&7;return(b=a.U=(b&56)>>3)?a.gc(a.xa(b,c,3)):a.g[c+a.xc]&a.Xd}function ef(a,b){var c;b>>=6;var d=a.Z=b&7;(b=a.U=(b&56)>>3)?c=a.hc(a.xa(b,d,2)):c=a.g[d+a.xc];return c}function ff(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return $e(a,b,c,8)}
function gf(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.gc(a.xa(b,c,3)):a.g[c]&255}function hf(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.hc(a.xa(b,d,2)):c=a.g[d];return c}function jf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Vc=a.xa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Rc(e,d.call(a,c,a.gc(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 P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.xa(b,e,6),a.ic(e,d.call(a,0>c?a.g[-c-1]:c,a.hc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function kf(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.xa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Rc(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 Cf(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.xa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.ic(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.zc=function(a){this.A.complete=!0;var b=this.D?Df(this.D)?1:this.A.Qc?-1:0:0,c=a?this.A.Qc?0:1:-1;this.A.Qc=!1;this.jb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(Ef(this.D,this.g[7],c)){H(this);break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.mb&224)>>5,f=this.R&&this.R.nb>e?this.R:null;f&&(d=f.Db,e=f.nb);e>(this.w&224)>>5?(this.i&8&&(Pe(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Re(this,f),a=!0);this.R||this.mb||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&Ef(this.D,this.g[7],c)){H(this);break}if(0>c)break}if(this.i&112&&Se(this)){if(this.i&4&&Ef(this.D,this.g[7],c)){H(this);break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.ae(f)}while(0<this.b);return this.A.complete?this.jb-this.b:!1===this.A.complete?-1:0};db(function(){for(var a=A(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Fe(d);ub(d,c)}});
function Ff(a,b){var c=b+a;this.I=this.K=this.C=c;this.G=(a^c)&(b^c);return c&65535}function Gf(a,b){var c=b+a,d=c<<8;this.I=this.K=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function Hf(a,b){a=b<<1;Te(this,a);return a&65535}function If(a,b){a=b<<1;Te(this,a<<8);return a&255}function Jf(a,b){a=b&32768|b>>1|b<<16;Te(this,a);return a&65535}function Kf(a,b){a=b&128|b>>1|b<<8;Te(this,a<<8);return a&255}function Lf(a,b){a=b&~a;this.Da(a);return a}function Mf(a,b){a=b&~a;this.Da(a<<8);return a}
function Nf(a,b){a|=b;this.Da(a);return a}function Of(a,b){a|=b;this.Da(a<<8);return a}function Pf(a,b){a=~b|65536;this.ob(a);return a&65535}function Qf(a,b){a=~b|256;this.ob(a<<8);return a&255}function Rf(a,b){this.I=this.K=a=b-a;this.G=b&(b^a);return a&65535}function Sf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.K=c;this.G=b&(b^c);return a&255}function Tf(a,b){this.I=this.K=a=b+a;this.G=a&(b^a);return a&65535}function Uf(a,b){a=b+a;var c=a<<8;this.I=this.K=c;this.G=c&(b<<8^c);return a&255}
function Vf(a,b){a=-b;this.ob(a,a&b&32768);return a&65535}function Wf(a,b){a=-b;this.ob(a<<8,(a&b&128)<<8);return a&255}function Xf(a,b){a=b<<1|this.C>>16&1;Te(this,a);return a&65535}function Yf(a,b){a=b<<1|this.C>>16&1;Te(this,a<<8);return a&255}function Zf(a,b){a=(this.C&65536|b)>>1|b<<16;Te(this,a);return a&65535}function $f(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Te(this,a<<8);return a&255}function ag(a,b){var c=b-a;Ue(this,c,a,b);return c&65535}
function bg(a,b){var c=b-a;Ue(this,c<<8,a<<8,b<<8);return c&255}function cg(a,b){this.I=this.K=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function dg(a,b){a^=b;this.Da(a);return a&65535}function eg(a){P(this,a,ef(this,a),Ff);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
function fg(a){var b=hf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.C=this.G=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.C=c<<17-b,c>>=b;else if(b)if(16<b)this.G=c,c=0;else{this.C=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.G=32768)}this.g[a]=c&65535;this.I=this.K=c;this.b-=(this.u?6:7)+b}
function gg(a){var b=hf(this,a),c=a>>6&7,d=this.g[c]<<16|this.g[c|1];this.C=this.G=0;b&=63;b&32?(b=64-b,32<b&&(b=32),a=d>>b-1,this.C=a<<16,a>>=1,d&2147483648&&(a|=4294967295<<32-b)):b?(a=d<<b-1,this.C=a>>15,a<<=1,32<b&&(b=32),(d>>=32-b)&&4294967295!==(d|4294967295<<b&4294967295)&&(this.G=32768)):a=d;this.g[c]=a>>16&65535;this.g[c|1]=a&65535;this.I=a>>16;this.K=a>>16|a;this.b-=(this.u?6:7)+b}function hg(a){Qe(this,a,!Le(this))}function ig(a){Qe(this,a,Le(this))}
function jg(a){P(this,a,ef(this,a),Lf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function kg(a){jf(this,a,df(this,a),Mf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function lg(a){P(this,a,ef(this,a),Nf);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function mg(a){jf(this,a,df(this,a),Of);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
function ng(a){var b=ef(this,a);a=hf(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.U?4:3)+(7==this.j?2:0)}function og(a){var b=df(this,a);a=gf(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.U?4:3)+(7==this.j?2:0)}function pg(a){Qe(this,a,Ne(this))}function qg(a){Qe(this,a,!Oe(this)==!Me(this))}function rg(a){Qe(this,a,!Ne(this)&&!Oe(this)==!Me(this))}function sg(a){Qe(this,a,!Le(this)&&!Ne(this))}
function tg(a){Qe(this,a,Ne(this)||!Oe(this)!=!Me(this))}function ug(a){Qe(this,a,Le(this)||Ne(this))}function vg(a){Qe(this,a,!Oe(this)!=!Me(this))}function wg(a){Qe(this,a,Oe(this))}function xg(a){Qe(this,a,!Ne(this))}function yg(a){Qe(this,a,!Oe(this))}function zg(){this.ra(12,0,-9)}function Ag(a){Qe(this,a,!0)}function Bg(a){Qe(this,a,!Me(this))}function Cg(a){Qe(this,a,Me(this))}function Dg(a){a&1&&(this.C=0);a&2&&(this.G=0);a&4&&(this.K=1);a&8&&(this.I=0);this.b-=5}
function Eg(a){var b=ef(this,a);a=hf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ue(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function Fg(a){var b=df(this,a);a=gf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ue(this,c,a,b);this.b-=this.u?4+(this.Z&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}
function Gg(a){var b=hf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=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.K=d>>16|d,this.I=d>>16):(this.G=32768,this.K=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.K=this.I=0,this.G=32768,this.C=65536,this.b-=7}function Hg(){this.ra(24,0,-9);this.b-=20}
function Ig(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ja&&this.sa.setData(this.g[0],!0),this.D?Jg(this.D):H(this));this.b-=7}function Kg(){this.ra(16,0,-9);this.b-=20}var Lg=[0,7,7,10,7,11,9,13];function Mg(a){this.la=this.b;Ac(this,ff(this,a));this.b=this.la-Lg[this.u]}var Ng=[0,14,14,17,14,18,16,20];function Og(a){this.la=this.b;var b=ff(this,a);a=a>>6&7;Ve(this,this.g[a]);this.g[a]=this.g[7];Ac(this,b);this.b=this.la-Ng[this.u]}
var Pg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Qg(a){var b=ef(this,a);this.la=this.b;Cf(this,a,b,this.Da);this.b=this.la-Pg[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Rg(a){var b=df(this,a);kf(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Sg=[7,13,13,17,14,18,17,21];
function Tg(a){var b=hf(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.K=this.I|b;this.G=0;this.C=-32768>b||32767<b?65536:0;this.b-=23}function Ug(){this.b-=5}function Vg(){this.w&49152||(this.F.reset(),Bc(this),this.sa&&this.sa.setData(this.g[0],!0));this.b-=667}function Wg(a){if(a&8)Q.call(this,a);else{var b=Xe(this);a&=7;7==a?Ac(this,b):(Ac(this,this.g[a]),this.g[a]=b);this.b-=9}}function Xg(){We(this);this.b-=13}
function Yg(a){a&1&&(this.C=65536);a&2&&(this.G=32768);a&4&&(this.K=0);a&8&&(this.I=32768);this.b-=5}function Zg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)Ac(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function $g(a){P(this,a,ef(this,a),ag);this.b-=this.u?9+(this.Z&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function ah(a){P(this,a,0,cg);this.b-=this.u?9:3+(7==this.j?2:0)}function bh(){this.ra(28,0,-9)}
function ch(){this.sa&&(this.sa.Fd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Pe(this,-2);this.b-=3}function dh(a){P(this,a,this.g[(a>>6&7)+this.xc],dg);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Jg(b)):b=!1;b||this.ra(8,0,-9)}function Ge(a){eh[a>>12].call(this,a)}function fh(a){gh[a>>6&3].call(this,a)}function hh(a){ih[a>>6&3].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)}
function lh(a){mh[a&15].call(this,a)}function nh(a){oh[a&15].call(this,a)}function ph(a){qh[a>>6&3].call(this,a)}function rh(a){sh[a>>6&3].call(this,a)}function th(a){uh[a>>6&3].call(this,a)}
var eh=[function(a){vh[a>>8&15].call(this,a)},Qg,Eg,ng,jg,lg,eg,Q,function(a){wh[a>>8&15].call(this,a)},Rg,Fg,og,kg,mg,$g,Q],vh=[function(a){xh[a>>4&15].call(this,a)},Ag,xg,pg,qg,vg,rg,tg,Og,Og,fh,hh,jh,Q,Q,Q],gh=[function(a){Cf(this,a,0,this.ob);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Pf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Rf);this.b-=this.u?9:3+(7==this.j?2:0)}],ih=[function(a){P(this,a,0,Vf);
this.b-=this.u?11:6},function(a){P(this,a,Le(this)?1:0,Ff);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Le(this)?1:0,ag);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=hf(this,a);this.ob(a);this.b-=this.u?4:3+(7==this.j?2:0)}],kh=[function(a){P(this,a,0,Zf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Xf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Hf);this.b-=this.u?9:3+(7==this.j?2:0)}],xh=
[function(a){yh[a&15].call(this,a)},Q,Q,Q,Mg,Mg,Mg,Mg,Wg,Q,lh,nh,ah,ah,ah,ah],yh=[Ig,ch,Xg,zg,Kg,Vg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],mh=[Ug,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},Dg,function(){this.K=1;this.b-=5},Dg,Dg,Dg,function(){this.I=0;this.b-=5},Dg,Dg,Dg,Dg,Dg,Dg,Dg],oh=[Ug,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Yg,function(){this.K=0;this.b-=5},Yg,Yg,Yg,function(){this.I=32768;this.b-=5},Yg,Yg,Yg,Yg,Yg,Yg,Yg],wh=[yg,wg,sg,ug,Bg,Cg,hg,ig,Hg,bh,ph,rh,
th,Q,Q,Q],qh=[function(a){kf(this,a,0,255,this.ob);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,1,Uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,1,Sf);this.b-=this.u?9:3+(7==this.j?2:0)}],sh=[function(a){jf(this,a,0,Wf);this.b-=this.u?11:6},function(a){jf(this,a,Le(this)?1:0,Gf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,Le(this)?1:0,bg);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=gf(this,
a);this.ob(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],uh=[function(a){jf(this,a,0,$f);this.b-=this.u?9+(this.Vc&1):3+(7==this.j?2:0)},function(a){jf(this,a,0,Yf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){jf(this,a,0,Kf);this.b-=this.u?9+(this.Vc&1):3+(7==this.j?2:0)},function(a){jf(this,a,0,If);this.b-=this.u?9:3+(7==this.j?2:0)}];function He(a){zh[a>>12].call(this,a)}
var zh=[function(a){Ah[a>>8&15].call(this,a)},Qg,Eg,ng,jg,lg,eg,function(a){Bh[a>>8&15].call(this,a)},function(a){Ch[a>>8&15].call(this,a)},Rg,Fg,og,kg,mg,$g,Q],Ah=[function(a){Dh[a>>4&15].call(this,a)},Ag,xg,pg,qg,vg,rg,tg,Og,Og,fh,hh,jh,function(a){Eh[a>>6&3].call(this,a)},Q,Q],Eh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.oa(a|this.Ha);Ac(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=bf(this,a,0);this.Da(a);Ve(this,a);this.b-=11},function(a){var b=Xe(this);
this.la=this.b;this.Da(b);cf(this,a,0,b);this.b=this.la-Sg[this.u]},function(a){Cf(this,a,Oe(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],Dh=[function(a){Fh[a&15].call(this,a)},Q,Q,Q,Mg,Mg,Mg,Mg,Wg,function(a){!(a&8)||1145>this.ja?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},lh,nh,ah,ah,ah,ah],Fh=[Ig,ch,function(){We(this);this.i|=this.w&16;this.b-=13},zg,Kg,Vg,Xg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],Bh=[Tg,Tg,Gg,Gg,fg,fg,gg,gg,
dh,dh,Q,Q,Q,Q,Zg,Zg],Ch=[yg,wg,sg,ug,Bg,Cg,hg,ig,Hg,bh,ph,rh,th,function(a){1145>this.ja?Q.call(this,a):Gh[a>>6&3].call(this,a)},Q,Q],Gh=[function(a){Q.call(this,a)},function(a){a=bf(this,a,65536);this.Da(a);Ve(this,a);this.b-=11},function(a){var b=Xe(this);this.la=this.b;this.Da(b);cf(this,a,65536,b);this.b=this.la-Sg[this.u]},function(a){Q.call(this,a)}];
function Hh(a){x.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=za(this.j);if(this.j){a=this.j;var b=Aa(this.B);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(mb(c.tb,a,b),(a=Oa(a,b))?(c.g=a.aa,c.ha=a.ha):c.j=null);Ih(c)})}}q(Hh,x);
h=Hh.prototype;h.Aa=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Ih(this)};h.Ca=function(){this.ha&&(this.D&&Jh(this.D,this.id,this.u,this.b,this.ha),delete this.ha);return!0};h.Ba=function(){return!0};
function Ih(a){if(!Mb(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Kb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{a:{var b=a.u;if(57344<=b&&b<57344+ad){var c={};c=(c[b]=[Hh.prototype.Kg,Hh.prototype.bi,null,null,null,a.b>>1],c);if(mc(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(gd(a.F,b,a.b,$d)){for(c=0;c<a.g.length;c++)pd(a.F,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.F,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.F;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}}}D(a)}}h.Kg=function(a){return this.g[a-this.u]};h.bi=function(){};db(function(){for(var a=A(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Hh(d);ub(d,c)}});
function Kh(a){x.call(this,"RAM",a);this.ha=this.g=null;this.i=+a.addr;this.j=+a.size;this.za=a.load;this.ya=a.exec;null!=this.za&&(this.za=+this.za);null!=this.ya&&(this.ya=+this.ya);this.u=this.B=!1;this.b=a.file;this.w=za(this.b);if(this.b){a=this.b;var b=Aa(this.w);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Na(a,null,!0,function(a,b,f){f?(c.T("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.tb,a,b),(a=Oa(a,b))?(c.g=a.aa,
c.ha=a.ha,null==c.za&&(c.za=a.za),null==c.ya&&(c.ya=a.ya)):c.b=null);Lh(c)})}}q(Kh,x);Kh.prototype.Aa=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Lh(this)};Kh.prototype.Ca=function(a,b){this.ha&&(this.D&&Jh(this.D,this.id,this.i,this.j,this.ha),delete this.ha);b||this.reset();return!0};Kh.prototype.Ba=function(){return!0};
function Lh(a){if(a.F&&(!a.u&&a.j&&(gd(a.F,a.i,a.j,rd)?a.u=!0:a.j=0),!Mb(a))){if(!a.u)w("No RAM allocated");else if(a.b){if(!a.g)return;Mh(a,a.g,a.za,a.ya,a.i)?a.status('Loaded image "'+a.w+'"'):a.T('Error loading image "'+a.w+'"')}a.B=!0;D(a)}}
Kh.prototype.reset=function(){if(this.u&&!this.B){var a=this.F,b=this.i,c=this.j,d=b&a.i;for(b>>>=a.g;0<c&&b<a.b.length;){var e=a.b[b],f=d,g=c,k=0;f=f||0;k=(k||0)&255;void 0===g&&(g=e.size);if(Pb&&e.g)for(d=f;g--&&d<e.g.length;d++)e.g[d]=k;else for(d=f;g--&&d<e.size;d++)e.F(f,k,e.L+f);c-=a.j;b++;d=0}this.g&&Mh(this,this.g,this.za,this.ya,this.i,!this.D)}this.B=!1};
function Mh(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){F(a,"invalid signature ("+ya(m)+") at offset "+ya(n),4096);break}if(l+6>=b.length){F(a,"invalid block at offset "+ya(n),4096);break}l+=2;var t=b[l++]&255|(b[l++]&255)<<8,r=b[l++]&255|(b[l++]&255)<<8;m+=(t&255)+(t>>8)+(r&255)+(r>>8);for(var p=l,z=t-=6;0<t&&l<b.length;)m+=b[l++]&255,t--;if(0!=t||l>=b.length){F(a,"insufficient data for block at offset "+ya(n),4096);
break}m+=b[l++]&255;if(m&255){F(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+ya(n),4096);break}if(z)for(F(a,"loading "+ya(z)+" bytes at "+ya(r)+"-"+ya(r+z),4096);z--;)pd(a.F,r++,b[p++]&255);else r&1?g=!0:null==d&&(d=r),null!=d&&F(a,"starting address: "+ya(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)pd(a.F,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.f),f=!1;null!=d&&Je(a.f,d,f)}return k}
db(function(){for(var a=A(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Kh(d);ub(d,c)}});function Nh(a){x.call(this,"Keyboard",a,1024);D(this)}q(Nh,x);Nh.prototype.va=function(){return!1};Nh.prototype.Aa=function(a,b,c,d){this.J=a;this.f=c;this.D=d};db(function(){for(var a=A(document,y,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Nh(d);ub(d,c)}});
function Oh(a){x.call(this,"SerialPort",a,1048576);this.M=+a.adapter;this.S=+a.baudReceive||9600;this.Z=+a.baudTransmit||9600;this.K=a.upperCase;"string"==typeof this.K&&(this.K="true"==this.K);this.u=this.w=null;this.X=+a.tabSize;this.U=+a.charBOL;this.B=0;this.I=!0;this.P=this.N=null;this.R=this.Y=-1;this.C=this.b=this.g=0;this.j=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Ph;b&&(void 0===c&&(c="Panel"),(c=Db(c,this.id))&&(b=c.H[b])&&this.va(null,a,b))}this.i=this.G=this.O=null;this.exports=
{connect:this.ue,receiveData:this.Mc,receiveStatus:this.gh,setConnection:this.lh}}q(Oh,x);h=Oh.prototype;
h.va=function(a,b,c){var d=this;switch(b){case Ph:return this.H[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.Nd:sa.$b:46==c?b=sa.Nd:a.ctrlKey&&c>=sa.Jd&&c<=sa.yf&&(b=c-(sa.Jd-sa.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Mc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.He&&(b=sa.Ge);d.Mc(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.Mc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=yd(this.f,this.M?-1:48,4,1048576);this.R=vd(this.f,function(){var a=-1;e.j.length&&(a=e.j.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.K&&97<=a&&122>a&&(a-=32),xd(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&wd(c,e.P))});this.N=yd(this.f,this.M?-1:52,4,1048576);this.Y=vd(this.f,function(){e.g|=128;e.g&64&&wd(c,e.N)});mc(b,this,Qh,this.M?64832+8*(this.M-1)-65392:0);oc(b,this.reset.bind(this));
D(this)};h.ue=function(a){if(!this.i){var b=qe(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Wc)return;c=Ga(c[1]);if(this.i=xb(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.tb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.Ca=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){Rh(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.j]);return a.data()};h.restore=function(a){return Rh(this,a[0])};function Rh(a,b){b||(b=[0,8192,128,a.j]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.j=b.next().value;return!0}
h.Mc=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.j.push(b)}else this.j=this.j.concat(a);xd(this.f,this.R,1E3/Math.round(this.S/10));return!0};h.gh=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&&wd(this.f,this.P))};h.lh=function(a,b){return this.i?!1:(this.i=a,this.G=b,!0)};
h.xg=function(){var a=this.b&65534;this.b&=-32769;return a};h.Ph=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.O&&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.O.call(this.i,b))};h.wg=function(){this.b&=-129;return this.C};h.Oh=function(){};h.fh=function(){return this.g};h.xi=function(a){this.g&128&&(a&64?wd(this.f,this.N):Cd(this.f,this.N));this.g=this.g&-70|a&69};h.eh=function(){return 0};
h.wi=function(a){a&=255;this.G&&this.G.call(this.i,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=Ha[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.X||8,c=a-this.B%a,this.X&&(b=Fa("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+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))}xd(this.f,this.Y,1E3/Math.round(this.Z/10));this.g&=-129};var Ph="buffer",Sh={},Qh=(Sh[65392]=[null,null,Oh.prototype.xg,Oh.prototype.Ph,"RCSR"],Sh[65394]=[null,null,Oh.prototype.wg,Oh.prototype.Oh,"RBUF"],Sh[65396]=[null,null,Oh.prototype.fh,Oh.prototype.xi,"XCSR"],Sh[65398]=[null,null,Oh.prototype.eh,Oh.prototype.wi,"XBUF"],Sh);db(function(){for(var a=A(document,y,"serial"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Oh(d);ub(d,c)}});
function Md(a){x.call(this,"PC11",a,4096);this.N=Th(this,a.autoMount);this.g=0;this.U=+a.baudReceive||3600;this.w=this.b=0;this.K=32768;this.i=this.R=0;this.C=[];this.B=Uh;this.j=Vh;this.M=this.u="";this.aa=this.za=this.ya=null;this.P=-1;this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.G=null;this.S=-1;this.I=null}q(Md,x);function Th(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Md.prototype;
h.va=function(a,b,c){var d=this,e=Vh;switch(b){case "listTapes":return this.H[b]=c,c.onchange=function(){var a=d.H.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){w("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.H[b]=c,!0;case "readTape":e=Wh;case "loadTape":return e||(e=Xh),this.H[b]=c,c.onclick=
function(){var a=d.H.listTapes;a&&Yh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.H[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;Yh(d,za(b,!0),b,Xh,a)}return!1};return!0;case Zh:return this.H[b]=c,!0}return!1};
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;this.I=$h(a);var e=this;if(a=Th(this,qe(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=yd(this.f,56,4,4096);this.S=vd(this.f,function(){1!=(e.b&32769)||e.b&128||(e.i<e.C.length?(e.w=e.C[e.i]&255,E(e)&&F(e,e.type+".advanceReader("+e.i+"): "+v(e.w,2,!0),!0),e.i++,ai(e,e.i/e.C.length*100)):e.b|=32768,e.b|=128,e.b&=-2049,e.b&64&&wd(e.f,e.G))});mc(b,this,bi);oc(b,this.reset.bind(this));ci(this,"None",Uh,!0);this.O&&ci(this,
"Local Tape",di);ci(this,"Remote Tape",ei);fi(this)||D(this)};h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};function fi(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.H.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=za(c,!0)}c&&b?gi(a,b,c,Xh,!0):hi(a)}return!!a.g}
function Yh(a,b,c,d,e){if(c)if(c==di)a.T('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==ei){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=za(c);a.status("Attempting to load "+c+' as "'+b+'"');a.B=ei}else a.B=c;gi(a,b,c,d,!1,e)}else ii(a,!1)}
function gi(a,b,c,d,e,f){var g=-1;if(a.u.toLowerCase()!=c.toLowerCase()||a.j!=d)g++,ii(a,!0),a.A.bb?a.T("PC11 busy"):(e&&(a.g++,E(a)&&F(a,"auto-loading tape: "+b)),ji(a,b,c,d,f)?g++:a.A.bb=!0);g&&ki(a,a.M,a.u,a.j,a.aa,a.za,a.ya)}
function ji(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),ki(a,b,c,d,e),a.B=di);a.A.bb=!1;hi(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=Aa(c),f="json"==e||"gz"==e?encodeURI(c):Pa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Na(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.ca;g?a.T('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(mb(a.tb,e,f),(e=Oa(e,f))&&ki(a,b,c,d,
e.aa,e.za,e.ya));a.A.bb=!1;a.g&&(a.g--,a.g||D(a));hi(a)})}function ci(a,b,c,d){if((a=a.H.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 hi(a){var b=a.H.listTapes;if(b&&b.options){a=a.B||a.u;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 ai(a,b){b|=0;if(b!==a.P){var c=a.H[Zh];c&&(c=(c=A(c,li))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function ki(a,b,c,d,e,f,g){a.M=b;a.u=c;a.j=d;a.aa=e;a.za=f;a.ya=g;d==Wh?a.I&&Mh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.T('No valid memory address for tape "'+b+'"'):(a.i=0,a.C=e,a.b&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),ai(a,0))}function ii(a,b){if(a.u||!1===b)a.M="",a.u="",b||(a.j&&a.status(a.j==Xh?"tape detached":"tape unloaded"),a.B=Uh,a.j=Vh,hi(a))}h.save=function(){return(new G(this)).data()};h.restore=function(){return!0};h.qg=function(){return this.b&65534};
h.Ih=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&wd(this.f,this.G)):(this.b&=-129,this.b|=2048,this.w=0,xd(this.f,this.S,1E3/Math.round(this.U/10))));this.b=this.b&-66|a&65};h.pg=function(){this.b&=-129;this.b|=2048;return this.w};h.Hh=function(){};h.og=function(){return this.K};h.Gh=function(a){this.K=this.K&-65|a&64};h.ng=function(){return this.R};h.Fh=function(a){this.R=a&255};
var Uh="",di="?",ei="??",Vh=0,Xh=1,Wh=2,Zh="readProgress",li="pcjs-progress-bar",mi={},bi=(mi[65384]=[null,null,Md.prototype.qg,Md.prototype.Ih,"PRS"],mi[65386]=[null,null,Md.prototype.pg,Md.prototype.Hh,"PRB"],mi[65388]=[null,null,Md.prototype.og,Md.prototype.Gh,"PPS"],mi[65390]=[null,null,Md.prototype.ng,Md.prototype.Fh,"PPB"],mi);
function ni(a,b,c){x.call(this,"Disk",{id:a.tb+".disk"+v(++oi,4)},8192);this.controller=a;this.J=a.J;this.D=a.D;this.u=b;this.Wa=b.name;this.Oa=this.Ed="";this.yd=b.yd;this.ba=this.ka=this.ea=this.ua=this.mode=0;this.b=[];this.i=null;this.j=!1;this.create(c,b.ba,b.ka,b.ea,b.ua);this.g=this.w=null;D(this)}q(ni,x);h=ni.prototype;h.Aa=function(a,b,c,d){this.D=d};
h.create=function(a,b,c,d,e){this.mode=a;this.ba=b;this.ka=c;this.ea=d;this.ua=e;this.b=[];if("preload"!=this.mode){a=Array(this.ba);for(b=0;b<a.length;b++){c=Array(this.ka);for(d=0;d<c.length;d++){e=Array(this.ea);for(var f=1;f<=e.length;f++)e[f-1]=pi(null,b,d,f,this.ua,0);c[d]=e}a[b]=c}this.b=a}this.i=null};
function qi(a,b,c,d,e){var f=c;if(a.g)return!0;a.Wa=b;a.Oa=c;a.Ed=za(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c=b?b.byteLength:0,d=ra[c];if(d){a.ba=d[0];a.ka=d[1];a.ea=d[2];a.ua=d[3]||512;var e=a.ua>>2;var f=d=0;b=new DataView(b,0,c);a.b=Array(a.ba);for(c=0;c<a.b.length;c++)for(var r=a.b[c]=Array(a.ka),p=0;p<r.length;p++)for(var z=r[p]=Array(a.ea),B=0;B<z.length;B++){for(var C=pi(null,c,p,B+1,a.ua,0),J=C.data,Wb=0;Wb<e;Wb++,f+=4){var Gd=J[Wb]=b.getInt32(f,
!0);d=d+Gd&-1}C.La=e;z[B]=C}a.i=d;e=a}else a.T("Unrecognized disk format ("+c+" bytes)");a.g&&(a.g.call(a.controller,a.u,e,a.Wa,a.Oa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Aa(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"):Ba(c,"/")&&(d="dir"),f=Pa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.yd?"":e)+"&format=json"));return!!Na(f,
null,!0,function(b,c,d){ri(a,b,c,d)})}
function ri(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ca;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Wa+'" (error '+d+": "+b+")",f);else{mb(a.controller.tb,b,c);try{if(0<za(a.Ed,!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.Wa]: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)w(k[0]);else{a.ba=k.length;a.ka=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d<a.ba;d++)for(f=0;f<a.ka;f++)for(g=0;g<a.ea;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);m>>=2;var n=l.pattern;void 0===n&&(n=l.pattern=0);var t=l.data;if(void 0===t){var r=l.bytes;if(void 0!==r&&r.length){for(var p=m<<2,z=r.length;z<p;z++)r[z]=n;si(l,r)}else t=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=t;delete l.bytes}pi(l,d,f);for(p=
0;p<t.length;p++)c=c+t[p]&-1}a.b=k;a.i=c;e=a}else w("Empty disk image: "+a.Wa)}catch(B){w("Disk image error ("+b+"): "+B.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Wa,a.Oa),a.g=null)}function pi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ak=b;a.Bk=c;a.Ua=a.La=0;a.cb=!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.Af&&b<f.ka)for(k=g[b]=Array(f.Bf),g=0;g<k.length;g++)k[g]=pi(null,a,b,g+1,f.ve,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Af&&9==f.je&&(d=k[g]=pi(null,a,b,f.je,f.ve,0))}}e&&e(d,!1);return d};function si(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){c=a.data;var 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.La?f<a.Ua?(a.La+=a.Ua-f,a.Ua=f):f>=a.Ua+a.La&&(a.La+=f-(a.Ua+a.La)+1):(a.Ua=f,a.La=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ti(a,b){var c=a.ka*a.ea,d=b/c|0;return d<a.ba?(b%=c,a.seek(d,b/a.ea|0,b%a.ea+1)):null}function ui(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}
h.save=function(){var a=0,b=[];b[a++]=[this.Oa,this.i,this.ba,this.ka,this.ea,this.ua];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.La){for(var k=[],l=0,m=g.Ua,n=g.Ua+g.La;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ua,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?this.create("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.Ua=e;for(k.La=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Wa+": "+c);return b};var oi=0;
function vi(a,b,c,d,e,f){x.call(this,a,b,c);this.N=wi(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Yc;this.g=Array(this.P);this.O=!Ua("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Ad,selectDrive:this.kh,wait:this.oh}}q(vi,x);function wi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vi.prototype;
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){xi(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&yi(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Ad()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
d.g[ta(a.value,10)||0])if(a=a.da){for(var b="",c=0,k;k=ti(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(ui(a,k,l));b=btoa(b);a=a.Ed.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
(a?" ("+a+")":"")+".");w(a)}else d.T("No disk loaded in drive.");else d.T("No disk drive selected.")};return!0;case "mountDisk":if(this.O)return this.H[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;d.Ad(za(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.Aa=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=wi(this,qe(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Qa=yd(this.f,this.R.td,this.R.pd,this.ia);mc(b,this,this.U);oc(b,this.reset.bind(this));zi(this,"None",$i,!0);this.O&&zi(this,"Local Disk",bj);zi(this,"Remote Disk",cj);dj(this)||D(this)};
h.Ca=function(a,b){if(!b){if(!a){if(this.reset(),this.J.N){this.B=[];for(a=0;a<this.g.length;a++)ej(this,a,!0);dj(this,!0)}}else if(!this.restore(a))return!1;if(a=this.H.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.P;b++){var c=document.createElement("option");c.value=b;c.text=this.g[b].Oc||"---";a.appendChild(c)}0<this.P&&(a.value="0",yi(this,0))}}return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.Ab();fj(this)};
h.save=function(){var a=new G(this);a.set(0,this.Pc());a.set(1,gj(this));a.set(2,hj(this));return a.data()};h.restore=function(a){var b=!0;this.Ab(a[0])||(b=!1);var c=a[1];c&&(this.B=c);fj(this,a[2])||(b=!1);return b};h.Ab=function(){return!0};h.Pc=function(){return[]};
function fj(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d;d=c;var g=a.S,k=b&&b[c],l=0;f.Qb=d;f.name=e.Wc;f.Kc=f.Nb=!1;f.fc=null;f.yd=!0;f.Oc=g[l++]+d;f.ba=g[l++];f.ka=g[l++];f.ea=g[l++];f.ua=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Lf=g[l++];f.Cf=g[l++];f.status=g[l];f.uk=0;f.tk=0;f.je=1;f.Bf=f.ea;f.ve=f.ua;f.Ck=0;f.Kk=null;f.da||(f.Oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],ej(e,d,!0),g.Nb=!0,d=new ni(e,g,"preload"),e.ne(g,d,f,k,!0)):ij(e,d,l,g,!0)?f.da&&g&&jj(e,
l,g,f.da):D(e,!1))}return!0}function hj(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Nb,d.Wa,d.Oa])}return b}function gj(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.da&&kj(a,c.Oa,c.da)}return a.B}
function dj(a,b){b||(a.M=0);for(var c in a.N){var d=a.N[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.H.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=za(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)){!ij(a,g,f,e,!0)&&b&&D(a,!1);continue}a.T("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.M}
h.Ad=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.H.listDrives)&&ta(d.value,10);if(void 0===d||0>d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return ej(this,d),!0;if(b==bj)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==cj){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=za(b);this.status("Attempting to load "+b+' as "'+
a+'"')}ij(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;Je(this.f,0,!0,b);return(a=this.Rb(a,a.Jf,a.Kf,a.Lf,a.Cf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
function ij(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,ej(a,b,!0),k.Kc?a.T(a.type+" busy"):(k.Kc=!0,e&&(k.xd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Nb=!!f,qi(new ni(a,k,"preload"),c,d,f,a.ne)&&g++));return g}
h.ne=function(a,b,c,d,e){a.Kc=!1;b&&(b.ba>a.ba||b.ka>a.ka)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Qb].Oc||"---")),b=null);b?(a.da=b,a.Wa=c,a.Oa=d,this.we(a.Qb),jj(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Qb].Oc||"---"),a.xd||e),this.J&&Ae(this.J)):a.Nb=!1;a.xd&&(a.xd=!1,--this.M||D(this));yi(this,a.Qb);a.fc&&(a.fc(),a.fc=null)};
function zi(a,b,c,d){if((a=a.H.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 yi(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ta(a.options[c].value,10)==e.Qb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.Nb?bj:e.Oa;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.kh=function(a){var b=this.H.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ta(b.options[d].value,10);if(0<=e)return yi(this,e,!0)}return!1};
function xi(a){var b=a.H.listDisks,c=a.H.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){w(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.oh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Kc)return c.fc||(c.fc=a),!1}return!0};
function ej(a,b,c){var d=a.g[b];if(d.da||!1===c)kj(a,d.Oa,d.da),d.Wa="",d.Oa="",d.da=null,d.Nb=!1,c||(a.T("Drive "+(a.g[b].Oc||"---")+" unloaded",c),yi(a,b))}function jj(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function kj(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.we=function(){};h.Rb=function(){return-1};h.Tc=function(){return-1};var $i="",bj="?",cj="??";
function N(a){vi.call(this,"RK11",a,65536,Xb,Xb.Ec,lj);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}q(N,vi);h=N.prototype;h.Ab=function(a){a||(a=[mj.Ec|mj.ce|mj.Zd,0,R.Ya,0,0,0,0]);a=ia(a);this.G=a.next().value;this.i=a.next().value;this.b=a.next().value;this.w=a.next().value;this.u=a.next().value;this.j=a.next().value;this.C=a.next().value;return!0};h.Pc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
h.Rb=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1);if(!n){m=S.be;break}var t=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}var r,p;if(0>(r=a.read(n,t++))||0>(p=a.read(n,t++))){m=S.Dc;break}if(!k&&(Kc(this.F,Ye(this.f,f),r|p<<8),ud(this.F))){m=S.bc;break}t>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Tc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null;a||(m=S.Td,e=0);for(;e;){var t=Mc(this.F,Ye(this.f,f));if(ud(this.F)){m=S.bc;break}if(!n){if(b>=a.ba){m=S.Cc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.be;break}var r=0;++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b))}if(k){var p,z;if(0>(p=a.read(n,r++))||0>(z=a.read(n,r++))){m=S.Dc;break}if(t!=(p|z<<8)){m=S.fe;break}}else if(!a.write(n,r++,t&255)||!a.write(n,r++,t>>8)){m=S.Dc;break}r>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.$e=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Hb|f>>16-R.ma.Hb&R.Hb;this.w=65536-e&65535;this.j=this.j&~nj.qd|d&nj.qd;this.i|=a;oj(this);return!0};function oj(a){a.b&=~R.fb;a.i&&(a.i|=S.Je,a.b|=R.fb,a.i&S.cd&&(a.b|=R.cd),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Cg=function(){return this.G};h.Uh=function(){};h.Dg=function(){return this.i};h.Vh=function(){};h.zg=function(){return this.b&R.cc};
h.Rh=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.ac){a=!0;var b,c="",d=(this.j&nj.qb)>>nj.ma.qb,e=this.g[d];this.b&=~(R.Ya|R.rd);this.i&=~S.rf;switch(b=this.b&R.wa){case pj.Ee:E(this)&&F(this,this.type+": CRESET("+d+")",!0);this.i=this.j=0;this.b=R.Ya;break;case pj.Ve:c="RCHK";case pj.rb:c||(c="READ");var f=this.Rb;case pj.ud:c||(c="WCHK");case pj.ec:c||(c="WRITE");f||(f=this.Tc);var g=(this.j&nj.Zb)>>nj.ma.Zb;var k=(this.j&nj.fd)>>nj.ma.fd;var l=this.j&nj.qd;var m=65536-this.w&65535;var n=
(this.b&R.Hb)<<16-R.ma.Hb|this.u;var t=this.b&R.Re?0:2;E(this)&&F(this,this.type+": "+c+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=e.ba){this.i|=S.Cc;break}if(l>=e.ea){this.i|=S.Dc;break}a=f.call(this,e,g,k,l,m,n,t,b>=pj.ud,this.$e.bind(this));break;case pj.Ic:g=(this.j&nj.Zb)>>nj.ma.Zb;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g<e.ba?this.b|=R.rd:this.i|=S.Cc;break;case pj.Ke:E(this)&&F(this,this.type+": DRESET("+d+")");this.i=this.j=0;this.b=R.Ya|R.rd;break;default:E(this)&&F(this,
this.type+": UNSUPPORTED("+b+")")}this.G=e.status|(e.da?mj.Ea:0)|d<<mj.ma.hd|this.j&mj.qf;oj(this);a&&(this.b&=~R.ac,this.b|=R.Ya,this.b&R.Gb&&wd(this.f,this.Qa))}};h.Eg=function(){return this.w};h.Wh=function(a){this.w=a};h.yg=function(){return this.u};h.Qh=function(a){this.u=a};h.Ag=function(){return this.j};h.Sh=function(a){this.j=a};h.Bg=function(){return this.C};h.Th=function(a){this.C=a};
var mj=Xb.Fc,S=Xb.cf,R=Xb.af,nj=Xb.bf,pj=Xb.wa,qj={},lj=(qj[65280]=[null,null,N.prototype.Cg,N.prototype.Uh,"RKDS"],qj[65282]=[null,null,N.prototype.Dg,N.prototype.Vh,"RKER"],qj[65284]=[null,null,N.prototype.zg,N.prototype.Rh,"RKCS"],qj[65286]=[null,null,N.prototype.Eg,N.prototype.Wh,"RKWC"],qj[65288]=[null,null,N.prototype.yg,N.prototype.Qh,"RKBA"],qj[65290]=[null,null,N.prototype.Ag,N.prototype.Sh,"RKDA"],qj[65294]=[null,null,N.prototype.Bg,N.prototype.Th,"RKDB"],qj);
function Nd(a){vi.call(this,"RL11",a,131072,Yb,Yb.df,rj);this.b=this.C=this.i=this.j=this.w=this.u=0}q(Nd,vi);h=Nd.prototype;h.Ab=function(a){a||(a=[U.Ea|U.Ya,0,0,0,0,0]);a=ia(a);this.b=a.next().value;this.C=a.next().value;this.i=a.next().value;this.j=a.next().value;this.w=a.next().value;this.u=a.next().value;return!0};h.Pc=function(){return[this.b,this.C,this.i,this.j,this.w,this.u]};
h.Rb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=sj.Za;break}var m=0}var n,t;if(0>(n=a.read(k,m++))||0>(t=a.read(k,m++))){g=sj.Za;break}Kc(this.F,Ye(this.f,f),n|t<<8);if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g};
h.Tc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;a||(g=sj.Za,e=0);for(;e;){var m=Mc(this.F,Ye(this.f,f));if(ud(this.F)){g=sj.bc;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=sj.Za;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=sj.Za;break}if(n>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ka&&(c=0,++b>=a.ba)))){g=sj.Za;break}}return l?l(g,b,c,d,e,f):g};
h.ef=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Xa|f>>16-U.ma.Xa&U.Xa;this.u=f>>16&tj.$a;this.j=this.i=b<<uj.ma.dc|(c?uj.Hc:0)|d&uj.$d;this.w=65536-e&65535;a&&(this.b=this.b|a|U.fb);return!0};h.Hg=function(){return this.b&U.cc};
h.Zh=function(a){this.b=this.b&~U.Sa|a&U.Sa;this.u=this.u&60|(a&U.Xa)>>U.ma.Xa;if(!(this.b&U.Ya)){a=!0;var b="",c=this.g[(this.b&U.qb)>>U.ma.qb],d=c.da;this.b&=~U.Ea;switch(this.b&U.wa){case vj.vf:this.w&wj.Rd&&(this.b&=U.Ea|U.wa|U.Xa);this.w=c.status|this.j&uj.Hc|(d&&512==d.ba?wj.Oe:0);break;case vj.Ic:if((this.i&uj.Ne)==uj.sf){var e=this.i&uj.dc;b=(this.i&uj.uf)<<2;this.j=this.i&uj.tf?this.j+e:this.j-e;this.i=this.j=this.j&uj.dc|b}break;case vj.Ze:this.w=this.j;break;case vj.We:b="READ",e=this.Rb;
case vj.xf:b||(b="WRITE");e||(e=this.Tc);var f=this.i>>uj.ma.dc;var g=this.i&uj.Hc?1:0;var k=this.i&uj.$d;!d||f>=d.ba||k>=d.ea?this.b=this.b|sj.Za|U.fb:(a=65536-this.w&65535,d=(this.u&tj.$a)<<16|this.C,E(this)&&F(this,this.type+": "+b+"("+f+":"+g+":"+k+") "+u(d)+"--"+u(d+(a<<1)),!0,!0),a=e.call(this,c,f,g,k,a,d,2,!1,this.ef.bind(this)))}a&&(this.b=this.b|U.Ea|U.Ya,this.b&U.Gb&&wd(this.f,this.Qa))}};h.Fg=function(){return this.C};h.Xh=function(a){this.C=a&xj.Sa};h.Ig=function(){return this.i};
h.$h=function(a){this.i=a};h.Jg=function(){return this.w};h.ai=function(a){this.w=a};h.Gg=function(){return this.u};h.Yh=function(a){this.u=a&tj.$a;this.b=this.b&~U.Xa|(this.u&3)<<U.ma.Xa};
var U=Yb.hf,xj=Yb.ff,uj=Yb.jf,wj=Yb.Gc,tj=Yb.gf,sj=Yb.Qd,vj=Yb.wa,yj={},rj=(yj[63744]=[null,null,Nd.prototype.Hg,Nd.prototype.Zh,"RLCS"],yj[63746]=[null,null,Nd.prototype.Fg,Nd.prototype.Xh,"RLBA"],yj[63748]=[null,null,Nd.prototype.Ig,Nd.prototype.$h,"RLDA"],yj[63750]=[null,null,Nd.prototype.Jg,Nd.prototype.ai,"RLMP"],yj[63752]=[null,null,Nd.prototype.Gg,Nd.prototype.Yh,"RLBE"],yj);
function Od(a){vi.call(this,"RX11",a,262144,Zb,Zb.kf,zj);this.I=this.G=this.i=this.K=this.b=this.C=0;this.j=V.Ib;this.u=0;this.w=Array(128).fill(0)}q(Od,vi);h=Od.prototype;h.Ab=function(a){a?(a=ia(a),this.b=a.next().value,this.C=a.next().value,this.I=a.next().value,this.G=a.next().value,this.i=a.next().value,this.K=a.next().value,this.j=a.next().value,this.u=a.next().value,this.w=a.next().value):(this.C=this.b=0,this.G=this.I=1,this.K=this.i=0,this.j=V.rb,this.u=0,Cd(this.f,this.Qa),Aj(this));return!0};
h.Pc=function(){return[this.b,this.C,this.I,this.G,this.i,this.K,this.j,this.u,this.w]};h.we=function(a){0==a&&this.Ab()};function Bj(a,b){b&&(a.K=b,a.C=a.i,a.b|=W.fb);a.j=V.Ib;a.b|=W.DONE;a.b&W.Gb&&wd(a.f,a.Qa)}
h.Rb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null;E(this)&&F(this,this.type+".readData("+b+":"+c+":"+d+") "+u(f)+"--"+u(f+(e<<1)),!0,!0);m||(k=a.Qb?Cj.ed:Cj.dd,e=0);for(;e;){if(!n){if(b>=m.ba){k=Cj.Te;break}n=m.seek(b,c,d+1);if(!n){k=Cj.od;break}var t=0;++d>=m.ea&&(d=0,++c>=m.ka&&(c=0,++b))}var r;if(0>(a=m.read(n,t++))||0>(r=m.read(n,t++))){k=Cj.nd;break}Kc(this.F,Ye(this.f,f),a|r<<8);t>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
function Aj(a){var b=0,c=a.b&W.sd?1:0,d=a.g[c];d=d&&d.da;var e=a.I&Dj.$a,f=a.G&Ej.$a;a.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(d)if(a.i|=Fj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;e<f;){var g=d.read(c,e);if(0>g){b=Cj.nd;break}a.w[e++]=g}c.Ff&&(a.i|=Fj.$b)}else b=Cj.od;else b=c?Cj.ed:Cj.dd;Bj(a,b)}
h.Lg=function(a,b){a=this.b;if(!b)switch(a&=W.cc,this.j){case V.$c:case V.EMPTY:this.u<this.w.length&&(this.b|=W.ab);break;case V.rb:case V.ec:case V.Jc:2>this.u&&(this.b|=W.ab)}return a};
h.ci=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Ab();else if(this.b&W.ac&&this.j==V.Ib)switch(this.j=this.b&W.wa,this.b&=~(W.ac|W.ab|W.DONE|W.fb),Cd(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+Gj[this.j>>1]+")",!0,!0),this.j){case V.$c:case V.EMPTY:case V.rb:case V.ec:case V.Jc:this.u=0;break;case V.Ye:a=this.g[this.b&W.sd?1:0];this.i&=~Fj.Ea;a&&a.da&&(this.i|=Fj.Ea);this.C=this.i;Bj(this);break;case V.Xe:this.C=this.K,Bj(this)}else this.b&W.Gb?this.b&W.DONE&&wd(this.f,
this.Qa):Cd(this.f,this.Qa)};h.Mg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.ab&&(this.b&=~W.ab,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&Bj(this))}return this.C};
h.di=function(a){switch(this.j){case V.$c:this.b&W.ab&&(this.b&=~W.ab,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&Bj(this));break;case V.rb:case V.ec:case V.Jc:if(this.b&W.ab)switch(this.b&=~W.ab,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.rb)Aj(this);else{var b=this.j==V.Jc,c=0,d=this.b&W.sd?1:0,e=this.g[d];e=e&&e.da;var f=this.I&Dj.$a,g=this.G&Ej.$a;this.i&=~(Fj.Md|Fj.Wd|Fj.$b|Fj.Ea);if(e)if(this.i|=Fj.Ea,
E(this)&&F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ff=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=Cj.nd;break}b++}else c=Cj.od;else c=d?Cj.ed:Cj.dd;Bj(this,c)}}}this.C=a};var W=Zb.lf,Dj=Zb.pf,Ej=Zb.nf,Fj=Zb.mf,V=Zb.wa,Cj=Zb.Me,Gj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),Hj={},zj=(Hj[65144]=[null,null,Od.prototype.Lg,Od.prototype.ci,"RXCS"],Hj[65146]=[null,null,Od.prototype.Mg,Od.prototype.di,"RXDB"],Hj);
function Ij(a){x.call(this,"Debugger",a);this.W=+a.base||16;this.O=["{","}"];this.ja=["[","]"];this.B=0;this.R=!1;this.w=-1;this.u=[];this.i={}}q(Ij,x);Ij.prototype.re=function(){return-1};Ij.prototype.zd=function(){};
function Jj(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ga(b.substring(c,f))),c=f+1}}return a}
function Kj(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
function Lj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop();var f=a.pop();switch(d){case "*":f*=e;break;case "/":if(!e)return!1;f=Math.trunc(f/e);break;case "^/":if(!e)return!1;f%=e;break;case "+":f+=e;break;case "-":f-=e;break;case "<<":f<<=e;break;case ">>":f>>=e;break;case ">>>":f>>>=e;break;case "<":f=f<e?1:0;break;case "<=":f=f<=e?1:0;break;case ">":f=f>e?1:0;break;case ">=":f=f>=e?1:0;break;case "==":f=f==e?1:0;break;case "!=":f=f!=e?1:0;break;
case "&":f&=e;break;case "!":case "|":f|=e;break;case "^!":f|=e;break;case "&&":f=f&&e?1:0;break;case "||":f=f||e?1:0;break;case ",,":f=Kj(f,18,!0)*Math.pow(2,18)+Kj(e,18,!0);break;case "_":case "^_":"^_"==d&&(e=35-(e&255));e&&(f=Kj(f,0,!0),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));break;default:return!1}a.push(Kj(f))}return!0}
function Mj(a,b,c,d,e,f){var g,k=!1,l=0,m=[],n=[],t=a.W;for(a.W=e;c<d;){var r=b[c++].trim();var p=c<d?b[c++]:"";if(r)var z=Nj(a,r,null,f,l);else if("{"==p){r=1;for(z=c;c<d;)if(c++,p=c<b.length?b[c++]:"","{"==p)r++;else if("}"==p&&!--r)break;z=Mj(a,b,z,c-1,a.W,f);null!=z&&l&&(z=Oj(z,l));r=c<d?b[c++].trim():"";p=c<d?b[c++]:""}else{if(" "==p)continue;if("^B"==p){a.W=2;continue}if("^O"==p){a.W=8;continue}if("^D"==p){a.W=10;continue}if(!(l&-1073741824)){if("+"==p)continue;if("-"==p){l=l<<2|1;continue}if("~"==
p||"^-"==p){l=l<<2|2;continue}if("^L"==p){l=l<<2|3;continue}}k=!0;break}if(void 0===z)if(f)f.push(r),z=0;else{k=!0;f=[];break}m.push(Kj(z));if(" "==p)if(c<b.length-1&&!b[c])c++,p=b[c++];else{k=!0;break}if(!p)break;l="<"==a.O[0]?Pj:Qj;if(!l[p]){k=!0;break}n.length&&l[p]<=l[n[n.length-1]]&&Lj(m,n,1);n.push(p);a.W="^_"==p?10:e;l=0}if(k||!Lj(m,n)||1!=m.length)k=!0;k?f||a.v("parse error ("+(r||p)+")"):g=m.pop();a.W=t;return g}
function Rj(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,k=f+1,l=e;k<b.length;){var m=b[k++];if(m==c){l=-1;break}if(!l)break;l--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Kj(g*Math.pow(2,d)+m,d*e,!0)}if(0<=l){a.v("parse error ("+c+b+c+")");return}b=b.substr(0,f)+K(a,g,-1)+b.substr(k)}return b}
function Sj(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.O[0]&&(b=b.split(a.O[0]).join("{").split(a.O[1]).join("}"));b=Rj(a,b,'"',7,5);if(!b)return d;b=Rj(a,b,"'",6,6);if(!b)return d;16!=a.W&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Mj(a,b,0,b.length,a.W,c);void 0!==d&&e&&Tj(a,null,d)}return d}
function Oj(a,b){for(;b;){switch(b&3){case 1:a=-Kj(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function Nj(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.re(b);if(0<=g)g=a.zd(g);else if(g=b,a.i[g]?g=a.i[g].value:(g=g.substr(0,6),g=a.i[g]&&a.i[g].value),null!=g){var k=a.i[b]&&a.i[b].jh;k&&(f?f.push(k):(f=Sj(a,k,d),void 0!==f?g+=f:(d||a.v("undefined "+(c||"value")+": "+b+" ("+k+")"),g=void 0)))}else g=ta(b,1<b.length||10<a.W?a.W:10);null!=g?g=Kj(Oj(g,e)):d||a.v("invalid "+(c||"value")+": "+b)}else d||a.v("missing "+(c||"value"));return g}
function Tj(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.W?K(a,c,32,8,1)+" "+c+".":K(a,c,32,16,1)+" "+K(a,c,32,8,1)+" "+K(a,c,32,2,8)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+e);return d}function Uj(a,b){var c=0;if(a.i){if(b)return Tj(a,b,a.i[b]&&a.i[b].value);b=Object.keys(a.i);b.sort();for(var d=0;d<b.length;d++)Tj(a,b[d],a.i[b[d]].value),c++}return 0<c}
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.W){case 2:a=wa(b,0<c?c:0,e);break;case 8:a=u(b,0<c?(c+2)/3|0:0,!!e);break;case 10:a=xa(b,0<c?Math.ceil(.3*c):0);break;default:a=v(b,0<c?c+3>>2:0,!!e)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
var Qj={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Pj={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
function Vj(a){Ij.call(this,a);this.Ga=!1;this.O=["(",")"];this.ja=[];this.I=X();this.Fa=X();this.P=X();this.C=[];this.b=this.M=this.G=[];Wj(this);this.S=this.ga=0;this.j=[];this.sa=void 0;Xj(this);this.D=this;this.la={};this.ia=this.ke=0;this.U=null;this.N=[];Yj(this,a.messages);this.xa=a.commands;this.Ja=Zj;this.Y=[];this.K=0;this.Ka=this.ta=null;this.B=this.Ia=this.Ha=this.Z=this.pa=0;this.g=this.X=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return ve(b,a)}):void 0===global[y]&&
(global[y]=function(a){return ve(b,a)})}q(Vj,Ij);function ak(a){a=a&&a.L;null==a&&(a=-1);return a}function X(a,b,c){return{L:void 0===a?null:a,Ma:void 0===b?!1:b,Ta:!1,W:c}}h=Vj.prototype;h.Fd=function(a,b){a.L=b;a.Ta=!1;a.W=void 0;return a};function bk(a){return[a.L,a.Ma,a.W,a.Ta,a.Nc]}function ck(a,b){var c=X(b[0],b[1],b[2]);c.Ta=b[3];b[4]&&(c.he=Jj(a,c.Nc=b[4]));return c}
h.Aa=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=qe(a,"messages"))&&Yj(this,a);1140>this.f.ja&&(this.Y=this.Y.concat(dk));1145>this.f.ja&&(this.Y=this.Y.concat(ek));Ad(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=ak(fk(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");c=-1;for(var m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=md[c],n&&d.v(v(n.id,8)+" %"+v(e<<d.F.g,8)+" %"+v(n.L,8)+" "+ya(n.Ub)+" "+ya(n.size)+" "+m),c!=Zd&&(c=-1),m=0);a+=d.F.j;e++}}});D(this)};
h.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.X=this.H[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";ve(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.H[b]=c,bb(c,function(){if(d.X){var a=d.X.value;d.X.value=
"";ve(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,bb(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=Ec(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function ue(a){if(a.X){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.X.focus();window&&window.scrollTo(b,c)}}h.Od=function(a,b){var c=255,d=ak(a);-1!==d&&(a.Ma||65535<d?(c=this.F,d=Ye(this.f,d),c.C=!1,c.na++,d=od(c,d).j(d&c.i,d),c.na--):(c=this.f,c.pa++,d=c.F.Kd(Lc(c,d,3)),c.pa--),c=d,b&&gk(a,b));return c};
h.Ra=function(a,b){var c=65535,d=ak(a);-1!==d&&(c=a.Ma||65535<d?Mc(this.F,Ye(this.f,d)):Nc(this.f,d),b&&gk(a,b));return c};h.Pd=function(a,b,c){var d=ak(a);if(-1!==d){if(a.Ma||65535<d)pd(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Ld(Lc(e,d,5),b);e.pa--}c&&gk(a,c);Ic(this.J,-1)}};h.Le=function(a,b,c){var d=ak(a);if(-1!==d){if(a.Ma||65535<d)Kc(this.F,Ye(this.f,d),b);else{var e=this.f;e.pa++;e.F.Yb(Lc(e,d,4),b);e.pa--}c&&gk(a,c);Ic(this.J,-1)}};
function fk(a,b,c){c=(c?a.I:a.Fa).L;var d;if(void 0!==b){a:{var e=a.O[0];c=a.O[1];var f="("==e||"{"==e||"["==e?"\\":"";var g="["==e?"\\":"";for(g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);){var k=Sj(a,f[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+f[1]+c,null!=k?K(a,k):"undefined")}if(a.ja.length)for(e=a.ja[0],c=a.ja[1],f="("==e||"{"==e||"["==e?"\\":"",g="["==e?"\\":"",g=new RegExp(f+e+"([^"+g+e+g+c+"]+)"+f+c);f=b.match(g);)b=b.replace("["+f[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){c=
null;switch(e[1].toLowerCase()){case "ops":c=0}if(null==c)break;b=b.replace(e[0],c.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}e=b;var m;a:{c=a.F;f=e.toUpperCase();for(n in c.Pa)if(g=+n,c.Pa[g][4]==f){var n=c.B+g;break a}n=null}if(null==n&&e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),c=0;c<a.C.length;c++)if(f=a.C[c].ha[e],null!=f){n=f.o;break}null!=n&&(m=X(n));if(e=m)return e;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);c=Sj(a,b)}null!=c&&(e=X(c,l,
d));return e}function hk(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.he=Jj(a,b.Nc=c[2]))}function gk(a,b){null!=a.L&&(a.L+=b||1)}function ik(a,b){return(b.Ma?"%":"")+K(a,b.L)}
function Yj(a,b){a.D=a;a.ia=a.ke=1073741824;a.U=null;a.N=[];b=Jj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in fc){a:{var d=void 0;if(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|=fc[c],a.v(c+" messages enabled"))}}function Ad(a,b,c){for(var d in fc)if(b==fc[d]){a.la[d]=c;break}}
h.re=function(a){a=a.toUpperCase();var b=jk[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function kk(a,b){if(b<lk||a.g)var c=mk[b];return c||""}
h.zd=function(a){if(0<=a)if(8>a)var b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.Y[a-16];else{var c=this.f,d=this.g;switch(a){case nk:b=Kd(this.f);break;case ok:b=c.mb;break;case pk:b=c.P;break;case qk:b=c.Fa&65280;break;case rk:b=Dd(c);break;case sk:b=Fd(c);break;case tk:b=Hd(c);break;case uk:b=c.X;break;case lk:d&&(b=d.fa);break;case vk:d&&(b=d.Cb);break;case wk:d&&(b=d.Va)}}return b};
h.message=function(a,b){b&&(a+=" @"+ik(this,X(this.f.O&65535)));if(!this.U||a!=this.U)if(this.U=a,this.ia&536870912)this.N.push(a);else{var c;if(this.ia&-2147483648&&this.f&&(c=this.f.A.V)||Nb(this,!0))xk(this),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,Be(a),a.yb=0,a.J&&Ic(a.J,void 0))}};
function Xj(a){var b;if(!Df(a))a.j&&a.j.length&&a.v("instruction history buffer freed"),a.S=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(yk);for(b=0;b<a.j.length;b++)a.j[b]=X();a.S=0;a.v("instruction history buffer allocated")}}function zk(a,b,c){if(!Ak(a,c))return!1;Dc(a.f,b);return!0}
function Ec(a,b,c,d){if(!Ak(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||Df(a)&&Ef(a,a.f.g[7],0);try{b=Ce(a.f,b);var f=a.f.zc(b);0<f&&(Fc(a.f,f),a.B+=f,Gc(a.f,f,!0),Hc(a.f,f),a.Z++)}catch(g){"number"!=typeof g&&(b=g,a.B=0,Kb(a.f,b.stack||b.message))}!1!==d&&(a.g&&a.g.stop(),Ic(a.J,-1));te(a,c||!1,e);return 0<a.B}function xk(a,b){a.f&&H(a.f,b)}
function te(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(Bk+c);c=a.f;if(c=c.i&128?c.Bc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Vb[-d]:K(a,d))+")")}a.I=X(a.f.g[7]);b&&1!=a.K?Ck(a):Dk(a)}}function Ak(a,b){var c;(c=!a.f||!Mb(a.f))||(c=a.f,c.A.ca?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Lb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Xj(this);this.Z=0;this.U=null;this.B=0;this.I=X(this.f.g[7]);this.A.V=!1;Ek(this);a||te(this)};h.save=function(){var a=new G(this);a.set(0,bk(this.I));a.set(1,bk(this.P));a.set(2,[this.u,this.R,this.ia]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.I=ck(this,a[b++]),this.P=ck(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.ia|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.K||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b};
h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.B=b-this.Ia;if(!this.K){b="stopped";if(this.B){a-=this.Ha;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";Df(this)&&(b+=this.Z+" instructions, ",this.Z=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}te(this,!0);ue(this);Ek(this,this.f.g[7]);this.U=null}};function Df(a){return 1<a.b.length||!!a.ga}
function Ef(a,b,c){var d=-1;c||(d=Nc(a.f,b),0==d&&(a.f.O&65535)==b&&(b=Pe(a.f,2)));if(0<c&&(a.ga&&!--a.ga||Fk(a,b,1,a.b)))return!0;0<=c&&a.j.length&&(a.Z++,0>d&&(d=Nc(a.f,b)),65535!=(d&65535)&&(a.Fd(a.j[a.S],b),++a.S==a.j.length&&(a.S=0)));return!1}function Jg(a){var b=a.f;if(b.A.V)throw Ac(b,a.f.O&65535),xk(a),-1;return!1}function ke(a,b,c){Fk(a,b,c||1,a.M)&&xk(a,!1)}function le(a,b,c){Fk(a,b,c||1,a.G)&&xk(a,!1)}
function Wj(a){var b;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){var c=a.M[b];var d=ak(c);c.Ma?(c=a.F,je(c.b[d>>>c.g],!1)):af(a.f,!1)}a.M=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=ak(c),c.Ma?(c=a.F,je(c.b[d>>>c.g],!0)):af(a.f,!0);a.G=["bw"];a.pa=0;a.ga=0}
h.zb=function(a,b,c){var d=!0;c||Gk(this,a,b,!1,!0);if(a!=this.b){var e=ak(b);if(-1===e)this.v("invalid address: "+ik(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ma=!0);if(b.Ma){var g=this.F;g.b[e>>>g.g].zb(e&g.i,f)}else e=this.f,(f?e.qc++:e.oc++)||Ie(e)}}d&&(a.push(b),c?b.Ta=!0:(Hk(this,a,a.length-1,"set"),Xj(this)));return d};
function Gk(a,b,c,d,e){var f=!1;c=ak(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==ak(k)&&(!d||k.Ta)){f=!0;k.Ta||e||Hk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.G,k.Ma?(d=a.F,je(d.b[c>>>d.g],b)):af(a.f,b));k.Ta||Xj(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]+" "+ik(a,c)+(d?" "+d:c.Nc?' "'+c.Nc+'"':""))}
function Ek(a,b){if(void 0!==b)Fk(a,b,1,a.b,!0),a.K=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ta){if(!Gk(a,a.b,c,!0))break;b=0}}}
function Fk(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ta)for(var l=ak(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n;f=!0;k.Ta&&(Gk(a,d,k,!0),e=!0);if(n=k.he){f=!1;for(var t=0;t<n.length;t++)if(!Jk(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var r=t+1;r<n.length&&n[r].indexOf("else");r++)t++;if(r==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||Hk(a,d,g,"hit");break}}}a.pa--;return f}
function Kk(a,b,c,d){var e=X(b.L),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=Lk);var l=g[0];0<=a.Y.indexOf(l)&&(g=Lk,l=g[0]);var m=k="",n=Mk[l],t=g.length-1;l||t||(k=K(a,f));for(l=1;l<=t;l++){var r=g[l];if(void 0!==r){var p=a;var z=r;r=b;var B="";var C=z&Nk;if(C==Y)r=r.L+((f&255)<<24>>23)&65535,B=K(p,r);else if(C==Ok)r=r.L-((f&63)<<1)&65535,B=K(p,r);else if(C==Pk)B=K(p,f&7,3);else if(C==Qk)B=K(p,f&63,6);else if(C==Rk)B=K(p,f&255,8);else if(C=f&z,z&Sk&&(C>>=6,z>>=6),z&Z){z=null;var J=
C&Tk;switch(C&Uk){case 0:B=kk(p,J);break;case 8:B="@"+kk(p,J);z=Vk(p,p.f.g[J]);break;case 16:7>J?B="("+kk(p,J)+")+":(C=p.Ra(r,2),B="#"+K(p,C,-1));break;case 24:7>J?B="@("+kk(p,J)+")+":(C=p.Ra(r,2),B="@#"+K(p,C,-1),z=Vk(p,C));break;case 32:B="-("+kk(p,J)+")";break;case 40:B="@-("+kk(p,J)+")";break;case 48:C=p.Ra(r,2);B=K(p,C,-1)+"("+kk(p,J)+")";7==J&&(B=K(p,C=C+r.L&65535),z=Vk(p,C));break;case 56:C=p.Ra(r,2),B="@"+K(p,C)+"("+kk(p,J)+")",7==J&&(B="@"+K(p,C=C+r.L&65535),z=Vk(p,Nc(p.f,C)))}z&&(B=[B,z])}p=
B;if(!p||!p.length){k="INVALID";break}"string"!=typeof p&&(m=p[1],p=p[0]);0<k.length&&(k+=",");k+=p||"???"}}f="";g=ik(a,e)+":";if(-1!==e.L&&-1!==b.L){do if(f+=" "+K(a,a.Ra(e,2)),null==e.L)break;while(e.L!=b.L)}g+=Fa(f,24);g+=Fa(n,5);k&&(g+=" "+k);if(c||m)g=Fa(g,60)+";"+(c||""),g=a.f.A.Lb?g+("cycles="+we(a.f).toString()+" cs="+v(a.f.lc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function Vk(a,b){b=Ze(a.f,b)[0];b>=a.f.sb&&b<a.F.B&&(b=b-a.f.sb+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Pa[b&td])&&(a=b[4]);return a}function Wk(a,b){switch(b){case "N":a=Oe(a.f);break;case "Z":a=Ne(a.f);break;case "V":a=Me(a.f);break;case "C":a=Le(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Xk(a,b){var c=kk(a,b);c&&(c+="="+K(a,a.zd(b))+" ");return c}
function Yk(a,b){var c,d="";for(c=0;6>c;c++)d+=Xk(a,c);d=d+"\n"+(Xk(a,6)+Xk(a,7));d+=Xk(a,nk)+Xk(a,ok)+Xk(a,qk);d+=Wk(a,"T")+Wk(a,"N")+Wk(a,"Z")+Wk(a,"V")+Wk(a,"C");b&&(b=d,c=""+(Xk(a,rk)+Xk(a,sk)),c+=Xk(a,tk)+Xk(a,uk)+Xk(a,pk),c=c+"\n"+(Xk(a,wk)+Xk(a,lk)+Xk(a,vk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Jh(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];var t=Ia(n,l,a.me);0>t&&n.splice(-(t+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({Jk:b,L:c,Mf:d,ha:e,ie:f})}function Zk(a,b,c){var d=[],e=ak(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.L>>>0,k=f.Mf;if(e>=g&&e<g+k){e=Ia(f.ie,[e-g],a.me);0<=e?$k(a,b,e,d):c&&(e=~e,$k(a,b,e-1,d),$k(a,b,e,d));break}}return d}
function $k(a,b,c,d){var e={},f=a.C[b].ie,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[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 al(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Uj(a)||a.v("no variables"),!0;if(!c[2])return Uj(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Sj(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,jh:void 0},!0):!1}a.v("invalid assignment:"+b);return!1}
function bl(a,b,c){var d=null;if(b=fk(a,b,!0)){var e=Zk(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.L-e[1])&&(g=" + "+ya(f));f=e[0]+" ("+K(a,e[1])+")"+g;c&&a.v(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.L)&&(g=" - "+ya(f)),f=e[4]+" ("+K(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=Sj(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":Ac(e,
g);a.I=X(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.K=g?0:1;break;case "V":e.G=g?32768:0;break;case "C":e.C=g?65536:0;break;case "PS":Ld(e,g);break;case "PI":Jd(e,g);break;case "ER":e.P=g;d=!0;break;case "SL":e.Fa=g|255;break;case "M0":Ed(e,g);d=!0;break;case "M3":Id(e,g);d=!0;break;case "AR":a.g&&(d=a.g,sc(d,d.fa=g));d=!0;break;case "DR":a.g&&ic(a.g,g);d=!0;break;case "SR":a.g&&tc(a.g,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}Ic(a.J);a.v("updated registers:")}}a.v(Yk(a,d));c&&(a.I=X(e.g[7]),Dk(a,ik(a,a.I)))}}function cl(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.v(c[2]):Tj(a,null,c[2].charCodeAt(0)):Sj(a,b,!1)}
function dl(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.ta=b;ab(c,function(){return Ob(a,!0)&&Ec(a,e,d,!1)},function(){a.g&&a.g.stop();Ic(a.J,-1);Ob(a,!1)})}}
function Dk(a,b,c,d){if(b=fk(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=fk(a,c,!0);if(!d||d.L<b.L)return;e=d.L-b.L;if(256<e){a.v("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Nb(a,!1)||a.K?a.B:null;var g=null!=f?"cycles":null,k=Zk(a,b),l=b.L;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.I=b;e-=b.L-l;c++}}}
function Jk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(Bk+b):(a.R&&(a.v("ended assemble at "+ik(a,a.P)),a.I=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Mb(a)&&0<b.length){a.R&&(b="a "+ik(a,a.P)+" "+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 t=
fk(a,g[1],!0);if(t)if(a.P=t,void 0===g[2])a.v("begin assemble at "+ik(a,t)),a.R=!0,Ic(a.J);else{a.v("not supported yet");var r=[];if(r.length){for(var p=0;p<r.length;p++)a.Pd(t,r[p],1);a.v(Kk(a,a.P))}}break;case "b":a:{var z=g[0],B=g[1],C=b;if("?"==B)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 J=z.charAt(1);if("l"==J){var Wb=0+Ik(a,a.b);Wb+=Ik(a,a.M);(Wb+=Ik(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Gd=+B||0;B&&(a.ga=Gd);a.v("break after "+Gd+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var ua=X();if("*"!=B&&(ua=fk(a,B,!0),!ua))break a;"c"==J?null==ua.L?(Wj(a),a.v("all breakpoints cleared")):Gk(a,a.b,ua)||Gk(a,a.M,ua)||Gk(a,a.G,ua)||a.v("breakpoint missing: "+ik(a,ua)):null!=ua.L&&(hk(a,ua,C),"p"==J?a.zb(a.b,ua):"r"==J?a.zb(a.M,ua):"w"==
J?a.zb(a.G,ua):a.v("unknown breakpoint command: "+J))}}}break;case "c":var Ai=a.J;Ai.w&&(Ai.w.value="");break;case "d":a:{var ac,nb=g[0],Wa=g[1],ob=g[2],Dl=g[3];if("?"==Wa){var bc="";for(ac in fc)a.la[ac]&&(bc&&(bc+=","),bc+=ac);bc+=",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");bc.length&&a.v("dump extension commands:\n\t"+bc)}else if("state"==Wa){var lf=el(a.J,!0);if("console"==ob)console.log(lf);else{var Bi=a.J;Bi.w&&(Bi.w.value="");lf&&a.v(lf)}}else if("symbols"==Wa)for(var mf=0;mf<a.C.length;mf++){var nf=a.C[mf],cc;for(cc in nf.ha)if("."!=cc.charAt(0)){var Ci=nf.ha[cc].o;if(void 0!==Ci){var Di=nf.ha[cc].l;Di&&(cc=Di);a.v(K(a,Ci)+" "+cc)}}}else{if("d"==nb){for(ac in fc)if(g[1]==ac){var Ei=a.la[ac];Ei?
(g.shift(),g.shift(),Ei(g)):a.v("no dump registered for "+Wa);break a}Wa||(nb=a.Ka||"dw")}else a.Ka=nb;if("dh"==nb){var Fi=Wa,Gi=ob,Hi="",Ii=0,Ka=a.S,Xa=a.j;if(Xa.length){var Ea=+Fi||a.sa,Pc=+Gi||10;isNaN(Ea)?Ea=Pc:Hi="more ";Ea>Xa.length&&(a.v("note: only "+Xa.length+" available"),Ea=Xa.length);Ka-=Ea;0>Ka&&(null==Xa[Xa.length-1].L?(Ea=Ka+Ea,Ka=0):Ka+=Xa.length);var of=[];"call"==Gi&&(Pc=1E5,of=["CALL"]);for(void 0!==Fi&&a.v(Ea+" instructions earlier:");0<Pc&&Ka!=a.S;){var Ji=Xa[Ka++];if(null==Ji.L)break;
var Qc=X(Ji.L),El=Ea--,Ki=Kk(a,Qc,"history",El);(!of.length||0<=Ki.indexOf(of[0]))&&a.v(Ki);Qc.wd&&(Ka+=Qc.wd,Pc-=Qc.wd,Ea-=Qc.wd);Ka>=Xa.length&&(Ka=0);a.sa=Ea;Ii++;Pc--}}Ii||(a.v("no "+Hi+"history available"),a.sa=void 0)}else{var qa=fk(a,Wa);if(qa)if("da"==nb){var pf=qa.Ma||65535<qa.L,O=Ze(a.f,qa.L||0,pf);a.v(Fa("",pf?12:19)+wa(qa.L,pf?22:17,3)+" "+u(qa.L,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+wa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+xa(O[1],2)+"]: "+wa(O[2],22,3)+" "+
u(O[2],8))),a.v(" PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+wa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+fl[O[2]]+"PAR"+O[3]+": "+wa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+wa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+wa(O[0],22,3)+" "+u(O[0],8)))}else{var yb=0,qf="ds"==nb;if(ob){if("l"==ob.charAt(0))ob=ob.substr(1)||Dl,yb=Nj(a,ob);else{var Li=fk(a,ob);Li&&(yb=Li.L-qa.L)}0>yb&&(yb=0);65536<yb&&(yb=65536)}var Gl=a.W;qa.W&&(a.W=qa.W);for(var zb="dd"==nb?4:"db"==
nb?1:2,Pd=zb*yb||128,rf=qf?16:a.W,Hl=(Pd+rf-1)/rf|0||1,Ab="";Hl--&&0<Pd;){var Bb="",Mi="";Wa=ik(a,qa);for(var Qd=rf,Rd=0,Sd=0;0<Qd&&0<Pd;){var dc=1,sf=1==zb?a.Od(qa,dc):a.Ra(qa,dc=2);Rd|=sf<<(Sd<<3);Sd+=dc;Sd==zb&&(qf?(Bb&&(Bb+=","),Bb+="0x"+v(Rd,zb<<1)):(Bb+=K(a,Rd,zb<<3),Bb+=1==zb?9==Qd?"-":" ":" "),Rd=Sd=0);Qd-=dc;for(Pd-=dc;1==zb&&dc--;){var tf=sf&255;Mi+=32<=tf&&128>tf?String.fromCharCode(tf):".";sf>>=8}}Ab&&(Ab+="\n");Ab=qf?Ab+(Bb+","):Ab+(Wa+": "+Bb+(0==Qd?" "+Mi:""))}Ab&&a.v(Ab);a.Fa=qa;
a.W=Gl}}}}break;case "e":if("else"==g[0])break;var uf=g[0],vf=g[1];if("eb"==uf){var Rc=1;var Ni=255;var Oi=a.Od;var Pi=a.Pd}else"e"==uf||"ew"==uf?(Rc=2,Ni=65535,Oi=a.Ra,Pi=a.Le):vf=null;if(null==vf)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 Td=fk(a,vf);if(Td)for(var Ud=2;Ud<g.length;Ud++){var Sc=Sj(a,g[Ud]);if(void 0===Sc){a.v("unrecognized value: "+g[Ud]);break}Sc&~Ni&&a.v("warning: "+v(Sc)+" exceeds "+Rc+"-byte value");
a.v("changing "+ik(a,Td)+(E(a,16)?"":" from "+K(a,Oi.call(a,Td),Rc<<3))+" to "+K(a,Sc,Rc<<3));Pi.call(a,Td,Sc,Rc)}}break;case "g":a:{var Qi=g[1],Il=b;if(void 0!==Qi){var wf=fk(a,Qi,!0);if(!wf)break a;hk(a,wf,Il);a.zb(a.b,wf,!0)}zk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),xk(a)):Nb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var Tc=b.substr(2);Tc=Ga(Tc);if(Sj(a,Tc)){c||a.v("true: "+Tc);var Ri=!0}else c||a.v("false: "+Tc),Ri=!1;Ri||(d=!1);break}f=!0;break;case "k":var Jl=g[0];
if("?"==g[1])a.v("stack trace commands:"),a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Uc=X(a.f.g[6]);for(a.v("stack trace for "+ik(a,Uc));10>xf;){for(var Cb=null,Kl=256;65536>Uc.L>>>0;){yf.L=a.Ra(Uc,2);if(null==Uc.L||!Kl--)break;if(!(yf.L&1)){for(var Ll=a,Vd=yf,Si=null,Vc=Vd.L,Ti=Vc,zf=1;6>=zf&&Vc;zf++){if(2<zf){Vd.L=Vc;var Wd=Kk(Ll,Vd);if(0<=Wd.indexOf("JSR")){var Ui=Wd.indexOf(" ");if(Vc+(Wd.indexOf(" ",Ui+1)-Ui-1)/2==Ti){Si=Wd;break}}}Vc-=2}Vd.L=Ti;
if(Cb=Si)break}}if(!Cb||null==Cb)break;var Vi=null;if("ks"==Jl){var Wi=Cb.match(/[0-9A-F]+$/);Wi&&(Vi=bl(a,Wi[0]))}Cb=Fa(Cb,50)+" ;"+(Vi||"stack="+ik(a,Uc));a.v(Cb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){bl(a,g[1],!0);break}f=!0;break;case "m":a:{var Ya,Za=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var pb=0;if("all"==T)pb=1610610687,T=null;else if("on"==T)Za=!0,T=null;else if("off"==T)Za=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Ya in fc)if(T==
Ya){pb=fc[Ya];Za=!!(a.ia&pb);break}if(!pb){a.v("unknown message category: "+T);break a}}if(pb)if("on"==g[2])a.ia|=pb,Za=!0;else if("off"==g[2]&&(a.ia&=~pb,Za=!1,536870912==pb)){for(var Xi=1E3<=a.N.length?a.N.length-1E3:0;Xi<a.N.length;)a.v(a.N[Xi++]);a.N=[]}}var Ml=0,Wc="";for(Ya in fc)if(!T||T==Ya){var Nl=!!(a.ia&fc[Ya]);if(null===Za||Za==Nl)Wc&&(Wc+=","),++Ml%10||(Wc+="\n\t"),"key"==Ya&&(Ya="keys"),Wc+=Ya}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==
Za?Za?"messages on: ":"messages off: ":"message categories:\n\t")+(Wc||"none"));Xj(a)}break;case "p":if("print"==g[0]){cl(a,b.substr(5));break}var Ol=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 Yi="pr"==Ol?1:0,Zi=1+Yi;if(a.K)a.v("step in progress");else{var Xd=X(a.f.g[7]),ec=a.Ra(Xd);3==ec||4==ec||34816==(ec&65280)||32256==(ec&65024)||35072==(ec&65280)?(a.K=Zi,gk(Xd,2)):2048==(ec&65024)&&(Kk(a,Xd),a.K=
Zi);a.K?(a.zb(a.b,Xd,!0),zk(a)||(a.J&&Ae(a.J),a.K=0)):dl(a,Yi?"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 Xc=+g[2];if(8==Xc||10==Xc||16==Xc)a.W=Xc;else{a.v("invalid base: "+Xc);break}}a.v("default base: "+a.W);break;case "cs":var Yc;void 0!==g[3]&&(Yc=+g[3]);switch(g[2]){case "int":a.f.Kb=Yc;break;case "start":a.f.mc=Yc;break;case "stop":a.f.Ob=Yc;break;default:a.v("unknown cs option");break a}void 0!==Yc&&se(a.f);
a.v("checksums "+(a.f.A.Lb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(xe(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.vb.toFixed(2)+"Mhz")+" ("+a.f.kb+"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":dl(a,g[0],g[1]);break;case "u":Dk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){al(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Qb||"PDP11")+" version 1.37.1 ("+a.f.ja+",RELEASE"+(Sb?",TYPEDARRAYS":Rb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){cl(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in gl)Af+="\n"+Fa(Bf,9)+gl[Bf];Df(a)||(Af+="\nnote: history disabled if no exec breakpoints");
a.v(Af);break;default:f=!0}f&&(a.v("unknown command: "+b),d=!1)}}catch(aj){a.v("debugger error: "+(aj.stack||aj.message)),d=!1}return d}function ve(a,b,c){b=Jj(a,b,c);for(var d in b)if(!Jk(a,b[+d]))return!1;return!0}
var gl={"?":"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(" "),
nk=20,ok=21,pk=22,qk=23,rk=24,sk=25,tk=26,uk=27,lk=28,vk=29,wk=30,jk={SP:6,PC:7,PS:nk,PI:ok,ER:pk,SL:qk,M0:rk,M1:sk,M2:tk,M3:uk,AR:lk,DR:vk,SR:wk},mk="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),fl="KI KD SI SD ?? ?? UI UD".split(" "),Tk=7,Uk=56,Z=Uk|Tk,Sk=4032,Y=4096,Ok=8192,Pk=12288,Qk=24576,Rk=32768,Nk=61440,Zj={61440:{4096:[62,Sk,Z],8192:[47,Sk,Z],12288:[18,Sk,Z],16384:[14,Sk,Z],20480:[16,Sk,Z],24576:[3,Sk,Z],36864:[63,Sk,Z],40960:[48,
Sk,Z],45056:[19,Sk,Z],49152:[15,Sk,Z],53248:[17,Sk,Z],57344:[94,Sk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,Ok]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Rk],35072:[107,Rk]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
2816:[67,Z],2880:[1,Z],2944:[77,Z],3008:[97,Z],3072:[73,Z],3136:[71,Z],3200:[6,Z],3264:[4,Z],3328:[58,Qk],3392:[60,Z],3456:[65,Z],3520:[96,Z],35328:[40,Z],35392:[50,Z],35456:[54,Z],35520:[52,Z],35584:[68,Z],35648:[2,Z],35712:[78,Z],35776:[98,Z],35840:[74,Z],35904:[72,Z],35968:[7,Z],36032:[5,Z],36096:[66,Z],36160:[59,Z],36224:[64,Z],36288:[61,Z]},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],dk=[58,60,65,96,110,100,101,102,103,104,105],ek=[108,59,64],yk=1E3,Bk=">> ";db(function(){for(var a=A(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c);d=new Vj(d);ub(d,c)}});
function hl(a,b,c){x.call(this,"Computer",a,33554432);this.A.ca=!1;this.P=null;il(this,b);this.M=qe(this,"autoPower",a,6);this.j=0;this.U=+a.busWidth||+a.buswidth;this.I=this.B=this.K=null;this.G=this.S=!1;this.C=this.u=null;this.R=this.N=this.O=!1;this.X=qe(this,"url")||"";(Math.random()+.1).toString(36);this.g=jl(this);if(this.f=Db("CPU",this.id)){this.D=Db("Debugger",this.id);this.F=new $c({id:this.tb+".bus",busWidth:this.U},this.f,this.D);var d=wb(this.id);if(this.w=(this.i=Db("Panel",this.id))&&
this.i.H.print)for(b=0;b<d.length;b++){var e=d[b];e.T=this.i.T;e.print=this.i.print;e.v=this.i.v}this.v(Qb+" v1.37.1\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<d.length;b++)e=d[b],e.Aa&&e.Aa(this,this.F,this.f,this.D);b=null;e=qe(this,"resume",a);void 0!==e&&(1<e.length?b=this.B=e:this.b=parseInt(e,
10));var f;if(a=qe(this,"state")||(f=!0,a.state))this.K=b=a,f||(this.G=!0,this.b=kl),this.b&&(this.C=new G(this,"1.37.1"),ll(this.C)?b=null:delete this.C);!b&&this.b&&(b=ml(this))&&(this.G=!0);if(b){var g=this;Na(b,null,!0,function(a,b,c){c?(g.B=null,g.G=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.I=b,g.S=!0);D(g)})}else D(this);this.H.power||(this.M=!0);!c&&this.M&&this.vc(this.pc)}else w("Unable to find CPU component")}q(hl,x);
function il(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.P=b}function qe(a,b,c,d){var e=b.toLowerCase();e=Va(b)||Va(e);void 0===e&&a.P&&(e=a.P[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=hl.prototype;
h.vc=function(a,b){for(var c=this,d=wb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Mb(f)){Mb(f,function(){c.vc(a,b)});return}}a.call(this,b)};function nl(a,b){var c=new G(a,"1.37.1",ol);if(ll(c)&&pl(c)){var d=c.get(ql),e=b?b.get(ql):"unknown";d!=e&&(a.T("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.pc=function(a){void 0===a&&(a=this.b||(this.I?rl:kl));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.C||new G(this,"1.37.1");if(a==sl)b=!0;else if(a>kl){if(ll(d,this.I)){this.u=new G(this,"1.37.1",tl);ll(this.u)&&(ul(this,d),a=vl,wl(this.u));this.u.set(ql,Ja());xl(this.u);var e=this.b&&!this.G;if(a==rl||sb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=pl(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ll(d,g):("error"==f&&"no machine state"!=
g?(this.T("Error: "+g),"unable to verify user"==g&&(Ta(yl,""),this.g=null)):this.v(f+": "+g),wl(d),ll(d)?(c=pl(d),e=!0):c=!1))}e&&nl(this,c?d:null)}else a==vl&&d.clear()}else nl(this);delete this.I;delete this.C}e=wb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=zl(this,g,d,b,c));b=[d,a,c];a!=sl?this.vc(this.oe,b):this.oe(b)}};
function zl(a,b,c,d,e){if(!b.A.ca){b.A.ca=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.Ca(f,d)&&f&&(w("Unable to restore state for "+b.type),a.K&&!a.S?(c.clear(),a.b=kl,window&&window.location.reload()):a.O=!0,b.Ca(null),e=!1),!d&&b.Ud){var g=b.Ud.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){w("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.oe=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.ca=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(zl(this,this.f,b,c,a),Ic(this,-2),this.f.qa());this.O&&(ul(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function ul(a,b){if(sb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.g||"";b=b.toString();var d={};d.app=Qb;d.ver="1.37.1";d.url=c;d.user=a;d.type="bug";d.data=b;Na("http://www.pcjs.org/api/v1/report",d,!0)}}
function el(a,b,c){var d="none";if(a.j)return null;a.j--;var e=new G(a,"1.37.1"),f=new G(a,"1.37.1",ol),g=Ja();f.set(ql,g);e.set(ql,g);e.set(Al,"1.37.1");e.set(Bl,window?window.location.href:null);e.set(Cl,window?window.navigator.userAgent:"");if(a.f&&a.f.Ba){c&&(b&&(a.f.A.qa=a.f.A.V),H(a.f));var k=a.f.Ba(b,c);"object"===typeof k&&e.set(a.f.id,k);c&&(a.f.A.ca=!1,!1===k&&(d=null))}g=wb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.A.ca&&(m.Ba&&(k=m.Ba(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.A.ca=
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.g&&Fl(a,a.g,e.toString()),xl(f)&&xl(e)||(d=null,k=g=!0)):a.b&&(k=!0,g=a.b==Pl),k&&e.clear(g)):d=e.toString());c&&(a.A.ca=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return d}
h.reset=function(){this.A.reset=!0;this.F&&this.F.reset&&(F(this,"Resetting "+this.F.type),this.F.reset());this.f&&this.f.reset&&(F(this,"Resetting "+this.f.type),this.f.reset());for(var a=wb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c!==this.f&&c.reset&&(F(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;Ic(this,-1)};h.start=function(a,b){for(var c=wb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Ic(this,-1)};
h.stop=function(a,b){for(var c=wb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Ic(this,-1)};
function Ic(a,b){if(a.f){var c=a.f,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.Zc+=d))&&(e.textContent=c.A.V?c.ub.toFixed(2)+"Mhz":"Stopped",c.Zc=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)wc(a,"R"+e,a.f.g[e]);e=Kd(a.f);wc(a,"PS",e);wc(a,"NF",e&8?1:0,1);wc(a,"ZF",e&4?1:0,1);wc(a,"VF",e&2?1:0,1);wc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.fa=a.f.g[7]:0<b&&c&&!d&&(a.fa=a.f.gb);sc(a,a.fa);jc(a,a.Cb);b=a.f;b=b.wb?b.X&16?1:2:4;Oc(a,"B22",b&1);Oc(a,"B18",b&2);
Oc(a,"B16",b&4)}}
h.va=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ca?el(d,!1,!0):d.vc(d.pc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ca&&!d.j)if(d.b&&!d.B){var a=sb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");el(d,a,!0);!a&&d.K?window&&window.location.reload():(a||(d.N=!0),d.pc(kl),d.N=!1)}else d.reset(),d.f&&!d.D&&d.f.qa()},!0;case "save":if(Ba(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.H[b]=c,c.onclick=function(){var a=jl(d,!0);if(a){var b=!!(d.b&&!d.B||d.K),c=el(d,b);b?Fl(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
function jl(a,b){var c=a.g;c||((c=Sa(yl),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.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
function Ql(a,b){a.g=null;b=Na(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(yl,b.data),a.g=b.data)}catch(d){w(d.message+" ("+c+")")}return a.g}function ml(a){var b=null;a.g&&(b=Pa()+"/api/v1/user?req=load&user="+a.g+"&state="+Rl(a,"1.37.1"));return b}
function Fl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Rl(a,"1.37.1");d.data=c;b=Na(Pa()+"/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.T("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.T(c),Ta(yl,""),a.g=null)}}
function $h(a){var b;a=wb(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 Ae(a,b){if(a.w){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.w.focus();!b&&window&&window.scrollTo(c,d)}}var tl="failsafe",ol="validate",ql="timestamp",Al="version",Bl="url",Cl="browser",yl="user",sl=-1,kl=0,rl=1,vl=2,Pl=3;
db(function(){for(var a=A(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=vb(c);c=A(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=vb(f);g=new hl(g,d,!0);ub(g,f);g.M&&g.vc(g.pc)}}});eb.show.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!1,c.R&&!c.A.ca&&c.pc(sl)}});
eb.exit.push(function(){for(var a=A(document,y,"computer"),b=0;b<a.length;b++){var c=vb(a[b]);if(c=Db("Computer",c.id))c.A.Hd=!0,c.A.ca&&el(c,!(!c.b||c.B),!0)}});function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Rl(a,b,c);wl(this,a.wf)}h=G.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 ll(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:Qa()&&(b=Sa(a.key))?(a.b=b,a.g=!0):!1}
function pl(a){var b=!0;if(!a.D)try{a.f=JSON.parse(a.b),a.D=!0}catch(c){w(c.message||c),b=!1}return b}function xl(a){var b=!0;if(Qa()){var c=JSON.stringify(a.f);Ta(a.key,c)||(w("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 wl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
h.clear=function(a){wl(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,g){f("Loading "+a+"...");Na(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Ul(l,a,b,c,d,e,f,g)})}
function Ul(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
"$1PDPjs$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Vl(a,g,l):l(a,null):k("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+"...");Na(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/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?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,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=Ca(a))}function g(a){f("Error: "+a);m&&(--Sl||hb(!0));m=!1}var k,l,m=!0;Sl++;qb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n));t.appendChild(r)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.1/components.xsl");n=function(e,l){l?Tl(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Sl||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Sl||
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Tl(c,b,a,e,!0,f,n):Ul(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(p){g(p.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return Wl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Wl("pdp11",a,b,c,d)};
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Fb[c],d=!0;else if("string"==typeof f&&!Fb[c]){d=!0;e=Fb;for(var g=c,k=f.length,l=[],m=[],n="",t=null,r=0;r<k;r++){var p=f[r];if('"'==p||"'"==p)t&&p!=t?n+=p:(t?t=null:t=p,n&&(m.push(n),n=""));else{if(!t){if("\r"==p||"\n"==p)p=";";if(" "==p||"\t"==p||";"==p){n&&(m.push(n),n="");";"==p&&m.length&&(l.push(m),m=[]);continue}}n+=p}}n&&m.push(n);m.length&&l.push(m);e[g]=l;Eb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(g=Db(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=hb;window.sendEvent=jb;})();//# sourceMappingURL=/versions/pdpjs/1.37.1/pdp11-dbg.map

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,308 @@
(function(){/*
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rx11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2017
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/shared/lib/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){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
function ea(){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 fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ia(a){ea();ca();ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)}
var ja="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ka;if("function"==typeof Object.setPrototypeOf)ka=Object.setPrototypeOf;else{var la;a:{var ma={Dd:!0},na={};try{na.__proto__=ma;la=na.Dd;break a}catch(a){}la=!1}ka=la?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var pa=ka;
function p(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;if(pa)pa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Zj=b.prototype}function qa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
qa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});qa("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});
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],10653696:[306,4,17],21411840:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},sa={Rh:0,Vd:1,Yh:2,Zh:3,$h:4,ai:5,bi:6,ci:7,ld:8,di:9,Wd:10,ei:11,fi:12,Xd:13,gi:14,hi:15,ii:16,ji:17,ki:18,li:19,mi:20,ni:21,oi:22,pi:23,ri:24,si:25,ti: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,jd:65,Nh:66,Th:67,ui:68,E:69,Ai:70,Di:71,Pi:72,Ri:73,Si:74,Ti:75,Ui:76,Xi:77,Zi:78,ej:79,hj:80,Q:81,jj:82,mj:83,vj:84,xj:85,zj:86,Aj:87,Ej:88,Fj:89,Me:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Dd:97,Hj:98,Kj:99,d:100,e:101,Lj:102,Mj:103,Nj:104,Oj:105,Tj:106,k:107,Uj:108,Vj:109,n:110,Wj:111,p:112,q:113,r:114,Xj:115,t:116,$j:117,
ak:118,bk:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ab:127};
function ta(a,b){if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&
(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return g}
function ua(a,b,c,d){var e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var k=a%b;k+=0<=k&&9>=k?48:55;f=String.fromCharCode(k)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function va(a,b){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return ua(a,8,b,"")}
function wa(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return ua(a,16,b,c?"0x":"")}function xa(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 ya(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}
function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Da={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 Ea(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=Fa[a.getDay()].substr(0,3);break;case "F":b+=Ga[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=Fa[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
break;case "M":b+=Ga[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var Fa="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Ga="January February March April May June July August September October November December".split(" ");
function Ha(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var 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 Ia(a,b){var c,d={L:null,ia:null,ea:null,da:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ea=g.load;d.da=g.exec;if(e=g.bytes)d.L=e;else if(e=g.words)for(d.L=Array(2*e.length),f=c=0;c<e.length;c++)d.L[f++]=e[c]&255,d.L[f++]=e[c]>>8&255;else if(e=g.longs)for(d.L=Array(4*e.length),f=c=0;c<e.length;c++)d.L[f++]=
e[c]&255,d.L[f++]=e[c]>>8&255,d.L[f++]=e[c]>>16&255,d.L[f++]=e[c]>>24&255;else(e=g.data)?d.Gj=e:d.L=g;d.L&&(d.L.length?1==d.L.length&&(r(d.L[0]),d=null):(r("Empty resource: "+a),d=null));d.ia=g.symbols}catch(k){r("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)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.L=e)}return d}
function Ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ka(){if(null==La){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}La=a}return La}function Ma(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
function Na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Oa(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 Pa(a){if(!Qa){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," "))}Qa=c}return Qa[a]||Qa[a.toLowerCase()]}function Ra(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Sa(a){Ta.init.push(a)}
function Va(a){if(Wa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Xa(a){!Wa&&a?(Wa=!0,Ya&&Za("init"),$a&&Za("show")):Wa=a}function Za(a){Ta[a]&&Va(Ta[a])}var Qa=null,Ta={init:[],show:[],exit:[]},Ya=!1,$a=!1,Wa=!0,La=null;Ra("onload",function(){Ya=!0;Va(Ta.init)});Ra("onpageshow",function(){$a=!0;Va(Ta.show)});
Ra(Oa("iOS")?"onpagehide":Oa("Opera")?"onunload":"onbeforeunload",function(){Va(Ta.exit)});function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qd=b.comment;this.Ke=b;this.exports={};this.o=this.bindings={};a=this.id.indexOf(".");0>a?this.qc=this.id:(this.Ua=this.id.substr(0,a),this.qc=this.id.substr(a+1));this.j={ready:!1,Ra:!1,Xc:!1,Sj:!1,S:!1,fd:!1,error:!1};this.gc=null;this.j.error=!1;this.pd=c||0;this.D=this.c=this.v=this.A=null;w.push(this)}
function ab(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function cb(){return Date.now()||+new Date}function r(a){window&&window.alert(a)}function db(a){var b=!1;window&&(b=window.confirm(a));return b}function eb(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
function x(a,b){var c=y;b=z(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=A(g))&&k.binding&&a.ma(k.type,k.binding,g,k.value),m=l.length}}}}function fb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function gb(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null}function hb(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function z(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function ib(a){for(var b=!0,c=jb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=kb.indexOf(e)&&(f=function(){return function(){ib(a)}}());var g=lb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{b=!1;var k=hb(d[1],a);if(k)if(g=mb[e])b=g(k,d[2],d[3]);else{var l=k.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(k,d[2],d[3]);else if(!g.call(k,f,d[2],d[3]))break}}if(!b){r("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete jb[a];return b}h=t.prototype;
h.toString=function(){return this.name?this.name:this.id||this.type};
h.ma=function(a,b,c){switch(b){case "clear":return this.o[b]||(this.o[b]=c,c.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[b]||(this.o[b]=c,this.G=function(a){this.aa(a,this.type);return!0},c.value="",this.print=function(a){return function(b){eb(a,b)}}(c),this.aa=function(a,b){return function(a,c){a||(a="");if(c!=nb||"..."!=a.slice(-3))c&&(a=c+": "+a),eb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+
".")+c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};h.log=function(){};h.print=function(){};h.aa=function(){};h.status=function(a){this.aa(this.type+": "+a)};h.G=function(a,b,c){if(!b){var d=hb("Computer",this.id);if(d&&d.j.fd)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||r((c?c+": ":"")+a);return!0};function ob(a,b){b&&(a.j.ready?b():a.gc=b);return a.j.ready}
function B(a,b){a.j.error||(a.j.ready=!1!==b,a.j.ready&&(b=a.gc,a.gc=null,b&&b()))}function pb(a,b){a.j.Xc?(a.j.Ra=!1,a.j.Xc=!1):a.j.error?a.aa(a.toString()+" error"):a.j.Ra=b}h.la=function(){return this.j.S=!0};h.ka=function(a,b){b&&(this.j.S=!1);return!0};var nb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var bb=window?window.PCjs.Machines:{},w=window?window.PCjs.Components:[],jb=window?window.PCjs.Commands:{},kb=["hold","sleep","wait"],lb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},mb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var qb="undefined"!==typeof ArrayBuffer,y="pdp11",rb="PDPjs",sb=!0,tb=!0,C={Rc:5,Vc:144,Bc:8,$b:{De:15,nj:16,Dj:32,xd:64,ha:128,Bd:256,rj:512,yi:1024,Zb:2048,xi:4096,Mc:57344,V:{Mc:13}},re:{Cd:1,Xh:2,Ee:3,gb:28,Yb:32,Xb:64,rd:128,wj:256,Yd:512,Cb:1024,ij:2048,Ad:4096,Bj:8192,gj:16384,Zd:32768,Hc:32736},pe:{Bb:1,ca:14,fb:48,eb:64,za:128,uj:256,zi:512,Bi:1024,fe:2048,Tc:8192,Hc:16384,Ja:32768,gb:4608,Db:61438,va:3967,V:{ca:1,fb:4}},qe:{Sc:15,Kc:16,zb:8160,Ta:57344,V:{Kc:4,zb:5,Ta:13}},ca:{Ud:0,Fb:2,
Va:4,Wc:6,cc:8,je:10,$d:12,Cj:14}},D={Rc:5,Vc:112,Bc:4,ie:"DY",we:{ha:1,ca:14,ya:48,eb:64,za:128,Ta:768,md:15360,wi:16384,Ja:32768,Uh:16254,qj:128,Db:65535,va:1022,V:{ca:1,ya:4,Ta:8}},ue:{va:65534},xe:{Fe:1,Ge:4,He:16,oj:65408,yd:63,bc:64,Eb:65408,be:3,Ii:8,V:{bc:6,Eb:7}},ac:{ee:{Vi:0,tj:1,Sh:2,Wi:3,cc:4,ge:5,yj:6,sj:7},nd:8,de:16,Fi:32,Hi:64,ce:128,Gi:256,Li:512,Ni:1024,Ki:2048,Ji:4096,Oi:8192,Ei:16384,Mi:32768},ve:{Fa:63},md:{fj:1024,vi:2048,Cd:2048,Qi:3072,Yd:4096,Ba:5120,Cb:8192,Yi:9216},ca:{$i:0,
Wc:2,Ie:4,cc:6,ne:8,Le:10,ke:12,kj:14}},ub={Rc:5,Vc:180,Bc:2,ie:"DX",ze:{Bb:1,ca:14,Uc:16,DONE:32,eb:64,Ga:128,INIT:16384,Ja:32768,gb:16128,Db:32992,va:16479},lj:{},Ce:{Fa:127},Be:{Fa:31},Ae:{kd:1,ud:2,Mc:4,Ab:64,ha:128},ca:{Ec:0,EMPTY:2,Fb:4,Va:6,gb:8,me:10,dc:12,le:14},ae:{Ic:8,Jc:16,Oh:24,he:32,Ci:40,pj:48,Qc:56,dj:72,cj:80,bj:88,Wh:96,Qh:104,aj:112,Pc:120,Vh:128,Ph:136}},vb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11",180:"RX11"};
ub.ye=["DX",77,1,26,128,1,0,0,128,0];C.Zb=["RK",203,2,12,512,0,0,0,512,C.$b.Zb|C.$b.Bd|C.$b.xd];D.se=["RL",512,2,40,256,0,0,0,256,D.ac.ee.ge|D.ac.nd|D.ac.de];y="pdp11";rb="PDPjs";tb=sb=!0;
function wb(a,b){t.call(this,"Panel",a,512);this.i=this.l=0;this.F=b;this.U=this.g=this.f=this.b=0;this.s=this.u=-1;this.w=this.B=this.m=!1;this.C=xb;this.h={};this.a={START:[1,1,!0,!1,this.jf],STEP:[1,1,!1,!1,this.kf],ENABLE:[1,1,!1,!1,this.df],CONT:[1,1,!0,!1,this.bf],DEP:[0,0,!0,!1,this.cf],EXAM:[1,1,!0,!1,this.ef],LOAD:[1,1,!0,!1,this.gf],TEST:[0,0,!0,!1,this.ff]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hf,a];this.D=this.c=this.v=this.A=null;this.exports={hold:this.Ye,toggle:this.Dg,reset:this.wg,
set:this.Bg};B(this)}p(wb,t);h=wb.prototype;h.reset=function(a){this.stop();a&&yb(this,this.b=0)};
h.ma=function(a,b,c,d){if(this.A&&this.A.ma(a,b,c,d)||this.c&&this.c.ma(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.o[b]=c,this.l++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.h[b]=d?1:0,this.l++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){zb(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ab(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(){Ab(a,b)}}(this,b),!0):t.prototype.ma.call(this,a,b,c,d)}};h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;Bb(b,this,Cb);Db(b,this.reset.bind(this));Eb(this);Fb(this)};h.la=function(a,b){if(!b)if(this.F&&Gb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};
h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a.set(0,[this.U,this.b,this.f]);return a.data()};h.restore=function(a){if(a=a[0])Hb(this,this.U=a[0]),yb(this,this.b=a[1]),Ib(this,a[2]);return!0};h.wg=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}Fb(this);return!0};function Jb(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Eb(a,b){for(var c in a.h)Jb(a,c,null!=b?b:a.h[c])}
function Kb(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Fb(a){for(var b in a.a)Kb(a,b,a.a[b][1])}function Lb(a,b,c,d){if(a.o[b]){var e=a.D&&a.D.h||8;c=c||0;c=8==e?va(c,d):wa(c,d);a.o[b].textContent!=c&&(a.o[b].textContent=c)}}h.Ye=function(a,b,c){if(zb(this,b)){if(c){var d=this;setTimeout(function(){Ab(d,b);a&&a()},+c);return!1}Ab(this,b)}return!0};
h.Bg=function(a,b){if("SR"==a)return Ib(this,ta(b,8));var c=this.a[a];return c?(c[1]=+b?1:0,Kb(this,a,c[1]),!0):!1};h.Dg=function(a){return zb(this,a)?(Ab(this,a),!0):!1};function zb(a,b){var c=a.a[b];return c?(Kb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Mb&&(a.w=b==Nb,a.B=b==Ob),!0):!1}function Ab(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(Kb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
h.jf=function(a){a||this.c.j.N||(F(this.c,this.U),a=this.c,a.v.reset(),Pb(a),this.a[Qb]&&this.a[Qb][1]&&Rb(this.c))};h.kf=function(){};h.df=function(a){a||G(this.c)};
h.bf=function(a){if(!a&&!this.c.j.N)if(this.a[Qb]&&this.a[Qb][1])Rb(this.c);else{a=this.D;var b;if(b=a)a.j.Ra&&(a.j.Xc=!0),b=!a.j.Ra;if(b)pb(a,!0),a.f(0,null),pb(a,!1);else try{var c=this.c.zc(1);0<c&&(Sb(this.c,c),Tb(this.c,c,!0),Ub(this.c,c))}catch(d){"number"!=typeof d&&(a=d,c=this.c,a=a.stack||a.message,c.j.error=!0,c.G(a))}this.stop();this.A&&Vb(this.A)}};
h.cf=function(a){if(a&&!this.c.j.N)if(this.w&&Wb(this),a=yb(this,this.b=this.f),this.C==xb)Xb(this.v,this.U,a);else{var b=this.c,c=this.U;b.nb++;b.v.Wb(Yb(b,c,4),a);b.nb--}};h.ef=function(a){if(!a&&!this.c.j.N){this.B&&Wb(this);if(this.C==xb)a=Zb(this.v,this.U);else{a=this.c;var b=this.U;a.nb++;b=a.v.Vb(Yb(a,b,2));a.nb--;a=b}yb(this,this.b=a)}};h.gf=function(a){a||this.c.j.N||Hb(this,this.f)};h.ff=function(a){a?(this.m=!0,Eb(this,!0)):(this.m=!1,Eb(this),Ib(this,0))};
h.hf=function(a,b){this.f=a?this.f|1<<b:this.f&~(1<<b)};function Wb(a){var b=1140>=a.c.sa?8:16,c=65472<=a.U&&a.U<65472+b;b=c?1:2;c=c?15:a.v.u;a.a[Mb]&&a.a[Mb][1]||(b=-b);Hb(a,a.U&~c|a.U+b&c)}function Hb(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++)$b(a,"A"+c,b&1<<c)}}function yb(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++)$b(a,"D"+c,b&1<<c)}return a.g}function $b(a,b,c){a.h[b]=c;a.m||Jb(a,b,c)}
function Ib(a,b){a.f=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.f&1<<b?1:0;Fb(a);return!0}h.stop=function(){Hb(this,this.c.b[7])};h.setData=function(a,b){b?this.b=a:this.g=a};h.qf=function(a,b){return(b?this.b:this.f)&65535};h.Jg=function(a){this.b=a};function Gb(){for(var a=z(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=gb(d.id);e||(e=new wb(d,!0));x(e,c)}}var xb=7,Nb="DEP",Qb="ENABLE",Ob="EXAM",Mb="STEP",ac={},Cb=(ac[65400]=[null,null,wb.prototype.qf,wb.prototype.Jg,"CNSW"],ac);Sa(Gb);
function bc(a,b,c){t.call(this,"Bus",a,16);this.c=b;this.D=c;this.O=+a.busWidth||16;this.C=1<<this.O;this.u=this.C-1;this.g=cc;this.h=Math.log2(this.g);this.J=this.g>>2;this.f=this.g-1;this.s=this.C/this.g|0;this.K=this.s-1;this.Qa=[];this.l=0;this.m=!1;this.F=[];this.Ne=[dc,ec,fc,gc];this.a=this.b=[];this.B=this.w=this.i=this.H=this.I=0;a=new H(this);hc(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.B=this.C-cc;ic(this,this.B,cc,jc,this);this.I=this.H=
(this.B&this.u)>>>this.h;this.w=0;this.i=this.u;B(this)}p(bc,t);function kc(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-=cc,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=bc.prototype;h.reset=function(){for(var a=0;a<this.F.length;a++)this.F[a]();kc(this,16)};h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a.set(0,lc(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.J){for(var e=0,f=Array(this.J),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)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function ic(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,n=a.g-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.ab)return l.Rb+=l.ab-f,l.ab=f,!0;if(f>=l.ab+l.Rb){n=l.size-(f-m);n>g&&(n=g);l.Rb=f-l.ab+n;f=m+a.g;g-=n;k++;continue}}return mc(nc,f,g)}f=new H(a,f,n,a.g,d,e);hc(f,l);a.a[k++]=f;f=m+a.g;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+oc[d]+" at "+va(b)),!0):mc(pc,b,c)}h.Sd=function(a){return this.b[(a&this.i)>>>this.h].rb(a&this.f,a)};
h.Vb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return tb||b!=this.f?this.b[c].W(b,a):this.b[c++].rb(b,a)|this.b[c&this.K].rb(0,a+1)<<8};h.Td=function(a,b){this.b[(a&this.i)>>>this.h].vb(a&this.f,b,a)};h.Wb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;tb||c!=this.f?this.b[d].yb(c,b,a):(this.b[d++].vb(c,b&255,a),this.b[d&this.K].vb(0,b>>8&255,a+1))};function qc(a,b){return a.a[(b&a.u)>>>a.h]}
function Zb(a,b){var c;a.m=!1;a.l++;var d=b&a.f,e=qc(a,b);tb||d!=a.f?c=e.D(d,b):c=e.i(d,b)|qc(a,b+1).i(0,b+1)<<8;a.l--;return c}function rc(a,b,c){a.m=!1;a.l++;qc(a,b).o(b&a.f,c&255,b);a.l--}function Xb(a,b,c){a.m=!1;a.l++;var d=b&a.f,e=qc(a,b);tb||d!=a.f?e.l(d,c&65535,b):(e.o(d,c&255,b),qc(a,b+1).o(0,c>>8&255,b+1));a.l--}
function lc(a){for(var b=0,c=[],d=0;d<a.s;d++){var e=a.a[d];if(e.Ha||e.Ue){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 sc(a){for(var b=tc,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.ab+e.Rb)}return c}
function uc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&vc;if(void 0!==a.Qa[n])return r("I/O address already registered: "+wa(b,8,!0)),!1;var q=l||"unknown";q&&0<=m&&(q+=m++);a.Qa[n]=[d,e,f,g,q,k||16,!1]}return!0}
function Bb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.sa)){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 q=g[4],v=g[5]||1,u=0;u<v;u++,f+=2)if(q&&1<v&&(q=g[4]+u),!uc(a,f,f,k,l,m,n,g[7]||b.pd,q||b.qc))return!1}}return!0}
function Db(a,b){a.F.push(b)}function I(a,b,c){a.m=!0;a.l||(c&&(a.c.F|=c),J(a.c,4,0,b))}function wc(a){var b=a.m;a.m=!1;return b}function mc(a,b,c){r("Memory block error ("+a+": "+wa(b)+","+wa(c)+")");return!1}var cc=8192,vc=cc-1,nc=1,pc=2;function dc(a,b){var c=-1,d=this.controller,e=d.Qa[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.Qa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255}
function ec(a,b,c){var d=!1,e=this.controller,f=e.Qa[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.Qa[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||I(e,c,16)}function fc(a,b){var c=-1,d=this.controller;a=d.Qa[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;I(d,b,16);return 65535}
function gc(a,b,c){var d=!1,e=this.controller;a=e.Qa[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||I(e,c,16)}function K(a){t.call(this,"Device",a,256);this.a={Ia:128,ed:-1}}p(K,t);h=K.prototype;h.ja=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.ed=xc(c,function(){e.a.Ia|=128;e.a.Ia&64&&yc(e.c,e.a.qa);e.A&&Vb(e.A,1);zc(e.c,e.a.ed,1E3/60)});this.a.qa=Ac(c,64,6,2097152);Bb(b,this,Bc);Db(b,this.reset.bind(this));B(this)};
h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a.Ia=128;zc(this.c,this.a.ed,1E3/60,!0)};h.save=function(){var a=new E(this);a.set(0,[this.a.Ia]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.Ia=a.next().value;return!0};h.xf=function(){return this.a.Ia};h.Qg=function(a){this.a.Ia=a&192;this.a.Ia&64||(a=this.a.qa)&&Dc(this.c,a)};h.zf=function(){return Ec(this.c)};
h.Sg=function(a){Fc(this.c,a&-129|this.c.J&128)};h.Af=function(){return Gc(this.c)};h.Bf=function(){return Hc(this.c)};h.Cf=function(){return this.c.ta};h.Tg=function(a){Ic(this.c,a)};h.ng=function(a){a=a>>1&63;var b=this.c.Pa[a>>1];return a&1?b>>16:b&65535};h.Fh=function(a,b){b=b>>1&63;var c=b>>1;this.c.Pa[c]=b&1?this.c.Pa[c]&65535|(a&63)<<16:this.c.Pa[c]&-65536|a&65534};h.gg=function(a){return this.c.s[1][a>>1&7]};h.yh=function(a,b){this.c.s[1][b>>1&7]=a&65295};
h.eg=function(a){return this.c.s[1][(a>>1&7)+8]};h.wh=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.fg=function(a){return this.c.H[1][a>>1&7]};h.xh=function(a,b){b=b>>1&7;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.dg=function(a){return this.c.H[1][(a>>1&7)+8]};h.vh=function(a,b){b=(b>>1&7)+8;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.wf=function(a){return this.c.s[0][a>>1&7]};h.Pg=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.uf=function(a){return this.c.s[0][(a>>1&7)+8]};
h.Ng=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.vf=function(a){return this.c.H[0][a>>1&7]};h.Og=function(a,b){b=b>>1&7;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.tf=function(a){return this.c.H[0][(a>>1&7)+8]};h.Mg=function(a,b){b=(b>>1&7)+8;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.mg=function(a){return this.c.s[3][a>>1&7]};h.Eh=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.kg=function(a){return this.c.s[3][(a>>1&7)+8]};h.Ch=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295};
h.lg=function(a){return this.c.H[3][a>>1&7]};h.Dh=function(a,b){b=b>>1&7;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.jg=function(a){return this.c.H[3][(a>>1&7)+8]};h.Bh=function(a,b){b=(b>>1&7)+8;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.tb=function(a){a&=7;return this.c.i&2048?this.c.ua[a]:this.c.b[a]};h.wb=function(a,b){b&=7;this.c.i&2048?this.c.ua[b]=a:this.c.b[b]=a};h.Jf=function(){return this.c.i&49152?this.c.ga[0]:this.c.b[6]};h.$g=function(a){this.c.i&49152?this.c.ga[0]=a:this.c.b[6]=a};
h.Mf=function(){return this.c.b[7]};h.dh=function(a){this.c.b[7]=a};h.ub=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ua[a]};h.xb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ua[b]=a};h.Kf=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.ga[1]};h.ah=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ga[1]=a};h.Lf=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.ga[3]};h.bh=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ga[3]=a};
h.sf=function(a){return this.c.Pb[a-65504>>1]};h.Lg=function(a,b){this.c.Pb[b-65504>>1]=a};h.Nd=function(a){return 65520==a?(sc(this.v)>>6)-1:0};h.Qd=function(){};h.ig=function(){return 1};h.Ah=function(){};h.rf=function(){return this.c.F};h.Kg=function(){this.c.F=0};h.yf=function(){return this.c.Mb};h.Rg=function(a,b){b&1||(a&=255);this.c.Mb=a};h.Df=function(a,b){return b?0:this.c.$a};h.Ug=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.$a=a};
h.hg=function(a,b){return b?0:this.c.Oa&65280};h.zh=function(a){this.c.Oa=a|255};h.If=function(){return Jc(this.c)};h.Zg=function(a){Kc(this.c,a)};h.Pd=function(){};
var L={},Bc=(L[61568]=[null,null,K.prototype.ng,K.prototype.Fh,"UNIMAP",64,1170],L[62592]=[null,null,K.prototype.gg,K.prototype.yh,"SIPDR",8,1145,64],L[62608]=[null,null,K.prototype.eg,K.prototype.wh,"SDPDR",8,1145,64],L[62624]=[null,null,K.prototype.fg,K.prototype.xh,"SIPAR",8,1145,64],L[62640]=[null,null,K.prototype.dg,K.prototype.vh,"SDPAR",8,1145,64],L[62656]=[null,null,K.prototype.wf,K.prototype.Pg,"KIPDR",8,1140,64],L[62672]=[null,null,K.prototype.uf,K.prototype.Ng,"KDPDR",8,1145,64],L[62688]=
[null,null,K.prototype.vf,K.prototype.Og,"KIPAR",8,1140,64],L[62704]=[null,null,K.prototype.tf,K.prototype.Mg,"KDPAR",8,1145,64],L[62798]=[null,null,K.prototype.Cf,K.prototype.Tg,"MMR3",1,1145,64],L[65382]=[null,null,K.prototype.xf,K.prototype.Qg,"LKS"],L[65402]=[null,null,K.prototype.zf,K.prototype.Sg,"MMR0",1,1140,64],L[65404]=[null,null,K.prototype.Af,K.prototype.Pd,"MMR1",1,1145,64],L[65406]=[null,null,K.prototype.Bf,K.prototype.Pd,"MMR2",1,1140,64],L[65408]=[null,null,K.prototype.mg,K.prototype.Eh,
"UIPDR",8,1140,64],L[65424]=[null,null,K.prototype.kg,K.prototype.Ch,"UDPDR",8,1145,64],L[65440]=[null,null,K.prototype.lg,K.prototype.Dh,"UIPAR",8,1140,64],L[65456]=[null,null,K.prototype.jg,K.prototype.Bh,"UDPAR",8,1145,64],L[65472]=[null,null,K.prototype.tb,K.prototype.wb,"R0SET0"],L[65473]=[null,null,K.prototype.tb,K.prototype.wb,"R1SET0"],L[65474]=[null,null,K.prototype.tb,K.prototype.wb,"R2SET0"],L[65475]=[null,null,K.prototype.tb,K.prototype.wb,"R3SET0"],L[65476]=[null,null,K.prototype.tb,
K.prototype.wb,"R4SET0"],L[65477]=[null,null,K.prototype.tb,K.prototype.wb,"R5SET0"],L[65478]=[null,null,K.prototype.Jf,K.prototype.$g,"R6KERNEL"],L[65479]=[null,null,K.prototype.Mf,K.prototype.dh,"R7KERNEL"],L[65480]=[null,null,K.prototype.ub,K.prototype.xb,"R0SET1",1,1145],L[65481]=[null,null,K.prototype.ub,K.prototype.xb,"R1SET1",1,1145],L[65482]=[null,null,K.prototype.ub,K.prototype.xb,"R2SET1",1,1145],L[65483]=[null,null,K.prototype.ub,K.prototype.xb,"R3SET1",1,1145],L[65484]=[null,null,K.prototype.ub,
K.prototype.xb,"R4SET1",1,1145],L[65485]=[null,null,K.prototype.ub,K.prototype.xb,"R5SET1",1,1145],L[65486]=[null,null,K.prototype.Kf,K.prototype.ah,"R6SUPER",1,1145],L[65487]=[null,null,K.prototype.Lf,K.prototype.bh,"R6USER",1,1145],L[65504]=[null,null,K.prototype.sf,K.prototype.Lg,"CTRL",8,1170],L[65520]=[null,null,K.prototype.Nd,K.prototype.Qd,"LSIZE",1,1170],L[65522]=[null,null,K.prototype.Nd,K.prototype.Qd,"HSIZE",1,1170],L[65524]=[null,null,K.prototype.ig,K.prototype.Ah,"SYSID",1,1170],L[65526]=
[null,null,K.prototype.rf,K.prototype.Kg,"ERR",1,1170],L[65528]=[null,null,K.prototype.yf,K.prototype.Rg,"MBR",1,1170],L[65530]=[null,null,K.prototype.Df,K.prototype.Ug,"PIR"],L[65532]=[null,null,K.prototype.hg,K.prototype.zh,"SLR"],L[65534]=[null,null,K.prototype.If,K.prototype.Zg,"PSW"],L);
Sa(function(){for(var a=z(document,y,"device"),b=0;b<a.length;b++){var c=a[b];var d=A(c);switch(d.type){case "default":d=new K(d);x(d,c);break;case "pc11":d=new Lc(d);x(d,c);break;case "rl11":d=new M(d);x(d,c);break;case "rk11":d=new N(d);x(d,c);break;case "rx11":d=new Mc(d),x(d,c)}}});
function H(a,b,c,d,e,f){this.b=a;this.id=Nc+=2;this.c=null;this.ab=b;this.Rb=c;this.size=d||0;this.type=e||Oc;this.A=e==Pc;this.controller=null;this.rb=this.i=this.ad;this.W=this.D=this.bd;this.vb=this.o=this.Ub;this.yb=this.l=this.gd;this.g=this.h=0;hc(this);this.Ha=this.Ue=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],Qc(this,f.Ne);else if(qb)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.m=new Uint16Array(this.f,
0,this.size>>1),this.c=new Int32Array(this.f,0,this.size>>2),Qc(this,Rc?Sc:Uc);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Qc(this,Vc)}else Qc(this)}h=H.prototype;h.save=function(){var a;if(this.controller)var b=null;else if(qb)for(b=Array(this.size>>2),a=0;a<b.length;a++)b[a]=this.v.getInt32(a<<2,!0);else b=this.c;return b};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(qb)for(b=0;b<a.length;b++)this.v.setInt32(b<<2,a[b],!0);else this.c=a;return this.Ha=!0}return!1};function Qc(a,b){b||(b=Wc);Xc(a,b,void 0);Yc(a,b,void 0)}function Xc(a,b,c){c&&a.g||(a.rb=b[0]||a.ad,a.W=b[2]||a.bd);if(c||void 0===c)a.i=b[0]||a.ad,a.D=b[2]||a.bd}function Yc(a,b,c){c&&a.h||(a.vb=!a.A&&b[1]||a.Ub,a.yb=!a.A&&b[3]||a.gd);if(c||void 0===c)a.o=b[1]||a.Ub,a.l=b[3]||a.gd}
function hc(a,b){a.g=a.h=0;b&&((a.g=b.g)&&Xc(a,Zc,!1),(a.h=b.h)&&Yc(a,Zc,!1))}h.ad=function(a,b){I(this.b,b,32);return 255};h.Ub=function(a,b,c){I(this.b,c,32)};h.bd=function(a,b){return this.rb(a++,b++)|this.rb(a,b)<<8};h.gd=function(a,b,c){this.vb(a++,b&255,c++);this.vb(a,b>>8,c)};h.pf=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.sg=function(a,b){sb&&a&1&&I(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.Ig=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.Ha=!0};h.Jh=function(a,b,c){sb&&a&1&&I(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.Ha=!0};h.mf=function(a,b){return this.i(a,b)};h.pg=function(a,b){return this.D(a,b)};h.Gg=function(a,b,c){this.A?this.Ub(0,0,c):this.o(a,b,c)};h.Hh=function(a,b,c){this.A?this.Ub(0,0,c):this.l(a,b,c)};h.lf=function(a){return this.a[a]};
h.nf=function(a){return this.a[a]};h.og=function(a,b){sb&&a&1&&I(this.b,b,64);return this.v.getUint16(a,!0)};h.rg=function(a,b){sb&&a&1&&I(this.b,b,64);return!tb&&a&1?this.a[a]|this.a[a+1]<<8:this.m[a>>1]};h.Fg=function(a,b){this.a[a]=b;this.Ha=!0};h.Hg=function(a,b){this.a[a]=b;this.Ha=!0};h.Gh=function(a,b,c){sb&&a&1&&I(this.b,c,64);this.v.setUint16(a,b,!0);this.Ha=!0};h.Ih=function(a,b,c){sb&&a&1&&I(this.b,c,64);!tb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.m[a>>1]=b;this.Ha=!0};
var Oc=0,tc=1,Pc=2,jc=4,oc=["NONE","RAM","ROM","VID","H/W"],Nc=0,Wc=[],Vc=[H.prototype.pf,H.prototype.Ig,H.prototype.sg,H.prototype.Jh],Zc=[H.prototype.mf,H.prototype.Gg,H.prototype.pg,H.prototype.Hh];if(qb)var Uc=[H.prototype.lf,H.prototype.Fg,H.prototype.og,H.prototype.Gh],Sc=[H.prototype.nf,H.prototype.Hg,H.prototype.rg,H.prototype.Ih];var $c;if(qb){var ad=new ArrayBuffer(2);(new DataView(ad)).setUint16(0,256,!0);$c=256===(new Uint16Array(ad))[0]}else $c=!1;var Rc=$c;
function bd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.hd=0;this.tc=b;this.Za=c;this.Fc=Math.round(this.tc/1E4)/100;this.ib=this.Fc*this.Za;this.Gc=this.Lb=this.lb=this.vc=0;this.j.N=this.j.dd=!1;this.j.Y=a.autoStart;"string"==typeof this.j.Y&&(this.j.Y="true"==this.j.Y);this.j.ec=!1;this.rc=this.cb=0;this.sc=+a.csStart;this.Jb=+a.csInterval;this.Kb=+a.csStop;this.X=[];this.td=this.xg.bind(this);this.Na=this.Da=this.Ma=this.a=this.ba=this.Ca=this.Hb=this.La=this.mb=this.Lc=
this.Wa=0;this.pa=null;B(this)}p(bd,t);h=bd.prototype;h.ja=function(a,b,c,d){this.A=a;this.v=b;this.D=d;this.pa=a.f;for(a=0;a<cd.length;a++)(b=this.o[cd[a]])&&this.A.ma(null,cd[a],b);B(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.la=function(a,b){var c=dd(this.A,"autoStart");null!=c?this.j.Y="true"==c?!0:"false"==c?!1:!!c:null==this.j.Y&&(this.j.Y=void 0===this.o.run);if(!b){if(a){ed(this);if(!this.restore(a))return!1;fd(this)}else this.reset();this.status("No debugger detected");this.j.Y||this.aa("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};h.ka=function(a){return a?this.save():!0};h.Y=function(){return this.j.N?!0:this.j.Y?Rb(this):!1};h.Id=function(){return 0};
function fd(a){void 0===a.sc&&(a.sc=0);void 0===a.Jb&&(a.Jb=-1);void 0===a.Kb&&(a.Kb=-1);a.j.ec=0<=a.sc&&0<a.Jb;a.j.ec&&(a.rc=0,a.cb=a.sc-a.Na)}function Ub(a,b){if(a.j.ec){var c=!1;a.rc=a.rc+a.Id()|0;a.cb-=b;0>=a.cb&&(a.cb+=a.Jb,c=!0);0<=a.Kb&&a.Kb<=gd(a)&&(a.Jb=a.Kb=-1,fd(a),G(a),c=!0);c&&a.aa(gd(a)+" cycles: checksum="+wa(a.rc))}}
h.ma=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[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=fb(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);r("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.gc?" (waiting for notification)":""))+".");a=!1}a&&(d.j.N?G(d):Rb(d))},!0;case "speed":return this.o[b]=
c,!0;case "setSpeed":return this.o[b]=c,c.onclick=function(){hd(d,d.Za<<1,!0)},c.textContent=this.ib.toFixed(2)+"Mhz",!0}return!1};function Tb(a,b,c){a.Na+=b;c&&(a.Ma=a.a=a.ba=0)}function id(a,b){var c=1;b&&1<a.Za&&a.Wa&&(c=a.Wa/a.Fc);a.Gc=Math.round(1E3/jd);a.Lb=Math.floor(a.tc/jd*c);b||(a.lb=a.Lb);a.vc=0}function gd(a){return a.Na+a.Da+a.Ma-a.a}function ed(a){a.Wa=0;a.Lc=0;a.Na=a.Da=a.Ma=a.a=a.ba=0;fd(a);hd(a,1)}
function hd(a,b,c){if(void 0!==b){.8>a.Wa/a.ib&&(b=1);a.Za=b;b=a.Fc*a.Za;if(a.ib!=b){a.ib=b;b=a.ib.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.A&&kd(a.A)}Tb(a,a.Da);a.Da=0;a.Ca=cb();a.La=0;id(a)}function xc(a,b){var c=a.X.length;a.X.push([-1,b]);return c}function zc(a,b,c,d){0<=b&&b<a.X.length&&(d||0>a.X[b][0])&&(c=a.tc*a.Za/1E3*c|0,a.j.N&&(c+=ld(a)),a.X[b][0]=c)}function md(a){for(var b=[],c=0;c<a.X.length;c++)b.push(a.X[c][0]);return b}
function Sb(a,b){for(var c=a.X.length-1;0<=c;c--){var d=a.X[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ld(a,b){var c=a.Ma-=a.a;a.a=a.ba=0;b&&(a.Ma=0);return c}
h.xg=function(){if(this.j.N){this.vc>=this.tc&&id(this,!0);this.mb=0;this.Hb=cb();if(this.La){var a=this.Hb-this.La;a>this.Gc&&(this.Ca+=a,this.Ca>this.Hb&&(this.Ca=this.Hb))}try{do{for(var b,c=this.j.ec?1:this.Lb,d=this.X.length-1;0<=d;d--){var e=this.X[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zc(b)}catch(f){if("number"!=typeof f)throw f;}b=ld(this,!0);this.mb+=b;this.Da+=b;Ub(this,b);Sb(this,b);this.lb-=b;if(0>=this.lb){this.lb+=this.Lb;++this.Lc>=nd&&(this.A&&Vb(this.A,void 0),this.Lc=0);break}}while(this.j.N)}catch(f){G(this);
this.A&&this.A.stop(cb(),gd(this));a=f.stack||f.message;this.j.error=!0;this.G(a);return}if(this.j.N){a=setTimeout;b=this.td;this.La=cb();c=this.Gc;this.mb&&(c=Math.round(c*this.mb/this.Lb));c-=this.La-this.Hb;if(d=this.La-this.Ca)this.Wa=Math.round(this.Da/(10*d))/100,864E5<=d&&(this.Na=0,hd(this));if(0>c||this.Wa<this.ib)-1E3>c&&(this.Ca-=c),c=0;this.vc+=this.mb;this.La+=c;a(b,c)}}};
function Rb(a){if(a.j.error){a.aa(a.toString()+" error");var b=!0}else b=!1;if(b)return!1;if(a.j.N)return a.aa(a.toString()+" busy"),!1;hd(a);a.j.N=!0;a.j.dd=!0;if(b=a.o.run)b.textContent="Halt";a.A&&a.A.start(a.Ca,gd(a));a.D||a.status("Started");setTimeout(a.td,0);return!0}h.zc=function(){return 0};function G(a){var b=!1;if(a.j.N){ld(a);Tb(a,a.Da);a.Da=0;a.j.N=!1;if(b=a.o.run)b.textContent="Run";a.A&&a.A.stop(cb(),gd(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}
var jd=30,nd=15,cd=["power","reset"];
function od(a){var b=+a.model||1170;bd.call(this,a,6666667);this.sa=b;this.lc=+a.addrReset||0;this.Ea=this.i=this.B=this.u=this.l=this.m=this.w=0;this.b=this.ua=this.ga=[];this.H=this.s=this.Pa=this.Pb=[];this.Ka=this.C=this.od=this.jb=this.Xa=this.Ya=this.kb=this.F=this.Mb=this.$a=this.Oa=this.J=this.Nb=this.Ob=this.ta=this.g=0;this.Je=[4,2,0,1];this.wc=0;this.sd=255;1120>=this.sa?(this.vd=pd.bind(this),this.hb=this.Re,this.wc=8,this.sd=-1,this.zd=255,this.wd=0):(this.vd=qd.bind(this),this.hb=this.Se,
this.zd=~(1792|(1140>=this.sa?2048:0))&65535,this.wd=1140<this.sa?2048:0);this.Oc=this.Nc=this.nb=0;this.I=null;this.Gb=[];this.ic=this.xc=this.Ve;this.jc=this.yc=this.Xe;this.Ac=this.Cc=this.zg;this.kc=this.Dc=this.Cg;this.Aa=this.hc=0;this.ra=this.Jd;this.W=this.Od;this.yb=this.Rd;this.h=this.f=this.pc=this.K=this.O=0;this.j.complete=!1}p(od,bd);h=od.prototype;h.ja=function(a,b,c,d){bd.prototype.ja.call(this,a,b,c,d);this.xc=b.Sd.bind(b);this.yc=b.Vb.bind(b);this.Cc=b.Td.bind(b);this.Dc=b.Wb.bind(b)};
h.la=function(a,b){for(var c=192,d=0;d<this.Gb.length;d++){var e=this.Gb[d];0>e.Sb&&(e.Sb=c,c+=4)}return bd.prototype.la.call(this,a,b)};
h.reset=function(){this.status("Model "+this.sa);this.j.N&&G(this);this.u=65536;this.l=32768;this.m=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.lc,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[0,0,0,0,0,0];this.ga=[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.Pa=[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.Pb=[0,0,0,0,0,0,0,0];this.B=0;this.Ea=-1;this.h=this.f=this.pc=this.K=this.O=this.g=this.Mb=0;Pb(this);ed(this);this.j.error=!1;bd.prototype.reset.call(this)};function Pb(a){a.J=0;a.Nb=0;a.Ob=0;a.ta=0;a.F=0;a.$a=0;a.Oa=255;a.jb=0;a.Xa=0;a.Ya=0;a.kb=262143;a.Ka=a.b[7];a.C=0;a.I=null;a.v&&(rd(a),a.od=sc(a.v))}
function rd(a){a.ic=a.xc;a.jc=a.yc;a.Ac=a.Cc;a.kc=a.Dc;a.jb?(a.Aa=65536,a.hc=a.ta&16?4186112:253952,a.ra=a.Jd,a.W=a.Od,a.yb=a.Rd,kc(a.v,a.ta&16?22:18)):(a.Aa=0,a.hc=57344,a.ra=a.We,a.W=a.qg,a.yb=a.Kh,kc(a.v,16))}function Ec(a){var b=a.J;b&57344||(b=b&-3199|a.Xa<<5|a.Ya<<1);return b}function Fc(a,b){b&=-3073;if(a.J!=b){b&57344&&!(a.J&57344)&&(a.Nb=a.C>>16&65535,a.Ob=a.C&65535);a.J=b;a.Xa=(b&96)>>5;a.Ya=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.jb!=c&&(a.jb=c,rd(a))}}
function Gc(a){a.J&57344||(a.Nb=a.C>>16&65535);a=a.Nb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function Hc(a){a.J&57344||(a.Ob=a.C&65535);return a.Ob}function Ic(a,b){1170>a.sa&&(b&=-49);a.ta!=b&&(a.ta=b,a.kb=b&16?4194303:262143,rd(a))}function sd(a,b,c,d){a.lc=b;F(a,b);Kc(a,0);a.v.reset();Pb(a);if(c){a.b[0]=d||0;for(b=1;5>=b;b++)a.b[b]=0;a.b[6]=1024;a.j.S?a.j.N||Rb(a):a.j.Y=!0}else a.D&&a.j.S?G(a)||a.A.j.reset||(a.D.g(),Vb(a.A,-1)):!1===c&&G(a);!a.j.N&&a.pa&&a.pa.stop()}h.Id=function(){return 0};
h.save=function(){var a=new E(this);a.set(0,[this.b,this.ua,this.ga,this.H,this.s,this.Pa,this.Pb,this.F,this.Mb,this.$a,this.Oa,this.Xa,this.Ya,this.Ka,this.g,this.C,this.Ea,this.Nc,this.Oc,this.lc]);a.set(1,[Jc(this),Ec(this),Gc(this),Hc(this),this.ta]);a.set(2,[this.Na,this.Za,this.j.Y]);a.set(3,td(this));a.set(4,md(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ua=b.next().value;this.ga=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Pa=b.next().value;this.Pb=b.next().value;this.F=b.next().value;this.Mb=b.next().value;this.$a=b.next().value;this.Oa=b.next().value;this.Xa=b.next().value;this.Ya=b.next().value;this.Ka=b.next().value;this.g=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Nc=b.next().value;this.Oc=b.next().value;this.lc=b.next().value;b=a[1];Kc(this,
b[0]);Fc(this,b[1]);this.Nb=b[2];this.Ob=b[3];Ic(this,b[4]);b=a[2];this.Na=b[0];hd(this,b[1]);this.j.Y=b[2];b=a[3];for(var c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Gb.length;d++){var e=this.Gb[d];if(e.Sb===b[c]){d=e;break a}}d=null}d&&(d.next=this.I,this.I=d)}a=a[4];for(b=0;b<this.X.length&&b<a.length;b++)this.X[b][0]=a[b];return!0};function ud(a){return a.u&65536?1:0}function vd(a){return a.w&32768?8:0}function wd(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}
function O(a,b,c){c&&(F(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function F(a,b){a.b[7]=b&65535}function Ac(a,b,c,d){b={Sb:b,qb:c,message:d||0,name:vb[b],next:null};a.Gb.push(b);return b}function Dc(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 yc(a,b){if(b){if(b!=a.I){var c=a.I;if(!c||c.qb<=b.qb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.qb<=b.qb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}
function td(a){var b=[];for(a=a.I;a;)b.push(a.Sb),a=a.next;return b}function xd(a){return a.g&64?(J(a,168,64,-6),!0):a.g&32?(J(a,4,32,-5),!0):a.g&16?(J(a,12,16,-7),!0):!1}function Jc(a){return a.i=a.i&63728|vd(a)|(a.m&65535?0:4)|(a.l&32768?2:0)|ud(a)}function Kc(a,b){b&=a.zd;a.w=b<<12;a.m=~b&4;a.l=b<<14;a.u=b<<16;if((b^a.i)&a.wd)for(var c=a.ua.length;0<=--c;){var d=a.b[c];a.b[c]=a.ua[c];a.ua[c]=d}a.B=b>>14&3;c=a.i>>14&3;a.B!=c&&(a.ga[c]=a.b[6],a.b[6]=a.ga[a.B]);a.i=b;a.g&=-3;a.g|=a.I?2:1}
h.fa=function(a){this.w=this.m=a;this.l=0};h.Sa=function(a,b){this.w=this.m=this.u=a;this.l=b||0};function yd(a,b){a.w=a.m=a.u=b;a.l=a.w^a.u>>1}function zd(a,b,c,d){a.w=a.m=a.u=b;a.l=(c^d)&(d^b)}
function J(a,b,c,d){if(!a.nb){0>a.Ea?a.Ea=Jc(a):a.B||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.F|=4,a.b[6]=b=4);if(-1!=d){a.C=b|4143316992;a.B=0;var e=a.W(b|a.Aa),f=a.W(b+2&65535|a.Aa);Kc(a,f&-12289|a.Ea>>2&12288);Ad(a,a.Ea);Ad(a,a.b[7]);F(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ea=-1;a.Nc=d;a.Oc=b;-1==d&&G(a);if(-4<=d)throw b;}}function Bd(a){var b=Cd(a),c=Cd(a);a.i&49152&&(c=c&-225|a.i&63712);F(a,b);Kc(a,c);a.g&=-17}
function Dd(a,b){var c=b>>13&31;31>c&&(b=a.ta&32?a.Pa[c]+(b&8191)&4194303:b&-3932161);return b}
function Yb(a,b,c){if(!(c&a.jb)){var d=b&65535;57344<=d&&(d|=a.hc);return d}var e=b>>13;a.ta&a.Je[a.B]||(e&=7);var f=a.s[a.B][e];d=(a.H[a.B][e]<<6)+(b&8191)&a.kb;3932160<=d&&(d=Dd(a,d));if(a.nb)return d;d>=a.od&&d<a.hc?(a.F|=32,J(a,4,0,d)):d&1&&!(c&1)&&(a.F|=64,J(a,4,0,d));var g=0;switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!=(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
8128)&&(g|=16384));a.s[a.B][e]=f;if(d!=(4194170&a.kb)||a.B)a.Xa=a.B,a.Ya=e;g&&(g&57344&&(0<=a.Ea&&(g|=128),a.J&57344||(g|=a.J&4096|a.Xa<<5|a.Ya<<1,Fc(a,a.J&-61695|g&61694)),J(a,168,64,-2)),a.J&61440||!(d<(4191360&a.kb)||d>(4194239&a.kb))||(a.J|=4096,a.J&512&&(a.g|=64)));return d}function Cd(a){var b=a.W(a.b[6]|a.Aa);a.b[6]=a.b[6]+2&65535;return b}function Ad(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.C=a.C&65535|(a.C&-65536)<<8|16121856;a.g&256||a.hb(4,-2,c);a.yb(c,b)}
function Ed(a,b,c,d){var e=d&8?0:a.Aa;switch(b){case 0:return J(a,4,0,-3),0;case 1:return 6==c&&a.hb(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|e;case 2:var f=2;var g=a.b[c];6==c&&a.hb(d,f,g);7!=c&&(g|=e,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;g=a.b[c];7!=c&&(g|=e);g=a.W(g);g|=e;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);g=a.b[c]+f&65535;6==c&&a.hb(d,f,g);7!=c&&(g|=e);a.a-=4;break;case 5:f=-2;g=a.b[c]-2&65535;7!=c&&(g|=e);g=a.W(g)|e;a.a-=8;break;case 6:return g=a.W(wd(a,2)),g=g+a.b[c]&65535,6==c&&a.hb(d,
0,g),a.a-=6,g|e;case 7:return g=a.W(wd(a,2)),g=g+a.b[c]&65535,g=a.W(g|a.Aa),a.a-=10,g|e}a.b[c]=a.b[c]+f&65535;a.C=a.C&65535|(a.C&-65536)<<8|(f<<3&248|c)<<16;return g}h.Re=function(a,b,c){!this.B&&0>=b&&c<=this.Oa&&(this.g|=32)};h.Se=function(a,b,c){this.B||(65534<=c&&(c|=-65536),a&4&&c<=this.Oa&&(c<=this.Oa-32?J(this,4,0,-4):(this.F|=8,this.g|=32)))};h.Ve=function(a){return this.xc(a)};h.Xe=function(a){return this.yc(a)};h.zg=function(a,b){this.Cc(a,b)};h.Cg=function(a,b){this.Dc(a,b)};
h.We=function(a,b,c){return Ed(this,a,b,c)};h.Jd=function(a,b,c){return Yb(this,Ed(this,a,b,c),c)};h.qg=function(a){return this.v.Vb(this.Ka=a)};h.Od=function(a){return this.v.Vb(this.Ka=Yb(this,a,2))};h.Kh=function(a,b){this.v.Wb(this.Ka=a,b)};h.Rd=function(a,b){this.v.Wb(this.Ka=Yb(this,a,4),b)};
function Fd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=Ed(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.B=a.i>>12&3,c=a.W(d|c&a.Aa),a.B=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ga[a.i>>12&3];return c}function Gd(a,b,c,d){a.C=a.C&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=Ed(a,b,e,4),c&65536||(e&=65535),a.B=a.i>>12&3,e=Yb(a,e|c&65536,4),a.B=a.i>>14&3,a.kc(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ga[a.i>>12&3]=d}
function Hd(a,b){b>>=6;var c=a.O=b&7;return(b=a.K=(b&56)>>3)?a.ic(a.ra(b,c,3)):a.b[c+a.wc]&a.sd}function Id(a,b){var c;b>>=6;var d=a.O=b&7;(b=a.K=(b&56)>>3)?c=a.jc(a.ra(b,d,2)):c=a.b[d+a.wc];return c}function Jd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return Ed(a,b,c,8)}function Kd(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.ic(a.ra(b,c,3)):a.b[c]&255}function Ld(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.jc(a.ra(b,d,2)):c=a.b[d];return c}
function P(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.pc=a.ra(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Ac(e,d.call(a,c,a.ic(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 Q(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,6),a.kc(e,d.call(a,0>c?a.b[-c-1]:c,a.jc(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function Md(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.ra(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 Nd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.kc(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
h.zc=function(a){this.j.complete=!0;var b=a?this.j.dd?0:1:-1;this.j.dd=!1;this.Ma=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.$a&224)>>5,e=this.I&&this.I.qb>d?this.I:null;e&&(c=e.Sb,d=e.qb);d>(this.i&224)>>5?(this.g&8&&(wd(this,2),this.g&=-9),J(this,c,0,-10),d=!0):d=!1;d&&(e&&Dc(this,e),a=!0);this.I||this.$a||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}if(this.g&112&&xd(this)){if(this.g&
4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.C=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.vd(e)}while(0<this.a);return this.j.complete?this.Ma-this.a:!1===this.j.complete?-1:0};Sa(function(){for(var a=z(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c);d=new od(d);x(d,c)}});function Od(a,b){var c=b+a;this.w=this.m=this.u=c;this.l=(a^c)&(b^c);return c&65535}
function Pd(a,b){var c=b+a,d=c<<8;this.w=this.m=this.u=d;this.l=(a<<8^d)&(b<<8^d);return c&255}function Qd(a,b){a=b<<1;yd(this,a);return a&65535}function Rd(a,b){a=b<<1;yd(this,a<<8);return a&255}function Sd(a,b){a=b&32768|b>>1|b<<16;yd(this,a);return a&65535}function Td(a,b){a=b&128|b>>1|b<<8;yd(this,a<<8);return a&255}function Ud(a,b){a=b&~a;this.fa(a);return a}function Vd(a,b){a=b&~a;this.fa(a<<8);return a}function Wd(a,b){a|=b;this.fa(a);return a}function Xd(a,b){a|=b;this.fa(a<<8);return a}
function Yd(a,b){a=~b|65536;this.Sa(a);return a&65535}function Zd(a,b){a=~b|256;this.Sa(a<<8);return a&255}function $d(a,b){this.w=this.m=a=b-a;this.l=b&(b^a);return a&65535}function ae(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.m=c;this.l=b&(b^c);return a&255}function be(a,b){this.w=this.m=a=b+a;this.l=a&(b^a);return a&65535}function ce(a,b){a=b+a;var c=a<<8;this.w=this.m=c;this.l=c&(b<<8^c);return a&255}function de(a,b){a=-b;this.Sa(a,a&b&32768);return a&65535}
function ee(a,b){a=-b;this.Sa(a<<8,(a&b&128)<<8);return a&255}function fe(a,b){a=b<<1|this.u>>16&1;yd(this,a);return a&65535}function ge(a,b){a=b<<1|this.u>>16&1;yd(this,a<<8);return a&255}function he(a,b){a=(this.u&65536|b)>>1|b<<16;yd(this,a);return a&65535}function ie(a,b){a=((this.u&65536)>>8|b)>>1|b<<8;yd(this,a<<8);return a&255}function je(a,b){var c=b-a;zd(this,c,a,b);return c&65535}function ke(a,b){var c=b-a;zd(this,c<<8,a<<8,b<<8);return c&255}
function le(a,b){this.w=this.m=b&65280;this.l=this.u=0;return(b<<8|b>>8)&65535}function me(a,b){a^=b;this.fa(a);return a&65535}function ne(a){Q(this,a,Id(this,a),Od);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function oe(a){var b=Ld(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.u=this.l=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.l=c,c=0;else{this.u=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.l=32768)}this.b[a]=c&65535;this.w=this.m=c;this.a-=(this.h?6:7)+b}
function pe(a){var b=Ld(this,a),c=a>>6&7,d=this.b[c]<<16|this.b[c|1];this.u=this.l=0;b&=63;b&32?(b=64-b,32<b&&(b=32),a=d>>b-1,this.u=a<<16,a>>=1,d&2147483648&&(a|=4294967295<<32-b)):b?(a=d<<b-1,this.u=a>>15,a<<=1,32<b&&(b=32),(d>>=32-b)&&4294967295!==(d|4294967295<<b&4294967295)&&(this.l=32768)):a=d;this.b[c]=a>>16&65535;this.b[c|1]=a&65535;this.w=a>>16;this.m=a>>16|a;this.a-=(this.h?6:7)+b}function qe(a){O(this,a,!ud(this))}function re(a){O(this,a,ud(this))}
function se(a){Q(this,a,Id(this,a),Ud);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function te(a){P(this,a,Hd(this,a),Vd);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function ue(a){Q(this,a,Id(this,a),Wd);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function ve(a){P(this,a,Hd(this,a),Xd);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function we(a){var b=Id(this,a);a=Ld(this,a);this.fa((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.O&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function xe(a){var b=Hd(this,a);a=Kd(this,a);this.fa(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.O&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function ye(a){O(this,a,this.m&65535?0:4)}function ze(a){O(this,a,!vd(this)==!(this.l&32768))}function Ae(a){O(this,a,!!(this.m&65535)&&!vd(this)==!(this.l&32768))}
function Be(a){O(this,a,!ud(this)&&!!(this.m&65535))}function Ce(a){O(this,a,(this.m&65535?0:4)||!vd(this)!=!(this.l&32768))}function De(a){O(this,a,ud(this)||(this.m&65535?0:4))}function Ee(a){O(this,a,!vd(this)!=!(this.l&32768))}function Fe(a){O(this,a,vd(this))}function Ge(a){O(this,a,!!(this.m&65535))}function He(a){O(this,a,!vd(this))}function Ie(){J(this,12,0,-9)}function Je(a){O(this,a,!0)}function Ke(a){O(this,a,!(this.l&32768))}function Le(a){O(this,a,this.l&32768?2:0)}
function Me(a){a&1&&(this.u=0);a&2&&(this.l=0);a&4&&(this.m=1);a&8&&(this.w=0);this.a-=5}function Ne(a){var b=Id(this,a);a=Ld(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;zd(this,c,a,b);this.a-=this.h?4+(this.O&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function Oe(a){var b=Hd(this,a);a=Kd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);zd(this,c,a,b);this.a-=this.h?4+(this.O&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}
function Pe(a){var b=Ld(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.l=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.m=d>>16|d,this.w=d>>16):(this.l=32768,this.m=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.m=this.w=0,this.l=32768,this.u=65536,this.a-=7}function Qe(){J(this,24,0,-9);this.a-=20}
function Re(){this.i&49152?(this.F|=128,J(this,4,0,-8)):(this.pa&&1120==this.sa&&this.pa.setData(this.b[0],!0),this.D?this.D.i():G(this));this.a-=7}function Se(){J(this,16,0,-9);this.a-=20}var Te=[0,7,7,10,7,11,9,13];function Ue(a){this.ba=this.a;F(this,Jd(this,a));this.a=this.ba-Te[this.h]}var Ve=[0,14,14,17,14,18,16,20];function We(a){this.ba=this.a;var b=Jd(this,a);a=a>>6&7;Ad(this,this.b[a]);this.b[a]=this.b[7];F(this,b);this.a=this.ba-Ve[this.h]}
var Xe=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ye(a){var b=Id(this,a);this.ba=this.a;Nd(this,a,b,this.fa);this.a=this.ba-Xe[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function Ze(a){var b=Hd(this,a);Md(this,a,b,65535,this.fa);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var $e=[7,13,13,17,14,18,17,21];
function af(a){var b=Ld(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.m=this.w|b;this.l=0;this.u=-32768>b||32767<b?65536:0;this.a-=23}function bf(){this.a-=5}function cf(){this.i&49152||(this.v.reset(),Pb(this),this.pa&&this.pa.setData(this.b[0],!0));this.a-=667}function df(a){if(a&8)J(this,8,0,-9);else{var b=Cd(this);a&=7;7==a?F(this,b):(F(this,this.b[a]),this.b[a]=b);this.a-=9}}function ef(){Bd(this);this.a-=13}
function ff(a){a&1&&(this.u=65536);a&2&&(this.l=32768);a&4&&(this.m=0);a&8&&(this.w=32768);this.a-=5}function gf(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)F(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function hf(a){Q(this,a,Id(this,a),je);this.a-=this.h?9+(this.O&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function jf(a){Q(this,a,0,le);this.a-=this.h?9:3+(7==this.f?2:0)}function kf(){J(this,28,0,-9)}
function lf(){this.pa&&(this.pa.U=this.b[7],this.pa.setData(this.b[0],!0));this.g|=8;wd(this,-2);this.a-=3}function mf(a){Q(this,a,this.b[(a>>6&7)+this.wc],me);this.a-=this.h?9:3+(7==this.f?2:0)}function R(){J(this,8,0,-9)}function pd(a){nf[a>>12].call(this,a)}function of(a){pf[a>>6&3].call(this,a)}function qf(a){rf[a>>6&3].call(this,a)}function sf(a){tf[a>>6&3].call(this,a)}function uf(a){vf[a&15].call(this,a)}function wf(a){xf[a&15].call(this,a)}function yf(a){zf[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)}
var nf=[function(a){Ef[a>>8&15].call(this,a)},Ye,Ne,we,se,ue,ne,R,function(a){Ff[a>>8&15].call(this,a)},Ze,Oe,xe,te,ve,hf,R],Ef=[function(a){Gf[a>>4&15].call(this,a)},Je,Ge,ye,ze,Ee,Ae,Ce,We,We,of,qf,sf,R,R,R],pf=[function(a){Nd(this,a,0,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Yd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,be);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,$d);this.a-=this.h?9:3+(7==this.f?2:0)}],rf=[function(a){Q(this,a,0,de);
this.a-=this.h?11:6},function(a){Q(this,a,ud(this)?1:0,Od);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,ud(this)?1:0,je);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Ld(this,a);this.Sa(a);this.a-=this.h?4:3+(7==this.f?2:0)}],tf=[function(a){Q(this,a,0,he);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,fe);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Sd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Qd);this.a-=this.h?9:3+(7==this.f?2:0)}],Gf=
[function(a){Hf[a&15].call(this,a)},R,R,R,Ue,Ue,Ue,Ue,df,R,uf,wf,jf,jf,jf,jf],Hf=[Re,lf,ef,Ie,Se,cf,R,R,R,R,R,R,R,R,R,R],vf=[bf,function(){this.u=0;this.a-=5},function(){this.l=0;this.a-=5},Me,function(){this.m=1;this.a-=5},Me,Me,Me,function(){this.w=0;this.a-=5},Me,Me,Me,Me,Me,Me,Me],xf=[bf,function(){this.u=65536;this.a-=5},function(){this.l=32768;this.a-=5},ff,function(){this.m=0;this.a-=5},ff,ff,ff,function(){this.w=32768;this.a-=5},ff,ff,ff,ff,ff,ff,ff],Ff=[He,Fe,Be,De,Ke,Le,qe,re,Qe,kf,yf,Af,
Cf,R,R,R],zf=[function(a){Md(this,a,0,255,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Zd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,ce);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,ae);this.a-=this.h?9:3+(7==this.f?2:0)}],Bf=[function(a){P(this,a,0,ee);this.a-=this.h?11:6},function(a){P(this,a,ud(this)?1:0,Pd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,ud(this)?1:0,ke);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Kd(this,a);
this.Sa(a<<8);this.a-=this.h?4:3+(7==this.f?2:0)}],Df=[function(a){P(this,a,0,ie);this.a-=this.h?9+(this.pc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,ge);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Td);this.a-=this.h?9+(this.pc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Rd);this.a-=this.h?9:3+(7==this.f?2:0)}];function qd(a){If[a>>12].call(this,a)}
var If=[function(a){Jf[a>>8&15].call(this,a)},Ye,Ne,we,se,ue,ne,function(a){Kf[a>>8&15].call(this,a)},function(a){Lf[a>>8&15].call(this,a)},Ze,Oe,xe,te,ve,hf,R],Jf=[function(a){Mf[a>>4&15].call(this,a)},Je,Ge,ye,ze,Ee,Ae,Ce,We,We,of,qf,sf,function(a){Nf[a>>6&3].call(this,a)},R,R],Nf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.Aa);F(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=Fd(this,a,0);this.fa(a);Ad(this,a);this.a-=11},function(a){var b=Cd(this);this.ba=
this.a;this.fa(b);Gd(this,a,0,b);this.a=this.ba-$e[this.h]},function(a){Nd(this,a,vd(this)?65535:0,this.fa);this.a-=this.h?9:3+(7==this.f?2:0)}],Mf=[function(a){Of[a&15].call(this,a)},R,R,R,Ue,Ue,Ue,Ue,df,function(a){!(a&8)||1145>this.sa?J(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},uf,wf,jf,jf,jf,jf],Of=[Re,lf,function(){Bd(this);this.g|=this.i&16;this.a-=13},Ie,Se,cf,ef,function(){J(this,8,0,-9)},R,R,R,R,R,R,R,R],Kf=[af,af,Pe,Pe,oe,oe,pe,pe,mf,mf,R,
R,R,R,gf,gf],Lf=[He,Fe,Be,De,Ke,Le,qe,re,Qe,kf,yf,Af,Cf,function(a){1145>this.sa?J(this,8,0,-9):Pf[a>>6&3].call(this,a)},R,R],Pf=[function(){J(this,8,0,-9)},function(a){a=Fd(this,a,65536);this.fa(a);Ad(this,a);this.a-=11},function(a){var b=Cd(this);this.ba=this.a;this.fa(b);Gd(this,a,65536,b);this.a=this.ba-$e[this.h]},function(){J(this,8,0,-9)}];
function Qf(a){t.call(this,"ROM",a,128);this.ia=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.l=xa(this.g);if(this.g){a=this.g;var b=ya(this.l);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(ab(c.Ua,a,b),(a=Ia(a,b))?(c.b=a.L,c.ia=a.ia):c.g=null);Rf(c)})}}p(Qf,t);
h=Qf.prototype;h.ja=function(a,b,c,d){this.v=b;this.c=c;this.D=d;Rf(this)};h.la=function(){this.ia&&(this.D&&this.D.a(this.id,this.h,this.a,this.ia),delete this.ia);return!0};h.ka=function(){return!0};
function Rf(a){if(!ob(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 ("+wa(a.b.length,8,!0)+") does not match specified size ("+wa(a.a,8,!0)+")";a.j.error=!0;a.G(b)}else{a:{b=a.h;if(57344<=b&&b<57344+cc){var c={};c=(c[b]=[Qf.prototype.ag,Qf.prototype.sh,null,null,null,a.a>>1],c);if(Bb(a.v,a,c)){a.status("Added "+a.a+"-byte ROM at "+va(b));b=a.i=!0;break a}}else if(ic(a.v,b,a.a,Pc)){for(c=0;c<a.b.length;c++)rc(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.ag=function(a){return this.b[a-this.h]};h.sh=function(){};Sa(function(){for(var a=z(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c);d=new Qf(d);x(d,c)}});
function Sf(a){t.call(this,"RAM",a);this.ia=this.b=null;this.f=+a.addr;this.g=+a.size;this.ea=a.load;this.da=a.exec;null!=this.ea&&(this.ea=+this.ea);null!=this.da&&(this.da=+this.da);this.h=this.l=!1;this.a=a.file;this.i=xa(this.a);if(this.a){a=this.a;var b=ya(this.i);"json"!=b&&"hex"!=b&&(a=Ja()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ab(c.Ua,a,b),(a=Ia(a,b))?(c.b=a.L,
c.ia=a.ia,null==c.ea&&(c.ea=a.ea),null==c.da&&(c.da=a.da)):c.a=null);Tf(c)})}}p(Sf,t);Sf.prototype.ja=function(a,b,c,d){this.v=b;this.c=c;this.D=d;Tf(this)};Sf.prototype.la=function(a,b){this.ia&&(this.D&&this.D.a(this.id,this.f,this.g,this.ia),delete this.ia);b||this.reset();return!0};Sf.prototype.ka=function(){return!0};
function Tf(a){if(a.v&&(!a.h&&a.g&&(ic(a.v,a.f,a.g,tc)?a.h=!0:a.g=0),!ob(a))){if(!a.h)r("No RAM allocated");else if(a.a){if(!a.b)return;Uf(a,a.b,a.ea,a.da,a.f)?a.status('Loaded image "'+a.i+'"'):a.G('Error loading image "'+a.i+'"')}a.l=!0;B(a)}}
Sf.prototype.reset=function(){if(this.h&&!this.l){var a=this.v,b=this.f,c=this.g,d=b&a.f;for(b>>>=a.h;0<c&&b<a.a.length;){var e=a.a[b],f=d,g=c,k=0;f=f||0;k=(k||0)&255;void 0===g&&(g=e.size);if(qb&&e.a)for(d=f;g--&&d<e.a.length;d++)e.a[d]=k;else for(d=f;g--&&d<e.size;d++)e.o(f,k,e.ab+f);c-=a.g;b++;d=0}this.b&&Uf(this,this.b,this.ea,this.da,this.f,!this.D)}this.l=!1};
function Uf(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;l+=2;var n=b[l++]&255|(b[l++]&255)<<8,q=b[l++]&255|(b[l++]&255)<<8;m+=(n&255)+(n>>8)+(q&255)+(q>>8);for(var v=l,u=n-=6;0<n&&l<b.length;)m+=b[l++]&255,n--;if(0!=n||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(u)for(;u--;)rc(a.v,q++,b[v++]&255);else q&1?g=!0:null==d&&(d=q);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)rc(a.v,c+e,b[e]);k=!0}if(k){if(null==d||g)G(a.c),f=!1;null!=d&&sd(a.c,d,f)}return k}Sa(function(){for(var a=z(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c);d=new Sf(d);x(d,c)}});function Vf(a){t.call(this,"Keyboard",a,1024);B(this)}p(Vf,t);Vf.prototype.ma=function(){return!1};Vf.prototype.ja=function(a,b,c,d){this.A=a;this.c=c;this.D=d};Sa(function(){for(var a=z(document,y,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c);d=new Vf(d);x(d,c)}});
function Wf(a){t.call(this,"SerialPort",a,1048576);this.B=+a.adapter;this.J=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.h=this.i=null;this.O=+a.tabSize;this.K=+a.charBOL;this.l=0;this.u=!0;this.H=this.C=null;this.I=this.X=-1;this.m=this.a=this.b=0;this.g=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=Xf;b&&(void 0===c&&(c="Panel"),(c=hb(c,this.id))&&(b=c.o[b])&&this.ma(null,a,b))}this.f=this.s=this.F=null;this.exports=
{connect:this.Kd,receiveData:this.mc,receiveStatus:this.vg,setConnection:this.Ag}}p(Wf,t);h=Wf.prototype;
h.ma=function(a,b,c){var d=this;switch(b){case Xf:return this.o[b]=this.h=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.ld:sa.Ab:46==c?b=sa.ld:a.ctrlKey&&c>=sa.jd&&c<=sa.Me&&(b=c-(sa.jd-sa.Vd));b&&(a.preventDefault&&a.preventDefault(),d.mc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.Xd&&(b=sa.Wd);d.mc(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.mc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;var e=this;this.H=Ac(this.c,this.B?-1:48,4,1048576);this.I=xc(this.c,function(){var a=-1;e.g.length&&(a=e.g.shift()&255,e.w&&97<=a&&122>a&&(a-=32),zc(e.c,e.I,1E3/Math.round(e.J/10)));0<=a&&(e.m=a,e.a&128?e.m|=49152:e.a|=128,e.a&64&&yc(c,e.H))});this.C=Ac(this.c,this.B?-1:52,4,1048576);this.X=xc(this.c,function(){e.b|=128;e.b&64&&yc(c,e.C)});Bb(b,this,Yf,this.B?64832+8*(this.B-1)-65392:0);Db(b,this.reset.bind(this));B(this)};
h.Kd=function(a){if(!this.f){var b=dd(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.qc)return;c=Ca(c[1]);if(this.f=gb(c)){var e=this.f.exports;if(e){var f=e.connect;f&&f.call(this.f,this.u);if(this.s=e.receiveData){this.u=a;this.F=e.receiveStatus;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.la=function(a,b){if(!b)if(this.Kd(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.ka=function(a){return a?this.save():!0};h.reset=function(){Zf(this)};h.save=function(){var a=new E(this);a.set(0,[this.m,this.a,this.b,this.g]);return a.data()};h.restore=function(a){return Zf(this,a[0])};function Zf(a,b){b||(b=[0,8192,128,a.g]);b=ia(b);a.m=b.next().value;a.a=b.next().value;a.b=b.next().value;a.g=b.next().value;return!0}
h.mc=function(a){if("number"==typeof a)this.g.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.g.push(b)}else this.g=this.g.concat(a);zc(this.c,this.I,1E3/Math.round(this.J/10));return!0};h.vg=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&&yc(this.c,this.H))};h.Ag=function(a,b){return this.f?!1:(this.f=a,this.s=b,!0)};
h.Of=function(){var a=this.a&65534;this.a&=-32769;return a};h.fh=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.F&&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.F.call(this.f,b))};h.Nf=function(){this.a&=-129;return this.m};h.eh=function(){};h.ug=function(){return this.b};h.Mh=function(a){if(this.b&128)if(a&64)yc(this.c,this.C);else{var b=this.C;b&&Dc(this.c,b)}this.b=this.b&-70|a&69};h.tg=function(){return 0};
h.Lh=function(a){a&=255;this.s&&this.s.call(this.f,a);a&=127;if(this.h)if(13==a)this.l=0;else if(8==a)this.h.value=this.h.value.slice(0,-1),0<this.l&&this.l--;else{if(a){var b;13!=a&&10!=a&&(b=Da[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.O||8,c=a-this.l%a,this.O&&(b=" ".slice(0,c)));this.K&&!this.l&&c&&(b=String.fromCharCode(this.K)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.l+=c}}else if(null!=
this.i){if(10==a||1024<=this.i.length)this.aa(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}zc(this.c,this.X,1E3/Math.round(this.ba/10));this.b&=-129};var Xf="buffer",$f={},Yf=($f[65392]=[null,null,Wf.prototype.Of,Wf.prototype.fh,"RCSR"],$f[65394]=[null,null,Wf.prototype.Nf,Wf.prototype.eh,"RBUF"],$f[65396]=[null,null,Wf.prototype.ug,Wf.prototype.Mh,"XCSR"],$f[65398]=[null,null,Wf.prototype.tg,Wf.prototype.Lh,"XBUF"],$f);
Sa(function(){for(var a=z(document,y,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c);d=new Wf(d);x(d,c)}});function Lc(a){t.call(this,"PC11",a,4096);this.C=ag(this,a.autoMount);this.b=0;this.K=+a.baudReceive||3600;this.m=this.a=0;this.w=32768;this.h=this.I=0;this.l=[];this.i=bg;this.f=cg;this.B=this.g="";this.L=this.ea=this.da=null;this.H=-1;this.F=!Oa("Mobi")&&window&&"FileReader"in window;this.s=null;this.J=-1;this.u=null}p(Lc,t);
function ag(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){r(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Lc.prototype;
h.ma=function(a,b,c){var d=this,e=cg;switch(b){case "listTapes":return this.o[b]=c,c.onchange=function(){var a=d.o.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){r("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.o[b]=c,!0;case "readTape":e=dg;case "loadTape":return e||(e=eg),this.o[b]=c,c.onclick=
function(){var a=d.o.listTapes;a&&fg(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.o[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;fg(d,xa(b,!0),b,eg,a)}return!1};return!0;case gg:return this.o[b]=c,!0}return!1};
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;this.u=hg(a);var e=this;if(a=ag(this,dd(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=Ac(this.c,56,4,4096);this.J=xc(this.c,function(){1!=(e.a&32769)||e.a&128||(e.h<e.l.length?(e.m=e.l[e.h]&255,e.h++,ig(e,e.h/e.l.length*100)):e.a|=32768,e.a|=128,e.a&=-2049,e.a&64&&yc(e.c,e.s))});Bb(b,this,jg);Db(b,this.reset.bind(this));kg(this,"None",bg,!0);this.F&&kg(this,"Local Tape",lg);kg(this,"Remote Tape",mg);ng(this)||B(this)};
h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.m=0};function ng(a){a.b=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.o.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=xa(c,!0)}c&&b?og(a,b,c,eg,!0):pg(a)}return!!a.b}
function fg(a,b,c,d,e){if(c)if(c==lg)a.G('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==mg){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=xa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.i=mg}else a.i=c;og(a,b,c,d,!1,e)}else qg(a,!1)}function og(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,qg(a,!0),a.j.Ra?a.G("PC11 busy"):(e&&a.b++,rg(a,b,c,d,f)?g++:a.j.Ra=!0);g&&sg(a,a.B,a.g,a.f,a.L,a.ea,a.da)}
function rg(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),sg(a,b,c,d,e),a.i=lg);a.j.Ra=!1;pg(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=ya(c),f="json"==e||"gz"==e?encodeURI(c):Ja()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ha(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.j.S;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ab(a.Ua,e,f),(e=Ia(e,f))&&sg(a,b,c,d,
e.L,e.ea,e.da));a.j.Ra=!1;a.b&&(a.b--,a.b||B(a));pg(a)})}function kg(a,b,c,d){if((a=a.o.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 pg(a){var b=a.o.listTapes;if(b&&b.options){a=a.i||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 ig(a,b){b|=0;if(b!==a.H){var c=a.o[gg];c&&(c=(c=z(c,tg))&&c[0])&&c.style&&(c.style.width=b+"%");a.H=b}}
function sg(a,b,c,d,e,f,g){a.B=b;a.g=c;a.f=d;a.L=e;a.ea=f;a.da=g;d==dg?a.u&&Uf(a.u,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.G('No valid memory address for tape "'+b+'"'):(a.h=0,a.l=e,a.a&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),ig(a,0))}function qg(a,b){if(a.g||!1===b)a.B="",a.g="",b||(a.f&&a.status(a.f==eg?"tape detached":"tape unloaded"),a.i=bg,a.f=cg,pg(a))}h.save=function(){return(new E(this)).data()};h.restore=function(){return!0};h.Hf=function(){return this.a&65534};
h.Yg=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&yc(this.c,this.s)):(this.a&=-129,this.a|=2048,this.m=0,zc(this.c,this.J,1E3/Math.round(this.K/10))));this.a=this.a&-66|a&65};h.Gf=function(){this.a&=-129;this.a|=2048;return this.m};h.Xg=function(){};h.Ff=function(){return this.w};h.Wg=function(a){this.w=this.w&-65|a&64};h.Ef=function(){return this.I};h.Vg=function(a){this.I=a&255};
var bg="",lg="?",mg="??",cg=0,eg=1,dg=2,gg="readProgress",tg="pcjs-progress-bar",ug={},jg=(ug[65384]=[null,null,Lc.prototype.Hf,Lc.prototype.Yg,"PRS"],ug[65386]=[null,null,Lc.prototype.Gf,Lc.prototype.Xg,"PRB"],ug[65388]=[null,null,Lc.prototype.Ff,Lc.prototype.Wg,"PPS"],ug[65390]=[null,null,Lc.prototype.Ef,Lc.prototype.Vg,"PPB"],ug);
function vg(a,b,c){t.call(this,"Disk",{id:a.Ua+".disk"+wa(++wg,4)},8192);this.controller=a;this.A=a.A;this.D=a.D;this.h=b;this.xa=b.name;this.oa=this.cd="";this.Zc=b.Zc;this.M=this.T=this.R=this.Z=this.mode=0;this.a=[];this.f=null;this.g=!1;this.create(c,b.M,b.T,b.R,b.Z);this.b=this.i=null;B(this)}p(vg,t);h=vg.prototype;h.ja=function(a,b,c,d){this.D=d};
h.create=function(a,b,c,d,e){this.mode=a;this.M=b;this.T=c;this.R=d;this.Z=e;this.a=[];if("preload"!=this.mode){a=Array(this.M);for(b=0;b<a.length;b++){c=Array(this.T);for(d=0;d<c.length;d++){e=Array(this.R);for(var f=1;f<=e.length;f++)e[f-1]=xg(null,b,d,f,this.Z,0);c[d]=e}a[b]=c}this.a=a}this.f=null};
function yg(a,b,c,d,e){var f=c;if(a.b)return!0;a.xa=b;a.oa=c;a.cd=xa(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c=b?b.byteLength:0,d=ra[c];if(d){a.M=d[0];a.T=d[1];a.R=d[2];a.Z=d[3]||512;var e=a.Z>>2;var f=d=0;b=new DataView(b,0,c);a.a=Array(a.M);for(c=0;c<a.a.length;c++)for(var v=a.a[c]=Array(a.T),u=0;u<v.length;u++)for(var oa=v[u]=Array(a.R),Ua=0;Ua<oa.length;Ua++){for(var Cc=xg(null,c,u,Ua+1,a.Z,0),xh=Cc.data,Tc=0;Tc<e;Tc++,f+=4){var yh=xh[Tc]=b.getInt32(f,
!0);d=d+yh&-1}Cc.na=e;oa[Ua]=Cc}a.f=d;e=a}else a.G("Unrecognized disk format ("+c+" bytes)");a.b&&(a.b.call(a.controller,a.h,e,a.xa,a.oa),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ya(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"):za(c,"/")&&(d="dir"),f=Ja()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Zc?"":e)+"&format=json"));return!!Ha(f,
null,!0,function(b,c,d){zg(a,b,c,d)})}
function zg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.S;a.g=!1;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{ab(a.controller.Ua,b,c);try{if(0<xa(a.cd,!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.xa]: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)r(k[0]);else{a.M=k.length;a.T=k[0].length;a.R=k[0][0].length;var l=k[0][0][0];a.Z=l&&l.length||512;for(d=c=0;d<a.M;d++)for(f=0;f<a.T;f++)for(g=0;g<a.R;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);m>>=2;var n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var v=l.bytes;if(void 0!==v&&v.length){for(var u=m<<2,oa=v.length;oa<u;oa++)v[oa]=n;Ag(l,v)}else q=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=q;delete l.bytes}xg(l,d,f);for(u=
0;u<q.length;u++)c=c+q[u]&-1}a.a=k;a.f=c;e=a}else r("Empty disk image: "+a.xa)}catch(Ua){r("Disk image error ("+b+"): "+Ua.message)}}a.b&&(a.b.call(a.i,a.h,e,a.xa,a.oa),a.b=null)}function xg(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Pj=b;a.Qj=c;a.wa=a.na=0;a.Ha=!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.Oe&&b<f.T)for(k=g[b]=Array(f.Pe),g=0;g<k.length;g++)k[g]=xg(null,a,b,g+1,f.Ld,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Oe&&9==f.Ed&&(d=k[g]=xg(null,a,b,f.Ed,f.Ld,0))}}e&&e(d,!1);return d};function Ag(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){c=a.data;var 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.na?f<a.wa?(a.na+=a.wa-f,a.wa=f):f>=a.wa+a.na&&(a.na+=f-(a.wa+a.na)+1):(a.wa=f,a.na=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function Bg(a,b){var c=a.T*a.R,d=b/c|0;return d<a.M?(b%=c,a.seek(d,b/a.R|0,b%a.R+1)):null}function Cg(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}h.save=function(){var a=0,b=[];b[a++]=[this.oa,this.f,this.M,this.T,this.R,this.Z];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.na){for(var k=[],l=0,m=g.wa,n=g.wa+g.na;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.wa,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?this.create("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.wa=e;for(k.na=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b};var wg=0;
function Dg(a,b,c,d,e,f){t.call(this,a,b,c);this.C=Eg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Oa("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Fd,loadDisk:this.$c,selectDrive:this.yg,wait:this.Eg}}p(Dg,t);function Eg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){r(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Dg.prototype;
h.ma=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){Fg(d)},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Gg(d,a)},!0;case "loadDisk":return this.o[b]=c,c.onclick=function(){d.$c()},!0;case "bootDisk":return this.o[b]=c,c.onclick=function(){d.Fd()},!0;case "saveDisk":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=
d.b[ta(a.value,10)||0])if(a=a.P){for(var b="",c=0,k;k=Bg(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(Cg(a,k,l));b=btoa(b);a=a.cd.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
(a?" ("+a+")":"")+".");r(a)}else d.G("No disk loaded in drive.");else d.G("No disk drive selected.")};return!0;case "mountDisk":if(this.F)return this.o[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;d.$c(xa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;if(a=Eg(this,dd(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.C[e]=a[e]);this.reset();this.qa=Ac(this.c,this.I.Vc,this.I.Rc,this.pd);Bb(b,this,this.K);Db(b,this.reset.bind(this));Hg(this,"None",Ig,!0);this.F&&Hg(this,"Local Disk",Jg);Hg(this,"Remote Disk",Kg);Lg(this)||B(this)};
h.la=function(a,b){if(!b){if(!a){if(this.reset(),this.A.C){this.l=[];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.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.H;b++){var c=document.createElement("option");c.value=b;c.text=this.b[b].nc||"---";a.appendChild(c)}0<this.H&&(a.value="0",Gg(this,0))}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.bb();Ng(this)};
h.save=function(){var a=new E(this);a.set(0,this.oc());a.set(1,Og(this));a.set(2,Pg(this));return a.data()};h.restore=function(a){var b=!0;this.bb(a[0])||(b=!1);var c=a[1];c&&(this.l=c);Ng(this,a[2])||(b=!1);return b};h.bb=function(){return!0};h.oc=function(){return[]};
function Ng(a,b){for(var c=0;c<a.b.length;c++){var d=a.b[c];void 0===d&&(d=a.b[c]={});var e=a,f=d;d=c;var g=a.J,k=b&&b[c],l=0;f.pb=d;f.name=e.qc;f.fc=f.ob=!1;f.Ib=null;f.Zc=!0;f.nc=g[l++]+d;f.M=g[l++];f.T=g[l++];f.R=g[l++];f.Z=g[l++];f.Ze=g[l++];f.$e=g[l++];f.af=g[l++];f.Qe=g[l++];f.status=g[l];f.Jj=0;f.Ij=0;f.Ed=1;f.Pe=f.R;f.Ld=f.Z;f.Rj=0;f.Yj=null;f.P||(f.oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.b[d],Mg(e,d,!0),g.ob=!0,d=new vg(e,g,"preload"),e.Gd(g,d,f,k,!0)):Qg(e,d,l,g,!0)?f.P&&g&&Rg(e,l,g,
f.P):B(e,!1))}return!0}function Pg(a){for(var b=[],c=0;c<a.b.length;c++){var d=a.b[c];b.push([d.ob,d.xa,d.oa])}return b}function Og(a){for(var b=0;b<a.b.length;b++){var c=a.b[b];c.P&&Sg(a,c.oa,c.P)}return a.l}
function Lg(a,b){b||(a.B=0);for(var c in a.C){var d=a.C[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.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=xa(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)){!Qg(a,g,f,e,!0)&&b&&B(a,!1);continue}a.G("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.B}
h.$c=function(a,b,c){if(!a&&!b){var d=this.o.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.o.listDrives)&&ta(d.value,10);if(void 0===d||0>d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Mg(this,d),!0;if(b==Jg)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Kg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=xa(b);this.status("Attempting to load "+b+' as "'+
a+'"')}Qg(this,d,a,b,!1,c);return!0};h.Fd=function(){var a,b=this.o.listDrives;b=b&&ta(b.value,10);if(null==b||0>b||b>=this.b.length||!(a=this.b[b]))return this.G("Unable to boot the selected drive"),!1;if(!a.P)return this.G("Load a disk into the drive first"),!1;sd(this.c,0,!0,b);return(a=this.sb(a,a.Ze,a.$e,a.af,a.Qe,0,2))?(this.G("Unable to read the boot sector ("+a+")"),!1):!0};
function Qg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Mg(a,b,!0),k.fc?a.G(a.type+" busy"):(k.fc=!0,e&&(k.Yc=!0,a.B++),k.ob=!!f,yg(new vg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g}
h.Gd=function(a,b,c,d,e){a.fc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.pb].nc||"---")),b=null);b?(a.P=b,a.xa=c,a.oa=d,this.Md(a.pb),Rg(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.pb].nc||"---"),a.Yc||e),this.A&&kd(this.A)):a.ob=!1;a.Yc&&(a.Yc=!1,--this.B||B(this));Gg(this,a.pb);a.Ib&&(a.Ib(),a.Ib=null)};
function Hg(a,b,c,d){if((a=a.o.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 Gg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.o.listDisks;a=a.o.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(ta(a.options[c].value,10)==e.pb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=ta(a.value,10);e=e.ob?Jg:e.oa;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.yg=function(a){var b=this.o.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=ta(b.options[d].value,10);if(0<=e)return Gg(this,e,!0)}return!1};
function Fg(a){var b=a.o.listDisks,c=a.o.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){r(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.Eg=function(a){for(var b=0;b<this.b.length;b++){var c=this.b[b];if(c&&c.fc)return c.Ib||(c.Ib=a),!1}return!0};
function Mg(a,b,c){var d=a.b[b];if(d.P||!1===c)Sg(a,d.oa,d.P),d.xa="",d.oa="",d.P=null,d.ob=!1,c||(a.G("Drive "+(a.b[b].nc||"---")+" unloaded",c),Gg(a,b))}function Rg(a,b,c,d){var e;for(e=0;e<a.l.length;e++)if(a.l[e][1]==c){d.restore(a.l[e][2]);return}a.l[e]=[b,c,[]]}function Sg(a,b,c){var d;for(d=0;d<a.l.length;d++)if(a.l[d][1]==b){a.l[d][2]=c.save();break}}h.Md=function(){};h.sb=function(){return-1};h.uc=function(){return-1};var Ig="",Jg="?",Kg="??";
function N(a){Dg.call(this,"RK11",a,65536,C,C.Zb,Tg);this.s=this.f=this.a=this.i=this.h=this.g=this.m=0}p(N,Dg);h=N.prototype;h.bb=function(a){a||(a=[Ug.Zb|Ug.Bd|Ug.xd,0,S.za,0,0,0,0]);a=ia(a);this.s=a.next().value;this.f=a.next().value;this.a=a.next().value;this.i=a.next().value;this.h=a.next().value;this.g=a.next().value;this.m=a.next().value;return!0};h.oc=function(){return[this.s,this.f,this.a,this.i,this.h,this.g,this.m]};
h.sb=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var n=null;a||(m=T.rd,e=0);for(;e;){if(!n){if(b>=a.M){m=T.Xb;break}n=a.seek(b,c,d+1);if(!n){m=T.Ad;break}var q=0;++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b))}var v,u;if(0>(v=a.read(n,q++))||0>(u=a.read(n,q++))){m=T.Yb;break}if(!k&&(Xb(this.v,Dd(this.c,f),v|u<<8),wc(this.v))){m=T.Cb;break}q>=a.Z&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.P;var n=null;a||(m=T.rd,e=0);for(;e;){var q=Zb(this.v,Dd(this.c,f));if(wc(this.v)){m=T.Cb;break}if(!n){if(b>=a.M){m=T.Xb;break}n=a.seek(b,c,d+1,!0);if(!n){m=T.Ad;break}var v=0;++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b))}if(k){var u,oa;if(0>(u=a.read(n,v++))||0>(oa=a.read(n,v++))){m=T.Yb;break}if(q!=(u|oa<<8)){m=T.Cd;break}}else if(!a.write(n,v++,q&255)||!a.write(n,v++,q>>8)){m=T.Yb;break}v>=a.Z&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.oe=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&~S.fb|f>>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Vg.Sc|d&Vg.Sc;this.f|=a;Wg(this);return!0};function Wg(a){a.a&=~S.Ja;a.f&&(a.f|=T.Zd,a.a|=S.Ja,a.f&T.Hc&&(a.a|=S.Hc))}h.Tf=function(){return this.s};h.kh=function(){};h.Uf=function(){return this.f};h.lh=function(){};h.Qf=function(){return this.a&S.Db};
h.hh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Bb){a=!0;var b,c=(this.g&Vg.Ta)>>Vg.V.Ta,d=this.b[c];this.a&=~(S.za|S.Tc);this.f&=~T.Ee;switch(b=this.a&S.ca){case Xg.Ud:this.f=this.g=0;this.a=S.za;break;case Xg.je:case Xg.Va:var e=this.sb;case Xg.Wc:case Xg.Fb:e||(e=this.uc);var f=(this.g&Vg.zb)>>Vg.V.zb;var g=(this.g&Vg.Kc)>>Vg.V.Kc;var k=this.g&Vg.Sc;var l=65536-this.i&65535;var m=(this.a&S.fb)<<16-S.V.fb|this.h;var n=this.a&S.fe?0:2;if(f>=d.M){this.f|=T.Xb;break}if(k>=d.R){this.f|=T.Yb;
break}a=e.call(this,d,f,g,k,l,m,n,b>=Xg.Wc,this.oe.bind(this));break;case Xg.cc:f=(this.g&Vg.zb)>>Vg.V.zb;f<d.M?this.a|=S.Tc:this.f|=T.Xb;break;case Xg.$d:this.f=this.g=0,this.a=S.za|S.Tc}this.s=d.status|(d.P?Ug.ha:0)|c<<Ug.V.Mc|this.g&Ug.De;Wg(this);a&&(this.a&=~S.Bb,this.a|=S.za,this.a&S.eb&&yc(this.c,this.qa))}};h.Vf=function(){return this.i};h.mh=function(a){this.i=a};h.Pf=function(){return this.h};h.gh=function(a){this.h=a};h.Rf=function(){return this.g};h.ih=function(a){this.g=a};h.Sf=function(){return this.m};
h.jh=function(a){this.m=a};var Ug=C.$b,T=C.re,S=C.pe,Vg=C.qe,Xg=C.ca,Yg={},Tg=(Yg[65280]=[null,null,N.prototype.Tf,N.prototype.kh,"RKDS"],Yg[65282]=[null,null,N.prototype.Uf,N.prototype.lh,"RKER"],Yg[65284]=[null,null,N.prototype.Qf,N.prototype.hh,"RKCS"],Yg[65286]=[null,null,N.prototype.Vf,N.prototype.mh,"RKWC"],Yg[65288]=[null,null,N.prototype.Pf,N.prototype.gh,"RKBA"],Yg[65290]=[null,null,N.prototype.Rf,N.prototype.ih,"RKDA"],Yg[65294]=[null,null,N.prototype.Sf,N.prototype.jh,"RKDB"],Yg);
function M(a){Dg.call(this,"RL11",a,131072,D,D.se,Zg);this.a=this.m=this.f=this.g=this.i=this.h=0}p(M,Dg);h=M.prototype;h.bb=function(a){a||(a=[U.ha|U.za,0,0,0,0,0]);a=ia(a);this.a=a.next().value;this.m=a.next().value;this.f=a.next().value;this.g=a.next().value;this.i=a.next().value;this.h=a.next().value;return!0};h.oc=function(){return[this.a,this.m,this.f,this.g,this.i,this.h]};
h.sb=function(a,b,c,d,e,f,g,k,l){g=0;a=a.P;k=null;a||(g=$g.Ba,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=$g.Ba;break}var m=0}var n,q;if(0>(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=$g.Ba;break}Xb(this.v,Dd(this.c,f),n|q<<8);if(wc(this.v)){g=$g.Cb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=$g.Ba;break}}return l?l(g,b,c,d,e,f):g};
h.uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.P;k=null;a||(g=$g.Ba,e=0);for(;e;){var m=Zb(this.v,Dd(this.c,f));if(wc(this.v)){g=$g.Cb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=$g.Ba;break}var n=0}if(!a.write(k,n++,m&255)||!a.write(k,n++,m>>8)){g=$g.Ba;break}if(n>=a.Z&&(k=null,++d>=a.R&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=$g.Ba;break}}return l?l(g,b,c,d,e,f):g};
h.te=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&ah.Fa;this.g=this.f=b<<V.V.Eb|(c?V.bc:0)|d&V.yd;this.i=65536-e&65535;a&&(this.a=this.a|a|U.Ja);return!0};h.Yf=function(){return this.a&U.Db};
h.ph=function(a){this.a=this.a&~U.va|a&U.va;this.h=this.h&60|(a&U.ya)>>U.V.ya;if(!(this.a&U.za)){a=!0;var b=this.b[(this.a&U.Ta)>>U.V.Ta],c=b.P;this.a&=~U.ha;switch(this.a&U.ca){case bh.Ie:this.i&ch.nd&&(this.a&=U.ha|U.ca|U.ya);this.i=b.status|this.g&V.bc|(c&&512==c.M?ch.ce:0);break;case bh.cc:if((this.f&V.be)==V.Fe){var d=this.f&V.Eb;b=(this.f&V.He)<<2;this.g=this.f&V.Ge?this.g+d:this.g-d;this.f=this.g=this.g&V.Eb|b}break;case bh.ne:this.i=this.g;break;case bh.ke:d=this.sb;case bh.Le:d||(d=this.uc);
var e=this.f>>V.V.Eb;var f=this.f&V.bc?1:0;var g=this.f&V.yd;!c||e>=c.M||g>=c.R?this.a=this.a|$g.Ba|U.Ja:(a=65536-this.i&65535,c=(this.h&ah.Fa)<<16|this.m,a=d.call(this,b,e,f,g,a,c,2,!1,this.te.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&yc(this.c,this.qa))}};h.Wf=function(){return this.m};h.nh=function(a){this.m=a&dh.va};h.Zf=function(){return this.f};h.qh=function(a){this.f=a};h.$f=function(){return this.i};h.rh=function(a){this.i=a};h.Xf=function(){return this.h};
h.oh=function(a){this.h=a&ah.Fa;this.a=this.a&~U.ya|(this.h&3)<<U.V.ya};var U=D.we,dh=D.ue,V=D.xe,ch=D.ac,ah=D.ve,$g=D.md,bh=D.ca,eh={},Zg=(eh[63744]=[null,null,M.prototype.Yf,M.prototype.ph,"RLCS"],eh[63746]=[null,null,M.prototype.Wf,M.prototype.nh,"RLBA"],eh[63748]=[null,null,M.prototype.Zf,M.prototype.qh,"RLDA"],eh[63750]=[null,null,M.prototype.$f,M.prototype.rh,"RLMP"],eh[63752]=[null,null,M.prototype.Xf,M.prototype.oh,"RLBE"],eh);
function Mc(a){Dg.call(this,"RX11",a,262144,ub,ub.ye,fh);this.u=this.s=this.f=this.w=this.a=this.m=0;this.g=W.gb;this.i=0;this.h=Array(128).fill(0)}p(Mc,Dg);h=Mc.prototype;
h.bb=function(a){a?(a=ia(a),this.a=a.next().value,this.m=a.next().value,this.u=a.next().value,this.s=a.next().value,this.f=a.next().value,this.w=a.next().value,this.g=a.next().value,this.i=a.next().value,this.h=a.next().value):(this.m=this.a=0,this.s=this.u=1,this.w=this.f=0,this.g=W.Va,this.i=0,(a=this.qa)&&Dc(this.c,a),gh(this));return!0};h.oc=function(){return[this.a,this.m,this.u,this.s,this.f,this.w,this.g,this.i,this.h]};h.Md=function(a){0==a&&this.bb()};
function hh(a,b){b&&(a.w=b,a.m=a.f,a.a|=X.Ja);a.g=W.gb;a.a|=X.DONE;a.a&X.eb&&yc(a.c,a.qa)}h.sb=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.P,n=null;m||(k=a.pb?Y.Jc:Y.Ic,e=0);for(;e;){if(!n){if(b>=m.M){k=Y.he;break}n=m.seek(b,c,d+1);if(!n){k=Y.Qc;break}var q=0;++d>=m.R&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(n,q++))||0>(v=m.read(n,q++))){k=Y.Pc;break}Xb(this.v,Dd(this.c,f),a|v<<8);q>=m.Z&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
function gh(a){var b=0,c=a.a&X.Uc?1:0,d=a.b[c];d=d&&d.P;var e=a.u&ih.Fa,f=a.s&jh.Fa;a.f&=~(Z.kd|Z.ud|Z.Ab|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;e<f;){var g=d.read(c,e);if(0>g){b=Y.Pc;break}a.h[e++]=g}c.Te&&(a.f|=Z.Ab)}else b=Y.Qc;else b=c?Y.Jc:Y.Ic;hh(a,b)}h.bg=function(a,b){a=this.a;if(!b)switch(a&=X.Db,this.g){case W.Ec:case W.EMPTY:this.i<this.h.length&&(this.a|=X.Ga);break;case W.Va:case W.Fb:case W.dc:2>this.i&&(this.a|=X.Ga)}return a};
h.th=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Bb&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Bb|X.Ga|X.DONE|X.Ja),(a=this.qa)&&Dc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Fb:case W.dc:this.i=0;break;case W.me:a=this.b[this.a&X.Uc?1:0];this.f&=~Z.ha;a&&a.P&&(this.f|=Z.ha);this.m=this.f;hh(this);break;case W.le:this.m=this.w,hh(this)}else this.a&X.eb?this.a&X.DONE&&yc(this.c,this.qa):(a=this.qa)&&Dc(this.c,a)};
h.cg=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.m=this.h[this.i]&255,++this.i>=this.h.length&&hh(this))}return this.m};
h.uh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&hh(this));break;case W.Va:case W.Fb:case W.dc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)gh(this);else{var b=this.g==W.dc,c=0,d=this.a&X.Uc?1:0,e=this.b[d];e=e&&e.P;var f=this.u&ih.Fa,g=this.s&jh.Fa;this.f&=~(Z.kd|Z.ud|Z.Ab|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Te=!0),b=0,f=this.h.length;b<f;){if(!e.write(d,b,
this.h[b]&255)){c=Y.Pc;break}b++}else c=Y.Qc;else c=d?Y.Jc:Y.Ic;hh(this,c)}}}this.m=a};var X=ub.ze,ih=ub.Ce,jh=ub.Be,Z=ub.Ae,W=ub.ca,Y=ub.ae,kh={},fh=(kh[65144]=[null,null,Mc.prototype.bg,Mc.prototype.th,"RXCS"],kh[65146]=[null,null,Mc.prototype.cg,Mc.prototype.uh,"RXDB"],kh);
function lh(a,b,c){t.call(this,"Computer",a,33554432);this.j.S=!1;this.H=null;mh(this,b);this.B=dd(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.s=this.i=this.u=null;this.m=this.J=!1;this.l=this.h=null;this.I=this.C=this.F=!1;this.O=dd(this,"url")||"";(Math.random()+.1).toString(36);this.b=nh(this);if(this.c=hb("CPU",this.id)){this.D=hb("Debugger",this.id);this.v=new bc({id:this.Ua+".bus",busWidth:this.K},this.c,this.D);var d=fb(this.id);if(this.w=(this.f=hb("Panel",this.id))&&
this.f.o.print)for(b=0;b<d.length;b++){var e=d[b];e.G=this.f.G;e.print=this.f.print;e.aa=this.f.aa}this.aa(rb+" v1.37.1\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.aa("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<d.length;b++)e=d[b],e.ja&&e.ja(this,this.v,this.c,this.D);b=null;e=dd(this,"resume",a);void 0!==e&&(1<e.length?b=this.i=e:this.a=parseInt(e,
10));var f;if(a=dd(this,"state")||(f=!0,a.state))this.u=b=a,f||(this.m=!0,this.a=oh),this.a&&(this.l=new E(this,"1.37.1"),ph(this.l)?b=null:delete this.l);!b&&this.a&&(b=qh(this))&&(this.m=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.i=null,g.m=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.s=b,g.J=!0);B(g)})}else B(this);this.o.power||(this.B=!0);!c&&this.B&&this.Tb(this.Qb)}else r("Unable to find CPU component")}p(lh,t);
function mh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.H=b}function dd(a,b,c,d){var e=b.toLowerCase();e=Pa(b)||Pa(e);void 0===e&&a.H&&(e=a.H[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=lh.prototype;
h.Tb=function(a,b){for(var c=this,d=fb(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!ob(f)){ob(f,function(){c.Tb(a,b)});return}}a.call(this,b)};function rh(a,b){var c=new E(a,"1.37.1",sh);if(ph(c)&&th(c)){var d=c.get(uh),e=b?b.get(uh):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.Qb=function(a){void 0===a&&(a=this.a||(this.s?vh:oh));if(!this.g){this.g++;var b=!1,c=!1;this.F=!1;var d=this.l||new E(this,"1.37.1");if(a==wh)b=!0;else if(a>oh){if(ph(d,this.s)){this.h=new E(this,"1.37.1",zh);ph(this.h)&&(Ah(this,d),a=Bh,Ch(this.h));this.h.set(uh,Ea());Dh(this.h);var e=this.a&&!this.m;if(a==vh||db("Click OK to restore the previous "+rb+" machine state, or CANCEL to reset the machine.")){if(c=th(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ph(d,g):("error"==f&&"no machine state"!=
g?(this.G("Error: "+g),"unable to verify user"==g&&(Na(Eh,""),this.b=null)):this.aa(f+": "+g),Ch(d),ph(d)?(c=th(d),e=!0):c=!1))}e&&rh(this,c?d:null)}else a==Bh&&d.clear()}else rh(this);delete this.s;delete this.l}e=fb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=Fh(this,g,d,b,c));b=[d,a,c];a!=wh?this.Tb(this.Hd,b):this.Hd(b)}};
function Fh(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(/-[0-9]+\./i,".")))),"string"===typeof f&&(f=null),!b.la(f,d)&&f&&(r("Unable to restore state for "+b.type),a.u&&!a.J?(c.clear(),a.a=oh,window&&window.location.reload()):a.F=!0,b.la(null),e=!1),!d&&b.qd){var g=b.qd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){r("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Hd=function(a){var b=a[0],c=0>a[1];a=a[2];this.I=!0;this.j.S=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.c&&(Fh(this,this.c,b,c,a),Vb(this,-2),this.c.Y());this.F&&(Ah(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
function Ah(a,b){if(db("There may be a problem with your "+rb+" machine.\n\nTo help us diagnose it, click OK to send this "+rb+" machine state to http://www.pcjs.org.")){var c=a.O;a=a.b||"";b=b.toString();var d={};d.app=rb;d.ver="1.37.1";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
function Gh(a,b,c){var d="none";if(a.g)return null;a.g--;var e=new E(a,"1.37.1"),f=new E(a,"1.37.1",sh),g=Ea();f.set(uh,g);e.set(uh,g);e.set(Hh,"1.37.1");e.set(Ih,window?window.location.href:null);e.set(Jh,window?window.navigator.userAgent:"");if(a.c&&a.c.ka){c&&(b&&(a.c.j.Y=a.c.j.N),G(a.c));var k=a.c.ka(b,c);"object"===typeof k&&e.set(a.c.id,k);c&&(a.c.j.S=!1,!1===k&&(d=null))}g=fb(a.id);for(var l=0;l<g.length;l++){var m=g[l];m.j.S&&(m.ka&&(k=m.ka(b,c),"object"===typeof k&&e.set(m.id,k)),c&&(m.j.S=
!1,!1===k&&(d=null)))}d&&(c?(g=k=!1,b?(a.b&&Kh(a,a.b,e.toString()),Dh(f)&&Dh(e)||(d=null,k=g=!0)):a.a&&(k=!0,g=a.a==Lh),k&&e.clear(g)):d=e.toString());c&&(a.j.S=!1,b=a.o.power)&&(b.textContent="Power");a.g=0;return d}h.reset=function(){this.j.reset=!0;this.v&&this.v.reset&&this.v.reset();this.c&&this.c.reset&&this.c.reset();for(var a=fb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c!==this.c&&c.reset&&c.reset()}this.j.reset=!1;Vb(this,-1)};
h.start=function(a,b){for(var c=fb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Vb(this,-1)};h.stop=function(a,b){for(var c=fb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Vb(this,-1)};
function Vb(a,b){if(a.c){var c=a.c,d=b||0,e=c.o.speed;e&&(0>=d||30<=(c.hd+=d))&&(e.textContent=c.j.N?c.Wa.toFixed(2)+"Mhz":"Stopped",c.hd=0)}if(a.f&&(a=a.f,b=b||0,a.l)){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++)Lb(a,"R"+e,a.c.b[e]);e=Jc(a.c);Lb(a,"PS",e);Lb(a,"NF",e&8?1:0,1);Lb(a,"ZF",e&4?1:0,1);Lb(a,"VF",e&2?1:0,1);Lb(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.Ka);Hb(a,a.U);yb(a,a.b);b=a.c;b=b.jb?b.ta&16?1:2:4;$b(a,"B22",b&1);$b(a,"B18",b&2);$b(a,
"B16",b&4)}}
h.ma=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.g||(d.j.S?Gh(d,!1,!0):d.Tb(d.Qb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.j.S&&!d.g)if(d.a&&!d.i){var a=db("Click OK to save changes to this "+rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Gh(d,a,!0);!a&&d.u?window&&window.location.reload():(a||(d.C=!0),d.Qb(oh),d.C=!1)}else d.reset(),d.c&&!d.D&&d.c.Y()},!0;case "save":if(za(Ja(),"pcjs.org"))c.parentNode.removeChild(c);else return this.o[b]=
c,c.onclick=function(){var a=nh(d,!0);if(a){var b=!!(d.a&&!d.i||d.u),c=Gh(d,b);b?Kh(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function nh(a,b){var c=a.b;c||((c=Ma(Eh),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=Mh(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
function Mh(a,b){a.b=null;b=Ha(Ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Na(Eh,b.data),a.b=b.data)}catch(d){r(d.message+" ("+c+")")}return a.b}function qh(a){var b=null;a.b&&(b=Ja()+"/api/v1/user?req=load&user="+a.b+"&state="+Nh(a,"1.37.1"));return b}
function Kh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Nh(a,"1.37.1");d.data=c;b=Ha(Ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.G("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.G(c),Na(Eh,""),a.b=null)}}
function hg(a){var b;a=fb(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 kd(a){if(a.w){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.w.focus();window&&window.scrollTo(b,c)}}var zh="failsafe",sh="validate",uh="timestamp",Hh="version",Ih="url",Jh="browser",Eh="user",wh=-1,oh=0,vh=1,Bh=2,Lh=3;
Sa(function(){for(var a=z(document,y+"-machine"),b=0;b<a.length;b++){var c=a[b],d=A(c);c=z(c,y,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=A(f);g=new lh(g,d,!0);x(g,f);g.B&&g.Tb(g.Qb)}}});Ta.show.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=A(a[b]);if(c=hb("Computer",c.id))c.j.fd=!1,c.I&&!c.j.S&&c.Qb(wh)}});
Ta.exit.push(function(){for(var a=z(document,y,"computer"),b=0;b<a.length;b++){var c=A(a[b]);if(c=hb("Computer",c.id))c.j.fd=!0,c.j.S&&Gh(c,!(!c.a||c.i),!0)}});function E(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.o=!1;this.key=Nh(a,b,c);Ch(this,a.Ke)}h=E.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 ph(a,b){return b?(a.a=b,a.b=!0,a.o=!1,!0):a.b?!0:Ka()&&(b=Ma(a.key))?(a.a=b,a.b=!0):!1}
function th(a){var b=!0;if(!a.o)try{a.c=JSON.parse(a.a),a.o=!0}catch(c){r(c.message||c),b=!1}return b}function Dh(a){var b=!0;if(Ka()){var c=JSON.stringify(a.c);Na(a.key,c)||(r("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 Ch(a,b){a.a="";a.c={};a.b=a.o=!1;b&&a.set("parms",b)}
h.clear=function(a){Ch(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 Nh(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 Oh=0;
function Ph(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(k,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),g(l,null)):Qh(l,a,b,c,d,e,f,g)})}
function Qh(a,b,c,d,e,f,g,k){function l(a,g){if(g)k(g,null);else{c&&(ab(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),e=e.replace(/\$/g,"$$$$"),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,
"$1PDPjs$2"),a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,g)}}a?f?Rh(a,g,l):l(a,null):k("no data"+(b?" for file: "+
b:""),null)}
function Rh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,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/gi;m=n.exec(f);)l=0>l.toLowerCase().indexOf(m[1].toLowerCase())?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);Rh(a,b,c)}})}else c(a,null)}
function Sh(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&z(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=Aa(a))}function g(a){f("Error: "+a);m&&(--Oh||Xa(!0));m=!1}var k,l,m=!0;Oh++;bb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=n:v.appendChild(document.createTextNode(n));q.appendChild(v)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.37.1/components.xsl");n=function(e,l){l?Ph(d,null,a,null,!1,f,function(a,e){e?(ab(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Oh||Xa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Oh||
Xa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ph(c,b,a,e,!0,f,n):Qh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(u){g(u.message)}return m}window.embedPDP10=function(a,b,c,d){Xa(!1);return Sh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Xa(!1);return Sh("pdp11",a,b,c,d)};
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete jb[c],d=!0;else if("string"==typeof f&&!jb[c]){d=!0;e=jb;for(var g=c,k=f.length,l=[],m=[],n="",q=null,v=0;v<k;v++){var u=f[v];if('"'==u||"'"==u)q&&u!=q?n+=u:(q?q=null:q=u,n&&(m.push(n),n=""));else{if(!q){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){n&&(m.push(n),n="");";"==u&&m.length&&(l.push(m),m=[]);continue}}n+=u}}n&&m.push(n);m.length&&l.push(m);e[g]=l;ib(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(g=hb(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Xa;window.sendEvent=Za;})();//# sourceMappingURL=/versions/pdpjs/1.37.1/pdp11.map

File diff suppressed because one or more lines are too long