Updated PDP-10 README files

This commit is contained in:
Jeff 2017-03-10 11:22:51 -08:00 committed by Jeff Parsons
commit 52bd554cf1
9 changed files with 2187 additions and 51 deletions

View file

@ -7,6 +7,7 @@ permalink: /apps/pdp10/
PDP-10 Software
---------------
PCjs provides the following PDP-10 tests:
PCjs provides the following PDP-10 software:
- [PDP-10 Opcode Tests](tests/)
- [PDP-10 Tape Software](tapes/)

View file

@ -0,0 +1,12 @@
---
layout: page
title: PDP-10 Tape Software
permalink: /apps/pdp10/tapes/
---
PDP-10 Tape Software
--------------------
PCjs provides the following PDP-10 tape software:
[PDP-10 Diagnostic Tapes](diags/)

View file

@ -0,0 +1,12 @@
---
layout: page
title: PDP-10 Diagnostic Tapes
permalink: /apps/pdp10/tapes/diags/
---
PDP-10 Diagnostic Tapes
-----------------------
PCjs provides the following PDP-10 diagnostic tapes:
[PDP-10 KLAD Diagnostic Tapes](klad/)

View file

@ -0,0 +1,17 @@
---
layout: page
title: PDP-10 KLAD Diagnostic Tapes
permalink: /apps/pdp10/tapes/diags/klad/
---
PDP-10 KLAD Diagnostic Tapes
----------------------------
We have archived selected files from [PDP-10 KLAD Diagnostics Sources](http://pdp-10.trailing-edge.com/klad_sources/index.html),
including:
- [KA10 BASIC INSTRUCTION DIAGNOSTIC (MAINDEC-10-DAKAD-B-D)](dakad/)
The Debugger command `a 100 http://archive.pcjs.org/apps/pdp10/tapes/diags/klad/dakadm.mac.html` can be used to test the
new [MACRO-10](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) work-alike assembler being added to
the PDP-10 Emulator.

File diff suppressed because it is too large Load diff

View file

@ -2448,6 +2448,7 @@ class DebuggerPDP10 extends Debugger {
*/
loadAssembly(macro10, addrLoad)
{
this.println("loadAssembly()");
}
/**

View file

@ -70,23 +70,41 @@ class Macro10 {
var macro10 = this;
Web.getResource(sURL, null, true, function(sURL, sResource, nErrorCode) {
if (!nErrorCode) {
nErrorCode = macro10.parse(sResource);
nErrorCode = macro10.parse(sURL, sResource);
}
macro10.done(macro10, sURL, nErrorCode);
});
}
/**
* parse(sResource)
* parse(sURL, sResource)
*
* Begin the assembly process.
*
* @this {Macro10}
* @param {string} sURL
* @param {string} sResource
* @return {number}
*/
parse(sResource) {
this.dbg.println("resource length: " + sResource.length);
return 999;
parse(sURL, sResource)
{
var match, re;
var sText = sResource;
if (Str.endsWith(sURL, ".html")) {
/*
* We want to parse ONLY text between <PRE>...</PRE> tags.
*/
sText = "";
re = /<pre>([\s\S]*?)<\/pre>/gi;
while (match = re.exec(sResource)) {
sText += match[1];
}
}
var i;
var asLines = sText.split(/\r?\n/);
for (i = 0; i < asLines.length; i++) {
//this.dbg.println(asLines[i]);
}
return 0;
}
}

View file

@ -4,11 +4,19 @@ title: DEC PDP-10 Publications and Papers
permalink: /pubs/dec/pdp10/
---
PDP-10 Hardware Publications
----------------------------
PDP-10 Publications
-------------------
This page summarizes PDP-10 documentation that was useful in creating [PDPjs](/docs/pdpjs/). In most cases,
these documents came from the PDF Document Archive at [bitsavers.org](http://bitsavers.org), in the [/pdf/dec/pdp10/](http://bitsavers.org/pdf/dec/pdp10/)
directory. If a PDF was not searchable, it was "OCR'ed" before being archived below.
PDP-10 Hardware Publications
----------------------------
- [PDP-10 System Reference Manual (1968)](http://archive.pcjs.org/pubs/dec/pdp10/ka10/DEC-10-HGAA-D_PDP-10_System_Reference_Manual_May1968.pdf) [[Original PDF](http://bitsavers.trailing-edge.com/pdf/dec/pdp10/KA10/DEC-10-HGAA-D_PDP-10_System_Reference_Manual_May1968.pdf)]
PDP-10 Software Publications
----------------------------
- [MACRO-10 Assembler Programmer's Reference Manual (April 1972)](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) [[Original PDF](http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp10/TOPS10/1973_Assembly_Language_Handbook/02_1973AsmRef_macro.pdf)]

View file

@ -35,14 +35,13 @@ var qa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:1
Uc:88,Vc:89,Bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Wc:97,Xc:98,Yc:99,d:100,e:101,Zc:102,$c:103,ad:104,bd:105,cd:106,k:107,dd:108,ed:109,n:110,fd:111,p:112,q:113,r:114,gd:115,t:116,jd:117,kd:118,ld:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ab:127};
function ra(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):
2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function sa(a,b,c,d){var e="";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))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ta(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return sa(a,8,b,c?"0o":"")}
function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return sa(a,16,b,c?"0x":"")}function ua(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 va(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function wa(){var a=xa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}
function Ca(a,b){return(a+" ").slice(0,b)}function Da(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Ea(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
function Fa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ga(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return sa(a,16,b,c?"0x":"")}function ua(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 va(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function wa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function xa(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)}
function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Da(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function Ea(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Fa(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="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));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 Ma(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
function Ga(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ea=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=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.Y=e)}return d}
function xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Na(){if(null==Oa){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}Oa=a}return Oa}function Pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ma(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Na(){if(null==Oa){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}Oa=a}return Oa}function Pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ra(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Sa(a){if(!Ta){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ta=c}return Ta[a]}function Ua(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Va(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Ya.init.push(a)}
@ -148,11 +147,11 @@ b){H(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){H(this,
this.f(b);Q(a,this.b*z)||H(this,this.i+1);this.g(b,T(a,this.b*z))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(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);
Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){H(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);Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],ie=[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.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
function ve(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ua(this.w);if(this.w){a=this.w;var b=va(this.F);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(kb(c.Qa,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);we(c)})}}m(ve,u);
function ve(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ua(this.w);if(this.w){a=this.w;var b=va(this.F);"json"!=b&&"hex"!=b&&(a=Ma()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(kb(c.Qa,a,b),(a=Ga(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);we(c)})}}m(ve,u);
ve.prototype.Ca=function(a,b,c,d){this.H=b;this.v=c;this.D=d;we(this)};ve.prototype.ua=function(){this.U&&(this.D&&xe(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};ve.prototype.ia=function(){return!0};
function we(a){if(!Ib(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Gb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Ec(a.H,b,a.u,Mc)){var c;for(c=0;c<a.b.length;c++)uc(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.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;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}}}Jb(a)}}Xa(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new ve(d);rb(d,c)}});
function ye(a){u.call(this,"RAM",a);this.U=this.Ea=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.B=ua(this.b);if(this.b){a=this.b;var b=va(this.B);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(kb(c.Qa,a,b),(a=Ma(a,b))?(c.Ea=a.Ea,
function ye(a){u.call(this,"RAM",a);this.U=this.Ea=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.B=ua(this.b);if(this.b){a=this.b;var b=va(this.B);"json"!=b&&"hex"!=b&&(a=Ma()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(kb(c.Qa,a,b),(a=Ga(a,b))?(c.Ea=a.Ea,
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);ze(c)})}}m(ye,u);ye.prototype.Ca=function(a,b,c,d){this.H=b;this.v=c;this.D=d;ze(this)};ye.prototype.ua=function(a,b){this.U&&(this.D&&xe(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};ye.prototype.ia=function(){return!0};
function ze(a){if(a.H&&(!a.w&&a.u&&(Ec(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Ib(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Ea)return;Ae(a,a.Ea,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;Jb(a)}}
ye.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=E);for(var g=Math.trunc(Math.abs(g))%E,h=d;f--&&h<e.size;h++)e.w(g,d,e.C+d);c-=16384;b++;d=0}this.Ea&&Ae(this,this.Ea,this.sa,this.ra,this.i,!this.D)}this.F=!1};
@ -160,13 +159,13 @@ function Ae(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;
function Be(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ce;b&&(void 0===c&&(c="Panel"),(c=qb(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.B=null;this.exports={connect:this.wb,receiveData:this.Ua,receiveStatus:this.Ub,setConnection:this.Xb}}m(Be,u);l=Be.prototype;
l.ja=function(a,b,c){var d=this;switch(b){case Ce:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?qa.lb:qa.Ab:46==c?b=qa.lb:a.ctrlKey&&c>=qa.kb&&c<=qa.Bb&&(b=c-(qa.kb-qa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==qa.zb&&(b=qa.yb);d.Ua(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.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ca=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Jb(this)};
l.wb=function(a){if(!this.b){var b=Xc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.Pa)return;c=Da(c[1]);if(this.b=pb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.wb=function(a){if(!this.b){var b=Xc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Pa)return;c=Ca(c[1]);if(this.b=pb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=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};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Ce="buffer";
Xa(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Be(d);rb(d,c)}});function De(a,b,c){this.b=b;this.done=c;var d=this;Ga(a,null,!0,function(a,b,c){c||(d.b.j("resource length: "+b.length),c=999);d.done(d,a,c)})}function Ee(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}m(Ee,u);Ee.prototype.gb=function(){return-1};Ee.prototype.hb=function(){};
function Fe(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.P?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(Da(b.substring(c,f))),c=f+1}}return a}
Xa(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Be(d);rb(d,c)}});function De(a,b){this.done=b;var c=this;Fa(a,null,!0,function(a,b,f){if(!f){var d,e=b;if(wa(a,".html"))for(e="",d=/<pre>([\s\S]*?)<\/pre>/gi;f=d.exec(b);)e+=f[1];f=e.split(/\r?\n/);for(b=0;b<f.length;b++);f=0}c.done(c,a,f)})}function Ee(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}m(Ee,u);Ee.prototype.gb=function(){return-1};
Ee.prototype.hb=function(){};function Fe(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.P?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(Ca(b.substring(c,f))),c=f+1}}return a}
function Ge(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function He(a,b,c){var d;if(b){b=Ie(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],t=p.length,p=Da(p);if(!p){f=!0;break}p=Je(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],C=p.length;k.length&&Ke[p]<Ke[k[k.length-1]]&&Ge(h,k,1);k.push(p);b=b.substr(t+C)}Ge(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Le(a,null,
function He(a,b,c){var d;if(b){b=Ie(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],t=p.length,p=Ca(p);if(!p){f=!0;break}p=Je(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],C=p.length;k.length&&Ke[p]<Ke[k[k.length-1]]&&Ge(h,k,1);k.push(p);b=b.substr(t+C)}Ge(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Le(a,null,
d))}return d}function Ie(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",f=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=He(a,c[1]);b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Je(a,b,c,d){var e;null!=b?(e=a.gb(b),0<=e?e=a.hb(e):(e=a.T[b],null==e&&(e=ra(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function Le(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,n=void 0,p=8,t="";p?32<p&&(p=32):p=32;for(var C=null==k||isNaN(k),ca=n=n||p;0<p--;)ca||(t=","+t,ca=n),t=(C?"?":k&1?"1":"0")+t,k>>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+ta(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
@ -188,74 +187,74 @@ function lf(a,b){var c;(c=!a.v||!Ib(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+"
l.save=function(){var a=new G(this);a.set(0,Te(this.K));a.set(1,Te(this.ga));a.set(2,Te(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=Ue(this,a[b++]),this.ga=Ue(this,a[b++]),this.ba=Ue(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.A.L=!0;this.za=a;this.Aa=b};
l.stop=function(a,b){if(this.A.L){this.A.L=!1;this.B=b-this.Aa;if(!this.N){b="stopped";if(this.B){a-=this.za;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";pd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Mb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}$c(this,!0);ad(this);pf(this,this.v.i);this.S=null}};function pd(a){return 1<a.b.length||!!a.ka}
function qd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=od(a.v,1)));if(0<c&&(a.ka&&!--a.ka||Uc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(Se(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}
function qf(a,b,c,d){var e=X(b.C),f=a.Da(b,1),g,h,k,n=0,p=f/Ub|0,t;for(t in rf)if(g=rf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=Vf;n=p&3;break;case 32256:k=Xf;n=p&7;break;case 29248:k=Yf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>Zf&&(k="B");k=$f[g||0]+k;if(g){if(28700==h)n=f/Vb&127,h=J(a,n,-1);else if(n=f>>23&15,h=J(a,n,-1),g==ag&&(g=bg[n]))k=$f[g],h="";k=Ca(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,-1)+")")}else k=Ca(k,8)+Ze(f);f=k;g="";h=Z(a,
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Da(e,1),g+=" "+Ze(k),null==e.C)break;while(e.C!=b.C)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.Ga?h+("cycles="+cd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h}
function cg(a,b,c,d){var e=-1,f,g,h=b.toUpperCase(),k;for(k in bg)if(g=bg[k],h==$f[g]){h=$f[ag];c=J(a,+k)+","+c;break}for(var n in rf){f=+n;var p=rf[n];switch(f){case 32512:k=Vf;break;case 32256:k=Xf;break;case 29248:k=Yf;break;default:k=[""]}for(var t in p){g=p[t];for(var C=0;C<k.length;C++){var ca=k[C];"S"==ca&&g>Zf&&(ca="B");if(h==$f[g]+ca){e=29248!=f?C:(C&3)<<1|(C&12)<<2;e=(t|e<<6)*Ub;break}}if(0<=e)break}if(0<=e)break}if(0<=e)if(c)for(b=c.split(","),c=0;c<b.length;c++){if(h=b[c].trim()){if(1<
function qf(a,b,c,d){var e=X(b.C),f=a.Da(b,1),g,h,k,n=0,p=f/Ub|0,t;for(t in rf)if(g=rf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=sf;n=p&3;break;case 32256:k=Wf;n=p&7;break;case 29248:k=Yf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>Zf&&(k="B");k=$f[g||0]+k;if(g){if(28700==h)n=f/Vb&127,h=J(a,n,-1);else if(n=f>>23&15,h=J(a,n,-1),g==ag&&(g=bg[n]))k=$f[g],h="";k=Ba(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,-1)+")")}else k=Ba(k,8)+Ze(f);f=k;g="";h=Z(a,
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Da(e,1),g+=" "+Ze(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.A.Ga?h+("cycles="+cd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h}
function cg(a,b,c,d){var e=-1,f,g,h=b.toUpperCase(),k;for(k in bg)if(g=bg[k],h==$f[g]){h=$f[ag];c=J(a,+k)+","+c;break}for(var n in rf){f=+n;var p=rf[n];switch(f){case 32512:k=sf;break;case 32256:k=Wf;break;case 29248:k=Yf;break;default:k=[""]}for(var t in p){g=p[t];for(var C=0;C<k.length;C++){var ca=k[C];"S"==ca&&g>Zf&&(ca="B");if(h==$f[g]+ca){e=29248!=f?C:(C&3)<<1|(C&12)<<2;e=(t|e<<6)*Ub;break}}if(0<=e)break}if(0<=e)break}if(0<=e)if(c)for(b=c.split(","),c=0;c<b.length;c++){if(h=b[c].trim()){if(1<
c){a.j("too many operands: "+h);e=-1;break}n=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!n){a.j("unknown operand: "+h);e=-1;break}h=n[2];c&&(h=h.replace(/(^|[^0-9])\./g,"$1"+Z(a,d)));t=He(a,h);if(void 0==t){e=-1;break}if(!c&&1<b.length)if(28700==f){if(0>t||127<t){a.j("device code out of range: "+h);e=-1;break}e+=t*Vb}else{if(0>t||15<t){a.j("accumulator address out of range: "+h);e=-1;break}e+=t<<23}else{if(0>t||262143<t){a.j("memory address out of range: "+h);e=-1;break}e+=t;if(h=n[3]){t=He(a,h);if(void 0==
t){e=-1;break}if(0>t||15<t){a.j("memory index out of range: "+h);e=-1;break}e+=t<<18}n[1]&&(e+=4194304)}}}else a.j("missing operand(s)"),e=-1;else a.j("unknown instruction: "+b);return e}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Re(c);var d=a.H;Tc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Re(c),d=a.H,Tc(d.b[c>>>d.i],!0);a.I=["bw"];a.oa=0;a.ka=0}
l.Fa=function(a,b,c){var d=!0;c||dg(this,a,b,!1,!0);if(a!=this.b){var e=Re(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Fa(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(eg(this,a,a.length-1,"set"),Pe(this)));return d};function dg(a,b,c,d,e){var f=!1;c=Re(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Re(h)&&(!d||h.ha)){f=!0;h.ha||e||eg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Tc(d.b[c>>>d.i],b==a.I));h.ha||Pe(a);break}}return f}
function fg(a,b){for(var c=1;c<b.length;c++)eg(a,b,c);return b.length-1}function eg(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function pf(a,b){if(void 0!==b)Uc(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!dg(a,a.b,c,!0))break;b=0}}}
function Uc(a,b,c,d,e){var f=!1;if(!a.oa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=Re(h)&(d==a.b?65535:-1),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.ha&&(dg(a,d,h,!0),e=!0);if(p=h.ob){for(var f=!1,t=0;t<p.length;t++)if(!gg(a,p[t],!0)){if(p[t].indexOf("if")){f=!0;break}for(var C=t+1;C<p.length&&p[C].indexOf("else");C++)t++;if(C==p.length){f=!0;break}}a.v.A.L||(f=!0)}if(f){e||eg(a,d,g,"hit");break}}}a.oa--;return f}
function hg(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=ta(d,2);Se(e.xa,d);f+="="+J(e,e.Da(e.xa),36)+" ";c+=f}if(b){b="";for(d=0;d<$e.length;d++)(e=$e[d]||"")&&(e+="="+J(a,a.hb(d),d>=df?1:d==bf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function xe(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,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Ea(p,k,a.tb);0>t&&p.splice(-(t+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function ig(a,b,c){var d=[],e=Re(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Ea(f.pb,[e-g],a.tb);0<=e?jg(a,b,e,d):c&&(e=~e,jg(a,b,e-1,d),jg(a,b,e,d));break}}return d}
function xe(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,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Da(p,k,a.tb);0>t&&p.splice(-(t+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function ig(a,b,c){var d=[],e=Re(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Da(f.pb,[e-g],a.tb);0<=e?jg(a,b,e,d):c&&(e=~e,jg(a,b,e-1,d),jg(a,b,e,d));break}}return d}
function jg(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function kg(a,b){var c=We(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+Z(a,c)),a.P=!0,I(a.G)):0<=d.indexOf(":")?a.na?a.j("assembly already in progress"):a.na=new De(d,a,function(b,c,d){d&&a.j("error assembling "+c+": ("+d+")");a.na=null}):(b.shift(),b.shift(),b.shift(),b=cg(a,d,b.join(""),c),0<=b&&(a.mb(c,b),a.j(qf(a,c))))}}
function kg(a,b){var c=We(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+Z(a,c)),a.P=!0,I(a.G)):0<=d.indexOf(":")?a.na?a.j("assembly already in progress"):a.na=new De(d,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.na=null}):(b.shift(),b.shift(),b.shift(),b=cg(a,d,b.join(""),c),0<=b&&(a.mb(c,b),a.j(qf(a,c))))}}
function lg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Me(a)||a.j("no variables"),!0;if(!c[2])return Me(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=He(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function mg(a,b,c){var d=null;if(b=We(a,b)){var e=ig(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function nf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\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.j("missing value for "+b[1]);return}g=He(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case af:H(h,
g);Se(a.K,h.i);break;case df:f=65536;break;case ef:f=32768;break;case ff:f=131072;break;case gf:f=32;break;case hf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);I(a.G);a.j("updated registers:")}}a.j(hg(a,e));c&&(Se(a.K,d.i),of(a,Z(a,a.K)))}}function ng(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Le(a,null,c[2].charCodeAt(0)):He(a,b,!0)}
g);Se(a.K,h.i);break;case df:f=65536;break;case ef:f=32768;break;case ff:f=131072;break;case gf:f=32;break;case hf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);I(a.G);a.j("updated registers:")}}a.j(hg(a,e));c&&(Se(a.K,d.i),of(a,Z(a,a.K)))}}function ng(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Le(a,null,c[2].charCodeAt(0)):He(a,b,!0)}
function og(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Je(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.qa=b;Ua(c,function(){return Lb(a,!0)&&pc(a,e,d,!1)},function(){a.ea&&a.ea.stop();I(a.G,-1);Lb(a,!1)})}}
function of(a,b,c,d){if(b=We(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Je(a,c.substr(1)),null!=c&&(d=c);else{d=We(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Kb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=ig(a,b),k=b.C;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.C=n.C;h.Sa=n.Sa;h.ha=n.ha;h.ca=n.ca;a.j(qf(a,b,g,f));e-=b.C-k;c++}}}
function gg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(mf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ib(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),n=1;n<h.length;n++){var p=h.charAt(n);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(n);g.unshift(h.substr(0,n));break}}switch(g[0].charAt(0)){case "a":kg(a,g);break;
case "b":a:{var t=g[0],C=g[1],ca=b;if("?"==C)a.j("breakpoint commands:"),a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ha=t.charAt(1);if("l"==Ha){var xd;xd=0+fg(a,a.b);xd+=fg(a,a.M);(xd+=fg(a,a.I))||a.j("no breakpoints")}else if("n"==Ha){var sf=+C||0;C&&(a.ka=sf);a.j("break after "+sf+" instruction(s)")}else if(void 0===
case "b":a:{var t=g[0],C=g[1],ca=b;if("?"==C)a.j("breakpoint commands:"),a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ha=t.charAt(1);if("l"==Ha){var xd;xd=0+fg(a,a.b);xd+=fg(a,a.M);(xd+=fg(a,a.I))||a.j("no breakpoints")}else if("n"==Ha){var tf=+C||0;C&&(a.ka=tf);a.j("break after "+tf+" instruction(s)")}else if(void 0===
C)a.j("missing breakpoint address");else{var Y=X();if("*"!=C&&(Y=We(a,C,a.K),!Y))break a;"c"==Ha?null==Y.C?(Oe(a),a.j("all breakpoints cleared")):dg(a,a.b,Y)||dg(a,a.M,Y)||dg(a,a.I,Y)||a.j("breakpoint missing: "+Z(a,Y)):null!=Y.C&&(Ye(a,Y,ca),"p"==Ha?a.Fa(a.b,Y):"r"==Ha?a.Fa(a.M,Y):"w"==Ha?a.Fa(a.I,Y):a.j("unknown breakpoint command: "+Ha))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var Za,$a=g[0],la=g[1],ya=g[2],Qg=g[3];if("?"==la){var ab="";for(Za in Yb)a.ma[Za]&&(ab&&(ab+=","),ab+=
Za);ab+=",state,symbols";a.j("dump memory commands:");a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");ab.length&&a.j("dump extension commands:\n\t"+ab)}else if("state"==la){var yd=pg(a.G,!0);"console"==ya?console.log(yd):(a.ta&&(a.ta.value=""),yd&&a.j(yd))}else if("symbols"==la)for(var zd=0;zd<a.F.length;zd++){var Ad=a.F[zd],bb;for(bb in Ad.U)if("."!=bb.charAt(0)){var tf=Ad.U[bb].o;
if(void 0!==tf){var uf=Ad.U[bb].l;uf&&(bb=uf);a.j(J(a,tf)+" "+bb)}}}else{if("d"==$a){for(Za in Yb)if(g[1]==Za){var vf=a.ma[Za];vf?(g.shift(),g.shift(),vf(g)):a.j("no dump registered for "+la);break a}la||($a=a.Ba||"dw")}else a.Ba=$a;if("dh"==$a){var wf=la,xf=ya,yf="",zf=0,ha=a.R,ma=a.i;if(ma.length){var da=+wf||a.pa,vb=+xf||10;isNaN(da)?da=vb:yf="more ";da>ma.length&&(a.j("note: only "+ma.length+" available"),da=ma.length);ha-=da;0>ha&&(null==ma[ma.length-1].C?(da=ha+da,ha=0):ha+=ma.length);var Bd=
[];"call"==xf&&(vb=1E5,Bd=["CALL"]);for(void 0!==wf&&a.j(da+" instructions earlier:");0<vb&&ha!=a.R;){var Af=ma[ha++];if(null==Af.C)break;var wb=X(Af.C),Rg=da--,Bf=qf(a,wb,"history",Rg);(!Bd.length||0<=Bf.indexOf(Bd[0]))&&a.j(Bf);wb.eb&&(ha+=wb.eb,vb-=wb.eb,da-=wb.eb);ha>=ma.length&&(ha=0);a.pa=da;zf++;vb--}}zf||(a.j("no "+yf+"history available"),a.pa=void 0)}else{var cb=We(a,la,a.ga);if(cb){var Ia=0,Cf="ds"==$a;if(ya){if("l"==ya.charAt(0))ya=ya.substr(1)||Qg,Ia=Je(a,ya);else{var Df=We(a,ya);Df&&
(Ia=Df.C-cb.C)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var Sg=a.ca;cb.ca&&(a.ca=cb.ca);for(var Ef="db"==$a?1:2,Cd=Ia||32,Dd=1==Ef?2:4,Tg=(Cd+Dd-1)/Dd|0||1,Ja="";Tg--&&0<Cd;){for(var Ka="",Ff="",la=Z(a,cb),Gf=Dd;0<Gf--&&0<Cd--;){var vc=a.Da(cb,1);Cf?(Ka&&(Ka+=","),Ka+=vc):(Ka+=Ze(vc),Ka+=" ");for(var Hf=0;1==Ef&&6>Hf;Hf++)Ff+=String.fromCharCode((vc%64|0)+32),vc/=64}Ja&&(Ja+="\n");Ja=Cf?Ja+(Ka+","):Ja+(la+": "+Ka+(0>Gf?" "+Ff:""))}Ja&&a.j(Ja);a.ca=Sg}}}}break;case "e":if("else"==g[0])break;var If,Jf,Kf=
g[0],Ed=g[1];"e"==Kf||"ew"==Kf?(If=a.Da,Jf=a.mb):Ed=null;if(null==Ed)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var wc=We(a,Ed,a.ga);if(wc)for(var Fd=2;Fd<g.length;Fd++){var xb=He(a,g[Fd]);if(void 0===xb)break;xb=Xe(xb);a.j("changing "+Z(a,wc)+" from "+Ze(If.call(a,wc))+" to "+Ze(xb));Jf.call(a,wc,xb,1)}}break;case "g":a:{var Lf=g[1],Ug=b;if(void 0!==Lf){var Gd=We(a,Lf);if(!Gd)break a;Ye(a,Gd,Ug);a.Fa(a.b,Gd,!0)}kf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"),
a.W()):Kb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Hd;var yb=b.substr(2),yb=Da(yb);He(a,yb)?(c||a.j("true: "+yb),Hd=!0):(c||a.j("false: "+yb),Hd=!1);Hd||(d=!1);break}f=!0;break;case "k":var Vg=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Id=0,Jd=X(),zb=X();for(a.j("stack trace for "+Z(a,zb));10>Id;){for(var La=null,Wg=256;65536>zb.C>>>0;){Jd.C=a.Da(zb,2);if(null==zb.C||!Wg--)break;if(!(Jd.C&1)){for(var Xg=
a,xc=Jd,Mf=null,Ab=xc.C,Nf=Ab,Kd=1;6>=Kd&&Ab;Kd++){if(2<Kd){xc.C=Ab;var yc=qf(Xg,xc);if(0<=yc.indexOf("JSR")){var Of=yc.indexOf(" ");if(Ab+(yc.indexOf(" ",Of+1)-Of-1)/2==Nf){Mf=yc;break}}}Ab-=2}xc.C=Nf;if(La=Mf)break}}if(!La||null==La)break;var Pf=null;if("ks"==Vg){var Qf=La.match(/[0-9A-F]+$/);Qf&&(Pf=mg(a,Qf[0]))}La=Ca(La,50)+" ;"+(Pf||"stack="+Z(a,zb));a.j(La);Id++}Id||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){mg(a,g[1],!0);break}f=!0;break;case "m":a:{var na,oa=null,K=g[1];
"?"==K&&(K=void 0);if(void 0!==K){var za=0;if("all"==K)za=1879046143,K=null;else if("on"==K)oa=!0,K=null;else if("off"==K)oa=!1,K=null;else{"keys"==K&&(K="key");"kbd"==K&&(K="keyboard");for(na in Yb)if(K==na){za=Yb[na];oa=!!(a.X&za);break}if(!za){a.j("unknown message category: "+K);break a}}if(za)if("on"==g[2])a.X|=za,oa=!0;else if("off"==g[2]&&(a.X&=~za,oa=!1,1073741824==za)){for(var Rf=1E3<=a.O.length?a.O.length-1E3:0;Rf<a.O.length;)a.j(a.O[Rf++]);a.O=[]}}var Yg=0,Bb="";for(na in Yb)if(!K||K==na){var Zg=
!!(a.X&Yb[na]);if(null===oa||oa==Zg)Bb&&(Bb+=","),++Yg%10||(Bb+="\n\t"),"key"==na&&(na="keys"),Bb+=na}void 0===K&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==oa?oa?"messages on: ":"messages off: ":"message categories:\n\t")+(Bb||"none"));Pe(a)}break;case "p":if("print"==g[0]){ng(a,b.substr(5));break}var Sf=g[0],Tf="p"==Sf?0:"pr"==Sf?1:-1;if("?"==g[1]||0>Tf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");
else if(a.N)a.j("step in progress");else{var Uf=X(a.v.i);a.Da(Uf);a.N?(a.Fa(a.b,Uf,!0),kf(a)||(a.G&&gd(a.G),a.N=0)):og(a,Tf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}nf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Cb=+g[2];if(8==Cb||10==Cb||16==Cb)a.ca=Cb;else{a.j("invalid base: "+Cb);break}}a.j("default base: "+a.ca);break;case "cs":var Db;void 0!==g[3]&&(Db=+g[3]);switch(g[2]){case "int":a.v.ka=Db;break;case "start":a.v.Aa=Db;break;case "stop":a.v.ma=Db;break;
Za);ab+=",state,symbols";a.j("dump memory commands:");a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");ab.length&&a.j("dump extension commands:\n\t"+ab)}else if("state"==la){var yd=pg(a.G,!0);"console"==ya?console.log(yd):(a.ta&&(a.ta.value=""),yd&&a.j(yd))}else if("symbols"==la)for(var zd=0;zd<a.F.length;zd++){var Ad=a.F[zd],bb;for(bb in Ad.U)if("."!=bb.charAt(0)){var uf=Ad.U[bb].o;
if(void 0!==uf){var vf=Ad.U[bb].l;vf&&(bb=vf);a.j(J(a,uf)+" "+bb)}}}else{if("d"==$a){for(Za in Yb)if(g[1]==Za){var wf=a.ma[Za];wf?(g.shift(),g.shift(),wf(g)):a.j("no dump registered for "+la);break a}la||($a=a.Ba||"dw")}else a.Ba=$a;if("dh"==$a){var xf=la,yf=ya,zf="",Af=0,ha=a.R,ma=a.i;if(ma.length){var da=+xf||a.pa,vb=+yf||10;isNaN(da)?da=vb:zf="more ";da>ma.length&&(a.j("note: only "+ma.length+" available"),da=ma.length);ha-=da;0>ha&&(null==ma[ma.length-1].C?(da=ha+da,ha=0):ha+=ma.length);var Bd=
[];"call"==yf&&(vb=1E5,Bd=["CALL"]);for(void 0!==xf&&a.j(da+" instructions earlier:");0<vb&&ha!=a.R;){var Bf=ma[ha++];if(null==Bf.C)break;var wb=X(Bf.C),Rg=da--,Cf=qf(a,wb,"history",Rg);(!Bd.length||0<=Cf.indexOf(Bd[0]))&&a.j(Cf);wb.eb&&(ha+=wb.eb,vb-=wb.eb,da-=wb.eb);ha>=ma.length&&(ha=0);a.pa=da;Af++;vb--}}Af||(a.j("no "+zf+"history available"),a.pa=void 0)}else{var cb=We(a,la,a.ga);if(cb){var Ia=0,Df="ds"==$a;if(ya){if("l"==ya.charAt(0))ya=ya.substr(1)||Qg,Ia=Je(a,ya);else{var Ef=We(a,ya);Ef&&
(Ia=Ef.C-cb.C)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var Sg=a.ca;cb.ca&&(a.ca=cb.ca);for(var Ff="db"==$a?1:2,Cd=Ia||32,Dd=1==Ff?2:4,Tg=(Cd+Dd-1)/Dd|0||1,Ja="";Tg--&&0<Cd;){for(var Ka="",Gf="",la=Z(a,cb),Hf=Dd;0<Hf--&&0<Cd--;){var vc=a.Da(cb,1);Df?(Ka&&(Ka+=","),Ka+=vc):(Ka+=Ze(vc),Ka+=" ");for(var If=0;1==Ff&&6>If;If++)Gf+=String.fromCharCode((vc%64|0)+32),vc/=64}Ja&&(Ja+="\n");Ja=Df?Ja+(Ka+","):Ja+(la+": "+Ka+(0>Hf?" "+Gf:""))}Ja&&a.j(Ja);a.ca=Sg}}}}break;case "e":if("else"==g[0])break;var Jf,Kf,Lf=
g[0],Ed=g[1];"e"==Lf||"ew"==Lf?(Jf=a.Da,Kf=a.mb):Ed=null;if(null==Ed)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var wc=We(a,Ed,a.ga);if(wc)for(var Fd=2;Fd<g.length;Fd++){var xb=He(a,g[Fd]);if(void 0===xb)break;xb=Xe(xb);a.j("changing "+Z(a,wc)+" from "+Ze(Jf.call(a,wc))+" to "+Ze(xb));Kf.call(a,wc,xb,1)}}break;case "g":a:{var Mf=g[1],Ug=b;if(void 0!==Mf){var Gd=We(a,Mf);if(!Gd)break a;Ye(a,Gd,Ug);a.Fa(a.b,Gd,!0)}kf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"),
a.W()):Kb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Hd;var yb=b.substr(2),yb=Ca(yb);He(a,yb)?(c||a.j("true: "+yb),Hd=!0):(c||a.j("false: "+yb),Hd=!1);Hd||(d=!1);break}f=!0;break;case "k":var Vg=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Id=0,Jd=X(),zb=X();for(a.j("stack trace for "+Z(a,zb));10>Id;){for(var La=null,Wg=256;65536>zb.C>>>0;){Jd.C=a.Da(zb,2);if(null==zb.C||!Wg--)break;if(!(Jd.C&1)){for(var Xg=
a,xc=Jd,Nf=null,Ab=xc.C,Of=Ab,Kd=1;6>=Kd&&Ab;Kd++){if(2<Kd){xc.C=Ab;var yc=qf(Xg,xc);if(0<=yc.indexOf("JSR")){var Pf=yc.indexOf(" ");if(Ab+(yc.indexOf(" ",Pf+1)-Pf-1)/2==Of){Nf=yc;break}}}Ab-=2}xc.C=Of;if(La=Nf)break}}if(!La||null==La)break;var Qf=null;if("ks"==Vg){var Rf=La.match(/[0-9A-F]+$/);Rf&&(Qf=mg(a,Rf[0]))}La=Ba(La,50)+" ;"+(Qf||"stack="+Z(a,zb));a.j(La);Id++}Id||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){mg(a,g[1],!0);break}f=!0;break;case "m":a:{var na,oa=null,K=g[1];
"?"==K&&(K=void 0);if(void 0!==K){var za=0;if("all"==K)za=1879046143,K=null;else if("on"==K)oa=!0,K=null;else if("off"==K)oa=!1,K=null;else{"keys"==K&&(K="key");"kbd"==K&&(K="keyboard");for(na in Yb)if(K==na){za=Yb[na];oa=!!(a.X&za);break}if(!za){a.j("unknown message category: "+K);break a}}if(za)if("on"==g[2])a.X|=za,oa=!0;else if("off"==g[2]&&(a.X&=~za,oa=!1,1073741824==za)){for(var Sf=1E3<=a.O.length?a.O.length-1E3:0;Sf<a.O.length;)a.j(a.O[Sf++]);a.O=[]}}var Yg=0,Bb="";for(na in Yb)if(!K||K==na){var Zg=
!!(a.X&Yb[na]);if(null===oa||oa==Zg)Bb&&(Bb+=","),++Yg%10||(Bb+="\n\t"),"key"==na&&(na="keys"),Bb+=na}void 0===K&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==oa?oa?"messages on: ":"messages off: ":"message categories:\n\t")+(Bb||"none"));Pe(a)}break;case "p":if("print"==g[0]){ng(a,b.substr(5));break}var Tf=g[0],Uf="p"==Tf?0:"pr"==Tf?1:-1;if("?"==g[1]||0>Uf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");
else if(a.N)a.j("step in progress");else{var Vf=X(a.v.i);a.Da(Vf);a.N?(a.Fa(a.b,Vf,!0),kf(a)||(a.G&&gd(a.G),a.N=0)):og(a,Uf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}nf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Cb=+g[2];if(8==Cb||10==Cb||16==Cb)a.ca=Cb;else{a.j("invalid base: "+Cb);break}}a.j("default base: "+a.ca);break;case "cs":var Db;void 0!==g[3]&&(Db=+g[3]);switch(g[2]){case "int":a.v.ka=Db;break;case "start":a.v.Aa=Db;break;case "stop":a.v.ma=Db;break;
default:a.j("unknown cs option");break a}void 0!==Db&&Zc(a.v);a.j("checksums "+(a.v.A.Ga?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(dd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),
a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":og(a,g[0],g[1]);break;case "u":of(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Ob||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ng(a,b.substr(1));break}var Ld="commands:",Md;for(Md in qg)Ld+="\n"+Ca(Md,9)+qg[Md];pd(a)||(Ld+="\nnote: history disabled if no exec breakpoints");
a.j(Ld);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Wf){a.j("Debugger "+(Wf.stack||Wf.message)),d=!1}return d}function bd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0}
a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":og(a,g[0],g[1]);break;case "u":of(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Ob||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ng(a,b.substr(1));break}var Ld="commands:",Md;for(Md in qg)Ld+="\n"+Ba(Md,9)+qg[Md];pd(a)||(Ld+="\nnote: history disabled if no exec breakpoints");
a.j(Ld);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Xf){a.j("Debugger "+(Xf.stack||Xf.message)),d=!1}return d}function bd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0}
var qg={"?":"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"},Zf=20,ag=85,$f=".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".split(" "),
af=0,bf=1,cf=2,df=3,ef=4,ff=5,gf=6,hf=7,$e="PC RA EA C0 C1 OV ND PD".split(" "),rg={},rf=(rg[28672]={0:101},rg[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:ag,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},rg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Zf,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},rg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},rg[29248]={24576:79,24640:80,25088:81,25152:82},rg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},rg),Vf=["","I","M","S"],Xf=" L E LE A GE N G".split(" "),Yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),bg={8:102,4:103,2:104,6:105,1:106},jf=1E3,mf=">> ";Xa(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ne(d);rb(d,c)}});
28692:98,28696:99,28700:100},rg),sf=["","I","M","S"],Wf=" L E LE A GE N G".split(" "),Yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),bg={8:102,4:103,2:104,6:105,1:106},jf=1E3,mf=">> ";Xa(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ne(d);rb(d,c)}});
function sg(a,b,c){u.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;tg(this,b);this.O=Xc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=Xc(this,"url")||"";(Math.random()+.1).toString(36);this.i=ug(this);if(this.v=qb("CPU",this.id)){this.D=qb("Debugger",this.id);this.H=new Ac({id:this.Qa+".bus",busWidth:this.aa},this.v,this.D);var d,e=ob(this.id);if((this.u=qb("Panel",this.id))&&this.u.ta)for(b=
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Ob+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ca&&d.Ca(this,this.H,this.v,this.D);b=null;d=Xc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Xc(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=vg),this.b&&(this.I=new G(this,"1.34.2"),wg(this.I)?b=null:
delete this.I);!b&&this.b&&(b=xg(this))&&(this.K=!0);if(b){var g=this;Ga(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.M=b,g.T=!0);Jb(g)})}else Jb(this);this.J.power||(this.O=!0);!c&&this.O&&yg(this,this.Ja)}else r("Unable to find CPU component")}m(sg,u);function tg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
delete this.I);!b&&this.b&&(b=xg(this))&&(this.K=!0);if(b){var g=this;Fa(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.M=b,g.T=!0);Jb(g)})}else Jb(this);this.J.power||(this.O=!0);!c&&this.O&&yg(this,this.Ja)}else r("Unable to find CPU component")}m(sg,u);function tg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
function Xc(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.R&&(e=a.R[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 yg(a,b,c){for(var d=ob(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ib(f)){Ib(f,function(){yg(a,b,c)});return}}b.call(a,c)}
function zg(a,b){var c=new G(a,"1.34.2",Ag);if(wg(c)&&Bg(c)){var d=c.get(Cg),e=b?b.get(Cg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=sg.prototype;
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Dg:vg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new G(this,"1.34.2");if(a==Eg)b=!0;else if(a>vg){if(wg(d,this.M)){this.B=new G(this,"1.34.2",Fg);wg(this.B)&&(Gg(this,d),a=Hg,Ig(this.B));this.B.set(Cg,Fa());Jg(this.B);var e=this.b&&!this.K;if(a==Dg||nb("Click OK to restore the previous "+Ob+" machine state, or CANCEL to reset the machine.")){if(c=Bg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?wg(d,g):("error"==f&&"no machine state"!=
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Dg:vg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new G(this,"1.34.2");if(a==Eg)b=!0;else if(a>vg){if(wg(d,this.M)){this.B=new G(this,"1.34.2",Fg);wg(this.B)&&(Gg(this,d),a=Hg,Ig(this.B));this.B.set(Cg,Ea());Jg(this.B);var e=this.b&&!this.K;if(a==Dg||nb("Click OK to restore the previous "+Ob+" machine state, or CANCEL to reset the machine.")){if(c=Bg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?wg(d,g):("error"==f&&"no machine state"!=
g?(this.da("Error: "+g),"unable to verify user"==g&&(Qa(Kg,""),this.i=null)):this.j(f+": "+g),Ig(d),wg(d)?(c=Bg(d),e=!0):c=!1))}e&&zg(this,c?d:null)}else a==Hg&&d.clear()}else zg(this);delete this.M;delete this.I}e=ob(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Lg(this,g,d,b,c));b=[d,a,c];a!=Eg?yg(this,this.ub,b):this.ub(b)}};
function Lg(a,b,c,d,e){if(!b.A.V){b.A.V=!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.ua(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=vg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.jb){var g=b.jb.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}
l.ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Lg(this,this.v,b,c,a),I(this,-2),this.v.Z());this.P&&(Gg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function Gg(a,b){if(nb("There may be a problem with your "+Ob+" machine.\n\nTo help us diagnose it, click OK to send this "+Ob+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Ob;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}}
function pg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",Ag),h=Fa();g.set(Cg,h);f.set(Cg,h);f.set(Mg,"1.34.2");f.set(Ng,window?window.location.href:null);f.set(Og,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=ob(a.id),k=0;k<h.length;k++){var n=h[k];n.A.V&&(n.ia&&(d=n.ia(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.A.V=
function Gg(a,b){if(nb("There may be a problem with your "+Ob+" machine.\n\nTo help us diagnose it, click OK to send this "+Ob+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Ob;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}}
function pg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",Ag),h=Ea();g.set(Cg,h);f.set(Cg,h);f.set(Mg,"1.34.2");f.set(Ng,window?window.location.href:null);f.set(Og,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=ob(a.id),k=0;k<h.length;k++){var n=h[k];n.A.V&&(n.ia&&(d=n.ia(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.A.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Pg(a,a.i,f.toString()),Jg(g)&&Jg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==$g),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Nb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Nb(this,"Resetting "+this.v.type),this.v.reset());for(var a=ob(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Nb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;I(this,-1)};l.start=function(a,b){for(var c=ob(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}I(this,-1)};
l.stop=function(a,b){for(var c=ob(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}I(this,-1)};
function I(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Xa+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?ta(e,void 0):q(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.va);gc(a,a.i);ac(a,a.w)}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?pg(d,!1,!0):yg(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=nb("Click OK to save changes to this "+Ob+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");pg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(vg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(wa())c.parentNode.removeChild(c);else return this.J[b]=
c,c.onclick=function(){var a=ug(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=pg(d,b);b?Pg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?pg(d,!1,!0):yg(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=nb("Click OK to save changes to this "+Ob+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");pg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(vg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(wa(Ma(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.J[b]=c,c.onclick=function(){var a=ug(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=pg(d,b);b?Pg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function ug(a,b){var c=a.i;c||((c=Pa(Kg),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=ah(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function ah(a,b){a.i=null;b=Ga(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&&(Qa(Kg,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function xg(a){var b=null;a.i&&(b=xa()+"/api/v1/user?req=load&user="+a.i+"&state="+bh(a,"1.34.2"));return b}
function Pg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=bh(a,"1.34.2");d.data=c;b=Ga(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.da("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.da(c),Qa(Kg,""),a.i=null)}}
function ah(a,b){a.i=null;b=Fa(Ma()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(Kg,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function xg(a){var b=null;a.i&&(b=Ma()+"/api/v1/user?req=load&user="+a.i+"&state="+bh(a,"1.34.2"));return b}
function Pg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=bh(a,"1.34.2");d.data=c;b=Fa(Ma()+"/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.da("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.da(c),Qa(Kg,""),a.i=null)}}
function gd(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Fg="failsafe",Ag="validate",Cg="timestamp",Mg="version",Ng="url",Og="browser",Kg="user",Eg=-1,vg=0,Dg=1,Hg=2,$g=3;Xa(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new sg(g,d,!0);rb(g,f);g.O&&yg(g,g.Ja)}});
Ya.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=qb("Computer",c.id))&&c.S&&!c.A.V&&c.Ja(Eg)}});Ya.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=qb("Computer",c.id))&&c.A.V&&pg(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=bh(a,b,c);Ig(this,a.Db)}l=G.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function wg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Na()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Bg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Jg(a){var b=!0;if(Na()){var c=JSON.stringify(a.b);Qa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Ig(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Ig(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 bh(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 ch=0;
function dh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ga(a,null,!0,function(h,k,n){n?(k||(k="unable to load "+a+" ("+n+")"),g(k,null)):eh(k,a,b,c,d,e,f,g)})}
function dh(a,b,c,d,e,f,g){f("Loading "+a+"...");Fa(a,null,!0,function(h,k,n){n?(k||(k="unable to load "+a+" ("+n+")"),g(k,null)):eh(k,a,b,c,d,e,f,g)})}
function eh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(kb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?fh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function fh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(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],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
function fh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(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],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[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);fh(a,b,c)}})}else c(a,null)}
function gh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);n&&(--ch||fb(!0));n=!1}var h,k,n=!0;ch++;lb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=p:C.appendChild(document.createTextNode(p));t.appendChild(C)}d||
function gh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=xa(a))}function g(a){f("Error: "+a);n&&(--ch||fb(!0));n=!1}var h,k,n=!0;ch++;lb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=p:C.appendChild(document.createTextNode(p));t.appendChild(C)}d||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?dh(d,null,a,null,!1,f,function(a,e){e?(kb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ch||fb(!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),--ch||
fb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?dh(c,b,a,e,!0,f,p):eh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return n}window.embedPDP10=function(a,b,c,d){fb(!1);return gh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){fb(!1);return gh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return qb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!tb[a]){for(var c=!0,d=tb,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p<f;p++){var t=b[p];if('"'==t||"'"==t)n&&t!=n?k+=t:(n?n=null:n=t,k&&(h.push(k),k=""));else{if(!n){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;sb(a)||(c=!1)}return c};window.enableEvents=fb;window.sendEvent=hb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map