Added all the PDP-10 logical testing/modification instructions

This commit is contained in:
Jeff 2017-03-09 15:37:26 -08:00 committed by Jeff Parsons
commit a7b4321f53
3 changed files with 894 additions and 808 deletions

File diff suppressed because it is too large Load diff

View file

@ -26,229 +26,233 @@
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ba.Symbol||(ba.Symbol=ea)}var fa=0;function ea(a){return"jscomp_symbol_"+(a||"")+fa++}
function ha(){da();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return oa(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function oa(a){ha();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 pa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
pa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var qa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc: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,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87,
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ca.Symbol||(ca.Symbol=ea)}var ga=0;function ea(a){return"jscomp_symbol_"+(a||"")+ga++}
function ha(){da();var a=ca.Symbol.iterator;a||(a=ca.Symbol.iterator=ca.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ka(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ka(a){ha();a={next:a};a[ca.Symbol.iterator]=function(){return this};return a}
function la(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 ra(a,b){if(b){var c=ca;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})}}
ra("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}});ra("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var sa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc: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,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87,
Uc:88,Vc:89,Bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Wc:97,Xc:98,Yc:99,d:100,e:101,Zc:102,$c:103,ad:104,bd:105,cd:106,k:107,dd:108,ed:109,n:110,fd:111,p:112,q:113,r:114,gd:115,t:116,jd:117,kd:118,ld:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ab:127};
function ra(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):
2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function sa(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),0>a||a>=Math.pow(b,c))&&(a=null);if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ta(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return sa(a,8,b,c?"0o":"")}
function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return sa(a,16,b,c?"0x":"")}function ua(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function va(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function wa(){var a=xa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}
function Ca(a,b){return(a+" ").slice(0,b)}function Da(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Ea(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
function Fa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ga(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
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 Ma(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
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.Da=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
function xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Na(){if(null==Oa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Oa=a}return Oa}function Pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ra(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Sa(a){if(!Ta){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ta=c}return Ta[a]}function Ua(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Va(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){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 Ta=null,gb={init:[],show:[],exit:[]},kb=!1,mb=!1,ib=!0,Oa=null;Wa("onload",function(){kb=!0;hb(gb.init)});Wa("onpageshow",function(){mb=!0;hb(gb.show)});Wa(Ra("Opera")||Ra("iOS")?"onunload":"onbeforeunload",function(){hb(gb.exit)});
function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Db=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.A={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;nb.push(this)}function ob(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function qb(){return Date.now()||+new Date}
function r(a){window&&window.alert(a)}function rb(a){var b=!1;window&&(b=window.confirm(a));return b}function sb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<nb.length;b++){var d=nb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function tb(a){if(void 0!==a){var b;for(b=0;b<nb.length;b++)if(nb[b].id===a)return nb[b]}return null}
function ub(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<nb.length;d++)if(c)c==nb[d]&&(c=null);else if(!(a!=nb[d].type||b&&nb[d].id.indexOf(b)))return nb[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function vb(a,b){var c=w;b=x(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var 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=v(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),m=k.length}}}}
function x(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function wb(a){for(var b=!0,c=yb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Ib.indexOf(e)&&(f=function(){return function(){wb(a)}}());var g=Jb[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=ub(d[1],a);if(h)if(g=Kb[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 yb[a];return b}l=t.prototype;
function ta(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 ua(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),0>a||a>=Math.pow(b,c))&&(a=null);if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ua(a,8,b,c?"0o":"")}
function m(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ua(a,16,b,c?"0x":"")}function wa(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 xa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ya(){var a=za();return-1!==a.indexOf("pcjs.org",a.length-8)}function Aa(a){return a.replace(/[&<>"']/g,function(a){return Da[a]})}
function Ea(a,b){return(a+" ").slice(0,b)}function Fa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Da={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Ga(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 Ha(){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 Ia(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Ja(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Da=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){q("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)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
function za(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Pa(){if(null==Qa){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}Qa=a}return Qa}function Ra(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Sa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ta(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 Ua(a){if(!Va){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," "))}Va=c}return Va[a]}function Wa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Xa(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 Ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Za(a){$a.init.push(a)}
function ab(a){if(kb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function lb(a){!kb&&a?(kb=!0,mb&&nb("init"),ob&&nb("show")):kb=a}function nb(a){$a[a]&&ab($a[a])}var Va=null,$a={init:[],show:[],exit:[]},mb=!1,ob=!1,kb=!0,Qa=null;Ya("onload",function(){mb=!0;ab($a.init)});Ya("onpageshow",function(){ob=!0;ab($a.show)});Ya(Ta("Opera")||Ta("iOS")?"onunload":"onbeforeunload",function(){ab($a.exit)});
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Db=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.A={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;pb.push(this)}function qb(a,b,c){rb[a]&&b&&(rb[a][b]=c)}function sb(){return Date.now()||+new Date}
function q(a){window&&window.alert(a)}function tb(a){var b=!1;window&&(b=window.confirm(a));return b}function ub(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<pb.length;b++){var d=pb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function vb(a){if(void 0!==a){var b;for(b=0;b<pb.length;b++)if(pb[b].id===a)return pb[b]}return null}
function wb(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<pb.length;d++)if(c)c==pb[d]&&(c=null);else if(!(a!=pb[d].type||b&&pb[d].id.indexOf(b)))return pb[d]}return null}function t(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
function xb(a,b){var c=u;b=v(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(" "),n=0;n<k.length;n++)switch(h=k[n],h){case c+"-binding":(h=t(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),n=k.length}}}}
function v(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 yb(a){for(var b=!0,c=zb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Ab.indexOf(e)&&(f=function(){return function(){yb(a)}}());var g=Cb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=wb(d[1],a);if(h)if(g=Mb[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){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete zb[a];return b}l=r.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.ja=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ta=this.J[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.Pa)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
l.status=function(a){this.j(this.Pa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Lb(a,b){a.A.error=!0;a.da(b)}function Mb(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Nb(a,b){b&&(a.A.ready?b():a.Ta=b);return a.A.ready}function Ob(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Ta;a.Ta=null;b&&b()}}function Pb(a,b){a.A.Ia&&(b?a.A.cb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ia}
function Qb(a,b){if(a.A.cb)return a.A.Ia=!1,a.A.cb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ia=b;return a.A.Ia}l.ua=function(){return this.A.V=!0};l.ia=function(a,b){b&&(this.A.V=!1);return!0};function Rb(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.sb)}return!1}function Sb(a,b,c,d){a.D&&(!0===c||Rb(a,c|0))&&a.D.message(b,d)}
l.status=function(a){this.j(this.Pa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function Nb(a,b){a.A.error=!0;a.da(b)}function Ob(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Pb(a,b){b&&(a.A.ready?b():a.Ta=b);return a.A.ready}function Qb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Ta;a.Ta=null;b&&b()}}function Rb(a,b){a.A.Ia&&(b?a.A.cb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ia}
function Sb(a,b){if(a.A.cb)return a.A.Ia=!1,a.A.cb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ia=b;return a.A.Ia}l.ua=function(){return this.A.V=!0};l.ia=function(a,b){b&&(this.A.V=!1);return!0};function Tb(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.sb)}return!1}function Ub(a,b,c,d){a.D&&(!0===c||Tb(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 pb=window?window.PCjs.Machines:{},nb=window?window.PCjs.Components:[],yb=window?window.PCjs.Commands:{},Ib=["hold","sleep","wait"],Jb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Kb={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}};
var rb=window?window.PCjs.Machines:{},pb=window?window.PCjs.Components:[],zb=window?window.PCjs.Commands:{},Ab=["hold","sleep","wait"],Cb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Mb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var w="pdp10",Tb="PDPjs",Ub=Math.pow(2,18)-1,Vb=Math.pow(2,18),Wb=Math.pow(2,17)-1,y=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),Xb=Math.pow(2,34),Yb=Math.pow(2,36),Zb=Math.pow(2,21),$b=Math.pow(2,26),ac=Math.pow(2,23),bc=Math.pow(2,30),w="pdp10",Tb="PDPjs",cc={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,
var u="pdp10",Vb="PDPjs",Wb=Math.pow(2,18)-1,Xb=Math.pow(2,18),Yb=Math.pow(2,17)-1,x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),B=Math.pow(2,36)-1,C=Math.pow(2,36),D=Math.pow(2,32),Zb=Math.pow(2,34),$b=Math.pow(2,36),ac=Math.pow(2,21),bc=Math.pow(2,26),cc=Math.pow(2,23),dc=Math.pow(2,30),u="pdp10",Vb="PDPjs",ec={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 dc(a,b){t.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.i=this.I=this.u=this.w=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ec;this.B={};this.b={START:[1,1,!0,!1,this.Pb],STEP:[1,1,!1,!1,this.Qb],ENABLE:[1,1,!1,!1,this.Kb],CONT:[1,1,!0,!1,this.Ib],DEP:[0,0,!0,!1,this.Jb],EXAM:[1,1,!0,!1,this.Lb],LOAD:[1,1,!0,!1,this.Nb],TEST:[0,0,!0,!1,this.Mb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb,
set:this.Yb};Ob(this)}p(dc,t);l=dc.prototype;l.reset=function(a){this.stop();a&&fc(this,this.w=0)};
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){gc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){hc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){gc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){hc(a,b)}}(this,b),!0):t.prototype.ja.call(this,a,b,c,d)}};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ic(this);jc(this)};l.ua=function(a,b){if(!b)if(this.T&&kc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])lc(this,this.i=a[0]),fc(this,this.w=a[1]),mc(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}jc(this);return!0};function nc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ic(a,b){for(var c in a.B)nc(a,c,null!=b?b:a.B[c])}function oc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jc(a){for(var b in a.b)oc(a,b,a.b[b][1])}
l.Gb=function(a,b,c){if(gc(this,b)){if(c){var d=this;setTimeout(function(){hc(d,b);a&&a()},+c);return!1}hc(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return mc(this,ra(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,oc(this,a,c[1]),!0):!1};l.Zb=function(a){return gc(this,a)?(hc(this,a),!0):!1};function gc(a,b){var c=a.b[b];return c?(oc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=pc&&(a.P=b==qc,a.R=b==rc),!0):!1}
function hc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(oc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.A.L||(J(this.v,this.i),this.b[sc]&&this.b[sc][1]&&tc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()};
l.Ib=function(a){if(!a&&!this.v.A.L)if(this.b[sc]&&this.b[sc][1])tc(this.v);else{if((a=this.D)&&!Pb(a,!0))Qb(a,!0),uc(a,0,null),Qb(a,!1);else try{var b=this.v.Ma(1);0<b&&(vc(this.v,b),wc(this.v,b,!0),xc(this.v,b))}catch(c){"number"!=typeof c&&Lb(this.v,c.stack||c.message)}this.stop();this.G&&K(this.G)}};l.Jb=function(a){a&&!this.v.A.L&&(this.P&&yc(this),a=fc(this,this.w=this.u),this.S==ec?zc(this.H,this.i,a):this.v.g(this.i,a))};
l.Lb=function(a){if(!a&&!this.v.A.L){var b;this.R&&yc(this);this.S==ec?b=Hc(this.H,this.i):b=this.v.f(this.i);fc(this,this.w=b)}};l.Nb=function(a){a||this.v.A.L||lc(this,this.u)};l.Mb=function(a){a?(this.F=!0,ic(this,!0)):(this.F=!1,ic(this),mc(this,0))};l.Ob=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function yc(a){var b=1,c=a.H.u;a.b[pc]&&a.b[pc][1]||(b=-b);lc(a,a.i&~c|a.i+b&c)}
function lc(a,b){a.i=b&a.H.u;if(a.N!==a.i){a.N=a.i;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||nc(d,e,f)}}}function fc(a,b){a.I=b%D;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||nc(d,e,f)}}return a.I}function mc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;jc(a);return!0}l.stop=function(){lc(this,this.v.u)};
function kc(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=tb(d.id);e||(e=new dc(d,!0));vb(e,c)}}var ec=7,qc="DEP",sc="ENABLE",rc="EXAM",pc="STEP";Xa(kc);function Ic(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.B=this.I/16384|0;this.w=0;this.b=[];a=new Jc(this);Kc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;Ob(this)}p(Ic,t);l=Ic.prototype;l.reset=function(){};
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,Lc(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 Mc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){m=h.size-(e-k);m>f&&(m=f);h.Ka=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Nc(Oc,e,f)}e=new Jc(a,e,m,16384,d);Kc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Pc[d]+" at "+ta(b)),!0):Nc(Qc,b,c)}
function Hc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function zc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Lc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.fb||e.Eb){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.Fb=function(a){this.w||(this.D&&Rb(this.D,4)&&Sb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.W())};function Nc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Oc=1,Qc=2;function Rc(a){t.call(this,"Device",a,256)}p(Rc,t);l=Rc.prototype;l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Ob(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new F(this)).data()};
l.restore=function(){return!0};Xa(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new Rc(c),vb(c,d)}}});function Jc(a,b,c,d,e){this.H=a;this.id=Sc+=2;this.C=b;this.Ka=c;this.size=d||0;this.type=e||Tc;this.G=e==Uc;this.b=null;this.f=this.D=this.ib;this.g=this.w=this.La;this.i=this.v=0;Kc(this);this.fb=this.Eb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Vc(this,Wc)}else Vc(this)}l=Jc.prototype;l.save=function(){return this.u};
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.fb=!0):!1};function Vc(a,b){b||(b=Xc);Yc(a,b,void 0);Zc(a,b,void 0)}function Yc(a,b,c){c&&a.i||(a.f=b[0]||a.ib);if(c||void 0===c)a.D=b[0]||a.ib}function Zc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.La);if(c||void 0===c)a.w=b[1]||a.La}l.Ea=function(a,b){b?this.v++||Zc(this,$c,!1):this.i++||Yc(this,$c,!1)};function ad(a,b){b?--a.v||(a.g=a.G?a.La:a.w):--a.i||(a.f=a.D)}
function Kc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Yc(a,$c,!1),(a.v=c.v)&&Zc(a,$c,!1))}l.ib=function(a,b){this.b&&Rb(this.b,32)&&Sb(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Fb(b);return-1};l.La=function(a,b,c){this.b&&Rb(this.b,32)&&Sb(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0)};l.Tb=function(a){return this.u[a]};l.bc=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.fb=!0)};
l.Rb=function(a,b){if(this.b&&null!=this.C){var c=this.b;bd(c,this.C+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.ac=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;bd(d,this.C+b,2,d.I)&&d.W(!1)}this.G?this.La(a,0,c):this.w(a,b,c)};var Tc=0,Uc=2,Pc=["NONE","RAM","ROM"],Sc=0,Xc=[],Wc=[Jc.prototype.Tb,Jc.prototype.bc],$c=[Jc.prototype.Rb,Jc.prototype.ac];
function cd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Xa=0;this.$a=b;this.ea=c;this.Ya=Math.round(this.$a/1E4)/100;this.ba=this.Ya*this.ea;this.Za=this.Ga=this.fa=this.Ra=0;this.A.L=this.A.Wa=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.Fa=!1;this.za=this.la=0;this.Aa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.rb=this.Wb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.ab=this.aa=
0;this.Na=null;Ob(this)}p(cd,t);l=cd.prototype;l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.u;for(a=0;a<dd.length;a++)(b=this.J[dd[a]])&&this.G.ja(null,dd[a],b);Ob(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ua=function(a,b){var c=ed(this.G,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){fd(this);if(!this.restore(a))return!1;gd(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.xa=!0,a.j("Type ? for help with PDPjs Debugger commands"),hd(a),b||id(a),a.qa&&(b=a.qa,a.qa=null,jd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.A.L?!0:this.A.Z?(tc(this),!0):!1};l.vb=function(){return 0};function gd(a){void 0===a.Aa&&(a.Aa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.A.Fa=0<=a.Aa&&0<a.ka;a.A.Fa&&(a.za=0,a.la=a.Aa-a.T)}function xc(a,b){if(a.A.Fa){var c=!1;a.za=a.za+a.vb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=kd(a)&&(a.ka=a.ma=-1,gd(a),a.W(),c=!0);c&&a.j(kd(a)+" cycles: checksum="+q(a.za))}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=sb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.A.L?d.W():tc(d))},!0;case "speed":return this.J[b]=
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){ld(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function wc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function md(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Ya);a.Za=Math.round(1E3/nd);a.Ga=Math.floor(a.$a/nd*c);b||(a.fa=a.Ga);a.Ra=0}function kd(a){return a.T+a.N+a.R-a.S}function fd(a){a.aa=0;a.ab=0;a.T=a.N=a.R=a.S=0;gd(a);ld(a,1)}
function ld(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&od(a.G)}wc(a,a.N);a.N=0;a.M=qb();a.P=0;md(a);return d}function pd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
function vc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function rd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
l.Wb=function(){if(this.A.L){this.Ra>=this.$a&&md(this,!0);this.na=0;this.ya=qb();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=pd(this,this.A.Fa?1:this.Ga);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=rd(this,!0);this.na+=b;this.N+=b;xc(this,b);vc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ga;++this.ab>=sd&&(this.G&&K(this.G,void 0),this.ab=0);break}}while(this.A.L)}catch(e){this.W();this.G&&this.G.stop(qb(),kd(this));Lb(this,
e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.rb;this.P=qb();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ga));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,ld(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}};
function tc(a,b){if(!Mb(a))if(a.A.L)a.j(a.toString()+" busy");else{ld(a);a.A.L=!0;a.A.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&od(a.G,!0),a.G.start(a.M,kd(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){rd(this);wc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(qb(),kd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var nd=30,sd=15,dd=["power","reset"];
function td(a){var b=+a.model||1001;cd.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=ud.bind(this);this.i=M.bind(this);this.wa=null;this.nb=[];this.A.complete=!1}p(td,cd);l=td.prototype;l.reset=function(){this.status("Model "+this.qb);this.A.L&&this.W();this.b=this.K=this.Ha=0;this.u=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.w=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.u;this.B=0;this.f=this.Sb;this.g=this.cc;this.wa=null;fd(this);this.A.error=!1;cd.prototype.reset.call(this)};
l.vb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ha,this.u,this.qa,this.I,this.w,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,vd(this));a.set(4,qd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ha();da();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.w=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];ld(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.nb.length;d++){var e=this.nb[d];if(e.$b===b[c]){d=e;break a}}d=
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function wd(a,b){var c=a.u;a.u=(c+b)%Vb;return c}function J(a,b){a.u=b%Vb}function vd(a){var b=[];for(a=a.wa;a;)b.push(a.$b),a=a.next;return b}l.Sb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
l.Ma=function(a){this.A.complete=!0;var b=this.D?xd(this.D)?1:this.A.Wa?-1:0:0,c=a?this.A.Wa?0:1:-1;this.A.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(yd(this.D,this.u,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&yd(this.D,this.u,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ha=this.f(this.qa),this.qa=-1):(this.K=this.Ha=
this.f(this.xa=this.u),this.u=(this.u+1)%Vb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Ub;a=this.K&4194304?-1:this.Ha/ac|0;0<=a&&this.Cb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Xa(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new td(d);vb(d,c)}});function ud(a){zd[a>>4].call(this,a,a&15)}function N(a){this.i(a)}
function Ad(){var a=0,b=this.f(this.b),c=b/bc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bc+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function Bd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/bc&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
function Cd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/bc&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function Dd(a,b){this.g(b,this.f(this.b))}function Ed(a,b){this.g(b,this.b)}function $d(a,b){this.g(this.b,this.f(b))}function ae(a,b){this.g(b,0)}function be(a,b){this.g(b,C-this.f(b))}function ce(a,b){this.g(b,C)}
function de(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,ee(a,d,c)+(c-(c&y)))}function fe(a,b){var c=this.f(b);this.g(b,ee(a,c,0))}function ge(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,ee(a,c,b)+(b-(b&y)))}function he(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ie(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,ee(a,d,c)+c)}
function je(a,b){var c=this.b*z,d=this.f(b);this.g(b,ee(a,d,c)+c)}function ke(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}function le(a,b){var c=this.f(this.b),d=(c&y)*z,c=ee(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function me(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,ne(a,d,c)+c)}function oe(a,b){var c=this.f(b);this.g(b,ne(a,c,this.b)+this.b)}function pe(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,ne(a,c,b)+b)}
function qe(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Wb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function re(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,ne(a,d,c)+c)}function se(a,b){var c=this.f(b);this.g(b,ne(a,c,0))}function te(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,ne(a,c,b)+b)}function ue(a,b){var c=this.f(this.b),d=c/z|0,c=ne(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){ve[a&7].call(this,a,a>>3&127)}
function we(){}function xe(){}function M(a){this.j("undefined opcode: "+ta(a));wd(this,-1);this.W()}function ye(a){a>A&&(a!=B?a=Yb-a:this.w|=163840);return a}function Q(a,b){var c=(a+b)%D;ze.call(this,a,b,c);return c}function S(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function T(a,b){return(a<B?a:a-D)-(b<B?b:b-B)}
function Ae(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%D;b=this.F=f+Math.trunc(b/2);c>A&&(c=D-c,d=!d);b>A&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.w|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<Be(this.pa,this.ga);)Ce(this.ga,this.ga),Ce(this.oa,this.oa);do{if(0<=Be(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),Ce(this.bb,this.oa),De(this.pa)))break;Ee(this.ga);Ee(this.oa)}while(!De(this.oa));
a=this.bb[0];this.F=this.pa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a}function Fe(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function Ge(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}
function He(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=D-d,b=!b);e>A&&(e=D-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d%z;d=Math.trunc(d/z);f=e%z;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=h%z+a*e;a=h*z+g%z;f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=D-a):f&&(f=D-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.w|=131072),a;c=a;b=f;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.w|=131072);this.F=c;return b}
function Ie(a){a?a==B?this.w|=163840:a=Yb-a:this.w|=98304;return a}function V(a){return a<B?a:a-D}function W(a,b){var c=a-b;0>c&&(c+=D);ze.call(this,c,b,a);return c}function ze(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.w=this.w|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ne(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Wb?y*z:0}return b}
function ee(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b}function Ce(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function Be(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Ee(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function De(a){return!a[0]&&!a[1]}
var zd=[N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},Ad,function(a,b){0>this.I&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.I&&Ad.call(this);Cd.call(this,0,b)},Cd,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},Dd,Ed,$d,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+a%z*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+a%z*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+a%z*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ie.call(this,this.f(this.b)))},function(a,b){this.g(b,Ie.call(this,this.b))},function(a,b){this.g(this.b,
Ie.call(this,this.f(b)))},function(a,b){a=Ie.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,He.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b),
!0))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,He.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Ae.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
1&15,this.F))},function(a,b){a=Ae.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Ae.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=Ae.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ae.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ae.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
function(a,b){a=this.f(b);b=this.f(b+1&15);b=Ae.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ae.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(D-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.w|=131072):a-c<=A&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+D:d;
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;J(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
d<C)this.w|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.w|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.w|=131072):e-c<=A&&(this.w|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.w|=131072):(f-c<=A&&(this.w|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.L||(this.g(b,d*
z+c),a||wd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&J(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&J(this,this.b)},function(a){this.i(a)},function(a,b){a=b<<14;this.w&a&&(this.w&=~a,J(this,this.b))},function(){this.qa=this.b},M,function(a){this.i(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=D&&(a-=D);a/z|0||(this.w|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
0>a&&(a+=D);(a/z|0)==y&&(this.w|=262144);this.g(b,a)},function(a){this.i(a)},function(){this.g(this.b,(this.w&y)*z+this.u);J(this,this.b+1)},function(a,b){this.g(b,(this.w&y)*z+this.u);J(this,this.b)},function(a){this.i(a)},function(a){this.i(a)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},
function(a,b){this.g(b,W.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,W.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,W.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W.call(this,this.f(b),this.f(this.b))))},we,function(a,b){0>T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(a,b){T.call(this,this.f(b),this.b)||J(this,this.u+1)},function(a,b){0>=T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(){J(this,this.u+1)},function(a,
b){0<=T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(a,b){T.call(this,this.f(b),this.b)&&J(this,this.u+1)},function(a,b){0<T.call(this,this.f(b),this.b)&&J(this,this.u+1)},xe,function(a,b){0>T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},function(a,b){T.call(this,this.f(b),this.f(this.b))||J(this,this.u+1)},function(a,b){0>=T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},function(){J(this,this.u+1)},function(a,b){0<=T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+
1)},function(a,b){T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},function(a,b){0<T.call(this,this.f(b),this.f(this.b))&&J(this,this.u+1)},we,function(a,b){0>V.call(this,this.f(b))&&J(this,this.b)},function(a,b){V.call(this,this.f(b))||J(this,this.b)},function(a,b){0>=V.call(this,this.f(b))&&J(this,this.b)},function(){J(this,this.b)},function(a,b){0<=V.call(this,this.f(b))&&J(this,this.b)},function(a,b){V.call(this,this.f(b))&&J(this,this.b)},function(a,b){0<V.call(this,this.f(b))&&J(this,
this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V.call(this,a)||J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){J(this,this.u+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V.call(this,a)&&J(this,this.u+
1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V.call(this,a)||J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V.call(this,a)&&J(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,
this.f(b),1));0<=V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V.call(this,a)||J(this,this.u+1);b&&
this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));
0<V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){this.g(b,W.call(this,this.f(b),1))},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0>V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));V.call(this,a)||J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0>=V.call(this,a)&&J(this,this.b)},function(a,b){this.g(b,W.call(this,this.f(b),1));J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0<=V.call(this,a)&&J(this,this.b)},
function(a,b){a=this.g(b,W.call(this,this.f(b),1));V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(b,W.call(this,this.f(b),1));0<V.call(this,a)&&J(this,this.b)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));0>V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));V.call(this,a)||J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,
this.f(this.b),1));0>=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));0<=V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,W.call(this,this.f(this.b),1));0<V.call(this,a)&&J(this,this.u+1);b&&this.g(b,a)},ae,
ae,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,S.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,S.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,S.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,S.call(this,C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,S.call(this,C-this.f(b),this.b))},function(a,b){this.g(this.b,S.call(this,C-
this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,C-this.f(b),this.f(this.b))))},Dd,Ed,xe,Dd,function(a,b){this.g(b,S.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,S.call(this,this.f(b),C-this.b))},function(a,b){this.g(this.b,S.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,this.f(b),C-this.f(this.b))))},we,we,$d,$d,function(a,b){this.g(b,Fe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Fe.call(this,
this.f(b),this.b))},function(a,b){this.g(this.b,Fe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Fe.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,U.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,U.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,U.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,S.call(this,C-this.f(b),C-this.f(this.b)))},function(a,
b){this.g(b,S.call(this,C-this.f(b),C-this.b))},function(a,b){this.g(this.b,S.call(this,C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,S.call(this,C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,Ge.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Ge.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Ge.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ge.call(this,this.f(b),this.f(this.b))))},be,be,function(a,b){this.g(this.b,
C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,U.call(this,C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U.call(this,C-this.f(b),this.b))},function(a,b){this.g(this.b,U.call(this,C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U.call(this,C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},
function(a,b){this.g(b,U.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U.call(this,this.f(b),C-this.b))},function(a,b){this.g(this.b,U.call(this,this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U.call(this,this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,U.call(this,C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U.call(this,C-this.f(b),C-this.b))},function(a,b){this.g(this.b,U.call(this,C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
U.call(this,C-this.f(b),C-this.f(this.b))))},ce,ce,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},
function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],ve=[function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a,b){switch(b){case 0:a=
this.f(this.b);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145);break;default:this.i(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.g(this.b,a);break;default:this.i(a)}},function(a){this.i(a)},function(a){this.i(a)}];
function Je(a){t.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ua(this.w);if(this.w){a=this.w;var b=va(this.F);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ob(c.Qa,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);Ke(c)})}}p(Je,t);
Je.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ke(this)};Je.prototype.ua=function(){this.U&&(this.D&&Le(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};Je.prototype.ia=function(){return!0};
function Ke(a){if(!Nb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Lb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Mc(a.H,b,a.u,Uc)){var c;for(c=0;c<a.b.length;c++)zc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Ob(a)}}Xa(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Je(d);vb(d,c)}});
function Me(a){t.call(this,"RAM",a);this.U=this.Da=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.B=ua(this.b);if(this.b){a=this.b;var b=va(this.B);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ob(c.Qa,a,b),(a=Ma(a,b))?(c.Da=a.Da,
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Ne(c)})}}p(Me,t);Me.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ne(this)};Me.prototype.ua=function(a,b){this.U&&(this.D&&Le(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Me.prototype.ia=function(){return!0};
function Ne(a){if(a.H&&(!a.w&&a.u&&(Mc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Nb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Da)return;Oe(a,a.Da,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;Ob(a)}}
Me.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.w(g,d,e.C+d);c-=16384;b++;d=0}this.Da&&Oe(this,this.Da,this.sa,this.ra,this.i,!this.D)}this.F=!1};
function Oe(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)zc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,J(a,d),f?a.A.V?a.A.L||tc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.G.A.reset||(hd(a.D),K(a.G,-1)):!1===f&&a.W(),!a.A.L&&a.Na&&a.Na.stop()));return g}Xa(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Me(d);vb(d,c)}});
function Pe(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Qe;b&&(void 0===c&&(c="Panel"),(c=ub(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.B=null;this.exports={connect:this.wb,receiveData:this.Ua,receiveStatus:this.Ub,setConnection:this.Xb}}p(Pe,t);l=Pe.prototype;
l.ja=function(a,b,c){var d=this;switch(b){case Qe:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?qa.lb:qa.Ab:46==c?b=qa.lb:a.ctrlKey&&c>=qa.kb&&c<=qa.Bb&&(b=c-(qa.kb-qa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==qa.zb&&(b=qa.yb);d.Ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Ob(this)};
l.wb=function(a){if(!this.b){var b=ed(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.Pa)return;c=Da(c[1]);if(this.b=tb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Qe="buffer";
Xa(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Pe(d);vb(d,c)}});function Re(a){t.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}p(Re,t);Re.prototype.gb=function(){return-1};Re.prototype.hb=function(){};
function Se(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Da(b.substring(c,f))),c=f+1}}return a}
function Te(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;
function fc(a,b){r.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.i=this.I=this.u=this.w=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=gc;this.B={};this.b={START:[1,1,!0,!1,this.Pb],STEP:[1,1,!1,!1,this.Qb],ENABLE:[1,1,!1,!1,this.Kb],CONT:[1,1,!0,!1,this.Ib],DEP:[0,0,!0,!1,this.Jb],EXAM:[1,1,!0,!1,this.Lb],LOAD:[1,1,!0,!1,this.Nb],TEST:[0,0,!0,!1,this.Mb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb,
set:this.Yb};Qb(this)}la(fc,r);l=fc.prototype;l.reset=function(a){this.stop();a&&hc(this,this.w=0)};
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ic(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){jc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){ic(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){jc(a,b)}}(this,b),!0):r.prototype.ja.call(this,a,b,c,d)}};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;kc(this);lc(this)};l.ua=function(a,b){if(!b)if(this.T&&mc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new E(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])nc(this,this.i=a[0]),hc(this,this.w=a[1]),oc(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}lc(this);return!0};function pc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function kc(a,b){for(var c in a.B)pc(a,c,null!=b?b:a.B[c])}function qc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function lc(a){for(var b in a.b)qc(a,b,a.b[b][1])}
l.Gb=function(a,b,c){if(ic(this,b)){if(c){var d=this;setTimeout(function(){jc(d,b);a&&a()},+c);return!1}jc(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return oc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,qc(this,a,c[1]),!0):!1};l.Zb=function(a){return ic(this,a)?(jc(this,a),!0):!1};function ic(a,b){var c=a.b[b];return c?(qc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=rc&&(a.P=b==sc,a.R=b==tc),!0):!1}
function jc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(qc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.A.L||(F(this.v,this.i),this.b[uc]&&this.b[uc][1]&&vc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()};
l.Ib=function(a){if(!a&&!this.v.A.L)if(this.b[uc]&&this.b[uc][1])vc(this.v);else{if((a=this.D)&&!Rb(a,!0))Sb(a,!0),wc(a,0,null),Sb(a,!1);else try{var b=this.v.Ma(1);0<b&&(xc(this.v,b),yc(this.v,b,!0),zc(this.v,b))}catch(c){"number"!=typeof c&&Nb(this.v,c.stack||c.message)}this.stop();this.G&&G(this.G)}};l.Jb=function(a){a&&!this.v.A.L&&(this.P&&Ac(this),a=hc(this,this.w=this.u),this.S==gc?Bc(this.H,this.i,a):this.v.g(this.i,a))};
l.Lb=function(a){if(!a&&!this.v.A.L){var b;this.R&&Ac(this);this.S==gc?b=Cc(this.H,this.i):b=this.v.f(this.i);hc(this,this.w=b)}};l.Nb=function(a){a||this.v.A.L||nc(this,this.u)};l.Mb=function(a){a?(this.F=!0,kc(this,!0)):(this.F=!1,kc(this),oc(this,0))};l.Ob=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function Ac(a){var b=1,c=a.H.u;a.b[rc]&&a.b[rc][1]||(b=-b);nc(a,a.i&~c|a.i+b&c)}
function nc(a,b){a.i=b&a.H.u;if(a.N!==a.i){a.N=a.i;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||pc(d,e,f)}}}function hc(a,b){a.I=b%C;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||pc(d,e,f)}}return a.I}function oc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;lc(a);return!0}l.stop=function(){nc(this,this.v.i)};
function mc(){for(var a=v(document,u,"panel"),b=0;b<a.length;b++){var c=a[b],d=t(c),e=vb(d.id);e||(e=new fc(d,!0));xb(e,c)}}var gc=7,sc="DEP",uc="ENABLE",tc="EXAM",rc="STEP";Za(mc);function Kc(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.B=this.I/16384|0;this.w=0;this.b=[];a=new Lc(this);Mc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;Qb(this)}la(Kc,r);l=Kc.prototype;l.reset=function(){};
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new E(this);a.set(0,Nc(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)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Oc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,n=16384-(e-k);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){n=h.size-(e-k);n>f&&(n=f);h.Ka=e-h.C+n;e=k+16384;f-=n;g++;continue}}return Pc(Qc,e,f)}e=new Lc(a,e,n,16384,d);Mc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Rc[d]+" at "+va(b)),!0):Pc(Sc,b,c)}
function Cc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function Bc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Nc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.fb||e.Eb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;k[h++]=p-g;k[h++]=n;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
l.Fb=function(a){this.w||(this.D&&Tb(this.D,4)&&Ub(this.D,"memory fault on "+H(this.D,a),!0,!0),this.v.W())};function Pc(a,b,c){q("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}var Qc=1,Sc=2;function Tc(a){r.call(this,"Device",a,256)}la(Tc,r);l=Tc.prototype;l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Qb(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new E(this)).data()};
l.restore=function(){return!0};Za(function(){for(var a=v(document,u,"device"),b=0;b<a.length;b++){var c,d=a[b];c=t(d);switch(c.type){case "default":c=new Tc(c),xb(c,d)}}});function Lc(a,b,c,d,e){this.H=a;this.id=Uc+=2;this.C=b;this.Ka=c;this.size=d||0;this.type=e||Vc;this.G=e==Wc;this.b=null;this.f=this.D=this.ib;this.g=this.w=this.La;this.i=this.v=0;Mc(this);this.fb=this.Eb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Xc(this,Yc)}else Xc(this)}l=Lc.prototype;l.save=function(){return this.u};
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.fb=!0):!1};function Xc(a,b){b||(b=Zc);$c(a,b,void 0);ad(a,b,void 0)}function $c(a,b,c){c&&a.i||(a.f=b[0]||a.ib);if(c||void 0===c)a.D=b[0]||a.ib}function ad(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.La);if(c||void 0===c)a.w=b[1]||a.La}l.Ea=function(a,b){b?this.v++||ad(this,bd,!1):this.i++||$c(this,bd,!1)};function cd(a,b){b?--a.v||(a.g=a.G?a.La:a.w):--a.i||(a.f=a.D)}
function Mc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&$c(a,bd,!1),(a.v=c.v)&&ad(a,bd,!1))}l.ib=function(a,b){this.b&&Tb(this.b,32)&&Ub(this.b,"attempt to read invalid address "+H(this.b,b),!0);this.H.Fb(b);return-1};l.La=function(a,b,c){this.b&&Tb(this.b,32)&&Ub(this.b,"attempt to write "+H(this.b,a)+" to invalid addresses "+H(this.b,c),!0)};l.Tb=function(a){return this.u[a]};l.bc=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.fb=!0)};
l.Rb=function(a,b){if(this.b&&null!=this.C){var c=this.b;dd(c,this.C+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.ac=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;dd(d,this.C+b,2,d.I)&&d.W(!1)}this.G?this.La(a,0,c):this.w(a,b,c)};var Vc=0,Wc=2,Rc=["NONE","RAM","ROM"],Uc=0,Zc=[],Yc=[Lc.prototype.Tb,Lc.prototype.bc],bd=[Lc.prototype.Rb,Lc.prototype.ac];
function ed(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Xa=0;this.$a=b;this.ea=c;this.Ya=Math.round(this.$a/1E4)/100;this.ba=this.Ya*this.ea;this.Za=this.Ga=this.fa=this.Ra=0;this.A.L=this.A.Wa=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.Fa=!1;this.za=this.la=0;this.Aa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.rb=this.Wb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.ab=this.aa=
0;this.Na=null;Qb(this)}la(ed,r);l=ed.prototype;l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.u;for(a=0;a<fd.length;a++)(b=this.J[fd[a]])&&this.G.ja(null,fd[a],b);Qb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ua=function(a,b){var c=gd(this.G,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){hd(this);if(!this.restore(a))return!1;id(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.xa=!0,a.j("Type ? for help with PDPjs Debugger commands"),jd(a),b||kd(a),a.qa&&(b=a.qa,a.qa=null,ld(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.A.L?!0:this.A.Z?(vc(this),!0):!1};l.vb=function(){return 0};function id(a){void 0===a.Aa&&(a.Aa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.A.Fa=0<=a.Aa&&0<a.ka;a.A.Fa&&(a.za=0,a.la=a.Aa-a.T)}function zc(a,b){if(a.A.Fa){var c=!1;a.za=a.za+a.vb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=md(a)&&(a.ka=a.ma=-1,id(a),a.W(),c=!0);c&&a.j(md(a)+" cycles: checksum="+m(a.za))}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=ub(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.A.L?d.W():vc(d))},!0;case "speed":return this.J[b]=
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){nd(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function yc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function od(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Ya);a.Za=Math.round(1E3/pd);a.Ga=Math.floor(a.$a/pd*c);b||(a.fa=a.Ga);a.Ra=0}function md(a){return a.T+a.N+a.R-a.S}function hd(a){a.aa=0;a.ab=0;a.T=a.N=a.R=a.S=0;id(a);nd(a,1)}
function nd(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&qd(a.G)}yc(a,a.N);a.N=0;a.M=sb();a.P=0;od(a);return d}function rd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function sd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
function xc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function td(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
l.Wb=function(){if(this.A.L){this.Ra>=this.$a&&od(this,!0);this.na=0;this.ya=sb();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=rd(this,this.A.Fa?1:this.Ga);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=td(this,!0);this.na+=b;this.N+=b;zc(this,b);xc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ga;++this.ab>=ud&&(this.G&&G(this.G,void 0),this.ab=0);break}}while(this.A.L)}catch(e){this.W();this.G&&this.G.stop(sb(),md(this));Nb(this,
e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.rb;this.P=sb();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ga));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,nd(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}};
function vc(a,b){if(!Ob(a))if(a.A.L)a.j(a.toString()+" busy");else{nd(a);a.A.L=!0;a.A.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&qd(a.G,!0),a.G.start(a.M,md(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){td(this);yc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(sb(),md(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var pd=30,ud=15,fd=["power","reset"];
function vd(a){var b=+a.model||1001;ed.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=wd.bind(this);this.w=I.bind(this);this.wa=null;this.nb=[];this.A.complete=!1}la(vd,ed);l=vd.prototype;l.reset=function(){this.status("Model "+this.qb);this.A.L&&this.W();this.b=this.K=this.Ha=0;this.i=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.u=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.B=0;this.f=this.Sb;this.g=this.cc;this.wa=null;hd(this);this.A.error=!1;ed.prototype.reset.call(this)};
l.vb=function(){return 0};l.save=function(){var a=new E(this);a.set(0,[this.b,this.K,this.Ha,this.i,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,xd(this));a.set(4,sd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ha();da();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];nd(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.nb.length;d++){var e=this.nb[d];if(e.$b===b[c]){d=e;break a}}d=
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function yd(a,b){var c=a.i;a.i=(c+b)%Xb;return c}function F(a,b){a.i=b%Xb}function xd(a){var b=[];for(a=a.wa;a;)b.push(a.$b),a=a.next;return b}l.Sb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
l.Ma=function(a){this.A.complete=!0;var b=this.D?zd(this.D)?1:this.A.Wa?-1:0:0,c=a?this.A.Wa?0:1:-1;this.A.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(Ad(this.D,this.i,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&Ad(this.D,this.i,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ha=this.f(this.qa),this.qa=-1):(this.K=this.Ha=
this.f(this.xa=this.i),this.i=(this.i+1)%Xb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Wb;a=this.K&4194304?-1:this.Ha/cc|0;0<=a&&this.Cb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Za(function(){for(var a=v(document,u,"cpu"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new vd(d);xb(d,c)}});function wd(a){Bd[a>>4].call(this,a,a&15)}function M(a){this.w(a)}
function Cd(){var a=0,b=this.f(this.b),c=b/dc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*dc+(d<<24)+(b&16777215);a&&(b=(b+a)%C);this.g(this.b,b)}function Dd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/dc&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
function Ed(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/dc&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%C;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function Fd(a,b){this.g(b,this.f(this.b))}function Gd(a,b){this.g(b,this.b)}function Hd(a,b){this.g(this.b,this.f(b))}function ce(a,b){this.g(b,0)}function de(a,b){this.g(b,B-this.f(b))}function ee(a,b){this.g(b,B)}
function fe(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,ge(a,d,c)+(c-(c&x)))}function he(a,b){var c=this.f(b);this.g(b,ge(a,c,0))}function ie(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,ge(a,c,b)+(b-(b&x)))}function je(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ke(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,ge(a,d,c)+c)}
function le(a,b){var c=this.b*y,d=this.f(b);this.g(b,ge(a,d,c)+c)}function me(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,ge(a,c,b)+b)}function ne(a,b){var c=this.f(this.b),d=(c&x)*y,c=ge(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function oe(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,pe(a,d,c)+c)}function qe(a,b){var c=this.f(b);this.g(b,pe(a,c,this.b)+this.b)}function re(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,pe(a,c,b)+b)}
function se(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Yb?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function te(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,pe(a,d,c)+c)}function ue(a,b){var c=this.f(b);this.g(b,pe(a,c,0))}function ve(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,pe(a,c,b)+b)}function we(a,b){var c=this.f(this.b),d=c/y|0,c=pe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){xe[a&7].call(this,a,a>>3&127)}
function ye(){}function ze(){}function I(a){this.j("undefined opcode: "+va(a));yd(this,-1);this.W()}function Ae(a){a>z&&(a!=A?a=$b-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%C;Be.call(this,a,b,c);return c}
function Ce(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<De(this.pa,this.ga);)Ee(this.ga,this.ga),Ee(this.oa,this.oa);do{if(0<=De(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),Ee(this.bb,this.oa),Fe(this.pa)))break;Ge(this.ga);Ge(this.oa)}while(!Fe(this.oa));
a=this.bb[0];this.F=this.pa[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a}
function He(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.u|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
function Ie(a){a?a==A?this.u|=163840:a=$b-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=C);Be.call(this,c,b,a);return c}function Be(a,b,c){a=Math.trunc(a/Zb);b=Math.trunc(b/Zb);c=Math.trunc(c/Zb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/D|0)&(b/D|0))*D+((a&b)>>>0)}function S(a,b){return Q(a,(~(b/D|0)&15)*D+(~b>>>0))}function Je(a,b){return(a<A?a:a-C)-(b<A?b:b-A)}
function Ke(a,b){return(~((a/D|0)^(b/D|0))&15)*D+(~(a^b)>>>0)}function T(a,b){return(a/D|0|b/D|0)*D+((a|b)>>>0)}function U(a){return a<A?a:a-C}function W(a,b){return((a/D|0)^(b/D|0))*D+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function pe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Yb?x*y:0}return b}function ge(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
function Ee(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function De(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Ge(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Fe(a){return!a[0]&&!a[1]}
var Bd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Cd,function(a,b){0>this.I&&Cd.call(this);Dd.call(this,0,b)},Dd,function(a,b){0>this.I&&Cd.call(this);Ed.call(this,0,b)},Ed,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Fd,Gd,Hd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ie.call(this,this.f(this.b)))},function(a,b){this.g(b,Ie.call(this,this.b))},function(a,b){this.g(this.b,
Ie.call(this,this.f(b)))},function(a,b){a=Ie.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ae.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,Ae.call(this,this.f(b)))},function(a,b){a=Ae.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,He.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b),
!0))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,He.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Ce.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
1&15,this.F))},function(a,b){a=Ce.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Ce.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=Ce.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ce.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ce.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
function(a,b){a=this.f(b);b=this.f(b+1&15);b=Ce.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ce.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(C-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.u|=131072):a-c<=z&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+C:d;
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%C:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;F(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<A||d>z&&
d<B)this.u|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<B)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.u|=131072):e-c<=z&&(this.u|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.u|=131072):(f-c<=z&&(this.u|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?B:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=B,e+=A)):(c=d>z?C-Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+
d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%C+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%C+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%C,d=0):(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C):-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)%C,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},I,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.L||(this.g(b,d*
y+c),a||yd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%B;this.g(b,a);a<A&&F(this,this.b)},function(a,b){a=(this.f(b)+262145)%B;this.g(b,a);a>=A&&F(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,F(this,this.b))},function(){this.qa=this.b},I,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
0>a&&(a+=C);(a/y|0)==x&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&x)*y+this.i);F(this,this.b+1)},function(a,b){this.g(b,(this.u&x)*y+this.i);F(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},
function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},ye,function(a,b){0>Je(this.f(b),this.b)&&F(this,this.i+1)},function(a,b){Je(this.f(b),this.b)||F(this,this.i+1)},function(a,b){0>=Je(this.f(b),this.b)&&F(this,this.i+1)},function(){F(this,this.i+1)},function(a,b){0<=Je(this.f(b),this.b)&&
F(this,this.i+1)},function(a,b){Je(this.f(b),this.b)&&F(this,this.i+1)},function(a,b){0<Je(this.f(b),this.b)&&F(this,this.i+1)},ze,function(a,b){0>Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){Je(this.f(b),this.f(this.b))||F(this,this.i+1)},function(a,b){0>=Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(){F(this,this.i+1)},function(a,b){0<=Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){0<Je(this.f(b),
this.f(this.b))&&F(this,this.i+1)},ye,function(a,b){0>U(this.f(b))&&F(this,this.b)},function(a,b){U(this.f(b))||F(this,this.b)},function(a,b){0>=U(this.f(b))&&F(this,this.b)},function(){F(this,this.b)},function(a,b){0<=U(this.f(b))&&F(this,this.b)},function(a,b){U(this.f(b))&&F(this,this.b)},function(a,b){0<U(this.f(b))&&F(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)||F(this,this.i+
1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){F(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>U(a)&&F(this,this.b)},function(a,
b){a=this.g(b,O.call(this,this.f(b),1));U(a)||F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=U(a)&&F(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=U(a)&&F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));U(a)&&F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<U(a)&&F(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},
function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)||F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=U(a)&&F(this,this.i+1);b&&this.g(b,a)},
function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,P.call(this,this.f(b),1))},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>U(a)&&F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)||F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=U(a)&&F(this,this.b)},function(a,b){this.g(b,P.call(this,
this.f(b),1));F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=U(a)&&F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)&&F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<U(a)&&F(this,this.b)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)||F(this,
this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<U(a)&&F(this,
this.i+1);b&&this.g(b,a)},ce,ce,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),this.b))},function(a,b){this.g(this.b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(B-this.f(b),this.b))},function(a,b){this.g(this.b,Q(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
this.g(b,Q(B-this.f(b),this.f(this.b))))},Fd,Gd,ze,Fd,function(a,b){this.g(b,Q(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),B-this.b))},function(a,b){this.g(this.b,Q(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),B-this.f(this.b))))},ye,ye,Hd,Hd,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),
this.f(this.b))))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(this.b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,Q(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,Q(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(B-this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,
Ke(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Ke(this.f(b),this.b))},function(a,b){this.g(this.b,Ke(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ke(this.f(b),this.f(this.b))))},de,de,function(a,b){this.g(this.b,B-this.f(b))},function(a,b){this.g(this.b,this.g(b,B-this.f(b)))},function(a,b){this.g(b,T(B-this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(B-this.f(b),this.b))},function(a,b){this.g(this.b,T(B-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
T(B-this.f(b),this.f(this.b))))},function(a,b){this.g(b,B-this.f(this.b))},function(a,b){this.g(b,B-this.b)},function(){this.g(this.b,B-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,B-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),B-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),B-this.b))},function(a,b){this.g(this.b,T(this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),B-this.f(this.b))))},function(a,b){this.g(b,T(B-this.f(b),B-this.f(this.b)))},function(a,
b){this.g(b,T(B-this.f(b),B-this.b))},function(a,b){this.g(this.b,T(B-this.f(b),B-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(B-this.f(b),B-this.f(this.b))))},ee,ee,function(){this.g(this.b,B)},function(a,b){this.g(this.b,this.g(b,B))},fe,he,ie,je,ke,le,me,ne,fe,he,ie,je,ke,le,me,ne,fe,he,ie,je,ke,le,me,ne,fe,he,ie,je,ke,le,me,ne,oe,qe,re,se,te,ue,ve,we,oe,qe,re,se,te,ue,ve,we,oe,qe,re,se,te,ue,ve,we,oe,qe,re,se,te,ue,ve,we,ye,ye,function(a,b){Q(this.f(b),this.b)||F(this,this.i+1)},function(a,
b){Q(this.f(b),this.b*y)||F(this,this.i+1)},function(){F(this,this.i+1)},function(){F(this,this.i+1)},function(a,b){Q(this.f(b),this.b)&&F(this,this.i+1)},function(a,b){Q(this.f(b),this.b*y)&&F(this,this.i+1)},ze,ze,function(a,b){Q(this.f(b),this.f(this.b))||F(this,this.i+1)},function(a,b){Q(this.f(b),X(this.f(this.b)))||F(this,this.i+1)},function(){F(this,this.i+1)},function(){F(this,this.i+1)},function(a,b){Q(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){Q(this.f(b),X(this.f(this.b)))&&
F(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);Q(a,this.b)||F(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;Q(a,c)||F(this,this.i+1);this.g(b,S(a,c))},function(a,b){F(this,this.i+1);this.g(b,S(this.f(b),this.b))},function(a,b){F(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);Q(a,this.b)&&F(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);
var c=this.b*y;Q(a,c)&&F(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||F(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||F(this,this.i+1);this.g(b,S(a,c))},function(a,b){F(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){F(this,this.i+1);this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,
b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&F(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&F(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);Q(a,this.b)||F(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;Q(a,c)||F(this,this.i+1);this.g(b,W(a,c))},function(a,b){F(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){F(this,
this.i+1);this.g(b,W(this.f(b),this.b*y))},function(a,b){a=this.f(b);Q(a,this.b)&&F(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;Q(a,c)&&F(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||F(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||F(this,this.i+1);this.g(b,W(a,c))},function(a,
b){F(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){F(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&F(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&F(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);Q(a,this.b)||F(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=
this.f(b);Q(a,this.b*y)||F(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){F(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){F(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);Q(a,this.b)&&F(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;Q(a,c)&&F(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
Q(a,c)||F(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||F(this,this.i+1);this.g(b,T(a,c))},function(a,b){F(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){F(this,this.i+1);this.g(b,T(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&F(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&F(this,this.i+1);this.g(b,T(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],xe=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
function Le(a){r.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=wa(this.w);if(this.w){a=this.w;var b=xa(this.F);"json"!=b&&"hex"!=b&&(a=za()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ia(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(qb(c.Qa,a,b),(a=Ja(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);Me(c)})}}la(Le,r);
Le.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Me(this)};Le.prototype.ua=function(){this.U&&(this.D&&Ne(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};Le.prototype.ia=function(){return!0};
function Me(a){if(!Pb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Nb(a,"ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.u,8,!0)+")");else{var b;b=a.B;if(Oc(a.H,b,a.u,Wc)){var c;for(c=0;c<a.b.length;c++)Bc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Qb(a)}}Za(function(){for(var a=v(document,u,"rom"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Le(d);xb(d,c)}});
function Oe(a){r.call(this,"RAM",a);this.U=this.Da=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.B=wa(this.b);if(this.b){a=this.b;var b=xa(this.B);"json"!=b&&"hex"!=b&&(a=za()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ia(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(qb(c.Qa,a,b),(a=Ja(a,b))?(c.Da=a.Da,
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Pe(c)})}}la(Oe,r);Oe.prototype.Ba=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Pe(this)};Oe.prototype.ua=function(a,b){this.U&&(this.D&&Ne(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Oe.prototype.ia=function(){return!0};
function Pe(a){if(a.H&&(!a.w&&a.u&&(Oc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Pb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Da)return;Qe(a,a.Da,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;Qb(a)}}
Oe.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h<e.size;h++)e.w(g,d,e.C+d);c-=16384;b++;d=0}this.Da&&Qe(this,this.Da,this.sa,this.ra,this.i,!this.D)}this.F=!1};
function Qe(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Bc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,F(a,d),f?a.A.V?a.A.L||vc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.G.A.reset||(jd(a.D),G(a.G,-1)):!1===f&&a.W(),!a.A.L&&a.Na&&a.Na.stop()));return g}Za(function(){for(var a=v(document,u,"ram"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Oe(d);xb(d,c)}});
function Re(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Se;b&&(void 0===c&&(c="Panel"),(c=wb(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.B=null;this.exports={connect:this.wb,receiveData:this.Ua,receiveStatus:this.Ub,setConnection:this.Xb}}la(Re,r);l=Re.prototype;
l.ja=function(a,b,c){var d=this;switch(b){case Se:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.lb:sa.Ab:46==c?b=sa.lb:a.ctrlKey&&c>=sa.kb&&c<=sa.Bb&&(b=c-(sa.kb-sa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.zb&&(b=sa.yb);d.Ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Qb(this)};
l.wb=function(a){if(!this.b){var b=gd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Fa(c[0]);if(d!=this.Pa)return;c=Fa(c[1]);if(this.b=vb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new E(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Se="buffer";
Za(function(){for(var a=v(document,u,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new Re(d);xb(d,c)}});function Te(a){r.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}la(Te,r);Te.prototype.gb=function(){return-1};Te.prototype.hb=function(){};
function Ue(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Fa(b.substring(c,f))),c=f+1}}return a}
function Ve(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 Ue(a,b,c){var d;if(b){b=Ve(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],u=n.length,n=Da(n);if(!n){f=!0;break}n=We(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++],H=n.length;k.length&&Xe[n]<Xe[k[k.length-1]]&&Te(h,k,1);k.push(n);b=b.substr(u+H)}Te(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ye(a,null,
d))}return d}function Ve(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=Ue(a,c[1]);b=b.replace(d+c[1]+e,null!=g?L(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 We(a,b,c,d){var e;null!=b?(e=a.gb(b),0<=e?e=a.hb(e):(e=a.T[b],null==e&&(e=ra(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function Ye(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,u="";n?32<n&&(n=32):n=32;for(var H=null==k||isNaN(k),ja=m=m||n;0<n--;)ja||(u=","+u,ja=m),u=(H?"?":k&1?"1":"0")+u,k>>=1,ja--;g=u+g;d>>=8}d=q(c,0,!0)+" "+c+". "+ta(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
function Ze(a,b){if(b)return Ye(a,b,a.T[b]);var c=0;for(b in a.T)Ye(a,b,a.T[b]),c++;return 0<c}function L(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=ta(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=sa(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 Xe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function $e(a){Re.call(this,a);this.xa=!1;this.la=!0;this.va=18;this.wa=X();this.K=X(0);this.ga=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];af(this);this.R=this.ka=0;this.i=[];this.oa=void 0;bf(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];cf(this,a.messages);this.qa=a.commands;this.N=0;this.Aa=this.pa=null;this.B=this.za=this.ya=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return jd(b,a)}):void 0===global[w]&&(global[w]=
function(a){return jd(b,a)})}p($e,Re);function df(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function ef(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function ff(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function gf(a,b){var c=X(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Se(a,c.Va=b[4]));return c}l=$e.prototype;
l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.va=b.F;(a=ed(a,"messages"))&&cf(this,a);hf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=df(jf(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;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=Pc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.i,8)+" %"+q(n.C,8)+
" "+q(n.Ka,4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Tc&&(c=-1),m=0);a+=16384;e++}}});Ob(this)};
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",jd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Va(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";jd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Va(c,function(a){var b=!1;Pb(d,!0)||(Qb(d,!0),b=uc(d,a?1:0,null),Qb(d,!1));return b}),!0}return!1};function id(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.Ca=function(a,b){var c=-1,d=df(a);-1!==d&&(c=Hc(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.mb=function(a,b,c){var d=df(a);-1!==d&&(zc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),K(this.G,-1))};
function jf(a,b,c){var d,e;c||(c=X());var f=c.C;if(void 0!==b){b=Ve(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].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Ue(a,b,void 0)}null!=f&&(f=kf(f,a.va),ef(c,f,d,e));return c}function lf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ob=Se(a,b.Va=c[2]))}
function kf(a,b){0>a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Z(a,b){return L(a,b.C)}function mf(a){return ta(a/Vb,6)+" "+ta(a%Vb,6)}
function cf(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Se(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in cc){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|=cc[c],a.j(c+" messages enabled"))}}function hf(a,b){for(var c in cc)if(16==cc[c]){a.ma[c]=b;break}}l.gb=function(a){return nf.indexOf(a.toUpperCase())};
l.hb=function(a){var b,c=this.v;switch(a){case of:b=c.u;break;case pf:b=c.K;break;case qf:b=c.b;break;case rf:b=c.w&65536?1:0;break;case sf:b=c.w&32768?1:0;break;case tf:b=c.w&131072?1:0;break;case uf:b=c.w&32?1:0;break;case vf:b=c.w&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+Z(this,X(this.v.xa)));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.v&&(c=this.v.A.L)||Pb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,rd(a),a.fa=0,a.G&&K(a.G,void 0))}};
function bf(a){var b;if(!xd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(wf);for(b=0;b<a.i.length;b++)a.i[b]=X();a.R=0;a.j("instruction history buffer allocated")}}function xf(a,b,c){if(!yf(a,c))return!1;tc(a.v,b);return!0}
function uc(a,b,c,d){if(!yf(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.B=0;b||xd(a)&&yd(a,a.v.u,0);try{b=pd(a.v,b);var f=a.v.Ma(b);0<f&&(vc(a.v,f),a.B+=f,wc(a.v,f,!0),xc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Lb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),K(a.G,-1));hd(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function hd(a,b,c){b=void 0===b?!0:b;a.xa&&(c&&a.j(zf+c),ef(a.K,a.v.u),b&&1!=a.N?Af(a):Bf(a))}
function yf(a,b){var c;(c=!a.v||!Nb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Mb(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){bf(this);this.fa=0;this.S=null;this.B=0;ef(this.K,this.v.u);this.A.L=!1;Cf(this);a||hd(this)};
l.save=function(){var a=new F(this);a.set(0,ff(this.K));a.set(1,ff(this.ga));a.set(2,ff(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=gf(this,a[b++]),this.ga=gf(this,a[b++]),this.ba=gf(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.A.L=!0;this.ya=a;this.za=b};
l.stop=function(a,b){if(this.A.L){this.A.L=!1;this.B=b-this.za;if(!this.N){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";xd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Rb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}hd(this,!0);id(this);Cf(this,this.v.u);this.S=null}};function xd(a){return 1<a.b.length||!!a.ka}
function yd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=wd(a.v,1)));if(0<c&&(a.ka&&!--a.ka||bd(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(ef(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}
function Df(a,b,c,d){var e=X(b.C),f=a.Ca(b,1),g,h,k,m=0,n=f/Zb|0,u;for(u in Ef)if(g=Ef[u][n&u]){h=+u;n>>=6;switch(h){case 32512:k=Ff;m=n&3;break;case 32256:k=lg;m=n&7;break;case 29248:k=ng,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>og&&(k="B");k=pg[g||0]+k;if(g){if(28700==h)m=f/$b&127,h=L(a,m,-1);else if(m=f>>23&15,h=L(a,m,-1),g==qg&&(g=rg[m]))k=pg[g],h="";k=Ca(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=L(a,f&262143,-1);(f=f>>18&15)&&(k+="("+L(a,f,-1)+")")}else k=Ca(k,8)+mf(f);f=k;g="";h=Z(a,
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ca(e,1),g+=" "+mf(k),null==e.C)break;while(e.C!=b.C)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.Fa?h+("cycles="+kd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h}function af(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=df(c);var d=a.H;ad(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=df(c),d=a.H,ad(d.b[c>>>d.i],!0);a.I=["bw"];a.na=0;a.ka=0}
l.Ea=function(a,b,c){var d=!0;c||sg(this,a,b,!1,!0);if(a!=this.b){var e=df(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ea(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(tg(this,a,a.length-1,"set"),bf(this)));return d};function sg(a,b,c,d,e){var f=!1;c=df(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==df(h)&&(!d||h.ha)){f=!0;h.ha||e||tg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,ad(d.b[c>>>d.i],b==a.I));h.ha||bf(a);break}}return f}
function ug(a,b){for(var c=1;c<b.length;c++)tg(a,b,c);return b.length-1}function tg(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function Cf(a,b){if(void 0!==b)bd(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!sg(a,a.b,c,!0))break;b=0}}}
function bd(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=df(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.ha&&(sg(a,d,h,!0),e=!0);if(n=h.ob){for(var f=!1,u=0;u<n.length;u++)if(!vg(a,n[u],!0)){if(n[u].indexOf("if")){f=!0;break}for(var H=u+1;H<n.length&&n[H].indexOf("else");H++)u++;if(H==n.length){f=!0;break}}a.v.A.L||(f=!0)}if(f){e||tg(a,d,g,"hit");break}}}a.na--;return f}
function wg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ta(d,2);ef(e.wa,d);f+="="+L(e,e.Ca(e.wa),36)+" ";c+=f}if(b){b="";for(d=0;d<nf.length;d++)(e=nf[d]||"")&&(e+="="+L(a,a.hb(d),d>=rf?1:d==pf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Le(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],u=Ea(n,k,a.tb);0>u&&n.splice(-(u+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function xg(a,b,c){var d=[],e=df(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Ea(f.pb,[e-g],a.tb);0<=e?yg(a,b,e,d):c&&(e=~e,yg(a,b,e-1,d),yg(a,b,e,d));break}}return d}
function yg(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function zg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ze(a)||a.j("no variables"),!0;if(!c[2])return Ze(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=Ue(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function Ag(a,b,c){var d=null;if(b=jf(a,b)){var e=xg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+L(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+L(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function Af(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=Ue(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case of:J(h,
g);ef(a.K,h.u);break;case rf:f=65536;break;case sf:f=32768;break;case tf:f=131072;break;case uf:f=32;break;case vf:f=262144}f&&(h.w=g?h.w|f:h.w&~f);K(a.G);a.j("updated registers:")}}a.j(wg(a,e));c&&(ef(a.K,d.u),Bf(a,Z(a,a.K)))}}function Bg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ye(a,null,c[2].charCodeAt(0)):Ue(a,b,!0)}
function Cg(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=We(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;Ua(c,function(){return Qb(a,!0)&&uc(a,e,d,!1)},function(){a.ea&&a.ea.stop();K(a.G,-1);Qb(a,!1)})}}
function Bf(a,b,c,d){if(b=jf(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=We(a,c.substr(1)),null!=c&&(d=c);else{d=jf(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Pb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=xg(a,b),k=b.C;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.C=m.C;h.Sa=m.Sa;h.ha=m.ha;h.ca=m.ca;a.j(Df(a,b,g,f));e-=b.C-k;c++}}}
function vg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(zf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Nb(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),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 u=jf(a,
g[1],a.ba);if(u){var H=g[2];if(void 0==H)a.j("begin assemble at "+Z(a,u)),a.P=!0,K(a.G);else{g.shift();g.shift();g.shift();var ja,Ac=g.join(""),G=-1,Bc,xb,Fd=H.toUpperCase(),Gd;for(Gd in rg)if(xb=rg[Gd],Fd==pg[xb]){Fd=pg[qg];Ac=L(a,+Gd)+","+Ac;break}for(var Gf in Ef){var Ya;Bc=+Gf;var Hf=Ef[Gf];switch(Bc){case 32512:Ya=Ff;break;case 32256:Ya=lg;break;case 29248:Ya=ng;break;default:Ya=[""]}var If,Hd;for(Hd in Hf){xb=Hf[Hd];for(var Za=0;Za<Ya.length;Za++){var Id=Ya[Za];"S"==Id&&xb>og&&(Id="B");if(Fd==
pg[xb]+Id){If=29248!=Bc?Za:(Za&3)<<1|(Za&12)<<2;G=(Hd|If<<6)*Zb;break}}if(0<=G)break}if(0<=G)break}if(0<=G)if(Ac)for(var Jd=Ac.split(","),$a=0;$a<Jd.length;$a++){var R=Jd[$a].trim();if(R){if(1<$a){a.j("too many operands: "+R);G=-1;break}var Cc=R.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!Cc){a.j("unknown operand: "+R);G=-1;break}R=Cc[2];$a&&(R=R.replace(/(^|[^0-9])\./g,"$1"+Z(a,u)));var P=Ue(a,R);if(void 0==P){G=-1;break}if(!$a&&1<Jd.length)if(28700==Bc){if(0>P||127<P){a.j("device code out of range: "+
R);G=-1;break}G+=P*$b}else{if(0>P||15<P){a.j("accumulator address out of range: "+R);G=-1;break}G+=P<<23}else{if(0>P||262143<P){a.j("memory address out of range: "+R);G=-1;break}G+=P;if(R=Cc[3]){P=Ue(a,R);if(void 0==P){G=-1;break}if(0>P||15<P){a.j("memory index out of range: "+R);G=-1;break}G+=P<<18}Cc[1]&&(G+=4194304)}}}else a.j("missing operand(s)"),G=-1;else a.j("unknown instruction: "+H);ja=G;0<=ja&&(a.mb(u,ja),a.j(Df(a,u)))}}break;case "b":a:{var dh=g[0],ab=g[1],eh=b;if("?"==ab)a.j("breakpoint commands:"),
a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ha=dh.charAt(1);if("l"==Ha){var Kd;Kd=0+ug(a,a.b);Kd+=ug(a,a.M);(Kd+=ug(a,a.I))||a.j("no breakpoints")}else if("n"==Ha){var Jf=+ab||0;ab&&(a.ka=Jf);a.j("break after "+Jf+" instruction(s)")}else if(void 0===ab)a.j("missing breakpoint address");else{var Y=X();
if("*"!=ab&&(Y=jf(a,ab,a.K),!Y))break a;"c"==Ha?null==Y.C?(af(a),a.j("all breakpoints cleared")):sg(a,a.b,Y)||sg(a,a.M,Y)||sg(a,a.I,Y)||a.j("breakpoint missing: "+Z(a,Y)):null!=Y.C&&(lf(a,Y,eh),"p"==Ha?a.Ea(a.b,Y):"r"==Ha?a.Ea(a.M,Y):"w"==Ha?a.Ea(a.I,Y):a.j("unknown breakpoint command: "+Ha))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var bb,cb=g[0],ka=g[1],ya=g[2],fh=g[3];if("?"==ka){var db="";for(bb in cc)a.ma[bb]&&(db&&(db+=","),db+=bb);db+=",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");db.length&&a.j("dump extension commands:\n\t"+db)}else if("state"==ka){var Ld=Dg(a.G,!0);"console"==ya?console.log(Ld):(a.ta&&(a.ta.value=""),Ld&&a.j(Ld))}else if("symbols"==ka)for(var Md=0;Md<a.F.length;Md++){var Nd=a.F[Md],eb;for(eb in Nd.U)if("."!=eb.charAt(0)){var Kf=Nd.U[eb].o;if(void 0!==Kf){var Lf=Nd.U[eb].l;Lf&&(eb=Lf);
a.j(L(a,Kf)+" "+eb)}}}else{if("d"==cb){for(bb in cc)if(g[1]==bb){var Mf=a.ma[bb];Mf?(g.shift(),g.shift(),Mf(g)):a.j("no dump registered for "+ka);break a}ka||(cb=a.Aa||"dw")}else a.Aa=cb;if("dh"==cb){var Nf=ka,Of=ya,Pf="",Qf=0,ga=a.R,la=a.i;if(la.length){var ca=+Nf||a.oa,zb=+Of||10;isNaN(ca)?ca=zb:Pf="more ";ca>la.length&&(a.j("note: only "+la.length+" available"),ca=la.length);ga-=ca;0>ga&&(null==la[la.length-1].C?(ca=ga+ca,ga=0):ga+=la.length);var Od=[];"call"==Of&&(zb=1E5,Od=["CALL"]);for(void 0!==
Nf&&a.j(ca+" instructions earlier:");0<zb&&ga!=a.R;){var Rf=la[ga++];if(null==Rf.C)break;var Ab=X(Rf.C),gh=ca--,Sf=Df(a,Ab,"history",gh);(!Od.length||0<=Sf.indexOf(Od[0]))&&a.j(Sf);Ab.eb&&(ga+=Ab.eb,zb-=Ab.eb,ca-=Ab.eb);ga>=la.length&&(ga=0);a.oa=ca;Qf++;zb--}}Qf||(a.j("no "+Pf+"history available"),a.oa=void 0)}else{var fb=jf(a,ka,a.ga);if(fb){var Ia=0,Tf="ds"==cb;if(ya){if("l"==ya.charAt(0))ya=ya.substr(1)||fh,Ia=We(a,ya);else{var Uf=jf(a,ya);Uf&&(Ia=Uf.C-fb.C)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var hh=
a.ca;fb.ca&&(a.ca=fb.ca);for(var Vf="db"==cb?1:2,Pd=Ia||32,Qd=1==Vf?2:4,ih=(Pd+Qd-1)/Qd|0||1,Ja="";ih--&&0<Pd;){for(var Ka="",Wf="",ka=Z(a,fb),Xf=Qd;0<Xf--&&0<Pd--;){var Dc=a.Ca(fb,1);Tf?(Ka&&(Ka+=","),Ka+=Dc):(Ka+=mf(Dc),Ka+=" ");for(var Yf=0;1==Vf&&6>Yf;Yf++)Wf+=String.fromCharCode((Dc%64|0)+32),Dc/=64}Ja&&(Ja+="\n");Ja=Tf?Ja+(Ka+","):Ja+(ka+": "+Ka+(0>Xf?" "+Wf:""))}Ja&&a.j(Ja);a.ca=hh}}}}break;case "e":if("else"==g[0])break;var Zf,$f,ag=g[0],Rd=g[1];"e"==ag||"ew"==ag?(Zf=a.Ca,$f=a.mb):Rd=null;
if(null==Rd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Ec=jf(a,Rd,a.ga);if(Ec)for(var Sd=2;Sd<g.length;Sd++){var Bb=Ue(a,g[Sd]);if(void 0===Bb)break;Bb=kf(Bb);a.j("changing "+Z(a,Ec)+" from "+mf(Zf.call(a,Ec))+" to "+mf(Bb));$f.call(a,Ec,Bb,1)}}break;case "g":a:{var bg=g[1],jh=b;if(void 0!==bg){var Td=jf(a,bg);if(!Td)break a;lf(a,Td,jh);a.Ea(a.b,Td,!0)}xf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"),a.W()):Pb(a,!0)||c||a.j("already halted");break;case "i":if("if"==
g[0]){var Ud;var Cb=b.substr(2),Cb=Da(Cb);Ue(a,Cb)?(c||a.j("true: "+Cb),Ud=!0):(c||a.j("false: "+Cb),Ud=!1);Ud||(d=!1);break}f=!0;break;case "k":var kh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Vd=0,Wd=X(),Db=X();for(a.j("stack trace for "+Z(a,Db));10>Vd;){for(var La=null,lh=256;65536>Db.C>>>0;){Wd.C=a.Ca(Db,2);if(null==Db.C||!lh--)break;if(!(Wd.C&1)){for(var mh=a,Fc=Wd,cg=null,Eb=Fc.C,dg=Eb,Xd=1;6>=Xd&&Eb;Xd++){if(2<
Xd){Fc.C=Eb;var Gc=Df(mh,Fc);if(0<=Gc.indexOf("JSR")){var eg=Gc.indexOf(" ");if(Eb+(Gc.indexOf(" ",eg+1)-eg-1)/2==dg){cg=Gc;break}}}Eb-=2}Fc.C=dg;if(La=cg)break}}if(!La||null==La)break;var fg=null;if("ks"==kh){var gg=La.match(/[0-9A-F]+$/);gg&&(fg=Ag(a,gg[0]))}La=Ca(La,50)+" ;"+(fg||"stack="+Z(a,Db));a.j(La);Vd++}Vd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){Ag(a,g[1],!0);break}f=!0;break;case "m":a:{var ma,na=null,I=g[1];"?"==I&&(I=void 0);if(void 0!==I){var za=0;if("all"==
I)za=1879046143,I=null;else if("on"==I)na=!0,I=null;else if("off"==I)na=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(ma in cc)if(I==ma){za=cc[ma];na=!!(a.X&za);break}if(!za){a.j("unknown message category: "+I);break a}}if(za)if("on"==g[2])a.X|=za,na=!0;else if("off"==g[2]&&(a.X&=~za,na=!1,1073741824==za)){for(var hg=1E3<=a.O.length?a.O.length-1E3:0;hg<a.O.length;)a.j(a.O[hg++]);a.O=[]}}var nh=0,Fb="";for(ma in cc)if(!I||I==ma){var oh=!!(a.X&cc[ma]);if(null===na||na==oh)Fb&&(Fb+=
","),++nh%10||(Fb+="\n\t"),"key"==ma&&(ma="keys"),Fb+=ma}void 0===I&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==na?na?"messages on: ":"messages off: ":"message categories:\n\t")+(Fb||"none"));bf(a)}break;case "p":if("print"==g[0]){Bg(a,b.substr(5));break}var ig=g[0],jg="p"==ig?0:"pr"==ig?1:-1;if("?"==g[1]||0>jg)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 kg=X(a.v.u);a.Ca(kg);a.N?(a.Ea(a.b,kg,!0),xf(a)||(a.G&&od(a.G),a.N=0)):Cg(a,jg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Af(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Gb=+g[2];if(8==Gb||10==Gb||16==Gb)a.ca=Gb;else{a.j("invalid base: "+Gb);break}}a.j("default base: "+a.ca);break;case "cs":var Hb;void 0!==g[3]&&(Hb=+g[3]);switch(g[2]){case "int":a.v.ka=Hb;break;case "start":a.v.Aa=Hb;break;case "stop":a.v.ma=Hb;break;default:a.j("unknown cs option");break a}void 0!==
Hb&&gd(a.v);a.j("checksums "+(a.v.A.Fa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ld(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),
a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":Cg(a,g[0],g[1]);break;case "u":Bf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){zg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Tb||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Bg(a,b.substr(1));break}var Yd="commands:",Zd;for(Zd in Eg)Yd+="\n"+Ca(Zd,9)+Eg[Zd];xd(a)||(Yd+="\nnote: history disabled if no exec breakpoints");a.j(Yd);break;default:f=!0}f&&(a.j("unknown command: "+
b),d=!1)}}catch(mg){a.j("Debugger "+(mg.stack||mg.message)),d=!1}return d}function jd(a,b,c){b=Se(a,b,c);for(var d in b)if(!vg(a,b[+d]))return!1;return!0}
var Eg={"?":"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"},og=20,qg=85,pg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
of=0,pf=1,qf=2,rf=3,sf=4,tf=5,uf=6,vf=7,nf="PC RA EA C0 C1 OV ND PD".split(" "),Fg={},Ef=(Fg[28672]={0:101},Fg[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:qg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Fg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:og,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},Fg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Fg[29248]={24576:79,24640:80,25088:81,25152:82},Fg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},Fg),Ff=["","I","M","S"],lg=" L E LE A GE N G".split(" "),ng="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),rg={8:102,4:103,2:104,6:105,1:106},wf=1E3,zf=">> ";Xa(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new $e(d);vb(d,c)}});
function Gg(a,b,c){t.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Hg(this,b);this.O=ed(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=ed(this,"url")||"";(Math.random()+.1).toString(36);this.i=Ig(this);if(this.v=ub("CPU",this.id)){this.D=ub("Debugger",this.id);this.H=new Ic({id:this.Qa+".bus",busWidth:this.aa},this.v,this.D);var d,e=sb(this.id);if((this.u=ub("Panel",this.id))&&this.u.ta)for(b=
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Tb+" 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.Ba&&d.Ba(this,this.H,this.v,this.D);b=null;d=ed(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=ed(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Jg),this.b&&(this.I=new F(this,"1.34.2"),Kg(this.I)?b=null:
delete this.I);!b&&this.b&&(b=Lg(this))&&(this.K=!0);if(b){var g=this;Ga(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.M=b,g.T=!0);Ob(g)})}else Ob(this);this.J.power||(this.O=!0);!c&&this.O&&Mg(this,this.Ja)}else r("Unable to find CPU component")}p(Gg,t);function Hg(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 ed(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Mg(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Nb(f)){Nb(f,function(){Mg(a,b,c)});return}}b.call(a,c)}
function Ng(a,b){var c=new F(a,"1.34.2",Og);if(Kg(c)&&Pg(c)){var d=c.get(Qg),e=b?b.get(Qg):"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=Gg.prototype;
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Rg:Jg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.2");if(a==Sg)b=!0;else if(a>Jg){if(Kg(d,this.M)){this.B=new F(this,"1.34.2",Tg);Kg(this.B)&&(Ug(this,d),a=Vg,Wg(this.B));this.B.set(Qg,Fa());Xg(this.B);var e=this.b&&!this.K;if(a==Rg||rb("Click OK to restore the previous "+Tb+" machine state, or CANCEL to reset the machine.")){if(c=Pg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Kg(d,g):("error"==f&&"no machine state"!=
g?(this.da("Error: "+g),"unable to verify user"==g&&(Qa(Yg,""),this.i=null)):this.j(f+": "+g),Wg(d),Kg(d)?(c=Pg(d),e=!0):c=!1))}e&&Ng(this,c?d:null)}else a==Vg&&d.clear()}else Ng(this);delete this.M;delete this.I}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Zg(this,g,d,b,c));b=[d,a,c];a!=Sg?Mg(this,this.ub,b):this.ub(b)}};
function Zg(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Jg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.jb){var g=b.jb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Zg(this,this.v,b,c,a),K(this,-2),this.v.Z());this.P&&(Ug(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function Ug(a,b){if(rb("There may be a problem with your "+Tb+" machine.\n\nTo help us diagnose it, click OK to send this "+Tb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Tb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}}
function Dg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Og),h=Fa();g.set(Qg,h);f.set(Qg,h);f.set($g,"1.34.2");f.set(ah,window?window.location.href:null);f.set(bh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=sb(a.id),k=0;k<h.length;k++){var m=h[k];m.A.V&&(m.ia&&(d=m.ia(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&ch(a,a.i,f.toString()),Xg(g)&&Xg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==ph),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Sb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Sb(this,"Resetting "+this.v.type),this.v.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Sb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};l.start=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
l.stop=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
function K(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Xa+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.u;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?ta(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.u:0<b&&c&&!d&&(a.i=a.v.va);lc(a,a.i);fc(a,a.w)}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?Dg(d,!1,!0):Mg(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=rb("Click OK to save changes to this "+Tb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Dg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(Jg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(wa())c.parentNode.removeChild(c);else return this.J[b]=
c,c.onclick=function(){var a=Ig(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=Dg(d,b);b?ch(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function Ig(a,b){var c=a.i;c||((c=Pa(Yg),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=qh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function qh(a,b){a.i=null;b=Ga(xa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Qa(Yg,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function Lg(a){var b=null;a.i&&(b=xa()+"/api/v1/user?req=load&user="+a.i+"&state="+rh(a,"1.34.2"));return b}
function ch(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=rh(a,"1.34.2");d.data=c;b=Ga(xa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.da("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.da(c),Qa(Yg,""),a.i=null)}}
function od(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Tg="failsafe",Og="validate",Qg="timestamp",$g="version",ah="url",bh="browser",Yg="user",Sg=-1,Jg=0,Rg=1,Vg=2,ph=3;Xa(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new Gg(g,d,!0);vb(g,f);g.O&&Mg(g,g.Ja)}});
gb.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=ub("Computer",c.id))&&c.S&&!c.A.V&&c.Ja(Sg)}});gb.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=ub("Computer",c.id))&&c.A.V&&Dg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=rh(a,b,c);Wg(this,a.Db)}l=F.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 Kg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Na()&&(b=Pa(a.key))?(a.i=b,a.v=!0):!1}function Pg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Xg(a){var b=!0;if(Na()){var c=JSON.stringify(a.b);Qa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Wg(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Wg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function rh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var sh=0;
function th(a,b,c,d,e,f,g){f("Loading "+a+"...");Ga(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):uh(k,a,b,c,d,e,f,g)})}
function uh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(ob(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(u){g=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?vh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function vh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],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);vh(a,b,c)}})}else c(a,null)}
function wh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);m&&(--sh||jb(!0));m=!1}var h,k,m=!0;sh++;pb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],H=document.createElement("style");H.type="text/css";H.styleSheet?H.styleSheet.cssText=n:H.appendChild(document.createTextNode(n));u.appendChild(H)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?th(d,null,a,null,!1,f,function(a,e){e?(ob(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--sh||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),--sh||
jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?th(c,b,a,e,!0,f,n):uh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ja){g(ja.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return wh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return wh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return ub(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;n++){var u=b[n];if('"'==u||"'"==u)m&&u!=m?k+=u:(m?m=null:m=u,k&&(h.push(k),k=""));else{if(!m){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){k&&(h.push(k),k="");";"==u&&h.length&&(g.push(h),h=[]);continue}}k+=u}}k&&h.push(k);h.length&&g.push(h);d[e]=g;wb(a)||(c=!1)}return c};window.enableEvents=jb;window.sendEvent=lb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
function We(a,b,c){var d;if(b){b=Xe(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],w=p.length,p=Fa(p);if(!p){f=!0;break}p=Ye(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],K=p.length;k.length&&Ze[p]<Ze[k[k.length-1]]&&Ve(h,k,1);k.push(p);b=b.substr(w+K)}Ve(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&$e(a,null,
d))}return d}function Xe(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=We(a,c[1]);b=b.replace(d+c[1]+e,null!=g?H(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 Ye(a,b,c,d){var e;null!=b?(e=a.gb(b),0<=e?e=a.hb(e):(e=a.T[b],null==e&&(e=ta(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function $e(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,n=void 0,p=8,w="";p?32<p&&(p=32):p=32;for(var K=null==k||isNaN(k),ma=n=n||p;0<p--;)ma||(w=","+w,ma=n),w=(K?"?":k&1?"1":"0")+w,k>>=1,ma--;g=w+g;d>>=8}d=m(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
function af(a,b){if(b)return $e(a,b,a.T[b]);var c=0;for(b in a.T)$e(a,b,a.T[b]),c++;return 0<c}function H(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=va(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=ua(b,10,a);break;default:b=m(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ze={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function bf(a){Te.call(this,a);this.xa=!1;this.la=!0;this.va=18;this.wa=Y();this.K=Y(0);this.ga=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];cf(this);this.R=this.ka=0;this.i=[];this.oa=void 0;df(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];ef(this,a.messages);this.qa=a.commands;this.N=0;this.Aa=this.pa=null;this.B=this.za=this.ya=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[u]&&(window[u]=function(a){return ld(b,a)}):void 0===global[u]&&(global[u]=
function(a){return ld(b,a)})}la(bf,Te);function ff(a){a=a&&a.C;null==a&&(a=-1);return a}function Y(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function gf(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function hf(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function jf(a,b){var c=Y(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Ue(a,c.Va=b[4]));return c}l=bf.prototype;
l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.va=b.F;(a=gd(a,"messages"))&&ef(this,a);kf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=ff(lf(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.j("..."):(c=p.type,n=Rc[c],p&&d.j(m(p.id,8)+" %"+m(e<<d.H.i,8)+" %"+m(p.C,8)+
" "+m(p.Ka,4,!0)+" "+m(p.size,4,!0)+" "+n),c!=Vc&&(c=-1),n=0);a+=16384;e++}}});Qb(this)};
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ld(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Xa(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";ld(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Xa(c,function(a){var b=!1;Rb(d,!0)||(Sb(d,!0),b=wc(d,a?1:0,null),Sb(d,!1));return b}),!0}return!1};function kd(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.Ca=function(a,b){var c=-1,d=ff(a);-1!==d&&(c=Cc(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.mb=function(a,b,c){var d=ff(a);-1!==d&&(Bc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),G(this.G,-1))};
function lf(a,b,c){var d,e;c||(c=Y());var f=c.C;if(void 0!==b){b=Xe(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 n=a.F[k].U[f];if(null!=n){h=n.o;break}}null!=h&&(g=Y(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=We(a,b,void 0)}null!=f&&(f=mf(f,a.va),gf(c,f,d,e));return c}function nf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ob=Ue(a,b.Va=c[2]))}
function mf(a,b){0>a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Z(a,b){return H(a,b.C)}function of(a){return va(a/Xb,6)+" "+va(a%Xb,6)}
function ef(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Ue(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ec){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|=ec[c],a.j(c+" messages enabled"))}}function kf(a,b){for(var c in ec)if(16==ec[c]){a.ma[c]=b;break}}l.gb=function(a){return pf.indexOf(a.toUpperCase())};
l.hb=function(a){var b,c=this.v;switch(a){case qf:b=c.i;break;case rf:b=c.K;break;case sf:b=c.b;break;case tf:b=c.u&65536?1:0;break;case uf:b=c.u&32768?1:0;break;case vf:b=c.u&131072?1:0;break;case wf:b=c.u&32?1:0;break;case xf:b=c.u&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+Z(this,Y(this.v.xa)));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.v&&(c=this.v.A.L)||Rb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,td(a),a.fa=0,a.G&&G(a.G,void 0))}};
function df(a){var b;if(!zd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(yf);for(b=0;b<a.i.length;b++)a.i[b]=Y();a.R=0;a.j("instruction history buffer allocated")}}function zf(a,b,c){if(!Af(a,c))return!1;vc(a.v,b);return!0}
function wc(a,b,c,d){if(!Af(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.B=0;b||zd(a)&&Ad(a,a.v.i,0);try{b=rd(a.v,b);var f=a.v.Ma(b);0<f&&(xc(a.v,f),a.B+=f,yc(a.v,f,!0),zc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Nb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),G(a.G,-1));jd(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function jd(a,b,c){b=void 0===b?!0:b;a.xa&&(c&&a.j(Bf+c),gf(a.K,a.v.i),b&&1!=a.N?Cf(a):Df(a))}
function Af(a,b){var c;(c=!a.v||!Pb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Ob(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){df(this);this.fa=0;this.S=null;this.B=0;gf(this.K,this.v.i);this.A.L=!1;Ef(this);a||jd(this)};
l.save=function(){var a=new E(this);a.set(0,hf(this.K));a.set(1,hf(this.ga));a.set(2,hf(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=jf(this,a[b++]),this.ga=jf(this,a[b++]),this.ba=jf(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.A.L=!0;this.ya=a;this.za=b};
l.stop=function(a,b){if(this.A.L){this.A.L=!1;this.B=b-this.za;if(!this.N){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";zd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Tb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}jd(this,!0);kd(this);Ef(this,this.v.i);this.S=null}};function zd(a){return 1<a.b.length||!!a.ka}
function Ad(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=yd(a.v,1)));if(0<c&&(a.ka&&!--a.ka||dd(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(gf(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}
function Ff(a,b,c,d){var e=Y(b.C),f=a.Ca(b,1),g,h,k,n=0,p=f/ac|0,w;for(w in Gf)if(g=Gf[w][p&w]){h=+w;p>>=6;switch(h){case 32512:k=Hf;n=p&3;break;case 32256:k=ng;n=p&7;break;case 29248:k=pg,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>qg&&(k="B");k=rg[g||0]+k;if(g){if(28700==h)n=f/bc&127,h=H(a,n,-1);else if(n=f>>23&15,h=H(a,n,-1),g==sg&&(g=tg[n]))k=rg[g],h="";k=Ea(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=H(a,f&262143,-1);(f=f>>18&15)&&(k+="("+H(a,f,-1)+")")}else k=Ea(k,8)+of(f);f=k;g="";h=Z(a,
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ca(e,1),g+=" "+of(k),null==e.C)break;while(e.C!=b.C)}h+=Ea(g,16)+f;c&&(h=Ea(h,48)+";"+(c||""),h=a.v.A.Fa?h+("cycles="+md(a.v).toString()+" cs="+m(a.v.za)):h+(null!=d?"="+d.toString():""));return h}function cf(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=ff(c);var d=a.H;cd(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=ff(c),d=a.H,cd(d.b[c>>>d.i],!0);a.I=["bw"];a.na=0;a.ka=0}
l.Ea=function(a,b,c){var d=!0;c||ug(this,a,b,!1,!0);if(a!=this.b){var e=ff(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ea(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(vg(this,a,a.length-1,"set"),df(this)));return d};function ug(a,b,c,d,e){var f=!1;c=ff(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==ff(h)&&(!d||h.ha)){f=!0;h.ha||e||vg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,cd(d.b[c>>>d.i],b==a.I));h.ha||df(a);break}}return f}
function wg(a,b){for(var c=1;c<b.length;c++)vg(a,b,c);return b.length-1}function vg(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function Ef(a,b){if(void 0!==b)dd(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!ug(a,a.b,c,!0))break;b=0}}}
function dd(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=ff(h)&(d==a.b?65535:-1),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.ha&&(ug(a,d,h,!0),e=!0);if(p=h.ob){for(var f=!1,w=0;w<p.length;w++)if(!xg(a,p[w],!0)){if(p[w].indexOf("if")){f=!0;break}for(var K=w+1;K<p.length&&p[K].indexOf("else");K++)w++;if(K==p.length){f=!0;break}}a.v.A.L||(f=!0)}if(f){e||vg(a,d,g,"hit");break}}}a.na--;return f}
function yg(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=va(d,2);gf(e.wa,d);f+="="+H(e,e.Ca(e.wa),36)+" ";c+=f}if(b){b="";for(d=0;d<pf.length;d++)(e=pf[d]||"")&&(e+="="+H(a,a.hb(d),d>=tf?1:d==rf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Ne(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],w=Ga(p,k,a.tb);0>w&&p.splice(-(w+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function zg(a,b,c){var d=[],e=ff(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Ga(f.pb,[e-g],a.tb);0<=e?Ag(a,b,e,d):c&&(e=~e,Ag(a,b,e-1,d),Ag(a,b,e,d));break}}return d}
function Ag(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Bg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return af(a)||a.j("no variables"),!0;if(!c[2])return af(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=We(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function Cg(a,b,c){var d=null;if(b=lf(a,b)){var e=zg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+m(f,4,!0)),f=e[0]+" ("+H(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+m(f,4,!0)),f=e[4]+" ("+H(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function Cf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=We(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case qf:F(h,
g);gf(a.K,h.i);break;case tf:f=65536;break;case uf:f=32768;break;case vf:f=131072;break;case wf:f=32;break;case xf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);G(a.G);a.j("updated registers:")}}a.j(yg(a,e));c&&(gf(a.K,d.i),Df(a,Z(a,a.K)))}}function Dg(a,b){b=Fa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):$e(a,null,c[2].charCodeAt(0)):We(a,b,!0)}
function Eg(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=Ye(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;Wa(c,function(){return Sb(a,!0)&&wc(a,e,d,!1)},function(){a.ea&&a.ea.stop();G(a.G,-1);Sb(a,!1)})}}
function Df(a,b,c,d){if(b=lf(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Ye(a,c.substr(1)),null!=c&&(d=c);else{d=lf(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Rb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=zg(a,b),k=b.C;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.C=n.C;h.Sa=n.Sa;h.ha=n.ha;h.ca=n.ca;a.j(Ff(a,b,g,f));e-=b.C-k;c++}}}
function xg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(Bf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Pb(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),n=1;n<h.length;n++){var p=h.charAt(n);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(n);g.unshift(h.substr(0,n));break}}switch(g[0].charAt(0)){case "a":var w=lf(a,
g[1],a.ba);if(w){var K=g[2];if(void 0==K)a.j("begin assemble at "+Z(a,w)),a.P=!0,G(a.G);else{g.shift();g.shift();g.shift();var ma,Dc=g.join(""),J=-1,Ec,Bb,Id=K.toUpperCase(),Jd;for(Jd in tg)if(Bb=tg[Jd],Id==rg[Bb]){Id=rg[sg];Dc=H(a,+Jd)+","+Dc;break}for(var If in Gf){var bb;Ec=+If;var Jf=Gf[If];switch(Ec){case 32512:bb=Hf;break;case 32256:bb=ng;break;case 29248:bb=pg;break;default:bb=[""]}var Kf,Kd;for(Kd in Jf){Bb=Jf[Kd];for(var cb=0;cb<bb.length;cb++){var Ld=bb[cb];"S"==Ld&&Bb>qg&&(Ld="B");if(Id==
rg[Bb]+Ld){Kf=29248!=Ec?cb:(cb&3)<<1|(cb&12)<<2;J=(Kd|Kf<<6)*ac;break}}if(0<=J)break}if(0<=J)break}if(0<=J)if(Dc)for(var Md=Dc.split(","),db=0;db<Md.length;db++){var V=Md[db].trim();if(V){if(1<db){a.j("too many operands: "+V);J=-1;break}var Fc=V.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!Fc){a.j("unknown operand: "+V);J=-1;break}V=Fc[2];db&&(V=V.replace(/(^|[^0-9])\./g,"$1"+Z(a,w)));var R=We(a,V);if(void 0==R){J=-1;break}if(!db&&1<Md.length)if(28700==Ec){if(0>R||127<R){a.j("device code out of range: "+
V);J=-1;break}J+=R*bc}else{if(0>R||15<R){a.j("accumulator address out of range: "+V);J=-1;break}J+=R<<23}else{if(0>R||262143<R){a.j("memory address out of range: "+V);J=-1;break}J+=R;if(V=Fc[3]){R=We(a,V);if(void 0==R){J=-1;break}if(0>R||15<R){a.j("memory index out of range: "+V);J=-1;break}J+=R<<18}Fc[1]&&(J+=4194304)}}}else a.j("missing operand(s)"),J=-1;else a.j("unknown instruction: "+K);ma=J;0<=ma&&(a.mb(w,ma),a.j(Ff(a,w)))}}break;case "b":a:{var fh=g[0],eb=g[1],gh=b;if("?"==eb)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 Ka=fh.charAt(1);if("l"==Ka){var Nd;Nd=0+wg(a,a.b);Nd+=wg(a,a.M);(Nd+=wg(a,a.I))||a.j("no breakpoints")}else if("n"==Ka){var Lf=+eb||0;eb&&(a.ka=Lf);a.j("break after "+Lf+" instruction(s)")}else if(void 0===eb)a.j("missing breakpoint address");else{var ba=Y();
if("*"!=eb&&(ba=lf(a,eb,a.K),!ba))break a;"c"==Ka?null==ba.C?(cf(a),a.j("all breakpoints cleared")):ug(a,a.b,ba)||ug(a,a.M,ba)||ug(a,a.I,ba)||a.j("breakpoint missing: "+Z(a,ba)):null!=ba.C&&(nf(a,ba,gh),"p"==Ka?a.Ea(a.b,ba):"r"==Ka?a.Ea(a.M,ba):"w"==Ka?a.Ea(a.I,ba):a.j("unknown breakpoint command: "+Ka))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var fb,gb=g[0],na=g[1],Ba=g[2],hh=g[3];if("?"==na){var hb="";for(fb in ec)a.ma[fb]&&(hb&&(hb+=","),hb+=fb);hb+=",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");hb.length&&a.j("dump extension commands:\n\t"+hb)}else if("state"==na){var Od=Fg(a.G,!0);"console"==Ba?console.log(Od):(a.ta&&(a.ta.value=""),Od&&a.j(Od))}else if("symbols"==na)for(var Pd=0;Pd<a.F.length;Pd++){var Qd=a.F[Pd],ib;for(ib in Qd.U)if("."!=ib.charAt(0)){var Mf=Qd.U[ib].o;if(void 0!==Mf){var Nf=Qd.U[ib].l;Nf&&(ib=Nf);
a.j(H(a,Mf)+" "+ib)}}}else{if("d"==gb){for(fb in ec)if(g[1]==fb){var Of=a.ma[fb];Of?(g.shift(),g.shift(),Of(g)):a.j("no dump registered for "+na);break a}na||(gb=a.Aa||"dw")}else a.Aa=gb;if("dh"==gb){var Pf=na,Qf=Ba,Rf="",Sf=0,ja=a.R,oa=a.i;if(oa.length){var fa=+Pf||a.oa,Db=+Qf||10;isNaN(fa)?fa=Db:Rf="more ";fa>oa.length&&(a.j("note: only "+oa.length+" available"),fa=oa.length);ja-=fa;0>ja&&(null==oa[oa.length-1].C?(fa=ja+fa,ja=0):ja+=oa.length);var Rd=[];"call"==Qf&&(Db=1E5,Rd=["CALL"]);for(void 0!==
Pf&&a.j(fa+" instructions earlier:");0<Db&&ja!=a.R;){var Tf=oa[ja++];if(null==Tf.C)break;var Eb=Y(Tf.C),ih=fa--,Uf=Ff(a,Eb,"history",ih);(!Rd.length||0<=Uf.indexOf(Rd[0]))&&a.j(Uf);Eb.eb&&(ja+=Eb.eb,Db-=Eb.eb,fa-=Eb.eb);ja>=oa.length&&(ja=0);a.oa=fa;Sf++;Db--}}Sf||(a.j("no "+Rf+"history available"),a.oa=void 0)}else{var jb=lf(a,na,a.ga);if(jb){var La=0,Vf="ds"==gb;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||hh,La=Ye(a,Ba);else{var Wf=lf(a,Ba);Wf&&(La=Wf.C-jb.C)}0>La&&(La=0);65536<La&&(La=65536)}var jh=
a.ca;jb.ca&&(a.ca=jb.ca);for(var Xf="db"==gb?1:2,Sd=La||32,Td=1==Xf?2:4,kh=(Sd+Td-1)/Td|0||1,Ma="";kh--&&0<Sd;){for(var Na="",Yf="",na=Z(a,jb),Zf=Td;0<Zf--&&0<Sd--;){var Gc=a.Ca(jb,1);Vf?(Na&&(Na+=","),Na+=Gc):(Na+=of(Gc),Na+=" ");for(var $f=0;1==Xf&&6>$f;$f++)Yf+=String.fromCharCode((Gc%64|0)+32),Gc/=64}Ma&&(Ma+="\n");Ma=Vf?Ma+(Na+","):Ma+(na+": "+Na+(0>Zf?" "+Yf:""))}Ma&&a.j(Ma);a.ca=jh}}}}break;case "e":if("else"==g[0])break;var ag,bg,cg=g[0],Ud=g[1];"e"==cg||"ew"==cg?(ag=a.Ca,bg=a.mb):Ud=null;
if(null==Ud)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Hc=lf(a,Ud,a.ga);if(Hc)for(var Vd=2;Vd<g.length;Vd++){var Fb=We(a,g[Vd]);if(void 0===Fb)break;Fb=mf(Fb);a.j("changing "+Z(a,Hc)+" from "+of(ag.call(a,Hc))+" to "+of(Fb));bg.call(a,Hc,Fb,1)}}break;case "g":a:{var dg=g[1],lh=b;if(void 0!==dg){var Wd=lf(a,dg);if(!Wd)break a;nf(a,Wd,lh);a.Ea(a.b,Wd,!0)}zf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"),a.W()):Rb(a,!0)||c||a.j("already halted");break;case "i":if("if"==
g[0]){var Xd;var Gb=b.substr(2),Gb=Fa(Gb);We(a,Gb)?(c||a.j("true: "+Gb),Xd=!0):(c||a.j("false: "+Gb),Xd=!1);Xd||(d=!1);break}f=!0;break;case "k":var mh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Yd=0,Zd=Y(),Hb=Y();for(a.j("stack trace for "+Z(a,Hb));10>Yd;){for(var Oa=null,nh=256;65536>Hb.C>>>0;){Zd.C=a.Ca(Hb,2);if(null==Hb.C||!nh--)break;if(!(Zd.C&1)){for(var oh=a,Ic=Zd,eg=null,Ib=Ic.C,fg=Ib,$d=1;6>=$d&&Ib;$d++){if(2<
$d){Ic.C=Ib;var Jc=Ff(oh,Ic);if(0<=Jc.indexOf("JSR")){var gg=Jc.indexOf(" ");if(Ib+(Jc.indexOf(" ",gg+1)-gg-1)/2==fg){eg=Jc;break}}}Ib-=2}Ic.C=fg;if(Oa=eg)break}}if(!Oa||null==Oa)break;var hg=null;if("ks"==mh){var ig=Oa.match(/[0-9A-F]+$/);ig&&(hg=Cg(a,ig[0]))}Oa=Ea(Oa,50)+" ;"+(hg||"stack="+Z(a,Hb));a.j(Oa);Yd++}Yd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){Cg(a,g[1],!0);break}f=!0;break;case "m":a:{var pa,qa=null,L=g[1];"?"==L&&(L=void 0);if(void 0!==L){var Ca=0;if("all"==
L)Ca=1879046143,L=null;else if("on"==L)qa=!0,L=null;else if("off"==L)qa=!1,L=null;else{"keys"==L&&(L="key");"kbd"==L&&(L="keyboard");for(pa in ec)if(L==pa){Ca=ec[pa];qa=!!(a.X&Ca);break}if(!Ca){a.j("unknown message category: "+L);break a}}if(Ca)if("on"==g[2])a.X|=Ca,qa=!0;else if("off"==g[2]&&(a.X&=~Ca,qa=!1,1073741824==Ca)){for(var jg=1E3<=a.O.length?a.O.length-1E3:0;jg<a.O.length;)a.j(a.O[jg++]);a.O=[]}}var ph=0,Jb="";for(pa in ec)if(!L||L==pa){var qh=!!(a.X&ec[pa]);if(null===qa||qa==qh)Jb&&(Jb+=
","),++ph%10||(Jb+="\n\t"),"key"==pa&&(pa="keys"),Jb+=pa}void 0===L&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==qa?qa?"messages on: ":"messages off: ":"message categories:\n\t")+(Jb||"none"));df(a)}break;case "p":if("print"==g[0]){Dg(a,b.substr(5));break}var kg=g[0],lg="p"==kg?0:"pr"==kg?1:-1;if("?"==g[1]||0>lg)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 mg=Y(a.v.i);a.Ca(mg);a.N?(a.Ea(a.b,mg,!0),zf(a)||(a.G&&qd(a.G),a.N=0)):Eg(a,lg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Cf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Kb=+g[2];if(8==Kb||10==Kb||16==Kb)a.ca=Kb;else{a.j("invalid base: "+Kb);break}}a.j("default base: "+a.ca);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.ka=Lb;break;case "start":a.v.Aa=Lb;break;case "stop":a.v.ma=Lb;break;default:a.j("unknown cs option");break a}void 0!==
Lb&&id(a.v);a.j("checksums "+(a.v.A.Fa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(nd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),
a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":Eg(a,g[0],g[1]);break;case "u":Df(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Bg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Vb||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Dg(a,b.substr(1));break}var ae="commands:",be;for(be in Gg)ae+="\n"+Ea(be,9)+Gg[be];zd(a)||(ae+="\nnote: history disabled if no exec breakpoints");a.j(ae);break;default:f=!0}f&&(a.j("unknown command: "+
b),d=!1)}}catch(og){a.j("Debugger "+(og.stack||og.message)),d=!1}return d}function ld(a,b,c){b=Ue(a,b,c);for(var d in b)if(!xg(a,b[+d]))return!1;return!0}
var Gg={"?":"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"},qg=20,sg=85,rg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
qf=0,rf=1,sf=2,tf=3,uf=4,vf=5,wf=6,xf=7,pf="PC RA EA C0 C1 OV ND PD".split(" "),Hg={},Gf=(Hg[28672]={0:101},Hg[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:sg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Hg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:qg,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},Hg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Hg[29248]={24576:79,24640:80,25088:81,25152:82},Hg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},Hg),Hf=["","I","M","S"],ng=" L E LE A GE N G".split(" "),pg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),tg={8:102,4:103,2:104,6:105,1:106},yf=1E3,Bf=">> ";Za(function(){for(var a=v(document,u,"debugger"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new bf(d);xb(d,c)}});
function Ig(a,b,c){r.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Jg(this,b);this.O=gd(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=gd(this,"url")||"";(Math.random()+.1).toString(36);this.i=Kg(this);if(this.v=wb("CPU",this.id)){this.D=wb("Debugger",this.id);this.H=new Kc({id:this.Qa+".bus",busWidth:this.aa},this.v,this.D);var d,e=ub(this.id);if((this.u=wb("Panel",this.id))&&this.u.ta)for(b=
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Vb+" 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.Ba&&d.Ba(this,this.H,this.v,this.D);b=null;d=gd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=gd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Lg),this.b&&(this.I=new E(this,"1.34.2"),Mg(this.I)?b=null:
delete this.I);!b&&this.b&&(b=Ng(this))&&(this.K=!0);if(b){var g=this;Ia(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Fa(b):"")+")")):(g.M=b,g.T=!0);Qb(g)})}else Qb(this);this.J.power||(this.O=!0);!c&&this.O&&Og(this,this.Ja)}else q("Unable to find CPU component")}la(Ig,r);function Jg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
function gd(a,b,c,d){var e=b.toLowerCase(),e=Ua(b)||Ua(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 Og(a,b,c){for(var d=ub(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Pb(f)){Pb(f,function(){Og(a,b,c)});return}}b.call(a,c)}
function Pg(a,b){var c=new E(a,"1.34.2",Qg);if(Mg(c)&&Rg(c)){var d=c.get(Sg),e=b?b.get(Sg):"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=Ig.prototype;
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Tg:Lg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new E(this,"1.34.2");if(a==Ug)b=!0;else if(a>Lg){if(Mg(d,this.M)){this.B=new E(this,"1.34.2",Vg);Mg(this.B)&&(Wg(this,d),a=Xg,Yg(this.B));this.B.set(Sg,Ha());Zg(this.B);var e=this.b&&!this.K;if(a==Tg||tb("Click OK to restore the previous "+Vb+" machine state, or CANCEL to reset the machine.")){if(c=Rg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Mg(d,g):("error"==f&&"no machine state"!=
g?(this.da("Error: "+g),"unable to verify user"==g&&(Sa($g,""),this.i=null)):this.j(f+": "+g),Yg(d),Mg(d)?(c=Rg(d),e=!0):c=!1))}e&&Pg(this,c?d:null)}else a==Xg&&d.clear()}else Pg(this);delete this.M;delete this.I}e=ub(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=ah(this,g,d,b,c));b=[d,a,c];a!=Ug?Og(this,this.ub,b):this.ub(b)}};
function ah(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(q("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Lg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.jb){var g=b.jb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(ah(this,this.v,b,c,a),G(this,-2),this.v.Z());this.P&&(Wg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function Wg(a,b){if(tb("There may be a problem with your "+Vb+" machine.\n\nTo help us diagnose it, click OK to send this "+Vb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Vb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ia("http://www.pcjs.org/api/v1/report",d,!0)}}
function Fg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new E(a,"1.34.2"),g=new E(a,"1.34.2",Qg),h=Ha();g.set(Sg,h);f.set(Sg,h);f.set(bh,"1.34.2");f.set(ch,window?window.location.href:null);f.set(dh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=ub(a.id),k=0;k<h.length;k++){var n=h[k];n.A.V&&(n.ia&&(d=n.ia(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.A.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&eh(a,a.i,f.toString()),Zg(g)&&Zg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==rh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Ub(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Ub(this,"Resetting "+this.v.type),this.v.reset());for(var a=ub(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Ub(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;G(this,-1)};l.start=function(a,b){for(var c=ub(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}G(this,-1)};
l.stop=function(a,b){for(var c=ub(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}G(this,-1)};
function G(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Xa+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?va(e,void 0):m(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.va);nc(a,a.i);hc(a,a.w)}}
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?Fg(d,!1,!0):Og(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=tb("Click OK to save changes to this "+Vb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Fg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(Lg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(ya())c.parentNode.removeChild(c);else return this.J[b]=
c,c.onclick=function(){var a=Kg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=Fg(d,b);b?eh(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function Kg(a,b){var c=a.i;c||((c=Ra($g),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=sh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function sh(a,b){a.i=null;b=Ia(za()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Sa($g,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Ng(a){var b=null;a.i&&(b=za()+"/api/v1/user?req=load&user="+a.i+"&state="+th(a,"1.34.2"));return b}
function eh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=th(a,"1.34.2");d.data=c;b=Ia(za()+"/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),Sa($g,""),a.i=null)}}
function qd(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Vg="failsafe",Qg="validate",Sg="timestamp",bh="version",ch="url",dh="browser",$g="user",Ug=-1,Lg=0,Tg=1,Xg=2,rh=3;Za(function(){for(var a=v(document,u+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=t(c),c=v(c,u,"computer"),e=0;e<c.length;e++){var f=c[e],g=t(f),g=new Ig(g,d,!0);xb(g,f);g.O&&Og(g,g.Ja)}});
$a.show.push(function(){for(var a=v(document,u,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=wb("Computer",c.id))&&c.S&&!c.A.V&&c.Ja(Ug)}});$a.exit.push(function(){for(var a=v(document,u,"computer"),b=0;b<a.length;b++){var c=t(a[b]);(c=wb("Computer",c.id))&&c.A.V&&Fg(c,!(!c.b||c.F),!0)}});function E(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=th(a,b,c);Yg(this,a.Db)}l=E.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 Mg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Pa()&&(b=Ra(a.key))?(a.i=b,a.v=!0):!1}function Rg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){q(c.message||c),b=!1}return b}function Zg(a){var b=!0;if(Pa()){var c=JSON.stringify(a.b);Sa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Yg(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Yg(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 th(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 uh=0;
function vh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ia(a,null,!0,function(h,k,n){n?(k||(k="unable to load "+a+" ("+n+")"),g(k,null)):wh(k,a,b,c,d,e,f,g)})}
function wh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(qb(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(w){g=null,a=w.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?xh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function xh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ia(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);xh(a,b,c)}})}else c(a,null)}
function yh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&v(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);n&&(--uh||lb(!0));n=!1}var h,k,n=!0;uh++;rb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],K=document.createElement("style");K.type="text/css";K.styleSheet?K.styleSheet.cssText=p:K.appendChild(document.createTextNode(p));w.appendChild(K)}d||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?vh(d,null,a,null,!1,f,function(a,e){e?(qb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--uh||lb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--uh||
lb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?vh(c,b,a,e,!0,f,p):wh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(ma){g(ma.message)}return n}window.embedPDP10=function(a,b,c,d){lb(!1);return yh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){lb(!1);return yh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return wb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!zb[a]){for(var c=!0,d=zb,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p<f;p++){var w=b[p];if('"'==w||"'"==w)n&&w!=n?k+=w:(n?n=null:n=w,k&&(h.push(k),k=""));else{if(!n){if("\r"==w||"\n"==w)w=";";if(" "==w||"\t"==w||";"==w){k&&(h.push(k),k="");";"==w&&h.length&&(g.push(h),h=[]);continue}}k+=w}}k&&h.push(k);h.length&&g.push(h);d[e]=g;yb(a)||(c=!1)}return c};window.enableEvents=lb;window.sendEvent=nb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map

View file

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