Added PDP-10 SUB and MUL operations

This commit is contained in:
Jeff 2017-03-07 10:21:17 -08:00 committed by Jeff Parsons
commit 0e18448423
4 changed files with 532 additions and 335 deletions

View file

@ -31,208 +31,211 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
function la(){ia();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 ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function na(a){la();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}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||!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 pa=Math.pow(2,36),qa=Math.pow(2,35),ta={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc: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,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81,
Ic:82,Jc:83,Kc:84,Lc:85,Mc:86,Nc:87,Oc:88,Pc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Qc:97,Rc:98,Sc:99,d:100,e:101,Tc:102,Uc:103,Vc:104,Wc:105,Xc:106,k:107,Yc:108,Zc:109,n:110,$c:111,p:112,q:113,r:114,ad:115,t:116,cd:117,dd:118,ed:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ub:127};
function ua(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 g,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(g=parseInt(a,b))&&(c=g)}return c}function va(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var g=a%b,g=g+(0<=g&&9>=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return va(a,8,b,c?"0o":"")}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return va(a,16,b,c?"0x":"")}
var pa=Math.pow(2,36),qa=Math.pow(2,35),ta={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc: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,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81,
Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,vb:127};
function ua(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 va(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);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 wa(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return va(a,8,b,c?"0o":"")}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return va(a,16,b,c?"0x":"")}
function xa(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 ya(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(){var a=Aa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Ga(a){return a.replace(/[&<>"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)}
function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Ka(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}function La(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));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||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f}
function Na(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=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.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c<e.length;c++)d.Y[g++]=e[c]&255,d.Y[g++]=e[c]>>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c<e.length;c++)d.Y[g++]=
e[c]&255,d.Y[g++]=e[c]>>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=f.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++){g=parseInt(b[c],16);if(isNaN(g)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.Y=e)}return d}
function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Ka(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 La(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ma(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="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));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 Na(a,b){var c,d={Y:null,T:null,na:null,ma: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.na=g.load;d.ma=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.Ca=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.T=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 Aa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function $a(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 ab(a){if(!bb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}bb=c}return bb[a]}function cb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function db(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function eb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function fb(a){gb.init.push(a)}
function ab(a){if(!bb){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," "))}bb=c}return bb[a]}function cb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function db(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 eb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function fb(a){gb.init.push(a)}
function hb(a){if(ib)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 jb(a){!ib&&a?(ib=!0,kb&&lb("init"),mb&&lb("show")):ib=a}function lb(a){gb[a]&&hb(gb[a])}var bb=null,gb={init:[],show:[],exit:[]},kb=!1,mb=!1,ib=!0,Pa=null;eb("onload",function(){kb=!0;hb(gb.init)});eb("onpageshow",function(){mb=!0;hb(gb.show)});eb($a("Opera")||$a("iOS")?"onunload":"onbeforeunload",function(){hb(gb.exit)});
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.gb=b.comment;this.wb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Oa=null;this.v.error=!1;this.X=c||0;this.D=this.u=this.H=this.F=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date}
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ib=b.comment;this.yb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.u=this.H=this.G=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date}
function r(a){window&&window.alert(a)}function zb(a){var b=!1;window&&(b=window.confirm(a));return b}function Ab(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 Bb(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 Cb(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 w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function Db(a,b){var c=x;b=y(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=w(f))&&h.binding&&a.ha(h.type,h.binding,f,h.value),m=k.length}}}}
function Db(a,b){var c=x;b=y(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=w(g))&&h.binding&&a.ha(h.type,h.binding,g,h.value),m=k.length}}}}
function y(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function Eb(a){for(var b=!0,c=Fb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Gb.indexOf(e)&&(g=function(){return function(){Eb(a)}}());var f=Hb[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=Cb(d[1],a);if(h)if(f=Ib[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){r("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete Fb[a];return b}l=u.prototype;
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{var b=!1,h=Cb(d[1],a);if(h)if(g=Ib[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 Fb[a];return b}l=u.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.ha=function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.oa=this.I[b]=c,c.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.i(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.i=function(){};
l.status=function(a){this.i(this.Ka+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Jb(a,b){a.v.error=!0;a.da(b)}function Kb(a){return a.v.error?(a.i(a.toString()+" error"),!0):!1}function Lb(a,b){b&&(a.v.ready?b():a.Oa=b);return a.v.ready}function z(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.Oa;a.Oa=null;b&&b()}}function Mb(a,b){a.v.Fa&&(b?a.v.Xa=!0:void 0===b&&a.i(a.toString()+" busy"));return a.v.Fa}
function Nb(a,b){if(a.v.Xa)return a.v.Fa=!1,a.v.Xa=!1;if(a.v.error)return a.i(a.toString()+" error"),!1;a.v.Fa=b;return a.v.Fa}l.pa=function(){return this.v.U=!0};l.ga=function(a,b){b&&(this.v.U=!1);return!0};function Ob(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.lb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
l.ha=function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.oa=this.I[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
l.status=function(a){this.j(this.Ka+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Jb(a,b){a.w.error=!0;a.da(b)}function Kb(a){return a.w.error?(a.j(a.toString()+" error"),!0):!1}function Lb(a,b){b&&(a.w.ready?b():a.Pa=b);return a.w.ready}function z(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Pa;a.Pa=null;b&&b()}}function Mb(a,b){a.w.Fa&&(b?a.w.Ya=!0:void 0===b&&a.j(a.toString()+" busy"));return a.w.Fa}
function Nb(a,b){if(a.w.Ya)return a.w.Fa=!1,a.w.Ya=!1;if(a.w.error)return a.j(a.toString()+" error"),!1;a.w.Fa=b;return a.w.Fa}l.pa=function(){return this.w.U=!0};l.ga=function(a,b){b&&(this.w.U=!1);return!0};function Ob(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.nb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var ob=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Fb=window?window.PCjs.Commands:{},Gb=["hold","sleep","wait"],Hb={alert:function(a){r(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 x="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),A=Math.pow(2,18)-1,B=Math.pow(2,18),Tb=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),Ub=Math.pow(2,17)-1,I=Math.pow(2,35)-1,Vb=Math.pow(2,35),Wb=Math.pow(2,36),J=Math.pow(2,32),Xb=Math.pow(2,21),Yb=Math.pow(2,26),Zb=Math.pow(2,23),$b=Math.pow(2,30),x="pdp10",Qb="PDPjs",L={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 ac(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.w=this.A=0;this.N=this.O=-1;this.P=this.R=this.G=!1;this.S=bc;this.C={};this.b={START:[1,1,!0,!1,this.Jb],STEP:[1,1,!1,!1,this.Kb],ENABLE:[1,1,!1,!1,this.Eb],CONT:[1,1,!0,!1,this.Cb],DEP:[0,0,!0,!1,this.Db],EXAM:[1,1,!0,!1,this.Fb],LOAD:[1,1,!0,!1,this.Hb],TEST:[0,0,!0,!1,this.Gb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ib,a];this.D=this.u=this.H=this.F=null;this.exports={hold:this.Ab,toggle:this.Tb,reset:this.Pb,
set:this.Sb};z(this)}p(ac,u);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.A=0)};
l.ha=function(a,b,c,d){if(this.F&&this.F.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;fc(this);gc(this)};l.pa=function(a,b){if(!b)if(this.W&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.w]);return a.data()};
l.restore=function(a){if(a=a[0])ic(this,this.f=a[0]),cc(this,this.A=a[1]),jc(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}
l.Ab=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return jc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Tb=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1}
function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Sb,this.b[wc]&&this.b[wc][1]&&xc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()};
l.Cb=function(a){if(!a&&!this.u.v.K)if(this.b[wc]&&this.b[wc][1])xc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),yc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0<b&&(zc(this.u,b),Ac(this.u,b,!0),Bc(this.u,b))}catch(c){"number"!=typeof c&&Jb(this.u,c.stack||c.message)}this.stop();this.F&&N(this.F)}};l.Db=function(a){a&&!this.u.v.K&&(this.P&&Cc(this),a=cc(this,this.A=this.w),this.S==bc?Dc(this.H,this.f,a):this.u.j(this.f,a))};
l.Fb=function(a){if(!a&&!this.u.v.K){var b;this.R&&Cc(this);this.S==bc?b=Ec(this.H,this.f):b=this.u.g(this.f);cc(this,this.A=b)}};l.Hb=function(a){a||this.u.v.K||ic(this,this.w)};l.Gb=function(a){a?(this.G=!0,fc(this,!0)):(this.G=!1,fc(this),jc(this,0))};l.Ib=function(a,b){this.w=a?this.w|1<<b:this.w&~(1<<b)};function Cc(a){var b=1,c=a.H.w;a.b[mc]&&a.b[mc][1]||(b=-b);ic(a,a.f&~c|a.f+b&c)}
function ic(a,b){a.f=b&a.H.w;if(a.N!==a.f){a.N=a.f;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.C[e]=g;d.G||kc(d,e,g)}}}function cc(a,b){a.J=b%H;if(a.O!==a.J){a.O=a.J;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.C[e]=g;d.G||kc(d,e,g)}}return a.J}function jc(a,b){a.w=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.w&1<<b?1:0;gc(a);return!0}l.stop=function(){ic(this,this.u.A)};
function hc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Bb(d.id);e||(e=new ac(d,!0));Db(e,c)}}var bc=7,nc="DEP",wc="ENABLE",oc="EXAM",mc="STEP";fb(hc);function Fc(a,b,c){u.call(this,"Bus",a,16);this.u=b;this.D=c;this.J=+a.busWidth||18;this.G=1<<this.J;this.w=this.G-1;this.f=Math.log2(16384);this.C=this.G/16384|0;this.A=0;this.b=[];a=new Gc(this);Hc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;z(this)}p(Fc,u);l=Fc.prototype;l.reset=function(){};
l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,Ic(this));return a.data()};l.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,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}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 Jc(a,b,c,d){for(var e=b,g=c,f=e>>>a.f;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Kc(Lc,e,g)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+wa(b)),!0):Kc(Nc,b,c)}
function Ec(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.H(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.Za||e.yb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c}
l.zb=function(a){this.A||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+O(this.D,a),!0,!0),this.u.V())};function Kc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lc=1,Nc=2;function Oc(a){u.call(this,"Device",a,256)}p(Oc,u);l=Oc.prototype;l.xa=function(a,b,c,d){this.H=b;this.F=a;this.u=c;this.D=d;z(this)};l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new M(this)).data()};
l.restore=function(){return!0};fb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Oc(c),Db(c,d)}}});function Gc(a,b,c,d,e){this.I=a;this.id=Pc+=2;this.B=b;this.Ha=c;this.size=d||0;this.type=e||Qc;this.w=e==Rc;this.b=null;this.g=this.H=this.ab;this.j=this.F=this.Ia;this.f=this.u=0;Hc(this);this.Za=this.yb=!1;if(this.size){a=this.D=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Sc(this,Tc)}else Sc(this)}l=Gc.prototype;l.save=function(){return this.D};
l.restore=function(a){return a&&this.size==a.length?(this.D=a,this.Za=!0):!1};function Sc(a,b){b||(b=Uc);Vc(a,b,void 0);Wc(a,b,void 0)}function Vc(a,b,c){c&&a.f||(a.g=b[0]||a.ab);if(c||void 0===c)a.H=b[0]||a.ab}function Wc(a,b,c){c&&a.u||(a.j=!a.w&&b[1]||a.Ia);if(c||void 0===c)a.F=b[1]||a.Ia}l.Da=function(a,b){b?this.u++||Wc(this,Xc,!1):this.f++||Vc(this,Xc,!1)};function Yc(a,b){b?--a.u||(a.j=a.w?a.Ia:a.F):--a.f||(a.g=a.H)}
function Hc(a,b,c){a.b=b;a.f=a.u=0;c&&((a.f=c.f)&&Vc(a,Xc,!1),(a.u=c.u)&&Wc(a,Xc,!1))}l.ab=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+O(this.b,b),!0);this.I.zb(b);return-1};l.Ia=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+O(this.b,a)+" to invalid addresses "+O(this.b,c),!0)};l.Nb=function(a){return this.D[a]};l.Wb=function(a,b){this.D[b]!=a&&(this.D[b]=a,this.Za=!0)};
l.Lb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Zc(c,this.B+a,2,c.M)&&c.V(!1)}return this.H(a,b)};l.Vb=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Zc(d,this.B+b,2,d.J)&&d.V(!1)}this.w?this.Ia(a,0,c):this.F(a,b,c)};var Qc=0,Rc=2,Mc=["NONE","RAM","ROM"],Pc=0,Uc=[],Tc=[Gc.prototype.Nb,Gc.prototype.Wb],Xc=[Gc.prototype.Lb,Gc.prototype.Vb];
function $c(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Sa=0;this.Va=b;this.ba=c;this.Ta=Math.round(this.Va/1E4)/100;this.aa=this.Ta*this.ba;this.Ua=this.wa=this.ea=this.Ba=0;this.v.K=this.v.Ra=!1;this.v.Z=a.autoStart;"string"==typeof this.v.Z&&(this.v.Z="true"==this.v.Z);this.v.Ea=!1;this.ua=this.ja=0;this.va=+a.csStart;this.ia=+a.csInterval;this.ka=+a.csStop;this.N=[];this.ib=this.Qb.bind(this);this.S=this.M=this.P=this.R=this.L=this.ta=this.O=this.la=this.Wa=this.W=0;
this.za=null;z(this)}p($c,u);l=$c.prototype;l.xa=function(a,b,c,d){this.F=a;this.H=b;this.D=d;this.za=a.w;for(a=0;a<ad.length;a++)(b=this.I[ad[a]])&&this.F.ha(null,ad[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.pa=function(a,b){var c=bd(this.F,"autoStart");null!=c?this.v.Z="true"==c?!0:"false"==c?!1:!!c:null==this.v.Z&&(this.v.Z=!this.D&&void 0===this.I.run);if(!b){if(a){cd(this);if(!this.restore(a))return!1;dd(this)}else this.reset();this.D?(a=this.D,b=this.v.Z,a.wa=!0,a.i("Type ? for help with PDPjs Debugger commands"),ed(a),b||fd(a),a.ua&&(b=a.ua,a.ua=null,gd(a,b))):this.status("No debugger detected");this.v.Z||this.i("CPU will not be auto-started "+(this.za?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ga=function(a){return a?this.save():!0};l.Z=function(){return this.v.K?!0:this.v.Z?(xc(this),!0):!1};l.ob=function(){return 0};function dd(a){void 0===a.va&&(a.va=0);void 0===a.ia&&(a.ia=-1);void 0===a.ka&&(a.ka=-1);a.v.Ea=0<=a.va&&0<a.ia;a.v.Ea&&(a.ua=0,a.ja=a.va-a.S)}function Bc(a,b){if(a.v.Ea){var c=!1;a.ua=a.ua+a.ob()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=hd(a)&&(a.ia=a.ka=-1,dd(a),a.V(),c=!0);c&&a.i(hd(a)+" cycles: checksum="+q(a.ua))}}
l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.v.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.v.U);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.Oa?" (waiting for notification)":""))+".");a=!1}a&&(d.v.K?d.V():xc(d))},!0;case "speed":return this.I[b]=
c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){id(d,d.ba<<1,!0)},c.textContent=this.aa.toFixed(2)+"Mhz",!0}return!1};function Ac(a,b,c){a.S+=b;c&&(a.P=a.R=0)}function jd(a,b){var c=1;b&&1<a.ba&&a.W&&(c=a.W/a.Ta);a.Ua=Math.round(1E3/kd);a.wa=Math.floor(a.Va/kd*c);b||(a.ea=a.wa);a.Ba=0}function hd(a){return a.S+a.M+a.P-a.R}function cd(a){a.W=0;a.Wa=0;a.S=a.M=a.P=a.R=0;dd(a);id(a,1)}
function id(a,b,c){var d=!1;if(void 0!==b){.8>a.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ta*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&ld(a.F)}Ac(a,a.M);a.M=0;a.L=qb();a.O=0;jd(a);return d}function md(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;c<a.N.length;c++)b.push(a.N[c][0]);return b}
function zc(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c}
l.Qb=function(){if(this.v.K){this.Ba>=this.Va&&jd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Ua&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=md(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.la+=b;this.M+=b;Bc(this,b);zc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Wa>=pd&&(this.F&&N(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(qb(),hd(this));Jb(this,
e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.ib;this.O=qb();var c=this.Ua;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,id(this)));if(0>c||this.W<this.aa)-1E3>c&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}};
function xc(a,b){if(!Kb(a))if(a.v.K)a.i(a.toString()+" busy");else{id(a);a.v.K=!0;a.v.Ra=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&ld(a.F,!0),a.F.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){od(this);Ac(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(qb(),hd(this));b=!0;this.D||this.status("Stopped")}this.v.complete=a;return b};var kd=30,pd=15,ad=["power","reset"];
function Kd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.hb=b;this.Aa=+a.addrReset||0;this.vb=Ld.bind(this);this.b=P.bind(this);this.ra=null;this.fb=[];this.v.complete=!1}p(Kd,$c);l=Kd.prototype;l.reset=function(){this.status("Model "+this.hb);this.v.K&&this.V();this.f=this.J=this.Ma=0;this.A=this.sa=this.Aa;this.G=-1;this.w=0;this.qa=this.A;this.C=0;this.g=this.Mb;this.j=this.Xb;this.ra=null;cd(this);this.v.error=!1;$c.prototype.reset.call(this)};l.ob=function(){return 0};
l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Ma,this.A,this.G,this.w,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.v.Z]);a.set(3,Md(this));a.set(4,nd(this));return a.data()};
l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Ma=b.next().value;this.A=b.next().value;this.G=b.next().value;this.w=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];id(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.fb.length;d++){var e=this.fb[d];if(e.Ub===b[c]){d=e;break a}}d=null}d&&(d.next=
this.ra,this.ra=d)}a=a[4];for(b=0;b<this.N.length&&b<a.length;b++)this.N[b][0]=a[b];return!0};function Nd(a,b){var c=a.A;a.A=(c+b)%Sb;return c}l.abs=function(a){a>I&&(a!=Vb?a=Wb-a:this.w|=163840);return a};function Od(a,b){b?b==Vb?a.w|=163840:b=Wb-b:a.w|=98304;return b}function Md(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b};
l.Ja=function(a){this.v.complete=!0;var b=this.D?Pd(this.D)?1:this.v.Ra?-1:0:0,c=a?this.v.Ra?0:1:-1;this.v.Ra=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Qd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Qd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a=
this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Ma/Zb|0);0<=a&&this.vb(a)}while(0<this.R);return this.v.complete?this.P-this.R:!1===this.v.complete?-1:0};fb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Kd(d);Db(d,c)}});function Ld(a){Rd[a>>4].call(this,a,a&15)}function Q(a){this.b(a)}
function Sd(){var a=0,b=this.g(this.f),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.j(this.f,b)}function Td(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Nd(this,-1);else{var c=this.G/$b&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}}
function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Nd(this,-1);else{var c=this.G/$b&63,d=this.G>>24&63;b=this.g(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.j(this.f,a);this.G=-1}}function Vd(a,b){this.j(b,this.g(this.f))}function Wd(a,b){this.j(b,this.f)}function Xd(a,b){this.j(this.f,this.g(b))}function Yd(a,b){this.j(b,0)}function Zd(a,b){this.j(b,G-this.g(b))}function $d(a,b){this.j(b,G)}
function ae(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,be(a,d,c)+(c-(c&A)))}function ce(a,b){var c=this.g(b);this.j(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,be(a,c,b)+(b-(b&A)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function fe(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.j(b,be(a,d,c)+c)}
function ge(a,b){var c=this.f*B,d=this.g(b);this.j(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.j(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&A)*B,c=be(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function je(a,b){var c=this.g(this.f)&A,d=this.g(b);this.j(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.j(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&A;var c=this.g(this.f);this.j(this.f,ke(a,c,b)+b)}
function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function oe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.j(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.j(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.j(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/B|0,c=ke(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function S(a){se[a&7].call(this,a,a>>3&127)}
function te(){}function P(a){this.i("undefined opcode: "+wa(a));Nd(this,-1);this.V()}function ke(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function be(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function ue(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ve(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}
function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)}
var Rd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Sd,function(a,b){0>this.G&&Sd.call(this);Td.call(this,0,b)},Td,function(a,b){0>this.G&&Sd.call(this);Ud.call(this,0,b)},Ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
var x="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),A=Math.pow(2,18)-1,B=Math.pow(2,18),Tb=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),Ub=Math.pow(2,17)-1,I=Math.pow(2,35)-1,Vb=Math.pow(2,35),Wb=Math.pow(2,36),Xb=Math.pow(2,34),J=Math.pow(2,32),Yb=Math.pow(2,21),Zb=Math.pow(2,26),$b=Math.pow(2,23),ac=Math.pow(2,30),x="pdp10",Qb="PDPjs",K={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 bc(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.v=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=cc;this.C={};this.b={START:[1,1,!0,!1,this.Kb],STEP:[1,1,!1,!1,this.Lb],ENABLE:[1,1,!1,!1,this.Fb],CONT:[1,1,!0,!1,this.Db],DEP:[0,0,!0,!1,this.Eb],EXAM:[1,1,!0,!1,this.Gb],LOAD:[1,1,!0,!1,this.Ib],TEST:[0,0,!0,!1,this.Hb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.u=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb,
set:this.Tb};z(this)}p(bc,u);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)};
l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.v]);return a.data()};
l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])}
l.Bb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return kc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Ub=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1}
function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.u.w.K||(this.u.A=this.f%Sb,this.b[qc]&&this.b[qc][1]&&rc(this.u))};l.Lb=function(){};l.Fb=function(a){a||this.u.V()};
l.Db=function(a){if(!a&&!this.u.w.K)if(this.b[qc]&&this.b[qc][1])rc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),zc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0<b&&(Ac(this.u,b),Bc(this.u,b,!0),Cc(this.u,b))}catch(c){"number"!=typeof c&&Jb(this.u,c.stack||c.message)}this.stop();this.G&&N(this.G)}};l.Eb=function(a){a&&!this.u.w.K&&(this.P&&Dc(this),a=dc(this,this.A=this.v),this.S==cc?Ec(this.H,this.f,a):this.u.i(this.f,a))};
l.Gb=function(a){if(!a&&!this.u.w.K){var b;this.R&&Dc(this);this.S==cc?b=Fc(this.H,this.f):b=this.u.g(this.f);dc(this,this.A=b)}};l.Ib=function(a){a||this.u.w.K||jc(this,this.v)};l.Hb=function(a){a?(this.F=!0,gc(this,!0)):(this.F=!1,gc(this),kc(this,0))};l.Jb=function(a,b){this.v=a?this.v|1<<b:this.v&~(1<<b)};function Dc(a){var b=1,c=a.H.v;a.b[nc]&&a.b[nc][1]||(b=-b);jc(a,a.f&~c|a.f+b&c)}
function jc(a,b){a.f=b&a.H.v;if(a.N!==a.f){a.N=a.f;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}}function dc(a,b){a.J=b%H;if(a.O!==a.J){a.O=a.J;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}return a.J}function kc(a,b){a.v=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.v&1<<b?1:0;hc(a);return!0}l.stop=function(){jc(this,this.u.A)};
function ic(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Bb(d.id);e||(e=new bc(d,!0));Db(e,c)}}var cc=7,oc="DEP",qc="ENABLE",pc="EXAM",nc="STEP";fb(ic);function Gc(a,b,c){u.call(this,"Bus",a,16);this.u=b;this.D=c;this.J=+a.busWidth||18;this.F=1<<this.J;this.v=this.F-1;this.f=Math.log2(16384);this.C=this.F/16384|0;this.A=0;this.b=[];a=new Hc(this);Ic(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;z(this)}p(Gc,u);l=Gc.prototype;l.reset=function(){};
l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,Jc(this));return a.data()};l.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 Kc(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Lc(Mc,e,f)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+wa(b)),!0):Lc(Oc,b,c)}
function Fc(a,b){var c=a.b[(b&a.v)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.v)>>>a.f];a.A++;d.v(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.$a||e.zb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
l.Ab=function(a){this.A||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+O(this.D,a),!0,!0),this.u.V())};function Lc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Mc=1,Oc=2;function Pc(a){u.call(this,"Device",a,256)}p(Pc,u);l=Pc.prototype;l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.D=d;z(this)};l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new M(this)).data()};
l.restore=function(){return!0};fb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Pc(c),Db(c,d)}}});function Hc(a,b,c,d,e){this.I=a;this.id=Qc+=2;this.B=b;this.Ha=c;this.size=d||0;this.type=e||Rc;this.H=e==Sc;this.b=null;this.g=this.G=this.cb;this.i=this.v=this.Ia;this.f=this.u=0;Ic(this);this.$a=this.zb=!1;if(this.size){a=this.D=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Tc(this,Uc)}else Tc(this)}l=Hc.prototype;l.save=function(){return this.D};
l.restore=function(a){return a&&this.size==a.length?(this.D=a,this.$a=!0):!1};function Tc(a,b){b||(b=Vc);Wc(a,b,void 0);Xc(a,b,void 0)}function Wc(a,b,c){c&&a.f||(a.g=b[0]||a.cb);if(c||void 0===c)a.G=b[0]||a.cb}function Xc(a,b,c){c&&a.u||(a.i=!a.H&&b[1]||a.Ia);if(c||void 0===c)a.v=b[1]||a.Ia}l.Da=function(a,b){b?this.u++||Xc(this,Yc,!1):this.f++||Wc(this,Yc,!1)};function Zc(a,b){b?--a.u||(a.i=a.H?a.Ia:a.v):--a.f||(a.g=a.G)}
function Ic(a,b,c){a.b=b;a.f=a.u=0;c&&((a.f=c.f)&&Wc(a,Yc,!1),(a.u=c.u)&&Xc(a,Yc,!1))}l.cb=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+O(this.b,b),!0);this.I.Ab(b);return-1};l.Ia=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+O(this.b,a)+" to invalid addresses "+O(this.b,c),!0)};l.Ob=function(a){return this.D[a]};l.Xb=function(a,b){this.D[b]!=a&&(this.D[b]=a,this.$a=!0)};
l.Mb=function(a,b){if(this.b&&null!=this.B){var c=this.b;$c(c,this.B+a,2,c.M)&&c.V(!1)}return this.G(a,b)};l.Wb=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;$c(d,this.B+b,2,d.J)&&d.V(!1)}this.H?this.Ia(a,0,c):this.v(a,b,c)};var Rc=0,Sc=2,Nc=["NONE","RAM","ROM"],Qc=0,Vc=[],Uc=[Hc.prototype.Ob,Hc.prototype.Xb],Yc=[Hc.prototype.Mb,Hc.prototype.Wb];
function ad(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ta=0;this.Wa=b;this.ba=c;this.Ua=Math.round(this.Wa/1E4)/100;this.aa=this.Ua*this.ba;this.Va=this.wa=this.ea=this.Ba=0;this.w.K=this.w.Sa=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Ea=!1;this.ua=this.ja=0;this.va=+a.csStart;this.ia=+a.csInterval;this.ka=+a.csStop;this.N=[];this.kb=this.Rb.bind(this);this.S=this.M=this.P=this.R=this.L=this.ta=this.O=this.la=this.Xa=this.W=0;
this.za=null;z(this)}p(ad,u);l=ad.prototype;l.xa=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.za=a.v;for(a=0;a<bd.length;a++)(b=this.I[bd[a]])&&this.G.ha(null,bd[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.pa=function(a,b){var c=cd(this.G,"autoStart");null!=c?this.w.Z="true"==c?!0:"false"==c?!1:!!c:null==this.w.Z&&(this.w.Z=!this.D&&void 0===this.I.run);if(!b){if(a){dd(this);if(!this.restore(a))return!1;ed(this)}else this.reset();this.D?(a=this.D,b=this.w.Z,a.wa=!0,a.j("Type ? for help with PDPjs Debugger commands"),fd(a),b||gd(a),a.ua&&(b=a.ua,a.ua=null,hd(a,b))):this.status("No debugger detected");this.w.Z||this.j("CPU will not be auto-started "+(this.za?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ga=function(a){return a?this.save():!0};l.Z=function(){return this.w.K?!0:this.w.Z?(rc(this),!0):!1};l.qb=function(){return 0};function ed(a){void 0===a.va&&(a.va=0);void 0===a.ia&&(a.ia=-1);void 0===a.ka&&(a.ka=-1);a.w.Ea=0<=a.va&&0<a.ia;a.w.Ea&&(a.ua=0,a.ja=a.va-a.S)}function Cc(a,b){if(a.w.Ea){var c=!1;a.ua=a.ua+a.qb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.j(id(a)+" cycles: checksum="+q(a.ua))}}
l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.w.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.w.U);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Pa?" (waiting for notification)":""))+".");a=!1}a&&(d.w.K?d.V():rc(d))},!0;case "speed":return this.I[b]=
c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){jd(d,d.ba<<1,!0)},c.textContent=this.aa.toFixed(2)+"Mhz",!0}return!1};function Bc(a,b,c){a.S+=b;c&&(a.P=a.R=0)}function kd(a,b){var c=1;b&&1<a.ba&&a.W&&(c=a.W/a.Ua);a.Va=Math.round(1E3/ld);a.wa=Math.floor(a.Wa/ld*c);b||(a.ea=a.wa);a.Ba=0}function id(a){return a.S+a.M+a.P-a.R}function dd(a){a.W=0;a.Xa=0;a.S=a.M=a.P=a.R=0;ed(a);jd(a,1)}
function jd(a,b,c){var d=!1;if(void 0!==b){.8>a.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&md(a.G)}Bc(a,a.M);a.M=0;a.L=qb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;c<a.N.length;c++)b.push(a.N[c][0]);return b}
function Ac(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function pd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c}
l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&kd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=pd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=qd&&(this.G&&N(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),id(this));Jb(this,
e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.W<this.aa)-1E3>c&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}};
function rc(a,b){if(!Kb(a))if(a.w.K)a.j(a.toString()+" busy");else{jd(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&md(a.G,!0),a.G.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){pd(this);Bc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),id(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var ld=30,qd=15,bd=["power","reset"];
function rd(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=sd.bind(this);this.b=P.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(rd,ad);l=rd.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.v=0;this.qa=this.A;this.C=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;dd(this);this.w.error=!1;ad.prototype.reset.call(this)};l.qb=function(){return 0};
l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.v,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,td(this));a.set(4,od(this));return a.data()};
l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.v=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.hb.length;d++){var e=this.hb[d];if(e.Vb===b[c]){d=e;break a}}d=null}d&&(d.next=
this.ra,this.ra=d)}a=a[4];for(b=0;b<this.N.length&&b<a.length;b++)this.N[b][0]=a[b];return!0};function ud(a,b){var c=a.A;a.A=(c+b)%Sb;return c}l.abs=function(a){a>I&&(a!=Vb?a=Wb-a:this.v|=163840);return a};function Pd(a,b){b?b==Vb?a.v|=163840:b=Wb-b:a.v|=98304;return b}function td(a){var b=[];for(a=a.ra;a;)b.push(a.Vb),a=a.next;return b}l.Nb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.v)>>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.v)>>>c.f].i(b,a&16383,a);return b};
l.Ja=function(a){this.w.complete=!0;var b=this.D?Qd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a=
this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Na/$b|0);0<=a&&this.wb(a)}while(0<this.R);return this.w.complete?this.P-this.R:!1===this.w.complete?-1:0};fb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new rd(d);Db(d,c)}});function sd(a){Sd[a>>4].call(this,a,a&15)}function Q(a){this.b(a)}
function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}}
function Vd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;b=this.g(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.i(this.f,a);this.F=-1}}function Wd(a,b){this.i(b,this.g(this.f))}function Xd(a,b){this.i(b,this.f)}function Yd(a,b){this.i(this.f,this.g(b))}function Zd(a,b){this.i(b,0)}function $d(a,b){this.i(b,G-this.g(b))}function ae(a,b){this.i(b,G)}
function be(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ce(a,d,c)+(c-(c&A)))}function de(a,b){var c=this.g(b);this.i(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ce(a,c,b)+(b-(b&A)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ge(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}
function he(a,b){var c=this.f*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.i(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&A)*B,c=ce(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function ke(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.i(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}
function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function pe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.i(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.i(b,le(a,c,0))}function re(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/B|0,c=le(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){te[a&7].call(this,a,a>>3&127)}
function ue(){}function P(a){this.j("undefined opcode: "+wa(a));ud(this,-1);this.V()}function ve(a,b){var c=(a+b)%H;we.call(this,a,b,c);return c}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function xe(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ye(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)}
function ze(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(a<B&&c<B)d=a*c,a=0;else{d=a%B;var e=Math.trunc(a/B);a=c%B;var c=Math.trunc(c/B),f=d*a,g=e*a+Math.trunc(f/B);a=Math.trunc(g/B);g=g%B+d*c;d=g*B+f%B;a+=Math.trunc(g/B)+e*c}b&&(d?(a=G-a,d=H-d):a&&(a=H-a));b=a-a%F;a=2*a%H+Math.trunc(d/F);d=b+d%F;e=a-a%F;b!=e&&(a=b+(a-e),this.v|=131072);this.Ma=a;return d}function Ae(a,b){var c=a-b;0>c&&(c+=H);we.call(this,c,b,a);return c}
function we(a,b,c){a=Math.trunc(a/Xb);b=Math.trunc(b/Xb);c=Math.trunc(c/Xb);var d=a^(a^b)&(b^c);this.v=this.v|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function le(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b}
var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.F&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.F&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Vd,Wd,Xd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.j(b,a)},function(a,b){this.j(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Od(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Wb-this.f:0)},function(a,b){this.j(this.f,Od(this,
this.g(b)))},function(a,b){a=Od(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0<c?(35<=c?(d=0>d?F:0,c=Tb):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.w|=131072):a-c<=I&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%
H+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0<a?36<=a?0:c*Math.pow(2,a)%H:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0<a){var g=d;if(36<=a){if(0<d&&d<F||d>Tb&&d<G)this.w|=131072;if(71<=a){if(0<e&&e<F||e>Tb&&e<G)this.w|=131072;d=0}else d=e*Math.pow(2,a-35)%F,c=F-Math.pow(2,70-a),g<=I?e+c>I&&(this.w|=131072):e-c<=I&&(this.w|=131072);
e=0;g>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),g<=I?g+c>I&&(this.w|=131072):(g-c<=I&&(this.w|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.j(b,d);this.j(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(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.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(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.j(b,c);this.j(b+1&15,d)}},P,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/B|0,c=c&A;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.v.K||(this.j(b,d*B+c),a||Nd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,
b){a=this.g(b);a+=262145;this.j(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(b,a)},function(a,b){this.i(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Pd(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Wb-this.f:0)},function(a,b){this.i(this.f,Pd(this,
this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,this.abs(this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)},function(a,b){this.i(b,ze.call(this,
this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0<c?(35<=c?(d=0>d?F:0,c=Tb):
(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.v|=131072):a-c<=I&&(this.v|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0<a?36<=a?0:c*Math.pow(2,a)%H:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>
14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<F||d>Tb&&d<G)this.v|=131072;if(71<=a){if(0<e&&e<F||e>Tb&&e<G)this.v|=131072;d=0}else d=e*Math.pow(2,a-35)%F,c=F-Math.pow(2,70-a),f<=I?e+c>I&&(this.v|=131072):e-c<=I&&(this.v|=131072);e=0;f>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.v|=131072):(f-c<=I&&(this.v|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,
-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(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.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(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.i(b,c);this.i(b+1&15,d)}},P,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),
d=c/B|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*B+c),a||ud(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.v|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.v|=262144);
this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b),
this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Yd,function(){this.j(this.f,
0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,T(this.g(b),this.g(this.f)))},function(a,b){this.j(b,T(this.g(b),this.f))},function(a,b){this.j(this.f,T(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(this.g(b),this.g(this.f))))},function(a,b){this.j(b,T(G-this.g(b),this.g(this.f)))},function(a,b){this.j(b,T(G-this.g(b),this.f))},function(a,b){this.j(this.f,T(G-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(G-this.g(b),this.g(this.f))))},
Vd,Wd,te,Vd,function(a,b){this.j(b,T(this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,T(this.g(b),G-this.f))},function(a,b){this.j(this.f,T(this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(this.g(b),G-this.g(this.f))))},te,te,Xd,Xd,function(a,b){this.j(b,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ue(this.g(b),this.f))},function(a,b){this.j(this.f,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ue(this.g(b),this.g(this.f))))},function(a,b){this.j(b,
U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,T(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,T(G-this.g(b),G-this.f))},function(a,b){this.j(this.f,T(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(G-this.g(b),G-this.g(this.f))))},function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,
b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},Zd,Zd,function(a,b){this.j(this.f,G-this.g(b))},function(a,b){this.j(this.f,this.j(b,G-this.g(b)))},function(a,b){this.j(b,U(G-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(G-this.g(b),this.f))},function(a,b){this.j(this.f,U(G-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(G-this.g(b),this.g(this.f))))},function(a,
b){this.j(b,G-this.g(this.f))},function(a,b){this.j(b,G-this.f)},function(){this.j(this.f,G-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,G-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),G-this.f))},function(a,b){this.j(this.f,U(this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),G-this.g(this.f))))},function(a,b){this.j(b,U(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,U(G-this.g(b),G-this.f))},
function(a,b){this.j(this.f,U(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(G-this.g(b),G-this.g(this.f))))},$d,$d,function(){this.j(this.f,G)},function(a,b){this.j(this.f,this.j(b,G))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),
this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.i(b,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),G-this.g(this.f))))},
ue,ue,Yd,Yd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,
U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},
function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a,
b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),
G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},ae,ae,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],se=[function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}];
function we(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.G=xa(this.A);if(this.A){a=this.A;var b=ya(this.G);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);xe(c)})}}p(we,u);
we.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;xe(this)};we.prototype.pa=function(){this.T&&(this.D&&ye(this.D,this.id,this.C,this.w,this.T),delete this.T);return!0};we.prototype.ga=function(){return!0};
function xe(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.w,8,!0)+")");else{var b;b=a.C;if(Jc(a.H,b,a.w,Rc)){var c;for(c=0;c<a.b.length;c++)Dc(a.H,b+c,a.b[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],g=d.H,f=d.w,h=[],k=d.C>>>g.f;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.H;d=d.w;f=0;for(e>>>=
g.f;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}z(a)}}fb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new we(d);Db(d,c)}});
function ze(a){u.call(this,"RAM",a);this.T=this.Ca=null;this.f=+a.addr;this.w=+a.size;this.na=a.load;this.ma=a.exec;null!=this.na&&(this.na=+this.na);null!=this.ma&&(this.ma=+this.ma);this.A=this.G=!1;this.b=a.file;this.C=xa(this.b);if(this.b){a=this.b;var b=ya(this.C);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,g){g?(c.da("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(nb(c.La,a,b),(a=Na(a,b))?(c.Ca=a.Ca,
c.T=a.T,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);Ae(c)})}}p(ze,u);ze.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Ae(this)};ze.prototype.pa=function(a,b){this.T&&(this.D&&ye(this.D,this.id,this.f,this.w,this.T),delete this.T);b||this.reset();return!0};ze.prototype.ga=function(){return!0};
function Ae(a){if(a.H&&(!a.A&&a.w&&(Jc(a.H,a.f,a.w,1)?a.A=!0:a.w=0),!Lb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Ca)return;Be(a,a.Ca,a.na,a.ma,a.f)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.G=!0;z(a)}}
ze.prototype.reset=function(){if(this.A&&!this.G){for(var a=this.H,b=this.f,c=this.w,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=-qa&&(f+=pa);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.F(f,d,e.B+d);c-=16384;b++;d=0}this.Ca&&Be(this,this.Ca,this.na,this.ma,this.f,!this.D)}this.G=!1};
function Be(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)Dc(a.H,c+f,b[f]);f=!0}f&&(null==d&&(a.u.V(),g=!1),null!=d&&(a=a.u,a.Aa=d,a.A=d%Sb,g?a.v.U?a.v.K||xc(a):a.v.Z=!0:a.D&&a.v.U?a.V()||a.F.v.reset||(ed(a.D),N(a.F,-1)):!1===g&&a.V(),!a.v.K&&a.za&&a.za.stop()));return f}fb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new ze(d);Db(d,c)}});
function Ce(a){u.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.w=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=De;b&&(void 0===c&&(c="Panel"),(c=Cb(c,this.id))&&(b=c.I[b])&&this.ha(null,a,b))}this.b=this.C=null;this.exports={connect:this.qb,receiveData:this.Pa,receiveStatus:this.Ob,setConnection:this.Rb}}p(Ce,u);l=Ce.prototype;
l.ha=function(a,b,c){var d=this;switch(b){case De:return this.I[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.cb:ta.ub:46==c?b=ta.cb:a.ctrlKey&&c>=ta.bb&&c<=ta.xb&&(b=c-(ta.bb-ta.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.tb&&(b=ta.sb);d.Pa(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.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;z(this)};
l.qb=function(a){if(!this.b){var b=bd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.C=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.qb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=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};l.Ob=function(){};l.Rb=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var De="buffer";
fb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ce(d);Db(d,c)}});function Ee(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.C=0;this.P=!1;this.A=-1;this.w=[];this.W={}}p(Ee,u);Ee.prototype.pb=function(){return-1};Ee.prototype.$a=function(){};
function Fe(a,b,c,d){if(c)if(b){0>a.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ja(b.substring(c,g))),c=g+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(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||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,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],t=n.length,n=Ja(n);if(!n){g=!0;break}n=Je(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],D=n.length;k.length&&Ke[n]<Ke[k[k.length-1]]&&Ge(h,k,1);k.push(n);b=b.substr(t+D)}Ge(h,k)&&1==h.length||(g=!0);g?c&&a.i("error parsing '"+f+"' at character "+(f.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?")":"}",g=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=He(a,c[1]);b=b.replace(d+c[1]+e,null!=f?O(a,f):"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.pb(b),0<=e?e=a.$a(e):(e=a.W[b],null==e&&(e=ua(b,a.ca))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e}
function Le(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,t="";n?32<n&&(n=32):n=32;for(var D=null==k||isNaN(k),ca=m=m||n;0<n--;)ca||(t=","+t,ca=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,ca--;f=t+f;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}
function Me(a,b){if(b)return Le(a,b,a.W[b]);var c=0;for(b in a.W)Le(a,b,a.W[b]),c++;return 0<c}function O(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=wa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=va(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Ne(a){Ee.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.G=[];this.b=this.M=this.J=[];Oe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Pe(this);this.D=this;this.qa={};this.X=this.lb=0;this.S=null;this.O=[];Qe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b,
a)})}p(Ne,Ee);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Na:void 0===b?!1:b,fa:!1,ca:c}}function Re(a,b,c,d){a.B=b;a.Na=c||!1;a.fa=!1;a.ca=d}function Se(a){return[a.B,a.Na,a.fa,a.ca,a.Qa]}function Te(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.jb=Fe(a,c.Qa=b[4]));return c}l=Ne.prototype;
l.xa=function(a,b,c,d){this.H=b;this.F=a;this.u=c;this.ea=a.w;(a=bd(a,"messages"))&&Qe(this,a);Ue(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Mc[c],n&&d.i(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.B,8)+" "+q(n.Ha,
4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Qc&&(c=-1),m=0);a+=16384;e++}}});z(this)};
l.ha=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.w.length-1&&(b=d.w[++d.A])):40==a.keyCode&&(0<d.A?b=d.w[--d.A]:(b="",d.A=-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.I[b]=c,db(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";gd(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,db(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=yc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function fd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.ya=function(a,b){var c=-1,d=X(a);-1!==d&&(c=Ec(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};l.eb=function(a,b,c){var d=X(a);-1!==d&&(Dc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),N(this.F,-1))};
function Y(a,b,c){var d,e;c||(c=W());var g=c.B;if(void 0!==b){b=Ie(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var f,g=b,h;if(g.match(/^[a-z_][a-z0-9_]*$/i))for(var g=g.toUpperCase(),k=0;k<a.G.length;k++){var m=a.G[k].T[g];if(null!=m){h=m.o;break}}null!=h&&(f=W(h));if(f)return f;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);g=He(a,b,void 0)}null!=g&&Re(c,g,d,e);return c}function Ve(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.jb=Fe(a,b.Qa=c[2]))}
function We(a){return wa(a/Sb,6)+" "+wa(a%Sb,6)}function Qe(a,b){a.D=a;a.X=a.lb=536870916;a.S=null;a.O=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in L){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=L[c],a.i(c+" messages enabled"))}}function Ue(a,b){for(var c in L)if(16==L[c]){a.qa[c]=b;break}}l.pb=function(a){return Xe.indexOf(a.toUpperCase())};
l.$a=function(a){var b,c=this.u;switch(a){case Ye:b=c.A;break;case Ze:b=c.J;break;case $e:b=c.f;break;case af:b=c.w&65536?1:0;break;case bf:b=c.w&32768?1:0;break;case cf:b=c.w&131072?1:0;break;case df:b=c.w&32?1:0;break;case ef:b=c.w&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+O(this,W(this.u.sa).B));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.u&&(c=this.u.v.K)||Mb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.i(a);this.u&&(a=this.u,od(a),a.ea=0,a.F&&N(a.F,void 0))}};
function Pe(a){var b;if(!Pd(a))a.f&&a.f.length&&a.i("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(ff);for(b=0;b<a.f.length;b++)a.f[b]=W();a.R=0;a.i("instruction history buffer allocated")}}function Of(a,b,c){if(!Qf(a,c))return!1;xc(a.u,b);return!0}
function yc(a,b,c,d){if(!Qf(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.C=0;b||Pd(a)&&Qd(a,a.u.A,0);try{b=md(a.u,b);var g=a.u.Ja(b);0<g&&(zc(a.u,g),a.C+=g,Ac(a.u,g,!0),Bc(a.u,g),a.ia++)}catch(f){"number"!=typeof f&&(a.C=0,Jb(a.u,f.stack||f.message))}!1!==d&&(a.ea&&a.ea.stop(),N(a.F,-1));ed(a,c||!1,e);return 0<a.C}l.V=function(a){this.u&&this.u.V(a)};function ed(a,b,c){b=void 0===b?!0:b;a.wa&&(c&&a.i(Rf+c),Re(a.L,a.u.A),b&&1!=a.N?Sf(a):Tf(a))}
function Qf(a,b){var c;(c=!a.u||!Lb(a.u))||(c=a.u,c.v.U?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.u.v.K?(b||a.i("cpu busy or unavailable, command ignored"),!1):!Kb(a.u)}l.pa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ga=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Pe(this);this.ia=0;this.S=null;this.C=0;Re(this.L,this.u.A);this.v.K=!1;Uf(this);a||ed(this)};
l.save=function(){var a=new M(this);a.set(0,Se(this.L));a.set(1,Se(this.ja));a.set(2,Se(this.ba));a.set(3,[this.w,this.P,this.X]);a.set(4,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=Te(this,a[b++]),this.ja=Te(this,a[b++]),this.ba=Te(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.G=a[4]);return!0};l.start=function(a,b){this.N||this.i("running");this.v.K=!0;this.za=a;this.Aa=b};
l.stop=function(a,b){if(this.v.K){this.v.K=!1;this.C=b-this.Aa;if(!this.N){b="stopped";if(this.C){a-=this.za;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";Pd(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Ob(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}ed(this,!0);fd(this);Uf(this,this.u.A);this.S=null}};function Pd(a){return 1<a.b.length||!!a.ka}
function Qd(a,b,c){var d=-1;c||(d=a.u.g(b),2756==d>>23&&a.u.sa==b&&(b=Nd(a.u,1)));if(0<c&&(a.ka&&!--a.ka||Zc(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.ia++,0>d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
function Vf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Xb|0,t;for(t in Wf)if(f=Wf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ia(k,8);f?(k=28700==h?k+O(a,g/Yb&127,-1):k+O(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=O(a,g&262143,-1),(g=g>>18&15)&&(k+="("+O(a,g,-1)+")")):k+=We(g);g=k;f="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+We(k),null==
e.B)break;while(e.B!=b.B)}h+=Ia(f,16)+g;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+hd(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}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=X(c);var d=a.H;Yc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b<a.J.length;b++)c=a.J[b],c=X(c),d=a.H,Yc(d.b[c>>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0}
l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.i("invalid address: "+O(this,b.B)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=X(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==X(h)&&(!d||h.fa)){g=!0;h.fa||e||cg(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.H,Yc(d.b[c>>>d.f],b==a.J));h.fa||Pe(a);break}}return g}
function dg(a,b){for(var c=1;c<b.length;c++)cg(a,b,c);return b.length-1}function cg(a,b,c,d){c=b[c];a.i(b[0]+" "+O(a,c.B)+(d?" "+d:c.Qa?' "'+c.Qa+'"':""))}function Uf(a,b){if(void 0!==b)Zc(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.fa){if(!bg(a,a.b,c,!0))break;b=0}}}
function Zc(a,b,c,d,e){var g=!1;if(!a.ra++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.fa)for(var k=X(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.fa&&(bg(a,d,h,!0),e=!0);if(n=h.jb){for(var g=!1,t=0;t<n.length;t++)if(!eg(a,n[t],!0)){if(n[t].indexOf("if")){g=!0;break}for(var D=t+1;D<n.length&&n[D].indexOf("else");D++)t++;if(D==n.length){g=!0;break}}a.u.v.K||(g=!0)}if(g){e||cg(a,d,f,"hit");break}}}a.ra--;return g}
function fg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,g=wa(d,2);Re(e.va,d);g+="="+O(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d<Xe.length;d++)(e=Xe[d]||"")&&(e+="="+O(a,a.$a(d),d>=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function ye(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],t=Ka(n,k,a.mb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({bd:b,B:c,Bb:d,T:e,kb:g})}function gg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.G.length;b++){var g=a.G[b],f=g.B>>>0,h=g.Bb;if(e>=f&&e<f+h){e=Ka(g.kb,[e-f],a.mb);0<=e?hg(a,b,e,d):c&&(e=~e,hg(a,b,e-1,d),hg(a,b,e,d));break}}return d}
function hg(a,b,c,d){var e={},g=a.G[b].kb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.G[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}function ig(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Me(a)||a.i("no variables"),!0;if(!c[2])return Me(a,c[1]);if(!c[3])return delete a.W[c[1]],!0;b=He(a,c[3]);return void 0!==b?(a.W[c[1]]=b,!0):!1}a.i("invalid assignment:"+b);return!1}
function jg(a,b,c){var d=null;if(b=Y(a,b)){var e=gg(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.B-e[1])&&(f=" + "+q(g,4,!0)),g=e[0]+" ("+O(a,e[1])+")"+f,c&&a.i(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.B)&&(f=" - "+q(g,4,!0)),g=e[4]+" ("+O(a,e[5])+")"+f,c&&a.i(g),d||(d=g))}else c&&a.i("no symbols")}return d}
function Sf(a,b){var c;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trm\tdump misc registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var d=a.u,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)e=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}f=He(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":d.A=f%Sb;Re(a.L,d.A);break;default:a.i("unknown register: "+
g);return}N(a.F);a.i("updated registers:")}}a.i(fg(a,e));c&&(Re(a.L,d.A),Tf(a,O(a,a.L.B)))}}function kg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.i(c[2]):Le(a,null,c[2].charCodeAt(0)):He(a,b,!0)}
function lg(a,b,c){if("?"==c)a.i("trace commands:"),a.i("\tt [#]\ttrace # instructions"),a.i("\ttr [#]\ttrace # instructions with register updates"),a.i("\ttc [#]\ttrace # cycles"),a.i("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.ta=b;cb(c,function(){return Nb(a,!0)&&yc(a,e,d,!1)},function(){a.ea&&a.ea.stop();N(a.F,-1);Nb(a,!1)})}}
function Tf(a,b,c,d){if(b=Y(a,b,a.L)){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=Y(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.i("range too large");return}d=-1}for(c=0;0<e&&d--;){var g=Mb(a,!1)||a.N?a.C:null,f=null!=g?"cycles":null,h=gg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}}
function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0<b.length){a.P&&(b="a "+O(a,a.ba.B)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var t=Y(a,
f[1],a.ba);if(t){var D=f[2];if(void 0==D)a.i("begin assemble at "+O(a,t.B)),a.P=!0,N(a.F);else{f.shift();f.shift();f.shift();var ca,gf=f.join(""),C=-1,pc,Ng=D.toUpperCase(),qd;for(qd in Wf){var Ra;pc=+qd;var hf=Wf[qd];switch(pc){case 32512:Ra=Xf;break;case 32256:Ra=Yf;break;case 29248:Ra=Zf;break;default:Ra=[""]}var jf,rd;for(rd in hf){for(var kf=hf[rd],Sa=0;Sa<Ra.length;Sa++){var sd=Ra[Sa];"S"==sd&&kf>$f&&(sd="B");if(Ng==ag[kf]+sd){jf=29248!=pc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(rd|jf<<6)*Xb;break}}if(0<=
C)break}if(0<=C)break}if(0<=C)if(gf)for(var td=gf.split(","),pb=0;pb<td.length;pb++){var qc=td[pb].trim();if(qc){if(1<pb){a.i("too many operands: "+qc);C=-1;break}var da=qc.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!da){a.i("unknown operand: "+qc);C=-1;break}var K=He(a,da[2]);if(void 0==K){C=-1;break}if(!pb&&1<td.length)if(28700==pc){if(0>K||127<K){a.i("device code out of range: "+da[2]);C=-1;break}C+=K*Yb}else{if(0>K||15<K){a.i("accumulator address out of range: "+da[2]);C=-1;break}C+=K<<23}else{if(0>
K||262143<K){a.i("memory address out of range: "+da[2]);C=-1;break}C+=K;if(da[3]){K=He(a,da[3]);if(void 0==K){C=-1;break}if(0>K||15<K){a.i("memory index out of range: "+da[3]);C=-1;break}C+=K<<18}da[1]&&(C+=4194304)}}}else a.i("missing operand(s)"),C=-1;else a.i("unknown instruction: "+D);ca=C;0<=ca&&(a.eb(t,ca),a.i(Vf(a,t)))}}break;case "b":a:{var Og=f[0],Ta=f[1],Pg=b;if("?"==Ta)a.i("breakpoint commands:"),a.i("\tbp #\tset exec breakpoint"),a.i("\tbr #\tset read breakpoint"),a.i("\tbw #\tset write breakpoint"),
a.i("\tbc #\tclear breakpoint (* to clear all)"),a.i("\tbl\tlist all breakpoints"),a.i("\tbn [#]\tbreak after # instruction(s)");else{var Ba=Og.charAt(1);if("l"==Ba){var ud;ud=0+dg(a,a.b);ud+=dg(a,a.M);(ud+=dg(a,a.J))||a.i("no breakpoints")}else if("n"==Ba){var lf=+Ta||0;Ta&&(a.ka=lf);a.i("break after "+lf+" instruction(s)")}else if(void 0===Ta)a.i("missing breakpoint address");else{var R=W();if("*"!=Ta&&(R=Y(a,Ta,a.L),!R))break a;"c"==Ba?null==R.B?(Oe(a),a.i("all breakpoints cleared")):bg(a,a.b,
R)||bg(a,a.M,R)||bg(a,a.J,R)||a.i("breakpoint missing: "+O(a,R.B)):null!=R.B&&(Ve(a,R,Pg),"p"==Ba?a.Da(a.b,R):"r"==Ba?a.Da(a.M,R):"w"==Ba?a.Da(a.J,R):a.i("unknown breakpoint command: "+Ba))}}}break;case "c":a.oa&&(a.oa.value="");break;case "d":a:{var Ua,Va=f[0],ea=f[1],ra=f[2],Qg=f[3];if("?"==ea){var Wa="";for(Ua in L)a.qa[Ua]&&(Wa&&(Wa+=","),Wa+=Ua);Wa+=",state,symbols";a.i("dump memory commands:");a.i("\tdw [a] [n] dump n words at address a");a.i("\tds [a] [n] dump n words at address a as JSON");
a.i("\tdh [p] [n] dump n instructions from history position p");Wa.length&&a.i("dump extension commands:\n\t"+Wa)}else if("state"==ea){var vd=mg(a.F,!0);"console"==ra?console.log(vd):(a.oa&&(a.oa.value=""),vd&&a.i(vd))}else if("symbols"==ea)for(var wd=0;wd<a.G.length;wd++){var xd=a.G[wd],Xa;for(Xa in xd.T)if("."!=Xa.charAt(0)){var mf=xd.T[Xa].o;if(void 0!==mf){var nf=xd.T[Xa].l;nf&&(Xa=nf);a.i(O(a,mf)+" "+Xa)}}}else{if("d"==Va){for(Ua in L)if(f[1]==Ua){var of=a.qa[Ua];of?(f.shift(),f.shift(),of(f)):
a.i("no dump registered for "+ea);break a}ea||(Va=a.Ba||"dw")}else a.Ba=Va;if("dh"==Va){var pf=ea,qf=ra,rf="",sf=0,Z=a.R,fa=a.f;if(fa.length){var V=+pf||a.sa,rb=+qf||10;isNaN(V)?V=rb:rf="more ";V>fa.length&&(a.i("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var yd=[];"call"==qf&&(rb=1E5,yd=["CALL"]);for(void 0!==pf&&a.i(V+" instructions earlier:");0<rb&&Z!=a.R;){var tf=fa[Z++];if(null==tf.B)break;var sb=W(tf.B),Rg=V--,uf=Vf(a,sb,"history",
Rg);(!yd.length||0<=uf.indexOf(yd[0]))&&a.i(uf);sb.Ya&&(Z+=sb.Ya,rb-=sb.Ya,V-=sb.Ya);Z>=fa.length&&(Z=0);a.sa=V;sf++;rb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,vf="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Qg,Ca=Je(a,ra);else{var wf=Y(a,ra);wf&&(Ca=wf.B-Ya.B)}0>Ca&&(Ca=0);65536<Ca&&(Ca=65536)}var Sg=a.ca;Ya.ca&&(a.ca=Ya.ca);for(var xf="db"==Va?1:2,zd=Ca||32,Ad=1==xf?2:4,Tg=(zd+Ad-1)/Ad|0||1,Da="";Tg--&&0<zd;){for(var Ea="",yf="",ea=
O(a,Ya.B),zf=Ad;0<zf--&&0<zd--;){var rc=a.ya(Ya,1);vf?(Ea&&(Ea+=","),Ea+=rc):(Ea+=We(rc),Ea+=" ");for(var Af=0;1==xf&&6>Af;Af++)yf+=String.fromCharCode((rc%64|0)+32),rc/=64}Da&&(Da+="\n");Da=vf?Da+(Ea+","):Da+(ea+": "+Ea+(0>zf?" "+yf:""))}Da&&a.i(Da);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Bd=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Bd=null;if(null==Bd)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var sc=Y(a,Bd,a.ja);if(sc)for(var tc=2;tc<
f.length;tc++){var Cd=He(a,f[tc]);if(void 0===Cd){a.i("unknown value: "+f[tc]);break}a.i("changing "+O(a,sc.B)+" from "+We(Bf.call(a,sc))+" to "+We(Cd));Cf.call(a,sc,Cd,1)}}break;case "g":a:{var Ef=f[1],Ug=b;if(void 0!==Ef){var Dd=Y(a,Ef);if(!Dd)break a;Ve(a,Dd,Ug);a.Da(a.b,Dd,!0)}Of(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Mb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Ed;var tb=b.substr(2),tb=Ja(tb);He(a,tb)?(c||a.i("true: "+tb),Ed=!0):(c||a.i("false: "+tb),Ed=
!1);Ed||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Fd=0,Gd=W(),ub=W();for(a.i("stack trace for "+O(a,ub.B));10>Fd;){for(var Fa=null,Wg=256;65536>ub.B>>>0;){Gd.B=a.ya(ub,2);if(null==ub.B||!Wg--)break;if(!(Gd.B&1)){for(var Xg=a,uc=Gd,Ff=null,vb=uc.B,Gf=vb,Hd=1;6>=Hd&&vb;Hd++){if(2<Hd){uc.B=vb;var vc=Vf(Xg,uc);if(0<=vc.indexOf("JSR")){var Hf=vc.indexOf(" ");if(vb+(vc.indexOf(" ",
Hf+1)-Hf-1)/2==Gf){Ff=vc;break}}}vb-=2}uc.B=Gf;if(Fa=Ff)break}}if(!Fa||null==Fa)break;var If=null;if("ks"==Vg){var Jf=Fa.match(/[0-9A-F]+$/);Jf&&(If=jg(a,Jf[0]))}Fa=Ia(Fa,50)+" ;"+(If||"stack="+O(a,ub.B));a.i(Fa);Fd++}Fd||a.i("no return addresses found")}break;case "l":if("ln"==f[0]){jg(a,f[1],!0);break}g=!0;break;case "m":a:{var ga,ha=null,E=f[1];"?"==E&&(E=void 0);if(void 0!==E){var sa=0;if("all"==E)sa=1879046143,E=null;else if("on"==E)ha=!0,E=null;else if("off"==E)ha=!1,E=null;else{"keys"==E&&
(E="key");"kbd"==E&&(E="keyboard");for(ga in L)if(E==ga){sa=L[ga];ha=!!(a.X&sa);break}if(!sa){a.i("unknown message category: "+E);break a}}if(sa)if("on"==f[2])a.X|=sa,ha=!0;else if("off"==f[2]&&(a.X&=~sa,ha=!1,1073741824==sa)){for(var Kf=1E3<=a.O.length?a.O.length-1E3:0;Kf<a.O.length;)a.i(a.O[Kf++]);a.O=[]}}var Yg=0,wb="";for(ga in L)if(!E||E==ga){var Zg=!!(a.X&L[ga]);if(null===ha||ha==Zg)wb&&(wb+=","),++Yg%10||(wb+="\n\t"),"key"==ga&&(ga="keys"),wb+=ga}void 0===E&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.i((null!==ha?ha?"messages on: ":"messages off: ":"message categories:\n\t")+(wb||"none"));Pe(a)}break;case "p":if("print"==f[0]){kg(a,b.substr(5));break}var Lf=f[0],Mf="p"==Lf?0:"pr"==Lf?1:-1;if("?"==f[1]||0>Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.A);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&ld(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();
break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var xb=+f[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.i("invalid base: "+xb);break}}a.i("default base: "+a.ca);break;case "cs":var yb;void 0!==f[3]&&(yb=+f[3]);switch(f[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.i("unknown cs option");break a}void 0!==yb&&dd(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(id(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached"));
a.i("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a,
b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Qb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Id="commands:",Jd;for(Jd in ng)Id+="\n"+Ia(Jd,9)+ng[Jd];Pd(a)||(Id+="\nnote: history disabled if no exec breakpoints");a.i(Id);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d}
function gd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0}
var ng={"?":"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"},$f=20,ag=".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 CA 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".split(" "),
Ye=0,Ze=1,$e=2,af=3,bf=4,cf=5,df=6,ef=7,Xe="PC RA EA C0 C1 OV ND PD".split(" "),og={},Wf=(og[28672]={0:101},og[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},og[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:$f,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},og[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},og[29248]={24576:79,24640:80,25088:81,25152:82},og[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},og),Xf=["","I","M","S"],Yf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ff=1E3,Rf=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ne(d);Db(d,c)}});
function pg(a,b,c){u.call(this,"Computer",a,33554432);this.v.U=!1;this.R=null;qg(this,b);this.O=bd(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.G=this.N=null;this.L=this.W=!1;this.J=this.C=null;this.S=this.P=!1;this.ba=bd(this,"url")||"";(Math.random()+.1).toString(36);this.f=rg(this);if(this.u=Cb("CPU",this.id)){this.D=Cb("Debugger",this.id);this.H=new Fc({id:this.La+".bus",busWidth:this.aa},this.u,this.D);var d,e=Ab(this.id);if((this.w=Cb("Panel",this.id))&&this.w.oa)for(b=
0;b<e.length;b++)d=e[b],d.da=this.w.da,d.i=this.w.i,d.oa=this.w.oa;this.i(Qb+" 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.xa&&d.xa(this,this.H,this.u,this.D);b=null;d=bd(this,"resume",a);void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var g;if(a=bd(this,"state")||(g=!0,a.state))this.N=b=a,g||(this.L=!0,this.b=sg),this.b&&(this.J=new M(this,"1.34.2"),tg(this.J)?b=null:
delete this.J);!b&&this.b&&(b=ug(this))&&(this.L=!0);if(b){var f=this;Ma(b,null,!0,function(a,b,c){c?(f.G=null,f.L=!1,f.da("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(f.M=b,f.W=!0);z(f)})}else z(this);this.I.power||(this.O=!0);!c&&this.O&&vg(this,this.Ga)}else r("Unable to find CPU component")}p(pg,u);function qg(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 bd(a,b,c,d){var e=b.toLowerCase(),e=ab(b)||ab(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 vg(a,b,c){for(var d=Ab(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Lb(g)){Lb(g,function(){vg(a,b,c)});return}}b.call(a,c)}
function wg(a,b){var c=new M(a,"1.34.2",xg);if(tg(c)&&yg(c)){var d=c.get(zg),e=b?b.get(zg):"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=pg.prototype;
l.Ga=function(a){void 0===a&&(a=this.b||(this.M?Ag:sg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.J||new M(this,"1.34.2");if(a==Bg)b=!0;else if(a>sg){if(tg(d,this.M)){this.C=new M(this,"1.34.2",Cg);tg(this.C)&&(Dg(this,d),a=Eg,Fg(this.C));this.C.set(zg,La());Gg(this.C);var e=this.b&&!this.L;if(a==Ag||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!=
f?(this.da("Error: "+f),"unable to verify user"==f&&(Za(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=Ab(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.u&&(c=Ig(this,f,d,b,c));b=[d,a,c];a!=Bg?vg(this,this.nb,b):this.nb(b)}};
function Ig(a,b,c,d,e){if(!b.v.U){b.v.U=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.pa(g,d)&&g&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=sg,window&&window.location.reload()):a.P=!0,b.pa(null),e=!1),!d&&b.gb){var f=b.gb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.nb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0};
function Dg(a,b){if(zb("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.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}}
function mg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new M(a,"1.34.2"),f=new M(a,"1.34.2",xg),h=La();f.set(zg,h);g.set(zg,h);g.set(Jg,"1.34.2");g.set(Kg,window?window.location.href:null);g.set(Lg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k<h.length;k++){var m=h[k];m.v.U&&(m.ga&&(d=m.ga(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.v.U=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Mg(a,a.f,g.toString()),Gg(f)&&Gg(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==$g),d&&g.clear(h)):e=g.toString());c&&(a.v.U=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return e}
l.reset=function(){this.v.reset=!0;this.H&&this.H.reset&&(Pb(this,"Resetting "+this.H.type),this.H.reset());this.u&&this.u.reset&&(Pb(this,"Resetting "+this.u.type),this.u.reset());for(var a=Ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.u&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.v.reset=!1;N(this,-1)};l.start=function(a,b){for(var c=Ab(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}N(this,-1)};
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,
S,S,S,S,S,S,S,S,S],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.v&=-131073);a&131072&&(this.v&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.v&131072&&(a|=8);this.v&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}];
function Be(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.v=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ce(c)})}}p(Be,u);
Be.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Ce(this)};Be.prototype.pa=function(){this.T&&(this.D&&De(this.D,this.id,this.C,this.v,this.T),delete this.T);return!0};Be.prototype.ga=function(){return!0};
function Ce(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.v||(a.v=a.b.length);if(a.b.length!=a.v)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.v,8,!0)+")");else{var b;b=a.C;if(Kc(a.H,b,a.v,Sc)){var c;for(c=0;c<a.b.length;c++)Ec(a.H,b+c,a.b[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.H,g=d.v,h=[],k=d.C>>>f.f;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.v;g=0;for(e>>>=
f.f;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}z(a)}}fb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Be(d);Db(d,c)}});
function Ee(a){u.call(this,"RAM",a);this.T=this.Ca=null;this.f=+a.addr;this.v=+a.size;this.na=a.load;this.ma=a.exec;null!=this.na&&(this.na=+this.na);null!=this.ma&&(this.ma=+this.ma);this.A=this.F=!1;this.b=a.file;this.C=xa(this.b);if(this.b){a=this.b;var b=ya(this.C);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(nb(c.La,a,b),(a=Na(a,b))?(c.Ca=a.Ca,
c.T=a.T,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);Fe(c)})}}p(Ee,u);Ee.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Fe(this)};Ee.prototype.pa=function(a,b){this.T&&(this.D&&De(this.D,this.id,this.f,this.v,this.T),delete this.T);b||this.reset();return!0};Ee.prototype.ga=function(){return!0};
function Fe(a){if(a.H&&(!a.A&&a.v&&(Kc(a.H,a.f,a.v,1)?a.A=!0:a.v=0),!Lb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Ca)return;Ge(a,a.Ca,a.na,a.ma,a.f)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;z(a)}}
Ee.prototype.reset=function(){if(this.A&&!this.F){for(var a=this.H,b=this.f,c=this.v,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.v(g,d,e.B+d);c-=16384;b++;d=0}this.Ca&&Ge(this,this.Ca,this.na,this.ma,this.f,!this.D)}this.F=!1};
function Ge(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Ec(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.u.V(),f=!1),null!=d&&(a=a.u,a.Aa=d,a.A=d%Sb,f?a.w.U?a.w.K||rc(a):a.w.Z=!0:a.D&&a.w.U?a.V()||a.G.w.reset||(fd(a.D),N(a.G,-1)):!1===f&&a.V(),!a.w.K&&a.za&&a.za.stop()));return g}fb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ee(d);Db(d,c)}});
function He(a){u.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.v=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Ie;b&&(void 0===c&&(c="Panel"),(c=Cb(c,this.id))&&(b=c.I[b])&&this.ha(null,a,b))}this.b=this.C=null;this.exports={connect:this.rb,receiveData:this.Qa,receiveStatus:this.Pb,setConnection:this.Sb}}p(He,u);l=He.prototype;
l.ha=function(a,b,c){var d=this;switch(b){case Ie:return this.I[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.fb:ta.vb:46==c?b=ta.fb:a.ctrlKey&&c>=ta.eb&&c<=ta.xb&&(b=c-(ta.eb-ta.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.ub&&(b=ta.tb);d.Qa(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.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;z(this)};
l.rb=function(a){if(!this.b){var b=cd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.v);if(this.C=e.receiveData){this.v=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=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};l.Pb=function(){};l.Sb=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer";
fb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new He(d);Db(d,c)}});function Je(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.C=0;this.P=!1;this.A=-1;this.v=[];this.W={}}p(Je,u);Je.prototype.ab=function(){return-1};Je.prototype.bb=function(){};
function Ke(a,b,c,d){if(c)if(b){0>a.A&&a.v.length&&(a.A=0);if(0>a.A||b!=a.v[a.A])a.v.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.v[a.A+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(Ja(b.substring(c,f))),c=f+1}}return a}
function Le(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 Me(a,b,c){var d;if(b){b=Ne(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],t=n.length,n=Ja(n);if(!n){f=!0;break}n=Oe(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],D=n.length;k.length&&Pe[n]<Pe[k[k.length-1]]&&Le(h,k,1);k.push(n);b=b.substr(t+D)}Le(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Qe(a,null,
d))}return d}function Ne(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=Me(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(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 Oe(a,b,c,d){var e;null!=b?(e=a.ab(b),0<=e?e=a.bb(e):(e=a.W[b],null==e&&(e=ua(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function Qe(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,m=void 0,n=8,t="";n?32<n&&(n=32):n=32;for(var D=null==k||isNaN(k),ca=m=m||n;0<n--;)ca||(t=","+t,ca=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
function Re(a,b){if(b)return Qe(a,b,a.W[b]);var c=0;for(b in a.W)Qe(a,b,a.W[b]),c++;return 0<c}function O(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=wa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=va(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Se(a){Je.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Te(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ue(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ve(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return hd(b,a)}):void 0===global[x]&&(global[x]=function(a){return hd(b,
a)})}p(Se,Je);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function Xe(a){return[a.B,a.Oa,a.fa,a.ca,a.Ra]}function Ye(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Ke(a,c.Ra=b[4]));return c}l=Se.prototype;
l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.ea=a.v;(a=cd(a,"messages"))&&Ve(this,a);Ze(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Nc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.B,8)+" "+q(n.Ha,
4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Rc&&(c=-1),m=0);a+=16384;e++}}});z(this)};
l.ha=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",hd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.v.length-1&&(b=d.v[++d.A])):40==a.keyCode&&(0<d.A?b=d.v[--d.A]:(b="",d.A=-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.I[b]=c,db(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";hd(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,db(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=zc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function gd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.ya=function(a,b){var c=-1,d=X(a);-1!==d&&(c=Fc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};l.gb=function(a,b,c){var d=X(a);-1!==d&&(Ec(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),N(this.G,-1))};
function Y(a,b,c){var d,e;c||(c=W());var f=c.B;if(void 0!==b){b=Ne(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].T[f];if(null!=m){h=m.o;break}}null!=h&&(g=W(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Me(a,b,void 0)}null!=f&&We(c,f,d,e);return c}function $e(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.lb=Ke(a,b.Ra=c[2]))}
function af(a){return wa(a/Sb,6)+" "+wa(a%Sb,6)}function Ve(a,b){a.D=a;a.X=a.nb=536870916;a.S=null;a.O=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in K){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=K[c],a.j(c+" messages enabled"))}}function Ze(a,b){for(var c in K)if(16==K[c]){a.qa[c]=b;break}}l.ab=function(a){return bf.indexOf(a.toUpperCase())};
l.bb=function(a){var b,c=this.u;switch(a){case cf:b=c.A;break;case df:b=c.J;break;case ef:b=c.f;break;case ff:b=c.v&65536?1:0;break;case gf:b=c.v&32768?1:0;break;case hf:b=c.v&131072?1:0;break;case jf:b=c.v&32?1:0;break;case kf:b=c.v&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+O(this,W(this.u.sa).B));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.u&&(c=this.u.w.K)||Mb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.j(a);this.u&&(a=this.u,pd(a),a.ea=0,a.G&&N(a.G,void 0))}};
function Ue(a){var b;if(!Qd(a))a.f&&a.f.length&&a.j("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(lf);for(b=0;b<a.f.length;b++)a.f[b]=W();a.R=0;a.j("instruction history buffer allocated")}}function mf(a,b,c){if(!nf(a,c))return!1;rc(a.u,b);return!0}
function zc(a,b,c,d){if(!nf(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.C=0;b||Qd(a)&&Rd(a,a.u.A,0);try{b=nd(a.u,b);var f=a.u.Ja(b);0<f&&(Ac(a.u,f),a.C+=f,Bc(a.u,f,!0),Cc(a.u,f),a.ia++)}catch(g){"number"!=typeof g&&(a.C=0,Jb(a.u,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),N(a.G,-1));fd(a,c||!1,e);return 0<a.C}l.V=function(a){this.u&&this.u.V(a)};function fd(a,b,c){b=void 0===b?!0:b;a.wa&&(c&&a.j(of+c),We(a.L,a.u.A),b&&1!=a.N?pf(a):qf(a))}
function nf(a,b){var c;(c=!a.u||!Lb(a.u))||(c=a.u,c.w.U?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.u.w.K?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Kb(a.u)}l.pa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ga=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ue(this);this.ia=0;this.S=null;this.C=0;We(this.L,this.u.A);this.w.K=!1;Yf(this);a||fd(this)};
l.save=function(){var a=new M(this);a.set(0,Xe(this.L));a.set(1,Xe(this.ja));a.set(2,Xe(this.ba));a.set(3,[this.v,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=Ye(this,a[b++]),this.ja=Ye(this,a[b++]),this.ba=Ye(this,a[b++]),this.v=a[b][0],"string"==typeof this.v&&(this.v=[this.v]),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.w.K=!0;this.za=a;this.Aa=b};
l.stop=function(a,b){if(this.w.K){this.w.K=!1;this.C=b-this.Aa;if(!this.N){b="stopped";if(this.C){a-=this.za;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";Qd(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Ob(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}fd(this,!0);gd(this);Yf(this,this.u.A);this.S=null}};function Qd(a){return 1<a.b.length||!!a.ka}
function Rd(a,b,c){var d=-1;c||(d=a.u.g(b),2756==d>>23&&a.u.sa==b&&(b=ud(a.u,1)));if(0<c&&(a.ka&&!--a.ka||$c(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.ia++,0>d&&(d=a.u.g(b)),0<=d&&(We(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
function $f(a,b,c,d){var e=W(b.B),f=a.ya(b,1),g,h,k,m=0,n=f/Yb|0,t;for(t in ag)if(g=ag[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=bg;m=n&3;break;case 32256:k=cg;m=n&7;break;case 29248:k=dg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>eg&&(k="B");k=fg[g||0]+k;k=Ia(k,8);g?(k=28700==h?k+O(a,f/Zb&127,-1):k+O(a,f>>23&15,-1),k+=",",f&4194304&&(k+="@"),k+=O(a,f&262143,-1),(f=f>>18&15)&&(k+="("+O(a,f,-1)+")")):k+=af(f);f=k;g="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),g+=" "+af(k),null==
e.B)break;while(e.B!=b.B)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.w.Ea?h+("cycles="+id(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=X(c);var d=a.H;Zc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b<a.J.length;b++)c=a.J[b],c=X(c),d=a.H,Zc(d.b[c>>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0}
l.Da=function(a,b,c){var d=!0;c||gg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.j("invalid address: "+O(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(hg(this,a,a.length-1,"set"),Ue(this)));return d};function gg(a,b,c,d,e){var f=!1;c=X(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==X(h)&&(!d||h.fa)){f=!0;h.fa||e||hg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Zc(d.b[c>>>d.f],b==a.J));h.fa||Ue(a);break}}return f}
function ig(a,b){for(var c=1;c<b.length;c++)hg(a,b,c);return b.length-1}function hg(a,b,c,d){c=b[c];a.j(b[0]+" "+O(a,c.B)+(d?" "+d:c.Ra?' "'+c.Ra+'"':""))}function Yf(a,b){if(void 0!==b)$c(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.fa){if(!gg(a,a.b,c,!0))break;b=0}}}
function $c(a,b,c,d,e){var f=!1;if(!a.ra++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.fa)for(var k=X(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.fa&&(gg(a,d,h,!0),e=!0);if(n=h.lb){for(var f=!1,t=0;t<n.length;t++)if(!jg(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var D=t+1;D<n.length&&n[D].indexOf("else");D++)t++;if(D==n.length){f=!0;break}}a.u.w.K||(f=!0)}if(f){e||hg(a,d,g,"hit");break}}}a.ra--;return f}
function kg(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=wa(d,2);We(e.va,d);f+="="+O(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d<bf.length;d++)(e=bf[d]||"")&&(e+="="+O(a,a.bb(d),d>=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function De(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,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,B:c,Cb:d,T:e,mb:f})}function lg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Cb;if(e>=g&&e<g+h){e=Ka(f.mb,[e-g],a.ob);0<=e?mg(a,b,e,d):c&&(e=~e,mg(a,b,e-1,d),mg(a,b,e,d));break}}return d}
function mg(a,b,c,d){var e={},f=a.F[b].mb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function ng(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Re(a)||a.j("no variables"),!0;if(!c[2])return Re(a,c[1]);if(!c[3])return delete a.W[c[1]],!0;b=Me(a,c[3]);return void 0!==b?(a.W[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function og(a,b,c){var d=null;if(b=Y(a,b)){var e=lg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function pf(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.u,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=Me(a,b);if(void 0===g)return;b=a.ab(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.u;switch(b){case cf:h.A=
g%Sb;We(a.L,h.A);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.v=g?h.v|f:h.v&~f);N(a.G);a.j("updated registers:")}}a.j(kg(a,e));c&&(We(a.L,d.A),qf(a,O(a,a.L.B)))}}function pg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Qe(a,null,c[2].charCodeAt(0)):Me(a,b,!0)}
function qg(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=Oe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;cb(c,function(){return Nb(a,!0)&&zc(a,e,d,!1)},function(){a.ea&&a.ea.stop();N(a.G,-1);Nb(a,!1)})}}
function qf(a,b,c,d){if(b=Y(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Oe(a,c.substr(1)),null!=c&&(d=c);else{d=Y(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Mb(a,!1)||a.N?a.C:null,g=null!=f?"cycles":null,h=lg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.B=m.B;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j($f(a,b,g,f));e-=b.B-k;c++}}}
function jg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.P&&(a.j("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0<b.length){a.P&&(b="a "+O(a,a.ba.B)+" "+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),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var t=Y(a,
g[1],a.ba);if(t){var D=g[2];if(void 0==D)a.j("begin assemble at "+O(a,t.B)),a.P=!0,N(a.G);else{g.shift();g.shift();g.shift();var ca,rf=g.join(""),C=-1,sc,Sg=D.toUpperCase(),vd;for(vd in ag){var Ra;sc=+vd;var sf=ag[vd];switch(sc){case 32512:Ra=bg;break;case 32256:Ra=cg;break;case 29248:Ra=dg;break;default:Ra=[""]}var tf,wd;for(wd in sf){for(var uf=sf[wd],Sa=0;Sa<Ra.length;Sa++){var xd=Ra[Sa];"S"==xd&&uf>eg&&(xd="B");if(Sg==fg[uf]+xd){tf=29248!=sc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(wd|tf<<6)*Yb;break}}if(0<=
C)break}if(0<=C)break}if(0<=C)if(rf)for(var yd=rf.split(","),pb=0;pb<yd.length;pb++){var tc=yd[pb].trim();if(tc){if(1<pb){a.j("too many operands: "+tc);C=-1;break}var da=tc.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!da){a.j("unknown operand: "+tc);C=-1;break}var L=Me(a,da[2]);if(void 0==L){C=-1;break}if(!pb&&1<yd.length)if(28700==sc){if(0>L||127<L){a.j("device code out of range: "+da[2]);C=-1;break}C+=L*Zb}else{if(0>L||15<L){a.j("accumulator address out of range: "+da[2]);C=-1;break}C+=L<<23}else{if(0>
L||262143<L){a.j("memory address out of range: "+da[2]);C=-1;break}C+=L;if(da[3]){L=Me(a,da[3]);if(void 0==L){C=-1;break}if(0>L||15<L){a.j("memory index out of range: "+da[3]);C=-1;break}C+=L<<18}da[1]&&(C+=4194304)}}}else a.j("missing operand(s)"),C=-1;else a.j("unknown instruction: "+D);ca=C;0<=ca&&(a.gb(t,ca),a.j($f(a,t)))}}break;case "b":a:{var Tg=g[0],Ta=g[1],Ug=b;if("?"==Ta)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 Ba=Tg.charAt(1);if("l"==Ba){var zd;zd=0+ig(a,a.b);zd+=ig(a,a.M);(zd+=ig(a,a.J))||a.j("no breakpoints")}else if("n"==Ba){var vf=+Ta||0;Ta&&(a.ka=vf);a.j("break after "+vf+" instruction(s)")}else if(void 0===Ta)a.j("missing breakpoint address");else{var R=W();if("*"!=Ta&&(R=Y(a,Ta,a.L),!R))break a;"c"==Ba?null==R.B?(Te(a),a.j("all breakpoints cleared")):gg(a,a.b,
R)||gg(a,a.M,R)||gg(a,a.J,R)||a.j("breakpoint missing: "+O(a,R.B)):null!=R.B&&($e(a,R,Ug),"p"==Ba?a.Da(a.b,R):"r"==Ba?a.Da(a.M,R):"w"==Ba?a.Da(a.J,R):a.j("unknown breakpoint command: "+Ba))}}}break;case "c":a.oa&&(a.oa.value="");break;case "d":a:{var Ua,Va=g[0],ea=g[1],ra=g[2],Vg=g[3];if("?"==ea){var Wa="";for(Ua in K)a.qa[Ua]&&(Wa&&(Wa+=","),Wa+=Ua);Wa+=",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");Wa.length&&a.j("dump extension commands:\n\t"+Wa)}else if("state"==ea){var Ad=rg(a.G,!0);"console"==ra?console.log(Ad):(a.oa&&(a.oa.value=""),Ad&&a.j(Ad))}else if("symbols"==ea)for(var Bd=0;Bd<a.F.length;Bd++){var Cd=a.F[Bd],Xa;for(Xa in Cd.T)if("."!=Xa.charAt(0)){var wf=Cd.T[Xa].o;if(void 0!==wf){var xf=Cd.T[Xa].l;xf&&(Xa=xf);a.j(O(a,wf)+" "+Xa)}}}else{if("d"==Va){for(Ua in K)if(g[1]==Ua){var yf=a.qa[Ua];yf?(g.shift(),g.shift(),yf(g)):
a.j("no dump registered for "+ea);break a}ea||(Va=a.Ba||"dw")}else a.Ba=Va;if("dh"==Va){var zf=ea,Af=ra,Bf="",Cf=0,Z=a.R,fa=a.f;if(fa.length){var V=+zf||a.sa,rb=+Af||10;isNaN(V)?V=rb:Bf="more ";V>fa.length&&(a.j("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var Dd=[];"call"==Af&&(rb=1E5,Dd=["CALL"]);for(void 0!==zf&&a.j(V+" instructions earlier:");0<rb&&Z!=a.R;){var Df=fa[Z++];if(null==Df.B)break;var sb=W(Df.B),Wg=V--,Ef=$f(a,sb,"history",
Wg);(!Dd.length||0<=Ef.indexOf(Dd[0]))&&a.j(Ef);sb.Za&&(Z+=sb.Za,rb-=sb.Za,V-=sb.Za);Z>=fa.length&&(Z=0);a.sa=V;Cf++;rb--}}Cf||(a.j("no "+Bf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,Ff="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Vg,Ca=Oe(a,ra);else{var Gf=Y(a,ra);Gf&&(Ca=Gf.B-Ya.B)}0>Ca&&(Ca=0);65536<Ca&&(Ca=65536)}var Xg=a.ca;Ya.ca&&(a.ca=Ya.ca);for(var Hf="db"==Va?1:2,Ed=Ca||32,Fd=1==Hf?2:4,Yg=(Ed+Fd-1)/Fd|0||1,Da="";Yg--&&0<Ed;){for(var Ea="",If="",ea=
O(a,Ya.B),Jf=Fd;0<Jf--&&0<Ed--;){var uc=a.ya(Ya,1);Ff?(Ea&&(Ea+=","),Ea+=uc):(Ea+=af(uc),Ea+=" ");for(var Kf=0;1==Hf&&6>Kf;Kf++)If+=String.fromCharCode((uc%64|0)+32),uc/=64}Da&&(Da+="\n");Da=Ff?Da+(Ea+","):Da+(ea+": "+Ea+(0>Jf?" "+If:""))}Da&&a.j(Da);a.ca=Xg}}}}break;case "e":if("else"==g[0])break;var Lf,Mf,Nf=g[0],Gd=g[1];"e"==Nf||"ew"==Nf?(Lf=a.ya,Mf=a.gb):Gd=null;if(null==Gd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var vc=Y(a,Gd,a.ja);if(vc)for(var wc=2;wc<
g.length;wc++){var Hd=Me(a,g[wc]);if(void 0===Hd){a.j("unknown value: "+g[wc]);break}a.j("changing "+O(a,vc.B)+" from "+af(Lf.call(a,vc))+" to "+af(Hd));Mf.call(a,vc,Hd,1)}}break;case "g":a:{var Of=g[1],Zg=b;if(void 0!==Of){var Id=Y(a,Of);if(!Id)break a;$e(a,Id,Zg);a.Da(a.b,Id,!0)}mf(a,!0,c)}break;case "h":a.w.K?(c||a.j("halting"),a.V()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Jd;var tb=b.substr(2),tb=Ja(tb);Me(a,tb)?(c||a.j("true: "+tb),Jd=!0):(c||a.j("false: "+tb),Jd=
!1);Jd||(d=!1);break}f=!0;break;case "k":var $g=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Kd=0,Ld=W(),ub=W();for(a.j("stack trace for "+O(a,ub.B));10>Kd;){for(var Fa=null,ah=256;65536>ub.B>>>0;){Ld.B=a.ya(ub,2);if(null==ub.B||!ah--)break;if(!(Ld.B&1)){for(var bh=a,xc=Ld,Pf=null,vb=xc.B,Qf=vb,Md=1;6>=Md&&vb;Md++){if(2<Md){xc.B=vb;var yc=$f(bh,xc);if(0<=yc.indexOf("JSR")){var Rf=yc.indexOf(" ");if(vb+(yc.indexOf(" ",
Rf+1)-Rf-1)/2==Qf){Pf=yc;break}}}vb-=2}xc.B=Qf;if(Fa=Pf)break}}if(!Fa||null==Fa)break;var Sf=null;if("ks"==$g){var Tf=Fa.match(/[0-9A-F]+$/);Tf&&(Sf=og(a,Tf[0]))}Fa=Ia(Fa,50)+" ;"+(Sf||"stack="+O(a,ub.B));a.j(Fa);Kd++}Kd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){og(a,g[1],!0);break}f=!0;break;case "m":a:{var ga,ha=null,E=g[1];"?"==E&&(E=void 0);if(void 0!==E){var sa=0;if("all"==E)sa=1879046143,E=null;else if("on"==E)ha=!0,E=null;else if("off"==E)ha=!1,E=null;else{"keys"==E&&
(E="key");"kbd"==E&&(E="keyboard");for(ga in K)if(E==ga){sa=K[ga];ha=!!(a.X&sa);break}if(!sa){a.j("unknown message category: "+E);break a}}if(sa)if("on"==g[2])a.X|=sa,ha=!0;else if("off"==g[2]&&(a.X&=~sa,ha=!1,1073741824==sa)){for(var Uf=1E3<=a.O.length?a.O.length-1E3:0;Uf<a.O.length;)a.j(a.O[Uf++]);a.O=[]}}var ch=0,wb="";for(ga in K)if(!E||E==ga){var dh=!!(a.X&K[ga]);if(null===ha||ha==dh)wb&&(wb+=","),++ch%10||(wb+="\n\t"),"key"==ga&&(ga="keys"),wb+=ga}void 0===E&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.j((null!==ha?ha?"messages on: ":"messages off: ":"message categories:\n\t")+(wb||"none"));Ue(a)}break;case "p":if("print"==g[0]){pg(a,b.substr(5));break}var Vf=g[0],Wf="p"==Vf?0:"pr"==Vf?1:-1;if("?"==g[1]||0>Wf)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 Xf=W(a.u.A);a.ya(Xf);a.N?(a.Da(a.b,Xf,!0),mf(a)||(a.G&&md(a.G),a.N=0)):qg(a,Wf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();
break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var xb=+g[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.j("invalid base: "+xb);break}}a.j("default base: "+a.ca);break;case "cs":var yb;void 0!==g[3]&&(yb=+g[3]);switch(g[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.j("unknown cs option");break a}void 0!==yb&&ed(a.u);a.j("checksums "+(a.u.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(jd(a.u,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));
a.j("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"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":qg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ng(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){pg(a,b.substr(1));break}var Nd="commands:",Od;for(Od in sg)Nd+="\n"+Ia(Od,9)+sg[Od];Qd(a)||(Nd+="\nnote: history disabled if no exec breakpoints");a.j(Nd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Zf){a.j("debugger error: "+(Zf.stack||Zf.message)),d=!1}return d}
function hd(a,b,c){b=Ke(a,b,c);for(var d in b)if(!jg(a,b[+d]))return!1;return!0}
var sg={"?":"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"},eg=20,fg=".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 CA 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".split(" "),
cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),tg={},ag=(tg[28672]={0:101},tg[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},tg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:eg,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},tg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},tg[29248]={24576:79,24640:80,25088:81,25152:82},tg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},tg),bg=["","I","M","S"],cg=" L E LE A GE N G".split(" "),dg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lf=1E3,of=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Se(d);Db(d,c)}});
function ug(a,b,c){u.call(this,"Computer",a,33554432);this.w.U=!1;this.R=null;vg(this,b);this.O=cd(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.L=this.W=!1;this.J=this.C=null;this.S=this.P=!1;this.ba=cd(this,"url")||"";(Math.random()+.1).toString(36);this.f=wg(this);if(this.u=Cb("CPU",this.id)){this.D=Cb("Debugger",this.id);this.H=new Gc({id:this.La+".bus",busWidth:this.aa},this.u,this.D);var d,e=Ab(this.id);if((this.v=Cb("Panel",this.id))&&this.v.oa)for(b=
0;b<e.length;b++)d=e[b],d.da=this.v.da,d.j=this.v.j,d.oa=this.v.oa;this.j(Qb+" 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.xa&&d.xa(this,this.H,this.u,this.D);b=null;d=cd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=cd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=xg),this.b&&(this.J=new M(this,"1.34.2"),yg(this.J)?b=null:
delete this.J);!b&&this.b&&(b=zg(this))&&(this.L=!0);if(b){var g=this;Ma(b,null,!0,function(a,b,c){c?(g.F=null,g.L=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(g.M=b,g.W=!0);z(g)})}else z(this);this.I.power||(this.O=!0);!c&&this.O&&Ag(this,this.Ga)}else r("Unable to find CPU component")}p(ug,u);function vg(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 cd(a,b,c,d){var e=b.toLowerCase(),e=ab(b)||ab(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 Ag(a,b,c){for(var d=Ab(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Lb(f)){Lb(f,function(){Ag(a,b,c)});return}}b.call(a,c)}
function Bg(a,b){var c=new M(a,"1.34.2",Cg);if(yg(c)&&Dg(c)){var d=c.get(Eg),e=b?b.get(Eg):"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=ug.prototype;
l.Ga=function(a){void 0===a&&(a=this.b||(this.M?Fg:xg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.J||new M(this,"1.34.2");if(a==Gg)b=!0;else if(a>xg){if(yg(d,this.M)){this.C=new M(this,"1.34.2",Hg);yg(this.C)&&(Ig(this,d),a=Jg,Kg(this.C));this.C.set(Eg,La());Lg(this.C);var e=this.b&&!this.L;if(a==Fg||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Dg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?yg(d,g):("error"==f&&"no machine state"!=
g?(this.da("Error: "+g),"unable to verify user"==g&&(Za(Mg,""),this.f=null)):this.j(f+": "+g),Kg(d),yg(d)?(c=Dg(d),e=!0):c=!1))}e&&Bg(this,c?d:null)}else a==Jg&&d.clear()}else Bg(this);delete this.M;delete this.J}e=Ab(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.u&&(c=Ng(this,g,d,b,c));b=[d,a,c];a!=Gg?Ag(this,this.pb,b):this.pb(b)}};
function Ng(a,b,c,d,e){if(!b.w.U){b.w.U=!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.pa(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=xg,window&&window.location.reload()):a.P=!0,b.pa(null),e=!1),!d&&b.ib){var g=b.ib.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.pb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ng(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Ig(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0};
function Ig(a,b){if(zb("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.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}}
function rg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Cg),h=La();g.set(Eg,h);f.set(Eg,h);f.set(Og,"1.34.2");f.set(Pg,window?window.location.href:null);f.set(Qg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.w.Z=a.u.w.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.w.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k<h.length;k++){var m=h[k];m.w.U&&(m.ga&&(d=m.ga(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.w.U=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Rg(a,a.f,f.toString()),Lg(g)&&Lg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==eh),d&&f.clear(h)):e=f.toString());c&&(a.w.U=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return e}
l.reset=function(){this.w.reset=!0;this.H&&this.H.reset&&(Pb(this,"Resetting "+this.H.type),this.H.reset());this.u&&this.u.reset&&(Pb(this,"Resetting "+this.u.type),this.u.reset());for(var a=Ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.u&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.w.reset=!1;N(this,-1)};l.start=function(a,b){for(var c=Ab(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}N(this,-1)};
l.stop=function(a,b){for(var c=Ab(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}N(this,-1)};
function N(a,b){if(a.u){var c=a.u,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Sa+=d))&&(e.textContent=c.v.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Sa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0<b&&c&&!d&&(a.f=a.u.qa);ic(a,a.f);cc(a,a.A)}}
l.ha=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.v.U?mg(d,!1,!0):vg(d,d.Ga))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.v.U&&!d.A)if(d.b&&!d.G){var a=zb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");mg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(sg)}else d.reset(),d.u&&!d.D&&d.u.Z()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.I[b]=
c,c.onclick=function(){var a=rg(d,!0);if(a){var b=!!(d.b&&!d.G||d.N),c=mg(d,b);b?Mg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function rg(a,b){var c=a.f;c||((c=Qa(Hg),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.f=null;b=Ma(Aa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Za(Hg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function ug(a){var b=null;a.f&&(b=Aa()+"/api/v1/user?req=load&user="+a.f+"&state="+bh(a,"1.34.2"));return b}
function Mg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=bh(a,"1.34.2");d.data=c;b=Ma(Aa()+"/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),Za(Hg,""),a.f=null)}}
function ld(a,b){if(a.oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.oa.focus();!b&&window&&window.scrollTo(c,d)}}var Cg="failsafe",xg="validate",zg="timestamp",Jg="version",Kg="url",Lg="browser",Hg="user",Bg=-1,sg=0,Ag=1,Eg=2,$g=3;fb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var g=c[e],f=w(g),f=new pg(f,d,!0);Db(f,g);f.O&&vg(f,f.Ga)}});
gb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Cb("Computer",c.id))&&c.S&&!c.v.U&&c.Ga(Bg)}});gb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Cb("Computer",c.id))&&c.v.U&&mg(c,!(!c.b||c.G),!0)}});function M(a,b,c){this.id=a.id;this.f="";this.b={};this.u=this.D=!1;this.key=bh(a,b,c);Fg(this,a.wb)}l=M.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 tg(a,b){return b?(a.f=b,a.u=!0,a.D=!1,!0):a.u?!0:Oa()&&(b=Qa(a.key))?(a.f=b,a.u=!0):!1}function yg(a){var b=!0;if(!a.D)try{a.b=JSON.parse(a.f),a.D=!0}catch(c){r(c.message||c),b=!1}return b}function Gg(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Za(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.f};
function Fg(a,b){a.f="";a.b={};a.u=a.D=!1;b&&a.set("parms",b)}l.clear=function(a){Fg(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,g,f){g("Loading "+a+"...");Ma(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):eh(k,a,b,c,d,e,g,f)})}
function eh(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(nb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?fh(a,f,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+"...");Ma(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],f);fh(a,b,c)}})}else c(a,null)}
function gh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function f(a){g("Error: "+a);m&&(--ch||jb(!0));m=!1}var h,k,m=!0;ch++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?dh(d,null,a,null,!1,g,function(a,e){e?(nb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ch||jb(!0)):f("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||
jb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?dh(c,b,a,e,!0,g,n):eh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(ca){f(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return gh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return gh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var t=b[n];if('"'==t||"'"==t)m&&t!=m?k+=t:(m?m=null:m=t,k&&(h.push(k),k=""));else{if(!m){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(f.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&f.push(h);d[e]=f;Eb(a)||(c=!1)}return c};window.enableEvents=jb;window.sendEvent=lb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
function N(a,b){if(a.u){var c=a.u,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.v&&(a=a.v,b=b||0,a.M)){c=a.u.w.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0<b&&c&&!d&&(a.f=a.u.qa);jc(a,a.f);dc(a,a.A)}}
l.ha=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.w.U?rg(d,!1,!0):Ag(d,d.Ga))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.w.U&&!d.A)if(d.b&&!d.F){var a=zb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(xg)}else d.reset(),d.u&&!d.D&&d.u.Z()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.I[b]=
c,c.onclick=function(){var a=wg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=rg(d,b);b?Rg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function wg(a,b){var c=a.f;c||((c=Qa(Mg),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=fh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function fh(a,b){a.f=null;b=Ma(Aa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Za(Mg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function zg(a){var b=null;a.f&&(b=Aa()+"/api/v1/user?req=load&user="+a.f+"&state="+gh(a,"1.34.2"));return b}
function Rg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=gh(a,"1.34.2");d.data=c;b=Ma(Aa()+"/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),Za(Mg,""),a.f=null)}}
function md(a,b){if(a.oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.oa.focus();!b&&window&&window.scrollTo(c,d)}}var Hg="failsafe",Cg="validate",Eg="timestamp",Og="version",Pg="url",Qg="browser",Mg="user",Gg=-1,xg=0,Fg=1,Jg=2,eh=3;fb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new ug(g,d,!0);Db(g,f);g.O&&Ag(g,g.Ga)}});
gb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Cb("Computer",c.id))&&c.S&&!c.w.U&&c.Ga(Gg)}});gb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Cb("Computer",c.id))&&c.w.U&&rg(c,!(!c.b||c.F),!0)}});function M(a,b,c){this.id=a.id;this.f="";this.b={};this.u=this.D=!1;this.key=gh(a,b,c);Kg(this,a.yb)}l=M.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 yg(a,b){return b?(a.f=b,a.u=!0,a.D=!1,!0):a.u?!0:Oa()&&(b=Qa(a.key))?(a.f=b,a.u=!0):!1}function Dg(a){var b=!0;if(!a.D)try{a.b=JSON.parse(a.f),a.D=!0}catch(c){r(c.message||c),b=!1}return b}function Lg(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Za(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.f};
function Kg(a,b){a.f="";a.b={};a.u=a.D=!1;b&&a.set("parms",b)}l.clear=function(a){Kg(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 gh(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 hh=0;
function ih(a,b,c,d,e,f,g){f("Loading "+a+"...");Ma(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):jh(k,a,b,c,d,e,f,g)})}
function jh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(nb(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?kh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function kh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(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],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[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);kh(a,b,c)}})}else c(a,null)}
function lh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function g(a){f("Error: "+a);m&&(--hh||jb(!0));m=!1}var h,k,m=!0;hh++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ih(d,null,a,null,!1,f,function(a,e){e?(nb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--hh||jb(!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),--hh||
jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ih(c,b,a,e,!0,f,n):jh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return lh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return lh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;n++){var t=b[n];if('"'==t||"'"==t)m&&t!=m?k+=t:(m?m=null:m=t,k&&(h.push(k),k=""));else{if(!m){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;Eb(a)||(c=!1)}return c};window.enableEvents=jb;window.sendEvent=lb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map

View file

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