pcjs/versions/pdp11/1.30.0/pdp11.js

154 lines
61 KiB
JavaScript

(function(){var m;
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(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&&f&&(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 e,d=a;((f=b)&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):8==f?null!==d.match(/^[0-7]+$/):2==
f&&null!==d.match(/^[01]+$/):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function ba(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 ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};
function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function p(a,b,c,d){var f=0,e=null,h=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(e=g.responseText,200==g.status||!g.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=g.status||-1),d&&d(a,e,f))});if(b&&"object"==
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(e=g.responseText,200!=g.status&&(f=g.status||-1),d&&d(a,e,f),h=[e,f]);return h}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function q(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){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}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
function ta(a){if(ra)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 ua(a){!ra&&a?(ra=!0,pa&&va("init"),qa&&va("show")):ra=a}function va(a){t[a]&&ta(t[a])}sa("onload",function(){pa=!0;ta(t.init)});sa("onpageshow",function(){qa=!0;ta(t.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(t.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ib=b.comment;this.dc=b;b=this.id.indexOf(".");0>b?this.vb=this.id:(this.Gb=this.id.substr(0,b),this.vb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,ab:!1,zb:!1,L:!1,error:!1};this.nb=null;this.h.error=!1;this.A={};this.H=null;x.push(this)}var wa=void 0,xa={};
if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function y(a,b){b||(b=v);a.prototype=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},x=[];function Da(a,b,c){Ca[a]&&b&&(Ca[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Ea(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<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
function B(a,b){for(var c=C(b.parentNode,"pdp11-control"),d=0;d<c.length;d++)for(var f=c[d].childNodes,e=0;e<f.length;e++){var h=f[e];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=A(h))&&g.binding&&a.aa(g.type,g.binding,h,g.value),l=k.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},aa:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.Ab=this.A[b]=c,c.value="",this.X=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.K=function(a){this.X(a,this.vb)}),!0;default:return!1}},log:function(){},X:function(){},status:function(a){this.X(this.vb+": "+a)},K:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},ua:function(){return this.h.L=!0},ta:function(a,b){b&&(this.h.L=!1);return!0}};function Fa(a,b){if(a.h.zb)return a.h.ab&&(a.h.ab=!1),a.h.zb=!1;if(a.h.error)return a.X(a.toString()+" error"),!1;a.h.ab=b;return a.h.ab}function D(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.nb;a.nb=null;b&&b()}}
function Ga(a,b){b&&(a.h.ready?b():a.nb=b);return a.h.ready}var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){v.call(this,"Panel",a,Ia)}y(Ia);m=Ia.prototype;m.aa=function(a,b,c,d){return this.s&&this.s.aa(a,b,c,d)||this.c&&this.c.aa(a,b,c,d)?!0:this.parent.aa.call(this,a,b,c,d)};m.Ga=function(a,b,c,d){this.s=a;this.v=b;this.c=c;this.H=d};m.ua=function(a,b){b||Ja();return!0};m.ta=function(){return!0};m.Ka=function(){};
function Ja(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e)for(var h=void 0,h=0;h<x.length;h++)if(x[h].id===e){e=x[h];break a}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&D(e)}}u(Ja);
function E(a,b,c){v.call(this,"Bus",a,E);this.c=b;this.H=c;this.D=a.busWidth||16;this.s=Math.pow(2,this.D);this.v=this.s-1|0;this.f=(this.D>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.J=this.g>>2;this.i=this.g-1;this.j=this.s/this.g|0;this.M=this.j-1;this.oa=[];this.u=null;this.bb=this.P;a=new F;Ka(a,this.H);this.b=Array(this.j);for(b=0;b<this.j;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=La;this.Ya[1]=Ma;this.Ya[2]=Na;this.Ya[3]=Oa;this.I=this.s-8192;Pa(this,this.I,
8192,Qa,this);D(this)}y(E);function La(a,b){var c=this.controller.oa[a];if(c){if(c[0])return c[0](b);if(c[2])return b&1?c[2](b&-2)>>8:c[2](b)&255}else if(b&1&&(c=this.controller.oa[a&-2],c[2]))return c[2](b&-2)>>8;return this.controller.bb(b,-1,1)}
function Na(a,b,c){var d=this.controller.oa[a];if(d){if(d[1]){d[1](b,c);return}if(d[3]){a=d[2]?d[2](c):0;if(c&1)d[3](a&255|b<<8,c&-2);else d[3](a&-256|b,c);return}}else if(c&1&&(d=this.controller.oa[a&-2],d[3])){c&=-2;a=d[2]?d[2](c):0;d[3](a&255|b<<8,c);return}this.controller.bb(c,b,1)}function Ma(a,b){var c=this.controller.oa[a];if(c){if(c[2])return c[2](b);if(c[0])return c[0](b)|c[0](b+1)<<8}return this.controller.bb(b,-1,0)}
function Oa(a,b,c){if(a=this.controller.oa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}this.controller.bb(c,b,0)}E.prototype.reset=function(){this.u&&this.u()};E.prototype.P=function(){return 0};E.prototype.ua=function(a,b){b||this.reset();return!0};
function Pa(a,b,c,d,f){for(var e=b,h=c,g=e>>>a.f;0<h&&g<a.b.length;){var k=a.b[g],l=g*a.g,r=a.g-(e-l);r>h&&(r=h);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+h<=k.Pa)return k.tb+=k.Pa-e,k.Pa=e,!0;if(e>=k.Pa+k.tb){r=k.size-(e-l);r>h&&(r=h);k.tb=e-k.Pa+r;e=l+a.g;h-=r;g++;continue}}return Ra(1,e,h)}e=new F(e,r,a.g,d,f);Ka(e,a.H,k);a.b[g++]=e;e=l+a.g;h-=r}return 0>=h?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)}
function Ra(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
function G(a){v.call(this,"Device",a,G);this.u=a.name;this.s={Db:[],fa:0,T:128,b:127,ac:0};this.b={data:0,wc:0,Qa:20,tc:0};this.f={Cb:0,l:0};this.g={ib:2496,O:0,w:128,jb:0,hb:0,U:0,Rb:0,R:[],Ea:[406,406,406,406],C:[12,12,12,12]};this.i={l:129,$a:0,G:0,sa:0,pa:0,wa:0,R:[],C:[40,40,40,40],Ea:[1024,1024,512,512],Zb:[157,157,29,29]};this.j={c:[8210,8208,8210,8226],C:[22,22,22,50],Da:[19,19,19,32],ub:[815,411,815,630],R:[],B:2176,Ua:0,Sa:0,$:[0,0,0,0,0,0,0,0],Z:0,S:[4544,4544,4544,4544,4544,4544,4544,
4544],Ta:[0,0,0,0,0,0,0,0],Ja:0,rc:[0,0,0,0,0,0,0,0],Sb:0,Tb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],sc:[1,2,3,4,5,6,7,8],Ub:[0,0,0,0,0,0,0,0],ka:[0,0,0,0,0,0,0,0],sb:[0,0,0,0,0,0,0,0],pc:[0,0,0,0,0,0,0,0],qc:[0,0,0,0,0,0,0,0],nc:[0,0,0,0,0,0,0,0],oc:[0,0,0,0,0,0,0,0],va:0,Eb:0}}y(G);
var Ta=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];m=G.prototype;
m.Ga=function(a,b,c,d){this.v=b;this.c=c;this.H=d;switch(this.u){default:a=Ua;for(var f in a){var e=a[f];c=b;d=+f;for(var h=e[0]?e[0].bind(this):null,g=e[1]?e[1].bind(this):null,k=e[2]?e[2].bind(this):null,e=e[3]?e[3].bind(this):null,l=+f;l<=d;l+=2){var r=l&8191;void 0!==c.oa[r]?q("I/O address already registered: "+n(c.I+r,8,!0)):c.oa[r]=[h,g,k,e,!1]}}f=this.Yb.bind(this);b.u=this.reset.bind(this);b.bb=f}D(this)};m.Ra=function(){return this.c.Ra()};m.Wa=function(a){a=a&63727|this.c.Ra()&1808;this.c.Wa(a)};
function Va(a){var b=a.g,c,d,f,e=b.U>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.kc,drive:e,blocksize:256,mapped:0,maxblock:b.Ea[e]*b.C[e],url:"rk"+e+".dsk"});b.w&=-129;switch(b.w>>1&7){case 0:b.ib=2496;b.O=0;b.w=128;b.U=0;break;case 1:if((b.U>>4&511)>=b.Ea[e]){b.O|=32832;b.w|=49152;break}if((b.U&15)>=b.C[e]){b.O|=32800;b.w|=49152;break}c=(b.U>>4&511)*b.C[e]+(b.U&15);d=(b.w&48)<<12|b.hb;f=65536-b.jb&65535;Wa(a,b.R[e],c,d,f);return;case 2:if((b.U>>4&511)>=b.Ea[e]){b.O|=32832;
b.w|=49152;break}if((b.U&15)>=b.C[e]){b.O|=32800;b.w|=49152;break}c=(b.U>>4&511)*b.C[e]+(b.U&15);d=(b.w&48)<<12|b.hb;f=65536-b.jb&65535;a.rb(b.R[e],c,d,f);return}b.ib=e<<13|b.ib&8176|b.U%9&15;H(a.c,20,160,144,function(){b.w=b.w&65534|128;return!!(b.w&64)})}m.kc=function(a,b,c,d,f){var e=this.g;e.hb=d&65535;e.w=e.w&-49|d>>12&48;e.jb=65536-f&65535;switch(a){case 1:e.O|=33024;e.w|=49152;break;case 2:e.O|=33792,e.w|=49152}H(this.c,20,160,144,function(){e.w=e.w&65534|128;return!!(e.w&64)})};
function Xa(a){var b=a.i,c,d,f,e=b.l>>8&3;b.l&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.lc,drive:e,blocksize:128,mapped:1,maxblock:b.Ea[e]*b.C[e],url:"rl"+e+".dsk"});switch(b.l>>1&7){case 2:b.sa&8&&(b.l&=63);b.sa=b.Zb[e]|b.wa&64;break;case 3:1==(b.G&3)&&(b.wa=b.G&4?b.wa+(b.G&65408)&65408|b.G<<2&64:b.wa-(b.G&65408)&65408|b.G<<2&64,b.G=b.wa);break;case 4:b.sa=b.wa;break;case 5:if(b.G>>6>=b.Ea[e]){b.l|=37888;break}if((b.G&63)>=b.C[e]){b.l|=37888;break}c=(b.G>>6)*b.C[e]+(b.G&63);
d=(b.pa&63)<<16|b.$a;f=65536-b.sa&65535;Wa(a,b.R[e],c,d,f);return;case 6:if(b.G>>6>=b.Ea[e]){b.l|=37888;break}if((b.G&63)>=b.C[e]){b.l|=37888;break}c=(b.G>>6)*b.C[e]+(b.G&63);d=(b.pa&63)<<16|b.$a;f=65536-b.sa&65535;a.rb(b.R[e],c,d,f);return}H(a.c,20,160,112,function(){b.l|=129;return!!(b.l&64)})}
m.lc=function(a,b,c,d,f){var e=this.i;e.$a=d&65535;e.l=e.l&-49|d>>12&48;e.pa=d>>16&63;e.G=~~(c/e.C[b.ia])<<6|c%e.C[b.ia];e.wa=e.G;e.sa=65536-f&65535;switch(a){case 1:e.l|=33792;break;case 2:e.l|=40960}H(this.c,20,160,112,function(){e.l|=129;return!!(e.l&64)})};function Ya(a){a=a.j;a.B=2176;a.Z=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ta=[0,0,0,0,0,0,0,0];a.Ja=a.Ua=a.Sa=a.va=a.Eb=0}
function Za(a,b){var c=a.j,d,f,e;c.B&=-16513;c.Z&=-2049;c.S[b]&=-1153;H(a.c,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.mc,drive:b,blocksize:256,mapped:0,maxblock:c.ub[0]*c.Da[0]*c.C[0],url:"rp"+b+".dsk"});switch(c.B&63){case 5:c.sb[b]=c.ka[b];c.B|=32896;c.S[b]|=32896;c.Ja|=1<<b;break;case 9:Ya(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ka[b]>=c.ub[0]||c.$[b]>>8>=c.Da[0]||(c.$[b]&255)>=c.C[0]){c.Ta[b]|=1024;c.B|=49152;break}d=(c.ka[b]*c.Da[0]+(c.$[b]>>8))*c.C[0]+(c.$[b]&
255);f=(c.va&63)<<16|c.Sa;e=65536-c.Ua&65535;Wa(a,c.R[b],d,f,e);return;case 57:if(c.ka[b]>=c.ub[0]||c.$[b]>>8>=c.Da[0]||(c.$[b]&255)>=c.C[0]){c.Ta[b]|=1024;c.B|=49152;break}d=(c.ka[b]*c.Da[0]+(c.$[b]>>8))*c.C[0]+(c.$[b]&255);f=(c.va&63)<<16|c.Sa;e=65536-c.Ua&65535;a.rb(c.R[b],d,f,e);return}H(a.c,3,160,172,function(){c.B=c.B&65534|128;c.S[b]|=128;return!!(c.B&64)})}
m.mc=function(a,b,c,d,f){var e=this.j;e.Ua=65536-f&65535;e.Sa=d&65535;e.B=e.B&-769|d>>8&768;e.va=d>>16&63;f=~~(c/e.C[0]);d=~~(f/e.Da[0]);e.$[b.ia]=f%e.Da[0]<<8|c%e.C[0];e.sb[b.ia]=e.ka[b.ia]=d;e.Ja|=1<<b.ia;c>=b.hc-1&&(e.S[b.ia]|=1024);switch(a){case 1:e.Z|=512;e.B|=49152;break;case 2:e.Z|=2048,e.B|=49152}H(this.c,20,160,172,function(){e.S[b.ia]|=128;e.B=e.B&65534|128;return!!(e.B&64)})};m.fc=function(){this.f.l|=128;this.f.l&64&&H(this.c,0,192,64)};
function $a(a,b){var c=b>>13&31;31>c?a.c.ha&32&&(b=a.c.Va[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&ab(898)):b|=4186112;return b}
function bb(a,b,c,d,f,e){var h=~~((e+c.qa-1)/c.qa),g=new XMLHttpRequest;2048>h&&d+2048<c.hc&&(h=2048);g.open("GET",c.url,!0);g.setRequestHeader("Range","bytes="+(d*c.qa<<1)+"-"+(((d+h)*c.qa<<1)-1));g.responseType="arraybuffer";g.onreadystatechange=function(){if(4==g.readyState){var h=b.bind(a),l,r,w,K;l=g.response;if(0!=g.status&&206!=g.status||!l)c.qb(1,c,d,f,e);else{l=new Uint8Array(l);r=d;for(K=0;K<l.length;){if("undefined"===typeof c.cache[r])for(c.cache[r]=[],w=0;w<c.qa;w++)c.cache[r][w]=K<l.length?
l[K]&255|l[K+1]<<8&65280:0,K+=2;else K+=c.qa<<1;r++}h(c,d,f,e)}}};g.send(null)}m.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){bb(this,this.rb,a,b,c,d);return}for(f=0;f<a.qa&&0<d;f++){if(0>I(this.c,a.gc?$a(this,c):c,a.cache[b][f])){a.qb(2,a,b,c,d);return}c+=2;--d}b++}a.qb(0,a,b,c,d)};
function Wa(a,b,c,d,f){for(var e,h;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.qa;e++)b.cache[c][e]=0;for(e=0;e<b.qa&&0<f;e++){h=J(a.c,b.gc?$a(a,d):d);if(0>h){b.qb(2,b,c,d,f);return}b.cache[c][e]=h;d+=2;--f}c++}b.qb(0,b,c,d,f)}m.reset=function(){this.b.Qa=this.b.Qa&-120|20;this.s.fa=0;this.s.T=128;this.f.l=0;this.g.w=128;this.i.l=128;Ya(this)};
m.Yb=function(a,b,c){var d,f,e=this.c;switch(a&-64){case 4194240:switch(a&-2){case 4194302:d=e.Ra();if(0<=b)return a&1?b=b<<8|d&255:c&&(b=d&65280|b&255),e.Wa(b&63727|d&1808),-1;break;case 4194300:0>b?d=e.la&65280:(a&1&&(b<<=8),e.la=b|255,d=0);break;case 4194298:if(0>b)d=e.pb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.pb=d;e.ja=2}break;case 4194294:if(70!==e.Fa)return L(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Fa)return L(e,4);d=1;break;case 4194290:if(70!==e.Fa)return L(e,
4);d=0;break;case 4194288:if(70!==e.Fa)return L(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Fa)return L(e,4);f=a-4194272>>1;0>b?d=e.Bb[f]:(d=M(this,e.Bb[f],a,b,c),0<=d&&(e.Bb[f]=d));break;case 4194254:return a&1?e.m>>14&1?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Y[3]=b),d=e.Y[3]):e.m>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Y[1]=b),d=e.Y[1]),d;case 4194252:case 4194250:case 4194248:return f=
a&7,e.m&2048?(0<=b&&(e.a[f]=b),d=e.a[f]):(0<=b&&(e.Ia[f]=b),d=e.Ia[f]),d;case 4194246:return a&1?(0<=b&&(e.a[7]=b),d=e.a[7]):e.m>>14&0?(0<=b&&(e.a[6]=b),d=e.a[6]):(0<=b&&(e.Y[0]=b),d=e.Y[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.m&2048?(0<=b&&(e.Ia[f]=b),d=e.Ia[f]):(0<=b&&(e.a[f]=b),d=e.a[f]),d;default:return e.o|=16,L(e,4)}break;case 4194176:f=a>>1&31;d=M(this,e.N[3][f],a,b,c);0<=d&&(e.N[3][f]=d,e.N[3][f&15]&=65295);break;case 4194112:var h=this.s;f=this.f;switch(a&-2){case 4194174:d=
M(this,e.Xa,a,b,c);0<=d&&(e.Xa=d);break;case 4194172:d=e.da;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194170:e.F=e.F&62337|e.eb<<5|e.ob<<1;0>b?d=e.F:(d=M(this,e.F,a,b,c),0<=d&&(e.F=d&=62337,e.eb=d>>5&3,e.ob=d>>1&15,d&257?(f=2,e.ha&16&&(f=1),e.cb=d&1?6:4):(e.cb=0,f=4),this.b.Qa=this.b.Qa&-8|f));break;case 4194168:0>b?d=this.b.tc&65535:(d=M(this,this.b.data,a,b,c),0<=d&&(this.b.data=d));break;case 4194166:if(0<=b){if(b&=127)h.ac=0;h.T&=-129;H(e,100,128,52,function(){h.T|=128;return!!(h.T&64)})}d=0;
break;case 4194164:0>b?d=h.T:(d=M(this,h.T,a,b,c),0<=d&&(128==(h.T&192)&&d&64&&H(e,8,128,52,function(){h.T|=128;return!!(h.T&64)}),h.T=h.T&128|d&-129));break;case 4194162:d=0;0>b&&(h.fa&=-129,0<h.Db.length&&(d=h.Db.shift(),0<h.Db.length&&setTimeout(function(){h.fa|=128;h.fa&64&&H(e,40,128,48)},50)));break;case 4194160:0>b?d=h.fa:(d=M(this,h.fa,a,b,c),0<=d&&(h.fa=h.fa&128|d&-129));break;case 4194150:0>b?(d=f.l,f.l&=-129):(d=M(this,f.l,a,b,c),0<=d&&(d&64&&!f.Cb&&(setInterval(this.fc.bind(this),25),
f.Cb=1),f.l=d&-129));break;default:return e.o|=16,L(e,4)}break;case 4194048:f=this.g;switch(a&-2){case 4194048:d=M(this,f.ib,a,b,c);0<=d&&(f.ib=d);break;case 4194050:d=M(this,f.O,a,b,c);0<=d&&(f.O=d);break;case 4194052:d=M(this,f.w,a,b,c);0<=b&&0<=d&&(f.w=d&-36993|f.w&36992,f.w&1&&Va(this));break;case 4194054:d=M(this,f.jb,a,b,c);0<=d&&(f.jb=d);break;case 4194056:d=M(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194058:d=M(this,f.U,a,b,c);0<=d&&(f.U=d);break;case 4194060:break;case 4194062:d=M(this,
f.Rb,a,b,c);0<=d&&(f.Rb=d);break;default:return e.o|=16,L(e,4)}break;case 4193728:var g=this.j;f=g.Z&7;switch(a&-2){case 4193728:d=M(this,g.B,a,b,c);0<=b&&0<=d&&(g.va=g.va&60|d>>8&3,g.B=d&17279|g.B&34944|2048,d&1&&g.B&128?Za(this,f):192==(d&192)&&H(e,0,160,172));break;case 4193730:d=M(this,g.Ua,a,b,c);0<=d&&(g.Ua=d);break;case 4193732:d=M(this,g.Sa,a,b,c);0<=d&&(g.Sa=d&65534);break;case 4193734:d=M(this,g.$[f],a,b,c);0<=d&&(g.$[f]=d&7967);break;case 4193736:d=M(this,g.Z,a,b,c);0<=d&&(g.Z=d&63|g.Z&
65472,d&128&&Ya(this));break;case 4193738:d=g.S[f];break;case 4193740:d=g.Ta[f];break;case 4193742:d=M(this,g.Ja,a,b,c);0<=d&&(g.Ja=d&255);break;case 4193744:d=g.rc[f];break;case 4193746:d=M(this,g.Sb,a,b,c);0<=d&&(g.Sb=d);break;case 4193748:d=M(this,g.Tb[f],a,b,c);0<=d&&(g.Tb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.sc[f];break;case 4193754:d=M(this,g.Ub[f],a,b,c);0<=d&&(g.Ub[f]=d);break;case 4193756:d=M(this,g.ka[f],a,b,c);0<=d&&(g.ka[f]=d&511);break;case 4193758:g.sb[f]=g.ka[f];
d=g.sb[f];break;case 4193760:d=g.pc[f];break;case 4193762:d=g.qc[f];break;case 4193764:d=g.nc[f];break;case 4193766:d=g.oc[f];break;case 4193768:d=M(this,g.va,a,b,c);0<=d&&(g.va=d&63,g.B=g.B&-769|(d&3)<<8);break;case 4193770:d=M(this,g.Eb,a,b,c);0<=d&&(g.Eb=d);break;default:return e.o|=16,L(e,4)}break;case 4192512:f=this.i;switch(a&-2){case 4192512:d=M(this,f.l,a,b,c);0<=b&&0<=d&&(f.pa=f.pa&60|d>>4&3,f.l=f.l&-1023|d&1022,f.l&128||Xa(this));break;case 4192514:d=M(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);
break;case 4192516:d=M(this,f.G,a,b,c);0<=d&&(f.G=d);break;case 4192518:d=M(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4192520:d=M(this,f.pa,a,b,c);0<=d&&(f.pa=d&63,f.l=f.l&-49|(f.pa&3)<<4);break;default:return e.o|=16,L(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.ha:(d=M(this,e.ha,a,b,c),0<=d&&(70!==e.Fa&&(d&=-49),e.ha=d,e.Ha[0]=d&4?15:7,e.Ha[1]=d&2?15:7,e.Ha[3]=d&1?15:7,e.cb&&(f=2,e.ha&16&&(f=1),this.b.Qa=this.b.Qa&-8|f)));break;default:return e.o|=16,L(e,4)}break;case 4191424:f=a>>
1&31;d=M(this,e.N[0][f],a,b,c);0<=d&&(e.N[0][f]=d,e.N[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=M(this,e.N[1][f],a,b,c);0<=d&&(e.N[1][f]=d,e.N[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Fa)return L(e,4);f=a>>2&31;d=e.Va[f];a&2&&(d=d>>16);d&=65535;0<=b&&(d=M(this,d,a,b,c),0<=d&&(e.Va[f]=a&2?d<<16|e.Va[f]&65535:e.Va[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ta[a>>1&255];else return e.o|=
16,L(e,4);break;default:return e.o|=16,L(e,4)}c&&0<=d&&(a&1?d=d>>8:d&=255);"undefined"===typeof d&&ab(76);return d};function M(a,b,c,d,f){if(c&1){if(!f)return L(a.c,4);d=0<=d?d<<8&65280|b&255:b}else 0<=d?f&&(d=b&65280|d&255):d=b;return d}var Ua={};Ua[4194302]=[null,null,G.prototype.Ra,G.prototype.Wa];u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new G(d);B(d,c)}});var cb;
if(Ha){var db=new ArrayBuffer(2);(new DataView(db)).setUint16(0,256,!0);cb=256===(new Uint16Array(db))[0]}else cb=!1;var eb=cb;
function F(a,b,c,d,f){this.id=fb+=2;this.c=null;this.Pa=a;this.tb=b;this.size=c||0;this.type=d||gb;this.i=d==hb;this.controller=null;Ka(this);this.ra=this.cc=!1;if(c)if(f)this.controller=f,this.c=null,ib(this,f.Ya);else if(Ha)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.j=new Uint16Array(this.f,0,c>>1),this.c=new Int32Array(this.f,0,c>>2),ib(this,eb?jb:kb);else{this.c=Array(c>>2);for(a=0;a<this.c.length;a++)this.c[a]=0;ib(this,lb)}else ib(this)}
var gb=0,hb=2,Qa=4,Sa=["NONE","RAM","ROM","VID","H/W"],fb=0;
F.prototype={constructor:F,parent:null,Cb:function(a){this.Pa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.c;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.c=a;return this.ra=!0}return!1},s:function(){return 255},D:function(){},u:function(a,b){return this.gb(a++,b++)|this.gb(a,
b)<<8},I:function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)},W:function(a){return this.c[a>>2]>>>((a&3)<<3)&255},xa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8},Ba:function(a,b){var c=a>>2,d=(a&3)<<3;this.c[c]=this.c[c]&~(255<<d)|b<<d;this.ra=!0},Oa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.c[c]=this.c[c]&~(65535<<d)|b<<d:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.ra=!0},M:function(a,b){return this.P(a,
b)},ca:function(a,b){return this.ma(a,b)},za:function(a,b,c){this.i||this.Xb(a,b,c)},La:function(a,b,c){this.i||this.Ma(a,b,c)},J:function(a){return this.b[a]},V:function(a){return this.b[a]},ba:function(a){return this.g.getUint16(a,!0)},na:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.j[a>>1]},ya:function(a,b){this.b[a]=b;this.ra=!0},Aa:function(a,b){this.b[a]=b;this.ra=!0},Ca:function(a,b){this.g.setUint16(a,b,!0);this.ra=!0},Na:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.j[a>>
1]=b;this.ra=!0}};function Ka(a,b,c){a.H=b;a.A=a.v=0;c&&((a.A=c.A)&&mb(a,nb,!1),(a.v=c.v)&&ob(a,nb,!1))}function ob(a,b,c){c&&a.v||(a.kb=!a.i&&b[1]||a.D,a.vc=!a.i&&b[3]||a.I);if(c||void 0===c)a.Xb=b[1]||a.D,a.Ma=b[3]||a.I}function mb(a,b,c){c&&a.A||(a.gb=b[0]||a.s,a.jc=b[2]||a.u);if(c||void 0===c)a.P=b[0]||a.s,a.ma=b[2]||a.u}function ib(a,b){b||(b=pb);mb(a,b,void 0);ob(a,b,void 0)}
var pb=[],lb=[F.prototype.W,F.prototype.Ba,F.prototype.xa,F.prototype.Oa],nb=[F.prototype.M,F.prototype.za,F.prototype.ca,F.prototype.La];if(Ha)var kb=[F.prototype.J,F.prototype.ya,F.prototype.ba,F.prototype.Ca],jb=[F.prototype.V,F.prototype.Aa,F.prototype.na,F.prototype.Na];
function qb(a,b){v.call(this,"CPU",a,qb);var c=a.multiplier||1;this.xb=a.cycles||b;this.ma=c;this.wb=Math.round(this.xb/1E4)/100;this.ba=this.wb*this.ma;this.h.ga=!1;this.h.Vb=!1;this.h.Za=a.autoStart;this.h.Ob=!1;this.h.mb=!1;this.Na=this.ca=0;this.Oa=a.csStart;this.ya=a.csInterval;this.za=a.csStop;this.La=[];this.Nb=this.Fb.bind(this);D(this)}y(qb);var rb=["power","reset"];m=qb.prototype;
m.Ga=function(a,b,c,d){this.s=a;this.v=b;this.H=d;for(b=0;b<rb.length;b++)(c=this.A[rb[b]])&&this.s.aa(null,rb[b],c);this.xa=null;a=sb(a,"autoStart");null!=a&&(this.h.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};m.ua=function(a,b){if(!b){if(a&&this.restore){tb(this);if(!this.restore(a))return!1;ub(this)}else this.reset();this.X("No debugger detected")}vb(this);return!0};m.ta=function(a){return a?this.save():!0};
m.Za=function(){return this.h.Za||void 0===this.A.run?(this.Fb(),!0):!1};m.Qb=function(){return 0};function ub(a){void 0===a.Oa&&(a.Oa=0);void 0===a.ya&&(a.ya=-1);void 0===a.za&&(a.za=-1);a.h.mb=0<=a.Oa&&0<a.ya;a.h.mb&&(a.Na=0,a.ca=a.Oa-a.W)}
function N(a,b,c,d){if(a.A[b]){void 0===c&&(a.h.error=!0,a.K("Value for "+b+" is invalid"),O(a));var f=a.H&&a.H.b||8;if(!a.h.ga||a.h.Ob)if(8==f){f="";d?11<d&&(d=11):d=c&-65536?11:6;if(null==c||isNaN(c))for(;0<d--;)f="?"+f;else for(;0<d--;)f=String.fromCharCode((c&7)+48)+f,c>>=3;d=""+f}else d=n(c,d);else d="--------".substr(0,d||4);a.A[b].textContent!=d&&(a.A[b].textContent=d)}}
m.aa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.A[b]=c;a=!0;break;case "run":this.A[b]=c;c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.h.L)a=!0;else{var b=null,c,g=z(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.h.ready);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.h.L);c++);c==g.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.nb?" (waiting for notification)":""))+".");a=!1}a&&(d.h.ga?O(d):d.Fb())};a=!0;
break;case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(){wb(d,d.ma<<1)},c.textContent=this.ba.toFixed(2)+"Mhz",a=!0}return a};function xb(a,b,c){a.W+=b;c&&(a.V=a.J=0)}function yb(a,b){var c=1;b&&1<a.ma&&a.M&&(c=a.M/a.wb);a.Kb=Math.round(1E3/30);a.lb=Math.floor(a.xb/30*c);b||(a.Aa=a.lb);a.yb=0}function zb(a){return a.W+a.I+a.V-a.J}function tb(a){a.M=0;a.Lb=0;a.W=a.I=a.V=a.J=0;ub(a);wb(a,1)}
function wb(a,b){if(void 0!==b){.8>a.M/a.ba&&(b=1);a.ma=b;var c=a.wb*a.ma;if(a.ba!=c){a.ba=c;var c=a.ba.toFixed(2)+"Mhz",d=a.A.setSpeed;d&&(d.textContent=c);a.X("target speed: "+c)}}xb(a,a.I);a.I=0;a.D=ha();a.P=0;yb(a)}function Ab(a){a.V-=a.J;a.J=0}
m.Fb=function(){if(Fa(this,!0)){if(!this.h.ga){wb(this);this.s&&this.s.start(this.D,zb(this));this.h.ga=!0;this.h.Vb=!0;this.xa&&this.xa.start();var a=this.A.run;a&&(a.textContent="Halt");this.s&&this.s.Ka(!0)}this.yb>=this.xb&&yb(this,!0);this.Ba=0;this.Ma=ha();this.P&&(a=this.Ma-this.P,a>this.Kb&&(this.D+=a,this.D>this.Ma&&(this.D=this.Ma)));try{do{for(var b=this.h.mb?1:this.lb,c=this.La.length-1;0<=c;c--){var d=this.La[c];0>d[0]||b>d[0]&&(b=d[0])}this.Wb(b);for(var f=this.V-this.J,a=f,e=this.La.length-
1;0<=e;e--){var h=this.La[e];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ba+=f;this.I+=f;xb(this,0,!0);a=f;if(this.h.mb){var g=!1;this.Na=this.Na+this.Qb()|0;this.ca-=a;0>=this.ca&&(this.ca+=this.ya,g=!0);0<=this.za&&this.za<=zb(this)&&(this.ya=this.za=-1,ub(this),O(this),g=!0);g&&this.X(zb(this)+" cycles: checksum="+n(this.Na))}this.Aa-=f;if(0>=this.Aa){this.Aa+=this.lb;15<=++this.Lb&&(this.s&&this.s.Ka(),this.Lb=0);break}}while(this.h.ga)}catch(k){O(this);vb(this);this.s&&this.s.stop(ha(),
zb(this));Fa(this,!1);b=k.stack||k.message;this.h.error=!0;this.K(b);return}b=setTimeout;c=this.Nb;this.P=ha();d=this.Kb;this.Ba&&(d=Math.round(d*this.Ba/this.lb));d=d-(this.P-this.Ma);if(f=this.P-this.D)this.M=Math.round(this.I/(10*f))/100,864E5<=f&&(this.W=0,wb(this));if(0>d||this.M<this.ba)-1E3>d&&(this.D-=d),d=0;this.yb+=this.Ba;this.P+=d;b(c,d)}else vb(this),this.s&&this.s.stop(ha(),zb(this))};m.Wb=function(){return 0};
function O(a){a.h.ab&&(a.h.zb=!0);Ab(a);xb(a,a.I);a.I=0;if(a.h.ga){a.h.ga=!1;a.xa&&a.xa.stop();var b=a.A.run;b&&(b.textContent="Run")}a.h.complete=void 0}function vb(a){a.s&&a.s.Ka(void 0)}
function Bb(a){this.bc=+a.model||1170;this.ec=a.resetAddr||0;qb.call(this,a,1E6);this.Hb=0;this.g=65536;this.b=32768;this.f=65535;this.c=32768;this.m=15;this.a=[0,0,0,0,0,0,0,this.ec];this.Ia=[0,0,0,0,0,0];this.Y=[0,0,0,0];this.memory=[];this.i=[];this.Ca=this.pb=0;this.ja=2;this.la=255;this.u=0;this.na=-1;this.o=0;this.Fa=70;this.ob=this.eb=this.cb=this.j=this.ha=this.Xa=this.da=this.F=0;this.Ha=[7,7,7,7];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Va=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h.complete=this.h.$b=!1}y(Bb,qb);m=Bb.prototype;
m.reset=function(){this.h.ga&&O(this);Cb(this);tb(this);this.h.error=!1;this.parent.reset.call(this)};function Cb(a){a.la=255;a.o=0;a.i=[];a.pb=0;a.F=a.da=a.Xa=a.ha=a.cb=0;a.Ha[0]=a.Ha[1]=a.Ha[3]=7;a.eb=0}m.Qb=function(){return 0};
m.save=function(){var a=new P(this);Q(a,0,[]);Q(a,1,[this.Jb,this.W,this.ma]);for(var b=this.v,c=0,d=[],f=0;f<b.j;f++){var e=b.b[f];if(e.ra||e.cc){d[c++]=f;var h=c++;a:if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var r=e[g],w=g+1;w<e.length&&e[w]===r;)w++;l[k++]=w-g;l[k++]=r;g=w}if(l.length<e.length){e=l;break a}}d[h]=e}}Q(a,2,d);return a.data()};
m.restore=function(a){var b=a[1];this.Jb=b[0];this.W=b[1];wb(this,b[3]);a:{b=this.v;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,h=Array(b.J),g=0;g<f.length-1;)for(var k=f[g++],l=f[g++];k--;)h[e++]=l;f=h}e=b.b[d];if(!e||!e.restore(f)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.aa=function(a,b,c){var d=!1;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PSW":this.A[b]=c;this.Hb++;d=!0;break;default:d=this.parent.aa.call(this,a,b,c)}return d};
m.Ka=function(a){if(this.Hb&&(a||!this.h.ga||this.h.Ob)){for(a=0;a<this.a.length;a++)N(this,"R"+a,this.a[a]);a=this.m&-16|(this.c&32768?8:0)|(this.f&65535?0:4)|(this.b&32768?2:0)|(this.g&65536?1:0);N(this,"PSW",a);N(this,"NF",a&8?1:0,1);N(this,"ZF",a&4?1:0,1);N(this,"VF",a&2?1:0,1);N(this,"CF",a&1?1:0,1)}if(a=this.A.speed)a.textContent=this.h.ga&&this.M?this.M.toFixed(2)+"Mhz":"Stopped"};
function H(a,b,c,d,f){for(var e=a.i.length;0<e--;)if(a.i[e].uc===d){0<e&&(a.i[e-1].ea+=a.i[e].ea);a.i.splice(e,1);break}if(0<=b){2===a.Ca&&(b=0,a.Ca=0,setTimeout(a.Nb,0));for(e=a.i.length;0<e--;){if(a.i[e].ea>b){a.i[e].ea-=b;break}b-=a.i[e].ea}a.i.splice(e+1,0,{delay:b,priority:c&224,vector:d,callback:f})}a.ja=2}
m.Wa=function(a){this.c=a<<12;this.f=~a&4;this.b=a<<14;this.g=a<<16;if((a^this.m)&2048)for(var b=this.Ia.length;0<=--b;){var c=this.a[b];this.a[b]=this.Ia[b];this.Ia[b]=c}this.j=a>>14&3;b=this.m>>14&3;this.j!=b&&(this.Y[b]=this.a[6],this.a[6]=this.Y[this.j]);this.ja=2;this.m=a};m.Ra=function(){return this.m=this.m&63728|(this.c&32768?8:0)|(this.f&65535?0:4)|(this.b&32768?2:0)|(this.g&65536?1:0)};function ab(a){console.log("panic("+a+")")}
function L(a,b){var c,d,f=0;0>a.na?a.na=a.Ra():a.j||(b=4,f=1);a.F&57344||(a.da=63222,a.Xa=b);a.j=0;0<=(c=R(a,b|65536))&&0<=(d=R(a,b+2&65535|65536))&&(a.Wa(d&53247|a.na>>2&12288),f&&(a.o|=4,a.a[6]=4),0<=S(a,a.na)&&0<=S(a,a.a[7])&&(a.a[7]=c));a.u=0;return a.na=-1}
function Db(a,b,c){var d,f,e,h=0;if(c&a.cb){d=b>>13&a.Ha[a.j];f=a.N[a.j][d];e=(a.N[a.j][d+16]<<6)+(b&8191)&4194303;if(a.ha&16){if(3932160<=e&&4186112>e){e=e&262143;var g=e>>13&31;31>g?a.ha&32&&(e=a.Va[g]+(e&8190)&4194302,3932160<=e&&4186112>e&&ab(898)):e|=4186112}}else e&=262143,253952<=e&&(e|=4186112);if(3932160>e){if(3915776<=e)return a.o|=32,L(a,4);if(e&1&&!(c&1))return a.o|=64,L(a,4)}switch(f&7){case 1:h=4096;case 2:f|=128;c&4&&(h=8192);break;case 4:h=4096;case 5:c&4&&(h=4096);case 6:f|=c&4?192:
128;break;default:h=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(h|=16384):(b&8128)>(f>>2&8128)&&(h|=16384));a.N[a.j][d]=f;if(4194170!==e||a.j)a.eb=a.j,a.ob=d;if(h){if(h&57344)return 0<=a.na&&(h|=128),a.F&57344||(a.F=a.F|h|a.eb<<5|a.ob<<1),L(a,168);a.F&61440||!(4191360>e||4194239<e)||(a.F|=4096,a.F&512&&(a.u|=2))}}else if(e=b&65535,57344<=e)e|=4186112;else if(e&1&&!(c&1))return a.o|=64,L(a,4);return e}
function J(a,b){var c;if(4194304<=b)c=a.a[b-4194304];else if(0<=b){c=a.v;var d=b&c.i,f=(b&c.v)>>>c.f;c=d!=c.i?c.b[f].jc(d,b):c.b[f++].gb(d,b)|c.b[f&c.M].gb(0,b+1)<<8}else c=b;return c}function I(a,b,c){c&=65535;if(4194304<=b)return a.a[b-4194304]=c;if(0<=b){a=a.v;var d=c,f=b&a.i,e=(b&a.v)>>>a.f;f!=a.i?a.b[e].vc(f,d&65535,b):(a.b[e++].kb(f,d&255,b),a.b[e&a.M].kb(0,d>>8&255,b+1));return c}return b}
function T(a,b){var c;4194304<=b?c=a.a[b-4194304]&255:0<=b?(c=a.v,c=c.b[(b&c.v)>>>c.f].gb(b&c.i,b)):c=b;return c}function U(a,b,c){c&=255;return 4194304<=b?a.a[b-4194304]=a.a[b-4194304]&65280|c:0<=b?(a=a.v,a.b[(b&a.v)>>>a.f].kb(b&a.i,c&255,b),c):b}function R(a,b){return J(a,Db(a,b,2))}function Eb(a){var b=R(a,a.a[6]|65536);0<=b&&(a.a[6]=a.a[6]+2&65535);return b}
function S(a,b){var c,d;a.a[6]=d=a.a[6]-2&65535;a.F&57344||(a.da=a.da<<8|246);if(!a.j&&d<=a.la&&4<d){if(d<=a.la-32)return a.o|=4,a.a[6]=4,L(a,4);a.o|=8;a.u|=4}return 0<=(c=Db(a,d|65536,4))?I(a,c,b):c}
function V(a,b,c){var d,f,e=b&7;switch(b>>3&7){case 0:return L(a,4);case 1:if(6===e&&!a.j&&c&4&&(a.a[6]<=a.la||65534<=a.a[6])){if(a.a[6]<=a.la-32||65534<=a.a[6])return a.o|=4,a.a[6]=4,L(a,4);a.o|=8;a.u|=4}return 7===e?a.a[e]:a.a[e]|65536;case 2:f=2;d=a.a[e];7!==e&&(d|=65536,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.a[e];7!==e&&(d|=65536);if(0>(d=R(a,d)))return d;d|=65536;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.a[e]+f&65535;7!==e&&(d|=65536);break;case 5:f=-2;d=a.a[e]-2&65535;7!==e&&(d|=65536);if(0>(d=
R(a,d)))return d;d|=65536;break;case 6:if(0>(d=R(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return d|65536;case 7:if(0>(d=R(a,a.a[7])))return d;a.a[7]=a.a[7]+2&65535;d=d+a.a[e]&65535;return 0>(d=R(a,d|65536))?d:d|65536}a.a[e]=a.a[e]+f&65535;a.F&57344||(a.da=a.da<<8|f<<3&248|e);if(6===e&&!a.j&&c&4&&0>=f&&(a.a[6]<=a.la||65534<=a.a[6])){if(a.a[6]<=a.la-32)return a.o|=4,a.a[6]=4,L(a,4);a.o|=8;a.u|=4}return d}
function W(a,b,c){var d;return b&56?(0<=(d=V(a,b,c))&&(d=Db(a,d,c)),d):4194304+(b&7)}function X(a,b){var c;b&56?0<=(c=W(a,b,2))&&(c=J(a,c)):c=a.a[b&7];return c}function Y(a,b){var c;b&56?0<=(c=W(a,b,3))&&(c=T(a,c)):c=a.a[b&7]&255;return c}function Z(a,b){return((b&128?b|65280:b&255)<<1)+a&65535}
m.Wb=function(a){this.h.complete=!0;this.h.$b=!1;this.h.Vb=!1;this.V=this.J=a;this.Jb&256?(Ab(this),a=!1):a=!0;if(a){do{var b,c,d,f,e;if(this.ja)if(1===this.ja)this.ja=2;else{this.ja=0;e=-1;b=this.pb&224;if(0<(a=this.i.length))for(;0<a--;){if(0<this.i[a].ea){this.i[a].ea--;this.ja=2;break}if(this.i[a].Mb){if(!this.i[a].Mb()){this.i.splice(a,1);e--;continue}this.i[a].Mb=null}this.i[a].ic>b&&(b=this.i[a].ic,e=a)}b>(this.m&224)&&(0>e?L(this,160):(L(this,this.i[e].uc),this.i.splice(e,1)))}this.F&57344||
(this.da=0,this.Xa=this.a[7]);this.u=this.m&16;if(0<=(a=R(this,this.a[7])))switch(this.a[7]=this.a[7]+2&65535,a&61440){case 4096:0<=(b=X(this,a>>6))&&(a&56?0<=(d=W(this,a,4))&&0<=I(this,d,b)&&(this.c=this.f=b,this.b=0):(this.c=this.f=this.a[a&7]=b,this.b=0));break;case 8192:0<=(b=X(this,a>>6))&&0<=(c=X(this,a))&&(this.c=this.f=this.g=a=b-c,this.b=(b^c)&(b^a));break;case 12288:0<=(b=X(this,a>>6))&&0<=(c=X(this,a))&&(this.c=this.f=b&c,this.b=0);break;case 16384:0<=(b=X(this,a>>6))&&(a&56?0<=(c=J(this,
d=W(this,a,6)))&&(a=c&~b,0<=I(this,d,a)&&(this.c=this.f=a,this.b=0)):(this.c=this.f=a=this.a[a&7]&=~b,this.b=0));break;case 20480:0<=(b=X(this,a>>6))&&(a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c|b,0<=I(this,d,a)&&(this.c=this.f=a,this.b=0)):(this.c=this.f=a=this.a[a&7]|=b,this.b=0));break;case 24576:0<=(b=X(this,a>>6))&&(a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=b+c,0<=I(this,d,a)&&(this.c=this.f=this.g=a,this.b=(b^a)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=b+c)&65535,this.c=this.f=this.g=a,this.b=(b^a)&
(c^a)));break;case 36864:0<=(b=Y(this,a>>6))&&(a&56?0<=(d=W(this,a,5))&&0<=U(this,d,b)&&(this.c=this.f=b<<8,this.b=0):(b&128&&(b|=65280),this.c=this.f=this.a[a&7]=b,this.b=0));break;case 40960:0<=(b=Y(this,a>>6))&&0<=(c=Y(this,a))&&(a=b-c,this.c=this.f=this.g=a<<8,this.b=((b^c)&(b^a))<<8);break;case 45056:0<=(b=Y(this,a>>6))&&0<=(c=Y(this,a))&&(this.c=this.f=(b&c)<<8,this.b=0);break;case 49152:0<=(b=Y(this,a>>6))&&0<=(c=T(this,d=W(this,a,7)))&&(a=c&~b,0<=U(this,d,a)&&(this.c=this.f=a<<8,this.b=0));
break;case 53248:0<=(b=Y(this,a>>6))&&0<=(c=T(this,d=W(this,a,7)))&&(a=c|b,0<=U(this,d,a)&&(this.c=this.f=a<<8,this.b=0));break;case 57344:0<=(b=X(this,a>>6))&&(a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c-b,0<=I(this,d,a)&&(this.c=this.f=this.g=a,this.b=(b^c)&(c^a))):(e=a&7,c=this.a[e],this.a[e]=(a=c-b)&65535,this.c=this.f=this.g=a,this.b=(b^c)&(c^a)));break;default:switch(a&65024){case 2048:0<=(f=V(this,a,0))&&(e=a>>6&7,0<=S(this,this.a[e])&&(this.a[e]=this.a[7],this.a[7]=f&65535));break;case 28672:0<=
(b=X(this,a))&&(e=a>>6&7,b&32768&&(b|=-65536),c=this.a[e],c&32768&&(c|=-65536),a=~~(b*c),this.a[e]=a>>16&65535,this.a[e|1]=a&65535,this.c=a>>16,this.f=this.c|a,this.g=this.b=0,-32768>a||32767<a)&&(this.g=65536);break;case 29184:0<=(b=X(this,a))&&(b?(e=a>>6&7,c=this.a[e]<<16|this.a[e|1],this.g=this.b=0,b&32768&&(b|=-65536),a=~~(c/b),-32768<=a&&32767>=a?(this.a[e]=a&65535,this.a[e|1]=c-a*b&65535,this.f=a>>16|a,this.c=a>>16):(this.b=32768,this.f=a>>15|a,this.c=c>>16,-1===b&&65534===this.a[e]&&(this.a[e]=
this.a[e|1]=1))):(this.f=this.c=0,this.b=32768,this.g=65536));break;case 29696:0<=(b=X(this,a))&&(e=a>>6&7,a=this.a[e],a&32768&&(a|=4294901760),this.g=this.b=0,b&=63,b&32?(b=64-b,16<b&&(b=16),this.g=a<<17-b,a=a>>b):b&&(16<b?(this.b=a,a=0):(this.g=a=a<<b,(c=a>>15&65535)&&65535!==c&&(this.b=32768))),this.a[e]=a&65535,this.c=this.f=a);break;case 30208:if(0<=(b=X(this,a))){e=a>>6&7;c=this.a[e]<<16|this.a[e|1];this.g=this.b=0;b&=63;if(b&32)b=64-b,32<b&&(b=32),a=c>>b-1,this.g=a<<16,a>>=1,c&2147483648&&
(a|=4294967295<<32-b);else if(b){if(a=c<<b-1,this.g=a>>15,a<<=1,32<b&&(b=32),c>>=32-b)c|=4294967295<<b&4294967295,4294967295!==c&&(this.b=32768)}else a=c;this.a[e]=a>>16&65535;this.a[e|1]=a&65535;this.c=a>>16;this.f=a>>16|a}break;case 30720:a&56?0<=(c=J(this,d=W(this,a,6)))&&(c^=this.a[a>>6&7],0<=I(this,d,c)&&(this.c=this.f=c,this.b=0)):(this.c=this.f=c=this.a[a&7]^=this.a[a>>6&7],this.b=0);break;case 32256:e=a>>6&7;if(this.a[e]=this.a[e]-1&65535)this.a[7]=this.a[7]-((a&63)<<1)&65535;break;default:switch(a&
65280){case 256:this.a[7]=Z(this.a[7],a);break;case 512:this.f&65535&&(this.a[7]=Z(this.a[7],a));break;case 768:this.f&65535||(this.a[7]=Z(this.a[7],a));break;case 1024:(this.c&32768)===(this.b&32768)&&(this.a[7]=Z(this.a[7],a));break;case 1280:(this.c&32768)!==(this.b&32768)&&(this.a[7]=Z(this.a[7],a));break;case 1536:this.f&65535&&(this.c&32768)===(this.b&32768)&&(this.a[7]=Z(this.a[7],a));break;case 1792:this.f&65535&&(this.c&32768)===(this.b&32768)||(this.a[7]=Z(this.a[7],a));break;case 32768:this.c&
32768||(this.a[7]=Z(this.a[7],a));break;case 33280:!(this.g&65536)&&this.f&65535&&(this.a[7]=Z(this.a[7],a));break;case 33024:this.c&32768&&(this.a[7]=Z(this.a[7],a));break;case 33536:if(this.g&65536||!(this.f&65535))this.a[7]=Z(this.a[7],a);break;case 33792:this.b&32768||(this.a[7]=Z(this.a[7],a));break;case 34048:this.b&32768&&(this.a[7]=Z(this.a[7],a));break;case 34304:this.g&65536||(this.a[7]=Z(this.a[7],a));break;case 34560:this.g&65536&&(this.a[7]=Z(this.a[7],a));break;case 34816:L(this,24);
break;case 35072:L(this,28);break;default:switch(a&65472){case 64:0<=(f=V(this,a,0))&&(this.a[7]=f&65535);break;case 192:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c<<8|c>>8,0<=I(this,d,a)&&(this.c=this.f=c&65280,this.b=this.g=0)):(e=a&7,c=this.a[e],this.a[e]=(c<<8|c>>8)&65535,this.c=this.f=c&65280,this.b=this.g=0);break;case 2560:a&56?0<=(d=W(this,a,4))&&0<=I(this,d,0)&&(this.c=this.g=this.b=this.f=0):this.c=this.g=this.b=this.f=this.a[a&7]=0;break;case 2624:0<=(c=J(this,d=W(this,a,6)))&&(a=~c,0<=I(this,
d,a)&&(this.c=this.f=a,this.g=65536,this.b=0));break;case 2688:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c+1,0<=I(this,d,a)&&(this.c=this.f=a,this.b=a&(a^c))):(e=a&7,c=this.a[e],a=c+1,this.a[e]=a&65535,this.c=this.f=a,this.b=a&(a^c));break;case 2752:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c-1,0<=I(this,d,a)&&(this.c=this.f=a,this.b=(a^c)&c)):(e=a&7,c=this.a[e],a=c-1,this.a[e]=a&65535,this.c=this.f=a,this.b=(a^c)&c);break;case 2816:0<=(c=J(this,d=W(this,a,6)))&&(a=-c,0<=I(this,d,a)&&(this.g=this.c=this.f=
a,this.b=a&c));break;case 2880:0<=(c=J(this,d=W(this,a,6)))&&(a=c+(this.g>>16&1),0<=I(this,d,a)&&(this.g=this.c=this.f=a,this.b=a&(a^c)));break;case 2944:0<=(c=J(this,d=W(this,a,6)))&&(a=c-(this.g>>16&1),0<=I(this,d,a)&&(this.g=this.c=this.f=a,this.b=(a^c)&c));break;case 3008:0<=(c=X(this,a))&&(this.c=this.f=c,this.g=this.b=0);break;case 3072:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=(this.g&65536|c)>>1,0<=I(this,d,a)&&(this.g=c<<16,this.c=this.f=a,this.b=a^this.g>>1)):(e=a&7,c=this.a[e],a=(this.g&65536|
c)>>1,this.a[e]=a&65535,this.g=c<<16,this.c=this.f=a,this.b=a^this.g>>1);break;case 3136:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c<<1|this.g>>16&1,0<=I(this,d,a)&&(this.g=this.c=this.f=a,this.b=a^c)):(e=a&7,c=this.a[e],a=c<<1|this.g>>16&1,this.a[e]=a&65535,this.g=this.c=this.f=a,this.b=a^c);break;case 3200:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c&32768|c>>1,0<=I(this,d,a)&&(this.g=c<<16,this.c=this.f=a,this.b=this.c^this.g>>1)):(e=a&7,c=this.a[e],a=c&32768|c>>1,this.a[e]=a&65535,this.g=c<<16,this.c=
this.f=a,this.b=this.c^this.g>>1);break;case 3264:a&56?0<=(c=J(this,d=W(this,a,6)))&&(a=c<<1,0<=I(this,d,a)&&(this.g=this.c=this.f=a,this.b=a^c)):(e=a&7,c=this.a[e],a=c<<1,this.a[e]=a&65535,this.g=this.c=this.f=a,this.b=a^c);break;case 3328:f=this.a[7]+((a&63)<<1)&65535;0<=(b=R(this,f|65536))&&(this.a[7]=this.a[5],this.a[5]=b,this.a[6]=f+2&65535);break;case 3392:a&56?0<=(f=V(this,a,0))&&(61440!==(this.m&61440)&&(f&=65535),this.j=this.m>>12&3,0<=(b=R(this,f))&&(this.j=this.m>>14&3,0<=S(this,b)&&(this.c=
this.f=b,this.b=0))):(e=a&7,b=6!==e||(this.m>>2&12288)===(this.m&12288)?this.a[e]:this.Y[this.m>>12&3],0<=S(this,b)&&(this.c=this.f=b,this.b=0));break;case 3456:0<=(c=Eb(this))&&((this.F&57344||(this.da=22),a&56)?0<=(f=V(this,a,0))&&(f&=65535,this.j=this.m>>12&3,0<=(d=Db(this,f,4))&&(this.j=this.m>>14&3,0<=I(this,d,c)&&(this.c=this.f=c,this.b=0))):(e=a&7,6!==e||(this.m>>2&12288)===(this.m&12288)?this.a[e]=c:this.Y[this.m>>12&3]=c,this.c=this.f=c,this.b=0));break;case 3520:0<=(d=W(this,a,4))&&(a=-(this.c>>
15&1),0<=I(this,d,a)&&(this.f=a,this.b=0));break;case 35328:a&56?0<=(d=W(this,a,5))&&0<=U(this,d,0)&&(this.c=this.g=this.b=this.f=0):(this.a[a&7]&=65280,this.c=this.g=this.b=this.f=0);break;case 35392:0<=(c=T(this,d=W(this,a,7)))&&(a=~c,0<=U(this,d,a)&&(this.c=this.f=a<<8,this.g=65536,this.b=0));break;case 35456:0<=(c=T(this,d=W(this,a,7)))&&(a=c+1,0<=U(this,d,a)&&(this.c=this.f=a<<8,this.b=(a&(a^c))<<8));break;case 35520:0<=(c=T(this,d=W(this,a,7)))&&(a=c-1,0<=U(this,d,a)&&(this.c=this.f=a<<8,this.b=
((a^c)&c)<<8));break;case 35584:0<=(c=T(this,d=W(this,a,7)))&&(a=-c,0<=U(this,d,a)&&(this.g=this.c=this.f=a<<8,this.b=(a&c)<<8));break;case 35648:0<=(c=T(this,d=W(this,a,7)))&&(a=c+(this.g>>16&1),0<=U(this,d,a)&&(this.c=this.f=this.g=a<<8,this.b=(a&(a^c))<<8));break;case 35712:0<=(c=T(this,d=W(this,a,7)))&&(a=c-(this.g>>16&1),0<=U(this,d,a)&&(this.c=this.f=this.g=a<<8,this.b=((a^c)&c)<<8));break;case 35776:0<=(c=Y(this,a))&&(this.c=this.f=c<<8,this.g=this.b=0);break;case 35840:0<=(c=T(this,d=W(this,
a,7)))&&(a=((this.g&65536)>>8|c)>>1,0<=U(this,d,a)&&(this.g=c<<16,this.c=this.f=a<<8,this.b=this.c^this.g>>1));break;case 35904:0<=(c=T(this,d=W(this,a,7)))&&(a=c<<1|this.g>>16&1,0<=U(this,d,a)&&(this.g=this.c=this.f=a<<8,this.b=(a^c)<<8));break;case 35968:0<=(c=T(this,d=W(this,a,7)))&&(a=c&128|c>>1,0<=U(this,d,a)&&(this.g=c<<16,this.c=this.f=a<<8,this.b=this.c^this.g>>1));break;case 36032:0<=(c=T(this,d=W(this,a,7)))&&(a=c<<1,0<=U(this,d,a)&&(this.g=this.c=this.f=a<<8,this.b=(a^c)<<8));break;case 36160:a&
56?0<=(f=V(this,a,0))&&(this.j=this.m>>12&3,0<=(b=R(this,f|65536))&&(this.j=this.m>>14&3,0<=S(this,b)&&(this.c=this.f=b,this.b=0))):(e=a&7,b=6!==e||(this.m>>2&12288)===(this.m&12288)?this.a[e]:this.Y[this.m>>12&3],0<=S(this,b)&&(this.c=this.f=b,this.b=0));break;case 36224:0<=(c=Eb(this))&&((this.F&57344||(this.da=22),a&56)?0<=(f=V(this,a,0))&&(this.j=this.m>>12&3,0<=(d=Db(this,f|65536,4))&&(this.j=this.m>>14&3,0<=I(this,d,c)&&(this.c=this.f=c,this.b=0))):(e=a&7,6!==e||(this.m>>2&12288)===(this.m&
12288)?this.a[e]=c:this.Y[this.m>>12&3]=c,this.c=this.f=c,this.b=0));break;default:switch(a&65528){case 128:0<=(b=Eb(this))&&(e=a&7,this.a[7]=this.a[e],this.a[e]=b);break;case 152:this.m&49152||(this.m=this.m&63519|(a&7)<<5,this.ja=1);break;case 160:case 168:a&1&&(this.g=0);a&2&&(this.b=0);a&4&&(this.f=1);a&8&&(this.c=0);break;case 176:case 184:a&1&&(this.g=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.c=32768);break;default:switch(a){case 0:49152&this.m?(this.o|=128,L(this,4)):(this.Ca=3,
Ab(this),console.log("HALT at "+this.a[7].toString(8)));break;case 1:e=0;if(0<(a=this.i.length))for(;0<a--;)e+=this.i[a].ea,this.i[a].ea=0;0===e&&0===this.Ca&&(this.Ca=2,Ab(this));break;case 3:L(this,12);break;case 4:L(this,16);break;case 5:this.m&49152||(Cb(this),this.v.reset());break;case 2:case 6:d=this.a[6];0<=(f=R(this,d|65536))&&(d=d+2&65535,0<=(b=R(this,d|65536))&&(this.a[6]=d+2&65535,b&=63743,this.m&49152&&(b=b&63519|this.m&63712),this.a[7]=f,this.Wa(b),this.u&=-17,2===a&&(this.u|=this.m&
16)));break;default:L(this,8)}}}}}}this.u&&(this.u&2?L(this,168):this.u&4?L(this,4):this.u&16&&L(this,12),this.u=0)}while(0<this.J)}return this.h.complete?this.V-this.J:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Bb(d);B(d,c)}});
function Fb(a){v.call(this,"ROM",a,Fb);this.b=null;this.s=a.addr;this.f=a.size;this.u=a.writable;this.g=a.alias;this.i=a.file;this.D=ba(this.i);if(this.i){a=this.i;var b=ca(this.D);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Gb(c,a,b,e)})}}y(Fb);Fb.prototype.Ga=function(a,b,c,d){this.v=b;this.c=c;this.H=d;Hb(this)};Fb.prototype.ua=function(){this.j&&(this.H&&this.H.c(this.id,this.s,this.f,this.j),delete this.j);return!0};
Fb.prototype.ta=function(){return!0};
function Gb(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Gb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,h,g=eval("("+c+")");if(e=g.bytes)a.b=e;else if(e=g.words)for(a.b=Array(2*e.length),h=f=0;f<e.length;f++)a.b[h++]=e[f]&255,a.b[h++]=e[f]>>8&255;else if(e=g.data)for(a.b=Array(4*e.length),h=f=0;f<e.length;f++)a.b[h++]=e[f]&255,a.b[h++]=e[f]>>8&255,a.b[h++]=e[f]>>16&255,a.b[h++]=e[f]>>24&255;else a.b=g;a.j=g.symbols;if(!a.b.length){q("Empty ROM: "+b);
return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.K("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Hb(a)}}
function Hb(a){if(!Ga(a))if(!a.i)D(a);else if(a.b&&a.v){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.K(b)}else{b=a.s;if(Pa(a.v,b,a.f,a.u?1:hb)){var c;for(c=0;c<a.b.length;c++){var d=a.v,f=b+c;d.b[(f&d.v)>>>d.f].Xb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.v,h=e.f,g=[],k=e.s>>>f.f;0<h&&
k<f.b.length;)g.push(f.b[k++]),h-=f.g;f=e.v;e=e.f;h=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=g[h++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}D(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Fb(d);B(d,c)}});function Ib(a){v.call(this,"RAM",a,Ib);this.g=a.addr;this.f=a.size;this.b=!1}y(Ib);m=Ib.prototype;m.Ga=function(a,b,c,d){this.v=b;this.c=c;this.H=d;D(this)};m.ua=function(a,b){b||this.reset();return!0};m.ta=function(a){return a?this.save():!0};
m.reset=function(){!this.b&&this.f&&Pa(this.v,this.g,this.f,1)&&(this.b=!0);this.b||q("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ib(d);B(d,c)}});function Jb(a){v.call(this,"Keyboard",a,Jb);D(this)}y(Jb);Jb.prototype.aa=function(){return!1};Jb.prototype.Ga=function(a,b,c,d){this.s=a;this.c=c;this.H=d;this.xa=null};
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Jb(d);B(d,c)}});
function Kb(a,b,c){v.call(this,"Computer",a,Kb);this.h.L=!1;Lb(this,b);this.J=sb(this,"autoPower",a);this.g=0;this.ba=a.busWidth||a.buswidth;this.b=Mb;this.D=null;this.s=this.V=!1;this.url=sb(this,"url")||"";(Math.random()+.1).toString(36);this.f=Nb(this);if(this.c=Ea("CPU",this.id)){this.H=Ea("Debugger",this.id);this.v=new E({id:this.Gb+".bus",busWidth:this.ba},this.c,this.H);var d,f=z(this.id);if((this.i=Ea("Panel",this.id))&&this.i.Ab)for(b=0;b<f.length;b++)d=f[b],d.K=this.i.K,d.X=this.i.X,d.Ab=
this.i.Ab;this.X("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.X("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ga&&d.Ga(this,this.v,this.c,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.u=d:this.b=parseInt(d,10));var e;if(a=sb(this,"state")||(e=!0,a.state))b=this.M=a,e||(this.s=!0,this.b=Mb),this.b&&(this.I=
new P(this,"1.30.0"),Ob(this.I)?b=null:delete this.I);!b&&this.b&&(b=Pb(this))&&(this.s=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.s=!1,h.K("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.D=b,h.V=!0);D(h)})}else D(this);this.A.power||(this.J=!0);!c&&this.J&&Qb(this,this.fb)}else q("Unable to find CPU component")}y(Kb);var Mb=0;
function Lb(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.W=b}function sb(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[d];void 0===d&&a.W&&(d=a.W[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Qb(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){Qb(a,b,c)});return}}b.call(a,c)}
function Rb(a,b){var c=new P(a,"1.30.0","validate");if(Ob(c)&&Sb(c)){var d=Tb(c,"timestamp"),f=b?Tb(b,"timestamp"):"unknown";d!=f&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Kb.prototype;
m.fb=function(a){void 0===a&&(a=this.b||(this.D?1:Mb));if(!this.g){this.g++;var b=!1,c=!1;this.P=!1;var d=this.I||new P(this,"1.30.0");if(-1==a)b=!0;else if(a>Mb){if(Ob(d,this.D)){this.j=new P(this,"1.30.0","failsafe");Ob(this.j)&&(Ub(this,d),a=2,Vb(this.j));Q(this.j,"timestamp",ia());Wb(this.j);var f=this.b&&!this.s;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Sb(d)){var e=Tb(d,"code"),h=Tb(d,"data");e&&("ok"==e?Ob(d,h):("error"==e&&
"no machine state"!=h?(this.K("Error: "+h),"unable to verify user"==h&&(na("user",""),this.f=null)):this.X(e+": "+h),Vb(d),Ob(d)?(c=Sb(d),f=!0):c=!1))}f&&Rb(this,c?d:null)}else 2==a&&d.clear()}else Rb(this);delete this.D;delete this.I}f=z(this.id);for(e=0;e<f.length;e++)h=f[e],h!==this&&h!=this.c&&(c=Xb(this,h,d,b,c));b=[d,a,c];-1!=a?Qb(this,this.Pb,b):this.Pb(b)}};
function Xb(a,b,c,d,f){if(!b.h.L){b.h.L=!0;if(b.ua){var e=null;f&&((e=Tb(c,b.id))||(e=Tb(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.ua(e,d)&&e&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=Mb,window&&window.location.reload()):a.P=!0,b.ua(null),f=!1)}if(!d&&b.Ib)for(a=b.Ib.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
m.Pb=function(a){var b=a[0],c=0>a[1];a=a[2];this.ca=!0;this.h.L=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.c&&(Xb(this,this.c,b,c,a),this.c.Za());this.P&&(Ub(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0};
function Ub(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"",d=b.toString(),f={app:"PDP11js",ver:"1.30.0"};f.url=a.url;f.user=c;f.type="bug";f.data=d;p("http://www.pcjs.org/api/v1/report",f,!0)}}
function Yb(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new P(a,"1.30.0"),h=new P(a,"1.30.0","validate"),g=ia();Q(h,"timestamp",g);Q(e,"timestamp",g);Q(e,"version","1.30.0");Q(e,"url",window?window.location.href:null);Q(e,"browser",window?window.navigator.userAgent:"");a.c&&a.c.ta&&(c&&O(a.c),d=a.c.ta(b,c),"object"===typeof d&&Q(e,a.c.id,d),c&&(a.c.h.L=!1,!1===d&&(f=null)));for(var g=z(a.id),k=0;k<g.length;k++){var l=g[k];l.h.L&&(l.ta&&(d=l.ta(b,c),"object"===typeof d&&Q(e,l.id,d)),c&&(l.h.L=
!1,!1===d&&(f=null)))}f&&(c?(g=d=!1,b?(a.f&&Zb(a,a.f,e.toString()),Wb(h)&&Wb(e)||(f=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&e.clear(g)):f=e.toString());c&&(a.h.L=!1,b=a.A.power)&&(b.textContent="Power");a.g=0;return f}m.reset=function(){this.v&&this.v.reset&&this.v.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
m.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
m.aa=function(a,b,c){var d=this;switch(b){case "power":return this.A[b]=c,c.onclick=function(){d.g||(d.h.L?Yb(d,!1,!0):Qb(d,d.fb))},!0;case "reset":return this.A[b]=c,c.onclick=function(){if(d.h.L&&!d.g)if(d.b&&!d.u){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Yb(d,a,!0);!a&&d.M?window&&window.location.reload():d.fb(Mb)}else d.reset(),d.c&&d.c.Za()},!0;case "save":if(da()){c.parentNode.removeChild(c);break}this.A[b]=
c;c.onclick=function(){var a=Nb(d,!0);if(a){var b=!!(d.b&&!d.u||d.M),c=Yb(d,b);b?Zb(d,a,c):d.K("Resume disabled, machine state not saved")}};return!0}return!1};
function Nb(a,b){var c=a.f;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=$b(a,c))||a.K("The user ID is invalid."))):b&&a.K("Browser local storage is not available"));return c}
function $b(a,b){a.f=null;var c=p(ea()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.f=c.data)}catch(f){q(f.message+" ("+d+")")}return a.f}function Pb(a){var b=null;a.f&&(b=ea()+"/api/v1/user?req=load&user="+a.f+"&state="+ac(a,"1.30.0"));return b}
function Zb(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ac(a,"1.30.0");d.data=c;b=p(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("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.K(c),na("user",""),a.f=null)}}
m.Ka=function(a){this.c&&this.c.Ka(a);this.i&&this.i.Ka(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],h=A(e),h=new Kb(h,d,!0);B(h,e);h.J&&Qb(h,h.fb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.ca&&!c.h.L&&c.fb(-1)}});
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.h.L&&Yb(c,!(!c.b||c.u),!0)}});function P(a,b,c){this.id=a.id;this.key=ac(a,b,c);this.H=a.H;Vb(this,a.dc)}function ac(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}
P.prototype={constructor:P,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Vb(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,1);c=0}}};
function Vb(a,b){a[a.id]={};b&&Q(a,"parms",b);a.c=!1}function Wb(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Sb(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Ob(a,b){return b?(a[a.id]=b,a.c=!0):a.c?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.c=!0):!1}function Tb(a,b){return a[a.id][b]||null}function Q(a,b,c){try{a[a.id][b]=c}catch(d){}}var bc=0;
function cc(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),e(g,null)):dc(g,a,b,c,d,f,e)})}
function dc(a,b,c,d,f,e,h){function g(a,e){if(e)h(e,null);else{if(c){Da(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$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?ec(a,e,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function ec(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(e=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,r=/( [a-z]+=)(['"])(.*?)\2/g;l=r.exec(e);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);ec(a,b,c)}})}else c(a,null)}
function fc(a,b,c,d){function f(a){if(void 0===g){var b=h&&C(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--bc||ua(!0));k=!1}var h,g,k=!0;bc++;Ca[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=l:w.appendChild(document.createTextNode(l));r.appendChild(w)}c||
(c="/versions/pdp11/1.30.0/components.xsl");l=function(d,g){g?cc(c,null,null,!1,f,function(d,k){if(k)if(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--bc||ua(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--bc||ua(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(d)}):e(d)};"<"!=b.charAt(0)?cc(b,a,d,!0,f,l):dc(b,null,a,d,!1,f,l)}else e("missing machine element: "+a)}catch(K){e(K.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return fc(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();