pcjs/docs/pcjs/examples/pc-dbg.js

813 lines
341 KiB
JavaScript

(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]};
function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
function da(a,b){var c="";void 0===b?b=32:32<b&&(b=32);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=(a&1?"1":"0")+c,a>>=1;return c}function ea(a,b){var c="";if(!b||4<b)b=4;for(var d=0;d<b;d++)c&&(c=","+c),c=da(a&255,8)+"b"+c,a>>=8;return c}function r(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)}
function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ga(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ja(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ka={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}
function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===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}var pa=Date.now||function(){return+new Date};
function qa(){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())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<<f.shift&f.mh}return c}function ta(a,b){return(b&a.mh)>>a.shift}
function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
function wa(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function ya(){return window?window.navigator.userAgent:""}function w(a){window&&window.alert(a)}function za(a){var b=!1;window&&(b=window.confirm(a));return b}var Ba=null;function Da(){if(null==Ba){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}Ba=a}return Ba}
function Ea(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Fa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ha(a){if(window){var b=ya();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}
function Ia(a,b,c,d){var e=null;b="data:application/"+b+(c?";base64":"")+",";Ha("Firefox")?(b+=c?a:encodeURIComponent(a),d&&(e=document.createElement("a"),"string"!=typeof e.download&&(e=null))):b+=c?a:encodeURI(a);e?(e.href=b,e.download=d,document.body.appendChild(e),e.click(),document.body.removeChild(e),a='Check your Downloads folder for "'+d+'"'):(window.open(b),a="Check your browser for a new window/tab containing the requested data");return a}
function Ja(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}function Ka(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}}var La={init:[],show:[],exit:[]},Ma=!1,Oa=!0;
function Pa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Qa(a){La.init.push(a)}function Ra(a){if(Oa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Sa(a){!Oa&&a?(Oa=!0,Ma&&Ta("init")):Oa=a}function Ta(a){La[a]&&Ra(La[a])}Pa("onload",function(){Ma=!0;Ra(La.init)});Pa("onpageshow",function(){Ra(La.show)});
Pa(Ha("Opera")||Ha("iOS")?"onunload":"onbeforeunload",function(){Ra(La.exit)});function Ua(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.uk=b.comment;this.hk=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.se=this.id.substr(0,b),this.be=this.id.substr(b+1)):this.be=this.id;this[a]=c;this.la={Ze:!1,bd:!1,ah:!1,ec:!1,ud:!1};this.rg=null;this.la.ud=!1;this.qa={};this.ha=null;this.xc=d||0;Va.push(this)}var Xa=void 0,Ya={};
if(window){Xa||(Xa=window.location.search.substr(1));for(var Za,$a=/\+/g,bb=/([^&=]+)=?([^&]*)/g;Za=bb.exec(Xa);)Ya[decodeURIComponent(Za[1].replace($a," "))]=decodeURIComponent(Za[2].replace($a," "))}function cb(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 db(a,b){b||(b=Ua);a.prototype=cb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Va=[],eb={};function fb(a,b,c){eb[a]&&b&&(eb[a][b]=c)}function gb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Va.length;b++){var d=Va[b];a&&d.id.indexOf(a)||c.push(d)}return c}function hb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Va.length;c++)if(Va[c].id===a)return Va[c]}return null}
function ib(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<Va.length;d++)if(c)c==Va[d]&&(c=null);else if(!(a!=Va[d].type||b&&Va[d].id.indexOf(b)))return Va[d]}return null}function kb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}function lb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=ib(d,a.id))&&(b=d.qa[b])&&a.Rb(null,c,b))}
function mb(a,b){for(var c=nb(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case "pcjs-binding":(h=kb(g))&&h.binding&&a.Rb(h.type,h.binding,g,h.value),l=k.length}}}}
function nb(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}
Ua.prototype={constructor:Ua,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Rb:function(a,b,c){switch(b){case "clear":return this.qa[b]||(this.qa[b]=c,c.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[b]||(this.Df=this.qa[b]=c,c.value="",this.O=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.Oa=function(a,b,c){this.O(a,"notice",c)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.be+": "+a)},Oa:function(a,b){b||w(a)},kc:function(){return this.la.ec=!0},jc:function(a,b){b&&(this.la.ec=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.xc),ob(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||z(a,c|0))&&a.ha.message(b,d)}
function z(a,b){if(a.ha){a===a.ha?b|=0:b=b||a.xc;var c=a.ha.xc&b;return!!b&&c===b||!!(c&a.ha.Hk)}return!1}function pb(a,b){if(a.la.ah)return a.la.bd&&(a.la.bd=!1),a.la.ah=!1;if(a.la.ud)return a.O(a.toString()+" error"),!1;a.la.bd=b;return a.la.bd}function qb(a,b){a.la.bd&&(b?a.la.ah=!0:void 0===b&&a.O(a.toString()+" busy"));return a.la.bd}function sb(a,b){if(!a.la.ud&&(a.la.Ze=!1!==b,a.la.Ze)){var c=a.rg;a.rg=null;c&&c()}}function tb(a,b){b&&(a.la.Ze?b():a.rg=b);return a.la.Ze}
function ub(a,b){a.la.ud=!0;a.Oa(b)}
var vb="undefined"!==typeof ArrayBuffer,wb={Dg:4,Jc:5,Id:6,ed:7,fd:8,hb:9,gc:11,hc:12,Fe:4,aj:60,bj:83,zc:3,Wb:9,Mc:16,Cg:1,fj:19,hj:28,jj:16,ij:21,gj:37,dj:2,zh:9,ej:5,cj:33,Bh:10,Ah:8,Qf:3,Pf:15,xj:51,yj:1,zj:2,Aj:4,wj:32,Ch:15,Cj:15,$a:16,ab:4,Ej:11,Dj:18,Bj:24,ic:4,Fj:2,lf:16,Gj:17,Hh:18,Hj:19,Gh:5,Ih:6,Mj:2,Lj:8,Jj:9,Kj:10,Ij:10,Jh:10,Kh:10,lj:80,nj:144,kj:86,mj:154,pj:101,rj:165,oj:107,qj:171,Oj:70,Qj:113,Nj:76,Pj:124,tj:80,vj:128,sj:86,uj:134,Sf:3,Rf:16,Ph:10,Oh:8,Rj:51,Ac:8,Sj:17,Tj:36,Rc:11,
Uj:16,Ge:10,nd:2,wh:18,xh:7,yh:15,Dh:12,Eh:7,Fh:11,Lh:18,Mh:7,Nh:15,Qh:15,Rh:7,Sh:13,Wh:11,Xh:7,Yh:8,Vj:8,Yj:12,Wj:18,Xj:17,Zj:15,Uh:8,Th:20,Vh:2,ai:3,Tf:9,$h:5,Zh:11,ci:4,bi:17,$j:11},xb={Dg:0,Jc:0,Id:0,ed:0,fd:0,hb:0,gc:1,hc:1,Fe:3,aj:14,bj:16,zc:2,Wb:7,Mc:7,Cg:0,fj:7,hj:13,jj:7,ij:11,gj:16,dj:3,zh:6,ej:2,cj:13,Bh:5,Ah:5,Qf:2,Pf:7,xj:23,yj:0,zj:1,Aj:3,wj:17,Ch:7,Cj:11,$a:7,ab:3,Ej:7,Dj:11,Bj:15,ic:2,Fj:3,lf:7,Gj:8,Hh:8,Hj:8,Gh:4,Ih:4,Mj:2,Lj:3,Jj:5,Kj:2,Ij:3,Jh:5,Kh:3,lj:14,nj:22,kj:17,mj:25,pj:17,
rj:25,oj:20,qj:28,Oj:13,Qj:21,Nj:16,Pj:24,tj:13,vj:21,sj:16,uj:24,Sf:2,Rf:7,Ph:5,Oh:5,Rj:19,Ac:5,Sj:5,Tj:17,Rc:3,Uj:5,Ge:3,nd:0,wh:8,xh:5,yh:9,Dh:5,Eh:5,Fh:4,Lh:5,Mh:5,Nh:4,Qh:7,Rh:5,Sh:8,Wh:3,Xh:4,Yh:3,Vj:11,Yj:11,Wj:15,Xj:15,Zj:7,Uh:5,Th:8,Vh:0,ai:2,Tf:6,$h:3,Zh:6,ci:3,bi:5,$j:5},yb={19:{0:"disk reset",1:"get status",2:"read drive @DL (@CH:@DH:@CL,@AL) into @ES:@BX",3:"write drive @DL (@CH:@DH:@CL,@AL) from @ES:@BX",4:"verify drive @DL (@CH:@DH:@CL,@AL)",5:"format drive @DL using @ES:@BX",8:"read drive @DL parameters",
21:"get drive @DL DASD type",22:"get drive @DL change line status",23:"set drive @DL DASD type",24:"set drive @DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait @CX:@DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait @CX:@DXus",135:"move block (@CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},33:{0:"terminate program",1:"read character (AL) from stdin with echo",
2:"write character #@DL to stdout",3:"read character (AL) from stdaux",4:"write character #@DL to stdaux",5:"write character #@DL to stdprn",6:"direct console output (input if @DL=FF)",7:"direct console input without echo",8:"read character (AL) from stdin without echo",9:"write string $@DS:@DX to stdout",10:"buffered input (DS:DX)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive @DL",15:"open file using FCB ^@DS:@DX",16:"close file using FCB ^@DS:@DX",
17:"find first matching file using FCB ^@DS:@DX",18:"find next matching file using FCB ^@DS:@DX",19:"delete file using FCB ^@DS:@DX",20:"sequential read from file using FCB ^@DS:@DX",21:"sequential write to file using FCB ^@DS:@DX",22:"create or truncate file using FCB ^@DS:@DX",23:"rename file using FCB ^@DS:@DX",25:"get current default drive (AL)",26:"set disk transfer area (DTA=@DS:@DX)",27:"get allocation information for default drive",28:"get allocation information for specific drive @DL",31:"get drive parameter block for default drive",
33:"read random record from file using FCB ^@DS:@DX",34:"write random record to file using FCB ^@DS:@DX",35:"get file size using FCB ^@DS:@DX",36:"set random record number for FCB ^@DS:@DX",37:"set address @DS:@DX of interrupt vector @AL",38:"create new PSP at segment @DX",39:"random block read from file using FCB ^@DS:@DX",40:"random block write to file using FCB ^@DS:@DX",41:"parse filename $@DS:@SI into FCB @ES:@DI using @AL",42:"get system date (year=CX, mon=DH, day=DL)",43:"set system date (year=@CX, mon=@DH, day=@DL)",
44:"get system time (hour=CH, min=CL, sec=DH, 100ths=DL)",45:"set system time (hour=@CH, min=@CL, sec=@DH, 100ths=@DL)",46:"set verify flag @AL",47:"get disk transfer area (DTA=ES:BX)",48:"get DOS version (AL=major, AH=minor)",49:"terminate and stay resident",50:"get drive parameter block (DPB=DS:BX) for drive @DL",51:"extended break check",52:"get address (ES:BX) of InDOS flag",53:"get address (ES:BX) of interrupt vector @AL",54:"get free disk space of drive @DL",55:"get(0)/set(1) switch character @DL (@AL)",
56:"get country-specific information",57:"create subdirectory $@DS:@DX",58:"remove subdirectory $@DS:@DX",59:"set current directory $@DS:@DX",60:"create or truncate file $@DS:@DX with attributes @CX",61:"open file $@DS:@DX with mode @AL",62:"close file @BX",63:"read @CX bytes from file @BX into buffer @DS:@DX",64:"write @CX bytes to file @BX from buffer @DS:@DX",65:"delete file $@DS:@DX",66:"set position @CX:@DX of file @BX relative to @AL",67:"get(0)/set(1) attributes @CX of file $@DS:@DX (@AL)",
68:"get device information (IOCTL)",69:"duplicate file handle @BX",70:"force file handle @CX to duplicate file handle @BX",71:"get current directory (DS:SI) for drive @DL",72:"allocate memory segment with @BX paragraphs",73:"free memory segment @ES",74:"resize memory segment @ES to @BX paragraphs",75:"load program $@DS:@DX using parameter block @ES:@BX",76:"terminate with return code @AL",77:"get return code (AL)",78:"find first matching file $@DS:@DX with attributes @CX",79:"find next matching file",
80:"set current PSP @BX",81:"get current PSP (bx)",82:"get system variables (ES:BX)",83:"translate BPB @DS:@SI to DPB (ES:BP)",84:"get verify flag (AL)",85:"create child PSP at segment @DX",86:"rename file $@DS:@DX to $@ES:@DI",87:"get(0)/set(1) file @BX date @DX and time @CX (@AL)",88:"get(0)/set(1) memory allocation strategy (@AL)",89:"get extended error information",90:"create temporary file $@DS:@DX with attributes @CX",91:"create file $@DS:@DX with attributes @CX",92:"lock(0)/unlock(1) file @BX region @CX:@DX length @SI:@DI (@AL)",
93:"critical error information (@AL)",96:"get fully-qualified filename from $@DS:@SI",99:"get lead byte table (@AL)",108:"extended open file $@DS:@SI"},65:{79:"check debugger loaded"}};function zb(a){Ua.call(this,"Panel",a,zb);this.L=this.V=this.fa=-1}db(zb);function Ab(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}
Ab.prototype.toString=function(){this.B||(this.B="#"+r(this.A[0],2)+r(this.A[1],2)+r(this.A[2],2));return this.B};function Bb(a,b,c,d){this.x=a;this.y=b;this.ad=c;this.A=d}Bb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.ad&&b>=this.y&&b<this.y+this.A};function Db(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype;
m.Rb=function(a,b,c,d){return this.da&&this.da.Rb(a,b,c,d)||this.F&&this.F.Rb(a,b,c,d)||this.B&&this.B.Rb(a,b,c,d)||this.ha&&this.ha.Rb(a,b,c,d)?!0:this.parent.Rb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.kc=function(a,b){b||Fb();return!0};m.jc=function(){return!0};m.ge=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)};
function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.fa?b=a.V:2==a.fa&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Ne)for(f=0;f<a.A.Ne.length;f++)if(e=a.A.Ne[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Af[f],g=ta(Hb.ak,a.A.Rg[d.Rk]),f=g*a.ea.Ob,d=(g+d.Qd)*a.ea.Ob-1;0<b&&(f+=e.ad*(b-1)*a.za);f+=c*a.za;f|=0;
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ba)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].pe(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.pb,a.tb,a.Pa,a.bb)}a.Ba=
c}}}m.pd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Bi++]={Rk:b,Qd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Na=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")}
function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Vb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Na,a.U+=(a.W+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=kb(d),f=hb(e.id);f||(a=!0,f=new zb(e));mb(f,d);a&&sb(f)}}Qa(Fb);
function Lb(a,b,c){Ua.call(this,"Bus",a,Lb);this.F=b;this.ha=c;this.N=a.buswidth||20;this.W=Math.pow(2,this.N);this.wg=this.Gb=this.W-1|0;this.La=32==this.N||20>=this.N?12:24>=this.N?14:15;this.Ob=1<<this.La;this.ga=this.Ob>>2;this.A=this.Ob-1;this.U=this.W/this.Ob|0;this.ea=this.U-1;this.B=[];this.C=[];this.da=this.V=!1;this.Y=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b<this.U;b++)this.sa[b]=a;a=this.F;b=this.sa;c=this.La;a.kd=a.sa=b;a.La=c;a.Ob=1<<a.La;a.Fa=a.Ob-1;a.Fd=b.length;
a.jd=a.Fd-1;a=this.F;a.Gb=a.tb=this.Gb;sb(this)}db(Lb);var Hb,Nb={ak:20,count:8,mo:1,type:3},Ob=0,Pb;for(Pb in Nb){var Qb=Nb[Pb];Nb[Pb]={mh:(1<<Qb)-1<<Ob,shift:Ob};Ob+=Qb}Hb=Nb;m=Lb.prototype;m.reset=function(){Rb(this,!0)};m.kc=function(a,b){b||this.reset();return!0};
function Tb(a,b,c,d,e){for(var f=b>>>a.La;0<c&&f<a.sa.length;){var g=a.sa[f],h=f*a.Ob,k=c>a.Ob?a.Ob:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Le+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Le){k=g.size-(b-h);k>c&&(k=c);g.Le=b-g.Da+k;c-=k;b=h+a.Ob;continue}}return Ub(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Ob,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Ob;c-=k}return 0>=c?(Vb(a.F),!0):Ub(a,2,b,c)}
function Rb(a,b){if(32==a.N)b?a.L&&(Wb(a,1048576,1048576,a.L),a.L=null):a.L||(a.L=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20<a.N){var c=a.Gb&-1048577|(b?1048576:0);if(c!=a.Gb&&(a.Gb=c,a.F)){var d=a.F;d.Gb=d.tb=c}}}m.Mg=function(a,b,c,d){if(!(a&this.A||!b||b&this.A)){for(var e=a>>>this.La;0<b;){var f=this.sa[e];if(!f.controller)return Ub(this,3,a,b,d);Yb(f,c,!0);b-=this.Ob;e++}return!0}return Ub(this,4,a,b)};
function Zb(a,b,c){if(!(b&a.A||!c||c&a.A)){for(var d=b>>>a.La;0<c;){var e=a.sa[d];b=new B(b);Mb(b,a.ha,e);a.sa[d++]=b;b=d*a.Ob;c-=a.Ob}Vb(a.F);return!0}return Ub(a,5,b,c)}function Xb(a,b,c){var d=[];for(b>>>=a.La;0<c&&b<a.sa.length;)d.push(a.sa[b++]),c-=a.Ob;return d}
function Wb(a,b,c,d,e){for(var f=0,g=b>>>a.La;0<c&&g<a.sa.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new B(b),l=k,n=e,q=a.ha;l.id=h.id|1;l.Le=h.Le;l.size=h.size;n&&(l.type=n,l.N=n==$b);vb?(l.L=h.L,l.qa=h.qa,l.Xa=h.Xa,l.ce=h.ce,l.ca=h.ca,Yb(l,ac?bc:cc)):(l.ca=h.ca,Yb(l,dc));Mb(l,q,h);h=k}a.sa[g++]=h;c-=a.Ob}}m.Qa=function(a){return this.sa[(a&this.Gb)>>>this.La].lc(a&this.A,a)};
m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].pf(b,a):this.sa[c++].lc(b,a)|this.sa[c&this.ea].lc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].pe(c,b)|a.sa[d&a.ea].pe(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b<this.A-2)return this.sa[c].Kd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;)d|=this.sa[c].lc(b++,a++)<<f,--g||(c=c+1&this.ea,b=0),f+=8;return d};
m.tc=function(a,b){this.sa[(a&this.Gb)>>>this.La].vc(a&this.A,b&255,a)};m.ib=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].wf(c,b&65535,a):(this.sa[d++].vc(c,b&255,a),this.sa[d&this.ea].vc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].pi(d,c&65535,b):(a.sa[e++].uf(d,c&255,b),a.sa[e&a.ea].uf(0,c>>8&255,b+1))}
m.mb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c<this.A-2)this.sa[d].vf(c,b);else for(var e=4,f=4-(c&3);e--;)this.sa[d].vc(c++,b&255,a++),--f||(d=d+1&this.ea,c=0),b>>>=8};m.Ti=function(){return null};function gc(a,b){if(void 0===b)return a.da=!a.da,a.da;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}
function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.B[b],h=a.Y[b]||1,k=1==h?255:2==h?65535:-1,l=k;void 0!==g?(g[0]&&(l=g[0](b,d),void 0===l?l=k:l&=k),a.ha&&a.da!=g[1]&&jc(a.ha,b,l)):a.ha&&(ob(a.ha,a,b,null,d),a.da&&jc(a.ha,b,l));e|=l<<f;f+=h<<3;b+=h;c-=h}return e}
function kc(a,b){if(void 0===b)return a.V=!a.V,a.V;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}function lc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.C[k]?w("Output port "+u(k)+" already registered"):f.C[k]=[h,!1]}}
function mc(a,b,c,d,e){for(var f=0;0<c;){var g=a.C[b],h=a.fa[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.V&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Ub(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc;
function B(a,b,c,d,e,f){this.id=qc+=2;this.ca=null;this.C=0;this.Da=a;this.Le=b;this.size=c||0;this.type=d||vc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Va=this.Oi=!1;if(c)if(e)this.controller=e,a=e.Si(a),this.ca=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.L=new ArrayBuffer(c),this.qa=new DataView(this.L,0,c),this.Xa=new Uint8Array(this.L,0,c),this.ce=new Uint16Array(this.L,0,c>>1),this.ca=new Int32Array(this.L,0,c>>2),Yb(this,ac?bc:cc);else{this.ca=Array(c>>2);for(e=0;e<this.ca.length;e++)this.ca[e]=
0;Yb(this,dc)}else Yb(this)}var vc=0,$b=2,wc="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),xc=["black","blue","green","cyan"],qc=0;function yc(a){vb&&!ac&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.qa.getInt32(b<<2,!0);else a=this.ca;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(vb)for(b=0;b<a.length;b++)this.qa.setInt32(b<<2,a[b],!0);else this.ca=a;return this.Va=!0}return!1},Od:function(a,b,c){b?0===this.Se++&&(c&&(this.F=c),Bc(this,Ac,!1)):0===this.Re++&&
(c&&(this.F=c),zc(this,Ac,!1))},ia:function(){this.ha&&z(this.ha,129)&&this.ha.message("attempt to read invalid block %"+r(this.Da),!0);return 255},da:function(a,b){this.ha&&z(this.ha,129)&&this.ha.message("attempt to write "+u(b)+" to invalid block %"+r(this.Da),!0)},ka:function(a,b){return this.lc(a++,b++)|this.lc(a,b)<<8},fa:function(a,b){return this.lc(a++,b++)|this.lc(a++,b++)<<8|this.lc(a++,b++)<<16|this.lc(a,b)<<24},W:function(a,b,c){this.vc(a++,b&255,c++);this.vc(a,b>>8,c)},U:function(a,b,
c){this.vc(a++,b&255,c++);this.vc(a++,b>>8&255,c++);this.vc(a++,b>>16&255,c++);this.vc(a,b>>>24,c)},Fa:function(a){return this.ca[a>>2]>>>((a&3)<<3)&255},qb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b]>>a;return 24>a?c&65535:c&255|(this.ca[b+1]&255)<<8},Za:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b];a&&(c=c>>>a|this.ca[b+1]<<32-a);return c},dc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ca[c]=this.ca[c]&~(255<<d)|b<<d;this.Va=!0},td:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ca[c]=this.ca[c]&
~(65535<<d)|b<<d:(this.ca[c]=this.ca[c]&16777215|b<<24,c++,this.ca[c]=this.ca[c]&-256|b>>8);this.Va=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.ca[c]=this.ca[c]&~e|b<<d;c++;this.ca[c]=this.ca[c]&e|b>>>32-d}else this.ca[c]=b;this.Va=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.pe(a,b)},pb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&&
null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},Yb:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.da(a,b,c):this.uf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.da(a,b,c):this.pi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.da(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.zb.ca[this.A]|=
this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.lc(a,b)},Ib:function(a,b){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.pf(a,b)},eb:function(a,b){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.Kd(a,b)},Uc:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.V;this.Bd.vc(a,b,c)},Fd:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.V;this.Bd.wf(a,b,c)},jd:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=
this.V;this.Bd.vf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).lc(a,b)},Kb:function(a,b){return Fc(this.F,b,!1).pf(a,b)},fb:function(a,b){return Fc(this.F,b,!1).Kd(a,b)},be:function(a,b,c){Fc(this.F,c,!0).vc(a,b,c)},Gd:function(a,b,c){Fc(this.F,c,!0).wf(a,b,c)},se:function(a,b,c){Fc(this.F,c,!0).vf(a,b,c)},Ba:function(a){return this.Xa[a]},Y:function(a){return this.Xa[a]},Ia:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.lc=this.Y;return this.Xa[a]},Vb:function(a){return this.qa.getUint16(a,
!0)},pa:function(a){return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},tb:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.pf=this.pa;return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Na:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>>2]},bb:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.Kd=this.ga;return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>>
2]},Sb:function(a,b){this.Xa[a]=b;this.Va=!0},ra:function(a,b){this.Xa[a]=b;this.Va=!0},oc:function(a,b){this.Xa[a]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.vc=this.ra;this.Bd.Va=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Va=!0},za:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.Va=!0},Ed:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.wf=this.za;this.Bd.Va=!0},Vc:function(a,b){this.qa.setInt32(a,
b,!0);this.Va=!0},wa:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.Va=!0},hd:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.vf=this.wa;this.Bd.Va=!0}};function Mb(a,b,c){a.ha=b;a.Re=a.Se=0;c&&(c.F&&(a.F=c.F),(a.Re=c.Re)&&zc(a,Ac,!1),(a.Se=c.Se)&&Bc(a,Ac,!1))}
function Gc(a,b){b?0===--a.Se&&(a.vc=a.N?a.da:a.uf,a.wf=a.N?a.W:a.pi,a.vf=a.N?a.U:a.ua):0===--a.Re&&(a.lc=a.pe,a.pf=a.cg,a.Kd=a.ii)}function Bc(a,b,c){c&&a.Se||(a.vc=!a.N&&b[3]||a.da,a.wf=!a.N&&b[4]||a.W,a.vf=!a.N&&b[5]||a.U);if(c||void 0===c)a.uf=b[3]||a.da,a.pi=b[4]||a.W,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Re||(a.lc=b[0]||a.ia,a.pf=b[1]||a.ka,a.Kd=b[2]||a.fa);if(c||void 0===c)a.pe=b[0]||a.ia,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa}
function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.qb,B.prototype.Za,B.prototype.dc,B.prototype.td,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.pb,B.prototype.Pa,B.prototype.Yb,B.prototype.sd,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Ib,B.prototype.eb,B.prototype.Uc,B.prototype.Fd,B.prototype.jd],Hc=[B.prototype.Ka,B.prototype.Kb,B.prototype.fb,B.prototype.be,B.prototype.Gd,B.prototype.se];
if(vb)var cc=[B.prototype.Ba,B.prototype.Vb,B.prototype.Na,B.prototype.Sb,B.prototype.qd,B.prototype.Vc],bc=[B.prototype.Y,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.za,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.tb,B.prototype.bb,B.prototype.oc,B.prototype.Ed,B.prototype.hd];
function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.X={};this.X.Hd=c;this.X.Ud=d;this.X.tg=Math.round(this.X.Hd/1E4)/100;this.X.De=this.X.tg*this.X.Ud;this.la.Jb=!1;this.la.eh=!1;this.la.Li=a.autoStart;this.la.Pi=!1;this.la.We=!1;this.X.If=this.X.gf=0;this.X.Jf=a.csStart;this.X.ff=a.csInterval;this.X.hf=a.csStop;this.hd=[];this.ri=this.Ie.bind(this);sb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype;
m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.ha=d;for(b=0;b<Mc.length;b++)(c=this.qa[Mc[b]])&&this.da.Rb(null,Mc[b],c);this.Vb=Eb(a,"FPU");for(b=null;b=Eb(a,"Video",b);)this.hd.push(b);this.N=Eb(a,"ChipSet");a=Nc(a,"autoStart");null!=a&&(this.la.Li="true"==a?!0:"false"==a?!1:!!a);sb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.kc=function(a,b){if(!b){if(a&&this.restore){Oc(this);if(!this.restore(a))return!1;Qc(this)}else this.reset();this.ha?this.ha.hh():this.O("No debugger detected")}Tc(this);return!0};m.jc=function(a){return a?this.save():!0};function Uc(a){(a.la.Li||!a.ha&&void 0===a.qa.run)&&a.Ie(!0)}m.Ri=function(){return 0};function Qc(a){void 0===a.X.Jf&&(a.X.Jf=0);void 0===a.X.ff&&(a.X.ff=-1);void 0===a.X.hf&&(a.X.hf=-1);a.la.We=0<=a.X.Jf&&0<a.X.ff;a.la.We&&(a.X.If=0,a.X.gf=a.X.Jf-a.dc)}
function Vc(a,b){if(a.la.We){var c=!1;a.X.If=a.X.If+a.Ri()|0;a.X.gf-=b;0>=a.X.gf&&(a.X.gf+=a.X.ff,c=!0);0<=a.X.hf&&a.X.hf<=Wc(a)&&(a.X.ff=a.X.hf=-1,Qc(a),a.Xb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.X.If))}}m.pd=function(){this.da&&this.da.Xd&&this.da.Xd.pd()};
function Xc(a,b){for(var c=0;c<a.hd.length;c++)Yc(a.hd[c],b);if(a.da&&a.da.Xd&&(c=a.da.Xd,c.Ja)){Ib(c,18,c.Y,c.Ia);if(c.fb){var d=c.ea,e=c.A,f,g;null==f&&(f=0);null==g&&(g=d.W-f|0);null==e&&(e={$g:0,Qd:0,Rg:[]});var h=f>>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Qd=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Qd++),h++;c.A=e;c.za=c.A.Qd*c.ea.Ob/691200;d=0;c.A.Bi=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f<c.A.Qd;f++){var l=c.A.Rg[f];g=ta(Hb.type,l);l=ta(Hb.ak,l);if(g!=e||
l!=k+1)(k=f-h)&&(d+=Kb(c,h,k,e)),e=g,h=f;k=l}d+=Kb(c,h,f-h,e);e=c.A.Lk!=d;c.A.Lk=d;if(e){e=new Bb(0,0,c.Y.width,c.Y.height);c.A.Ne=[];h=c.A.Qd;for(d=0;d<c.A.Bi;d++)f=c.A.Af[d].Qd,c.A.Ne.push(Db(e,f,h,!d)),h-=f;for(d=0;d<c.A.Ne.length;d++)e=c.A.Af[d],h=f=c.A.Ne[d],g=c.Ia,(k=xc[e.type])||(k=new Ab),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.ad,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.ad,h.A),h=c,g=f,h.ga=h.ua,h.W=h.wa,f=g.x+(g.ad>>1),k=g.y+(g.A>>1),l=g.A,g.ad<g.A&&(l=
g.ad,h.ra=!0,h.N.save(),h.N.translate(f,k),h.N.rotate(-Math.PI/2),f=k=0),l<h.W&&(h.W=l,h.ga=h.W+"px Monaco, Lucida Console, Courier New"),g=k,h.C=f,h.U=g,h=c,e=wc[e.type]+" ("+(e.Qd*c.ea.Ob/1024|0)+"Kb)",h.N.font=h.ga,h.C-=h.N.measureText(e).width>>1,h.U+=(h.W>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.Y,0,0,c.Y.width,c.Y.height,c.qb,c.Ib,c.Za,c.eb);c.Ja=!1}}
m.Tc=function(a){if(this.hd.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);this.hd[0].Tc();a&&window&&window.scrollTo(b,c)}};
m.Rb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.da)if(a=d.da,a.la.ec)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.la.Ze);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.la.ec);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.la.Ze?"powered yet":"ready yet"+(b.rg?" (waiting for notification)":""))+".");a=!1}a&&(d.la.Jb?d.Xb(!0):d.Ie(!0))};
a=!0;break;case "speed":this.qa[b]=c;a=!0;break;case "setSpeed":this.qa[b]=c,c.onclick=function(){Zc(d,d.X.Ud<<1,!0)},c.textContent=this.X.De.toFixed(2)+"Mhz",a=!0}return a};function $c(a,b){if(a.la.Jb){var c=a.A-b;a.A-=c;a.eb-=c}}function ad(a,b,c){a.dc+=b;c&&(a.eb=a.A=0)}
function bd(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.X.Ud&&a.X.me&&(d=a.X.me/a.X.tg);a.X.Yi=Math.round(1E3/30);a.X.km=Math.floor(a.X.Hd/c*d);a.X.rh=Math.floor(a.X.Hd/30*d);a.X.$i=Math.floor(a.X.Hd/60*d);a.X.Zi=Math.floor(a.X.Hd/2*d);b||(a.X.jf=a.X.rh,a.X.Lf=a.X.$i,a.X.Kf=a.X.Zi);a.X.sh=0}function Wc(a,b){var c=a.dc+a.Kb+a.eb-a.A;b&&1<a.X.Ud&&a.X.me>a.X.tg&&(c=Math.round(c/a.X.Ud));return c}function Oc(a){a.X.me=0;a.dc=a.Kb=a.eb=a.A=0;Qc(a);Zc(a,1)}
function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.X.me/a.X.De?b=1:d=!0;a.X.Ud=b;b=a.X.tg*a.X.Ud;if(a.X.De!=b){a.X.De=b;b=a.X.De.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.Tc()}ad(a,a.Kb);a.Kb=0;a.X.ef=pa();a.X.Ee=0;bd(a);return d}
m.Ie=function(a){if(pb(this,!0)){if(!this.la.Jb){Zc(this);this.da&&this.da.start(this.X.ef,Wc(this));this.la.Jb=!0;this.la.eh=!0;this.N&&cd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.pd(!0);a&&this.Tc(!0)}this.X.sh>=this.X.Hd&&bd(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.Ee&&(a=this.X.ug-this.X.Ee,a>this.X.Yi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.km;if(this.N){dd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.ye){var f=(Wc(d.F,d.ra)-
e.xd)/d.tb|0,g=ed(d,0)-f;6==e.mode&&(g-=f);var h=g*d.tb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.Ba-Wc(k.F,k.ra);0<l&&a>l&&(a=l)}c=a}try{this.tf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.eb-this.A;this.Kb+=n;this.X.Mf+=n;ad(this,0,!0);Vc(this,n);this.X.Lf-=n;0>=this.X.Lf&&(this.X.Lf+=this.X.$i,Xc(this));this.X.Kf-=n;0>=this.X.Kf&&(this.X.Kf+=this.X.Zi,this.pd());this.X.jf-=n;if(0>=this.X.jf){this.X.jf+=this.X.rh;break}}while(this.la.Jb)}catch(q){this.Xb();
Tc(this);this.da&&this.da.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.ri;this.X.Ee=pa();e=this.X.Yi;this.X.Mf&&(e=Math.round(e*this.X.Mf/this.X.rh));e-=this.X.Ee-this.X.ug;if(f=this.X.Ee-this.X.ef)this.X.me=Math.round(this.Kb/(10*f))/100,864E5<=f&&(this.dc=0,this.N&&dd(this.N,!0),Zc(this));if(0>e||this.X.me<this.X.De)e=0;this.X.sh+=this.X.Mf;this.X.Ee+=e;c(d,e)}else Tc(this),this.da&&this.da.stop(pa(),Wc(this))};m.tf=function(){return 0};
m.Xb=function(a){qb(this,!0);this.eb-=this.A;this.A=0;ad(this,this.Kb);this.Kb=0;if(this.la.Jb){this.la.Jb=!1;this.N&&cd(this.N);var b=this.qa.run;b&&(b.textContent="Run")}this.la.Sd=a};function Tc(a,b){Xc(a,b);a.pd()}
function fd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.nc=c||"";this.Z=0;this.Ta=65535;this.ac=this.Ta+1;this.Mb=this.Gc=this.ext=this.xb=this.type=this.Aa=0;this.Zb=-1;this.aa=this.Nc=2;this.R=this.Ca=65535;this.L=this.lh;this.ea=this.Ei;this.qa=this.Gi;this.A={Z:-1,Aa:0,Ta:0,xb:0,type:0,ext:0,Zb:-1};1==this.id&&(this.Wf=0,this.C=null,this.af=!1,this.N=Array(32),this.B=[]);gd(this,!0,d)}function hd(a,b){a.B.push(b);return[a.B.length,1]}m=fd.prototype;
m.lh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.sg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Cc.Aa,d=c+e.Cc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,id(this,c,a,b);6>this.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Lc+(a<<2);var c=b.na(a);b.ba&=-769;return this.load(b.na(a+2))+c|0};
m.fm=function(a){var b=this.F;a<<=3;var c=b.Lc+a|0;if(7<=(b.Pd-c|0))return this.C=!0,a=id(this,c,a),-1!==a&&(a+=this.Wf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.ac?this.Aa+a|0:this.ng()};m.Jk=function(a,b){return(a>>>0)+b>this.ac?this.Aa+a|0:this.ng()};m.ng=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.ac?this.Aa+a|0:this.og()};
m.Kk=function(a,b){return(a>>>0)+b>this.ac?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function jd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.ac=(e>>>0)+1;a.xb=c;a.type=c&7936;a.ext=c>>16&192;a.Zb=(b&4?a.F.Cc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&gd(a,!0)}function kd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.ac=(d>>>0)+1;a.xb=e;a.type=e&7936;a.ext=0;a.Zb=b;4>a.id&&gd(a,!0)}
function id(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.ac=(a.A.Ta>>>0)+1,a.xb=a.A.xb,a.type=a.A.type,a.ext=a.A.ext,a.Zb=a.A.Zb,a.A.Z=-1,gd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.af=!1;if(p&&1==c&&a.B.length){var A=a.B[a.Wf-1];if(A&&!A())return-1}var F=c&3,v=(g&24576)>>13,A=-1,E,H;n||b>=e.Ec&&
b<e.zd&&(h=0);if(6144<=h)null!=d?A=0:!1!==p?(h&1024?v<=a.Mb&&(A=0):F<=a.Mb&&v==a.Mb&&(A=0),A||(c=c&-4|a.Mb&3)):F>=a.Mb&&(F>a.Mb&&(A=D(e),ld(e,D(e),!0),G(e,A),a.af=!0),A=0);else{if(256==h||2304==h)return md(a,c,p)?a.Aa:-1;if(1024==h)A=2,H=0,F<a.Mb&&(F=a.Mb);else if(3072==h)A=4,H=0,F<a.Mb&&(F=a.Mb);else if(1536==h)A=2,H=148224;else if(3584==h)A=4,H=148224;else if(1792==h)A=2,H=147712;else if(3840==h)A=4,H=147712;else if(1280==h)return md(a,k&65535,p)?a.Aa:-1}0<A&&!(g&32768)&&(A=0);if(0<A&&(n=a.Mb,E=
b==e.Lc+c,F<=v&&(!E||0<=e.pb||n<=v))){b=k&65535;h&2048&&(f=q|l<<16);l=h=0;d=b&3;if(d<n){if(-1===a.sg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.na(l+c+k);if(!h)return C.call(e,10,h),-1;if(-1===e.ta.sg(h,!0))return-1;l=2==k?e.na(l+c):e.oa(l+c)}c=e.ba;e.ba&=~H;c&131072&&nd(e,!0,!1);if(-1===a.sg(b,!1))return-1;td(e,A);a.Wf=f;if(d<n){if(!0!==p)return-1;A=I(e);f=0;for(g&=31;g--;)a.N[f++]=ud(e,e.ta,A),A+=2;p=e.ta.Z;g=I(e);ld(e,h,!0);G(e,l);c&131072&&(td(e,4),vd(e,e.Qb.Z,
4,2),e.Qb.load(0),vd(e,e.Pb.Z,4,2),e.Pb.load(0),vd(e,e.wb.Z,4,2),wd(e,0),vd(e,e.Wa.Z,4,2),xd(e,0));vd(e,p,e.aa,2);for(J(e,g);f;)J(e,a.N[--f]);a.af=!0}return a.Aa}if(0!=A)return C.call(e,13,c&65532|(E?2:0)),-1;if(!(g&32768))return C.call(e,11,c&65532|(E?2:0)),-1;break;case 2:if(n){if(4096>h||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1;
break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ui=k+e.na(k+100+2)|0,a.Fk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.Z=c,a.A.Aa=k,a.A.Ta=f,a.A.xb=g,a.A.type=h,a.A.ext=l,a.A.Zb=b):(a.Z=c,a.Aa=k,a.Ta=f,a.ac=(f>>>0)+1,a.xb=g,a.type=h,a.ext=l,a.Zb=b,gd(a,!0,!0,!1));return k}
function md(a,b,c){var d=a.F,e=a.Mb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.ib(d.Sa.Zb+4,d.Sa.xb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.ib(d.Sa.Zb+4,d.Sa.xb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.xb&512;256==d.Sa.type||768==d.Sa.type?(d.ib(g+14,K(d)),d.ib(g+16,yd(d)),d.ib(g+18,d.G),d.ib(g+20,d.I),d.ib(g+22,d.M),d.ib(g+24,d.H),d.ib(g+26,I(d)),d.ib(g+28,d.P),d.ib(g+30,d.K),d.ib(g+32,d.J),d.ib(g+
34,d.Wa.Z),d.ib(g+36,d.va.Z),d.ib(g+38,d.ta.Z),d.ib(g+40,d.wb.Z),d.Cc.load(d.na(h+42)),zd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Wa.load(d.na(h+34)),d.wb.load(d.na(h+40)),Ad(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Mb<e&&(g=(a.Mb<<2)+2,b=g+2),ld(d,d.na(h+b),!0),G(d,d.na(h+g))):(d.mb(g+28,d.Md),d.mb(g+32,K(d)),d.mb(g+36,yd(d)),d.mb(g+40,d.G),d.mb(g+44,d.I),d.mb(g+48,d.M),d.mb(g+52,d.H),d.mb(g+56,I(d)),d.mb(g+
60,d.P),d.mb(g+64,d.K),d.mb(g+68,d.J),d.mb(g+72,d.Wa.Z),d.mb(g+76,d.va.Z),d.mb(g+80,d.ta.Z),d.mb(g+84,d.wb.Z),d.mb(g+88,d.Pb.Z),d.mb(g+92,d.Qb.Z),Bd.call(d,d.oa(h+28)),d.Cc.load(d.na(h+96)),zd(d,d.oa(h+36)|(c?16384:0)),d.G=d.oa(h+40),d.I=d.oa(h+44),d.M=d.oa(h+48),d.H=d.oa(h+52),d.P=d.oa(h+60),d.K=d.oa(h+64),d.J=d.oa(h+68),d.Wa.load(d.na(h+72)),d.wb.load(d.na(h+84)),d.Pb.load(d.na(h+88)),d.Qb.load(d.na(h+92)),Ad(d,d.oa(h+32),d.na(h+76)),b=80,g=56,a.Mb<e&&(g=(a.Mb<<3)+4,b=g+4),ld(d,d.na(h+b),!0),G(d,
d.oa(h+g)));c&&d.ib(h+0,f);d.Ya|=8;return!0}m.save=function(){return[this.Z,this.Aa,this.Ta,this.xb,this.id,this.nc,this.Mb,this.Gc,this.Zb,this.Nc,this.Ca,this.aa,this.R,this.type,this.ac]};m.restore=function(a){"number"==typeof a?this.load(a):(this.Z=a[0],this.Aa=a[1],this.Ta=a[2],this.xb=a[3],this.id=a[4],this.nc=a[5],this.Mb=a[6],this.Gc=a[7],this.Zb=a[8],this.Nc=a[9]||2,this.Ca=a[10]||65535,this.aa=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.xb&7936,this.ac=a[14]||(this.Ta>>>0)+1)};
function gd(a,b,c,d){void 0===c&&(c=!!(a.F.Ya&1));a.cd=!1;if(c)if(a.load=a.sg,a.Xi=a.fm,a.qc=a.Di,a.rc=a.Fi,void 0===d&&(d=!!(a.F.ba&131072)),d)a.load=a.L,a.qc=a.ea,a.rc=a.qa,a.Mb=a.Gc=3,a.aa=a.Nc=2,a.R=a.Ca=65535,a.Ta=65535,a.ac=a.Ta+1,a.Nc=a.aa,a.Zb=-1,a.af=!1;else{if(!(a.Z&-4))a.qc=a.ng,a.rc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.qc=a.ng);if(a.type&2048||!(a.type&512))a.rc=a.og;1024==(a.type&3072)&&(a.qc==a.Di&&(a.qc=a.Jk),a.rc==a.Fi&&(a.rc=a.Kk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Zb&&
(c=a.Zb+5,d=a.F.Qa(c),d&1||a.F.tc(c,d|1))}b&&(a.Mb=a.Z&3,a.Gc=(a.xb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.aa=2,a.R=65535):(a.aa=4,a.R=-1),a.Nc=a.aa,a.Ca=a.R)}else a.load=a.lh,a.Xi=a.gm,a.qc=a.Ei,a.rc=a.Gi,a.Mb=a.Gc=0,a.Zb=-1,a.af=!1}
function Cd(a){this.ja=a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.ag=61442;this.oc=1792;this.Yf=28672;this.Ed=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.W=Dd;this.gg=Ed;this.hg=Fd;this.Ng=Gd;if(80186<=this.ja&&(this.W=Dd.slice(),this.gg=Ed.slice(),this.hg=Fd.slice(),this.ra=31,this.W[15]=Hd,this.W[96]=Id,this.W[97]=Jd,this.W[98]=Kd,this.W[99]=Hd,this.W[100]=Hd,this.W[101]=
Hd,this.W[102]=Hd,this.W[103]=Hd,this.W[104]=Ld,this.W[105]=Md,this.W[106]=Nd,this.W[107]=Od,this.W[108]=Pd,this.W[109]=Qd,this.W[110]=Rd,this.W[111]=Sd,this.W[192]=Wd,this.W[193]=Xd,this.W[200]=Yd,this.W[201]=Zd,this.W[241]=ee,this.gg[7]=fe,this.hg[7]=fe,80286<=this.ja)){this.ag=2;this.oc|=28672;this.Ed=0;this.W[15]=ge;this.Yb=he.slice();for(a=0;a<this.Yb.length;a++)this.Yb[a]||(this.Yb[a]=ie);this.W[84]=je;this.W[99]=ke;if(80386<=this.ja){var c;this.Yf=0;this.oc|=196608;this.W[100]=le;this.W[101]=
me;this.W[102]=ne;this.W[103]=oe;for(c in M)this.Yb[+c]=M[c];80546<=this.Uc&&80562>=this.Uc&&(this.Yb[166]=pe,this.Yb[167]=qe)}}this.ie=[];this.je=[];this.le=0;Oc(this);this.la.Sd=this.la.Ni=!1;this.Pg=0;this.kd=this.sa=[];this.La=this.Ob=this.Fa=this.Fd=this.jd=this.Gb=this.tb=0;re(this)}db(Cd,Lc);function se(a,b,c,d){Gc((d?a.kd:a.sa)[b>>>a.La],c);d&&Vb(a)}
function te(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Mb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.sa[b]=a.ke;a.qd=new B;a.bg=Array(512);a.ze=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.sa[b];512>a.ze&&(a.bg[a.ze++]=d);a.sa[b]=a.ke}a.Gd=[]}function Vb(a){a.Ya&-2147483648&&te(a)}
function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Md+e&a.Gb)>>>a.La],g=f.Kd(e);if(!(g&1))return d||ue.call(a,b,!1,c),a.qd;if(!(g&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.qd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Kd(h);if(!(k&1))return d||ue.call(a,b,!1,c),a.qd;if(!(k&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.qd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0<a.ze?(l=a.bg[--a.ze],l.hh(b)):l=new B(b,0,0,6);b=l;b.Bd=c;b.zb=f;b.A=
e>>2;b.Ab=g;b.B=h>>2;vb&&ac&&c.ca&&!c.controller&&!c.Re&&!c.Se?(b.Xa=c.Xa,b.ce=c.ce,b.ca=c.ca,Yb(b,Kc)):(b.ea=c?yc(32):0,b.V=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ve(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.qd=null)}m=Cd.prototype;m.reset=function(){this.la.Jb&&this.Xb();re(this);Oc(this);this.la.ud=!1};
function we(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function xe(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function re(a){a.G=0;a.H=0;a.I=0;a.M=0;a.fb=0;a.P=0;a.K=0;a.J=0;a.bb=!1;a.ia=a.wa=0;a.Y=0;a.Og=0;a.L=0;a.Ya=65520;a.Lc=0;a.Pd=1023;a.ba=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.pb=-1;a.Sb=a.qb=-1;a.oe=a.U=-1;a.va=new fd(a,1,"CS");a.wb=new fd(a,2,"DS");a.Wa=new fd(a,2,"ES");a.ta=new fd(a,3,"SS");G(a,0);ld(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Ya=16;a.ji=0;a.qe=0;a.Md=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Pb=new fd(a,2,"FS");a.Qb=new fd(a,2,"GS");ve(a)}a.of=new fd(a,0,"NULL");a.ka=a.wb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.bc=a.of;a.ua=0;if(80286>a.ja)Ad(a,0,65535);else{a.Ec=0;a.zd=65535;a.Cc=new fd(a,5,"LDT",!0);a.Sa=new fd(a,4,"TSS",!0);a.Ea=new fd(a,6,"VER",!0);Ad(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.nf=(b>>>0)+(a.va.Ta>>>0)+1}zd(a,0);nd(a)}
function ye(a){2==a.Nc?(a.fc=a.na,a.Na=ze,a.Za=Ae,a.Ib=Be,2==a.aa?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Fe,a.fa=Ge,a.za=Je)):(a.fc=a.oa,a.Na=Ke,a.Za=Le,a.Ib=Me,2==a.aa?(a.V=Ne,a.fa=Oe,a.za=Pe):(a.V=Qe,a.fa=Re,a.za=af))}function td(a,b){a.aa!=b&&(a.Ha|=1024,a.aa=b,a.R=2==b?65535:-1,bf(a))}function bf(a){2==a.aa?(a.Ia=32768,a.ub=a.na,a.uc=a.ib,2==a.Nc?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Ne,a.fa=Oe,a.za=Pe)):(a.Ia=-2147483648,a.ub=a.oa,a.uc=a.mb,2==a.Nc?(a.V=Fe,a.fa=Ge,a.za=Je):(a.V=Qe,a.fa=Re,a.za=af))}
function cf(a){a.Nc=a.va.Nc;a.Ca=a.va.Ca;ye(a);a.aa=a.va.aa;a.R=a.va.R;bf(a);a.Ha&=-3073}m.Ri=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.wb.Z+this.ta.Z+this.Wa.Z+yd(this)|0};function df(a,b,c){void 0===a.ie[b]&&(a.ie[b]=[]);a.ie[b].push(c)}function ef(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function ff(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function gf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Od(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function nd(a,b,c){void 0===b&&(b=!!(a.Ya&1));void 0===c&&(c=!!(a.ba&131072));a.Ng=b&&!c?hf:Gd;gd(a.va,!1,b,c);gd(a.wb,!1,b,c);gd(a.ta,!1,b,c);gd(a.Wa,!1,b,c);80386<=a.ja&&(gd(a.Pb,!1,b,c),gd(a.Qb,!1,b,c));cf(a)}
m.save=function(){var a=new jf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.wb.save(),e=this.ta.save(),f=this.Wa.save(),g;null!=this.Ec?(g=[this.Ya,this.Ec,this.zd,this.Lc,this.Pd,this.Cc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ji),g.push(this.qe),g.push(this.Md),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,yd(this)];80386<=this.ja&&(b.push(this.Pb.save()),b.push(this.Qb.save()));N(a,1,b);N(a,2,[this.ka.nc,
this.Ka.nc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.dc,this.X.Ud]);b=this.ea;c=!!(this.Ya&-2147483648);d=0;e=[];(f=!b.L&&b.wg==b.Gb)||Rb(b,!0);for(g=0;g<b.U;g++){var h=b.sa[g];if(c&&h.type!=$b||h.Va||h.Oi){e[d++]=g;var k=d++;a:if(h=h.save()){for(var l=0,n=0,q=[];l<h.length;){for(var p=h[l],A=l+1;A<h.length&&h[A]===p;)A++;q[n++]=A-l;q[n++]=p;l=A}if(q.length<h.length){h=q;break a}}e[k]=h}}f||Rb(b,!1);e[d]=f;N(a,4,e);return a.data()};
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.va.restore(b[1]);this.wb.restore(b[2]);this.ta.restore(b[3]);this.Wa.restore(b[4]);var d=b[5];d&&d.length&&(this.Ya=d[0],this.Ec=d[1],this.zd=d[2],this.Lc=d[3],this.Pd=d[4],this.Cc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.ji=d[8],this.qe=d[9],this.Md=d[10],this.Ja=d[11],this.Ce=d[12]),nd(this));zd(this,b[6]);var d=!1,e;a:{e=this.ea;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.ga){for(var l=0,n=Array(e.ga),q=0;q<k.length-1;)for(var p=k[q++],A=k[q++];p--;)n[l++]=A;k=n}l=e.sa[h];if(!l||!l.restore(k)){w("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Rb(e,f[g]);e=!0}e&&(Ad(this,b[0],this.va.Z),G(this,c),ld(this,this.ta.Z),80386<=this.ja&&(this.Pb.restore(b[7]),this.Qb.restore(b[8])),d=!0);b=a[2];this.ka=null!=b[0]&&kf(this,b[0])||this.wb;this.Ka=null!=b[1]&&kf(this,b[1])||this.ta;
this.S=b[2];this.Ha=b[3];this.ua=b[4];this.D=b[5];this.C=b[6];b=a[3];this.dc=b[1];Zc(this,b[2]);return d};function kf(a,b){switch(b){case "CS":return a.va;case "DS":return a.wb;case "SS":return a.ta;case "ES":return a.Wa;case "NULL":return a.of;default:return[0,b,0,0,""]}}function lf(a,b){null!=Ad(a,K(a),b)&&(a.S|=a.Ed)}function wd(a,b){-1!==a.wb.load(b)&&(a.S|=a.Ed)}
function ld(a,b,c){var d=I(a);-1!==a.ta.load(b)&&(G(a,d),a.ta.cd?(a.Kg=a.ta.Aa+a.ta.Ca|0,a.sd=a.ta.Aa+a.ta.Ta|0):(a.Kg=a.ta.Aa+a.ta.Ta|0,a.sd=a.ta.Aa),c||(a.S|=4))}function xd(a,b){-1!==a.Wa.load(b)&&(a.S|=a.Ed)}function K(a){return a.Ga-a.va.Aa|0}function O(a,b){a.Ga=a.va.Aa+(b&a.R)|0}function mf(a,b){a.Ga=b;a.nf=(a.va.Aa>>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Mb;cf(a)}function Ad(a,b,c,d){var e=a.va;e.Wf=b;e.C=d;b=e.load(c);return-1!==b?(mf(a,b+(a.va.Wf&a.va.R)),a.va.af):null}
function nf(a,b){var c=(a.Ga>>>0)+b;c>a.nf&&(8088>=a.ja||a.va.Ta==a.va.Ca?c=a.va.Aa+(c-a.nf&a.R):C.call(a,13,0));return c|0}function of(a){a.Ga=a.oe}function I(a){return a.fb&~a.ta.Ca|a.ga-a.ta.Aa}function G(a,b){a.fb=b;a.ga=a.ta.Aa+(b&a.ta.Ca)|0}function pf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&qf(a),g&2&&rf(a),g&4&&sf(a),g&8&&tf(a),g&16&&uf(a),g&32&&vf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e}
function wf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?xf(a):yf(a);e?zf(a):Af(a);return b}function Bf(a,b,c,d){c&d?xf(a):yf(a);(b^c)&d?zf(a):Af(a)}function Cf(a){return qf(a)?1:0}function qf(a){a.resultType&1&&(a.ba&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ba|=1),a.resultType&=-2);return a.ba&1}function rf(a){a.resultType&2&&(a.ba&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ba|=4),a.resultType&=-3);return a.ba&4}
function sf(a){a.resultType&4&&(a.ba&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ba|=16),a.resultType&=-5);return a.ba&16}function tf(a){a.resultType&8&&(a.ba&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ba|=64),a.resultType&=-9);return a.ba&64}function uf(a){a.resultType&16&&(a.ba&=-129,a.Xc&a.resultType&-2147450752&&(a.ba|=128),a.resultType&=-17);return a.ba&128}
function vf(a){a.resultType&32&&(a.ba&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ba|=2048),a.resultType&=-33);return a.ba&2048}function yf(a){a.resultType&=-2;a.ba&=-2}function Df(a){a.resultType&=-5;a.ba&=-17}function Ef(a){a.resultType&=-9;a.ba&=-65}function Af(a){a.resultType&=-33;a.ba&=-2049}function xf(a){a.resultType&=-2;a.ba|=1}function Ff(a){a.resultType&=-5;a.ba|=16}function Gf(a){a.resultType&=-9;a.ba|=64}function zf(a){a.resultType&=-33;a.ba|=2048}
function yd(a){return a.ba&-2262|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)|vf(a)}function Hf(a,b){b=b|a.Ya&1|65520;a.Ya=a.Ya&-65536|b&65535;a.Ya&1&&nd(a,!0)}function zd(a,b,c){a.Ya&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ba&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ba&512);a.resultType=128;a.ba=a.ba&~(a.oc|2261)|b&(a.oc|2261)|a.ag;a.ba&256&&(a.ua|=2,a.S|=4)}
function If(a,b,c,d){var e=0;if(a.Ya&1&&(a.pa>a.Pa||a.ba&131072)&&a.Sa.ui)for(var f=a.Sa.ui+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.Sa.Fk&&!(a.Qa(f)&e);)e>>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0}
m.Rb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Rb.call(this,a,b,c)}return d};
function Jf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.tb)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.pe(f,b);if(2==c)return f<a.Fa?e.cg(f,b):e.pe(f,b)|Jf(a,b+1,1,d)<<8;if(4==c)return f<a.Fa-2?e.ii(f,b):f==a.Fa-1?e.cg(f,b)|Jf(a,b+2,2,d)<<16:e.pe(f,b)|Jf(a,b+1,1,d)<<8|Jf(a,b+2,1,d)<<16|Jf(a,b+3,1,d)<<24}return null}m.Qa=function(a){return this.sa[(a&this.tb)>>>this.La].lc(a&this.Fa,a)};
m.na=function(a){var b=a&this.Fa,c=(a&this.tb)>>>this.La;this.A-=this.B.Dg;if(b<this.Fa)return this.sa[c].pf(b,a);b=this.sa[c].lc(b,a);this.S&4096||(b|=this.sa[c+1&this.jd].lc(0,a+1)<<8);return b};m.oa=function(a){var b=a&this.Fa,c=(a&this.tb)>>>this.La;if(b<this.Fa-2)return this.sa[c].Kd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.sa[c].lc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.jd,b=0);f+=8}return d};m.tc=function(a,b){this.sa[(a&this.tb)>>>this.La].vc(a&this.Fa,b&255,a)};
m.ib=function(a,b){var c=a&this.Fa,d=(a&this.tb)>>>this.La;this.A-=this.B.Dg;c<this.Fa?this.sa[d].wf(c,b&65535,a):(this.sa[d++].vc(c,b&255,a),this.S&4096||this.sa[d&this.jd].vc(0,b>>8&255,a+1))};m.mb=function(a,b){var c=a&this.Fa,d=(a&this.tb)>>>this.La;this.A-=this.B.Dg;if(c<this.Fa-2)this.sa[d].vf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.sa[d].vc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.jd,c=0);b>>>=8}};
function Kf(a,b,c){a.bc=b;a.Ba=c&a.Ca;a.D=b.qc(a.Ba,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Kf(a,a.ka,b)}function Lf(a,b){return Kf(a,a.Ka,b)}function Mf(a,b,c){a.bc=b;a.Ba=c&a.Ca;a.D=b.qc(a.Ba,a.aa);return a.S&1?0:a.ub(a.D)}function R(a,b){a.bc=a.ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,2);return a.S&1?0:a.na(a.D)}function Nf(a,b){a.bc=a.Ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.bc=a.ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,4);return a.S&1?0:a.oa(a.D)}
function Of(a,b){a.bc=a.Ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,4);return a.S&1?0:a.oa(a.D)}function Pf(a,b){a.S&2||a.tc(a.bc.rc(a.Ba,1),b)}function Qf(a,b){a.S&2||a.ib(a.bc.rc(a.Ba,2),b)}function Rf(a,b){a.S&2||a.mb(a.bc.rc(a.Ba,4),b)}function ud(a,b,c){return a.ub(b.qc(c,a.aa))}m.xa=function(){var a=nf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Sf(a){var b=nf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=nf(a,a.Nc),c=a.fc(a.Ga);a.Ga=b;return c}
m.Ma=function(){var a=nf(this,this.aa),b=this.ub(this.Ga);this.Ga=a;return b};m.T=function(){var a=nf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.ub(a.ga);a.ga=a.ga+a.aa|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ca):-1>c&&C.call(a,12,0));return b}
function vd(a,b,c,d){c=a.ga-c|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));switch(d){case 1:a.tc(c,b);break;case 2:a.ib(c,b);break;case 4:a.mb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.aa|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));a.uc(c,b);a.ga=c}
function Tf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.qa[b]&&(void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.Xb()),d=!a.la.Jb||a.la.Pi?r(c,d):"--------".substr(0,d),a.qa[b].textContent!=d&&(a.qa[b].textContent=d))}
m.pd=function(a){if(this.Pg&&(a||!this.la.Jb||this.la.Pi)){Tf(this,"EAX",this.G);Tf(this,"EBX",this.H);Tf(this,"ECX",this.I);Tf(this,"EDX",this.M);Tf(this,"ESP",I(this));Tf(this,"EBP",this.P);Tf(this,"ESI",this.K);Tf(this,"EDI",this.J);Tf(this,"CS",this.va.Z);Tf(this,"DS",this.wb.Z);Tf(this,"SS",this.ta.Z);Tf(this,"ES",this.Wa.Z);Tf(this,"EIP",K(this));var b=yd(this);Tf(this,"PS",b);Tf(this,"V",b&2048);Tf(this,"D",b&1024);Tf(this,"I",b&512);Tf(this,"T",b&256);Tf(this,"S",b&128);Tf(this,"Z",b&64);
Tf(this,"A",b&16);Tf(this,"P",b&4);Tf(this,"C",b&1);80386==this.ja&&(Tf(this,"FS",this.Pb.Z),Tf(this,"GS",this.Qb.Z),Tf(this,"CR0",this.Ya),Tf(this,"CR2",this.qe),Tf(this,"CR3",this.Md))}if(b=this.qa.speed)b.textContent=this.la.Jb&&this.X.me?this.X.me.toFixed(2)+"Mhz":"Stopped";this.parent.pd.call(this,a)};
m.tf=function(a){this.la.Sd=!0;var b=this.la.Ni=this.ha&&Uf(this.ha),c=a?this.la.eh?0:1:-1;this.la.eh=!1;this.eb=this.A=a;this.N&&!a&&dd(this.N);a||z(this,1024)||(this.S|=4);do{var d=this.S&3312;if(d)this.Ha|=d;else if(this.oe=this.Ga,this.ka=this.wb,this.Ka=this.ta,this.D=this.C=-1,this.Ha&3072&&cf(this),this.Ha=this.S&256,this.ua){a:{if(!(this.S&4))for(var d=80286>this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ba&512){var f=Vf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Wf.call(this,
f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Wf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Xf(this.ha,this.Ga,c)){this.Xb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0<this.A);return this.la.Sd?this.eb-this.A:void 0===this.la.Sd?0:-1};Qa(function(){for(var a=nb(document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Cd(d);mb(d,c)}});
function Yf(a){Ua.call(this,"FPU",a,Yf);this.ja=a.model||8087;(a=a.stepping)&&ca(a,16);this.L=new Float64Array(8);this.Y=new Int32Array(this.L.buffer);this.pa=new Float32Array(1);this.ua=new Int32Array(this.pa.buffer);this.W=new Float64Array(1);this.da=new Int32Array(this.W.buffer);this.ea=Array(3);this.fa=this.ga=-1;this.V=this.U=this.ia=this.A=0;this.ka=new Float64Array(1);this.ra=new Int32Array(this.ka.buffer);this.ra[0]=0;this.ra[1]=268402688;Zf(this)}db(Yf);m=Yf.prototype;
m.Ic=function(a,b,c){this.F=c;this.N=Eb(a,"ChipSet");sb(this)};m.kc=function(a,b){if(!b)if(!a||!this.restore)Zf(this);else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};m.save=function(){var a=new jf(this),b=[],c=0;b[c++]=this.mc;b[c++]=$f(this);b[c++]=ag(this);for(var d=0;d<this.L.length;d++)b[c++]=this.L[d];N(a,0,b);return a.data()};
m.restore=function(a){a=a[0];var b=0;this.mc=a[b++]&-57409;var c=a[b++];this.ma=c&-14337;this.B=(c&14336)>>11;bg(this);cg(this,a[b++]);for(c=0;c<this.L.length;c++)this.L[c]=a[b++];return!0};function Zf(a){a.C=0;a.mc=959;a.ma=0;a.B=0;a.N&&(a=a.N,a.ja>=dg&&eg(a,13))}function bg(a){a.ma&=-129;a.ma&~a.mc&63&&(a.ma|=128);if(a.ma&128&&!(a.mc&128))return a=a.N,a.ja>=dg?fg(a,13):a.Fa&0||Wf.call(a.F,2),!0;a=a.N;a.ja>=dg&&eg(a,13);return!1}function gg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return bg(a)}
function $f(a){return a.ma|a.B<<11}function hg(a,b){return isFinite(b)?!0:!gg(a,Infinity===b?8:16)}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,hg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,hg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,hg(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null==b||null==c||!c&&gg(a,2)||(d=b/c,hg(a,d)||(d=null));return d}
function mg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function ng(a,b,c){if(null==b)return null;var d=a.mc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b);if(c){if(d>=c){if(gg(a,1))return null;d=-c}else if(d<-c){if(gg(a,1))return null;d=-c}a.da[0]=d|0;2147483648<c&&(a.da[1]=d/4294967296|0,!a.da[1]&&0>d&&(a.da[1]=-1))}return d}
function og(a,b){var c=3;if(a.C&1<<b){var d=a.L[b],c=0;0===d?c=1:isFinite(d)||(c=2)}return c}function ag(a){for(var b=0,c=a.L.length-1;0<=c;c--)b<<=2,b|=og(a,c);return b}function cg(a,b){a.C=0;for(var c=1;128>=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function zg(a){var b=a.B+0&7;return a.C&1<<b?(a.pa[0]=a.L[b],!0):gg(a,1)?!1:(a.pa[0]=a.ka[0],!0)}function Ag(a){var b=a.B+0&7;return a.C&1<<b?(a.W[0]=a.L[b],!0):gg(a,1)?!1:(a.W[0]=a.ka[0],!0)}
function U(a,b){var c=null,d=a.B+b&7;a.C&1<<d?c=a.L[d]:gg(a,1)||(c=a.ka[0]);return c}function V(a,b,c){return null!=c&&(isNaN(c)?!gg(a,1):1)?(b=a.B+b&7,a.L[b]=c,a.C|=1<<b,!0):!1}function Bg(a,b,c){var d=null;b=a.B+b&7;if(c||a.C&1<<b||!gg(a,1))c=b<<1,d=Cg(a,a.Y[c],a.Y[c+1]);return d}function Dg(a){return a.F.na(a.F.D)<<16>>16}function Eg(a){return a.F.oa(a.F.D)}function Fg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Gg(a){a.da[0]=a.F.oa(a.F.D);a.da[1]=a.F.oa(a.F.D+4);return a.W[0]}
function Hg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.oi=function(){this.F.mb(this.F.D,this.da[0])};m.pk=function(){this.F.mb(this.F.D,this.da[0]);this.F.mb(this.F.D+4,this.da[1])};m.rk=Yf.prototype.oi;m.qk=Yf.prototype.pk;function Ig(a){a.F.mb(a.F.D,a.ea[0]);a.F.mb(a.F.D+4,a.ea[1]);a.F.ib(a.F.D+8,a.ea[2])}
function Jg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.da[0]=f;a.da[1]=c|(d|e)<<20;return a.W[0]}function Cg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Kg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Lg(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}
function Mg(a){var b=null,c=1<<a.B;if(!(a.C&c)&&(a.ma&=-513,gg(a,65)))return b;a.C&=~c;b=a.L[a.B];a.B=a.B+1&7;return b}function Ng(a,b){if(null!=b){var c=a.B-1&7,d=1<<c;if(a.C&d&&(a.ma|=512,gg(a,65)))return;if(isNaN(b)&&gg(a,1)){if(gg(a,1))return;b=NaN}a.L[a.B=c]=b;a.C|=d}}
function Og(a,b){var c,d=a.F;c=d.ub(b);a.mc=c&-57409;c=d.ub(b+=d.aa);a.ma=c&-14337;a.B=(c&14336)>>11;bg(a);cg(a,d.ub(b+=d.aa));!(d.Ya&1)||d.ba&131072?(a.V=d.ub(b+=d.aa),c=d.ub(b+=d.aa),a.ia=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.ub(b+=d.aa),a.U|=(d.ub(b+=d.aa)&-4096)<<4,a.ga=-1):(a.V=d.ub(b+=d.aa),c=d.ub(b+=d.aa),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.ub(b+=d.aa),a.ga=d.ub(b+=d.aa)&65535);return b+d.aa}
function Pg(a,b){var c=a.F;c.uc(b,a.mc);c.uc(b+=c.aa,$f(a));c.uc(b+=c.aa,ag(a));if(!(c.Ya&1)||c.ba&131072){var d=(a.fa<<4)+a.V;c.uc(b+=c.aa,d);c.uc(b+=c.aa,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.uc(b+=c.aa,d);c.uc(b+=c.aa,d>>4&-4096)}else c.uc(b+=c.aa,a.V),c.uc(b+=c.aa,a.fa|a.ia<<16),c.uc(b+=c.aa,a.U),c.uc(b+=c.aa,a.ga);return b+c.aa}var Qg=Math.log(10)/Math.LN2,Rg=Math.LOG2E,Sg=Math.PI,Tg=Math.log(2)/Math.LN10,Ug=Math.LN2,Vg=Math.pow(2,63);function Wg(){this.ma&=-32896;bg(this)}
function Xg(){mg(this,U(this,0),U(this,this.A))}function Yg(){mg(this,U(this,0),U(this,this.A))&&Mg(this)}function Zg(){Yg.call(this)}function $g(){V(this,0,lg(this,U(this,0),Fg(this)))}function ah(){this.C&=~(1<<this.B)}function bh(){Zf(this)}function ch(){this.mc=this.F.na(this.F.D)&-57409}function dh(){Og(this,this.F.D)}function eh(){for(var a=this.F,b=Og(this,a.D),c=this.ea,d=0;d<this.L.length;d++)c[0]=a.oa(b),c[1]=a.oa(b+=4),c[2]=a.na(b+=4),c&&V(this,d,Jg(this,c)),b+=2}
function fh(){for(var a=this.F,b=Pg(this,a.D),c=0;c<this.L.length;c++){var d=Bg(this,c,!0);a.mb(b,d[0]);a.mb(b+=4,d[1]);a.ib(b+=4,d[2]);b+=2}Zf(this)}function gh(){Pg(this,this.F.D);this.mc|=63}function hh(){V(this,this.A,U(this,0))&&Mg(this)}function ih(){hh.call(this)}function jh(){this.F.ib(this.F.D,this.mc)}function kh(){this.F.ib(this.F.D,$f(this))}function lh(){80287<=this.ja&&(this.F.G=this.F.G&-65536|$f(this))}function mh(){var a=U(this,0);V(this,0,U(this,this.A));V(this,this.A,a)}
function nh(){mh.call(this)}
var oh={216:{0:function(){V(this,0,ig(this,U(this,0),Fg(this)))},1:function(){V(this,0,kg(this,U(this,0),Fg(this)))},2:function(){mg(this,U(this,0),Fg(this))},3:function(){mg(this,U(this,0),Fg(this))&&Mg(this)},4:function(){V(this,0,jg(this,U(this,0),Fg(this)))},5:function(){V(this,0,jg(this,Fg(this),U(this,0)))},6:$g,7:$g,48:function(){V(this,0,ig(this,U(this,0),U(this,this.A)))},49:function(){V(this,0,kg(this,U(this,0),U(this,this.A)))},50:Xg,51:Yg,52:function(){V(this,0,jg(this,U(this,0),U(this,
this.A)))},53:function(){V(this,0,jg(this,U(this,this.A),U(this,0)))},54:function(){V(this,0,lg(this,U(this,0),U(this,this.A)))},55:function(){V(this,0,lg(this,U(this,this.A),U(this,0)))}},217:{0:function(){Ng(this,Fg(this))},2:function(){zg(this)&&this.rk()},3:function(){zg(this)&&(this.rk(),Mg(this))},4:dh,5:ch,6:gh,7:jh,48:function(){Ng(this,U(this,this.A))},49:mh,50:function(){},51:ih,64:function(){V(this,0,-U(this,0))},65:function(){V(this,0,Math.abs(U(this,0)))},68:function(){mg(this,U(this,
0),0)},69:function(){this.ma&=-18177;this.Y[((this.B+0&7)<<1)+1]&-2147483648&&(this.ma|=512);if(3==og(this,this.B))this.ma|=16640;else{var a=U(this,0);this.ma=isNaN(a)?this.ma|256:0===a?this.ma|16384:Infinity===a||-Infinity===a?this.ma|1280:this.ma|1024}},80:function(){Ng(this,1)},81:function(){Ng(this,Qg)},82:function(){Ng(this,Rg)},83:function(){Ng(this,Sg)},84:function(){Ng(this,Tg)},85:function(){Ng(this,Ug)},86:function(){Ng(this,0)},96:function(){V(this,0,Math.pow(2,U(this,0))-1)},97:function(){V(this,
1,U(this,1)*Math.log(U(this,0))/Math.LN2)&&Mg(this)},98:function(){V(this,0,Math.tan(U(this,0)))&&Ng(this,1)},99:function(){V(this,1,Math.atan2(U(this,1),U(this,0)))&&Mg(this)},100:function(){var a=U(this,0);null!=a&&(this.W[0]=a,V(this,0,(this.da[1]>>20&2047)-1023),this.da[1]=(this.da[1]|1072693248)&-1073741825,Ng(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,
U(this,1)*Math.log(U(this,0)+1)/Math.LN2)&&Mg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!gg(this,1))b=Math.sqrt(a),hg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,ng(this,U(this,0),Vg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0<b?Math.floor(b):Math.ceil(b)))}},218:{0:function(){V(this,0,ig(this,U(this,0),Eg(this)))},1:function(){V(this,0,kg(this,U(this,0),Eg(this)))},2:function(){mg(this,U(this,0),Eg(this))},3:function(){mg(this,U(this,
0),Eg(this))&&Mg(this)},4:function(){V(this,0,jg(this,U(this,0),Eg(this)))},5:function(){V(this,0,jg(this,Eg(this),U(this,0)))},6:function(){V(this,0,lg(this,U(this,0),Eg(this)))},7:function(){V(this,0,lg(this,Eg(this),U(this,0)))}},219:{0:function(){Ng(this,Eg(this))},2:function(){null!=ng(this,U(this,0),2147483648)&&this.oi()},3:function(){null!=ng(this,U(this,0),2147483648)&&(this.oi(),Mg(this))},5:function(){Ng(this,Jg(this,Hg(this)))},7:function(){Bg(this,0)&&(Ig(this),Mg(this))},64:function(){8087==
this.ja&&(this.mc&=-129)},65:function(){8087==this.ja&&(this.mc|=128)},66:Wg,67:bh,68:function(){},115:function(){}},220:{0:function(){V(this,0,ig(this,U(this,0),Gg(this)))},1:function(){V(this,0,kg(this,U(this,0),Gg(this)))},2:function(){mg(this,U(this,0),Gg(this))},3:function(){mg(this,U(this,0),Gg(this))&&Mg(this)},4:function(){V(this,0,jg(this,U(this,0),Gg(this)))},5:function(){V(this,0,jg(this,Gg(this),U(this,0)))},6:function(){V(this,0,lg(this,U(this,0),Gg(this)))},7:function(){V(this,0,lg(this,
Gg(this),U(this,0)))},48:function(){V(this,this.A,ig(this,U(this,this.A),U(this,0)))},49:function(){V(this,this.A,kg(this,U(this,this.A),U(this,0)))},50:function(){Xg.call(this)},51:Zg,52:function(){V(this,this.A,jg(this,U(this,0),U(this,this.A)))},53:function(){V(this,this.A,jg(this,U(this,this.A),U(this,0)))},54:function(){V(this,this.A,lg(this,U(this,0),U(this,this.A)))},55:function(){V(this,this.A,lg(this,U(this,this.A),U(this,0)))}},221:{0:function(){Ng(this,Gg(this))},2:function(){Ag(this)&&
this.qk()},3:function(){Ag(this)&&(this.qk(),Mg(this))},4:eh,6:fh,7:kh,48:ah,49:nh,50:function(){V(this,this.A,U(this,0))},51:hh},222:{0:function(){V(this,0,ig(this,U(this,0),Dg(this)))},1:function(){V(this,0,kg(this,U(this,0),Dg(this)))},2:function(){mg(this,U(this,0),Dg(this))},3:function(){mg(this,U(this,0),Dg(this))&&Mg(this)},4:function(){V(this,0,jg(this,U(this,0),Dg(this)))},5:function(){V(this,0,jg(this,Dg(this),U(this,0)))},6:function(){V(this,0,lg(this,U(this,0),Dg(this)))},7:function(){V(this,
0,lg(this,Dg(this),U(this,0)))},48:function(){V(this,this.A,ig(this,U(this,this.A),U(this,0)))&&Mg(this)},49:function(){V(this,this.A,kg(this,U(this,this.A),U(this,0)))&&Mg(this)},50:Zg,51:function(){mg(this,U(this,0),U(this,1))&&null!=Mg(this)&&Mg(this)},52:function(){V(this,this.A,jg(this,U(this,0),U(this,this.A)))&&Mg(this)},53:function(){V(this,this.A,jg(this,U(this,this.A),U(this,0)))&&Mg(this)},54:function(){V(this,this.A,lg(this,U(this,0),U(this,this.A)))&&Mg(this)},55:function(){V(this,this.A,
lg(this,U(this,this.A),U(this,0)))&&Mg(this)}},223:{0:function(){Ng(this,Dg(this))},2:function(){null!=ng(this,U(this,0),32768)&&this.F.ib(this.F.D,this.da[0])},3:function(){null!=ng(this,U(this,0),32768)&&(this.F.ib(this.F.D,this.da[0]),Mg(this))},4:function(){var a=Hg(this),b=Kg(a[0],8)+1E8*Kg(a[1],8)+1E16*Kg(a[2],2);a[2]&32768&&(b=-b);Ng(this,b)},5:function(){var a;a=this.F.oa(this.F.D);a=4294967296*this.F.oa(this.F.D+4)+(a>>>0);Ng(this,a)},6:function(){var a=ng(this,Mg(this));null!=a&&(this.ea[0]=
Lg(a,8),this.ea[1]=Lg(a/1E8,8),this.ea[2]=Lg(a/1E16,2),0>a&&(this.ea[2]|=32768),Ig(this))},7:function(){null!=ng(this,U(this,0),Vg)&&(this.pk(),Mg(this))},48:function(){ah.call(this);Mg(this)},49:nh,50:ih,51:ih,52:lh}},ph=[Wg,bh,ch,dh,eh,fh,jh,gh,kh,lh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Yf(d);mb(d,c)}});function qh(a,b){var c=a+b+Cf(this)|0;pf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255}
function rh(a,b){var c=a+b+Cf(this)|0;pf(this,a,b,c,this.Ia|63);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function sh(a,b){var c=a+b|0;pf(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255}function th(a,b){var c=a+b|0;pf(this,a,b,c,this.Ia|63);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}
function uh(a,b){var c=a&b;wf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c}function vh(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a&b,this.Ia)&this.R}function wh(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Gf(this),a;Ef(this);return a}
function xh(a){if(-1===this.D)return C.call(this,6),a;var b=a,c=this.ub(this.D),d=this.ub(this.D+this.aa);2==this.aa&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.cj;(b<c||b>d)&&C.call(this,5);this.S|=2;return a}function yh(a,b){var c=0;if(b){Ef(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Gf(this);this.A-=11+3*c;return a}function zh(a,b){var c=0;if(b){Ef(this);for(var d=2==this.aa?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else Gf(this);this.A-=11+3*c;return a}
function Ah(a,b){a&1<<(b&(2==this.aa?15:31))?xf(this):yf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Bh(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a^c}function Ch(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a&~c}function Dh(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a|c}
function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=6;this.S|=2;return a}function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a^b}
function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a&~b}function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a|b}
function Ih(a,b){pf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.zh:this.B.Wb;this.S|=2;return a}function Jh(a,b){pf(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.zh:this.B.Wb;this.S|=2;return a}
function Kh(a){if(this.Vb){var b=this.Vb,c=this.Og,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=oh[c][f]){if(0>ph.indexOf(e)){var f=b.F,g=f.oe;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.ga=f.bc.Z,b.U=f.D-f.bc.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Lh(a){if(80186>this.ja)return Mh.call(this,a);C.call(this,13,0);return a}function fe(a){C.call(this,6);return a}
function Mh(a){ie.call(this);return a}function Nh(a,b){var c=Oh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Ph(a,b){var c;a=this.Ma();c=2==this.aa?Oh.call(this,a,b):Qh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Rh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Sh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)}
function Oh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(xf(this),zf(this)):(yf(this),Af(this));this.A-=-1===this.D?9:12;return c&65535}function Qh(a,b){Rh.call(this,a,b);this.wa!=this.ia>>31?(xf(this),zf(this)):(yf(this),Af(this));this.A-=-1===this.D?9:12;return this.ia}function Th(a,b){this.A-=14+(-1===this.D?0:2);Ef(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Gf(this),a=this.Ea.xb&-256,2<this.aa&&(a|=(this.Ea.ext&-65281)<<16));return a}
function Uh(a,b){if(-1===this.D)return ie.call(this),a;wd(this,this.na(this.D+this.aa));this.A-=this.B.lf;return b}function Vh(){this.A-=this.B.Fj;return this.D}function Wh(a,b){if(-1===this.D)return ie.call(this),a;xd(this,this.na(this.D+this.aa));this.A-=this.B.lf;return b}function Xh(a,b){if(-1===this.D)return ie.call(this),a;var c=this.na(this.D+this.aa);this.Pb.load(c);this.A-=this.B.lf;return b}
function Yh(a,b){if(-1===this.D)return ie.call(this),a;var c=this.na(this.D+this.aa);this.Qb.load(c);this.A-=this.B.lf;return b}function Zh(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Ea.load(b)&&(7168==(this.Ea.xb&7168)||this.Ea.Gc>=this.pa)&&this.Ea.Gc>=(b&3))return Gf(this),this.Ea.Ta;Ef(this);return a}function $h(a,b){if(-1===this.D)return ie.call(this),a;ld(this,this.na(this.D+this.aa));this.A-=this.B.lf;return b}
function ai(a,b){this.A-=-1===this.C?-1===this.D?this.B.Mj:this.B.Lj:this.B.Jj;return b}function bi(a,b){switch(this.L>>3&7){case 4:this.Y=this.G;break;case 5:this.Y=this.I;break;case 6:this.Y=this.M;break;case 7:this.Y=this.H}return b}function ci(a,b){return b}
function di(a,b){var c=this.L>>3&7;switch(c){case 0:this.Y=this.G;break;case 2:this.Y=this.M;break;case 3:this.Y=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.Y=this.I;break;case 4:this.Y=I(this);break;case 5:this.Y=this.P;break;case 6:this.Y=this.K;break;case 7:this.Y=this.J}}return ai.call(this,0,b)}
function ei(a,b){switch(this.L>>3&7){case 0:b=this.Wa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.wb.Z;break;case 4:if(80386<=this.ja){b=this.Pb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Qb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&td(this,2);return ai.call(this,0,b)}
function Sh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a|b,128)}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a|b,this.Ia)&this.R}
function Ai(a,b){var c=a-b-Cf(this)|0;pf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255}function Bi(a,b){var c=a-b-Cf(this)|0;pf(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function Ci(){return vf(this)?1:0}function Di(){return qf(this)?1:0}function Ei(){return qf(this)?0:1}function Fi(){return tf(this)?1:0}function Gi(){return tf(this)?0:1}function Hi(){return qf(this)||tf(this)?1:0}
function Ii(){return qf(this)||tf(this)?0:1}function Ji(){return uf(this)?1:0}function Ki(){return uf(this)?0:1}function Li(){return rf(this)?1:0}function Mi(){return rf(this)?0:1}function Ni(){return!uf(this)!=!vf(this)?1:0}function Oi(){return!uf(this)!=!vf(this)?0:1}function Pi(){return tf(this)||!uf(this)!=!vf(this)?1:0}function Qi(){return tf(this)||!uf(this)!=!vf(this)?0:1}function Ri(a,b){return Si.call(this,a,b,this.xa())}function Ti(a,b){return Ui.call(this,a,b,this.xa())}
function Vi(a,b){return Si.call(this,a,b,this.I&31)}function Wi(a,b){return Ui.call(this,a,b,this.I&31)}function Xi(a,b){return Yi.call(this,a,b,this.xa())}function Zi(a,b){return $i.call(this,a,b,this.xa())}function aj(a,b){return Yi.call(this,a,b,this.I&31)}function bj(a,b){return $i.call(this,a,b,this.I&31)}function cj(a,b){var c=a-b|0;pf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255}
function dj(a,b){var c=a-b|0;pf(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function ej(a,b){wf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){wf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function gj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
function hj(a,b){return b>>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Pf(this,a),this.A-=this.B.bi;return b}
function jj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.uc(this.bc.rc(this.Ba,this.aa),a),this.A-=this.B.bi;return b}
function kj(a,b){var c=a^b;wf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c}function lj(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a^b,this.Ia)&this.R}function mj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function nj(a){var b=a-1|0;pf(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R}
function oj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<mj(a,c);){var f=b=c;b[0]+=f[0];b[1]+=f[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=mj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function pj(a){var b=a+1|0;pf(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R}
function qj(a){this.Ya=a;nd(this);this.Ya&-2147483648?te(this):ve(this)}function Bd(a){this.Md=a;Vb(this)}function rj(a){this.S|=1;this.Za.call(this,a);this.A-=-1===this.D?4:5}function Si(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;wf(this,a,32768,d&32768)}return a}function Ui(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;wf(this,a,-2147483648,d&-2147483648)}return a}
function Yi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;wf(this,a,32768,d&1)}return a}function $i(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;wf(this,a,-2147483648,d&1)}return a}function sj(){this.A-=-1===this.D?2:this.B.Zj;return 1}function tj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<<this.B.Vh);return a}function uj(){var a=this.xa();this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<<this.B.Vh);return a}function vj(){return null}
function wj(){return this.Y}function xj(a,b){this.Sb=this.va.Z;this.qb=this.ta.Z;this.U=this.ga;var c=K(this),d=this.aa;null!=Ad(this,a,b,!0)&&(vd(this,this.Sb,d,2),vd(this,c,d,d));this.Sb=this.qb=this.U=-1}function yj(a,b,c){this.A-=this.B.xj+(c||0);c=yd(this);var d=this.va.Z,e=K(this);a=this.va.Xi(a);-1!==a&&(J(this,c),J(this,d),J(this,e),null!=b&&J(this,b),this.pb=-1,mf(this,a))}
function zj(a){this.qb=this.ta.Z;this.U=this.ga;var b=D(this),c=D(this);a&&G(this,I(this)+a);Ad(this,b,c,!1)&&(a&&G(this,I(this)+a),Aj.call(this,this.wb),Aj.call(this,this.Wa),80386<=this.ja&&(Aj.call(this,this.Pb),Aj.call(this,this.Qb)));2==a&&this.le&&ff(this,this.Ga);this.qb=this.U=-1}function Bj(){8086==this.ja?(this.pb=-1,yj.call(this,0,null,2)):C.call(this,0,null,2)}function Wf(a,b){this.pb=a;void 0===b&&(b=11);yj.call(this,a,null,b)}
function C(a,b,c,d){var e=!1;this.la.Sd?80186<=this.ja&&(e=!0,0>this.pb?(-1!=this.Sb&&(this.Sb!==this.va.Z&&(this.va.Mb=this.Sb&3,lf(this,this.Sb)),this.Sb=-1),this.oe!==this.Ga&&mf(this,this.oe),-1!=this.qb&&(this.qb!==this.ta.Z&&ld(this,this.qb),this.qb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.fb&~this.ta.Ca|this.U-this.ta.Aa),this.U=-1)):8!=this.pb?(b=0,a=8):(b=0,a=-1,re(this),e=d=!1)):mf(this,this.oe);var f=a,g=b,h=32,k=Jf(this,this.Ga);204!=k||this.Pd||(d=!1);this.ba&131072&&(6==f&&99==
k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var l=this.la.Jb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Xb())):(this.Oa(f),this.Xb())}if(d&&e)throw-1;if(e)throw this.pb=a,yj.call(this,a,b,c),this.oe=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;}
function ue(a,b,c){this.qe=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Aj(a){var b=a.xb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc<this.pa&&a.Gc<(a.Z&3))&&a.load(0)}
function ze(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=Q(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Lf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Lf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=Q(this,this.K);this.A-=this.B.Jc;break;case 5:c=Q(this,this.J);this.A-=this.B.Jc;break;case 6:c=Q(this,T(this));this.A-=this.B.Id;break;case 7:c=Q(this,this.H);this.A-=this.B.Jc;break;case 64:c=Q(this,this.H+this.K+this.T());
this.A-=this.B.gc;break;case 65:c=Q(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Lf(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Lf(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=Q(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=Q(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Lf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=Q(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=Q(this,this.H+this.K+T(this));this.A-=
this.B.gc;break;case 129:c=Q(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Lf(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Lf(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=Q(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=Q(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Lf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=Q(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;
case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G&
-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}}
function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Lf(this,this.P+this.K);this.C=this.D;break;case 3:b=Lf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Lf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Lf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Lf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:b=Lf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Lf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Lf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;
case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,
a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}}
function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Lf(this,this.P+this.K);this.C=this.D;break;case 3:c=Lf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Lf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Lf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Lf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:c=Lf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Lf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Lf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;
case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,
c);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}}
function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Id;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T());
this.A-=this.B.gc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=R(this,this.H+this.K+T(this));this.A-=
this.B.gc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;
case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}}
function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;
break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,
a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break;
case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}}
function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;
break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,
c);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}}
function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Id;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T());
this.A-=this.B.gc;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=S(this,this.H+this.K+T(this));this.A-=
this.B.gc;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Of(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Of(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Of(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=
this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break;
case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}}
function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Of(this,this.P+this.K);this.C=this.D;break;case 3:b=Of(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:b=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Of(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.ed;break;case 1:case 2:Rf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Rf(this,
a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.hb;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}}
function Je(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this));
this.C=this.D;break;case 130:c=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Of(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.ed;break;case 1:case 2:Rf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,
c);this.A-=this.B.hb;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}}
function Ke(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Cj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Cj.call(this,1)+this.T());
break;case 69:c=Lf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Cj.call(this,2)+T(this));break;case 133:c=Lf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I&
255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}}
function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Cj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T());
this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Lf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C=
this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Lf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=
this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=
this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Pf(this,a)}}
function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Cj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T());
this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Lf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C=
this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Lf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=
this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Pf(this,c)}}
function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Cj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Cj.call(this,1)+this.T());
break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Cj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I&
65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=
this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}}
function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Cj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T());
this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C=
this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;
case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&
-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Qf(this,a)}}
function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Cj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T());
this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C=
this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;
case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Qf(this,c)}}
function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Cj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Cj.call(this,1)+this.T());
break;case 69:c=Of(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Cj.call(this,2)+T(this));break;case 133:c=Of(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break;
case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,
a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}}
function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Cj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T());
this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Of(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C=
this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Of(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>
3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Rf(this,a)}}
function af(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Cj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T());
this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Of(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C=
this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Of(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>>
3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Rf(this,c)}}
function Cj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<<c)+e|0}
function ge(){this.Yb[this.xa()].call(this)}function je(){J(this,I(this)&this.R);this.A-=this.B.Rc}function Id(){this.U=this.ga;var a=I(this)&this.R;J(this,this.G&this.R);J(this,this.I&this.R);J(this,this.M&this.R);J(this,this.H&this.R);J(this,a);J(this,this.P&this.R);J(this,this.K&this.R);J(this,this.J&this.R);this.A-=this.B.Tj;this.U=-1}
function Jd(){this.U=this.ga;this.J=this.J&~this.R|D(this);this.K=this.K&~this.R|D(this);this.P=this.P&~this.R|D(this);G(this,I(this)+this.aa);this.H=this.H&~this.R|D(this);this.M=this.M&~this.R|D(this);this.I=this.I&~this.R|D(this);this.G=this.G&~this.R|D(this);this.A-=this.B.Rj;this.U=-1}function Kd(){this.V.call(this,xh)}function ke(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.fa.call(this,wh)}function le(){this.S|=20;this.ka=this.Ka=this.Pb;this.A-=this.B.nd}
function me(){this.S|=20;this.ka=this.Ka=this.Qb;this.A-=this.B.nd}function ne(){this.S|=1024;this.Ha&1024||(this.aa^=6,this.R^=-65536,bf(this));this.A-=this.B.nd}function oe(){this.S|=2048;this.Ha&2048||(this.Nc^=6,this.Ca^=-65536,ye(this));this.A-=this.B.nd}function Ld(){J(this,this.Ma());this.A-=this.B.Rc}function Md(){this.V.call(this,Ph)}function Nd(){J(this,this.T());this.A-=this.B.Rc}function Od(){this.V.call(this,Nh)}
function Pd(){var a=1,b=0,c=this.Ca,d=5;this.Ha&192&&(a=this.I&c,b=1,this.Ha&256&&(d=4));if(a--){var e=this.M&65535;If(this,e,1,!0)&&(e=ic(this.ea,e,1,this.Ga-b-1),this.tc(this.Wa.rc(this.J&c,1),e),this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(of(this),this.S|=256))}}
function Qd(){var a=1,b=0,c=this.Ca,d=5;this.Ha&192&&(a=this.I&c,b=1,this.Ha&256&&(d=4));if(a--){var e=this.M&65535;If(this,e,this.aa,!0)&&(e=ic(this.ea,e,this.aa,this.Ga-b-1),this.uc(this.Wa.rc(this.J&c,this.aa),e),this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(of(this),this.S|=256))}}
function Rd(){var a=1,b=0,c=this.Ca,d=5;this.Ha&192&&(a=this.I&c,b=1,this.Ha&256&&(d=4));if(a--){var e=this.M&65535;if(If(this,e,1,!1)){var f=this.Qa(this.wb.qc(this.K&c,1));mc(this.ea,e,1,f,this.Ga-b-1);this.K=this.K&~c|this.K+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}}}
function Sd(){var a=1,b=0,c=this.Ca,d=5;this.Ha&192&&(a=this.I&c,b=1,this.Ha&256&&(d=4));if(a--){var e=ud(this,this.wb,this.K&c),f=this.M&65535;If(this,f,this.aa,!1)&&(mc(this.ea,f,this.aa,e,this.Ga-b-1),this.K=this.K&~c|this.K+(this.ba&1024?-this.aa:this.aa)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(of(this),this.S|=256))}}function Dj(){var a=this.T();vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}
function Ej(){var a=this.T();vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}function Fj(){var a=this.T();qf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}function Gj(){var a=this.T();qf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}function Hj(){var a=this.T();tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}function Ij(){var a=this.T();tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}
function Jj(){var a=this.T();qf(this)||tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}function Kj(){var a=this.T();qf(this)||tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}function Lj(){var a=this.T();uf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}function Mj(){var a=this.T();uf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}function Nj(){var a=this.T();rf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}
function Oj(){var a=this.T();rf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}function Pj(){var a=this.T();!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}function Qj(){var a=this.T();!uf(this)==!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}function Rj(){var a=this.T();tf(this)||!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}
function Sj(){var a=this.T();tf(this)||!uf(this)!=!vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}function Tj(){this.Ib.call(this,Uj,this.xa);this.A-=-1===this.C?1:this.B.Cg}function Vj(){this.S|=1;this.Za.call(this,ai)}function Wj(){this.S|=1;this.fa.call(this,ai)}function Xj(){this.Na.call(this,ai)}function Yj(){this.V.call(this,ai)}function Wd(){this.Ib.call(this,Zj,uj)}function Xd(){this.za.call(this,2==this.aa?ak:bk,uj)}
function ck(){var a=Sf(this),b=D(this);O(this,b);a&&G(this,I(this)+a);this.A-=this.B.Yj}function dk(){var a=D(this);O(this,a);this.A-=this.B.Vj}function Yd(){this.U=this.ga;var a=Sf(this),b=this.xa()&31;this.A-=11;J(this,this.P);var c=I(this)&this.R;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.P=this.P&~this.R|this.P-this.aa&this.R,J(this,ud(this,this.ta,this.P&this.R));J(this,c)}this.P=this.P&~this.R|c;G(this,I(this)&~this.ta.Ca|I(this)-a&this.ta.Ca);this.U=-1}
function Zd(){this.U=this.ga;G(this,I(this)&~this.ta.Ca|this.P&this.ta.Ca);this.P=this.P&~this.R|D(this)&this.R;this.A-=5;this.U=-1}function ek(){zj.call(this,Sf(this));this.A-=this.B.Xj}function fk(){zj.call(this,0);this.A-=this.B.Wj}function gk(a){this.Og=a;this.V.call(this,Kh)}function hk(){this.S|=36;this.A-=this.B.nd}function ee(){ie.call(this)}function Hd(){C.call(this,6)}
function ie(){O(this,this.oe-this.va.Aa);ub(this,"Undefined opcode "+t(this.Qa(this.Ga))+" at "+("0x"+r(this.Ga)));this.Xb()}
var Dd=[function(){this.Za.call(this,sh)},function(){this.fa.call(this,th)},function(){this.Na.call(this,sh)},function(){this.V.call(this,th)},function(){this.G=this.G&-256|sh.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|th.call(this,this.G&this.R,this.Ma());this.A--},function(){vd(this,this.Wa.Z,this.aa,2);this.A-=this.B.Ge},function(){this.U=this.ga;xd(this,D(this));this.A-=this.B.Ac;this.U=-1},function(){this.Za.call(this,fi)},function(){this.fa.call(this,gi)},function(){this.Na.call(this,
fi)},function(){this.V.call(this,gi)},function(){this.G=this.G&-256|fi.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|gi.call(this,this.G&this.R,this.Ma());this.A--},function(){vd(this,this.va.Z,this.aa,2);this.A-=this.B.Ge},function(){lf(this,D(this));this.A-=this.B.Ac},function(){this.Za.call(this,qh)},function(){this.fa.call(this,rh)},function(){this.Na.call(this,qh)},function(){this.V.call(this,rh)},function(){this.G=this.G&-256|qh.call(this,this.G&255,this.xa());this.A--},
function(){this.G=this.G&~this.R|rh.call(this,this.G&this.R,this.Ma());this.A--},function(){vd(this,this.ta.Z,this.aa,2);this.A-=this.B.Ge},function(){this.U=this.ga;ld(this,D(this));this.A-=this.B.Ac;this.U=-1},function(){this.Za.call(this,Ai)},function(){this.fa.call(this,Bi)},function(){this.Na.call(this,Ai)},function(){this.V.call(this,Bi)},function(){this.G=this.G&-256|Ai.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|Bi.call(this,this.G&this.R,this.Ma());this.A--},
function(){vd(this,this.wb.Z,this.aa,2);this.A-=this.B.Ge},function(){this.U=this.ga;wd(this,D(this));this.A-=this.B.Ac;this.U=-1},function(){this.Za.call(this,uh)},function(){this.fa.call(this,vh)},function(){this.Na.call(this,uh)},function(){this.V.call(this,vh)},function(){this.G=this.G&-256|uh.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|vh.call(this,this.G&this.R,this.Ma());this.A--},function(){this.S|=20;this.ka=this.Ka=this.Wa;this.A-=this.B.nd},function(){var a=
this.G&255,b=sf(this),c=qf(this);if(9<(a&15)||b)a+=6,b=16;if(159<a||c)a+=96,c=1;a&=255;this.G=this.G&-256|a;wf(this,a,128);c?xf(this):yf(this);b?Ff(this):Df(this);this.A-=this.B.Fe},function(){this.Za.call(this,cj)},function(){this.fa.call(this,dj)},function(){this.Na.call(this,cj)},function(){this.V.call(this,dj)},function(){this.G=this.G&-256|cj.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|dj.call(this,this.G&this.R,this.Ma());this.A--},function(){this.S|=20;this.ka=
this.Ka=this.va;this.A-=this.B.nd},function(){var a=this.G&255,b=sf(this),c=qf(this);if(9<(a&15)||b)a-=6,b=16;if(159<a||c)a-=96,c=1;a&=255;this.G=this.G&-256|a;wf(this,a,128);c?xf(this):yf(this);b?Ff(this):Df(this);this.A-=this.B.Fe},function(){this.Za.call(this,kj)},function(){this.fa.call(this,lj)},function(){this.Na.call(this,kj)},function(){this.V.call(this,lj)},function(){this.G=this.G&-256|kj.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|lj.call(this,this.G&this.R,
this.Ma());this.A--},function(){this.S|=20;this.ka=this.Ka=this.ta;this.A-=this.B.nd},function(){var a,b,c=this.G&255,d=this.G>>8&255;9<(c&15)||sf(this)?(c+=6,80286<=this.ja&&255<c&&d++,d++,a=b=1):a=b=0;this.G=this.G&-65536|(d<<8|c)&65295;a?xf(this):yf(this);b?Ff(this):Df(this);this.A-=this.B.Fe},function(){this.Za.call(this,Ih)},function(){this.fa.call(this,Jh)},function(){this.Na.call(this,Ih)},function(){this.V.call(this,Jh)},function(){Ih.call(this,this.G&255,this.xa());this.A--},function(){Jh.call(this,
this.G&this.R,this.Ma());this.A--},function(){this.S|=20;this.ka=this.Ka=this.wb;this.A-=this.B.nd},function(){var a,b,c=this.G&255,d=this.G>>8&255;9<(c&15)||sf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?xf(this):yf(this);b?Ff(this):Df(this);this.A-=this.B.Fe},function(){this.G=pj.call(this,this.G)},function(){this.I=pj.call(this,this.I)},function(){this.M=pj.call(this,this.M)},function(){this.H=pj.call(this,this.H)},function(){G(this,pj.call(this,I(this)))},function(){this.P=
pj.call(this,this.P)},function(){this.K=pj.call(this,this.K)},function(){this.J=pj.call(this,this.J)},function(){this.G=nj.call(this,this.G)},function(){this.I=nj.call(this,this.I)},function(){this.M=nj.call(this,this.M)},function(){this.H=nj.call(this,this.H)},function(){G(this,nj.call(this,I(this)))},function(){this.P=nj.call(this,this.P)},function(){this.K=nj.call(this,this.K)},function(){this.J=nj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Rc},function(){J(this,this.I&
this.R);this.A-=this.B.Rc},function(){J(this,this.M&this.R);this.A-=this.B.Rc},function(){J(this,this.H&this.R);this.A-=this.B.Rc},function(){J(this,I(this)-2&65535);this.A-=this.B.Rc},function(){J(this,this.P&this.R);this.A-=this.B.Rc},function(){J(this,this.K&this.R);this.A-=this.B.Rc},function(){J(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.Ac},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.Ac},function(){this.M=this.M&~this.R|D(this);
this.A-=this.B.Ac},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.Ac},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.Ac},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.Ac},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.Ac},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.Ac},Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,function(){this.za.call(this,ik,this.Ma);this.A-=-1===this.C?1:this.B.Cg},Tj,function(){this.za.call(this,
ik,this.T);this.A-=-1===this.C?1:this.B.Cg},function(){this.Za.call(this,ej)},function(){this.fa.call(this,fj)},function(){this.Na.call(this,ij)},function(){this.V.call(this,jj)},Vj,Wj,Xj,Yj,function(){this.S|=1;this.fa.call(this,ei)},function(){this.S|=1;this.ka=this.Ka=this.of;this.V.call(this,Vh)},function(){var a;this.V.call(this,di);switch(this.L>>3&7){case 0:a=this.G;this.G=this.Y;xd(this,a);break;case 1:a=this.I;this.I=this.Y;lf(this,a);break;case 2:a=this.M;this.M=this.Y;ld(this,a);break;
case 3:a=this.H;this.H=this.Y;wd(this,a);break;case 4:a=I(this);G(this,this.Y);80386<=this.ja?this.Pb.load(a):xd(this,a);break;case 5:a=this.P;this.P=this.Y;80386<=this.ja?this.Qb.load(a):lf(this,a);break;case 6:a=this.K;this.K=this.Y;ld(this,a);break;case 7:a=this.J,this.J=this.Y,wd(this,a)}},function(){this.S|=1;this.U=this.ga;this.Y=D(this);this.za.call(this,jk,wj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=
3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;
this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.aa?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.aa?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ej},function(){xj.call(this,this.Ma(),Sf(this));this.A-=this.B.hj},function(){this.A-=3},function(){var a=yd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ba&
131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ba&-65536;zd(this,a);this.A-=this.B.Ac}},function(){var a=this.G>>8&255;a&1?xf(this):yf(this);a&4?(this.resultType&=-3,this.ba|=4):(this.resultType&=-3,this.ba&=-5);a&16?Ff(this):Df(this);a&64?Gf(this):Ef(this);a&128?(this.resultType&=-17,this.ba|=128):(this.resultType&=-17,this.ba&=-129);this.A-=this.B.ic},function(){this.G=this.G&-65281|(yd(this)&213)<<8;this.A-=this.B.ic},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.qc(b,
1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|ud(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.tc(this.ka.rc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.uc(this.ka.rc(a,this.aa),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ca,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.qc(this.K&c,1));this.tc(this.Wa.rc(this.J&c,1),e);e=this.ba&1024?-1:1;this.K=
this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=ud(this,this.ka,this.K&c);this.uc(this.Wa.rc(this.J&c,this.aa),e);e=this.ba&1024?-this.aa:this.aa;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,
d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Kf(this,this.ka,this.K),f=Kf(this,this.Wa,this.J);this.C=this.D;Ih.call(this,e,f);e=this.ba&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Mf(this,
this.ka,this.K&c),f=Mf(this,this.Wa,this.J&c);this.C=this.D;Jh.call(this,e,f);e=this.ba&1024?-this.aa:this.aa;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){wf(this,this.G&this.xa(),128);this.A-=this.B.Fe},function(){wf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.Fe},function(){var a=1,b=0,c=this.Ca,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));
if(a--){var e=this.G;this.tc(this.Wa.rc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.uc(this.Wa.rc(this.J&c,this.aa),e);this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&
~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.qc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=ud(this,this.ka,
this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Kf(this,this.Wa,this.J);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},
function(){var a=1,b=0,c=this.Ca,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Mf(this,this.Wa,this.J&c);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.ic},function(){this.I=this.I&-256|this.xa();this.A-=this.B.ic},function(){this.M=
this.M&-256|this.xa();this.A-=this.B.ic},function(){this.H=this.H&-256|this.xa();this.A-=this.B.ic},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.ic},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.ic},function(){this.M=this.M&
~this.R|this.Ma();this.A-=this.B.ic},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.ic},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.ic},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.ic},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.ic},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.ic},ck,dk,ck,dk,function(){this.V.call(this,Wh)},function(){this.V.call(this,Uh)},function(){this.S|=1;this.Ib.call(this,kk,this.xa)},function(){this.S|=1;this.za.call(this,
kk,this.Ma)},ek,fk,ek,fk,function(){if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.yj;this.pb=-1;yj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.ie[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Ga)){b=!1;break a}this.la.Ni&&z(this,16)&&lk(this.ha,a,this.Ga);b=!0}b?(this.pb=-1,yj.call(this,a,null,0)):this.A--}},function(){if(vf(this))if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.zj;
this.pb=-1;yj.call(this,4,null,a)}else this.A-=this.B.Aj},function(){if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{this.qb=this.ta.Z;this.U=this.ga;this.A-=this.B.wj;if(this.Ya&1&&this.ba&16384){var a=this.na(this.Sa.Aa+0);md(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ba&131072)d=d&131071|this.ba&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);nd(this,!0,!0);ld(this,f);G(this,e);xd(this,g);wd(this,h);this.Pb.load(k);this.Qb.load(l)}null!=
Ad(this,b,c,!1)&&(zd(this,d,a),this.le&&ff(this,this.Ga))}this.qb=this.U=-1}},function(){this.Ib.call(this,Zj,sj)},function(){this.za.call(this,2==this.aa?ak:bk,sj)},function(){this.Ib.call(this,Zj,tj)},function(){this.za.call(this,2==this.aa?ak:bk,tj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;wf(this,this.G,128);this.A-=this.B.bj}else Bj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;pf(this,a,b,c,
191);this.A-=this.B.aj},function(){this.G=this.G&-256|(qf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Kf(this,this.ka,this.H+(this.G&255));this.A-=this.B.$j},function(){gk.call(this,216)},function(){gk.call(this,217)},function(){gk.call(this,218)},function(){gk.call(this,219)},function(){gk.call(this,220)},function(){gk.call(this,221)},function(){gk.call(this,222)},function(){gk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&!tf(this)?(O(this,K(this)+
a),this.A-=this.B.Hj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&tf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ca?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa();If(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255,
this.A-=this.B.Bh)},function(){var a=this.xa();If(this,a,this.aa,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.aa,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();If(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();If(this,a,this.aa,!1)&&(mc(this.ea,a,this.aa,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.fj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=
this.B.Ch},function(){Ad(this,this.Ma(),Sf(this));this.A-=this.B.Cj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;If(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;If(this,a,this.aa,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.aa,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;If(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a=
this.M&65535;If(this,a,2,!1)&&(mc(this.ea,a,this.aa,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},hk,hk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ba&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(of(this),this.ha.Xb()):this.ba&512||(this.ha&&of(this),this.Xb()))},function(){qf(this)?yf(this):xf(this);this.A-=2},function(){this.bb=!1;this.Ib.call(this,mk,vj);this.bb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.bb=
!1;this.za.call(this,nk,vj);this.bb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){yf(this);this.A-=2},function(){xf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ba&=-513,this.A-=this.B.dj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ba|=512,this.S|=4,this.A-=2)},function(){this.ba&=-1025;this.A-=2},function(){this.ba|=1024;this.A-=2},function(){this.Ib.call(this,Ed,vj)},function(){this.za.call(this,Fd,vj)}],Uj=[sh,fi,qh,Ai,
uh,cj,kj,Ih],ik=[th,gi,rh,Bi,vh,dj,lj,Jh],jk=[function(a,b){this.A-=-1===this.C?this.B.Ac:this.B.Sj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],kk=[function(a,b){this.A-=-1===this.C?this.B.Kj:this.B.Ij;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<d-1,c=(a<<d|a>>8-d)&255):e=a<<7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=
Cf(this);(d%=9)?(c=(a<<d|e<<d-1|a>>9-d)&255,e=a<<d-1):e<<=7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Cf(this);(d%=9)?(c=(a>>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8<d?c=0:(e=a<<d-1,c=e<<1&255);wf(this,c,128,e&128,(c^e)&128)}return c},function(a,b){var c=b&this.ra;c&&(c=8<c?0:a>>>c-1,a=c>>>1&255,wf(this,a,128,c&1,a&128));return a},Mh,function(a,b){var c=b&this.ra;c&&(9<c&&(c=9),c=a<<24>>24>>c-1,
a=c>>1&255,wf(this,a,128,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<d-1,c=(a<<d|a>>16-d)&65535):e=a<<15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Cf(this);(d%=17)?(c=(a<<d|e<<d-1|a>>17-d)&65535,e=a<<d-1):e<<=15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Cf(this);(d%=17)?(c=(a>>d|e<<
16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16<d?c=0:(e=a<<d-1,c=e<<1&65535);wf(this,c,32768,e&32768,(c^e)&32768)}return c},function(a,b){var c=b&this.ra;c&&(c=16<c?0:a>>>c-1,a=c>>>1&65535,wf(this,a,32768,c&1,a&32768));return a},Mh,function(a,b){var c=b&this.ra;c&&(17<c&&(c=17),c=a<<16>>16>>c-1,a=c>>1&65535,wf(this,a,32768,c&1));return a}],bk=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<<d|a>>>32-d,Bf(this,c,a<<d-1,-2147483648));
return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=a<<32-d,c=a>>>d|e;Bf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Cf(this),c=a<<d|c<<d-1|a>>>32-d>>>1,Bf(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Cf(this),c=a>>>d|c<<32-d|a<<32-d<<1,Bf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<<d-1,c=d<<1,wf(this,c,-2147483648,d&-2147483648,(c^d)&-2147483648));return c},function(a,b){var c=b&this.ra;c&&(c=a>>>
c-1,a=c>>>1,wf(this,a,-2147483648,c&1,a&-2147483648));return a},Mh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,wf(this,a,-2147483648,c&1));return a}],mk=[function(a,b){b=this.xa();wf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Mh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;pf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(xf(this),zf(this)):
(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127<b||-128>b?(xf(this),zf(this)):(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a},function(a,b){if(!a)return Bj.call(this),a;var c=(b=this.G&65535)/a;if(255<c)return Bj.call(this),a;this.ia=c&255|(b%a&255)<<8;this.bb=!0;this.A-=-1===this.D?this.B.lj:this.B.kj;this.S|=2;return a},function(a,b){if(!a)return Bj.call(this),
a;var c=a<<24>>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Bj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.bb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a}],nk=[function(a,b){b=this.Ma();wf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Mh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;pf(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,
b){if(2==this.aa){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Sh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(xf(this),zf(this)):(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a,b){var c;2==this.aa?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767<c||-32768>c):(Rh.call(this,a,this.G),c=this.wa!=this.ia>>31);c?(xf(this),zf(this)):(yf(this),Af(this));
this.bb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(2==this.aa){if(!a)return Bj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Bj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!oj.call(this,this.G,this.M,a))return Bj.call(this),a;this.ia|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.nj:this.B.mj;this.S|=2;return a},function(a,b){if(2==this.aa){if(!a)return Bj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/
c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Bj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!oj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Bj.call(this),a;this.ia|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],Ed=[function(a){var b=a+1|0;pf(this,a,1,b,190);this.A-=-1===
this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;pf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Mh,Mh,Mh,Mh,Mh,Mh],Fd=[function(a){var b=a+1|0;pf(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;pf(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.jj:this.B.ij;this.S|=2;return a},function(a){if(-1===this.D)return Mh.call(this,
a);this.U=this.ga;xj.call(this,a,this.na(this.D+this.aa));this.A-=this.B.gj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Ej:this.B.Dj;this.S|=2;return a},function(a){if(-1===this.D)return Mh.call(this,a);Ad(this,a,this.na(this.D+this.aa));this.A-=this.B.Bj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Uj;this.S|=2;return a},Mh];
function pe(){this.V.call(this,hj);this.A-=-1===this.D?6:13}function qe(){this.fa.call(this,gj);this.A-=-1===this.D?12:19}var he=Array(256);he[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.za.call(this,this.Ng,vj)};he[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.za.call(this,ok,vj)};he[2]=function(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.V.call(this,Th)};he[3]=function(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.V.call(this,Zh)};
he[5]=function(){this.pa?C.call(this,13,0,0,!0):(Hf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),kd(this.Wa,2102,this.na(2084)),kd(this.va,2108,this.na(2082)),kd(this.ta,2114,this.na(2080)),kd(this.wb,2120,this.na(2078)),zd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Lc=this.na(2138)|
this.Qa(2140)<<16,this.Pd=this.Lc+this.na(2142),kd(this.Cc,2132,this.na(2076)),kd(this.Sa,2144,this.na(2070)),this.A-=195)};he[6]=function(){this.pa?C.call(this,13,0):(this.Ya&=-9,this.A-=2)};he[11]=Hd;he[166]=Hd;he[255]=Hd;var M=[];M[5]=Hd;
M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Wa.qc(this.J&this.Ca,204);if(-1!==a){qj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;zd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Lc=this.oa(a+100);this.Pd=this.Lc+this.oa(a+104);jd(this.Cc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));jd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);jd(this.Qb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));jd(this.Pb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));jd(this.wb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));jd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));jd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));jd(this.Wa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+
8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Vj;M[17]=Wj;M[18]=Xj;M[19]=Yj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Ya;break;case 2:a=this.qe;break;case 3:a=this.Md;break;default:ie.call(this);return}xe(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(xe(this,a&7,this.Ja[b]),this.A-=22)}};
M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=we(this,a&7);switch((a&56)>>3){case 0:qj.call(this,b);this.A-=10;break;case 2:this.qe=b;this.A-=4;break;case 3:Bd.call(this,b);this.A-=5;break;default:ie.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(a=we(this,a&7),a!=this.Ja[b]&&(gf(this,!1),this.Ja[b]=a,gf(this,!0)),this.A-=4>b?22:14)}};
M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(xe(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(this.Ce[b]=we(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[129]=function(){var a=this.Ma();vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};
M[130]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[131]=function(){var a=this.Ma();qf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[132]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[133]=function(){var a=this.Ma();tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[134]=function(){var a=this.Ma();qf(this)||tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};
M[135]=function(){var a=this.Ma();qf(this)||tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[136]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[137]=function(){var a=this.Ma();uf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[138]=function(){var a=this.Ma();rf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[139]=function(){var a=this.Ma();rf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};
M[140]=function(){var a=this.Ma();!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[141]=function(){var a=this.Ma();!uf(this)==!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[142]=function(){var a=this.Ma();tf(this)||!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[143]=function(){var a=this.Ma();tf(this)||!uf(this)!=!vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[144]=function(){rj.call(this,Ci)};
M[145]=function(){rj.call(this,Ci)};M[146]=function(){rj.call(this,Di)};M[147]=function(){rj.call(this,Ei)};M[148]=function(){rj.call(this,Fi)};M[149]=function(){rj.call(this,Gi)};M[150]=function(){rj.call(this,Hi)};M[151]=function(){rj.call(this,Ii)};M[152]=function(){rj.call(this,Ji)};M[153]=function(){rj.call(this,Ki)};M[154]=function(){rj.call(this,Li)};M[155]=function(){rj.call(this,Mi)};M[156]=function(){rj.call(this,Ni)};M[157]=function(){rj.call(this,Oi)};M[158]=function(){rj.call(this,Pi)};
M[159]=function(){rj.call(this,Qi)};M[160]=function(){vd(this,this.Pb.Z,this.aa,2);this.A-=this.B.Ge};M[161]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.Ac;this.U=-1};M[163]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.aa?Ri:Ti);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.aa?Vi:Wi);this.A-=-1===this.D?3:7};M[168]=function(){vd(this,this.Qb.Z,this.aa,2);this.A-=this.B.Ge};
M[169]=function(){this.U=this.ga;var a=D(this);this.Qb.load(a);this.A-=this.B.Ac;this.U=-1};M[171]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.aa?Xi:Zi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.aa?aj:bj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.aa?Oh:Qh)};M[178]=function(){this.V.call(this,$h)};M[179]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};
M[180]=function(){this.V.call(this,Xh)};M[181]=function(){this.V.call(this,Yh)};
M[182]=function(){this.Na.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.fb=this.fb&~this.R|this.G>>8&255;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.Y}this.A-=-1===
this.D?3:6};M[183]=function(){td(this,2);this.V.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,pk,this.xa)};M[187]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)};
M[188]=function(){this.V.call(this,yh)};M[189]=function(){this.V.call(this,zh)};
M[190]=function(){this.Na.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.fb=this.fb&~this.R|this.G<<16>>24&this.R;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&this.R;
this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){td(this,2);this.V.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6};
var hf=[function(){this.A-=2+(-1===this.D?0:1);return this.Cc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Cc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.ib(this.Sa.Zb+4,this.Sa.xb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.xb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.xb&7168)))return Gf(this),
a;Ef(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.xb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Gf(this),a;Ef(this);return a},Mh,Mh],Gd=[fe,fe,fe,fe,fe,fe,Mh,Mh],ok=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.aa&&(a|=b<<16);this.mb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Pd-this.Lc;var b=this.Lc;
80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.aa&&(a|=b<<16);this.mb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ba&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ba&131072?C.call(this,6):(this.Lc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Pd=this.Lc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Ya},Mh,function(a){this.ba&
131072?C.call(this,6):(Hf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Mh],pk=[Mh,Mh,Mh,Mh,Ah,Dh,Ch,Bh];
function qk(a){Ua.call(this,"ChipSet",a,qk,32768);var b=a.model;b&&!rk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=b&&rk[b]||sk;this.V=0;if(b=a[tk])this.V=uk(b,vk|wk.Ck);else{this.pa=[360,360];(b=a.floppies)&&b.length&&(this.pa=b);if(b=this.pa.length)this.V|=xk.Qg,b--,this.V|=(b&3)<<xk.yf;if(b=a.monitor||(this.ja<dg?"mono":"ega"),void 0!==yk[b])this.V|=yk[b]<<wk.yf}this.ua=uk(a[zk]||"11110000",0);this.dc=(this.ja|0)==Ak?16:64;this.pb=this.Ja=1;this.ja>=dg&&(this.pb=this.Ja=2);this.ra=a.scaleTimers||
!1;this.oc=a.rtcDate;this.Sb=!1;a.sound&&(this.Kb=this.Ka=null,window&&(this.Kb=window.AudioContext||window.webkitAudioContext),this.Kb&&(this.Ka=new this.Kb));this.reset(!0);sb(this)}db(qk);var Ak=5150,sk=5150.9,dg=5170,rk={5150:Ak,5160:5160,5170:dg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:sk,deskpro386:5180},tk="sw1",zk="sw2",Bk={};Bk[Ak]={0:"Bootable Floppy Drive",1:"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"};Bk[5160]={};
Bk[5160][0]="Loop on Post";Bk[5160][1]=Bk[Ak][1];Bk[5160][2]=Bk[Ak][2];Bk[5160][4]=Bk[Ak][4];Bk[5160][6]=Bk[Ak][6];Bk[5160.101]={0:"Total RAM",4:"Coprocessor",5:"Serial Interface"};var Ck={};Ck[Ak]={0:"Expansion Memory Size",4:"Reserved"};Ck[5160.101]={0:"Floppy Type",1:"Fast Startup",2:"HDU",4:"Monitor Type",6:"Number of Floppy Drives"};var yk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},xk={Qg:1,ONE:0,ao:64,Zn:128,En:192,xf:192,yf:6},vk=12,wk={$n:16,xn:32,Ck:48,xf:48,yf:4};m=qk.prototype;
m.Rb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Dk(this,b,this.V,Bk[this.ja]),!0;case zk:if((this.ja|0)==Ak||5160.101==this.ja)return this.qa[b]=c,Dk(this,b,this.ua,Ck[this.ja]),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;if(this.Vb=Eb(a,"FPU"))this.V|=2;this.B=Eb(a,"Keyboard");this.tb=c.X.Hd/1193181;hc(b,this,Ek);lc(b,this,Fk);this.ja<dg?5160.101!=this.ja?(hc(b,this,Gk),lc(b,this,Hk)):(hc(b,this,Ik),lc(b,this,Jk)):(hc(b,this,Kk),lc(b,this,Lk),5180==(this.ja|0)&&(hc(b,this,Mk),lc(b,this,Nk)));if(d){var e=this;Ok(d,1024,function(){for(var a=0;a<e.wc.length;a++){for(var b=e.wc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+t(b.Yc[d]);c+=" IMR="+
t(b.Ad)+" IRR="+t(b.pc)+" ISR="+t(b.Oc)+" DELAY="+b.kf;e.ha.O(c)}});Ok(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.L.length;b++)if(null==a||b==a){Pk(e,b);var c=e.L[b],d="TIMER"+b+":",l=0;if(null!=c.md)for(var n=0;n<=c.md;n++)l|=c.Bb[n]<<8*n;d+=" mode="+(c.mode>>1)+" bytes="+c.md+" count="+u(l);e.ha.O(d)}});Ok(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Qk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}df(c,26,this.am.bind(this))};
m.kc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};
m.reset=function(a){var b;this.Y=this.V;this.ka=this.ua;Rk(this,tk,this.Y);Rk(this,zk,this.ka);Sk(this);this.N=Array(this.pb);for(b=0;b<this.pb;b++)Tk(this,b);this.wc=Array(this.Ja);Uk(this,0,32);1<this.Ja&&Uk(this,1,160);this.eb=this.bb=null;this.L=Array(5180==(this.ja|0)?6:3);for(b=0;b<this.L.length;b++)Vk(this,b);this.Ia=this.Ib=this.W=this.fb=null;this.Fa=0;5160.101==this.ja&&(this.Ea=0);if(this.ja>=dg){this.C=16;this.ga=0;this.fa=16;this.Pa=0;this.ia=160;512<=Wk(this)&&(this.ia|=16);3==Xk(this)&&
(this.ia|=64);5180==(this.ja|0)&&(this.ia|=12);this.Za=3;this.za=Array(8);this.wa=0;a&&(this.A=Array(64));Yk(this,this.oc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.Y&(wk.xf|2|xk.Qg|xk.xf);this.A[16]=Zk(this,0)<<4|Zk(this,1);$k(this)}};
function Yk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Na=a.Ba=0;a.Yb=a.qb=null}
function Qk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.A[b]^=128);return c}function al(a){var b;void 0===b&&(b=a.qb);a.Ba=Wc(a.F,a.ra)+b;a.A[11]&64&&$c(a.F,b)}function $k(a){for(var b=0,c=16;46>c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8}
m.save=function(){var a=new jf(this);N(a,0,[this.V,this.ua,this.Y,this.ka]);for(var b=[],c=0;c<this.N;c++){for(var d=this.N[c],e=d,f=[],g=0;g<e.Dc.length;g++){var h=e.Dc[g];f[g]=[h.Be,h.ig,h.Fc,h.Eb,h.Bb,h.mode,h.kg,h.rn,h.sn]}b[c]=[d.$b,d.Xg,d.zi,d.Lb,f,d.Ai]}N(a,1,[b]);b=[];for(c=0;c<this.wc.length;c++)d=this.wc[c],b[c]=[d.kf,d.Yc,d.Vd,d.Ad,d.pc,d.Oc,d.ve,d.Cf];N(a,2,[b]);b=[];for(c=0;c<this.L.length;c++)d=this.L[c],b[c]=[d.Fc,d.$c,d.Bb,d.we,d.Zg,d.mode,d.eg,d.Dd,d.md,d.vd,d.Xe,d.ye,d.xd,d.$b,d.bf];
N(a,3,[this.bb,b,this.eb]);N(a,4,[this.fb,this.W,this.Ib,this.Ia,this.Fa]);this.ja>=dg&&(N(a,5,[this.C,this.ga,this.fa,this.Pa,this.ia,this.Za]),N(a,6,[this.za[7],this.za,this.wa,this.A,this.Na,this.Ba]));return a.data()};
m.restore=function(a){var b,c;b=a[0];this.V=b[0];this.ua=b[1];this.Y=b[2];this.ka=b[3];b=a[1];for(c=0;c<this.pb;c++)Tk(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Ja;c++)Uk(this,c,0===c?32:160,b[0][c]);b=a[3];this.bb=b[0];this.eb=b[2];for(c=0;c<this.L.length;c++)Vk(this,c,b[1][c]);b=a[4];this.fb=b[0];this.W=b[1];this.Ib=b[2];this.Ia=b[3];this.Fa=b[4];if(b=a[5])this.C=b[0],this.ga=b[1],this.fa=b[2],this.Pa=b[3],this.ia=b[4],this.Za=b[5];if(b=a[6])this.za=b[1],this.za[7]=b[0],this.wa=b[2],this.A=
b[3],this.Na=b[4],this.Ba=b[5],Yk(this);return!0};var bl=[0,null,null,0,Array(4),0];function Tk(a,b,c){var d=a.N[b];d||(d={Dc:Array(4)});c=c&&5<=c.length?c:bl;d.$b=c[0];d.Xg=c[1];d.zi=c[2];d.Lb=c[3];d.hm=b<<2;for(var e=0;e<d.Dc.length;e++)cl(d,e,c[4][e]);d.Ai=c[5]||0;a.N[b]=d}var dl=[!0,[0,0],[0,0],[0,0],[0,0]];
function cl(a,b,c){var d=a.Dc[b];d||(d={ig:[0,0],Fc:[0,0],Eb:[0,0],Bb:[0,0]});c=c&&8==c.length?c:dl;d.Be=c[0];d.ig[0]=c[1][0];d.ig[1]=c[1][1];d.Fc[0]=c[2][0];d.Fc[1]=c[2][1];d.Eb[0]=c[3][0];d.Eb[1]=c[3][1];d.Bb[0]=c[4][0];d.Bb[1]=c[4][1];d.mode=c[5];d.kg=c[6];d.controller=a;d.Ui=b;el(d,c[8],c[9]);a.Dc[b]=d}function el(a,b,c,d){"string"==typeof b&&(b=hb(b));b&&(a.done=null,a.rn=b.id,a.sn=c,a.pg=b,a.fh=b[c],a.Eg=d)}var fl=[0,Array(4)];
function Uk(a,b,c,d){var e=a.wc[b];e||(e={Yc:[null,null,null,null]});d=d&&8==d.length?d:fl;e.port=c;e.vo=b<<3;e.kf=d[0];e.Yc[0]=d[1][0];e.Yc[1]=d[1][1];e.Yc[2]=d[1][2];e.Yc[3]=d[1][3];e.Vd=d[2];e.Ad=d[3];e.pc=d[4];e.Oc=d[5];e.ve=d[6];e.Cf=d[7];a.wc[b]=e}var gl=[[0,0],[0,0],[0,0],[0,0]];
function Vk(a,b,c){var d=a.L[b];d||(d={Fc:[0,0],$c:[0,0],Bb:[0,0],we:[0,0]});c=c&&13<=c.length?c:gl;d.Fc[0]=c[0][0];d.Fc[1]=c[0][1];d.$c[0]=c[1][0];d.$c[1]=c[1][1];d.Bb[0]=c[2][0];d.Bb[1]=c[2][1];d.we[0]=c[3][0];d.we[1]=c[3][1];d.Zg=c[4];d.mode=c[5];d.eg=c[6];d.Dd=c[7];d.md=c[8];d.vd=c[9];d.Xe=c[10];d.ye=c[11];d.xd=c[12];d.$b=c[13]||0;d.bf=c[14]||!1;a.L[b]=d}function Wk(a,b){return((((b?a.V:a.Y)&12)>>2)+1)*a.dc+32*((b?a.ua:a.ka)&15)}
function hl(a,b){var c=b?a.V:a.Y;return(a.ja|0)!=Ak||c&xk.Qg?((c&xk.xf)>>xk.yf)+1:0}function Zk(a,b){if(b<hl(a)){if(!a.pa)return 1;if(b<a.pa.length)switch(a.pa[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Xk(a,b){return((b?a.V:a.Y)&wk.xf)>>wk.yf}
function Dk(a,b,c,d){for(var e="",f=a.qa[b],g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");e+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}f.innerHTML=e;Rk(a,b,c,d)}
function Rk(a,b,c,d){if(b=a.qa[b]){b=nb(b,"pcjs-bitCell");for(var e=0;e<b.length;e++){var f=null;null!=d&&null!=d[e]&&(f=d[e]);f&&b[e].setAttribute("title",f);il(b[e],c&1<<e?!1:!0);b[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");il(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case tk:a.V=a.V&~e|(c?0:e);break;case zk:a.ua=a.ua&~e|(c?0:e)}Sk(a)}}(a,b[e])}}}
function Sk(a){var b=a.qa.swdesc;if(null!=b){var c;c=""+(Wk(a,!0)+"Kb");c+=", "+(a.V&2?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[Xk(a,!0)]+" Monitor";c+=", "+hl(a,!0)+" Floppy Drives";if(null!=a.Y&&a.Y!=a.V||null!=a.ka&&a.ka!=a.ua)c+=" (Reset required)";b.textContent=c}}function il(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}
function jl(a,b,c,d,e){var f=a.N[b],g=f.Dc[c],h=g.Eb[f.Lb];z(a,768)&&x(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Lb+"]",h,!0);f.Lb^=1;b||0!=c||f.Lb||(g.Eb[0]++,255<g.Eb[0]&&(g.Eb[0]=0,g.Eb[1]++,255<g.Eb[1]&&(g.Eb[1]=0)));return h}function kl(a,b,c,d,e,f){var g=a.N[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Lb+"]",null,!0);a=g.Dc[c];a.Eb[g.Lb]=a.ig[g.Lb]=e;g.Lb^=1}
function ll(a,b,c,d,e){var f=a.N[b],g=f.Dc[c],h=g.Bb[f.Lb];z(a,768)&&x(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Lb+"]",h,!0);f.Lb^=1;b||0!=c||f.Lb||(g.Bb[0]--,0>g.Bb[0]&&(g.Bb[0]=255,g.Bb[1]--,0>g.Bb[1]&&(g.Bb[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.N[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Lb+"]",null,!0);a=g.Dc[c];a.Bb[g.Lb]=a.Fc[g.Lb]=e;g.Lb^=1}function nl(a,b,c,d){var e=a.N[b],f=e.$b|1;e.$b&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function ol(a,b,c,d,e){var f=a.N[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.$b=f.$b&~(16<<a)|(d&4)<<a+2;f.zi=d}function pl(a,b,c,d,e){var f=a.N[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Dc[b];c.Be=!!(d&4);c.Be||ql(a,f.hm+b)}function rl(a,b,c,d,e){z(a,768)&&x(a,c,d,e,"DMA"+b+".MODE",null,!0);a.N[b].Dc[d&3].mode=d}function sl(a,b,c,d){var e=a.N[b].Ai;z(a,768)&&x(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function tl(a,b,c,d,e){z(a,768)&&x(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.N[b];for(b=0;b<a.Dc.length;b++)cl(a,b)}function ul(a,b,c,d,e){var f=a.N[b].Dc[c].kg;z(a,768)&&x(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function vl(a,b,c,d,e,f){z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.N[b].Dc[c].kg=e}function wl(a,b,c,d){var e=a.za[b];z(a,768)&&x(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function xl(a,b,c,d,e){z(a,768)&&x(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.za[b]=d}function yl(a,b,c,d,e){el(a.N[b>>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.N[b>>2].Dc[b&3];b.pg&&b.fh&&b.Eg?(c&&(b.done=c),b.Be||zl(a,b,!0)):c&&c(!0)}
function zl(a,b,c){c&&(b.count=b.Bb[1]<<8|b.Bb[0],b.type=b.mode&12,b.Qi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.kg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.pg,b.Eg,-1,function(f,g){0>f&&(b.Qi||(b.Qi=!0),f=255);b.Be||a.ea.tc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.pg,b.Eg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););}
function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255<a.Eb[0]&&(a.Eb[0]=0,a.Eb[1]++,255<a.Eb[1]&&(a.Eb[1]=0))),!a.Be))return!1;var b=a.controller;b.$b=b.$b&~(16<<a.Ui)|1<<a.Ui;a.mode&16||(a.Be=!0,a.pg=a.Eg=null);a.done&&(a.done(!a.ud),a.done=null);return!0}function Bl(a,b,c){var d=0,e=a.wc[b];if(null!=e.Cf)switch(e.Cf&3){case 2:d=e.pc;break;case 3:d=e.Oc}z(a,34048)&&x(a,e.port,null,c,"PIC"+b,d,!0);return d}
function Cl(a,b,c,d){var e=a.wc[b];z(a,34048)&&x(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Vd=0,e.Yc[e.Vd++]=c,e.Ad=0,e.ve=7,e.pc=e.Oc=0,e.Cf=10;else if(c&8)c&100&&z(a,1073741824)&&y(a,"PIC"+b+"("+t(e.port)+"): unsupported OCW3 command "+t(c),!0,!0),e.Cf=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.ve+1;;){f&=7;var h=1<<f;if(e.Oc&h){g=h;break}if(f++==e.ve)break}e.Oc&g&&(e.Oc&=~g,Dl(a));d&128&&z(a,1073741824)&&y(a,"PIC"+b+"("+t(e.port)+"): unsupported OCW2 rotate command "+
t(c),!0,!0)}else 192==d?e.ve=c&7:z(a,1073741824)&&y(a,"PIC"+b+"("+t(e.port)+"): unsupported OCW2 automatic EOI command "+t(c),!0,!0)}function El(a,b,c){var d=a.wc[b],e=d.Ad;z(a,34048)&&x(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function Fl(a,b,c,d){var e=a.wc[b];z(a,34048)&&x(a,e.port+1,c,d,"PIC"+b,null,!0);e.Vd<e.Yc.length?(e.Yc[e.Vd++]=c,2==e.Vd&&e.Yc[0]&2&&e.Vd++,3!=e.Vd||e.Yc[0]&1||e.Vd++):(e.Ad=c,d=a.F,d.S|=4,Dl(a,b||253!=c?0:6))}
function fg(a,b,c){var d=a.wc[b>>3];b=1<<(b&7);d.pc&b||(d.pc|=b,d.kf=c||0,Dl(a))}function eg(a,b){var c=a.wc[b>>3],d=1<<(b&7);c.pc&d&&(c.pc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1<a.Ja&&(c=a.wc[1],d=~(c.Oc|c.Ad)&c.pc);c=a.wc[0];0<=d&&(c.pc=d?c.pc|4:c.pc&-5);var d=~(c.Oc|c.Ad)&c.pc,e=a.F;e.N&&(e.ua=d?e.ua|1:e.ua&-2);d&&b&&(c.kf=b)}
function Vf(a,b){void 0===b&&(b=0);var c=-1,d=a.wc[b];if(d.kf)c=-2,d.kf--;else for(var e=d.pc&((d.Oc|d.Ad)^255),f=d.ve+1;;){var f=f&7,g=1<<f;if(d.Oc&g)break;if(e&g){b||2!=f?c=d.Yc[1]+f:c=Vf(a,1);0<=c&&(d.Oc|=g,d.pc&=~g);break}if(f++==d.ve)break}return c}function Gl(a,b,c,d,e){var f;f=b?3:0;var g=a.L[f+c];g.bf?(f=g.$b,g.bf=!1):(g.Dd==g.md&&Hl(a,f+c),g.Xe?(f=g.we[g.Dd++],g.Dd==g.md&&(g.Xe=!1)):(Pk(a,f+c),f=g.Bb[g.Dd++]));z(a,2304)&&x(a,d,null,e,"PIT"+b+".TIMER"+c,f,!0);return f}
function Il(a,b,c,d,e,f){z(a,2304)&&x(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.L[f+c];d.Dd==d.md&&Hl(a,f+c);d.Fc[d.Dd++]=e;d.Dd==d.md&&(d.ye&&0!=d.mode&&8!=d.mode||(d.Xe=!1,d.Bb[0]=d.$c[0]=d.Fc[0],d.Bb[1]=d.$c[1]=d.Fc[1],d.xd=Wc(a.F,a.ra),d.ye=!0,d.vd=0!=d.mode,0==b&&0==c&&(eg(a,0),e=Jl(a,0)*a.tb|0,6==d.mode&&(e>>=1),$c(a.F,e))),0==b&&2==c&&cd(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.eb:a.bb}
function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.eb=d):a.bb=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<<c){b=e+c;var f=a.L[b];f.bf||(Pk(a,b),f.$b=f.Zg|f.mode|f.eg|(f.Dd<f.md?64:0)|(f.vd?128:0),f.bf=!0)}if(!(d&32))for(c=0;2>=c;c++)d&2<<c&&Ml(a,e+c)}else{c>>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.L[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Bb=[0,0];h.we=[0,0];h.vd=!1;h.Xe=!1;h.ye=!1;h.bf=!1;Hl(a,e);0==b&&0==c&&eg(a,0);0==b&&2==c&&255==a.wc[0].Ad&&
77==a.W&&(b=a.L[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ra))}}}function Jl(a,b){var c=a.L[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.md?256:65536);return d}function ed(a,b){var c=a.L[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ml(a,b){Pk(a,b);var c=a.L[b];c.we[0]=c.Bb[0];c.we[1]=c.Bb[1];c.Xe=!0;Hl(a,b)}function Hl(a,b){var c=a.L[b];c.Dd=32==c.eg?1:0;c.md=48==c.eg?2:1}
function Pk(a,b,c){var d=a.L[b];if(d.ye&&(2!=b||a.W&1)){var e=Wc(a.F,a.ra),f=(e-d.xd)/a.tb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=ed(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.ye=!1,b||fg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&fg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&fg(a,0)));d.Bb[0]=h&255;d.Bb[1]=h>>8&255;c&&(a.xd=0)}return d}
function dd(a,b){for(var c=0;c<a.L.length;c++)Pk(a,c,b);if(a.ja>=dg){var c=a.F.X.Hd,d=Wc(a.F,a.ra);null==a.qb&&(a.Na=Wc(a.F,a.ra),a.Yb=1024,a.qb=Math.floor(a.F.X.Hd/a.Yb),al(a));d>=a.Ba&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,fg(a,8)),a.Ba=d+a.qb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,fg(a,8)));var e=d-a.Na,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;
var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,fg(a,8))}a.Na=d-e%c}}m=qk.prototype;m.Kl=function(a,b){var c=this.fb;this.Ia&16&&(this.W&128?c=this.Y:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.fb=b};m.Ll=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c};
m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&cd(a,c)}m.Ml=function(a,b){var c=0,c=(this.ja|0)==Ak?this.W&4?c|this.ka&15:c|this.ka>>4&1:this.W&8?c|this.Y>>4:c|this.Y&15;this.W&1&&Pk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.Ib=b};m.Nl=function(a,b){var c=this.Ia;x(this,a,null,b,"PPI_CTRL",c);return c};
m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ia=b};m.Xk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.Ea&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Wk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Yk=function(a,b){var c=this.Ea;x(this,a,null,b,"8041_STATUS",c);return c};
m.Zk=function(a,b){var c=this.Pa;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.C&=-258;this.B&&Ql(this.B);return c};
m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.C&8)switch(this.ga){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.fa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+t(c)+")");switch(a.da||c){case 255:d=250;Tl(a);break;case 243:a.da&&(c=0);Ul(a,250);a.da=c;break;case 237:a.da&&(c=0);Ul(a,250);a.da=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.ga=b;this.C&=-9};
m.$k=function(a,b){var c=this.W&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.al=function(a,b){x(this,a,null,b,"8042_STATUS",this.C,16384);var c=this.C&255;this.C&256&&(this.C|=1,this.C&=-257);return c};
m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ga=b;this.C|=8;a=0;240<=this.ga&&(a=this.ga^15,this.ga=240);switch(this.ga){case 32:Vl(this,this.fa);break;case 173:Rl(this,this.fa|16);break;case 174:Rl(this,this.fa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Rl(this,this.fa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ia);break;case 208:Vl(this,this.Za);break;case 224:Vl(this,this.fa&16?0:
1);break;case 240:a&1&&re(this.F)}};function Rl(a,b){a.fa=b;a.C=a.C&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Pa=b,c?a.C|=1:(a.C&=-2,a.C|=256))}function Sl(a,b){a.Za=b;Rb(a.ea,!!(b&2));b&1||re(a.F)}function Wl(a,b){a.ja<dg?(fg(a,1,4),a.Ea|=1):a.fa&16||a.C&257||(Vl(a,b,!0),Xl(a.B),fg(a,1,120))}function Yl(a,b,c,d){var e=b?a.ka:a.Y;x(a,c,null,d,b?"SYS_CONF_B":"SYS_CONF_A",e,32768);return e}m.ol=function(a,b){x(this,a,null,b,"CMOS.ADDR",this.wa,4096);return this.wa};
m.Gm=function(a,b,c){x(this,a,b,c,"CMOS.ADDR",null,4096);this.wa=b;this.Fa=b&128?0:128};m.pl=function(a,b){var c=this.wa&63,d=13>=c?Qk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&eg(this,8),d&64&&this.A[11]&64&&al(this));return d};
m.Hm=function(a,b,c){var d=this.wa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.A[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&al(this)};m.gk=function(a,b,c){x(this,a,b,c,"NMI");this.Fa=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Vb&&Zf(this.Vb)};
m.am=function(a){if(z(this,16)&&lk(this.ha,26,a)){var b=this.F.G>>8;ef(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(qf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0};
function uk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function cd(a,b){if(a.Ka)try{void 0!==b?a.Sb=b:b=a.Sb&&a.F&&a.F.la.Jb;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4<c)b=!1;b?a.U?(a.U.frequency.value=c,z(a,33554432)&&y(a,"speaker set to "+c+"hz",!0)):(a.U=a.Ka.createOscillator(),a.U&&(a.U.type="number"==typeof a.U.type?1:"square",a.U.connect(a.Ka.destination),a.U.frequency.value=c,"start"in a.U?a.U.start(0):a.U.noteOn(0),z(a,33554432)&&y(a,"speaker on at "+c+"hz",!0))):a.U&&("stop"in a.U?a.U.stop(0):a.U.noteOff(0),a.U.disconnect(),delete a.U,z(a,
33554432)&&y(a,"speaker off at "+c+"hz",!0))}catch(d){a.Oa("AudioContext exception: "+d.message),a.Ka=null}else b&&y(a,"BEEP",33554432)}
var Ek={0:function(a,b){return jl(this,0,0,a,b)},1:function(a,b){return ll(this,0,0,a,b)},2:function(a,b){return jl(this,0,1,a,b)},3:function(a,b){return ll(this,0,1,a,b)},4:function(a,b){return jl(this,0,2,a,b)},5:function(a,b){return ll(this,0,2,a,b)},6:function(a,b){return jl(this,0,3,a,b)},7:function(a,b){return ll(this,0,3,a,b)},8:function(a,b){return nl(this,0,a,b)},13:function(a,b){return sl(this,0,a,b)},32:function(a,b){return Bl(this,0,b)},33:function(a,b){return El(this,0,b)},64:function(a,
b){return Gl(this,0,0,a,b)},65:function(a,b){return Gl(this,0,1,a,b)},66:function(a,b){return Gl(this,0,2,a,b)},67:function(a,b){return Kl(this,0,a,b)},129:function(a,b){return ul(this,0,2,a,b)},130:function(a,b){return ul(this,0,3,a,b)},131:function(a,b){return ul(this,0,1,a,b)},135:function(a,b){return ul(this,0,0,a,b)}},Gk={96:qk.prototype.Kl,97:qk.prototype.Ll,98:qk.prototype.Ml,99:qk.prototype.Nl},Kk={96:qk.prototype.Zk,97:qk.prototype.$k,100:qk.prototype.al,112:qk.prototype.ol,113:qk.prototype.pl,
128:function(a,b){return wl(this,7,a,b)},132:function(a,b){return wl(this,0,a,b)},133:function(a,b){return wl(this,1,a,b)},134:function(a,b){return wl(this,2,a,b)},136:function(a,b){return wl(this,3,a,b)},137:function(a,b){return ul(this,1,2,a,b)},138:function(a,b){return ul(this,1,3,a,b)},139:function(a,b){return ul(this,1,1,a,b)},140:function(a,b){return wl(this,4,a,b)},141:function(a,b){return wl(this,5,a,b)},142:function(a,b){return wl(this,6,a,b)},143:function(a,b){return ul(this,1,0,a,b)},160:function(a,
b){return Bl(this,1,b)},161:function(a,b){return El(this,1,b)},192:function(a,b){return jl(this,1,0,a,b)},194:function(a,b){return ll(this,1,0,a,b)},196:function(a,b){return jl(this,1,1,a,b)},198:function(a,b){return ll(this,1,1,a,b)},200:function(a,b){return jl(this,1,2,a,b)},202:function(a,b){return ll(this,1,2,a,b)},204:function(a,b){return jl(this,1,3,a,b)},206:function(a,b){return ll(this,1,3,a,b)},208:function(a,b){return nl(this,1,a,b)},218:function(a,b){return sl(this,1,a,b)}},Ik={96:qk.prototype.Xk,
97:qk.prototype.Wk,100:qk.prototype.Yk,102:function(a,b){return Yl(this,0,a,b)},103:function(a,b){return Yl(this,1,a,b)}},Mk={72:function(a,b){return Gl(this,1,0,a,b)},73:function(a,b){return Gl(this,1,1,a,b)},74:function(a,b){return Gl(this,1,2,a,b)},75:function(a,b){return Kl(this,1,a,b)}},Fk={0:function(a,b,c){kl(this,0,0,a,b,c)},1:function(a,b,c){ml(this,0,0,a,b,c)},2:function(a,b,c){kl(this,0,1,a,b,c)},3:function(a,b,c){ml(this,0,1,a,b,c)},4:function(a,b,c){kl(this,0,2,a,b,c)},5:function(a,b,
c){ml(this,0,2,a,b,c)},6:function(a,b,c){kl(this,0,3,a,b,c)},7:function(a,b,c){ml(this,0,3,a,b,c)},8:function(a,b,c){z(this,768)&&x(this,a,b,c,"DMA0.CMD",null,!0);this.N[0].Xg=b},9:function(a,b,c){ol(this,0,a,b,c)},10:function(a,b,c){pl(this,0,a,b,c)},11:function(a,b,c){rl(this,0,a,b,c)},12:function(a,b,c){z(this,768)&&x(this,a,b,c,"DMA0.RESET_FF",null,!0);this.N[0].Lb=0},13:function(a,b,c){tl(this,0,a,b,c)},32:function(a,b,c){Cl(this,0,b,c)},33:function(a,b,c){Fl(this,0,b,c)},64:function(a,b,c){Il(this,
0,0,a,b,c)},65:function(a,b,c){Il(this,0,1,a,b,c)},66:function(a,b,c){Il(this,0,2,a,b,c)},67:function(a,b,c){Ll(this,0,a,b,c)},129:function(a,b,c){vl(this,0,2,a,b,c)},130:function(a,b,c){vl(this,0,3,a,b,c)},131:function(a,b,c){vl(this,0,1,a,b,c)},135:function(a,b,c){vl(this,0,0,a,b,c)}},Hk={96:qk.prototype.dn,97:qk.prototype.en,98:qk.prototype.fn,99:qk.prototype.gn,160:qk.prototype.gk},Lk={96:qk.prototype.rm,97:qk.prototype.sm,100:qk.prototype.qm,112:qk.prototype.Gm,113:qk.prototype.Hm,128:function(a,
b,c){xl(this,7,a,b,c)},132:function(a,b,c){xl(this,0,a,b,c)},133:function(a,b,c){xl(this,1,a,b,c)},134:function(a,b,c){xl(this,2,a,b,c)},136:function(a,b,c){xl(this,3,a,b,c)},137:function(a,b,c){vl(this,1,2,a,b,c)},138:function(a,b,c){vl(this,1,3,a,b,c)},139:function(a,b,c){vl(this,1,1,a,b,c)},140:function(a,b,c){xl(this,4,a,b,c)},141:function(a,b,c){xl(this,5,a,b,c)},142:function(a,b,c){xl(this,6,a,b,c)},143:function(a,b,c){vl(this,1,0,a,b,c)},160:function(a,b,c){Cl(this,1,b,c)},161:function(a,b,
c){Fl(this,1,b,c)},192:function(a,b,c){kl(this,1,0,a,b,c)},194:function(a,b,c){ml(this,1,0,a,b,c)},196:function(a,b,c){kl(this,1,1,a,b,c)},198:function(a,b,c){ml(this,1,1,a,b,c)},200:function(a,b,c){kl(this,1,2,a,b,c)},202:function(a,b,c){ml(this,1,2,a,b,c)},204:function(a,b,c){kl(this,1,3,a,b,c)},206:function(a,b,c){ml(this,1,3,a,b,c)},208:function(a,b,c){z(this,768)&&x(this,a,b,c,"DMA1.CMD",null,!0);this.N[1].Xg=b},210:function(a,b,c){ol(this,1,a,b,c)},212:function(a,b,c){pl(this,1,a,b,c)},214:function(a,
b,c){rl(this,1,a,b,c)},216:function(a,b,c){z(this,768)&&x(this,a,b,c,"DMA1.RESET_FF",null,!0);this.N[1].Lb=0},218:function(a,b,c){tl(this,1,a,b,c)},240:qk.prototype.Rm,241:qk.prototype.Sm},Jk={96:qk.prototype.pm,97:qk.prototype.om,160:qk.prototype.gk},Nk={72:function(a,b,c){Il(this,1,0,a,b,c)},73:function(a,b,c){Il(this,1,1,a,b,c)},74:function(a,b,c){Il(this,1,2,a,b,c)},75:function(a,b,c){Ll(this,1,a,b,c)}};
Qa(function(){for(var a=nb(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new qk(d);mb(d,c);Sk(d)}});
function Zl(a){Ua.call(this,"ROM",a,Zl);this.A=null;this.da=a.addr;this.C=a.size;this.N=a.alias;this.L=a.file;this.U=fa(this.L);this.B=a.notify;this.V=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.V=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.L){a=this.L;var b=ga(this.U);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.L+"&format=bytes&decimal=true");var c=this;wa(a,null,!0,function(a,b,f){$l(c,a,b,f)})}}db(Zl);
Zl.prototype.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;am(this)};Zl.prototype.kc=function(){this.Nd&&(this.ha&&bm(this.ha,this.id,0,this.da>>>4,0,this.da,this.C,this.Nd),delete this.Nd);return!0};Zl.prototype.jc=function(){return!0};
function $l(a,b,c,d){if(d)a.Oa("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.se,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Nd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Oa("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=ca(b[e],16);am(a)}}
function am(a){if(!tb(a))if(!a.L)sb(a);else if(a.A&&a.ea){if(a.A.length!=a.C)ub(a,"ROM size (0x"+r(a.A.length)+") does not match specified size ("+("0x"+r(a.C))+")");else{var b;b=a.da;if(Tb(a.ea,b,a.C,$b)){for(var c=0;c<a.A.length;c++){var d=a.ea,e=b+c;d.sa[(e&d.Gb)>>>d.La].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Xb(d.ea,d.da,d.C);Wb(d.ea,e,d.C,f)}a.B&&((b=hb(a.B,a.id))?(c=a.A,d=a.V,5==
b.kb?cm(b,c,d||[12640,8752],8):b.kb==dm&&cm(b,c,d||[14221,16269],8),sb(b)):a.Oa("Unable to find component: "+a.B));delete a.A}}sb(a)}}Qa(function(){for(var a=nb(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Zl(d);mb(d,c)}});function em(a){Ua.call(this,"RAM",a,em);this.B=a.addr;this.A=a.size;this.da=a.test;this.L=!!this.A;this.C=!1}db(em);m=em.prototype;m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");sb(this)};
m.kc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};m.jc=function(a){return a&&this.controller?this.save():!0};
m.reset=function(){if(!this.B&&!this.L&&this.N){var a=1024*Wk(this.N);this.A&&a!=this.A&&(Zb(this.ea,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Tb(this.ea,this.B,this.A,1)&&(this.C=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"),"ramCPQ"==this.be&&(this.controller=new fm(this),Tb(this.ea,gm,4,4,this.controller)));if(this.C){if(this.da||fc(this.ea,1138,4660),"ramCPQ"!=this.be&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+
1]=c>>8;$k(a)}}else w("No RAM allocated")};m.save=function(){var a=new jf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.tc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]};
m.restore=function(a){this.tc(0,a[0]&255);this.tc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.tc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Si=function(){return km};m.gh=function(){return lm};
Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new em(d);mb(d,c)}});function mm(a){Ua.call(this,"Keyboard",a,mm,65536);nm(this,a.model);this.ga=Ha("Mobi");this.ka=Ha("MSIE");y(this,"mobile keyboard support: "+(this.ga?"true":"false"));this.fa=0;this.ia=this.bh=!1;this.B=[];this.ra=50;sb(this)}db(mm);
var om=["US83","US84","US101"],X={yn:1,zn:3,An: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,un:65,vn:66,wn:67,Bn:68,E:69,Cn:70,Fn:71,Gn:72,Hn:73,In:74,Jn:75,Kn:76,Ln:77,Mn:78,Nn:79,On:80,Q:81,Pn:82,Tn:83,Yn:84,bo:85,co:86,eo:87,ho:88,io:89,jo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ko:97,lo:98,no:99,d:100,e:101,oo:102,po:103,qo:104,
ro:105,so:106,k:107,to:108,uo:109,n:110,wo:111,p:112,q:113,r:114,xo:115,t:116,zo:117,Ao:118,Bo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("];
qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"];
var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,
u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,
"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764;
Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788;
Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;
Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype;
m.Rb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.yc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]=
c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.F&&a.F.Tc();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.fa){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")};
function nm(a,b){var c=0;a.ja=null;b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));b=om[c];a.pa=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.W!==c&&(a.W=a.Y=c)&&(a.V=!0);a.U!==b&&(a.U=b)&&!a.Y&&Xl(a,!0);a.U&&a.Y&&(Tl(a),a.Y=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.V=!0,Wl(a.N,b))}function Ql(a){var b=0;a.A.length&&a.V&&(b=a.A[0],a.N&&Wl(a.N,b));z(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}
function Nl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0<a.A.length&&(a.A.shift(),(a.V=b)&&(a.A.length&&a.N?Wl(a.N,a.A[0]):b=!1),z(a)&&y(a,"scan codes shifted, notify "+(b?"true":"false")))}m.kc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};m.jc=function(a){return a?this.save():!0};
m.reset=function(){if(!this.ja&&this.N)switch(this.N.ja){case Ak:case 5160:nm(this,om[0]);break;default:nm(this,om[1])}Bm(this);this.yc=this.C=0;this.A=[];this.V=!0;this.L=""};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.W;c[b]=this.U;N(a,0,c);return a.data()};m.restore=function(a){return Bm(this,a[0])};function Bm(a,b){var c=0;void 0===b&&(b=[]);a.W=a.V=b[c++];a.U=b[c];a.da=0;return!0}
function zm(a,b){if(0<a.L.length){var c=a.L.charCodeAt(0);10==c&&(c=13);a.L=a.L.substr(1);wm(a,c,!0)}0<a.L.length&&setTimeout(function(a){return function(){zm(a,b)}}(a),b)}
function xm(a,b,c,d){if(Y[b]){var e=Math.floor(b/1E3)&2;if(b=rm[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.yc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.yc&=~b,d&&(a.yc|=b);return!0}}return!1}
function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Jb){rm[b]&&a.B.length&&0<a.B[0].Jd&&(a.B[0].Jd=0);for(var d,e=0;e<a.B.length;e++)if(d=a.B[e],d.Ke==b){if(!c||0<=d.Jd){e=-1;break}0<e&&(0<a.B[0].Jd&&(a.B[0].Jd=0),a.B.splice(e,1));break}0>e||(e==a.B.length&&(d={},d.Ke=b,d.yc=a.yc,Am(a,b,!0),e++),0<e&&a.B.splice(0,0,d),d.Ef=!0,d.Jd=c?-1:rm[b]?0:1,Cm(a,d))}}
function ym(a,b,c){if(!Y[b]||!(c||a.F&&a.F.la.Jb))return!1;for(var d=!1,e=0;e<a.B.length;e++){var f=a.B[e];if(f.Ke==b||f.Ke==qm[b]){a.B.splice(e,1);f.sk&&clearTimeout(f.sk);f.Ef&&!c&&Dm(a,f.Ke,!1);Am(a,b,!1);d=!0;break}}!a.B.length&&a.ia&&(xm(a,1020),a.ia=!1);return d}function Cm(a,b){if(!a.F||!a.F.la.Jb)ym(a,b.Ke,!0);else if(Dm(a,b.Ke,b.Ef)&&b.Jd){var c;if(0>b.Jd){if(!b.Ef){ym(a,b.Ke);return}b.Ef=!1;c=a.ra}else c=1==b.Jd++?500:100;b.sk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}}
function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.yc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.yc&515)==c&&(d=b-32);else if(!!(a.yc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Fg=function(a){a||(this.yc&=-256)};
function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.ka||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k<a.B.length;k++){var l=a.B[k];l.Ef=!1;0<l.Jd&&(l.Jd=0)}}else 8==g&&8==(a.yc&40)&&(h=4008),d=!1;else if(Y[h]&&a.yc&60&&(d=!1),d&&c||a.yc&192)f=!0;d||b.preventDefault();f||a.ga&&d||(c?wm(a,h,e):ym(a,h)||(b=Em(a,g,!1),b!=h&&ym(a,b)));return d}
function Dm(a,b,c){var d=!1;xm(a,b,!0,c);var e=Y[b]||Y[b+1E3];if(void 0!==e){14==e&&40==(a.yc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.pa)return!1;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.A&&(20>e.A.length?(z(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1==
e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new mm(d);mb(d,c)}});
function Z(a,b,c,d,e){Ua.call(this,"Video",a,Z,262144);this.ja=a.model;var f=Fm[this.ja]||Fm.mda;this.kb=f[0];this.Cd=a.memory||0;this.ag=a.switches;this.wa=a.mode;if(null==this.wa||null==Gm[this.wa])this.wa=f[1];this.jd=a.charCols;this.ie=a.charRows;if(void 0===this.jd||void 0===this.ie)this.jd=Gm[this.wa][0],this.ie=Gm[this.wa][1];this.ua=a.screenWidth;this.Ea=a.screenHeight;this.ri=a.scale;this.Pg=12<=Math.round(this.ua/this.jd);this.pa=b;this.ia=c;this.da=(this.wk=d)||b||null;this.bg=a.touchScreen;
this.je=Hm;this.V=null;this.Og=a.autoLock;this.nb=this.cc=0;this.Na=[];this.Ba=Array(this.kb==dm?256:16);this.pb=!1;var g=this;this.nf=Ha("Gecko/");b=["","moz","webkit","ms"];if(this.ga=e)if(this.ga.Ue=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.ga.Ue){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){Im(g,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||
document.msFullscreenElement?!0:!1)},!1);break}for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenerror","on"+c in document){document.addEventListener(c,function(){Im(g,null)},!1);break}}this.da&&(this.da.onfocus=function(){return g.Fg(!0)},this.da.onblur=function(){return g.Fg(!1)},this.da.Ae=this.da.requestPointerLock||this.da.mozRequestPointerLock||this.da.webkitRequestPointerLock,this.da.tk=this.da.exitPointerLock||this.da.mozExitPointerLock||this.da.webkitExitPointerLock,this.da.Ae&&(e=function(){g.Vf(document.pointerLockElement===
g.da||document.mozPointerLockElement===g.da||document.webkitPointerLockElement===g.da)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",e,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",e,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",e,!1)));if(a=a.fontROM)"json"!=ga(a)&&(a=xa()+"/api/v1/dump?file="+a+"&format=bytes"),wa(a,null,!0,function(a,b,c){Jm(g,a,b,c)})}db(Z);
var dm=7,Fm={mda:[1,7],cga:[3,3],ega:[5,3],vga:[dm,3]},Km={2:{Bg:15700,Ag:208,Gg:85,Hg:96},3:{Bg:18432,Ag:364,Gg:85,Hg:96},4:{Bg:21850,Ag:364,Gg:85,Hg:96},7:{Bg:16700,Ag:480,Gg:85,Hg:83}},Lm={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Gm=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192],[80,25,1,0,1]];Gm[13]=[320,200,8];Gm[14]=[640,200,8];Gm[15]=[640,350,8];Gm[16]=[640,350,8];
Gm[17]=[640,480,8];Gm[18]=[640,480,8];Gm[19]=[320,200,1];Gm[20]=[320,240,4];Gm[21]=[320,400,4];Gm[0]=Gm[1];Gm[2]=Gm[3];Gm[5]=Gm[4];
var Mm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Nm=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Om=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Pm=[2,4,6],Qm=[3,5,7],Rm=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Sm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Tm=[0];Tm[128]=1;Tm[32768]=2;Tm[32896]=3;Tm[8388608]=4;Tm[8388736]=5;Tm[8421376]=6;Tm[8421504]=7;Tm[-2147483648]=8;Tm[-2147483520]=9;Tm[-2147450880]=10;Tm[-2147450752]=11;Tm[-2139095040]=12;Tm[-2139094912]=13;Tm[-2139062272]=14;Tm[-2139062144]=15;
function Um(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Vm[b],f=a.za||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.cc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.cc=Math.min(this.Cd>>2,32768));this.Hc=c[0];this.gd=c[1];this.qf=c[2];this.ma=c[3];this.Bc=c[4]&255;this.Ig=c[4]>>8&255;this.sb=c[5];this.nh=Wm;this.jg=Ym;if(5<=b){this.nh=Xm;this.jg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20),
0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.cc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=$m;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=an;this.ik=b[8];this.jk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=bn;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.cc,d]);this.nb=d[0];this.cc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length<d){for(var e=this.rd,g=0,
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=cn[d&65280]|cn[d&255]);this.Mg(d);this.di=b[16];this.rb=b[17];this.dd=b[18];this.Nb=b[19];this.Uf=b[20];this.Wd=b[21];this.ne=b[22];this.oh=b[23];this.ph=b[24];this.Xf=b[25];this.ei=this.mf=0;this.kb==dm&&(this.li=b[26],this.ki=b[27],this.od=b[28],this.Kc=b[29],this.Jg=b[30],this.rf=b[31])}f=Km[f]||Km[3];this.qh=a.F.X.Hd/f.Bg|0;this.jm=this.qh*f.Gg/100|0;this.th=
this.qh*f.Ag|0;this.lm=this.th*f.Hg/100|0;this.vh=c[7]||0}}
var Wm=18,Xm=25,Ym="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Zm="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),$m=
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),an=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],bn="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),cn=[,,1024,5120];cn[16]=1280;cn[512]=0;cn[1024]=32;cn[1536]=96;cn[2560]=160;cn[3584]=224;cn[768]=16;cn[4096]=1;cn[8192]=2;cn[24576]=98;cn[40960]=162;cn[57344]=226;var dn=[];
dn[1024]=function(a){a+=this.C;return(this.controller.Fb=this.ca[a])>>this.controller.di&255};dn[17408]=function(a){return(this.controller.Fb=this.ca[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.ca[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.ca[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};
dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d&=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d|=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d^=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<<d&this.controller.rb|this.ca[c]&~(255<<d&this.controller.rb);this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[16]=function(a,b){a+=this.C;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controller.Nb|this.controller.Fb&~this.controller.Nb;var e=this.controller.rb&(d==a?16711935:-16711936);c=c&e|this.ca[d]&~e;this.ca[d]!=c&&(this.ca[d]=c,this.Va=!0)};dn[1]=function(a){a=a+this.C;var b=this.ca[a]&~this.controller.rb|this.controller.Fb&this.controller.rb;this.ca[a]!=b&&(this.ca[a]=b,this.Va=!0)};
dn[17]=function(a){a+=this.C;var b=a&-2;a=this.controller.rb&(b==a?16711935:-16711936);a=this.ca[b]&~a|this.controller.Fb&a;this.ca[b]!=a&&(this.ca[b]=a,this.Va=!0)};dn[2]=function(a,b){var c=a+this.C,d=Sm[b&15],d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb,d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[98]=function(a,b){var c=a+this.C,d=Sm[b&15],d=d&this.controller.Fb,d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb,d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};dn[162]=function(a,b){var c=a+this.C,d=Sm[b&15],d=d|this.controller.Fb,d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb,d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
dn[226]=function(a,b){var c=a+this.C,d=Sm[b&15],d=d^this.controller.Fb,d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb,d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};dn[3]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Nb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
function en(a){var b=[];if(void 0!==a.kb){b[0]=a.Hc;b[1]=a.gd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Bc|a.Ig<<8;b[5]=a.sb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.ik;c[9]=a.jk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.cc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.vg|-2147483648;c[16]=a.di;c[17]=a.rb;c[18]=a.dd;c[19]=a.Nb;c[20]=a.Uf;c[21]=a.Wd;c[22]=a.ne;c[23]=a.oh;c[24]=a.ph;c[25]=a.Xf;a.kb==dm&&(c[26]=a.li,c[27]=a.ki,c[28]=a.od,c[29]=a.Kc,c[30]=a.Jg,c[31]=a.rf);b[6]=c}b[7]=a.vh}return b}function fn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++)g&&(g+="\n"),g+=b+"["+t(f)+"]: "+ma(e[f],19)+t(d[f])+(f===c?"*":"");a.ha.O(g)}else a.ha.O(b+": "+t(c))}Um.prototype.Si=function(a){return[this.rd,a-this.nb]};Um.prototype.gh=function(){return this.A};
Um.prototype.Mg=function(a){if(null!=a&&a!=this.vg){var b=a&65280,c=dn[b];c||b&4096&&(c=dn[4096]);var b=a&255,d=dn[b];d||b&16&&(d=dn[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.vg=a}};var Vm=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];Vm[dm]=["VGA",980,753664,16384,262144,7];var Hm=0;m=Z.prototype;
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;c=(c=Fm[this.ja])&&c[0];3!==c&&(hc(b,this,gn),lc(b,this,hn));1!==c&&(hc(b,this,jn),lc(b,this,kn));5<=this.kb&&(hc(b,this,ln),lc(b,this,mn));this.kb==dm&&(hc(b,this,nn),lc(b,this,on));if(d){var e=this;Ok(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,q=!1,p=8,A=8,F=-1,v=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ca(E.substr(1));switch(H){case "l":p=d;break;case "n":1<=d&&8>=d&&(A=d,q=!0);break;case "p":0<=
d&&3>=d&&(F=d);break;case "w":d<v&&(v=d);break;default:b.ha.O("unrecognized argument: "+E)}}else f=ca(E)}void 0===f?f=b.B||0:f>=b.nb&&(f-=b.nb);a="";for(c=0;c<p;c++){E=r(b.nb+f)+":";for(d=0;d<A&&f<b.rd.length;d++)H=b.rd[f++],E+=" "+(0>F?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Bc,b.sb,b.jg),5<=b.kb&&(fn(b," GRC",b.Zd,b.Yd,b.Ug),fn(b," SEQ",b.$d,b.He,b.Vg),fn(b," ATC",b.Ld,b.Sc,b.Tg),fn(b," ATCINDX",
b.Ld),b.ha.O(" ATCDATA: "+b.Ve),fn(b," FEAT",b.dg),fn(b," MISC",b.sf),fn(b," STATUS0",b.Lg)),fn(b," STATUS1",b.ma),1!=b.kb&&3!=b.kb||fn(b," MODEREG",b.gd),3==b.kb&&fn(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0<f.indexOf("lock")&&this.B.Rb("led",f,this.qa[f]);this.B.Rb(this.wk?
"textarea":"canvas","kbd",this.da)}this.Vc=9;(this.N=Eb(a,"ChipSet"))&&this.ag&&5==this.kb&&(this.Vc=uk(this.ag,this.Vc));"mouse"==this.bg?(this.V=Eb(a,"Mouse"))&&pn(this,2):"keygrid"==this.bg&&this.B&&pn(this,1)};
m.Rb=function(a,b,c){var d=this;if(!this.qa[b])switch(this.qa[b]=c,b){case "fullScreen":return this.ga&&this.ga.Ue?c.onclick=function(){d.Ue()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.vk=c.textContent,this.da&&this.da.Ae?c.onclick=function(){d.Ae(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Yc(d,!0)},!0}return!1};m.Tc=function(){this.da&&this.da.focus()};
m.Ue=function(){var a=!1;if(this.ga){if(this.ga.Ue){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ua/this.Ea;b>c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a};
function Im(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.Ae=function(a){var b=!1;this.da&&(a?this.da.Ae&&(this.da.Ae(),this.V&&this.V.Vf(!0),b=!0):this.da.tk&&(this.da.tk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vk)};
function pn(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){qn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){qn(a,b)},!0),c.addEventListener("touchend",function(b){qn(a,b,!1)},!1),a.je=b,a.dc=a.oc=a.gg=-1,a.Gd=!1,a.Xc=null,a.Fd=!1,a.tn=function(){a.Fd=!0;a.V.ge(rn,!0)})}m.Fg=function(a){this.B&&this.B.Fg(a)};
function qn(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500<f,a.gg=b.timeStamp,
a.Xc=setTimeout(a.tn,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Gd=!1);g||b.preventDefault();if(!1===c){a.Fd?(a.V.ge(rn,!1),a.Fd=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.ge(rn,!0);a.V.ge(rn,!1);return}}if(c||0>a.dc||0>a.oc)a.dc=d,a.oc=e;c=Math.round(d-a.dc);b=Math.round(e-a.oc);a.dc=d;a.oc=e;a.V.Hf(c,b,a.dc,a.oc)}}m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};
m.reset=function(){var a=!0,b=0;this.N&&(b=Xk(this.N));this.ja||(this.kb=3==b?1:3);this.wa=3;switch(this.kb){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.C=null;this.ra=this.qd=new Um(this,1);this.Y=this.Wc=new Um(this,3);5>this.kb?this.A=new Um:(this.A=new Um(this,this.kb,null,this.Cd),sn(this));tn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;un(this,this.wa);if(this.C.nb&&a){a=this.C.nb+this.Kb;
for(b=this.C.nb;b<a;b+=2){var d=65536*Math.random()|0;4==this.za||7==this.za?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Yc(this,!0)}};function sn(a){a.A.sf&1?(a.ra=a.qd,a.Y=a.A):(a.ra=a.A,a.Y=a.Wc)}m.save=function(){var a=new jf(this);N(a,0,en(this.qd));N(a,1,en(this.Wc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()};
m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.ra=this.qd=new Um(this,1,a[0]);this.Y=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.kb,a[3],this.Cd);this.A.Hc&&sn(this);tn(this);if(!vn(this))return!1;wn(this);return!0};
function Jm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.se,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Oa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Oa("Font ROM data error: "+g.message);return}(a.ia||a.ha)&&sb(a)}}
function xn(a,b){if(1==b)return a.Ba[0]=Om[0],a.Ba[1]=Om[7],a.Ba;if(2==b){var c=a.C.qf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;d<c.length;d++)a.Ba[d+1]=Om[c[d]];return a.Ba}if(a.Y===a.Wc)return Om;a.pb&&b&&!a.Ba[16]&&(a.pb=!1);if(!a.pb){var c=a.A,d=c.rf,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ba[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|=
(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function cm(a,b,c,d){a.Uc=b;a.Ib=c;a.Vb=d}
function tn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Vb?a.Vb:8,f=xn(a);null!=a.Ib[0]&&yn(a,3,a.Ib[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Vb?0:2048;e=a.Vb?a.Vb:9;null!=a.Ib[1]&&(yn(a,1,a.Ib[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Vb&&yn(a,a.kb,a.Ib[1],0,a.Vb,14,a.Uc,f)&&(c=!0))}return c}function yn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(zn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&zn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
function zn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<<n,Qc:f<<n,Me:Array(p),ti:h.slice(0,p),zf:k,Sg:Array(p)});for(k=0;k<p;k++){var A=h[k],F=q.Me[k]?q.ti[k]:[];if(A[0]!==F[0]||A[1]!==F[1]||A[2]!==F[2]){var l=q,F=k,v=n,E=c,H=d,L=e,W=f,P=g,ab=[0,0,0,0],ha=document.createElement("canvas");ha.width=l.Pc<<4;ha.height=l.Qc<<4;for(var ia=ha.getContext("2d"),Ga=void 0,Wa=void 0,Aa=void 0,Sb=8>W||!H?W:8,va=ia.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Aa=
0;Aa<W;Aa++)for(var Td=l.zf&&F&1&&Aa>=W-2,Pc=P[Aa<Sb?E+Ga*Sb+Aa:H+Ga*Sb+Aa-Sb],Ud=0;Ud<=v;Ud++)for(Wa=0;Wa<L;Wa++){var He=Wa<<v,Vd=(Aa<<v)+Ud,Ie=Td||Pc&128>>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:ab;An(va,He,Vd,Ie);v&&An(va,He+1,Vd,Ie)}ia.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ti[F]=A;l.Sg[F]=ha;l=!0}}a.Na[b]=q;return l}function Bn(a){0<a.Pa||0<=a.ka?0>a.bb&&(a.bb=0):a.bb=-1}
function wn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.sb[b])return;var c=a.C.sb[10],b=c&31,d=a.C.sb[11]&31,e=a.C.sb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)$n(a);else{c=a.C.sb[15]+((a.C.sb[14]&63)<<8);a.ka!=c&&($n(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ze!=d)a.hg=b,a.ze=d;a.Za=e+1;Bn(a)}}}
function $n(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&ao(a,c,d,b,a.fb),ao(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}}
function bo(a){var b,c=a.C;a.Ce=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ce=!0));b|=e}return b}
function co(a,b){var c=a.C;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.cc,c.gh(),!0),!0):!1}
function vn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.kb)d=7;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768<f?32768:f,h=e.Yd[6];if(null!=h){switch(h&12){case 0:e.nb=655360;e.cc=f;d=255;break;case 4:e.nb=655360;e.cc=f;d=3==a.za?15:16;break;case 8:e.nb=720896;e.cc=g;d=7;break;case 12:e.nb=753664,e.cc=g,d=3==a.za?2:3}c=80==(e.Yd[5]&80);!c||e.nb==a.nb&&e.cc==a.cc||(b=!0);f=e.He[1]&8;g=e.sb[6];g|=e.sb[7]&1?256:0;e.kb==dm&&(g|=e.sb[7]&32?512:0);var k=e.sb[9],l=e.sb[23];255!=d&&(h&1?655360==e.nb||c||l&1?e.Yd[5]&
64?d=k&31?143>=e.sb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=bo(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!un(a,d,b))return!1;co(a,c);return!0}
function un(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.C||(7==b?a.ra:a.Y);if(b!=a.C||b.nb!=a.nb||b.cc!=a.cc){$n(a);if(a.nb){if(!Zb(a.ea,a.nb,a.cc))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.nb=b.nb;a.cc=b.cc;if(!Tb(a.ea,b.nb,b.cc,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.ie;a.tb=a.L;a.hd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.C!==a.A||3!=a.U||(7==a.A.sb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.hd|0;a.Kb=a.of;a.sd=0;
void 0!==b&&(a.Kb=(a.Kb<<1)+b|0,a.sd=a.Kb+b>>1);if(a.Na.length){a.Ja=a.ua/a.L|0;a.Ka=a.Ea/a.W|0;if(a.U){b=a.Na[a.U];if(!b)break a;c=a.Na[a.U<<1];a.ri&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc));a.Sb=a.Yb=0;b&&(a.Sb=a.L*b.Pc,a.Yb=a.W*b.Qc)}else a.Ja=a.Ka=1,a.Sb=a.L,a.Yb=a.W;a.qb=a.ia.createImageData(a.Sb,a.Yb);a.eb=document.createElement("canvas");a.eb.width=a.Sb;a.eb.height=a.Yb;a.fb=a.eb.getContext("2d");a.ke=a.le=0;a.td=a.ua;a.Ed=a.Ea;b=a.ua-
a.L*a.Ja;c=a.Ea-a.W*a.Ka;0<b&&(a.ke=b>>1,a.td-=b);0<c&&(a.le=c>>1,a.Ed-=c);if(b||c)a.ia.fillStyle=a.pa.style.backgroundColor,a.ia.fillRect(0,0,a.ua,a.Ea)}}eo(a,!0);Yc(a)}return!0}function An(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function fo(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function eo(a,b){b||(a.pb=!1);fo(a)}
function ao(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ia.fillStyle=h.Me[k],a.ia.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ia.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ze,e?(a.Za&&a.Za!==h.Qc&&(f=f*h.Qc/a.Za|0,g=g*h.Qc/a.Za|0),e.fillStyle=h.Me[d],
e.fillRect(b,c+f,h.Pc,g)):(a.Za&&a.Za!==a.Ka&&(f=f*a.Ka/a.Za|0,g=g*a.Ka/a.Za|0),a.ia.fillStyle=h.Me[d],a.ia.fillRect(b,c+f,a.Ja,g)))}
function Yc(a,b){if(a.la.ec){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)fo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.cc;19<=a.Ia&&(h=c=655360,k=c+65536);if(go(a,d)&8||d.mf&&d.mf<d.ei)d.Xf=(d.sb[12]<<8)+d.sb[13]|0,d.mf=0;var l=d.Xf;a.U&&(l<<=1);c+=l;l=a.Kb;5<=a.kb&&d.sb[19]&&d.sb[19]<<1!=d.sb[1]+1&&(a.tb=d.sb[19]<<(a.U?1:d.sb[20]&64?3:4),l=(a.tb*(a.W-1)+a.L)/a.hd|0,7>=a.Ia&&(l<<=1));c+l>k&&(l=k-c,0>
l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0<l&&q<d.sa.length;)d.sa[q].Va&&(d.sa[q].Va=n=!1,d.sa[q].Oi=!0),l-=d.Ob,q++;d=n}if(d){if(!e)return;if(!a.Pa){if(0>a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.C.gd&32;5<=a.kb&&(l=a.C.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c<k&&f<g;)l=ec(a.ea,c),l|=65536,l&h&&(a.Pa++,l&=d),f==a.ka&&(l|=a.bb&1?131072:0),a.Fa&&l===a.fa[f]||(ao(a,f%a.L,f/a.L|0,l,a.fb),a.fa[f]=l,e++),c+=2,f++;a.Fa=!0;e&&a.fb&&
a.ia.drawImage(a.eb,0,0,a.Sb,a.Yb,a.ke,a.le,a.td,a.Ed);Bn(a)}}else if(a.sd){for(var g=k,p,k=c,f=a.Pa=0,e=a.hd,h=16==e?65536:196608,d=16==e?1:2,l=xn(a,d),q=n=0,A=a.L,F=0,v=a.W,E=0;k<g;){p=ec(a.ea,k);if(a.Fa&&p===a.fa[f])n+=e;else{a.fa[f]=p;p=p>>8|(p&255)<<8;var H=h,L=16;n<A&&(A=n);for(var W=0;W<e;W++){var P=(p&(H>>=d))>>(L-=d);An(a.qb,n++,q,l[P])}n>F&&(F=n);q<v&&(v=q);q>=E&&(E=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;A<a.L&&(a.fb.putImageData(a.qb,0,0,A,v,F-
A,E-v),a.ia.drawImage(a.eb,0,0,a.L,a.W,0,0,a.ua,a.Ea))}else if(a.Ce){g=h;e=a.Pa=0;h=xn(a,8);d=a.C.rd;n=l=0;q=a.L;A=0;F=a.W;v=0;E=a.C.He[4]&8?4:1;p=a.C.Sc[19]&15;for(H=a.tb>a.L?a.tb-a.L-p>>3:0;c<k;){f=d[c-g];W=4;p||(a.Fa&&f===a.fa[e]?(l+=W,W=0):a.fa[e]=f,e++);if(W){l<q&&(q=l);for(L=0;L<W;L++)An(a.qb,l++,n,h[f&255]),f>>=8;l>A&&(A=l);n<F&&(F=n);n>=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);q<a.L&&(a.fb.putImageData(a.qb,0,0,q,F,A-q,v-F),a.ia.drawImage(a.eb,0,0,a.L,a.W,0,0,a.ua,
a.Ea))}else{g=h;f=a.Pa=0;e=xn(a);h=a.C.rd;l=d=0;n=a.L;q=0;A=a.W;F=0;v=a.C.Sc[19]&15;for(E=a.tb>a.L?a.tb-a.L-v>>3:0;c<k;){p=c++-g;p=h[p];L=8;v?d?(H=a.L-d,L>H&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){d<n&&(n=d);for(H=0;H<L;H++)W=Tm[p&-2139062144]||0,An(a.qb,d++,l,e[W]),p<<=1;d>q&&(q=d);l<A&&(A=l);l>=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);n<a.L&&(a.fb.putImageData(a.qb,0,0,n,A,q-n,F-A),a.ia.drawImage(a.eb,0,0,a.L,a.W,0,0,a.ua,a.Ea))}}}}
function go(a,b){var c=0,d=Wc(a.F)-b.vh;0>d&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return ho(this,this.ra,a,b)};m.an=function(a,b,c){var d=this.ra;d.Ig=d.Bc;d.Bc=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return io(this,this.ra,a,b)};m.$m=function(a,b,c){jo(this,this.ra,a,b,c)};m.Hl=function(a,b){return ko(this,this.ra,b)};m.bn=function(a,b,c){a=this.ra;x(this,a.port+4,b,c,"MODE");a.gd=b;vn(this,!1)};
m.Il=function(a,b){return lo(this,this.ra,b)};m.fk=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.fl=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Dk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c};
m.ek=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,eo(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&tn(this,!0)&&Yc(this,!0),d.Xf=(d.sb[12]<<8)+d.sb[13]|0,d.mf=0};m.Sl=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Vc&1<<c)<<4-c;else{var d=this.A.rf[0];45!=(d&63)&&2880!=(d&4032)&&184320!=(d&258048)&&(c|=16)}c|=this.A.Lg&-17;this.A.Lg=c;x(this,962,null,b,"STATUS0",c);return c};
m.cn=function(a,b,c){this.A.sf=b;sn(this);x(this,962,b,c,"MISC")};m.Tl=function(a,b){var c=this.A.li;x(this,963,null,b,"VGA_ENABLE",c);return c};m.mn=function(a,b,c){this.A.li=b;x(this,963,b,c,"VGA_ENABLE")};m.Ql=function(a,b){var c=this.A.$d;x(this,964,null,b,"SEQ.INDX",c);return c};m.jn=function(a,b,c){this.A.$d=b;x(this,964,b,c,"SEQ.INDX")};m.Pl=function(a,b){var c=this.A.He[this.A.$d];b&&!z(this)||x(this,965,null,b,"SEQ."+this.A.Vg[this.A.$d],c);return c};
m.hn=function(a,b,c){c&&!z(this)||x(this,965,b,c,"SEQ."+this.A.Vg[this.A.$d]);this.A.He[this.A.$d]=b;switch(this.A.$d){case 2:this.A.rb=Sm[b&15];break;case 4:co(this,bo(this))&&Yc(this,!0)}};m.sl=function(a,b){var c=this.A.ki;b&&!z(this)||x(this,966,null,b,"DAC.MASK",c);return c};m.Km=function(a,b,c){c&&!z(this)||x(this,966,b,c,"DAC.MASK");this.A.ki=b};m.tl=function(a,b){var c=this.A.Jg;b&&!z(this)||x(this,967,null,b,"DAC.STATE",c);return c};
m.Lm=function(a,b,c){c&&!z(this)||x(this,967,b,c,"DAC.READ");this.A.od=b;this.A.Jg=3;this.A.Kc=0};m.Mm=function(a,b,c){c&&!z(this)||x(this,968,b,c,"DAC.WRITE");this.A.od=b;this.A.Jg=0;this.A.Kc=0};m.rl=function(a,b){var c=this.A.rf[this.A.od]>>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.od)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255);return c};
m.Jm=function(a,b,c){a=this.A.rf[this.A.od];c&&!z(this)||x(this,969,b,c,"DAC.DATA["+t(this.A.od)+"]["+t(this.A.Kc)+"]");b=a&~(63<<this.A.Kc)|(b&63)<<this.A.Kc;a!==b&&(this.A.rf[this.A.od]=b,eo(this,!1));this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255)};m.Ul=function(a,b){var c=this.A.dg;x(this,970,null,b,"FEAT",c);return c};m.Wm=function(a,b,c){this.A.jk=b;x(this,970,b,c,"GRC2")};m.Vl=function(a,b){var c=this.A.sf;x(this,972,null,b,"MISC",c);return c};
m.Vm=function(a,b,c){this.A.ik=b;x(this,972,b,c,"GRC1")};m.zl=function(a,b){var c=this.A.Zd;x(this,974,null,b,"GRC.INDX",c);return c};m.Um=function(a,b,c){this.A.Zd=b;x(this,974,b,c,"GRC.INDX")};m.yl=function(a,b){var c=this.A.Yd[this.A.Zd];b&&!z(this)||x(this,975,null,b,"GRC."+this.A.Ug[this.A.Zd],c);return c};
m.Tm=function(a,b,c){c&&!z(this)||x(this,975,b,c,"GRC."+this.A.Ug[this.A.Zd]);this.A.Yd[this.A.Zd]=b;switch(this.A.Zd){case 0:this.A.Uf=Sm[b&15];this.A.ne=this.A.Uf&~this.A.Wd;break;case 1:this.A.Wd=~Sm[b&15];this.A.ne=this.A.Uf&~this.A.Wd;break;case 2:this.A.oh=Sm[b&15]&-2139062144;break;case 3:case 5:co(this,bo(this));break;case 4:this.A.di=(b&3)<<3;break;case 6:vn(this,!1);break;case 7:this.A.ph=Sm[b&15]&-2139062144;break;case 8:this.A.Nb=b|b<<8|b<<16|b<<24}};
m.ll=function(a,b){return ho(this,this.Y,a,b)};m.Em=function(a,b,c){var d=this.Y;d.Ig=d.Bc;d.Bc=b&31;x(this,a,b,c,"CRTC.INDX")};m.kl=function(a,b){return io(this,this.Y,a,b)};m.Dm=function(a,b,c){jo(this,this.Y,a,b,c)};m.ml=function(a,b){return ko(this,this.Y,b)};m.Fm=function(a,b,c){a=this.Y;x(this,a.port+4,b,c,"MODE");a.gd=b;vn(this,!1)};m.jl=function(a,b){var c=this.Y.qf;b&&!z(this)||x(this,a,null,b,this.Y.type+".COLOR",c);return c};
m.Cm=function(a,b,c){c&&!z(this)||x(this,a,b,c,this.Y.type+".COLOR");this.Y.qf!==b&&(this.Y.qf=b,eo(this,!1))};m.nl=function(a,b){return lo(this,this.Y,b)};function ho(a,b,c,d){var e;b.Hc&&(e=b.Bc);x(a,c,null,d,"CRTC.INDX",e);return e}function io(a,b,c,d){var e;b.Hc&&b.Bc<b.nh&&(e=b.sb[b.Bc]);d&&!z(a)||x(a,c,null,d,"CRTC."+b.jg[b.Bc],e);return e}
function jo(a,b,c,d,e){if(b.Bc<b.nh){e&&!z(a)||x(a,c,d,e,"CRTC."+b.jg[b.Bc]);b.sb[b.Bc]=d;if(12==b.Bc||13==b.Bc)go(a,b)&1?b.Xf=(b.sb[12]<<8)+b.sb[13]|0:b.mf||(b.mf=b.ei);(9==b.Bc&&8!=b.Ig||18==b.Bc&&223==d)&&vn(a,!0);wn(a)}}function ko(a,b,c){var d=b.gd;x(a,b.port+4,null,c,"MODE",d);return d}function lo(a,b,c){var d=go(a,b);b===a.A?(d|=b.ma&48^48,b.Ve=!1):d=(b.ma^=9)|240;b.ma=d;x(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var gn={948:Z.prototype.Gl,949:Z.prototype.Fl,952:Z.prototype.Hl,954:Z.prototype.Il},hn={948:Z.prototype.an,949:Z.prototype.$m,952:Z.prototype.bn},jn={980:Z.prototype.ll,981:Z.prototype.kl,984:Z.prototype.ml,985:Z.prototype.jl,986:Z.prototype.nl},kn={980:Z.prototype.Em,981:Z.prototype.Dm,984:Z.prototype.Fm,985:Z.prototype.Cm},ln={960:Z.prototype.fl,961:Z.prototype.Dk,962:Z.prototype.Sl,964:Z.prototype.Ql,965:Z.prototype.Pl,974:Z.prototype.zl,975:Z.prototype.yl},mn={954:Z.prototype.fk,960:Z.prototype.ek,
961:Z.prototype.ek,962:Z.prototype.cn,964:Z.prototype.jn,965:Z.prototype.hn,970:Z.prototype.Wm,972:Z.prototype.Vm,974:Z.prototype.Um,975:Z.prototype.Tm,986:Z.prototype.fk},nn={963:Z.prototype.Tl,966:Z.prototype.sl,967:Z.prototype.tl,969:Z.prototype.rl,970:Z.prototype.Ul,972:Z.prototype.Vl},on={963:Z.prototype.mn,966:Z.prototype.Km,967:Z.prototype.Lm,968:Z.prototype.Mm,969:Z.prototype.Jm};
Qa(function(){for(var a=nb(document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=kb(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}});
function mo(a){this.V=a.adapter;switch(this.V){case 1:this.L=956;this.C=7;break;case 2:this.L=888;this.C=7;break;case 3:this.L=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,mo,4194304);a=a.binding;"console"==a?this.B="":lb(this,a,no)}db(mo);var no="buffer";m=mo.prototype;m.Rb=function(a,b,c){switch(b){case no:return this.qa[b]=this.A=c,!0}return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,oo,this.L);lc(b,this,po,this.L);sb(this)};m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};m.reset=function(){qo(this)};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.$b;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return qo(this,a[0])};
function qo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.da=b[c++];a.$b=b[c++];a.Bf=b[c];return!0}m.ul=function(a,b){var c=this.da;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.$b;x(this,a,null,b,"STAT",c);return c};m.ql=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c};
m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.da=b;this.$b|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.$b&=-65);ro(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;ro(this)};function ro(a){a.N&&a.C&&(a.Bf&16&&!(a.$b&64)?fg(a.N,a.C):eg(a.N,a.C))}
var oo={0:mo.prototype.ul,1:mo.prototype.Rl,2:mo.prototype.ql},po={0:mo.prototype.Nm,2:mo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new mo(d);mb(d,c)}});
function so(a){this.ra=a.adapter;switch(this.ra){case 1:this.ka=1016;this.fa=4;break;case 2:this.ka=760;this.fa=3;break;default:w("Unrecognized serial adapter #"+this.ra);return}this.L=this.U=null;this.Ba=a.tabSize;this.za=a.charBOL;this.W=0;Ua.call(this,"SerialPort",a,so,8388608);a=a.binding;"console"==a?this.U="":lb(this,a,to)}db(so);var to="buffer";m=so.prototype;m.xi=function(a,b){return a==this.be?(this.V=b,this):null};
m.Rb=function(a,b,c){var d=this;switch(b){case to:return this.qa[b]=this.L=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),uo(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;uo(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,vo,this.ka);lc(b,this,wo,this.ka);sb(this)};m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};m.reset=function(){xo(this)};
m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.pa;c[b++]=this.wa;c[b++]=this.Y;c[b++]=this.ia;c[b++]=this.da;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.ua;c[b]=this.ga;N(a,0,c);return a.data()};m.restore=function(a){return xo(this,a[0])};function xo(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.pa=b[c++];a.wa=b[c++];a.Y=b[c++];a.ia=b[c++];a.da=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.ua=b[c++];a.ga=b[c];return!0}function uo(a,b){a.ga=a.ga.concat(b);yo(a)}
function yo(a){0<a.ga.length&&!(a.A&1)&&(a.pa=a.ga.shift(),a.A|=1);var b=-1;a.A&1&&a.ia&1&&(b=4);0<=b?(a.da&=-8,a.da|=b,a.N&&a.fa&&fg(a.N,a.fa,100)):(a.da|=1,a.N&&a.fa&&eg(a.N,a.fa))}m.Ol=function(a,b){var c=this.B&128?this.Y&255:this.pa;x(this,a,null,b,this.B&128?"DLL":"RBR",c);this.A&=-2;yo(this);return c};m.Al=function(a,b){var c=this.B&128?this.Y>>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.da;x(this,a,null,b,"IIR",c);return c};
m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c};
m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.Y=this.Y&-256|b;else{this.wa=b;this.A&=-97;if(this.L)13==b?this.W=0:8==b?(this.L.value=this.L.value.slice(0,-1),0<this.W&&this.W--):(a=String.fromCharCode(b),c=32<=b?1:0,9==b&&(b=this.Ba||8,c=b-this.W%b,this.Ba&&(a=ma("",c))),this.za&&!this.W&&c&&(a=String.fromCharCode(this.za)+a),this.L.value+=a,this.L.scrollTop=this.L.scrollHeight,this.W+=c),b=!0;else if(null!=this.U){if(10==b||1024<=this.U.length)this.O(this.U),this.U=
"";10!=b&&(this.U+=String.fromCharCode(b));b=!0}else b=!1;b&&(this.A|=96)}};m.Xm=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.Y=this.Y&255|b<<8:this.ia=b};m.Ym=function(a,b,c){x(this,a,b,c,"LCR");this.B=b};
m.Zm=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(uo(a.N,[77,77]),y(a,"serial mouse ID sent")),zo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Ao(a),a.Hc=c),a.C=b)};
var vo={0:so.prototype.Ol,1:so.prototype.Al,2:so.prototype.Bl,3:so.prototype.Cl,4:so.prototype.El,5:so.prototype.Dl,6:so.prototype.Jl},wo={0:so.prototype.kn,1:so.prototype.Xm,3:so.prototype.Ym,4:so.prototype.Zm};Qa(function(){for(var a=nb(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new so(d);mb(d,c)}});function Bo(a){Ua.call(this,"Mouse",a,Bo,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.ga=this.Hc=!1;this.B=[];this.A=[];sb(this)}db(Bo);var rn=0;m=Bo.prototype;
m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.F=c;this.ha=d;for(b=null;b=Eb(a,"Video",b);)this.B.push(b)};m.kc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Eb(this.da,this.pa,c))&&(!c.xi||!(this.N=c.xi(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.V=this;(d=d.da)&&this.A.push(d)}else w(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Hc?zo(this):Ao(this)}return!0};
m.jc=function(a){return a?this.save():!0};m.reset=function(){Co(this)};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.Hc;c[b++]=this.L;c[b++]=this.V;c[b++]=this.U;c[b++]=this.W;c[b++]=this.Y;c[b++]=this.fa;c[b]=this.C;N(a,0,c);return a.data()};m.restore=function(a){return Co(this,a[0])};function Co(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Hc=d;a.L=b[c++];a.V=b[c++];a.U=b[c++];a.W=b[c++];a.Y=b[c++];a.fa=b[c++];a.C=b[c];return!0}m.Vf=function(a){this.ga=a};
function zo(a){if(!a.ia)for(var b=0;b<a.A.length;b++)Do(a,a.A[b])&&(a.ia=!0)}function Ao(a){if(a.ia)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Do(a,b){return b?(b.addEventListener("mousemove",function(b){Eo(a,b)},!1),b.addEventListener("mousedown",function(b){Eo(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Eo(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Eo(a,b,c){if(void 0!==c){var d;!(d=!1!==a.ga)&&(d=a.B.length)&&(d=a.B[0],d=d.Og?d.Ae(!0):!1);d||(a.ga=null);a.ge(b.button,c)}else{if(0>a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}}
m.ge=function(a,b){if(this.Hc&&this.F&&this.F.la.Jb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case rn:if(this.Y!=b){this.Y=b;Fo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Fo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Jb&&(a||b)&&(this.U=a,this.W=b,Fo(this,null,c,d))};
function Fo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);uo(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Bo(d);mb(d,c)}});
function Go(a,b,c){Ua.call(this,"Disk",{id:a.se+".disk"+r(++Ho,4)},Go,2097152);this.controller=a;this.da=a.da;this.ha=a.ha;this.B=b;this.ea=b.name;this.$e=b.$e;this.qg=this.N=!1;Io(this,c,b.Cb,b.vb,b.lb,b.Ua);this.U=[];this.fa=[];this.L=null;this.ia=0;this.ga=!1;sb(this)}var Ho=0;db(Go);function Jo(a,b,c,d,e,f){this.ya=a;this.nc=c;this.Wg=d;this.Ci=e;this.ue=f}var Ko=[0,2],Lo=[24,2],Mo=[60,4],No=[0,2],Oo=[4,2],Po=[6,2],Qo=[28,2],Ro=[32,2],So=[34,2],To=[38,2],Uo=[44,4],Vo=[50,2];
function Wo(a,b,c){var d;c=c||2;var e=b&511,f=Xo(a.ya,a.ue[b>>9]);if(f){if(e+c<=f.length)return Yo(a.ya,f,e,c);for(e=d=0;c--;)d|=Wo(a,b++,1)<<e,e+=8}return d}function Zo(a,b,c){return Wo(a,b[0]+(c||0),b[1])}function $o(a,b,c){for(var d=0;!c||b<c;){var e=Wo(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var l=Wo(f,g++,1);if(!l)break;k+=String.fromCharCode(l)}f=k;if(!f)break;b+=1+e;if(d){if(e=Wo(a,b),g=a.A[e])g=g[0],a.yd[g]&&a.yd[g].te[e].push(f)}else c||(a.fg=f);b+=2;d++}}
Jo.prototype.Ti=function(a,b){var c=null;if(this.yd)for(var d in this.yd){var e=this.yd[d];if(a>=e.fi&&a<=e.bk){d=a-=e.fi;var f,g;for(g in e.te){var h=e.te[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.fg+"!"+f[1]+"+"+u(d));break}}return c||this.nc+"+"+("0x"+r(a))};m=Go.prototype;m.Ic=function(a,b,c,d){this.ha=d};m.kc=function(a,b){b||!this.qg||this.N||(sb(this,!1),this.load(this.ea,this.V,null,this.Qk,this));return!0};m.Qk=function(){sb(this,!0)};
m.jc=function(a,b){if(this.N){var c,d=0;if(this.ga&&!za("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=ap(this,!1);)if(d=c[0]){this.controller.Oa('Unable to save "'+this.ea+'" (error '+d+")");break}b&&this.N&&(c="action=close&volume="+this.V,c+="&machine="+this.controller.df(),c+="&user="+this.controller.he(),wa(xa()+"/api/v1/disk?"+c,null,!0),this.N=!1);!d&&a&&this.controller.Oa(this.ea+" saved")}return!0};
function Io(a,b,c,d,e,f){a.mode=b;a.Cb=c;a.vb=d;a.lb=e;a.Ua=f;a.A=[];if("preload"!=a.mode){b=Array(a.Cb);for(c=0;c<b.length;c++){d=Array(a.vb);for(e=0;e<d.length;e++){f=Array(a.lb);for(var g=1;g<=f.length;g++)f[g-1]=bp(null,c,e,g,a.Ua,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.Y=null}
m.load=function(a,b,c,d,e){var f=b;if(this.W)return!0;this.ea=a;this.V=b;this.mi=fa(b);var g=this;this.W=d;this.ka=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Cb=d[0];g.vb=d[1];g.lb=d[2];g.Ua=512;b=g.Ua>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Cb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.vb),F=0;F<f.length;F++)for(var v=f[F]=Array(g.lb),E=0;E<v.length;E++){for(var H=bp(null,c,F,E+1,g.Ua,0),L=H.data,W=0;W<b;W++,
e+=4)var P=L[W]=a.getInt32(e,!0),d=d+P&-1;H.Zc=b;v[E]=H}g.Y=d;b=g}else g.Oa("Unrecognized diskette format ("+c+" bytes)");g.W&&(g.W.call(g.controller,g.B,b,g.ea,g.V),g.W=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=cp(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ja(b,"/")&&
(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){dp(g,a,b,c)})};
function dp(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.ec;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,ep(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.se,b,c);try{if(0<fa(a.mi,!0).toLowerCase().indexOf("-readonly"))a.cf=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.cf=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.ea]:
h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Cb=h.length;a.vb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d<a.Cb;d++)for(f=0;f<a.vb;f++)for(g=0;g<a.lb;g++)if(k=h[d][f][g]){var l=k.length;void 0===l&&(l=k.length=512);var l=l>>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A=
l<<2,F=p.length;F<A;F++)p[F]=n;fp(k,p,0)}else q=[],n=k.pattern=n|n<<8|n<<16|n<<24,k.data=q;delete k.bytes}bp(k,d,f);for(A=0;A<q.length;A++)c=c+q[A]&-1}a.A=h;a.Y=c;ep(a);e=a}else w("Empty disk image: "+a.ea)}catch(v){w("Disk image error ("+b+"): "+v.message)}}a.W&&(a.W.call(a.ka,a.B,e,a.ea,a.V),a.W=null)}
function ep(a){var b,c,d={},e;if(a.C&&a.C.length)for(b=a.A,c=0;c<b.length;c++)for(var f=0;f<b[c].length;f++)for(e=0;e<b[c][f].length;e++){var g=b[c][f][e];g&&(delete g.file,delete g.nm)}a.C=[];d.Zf=d.Gf=0;b=a.Cb*a.vb*a.lb*a.Ua;a.N&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=Xo(a,0)){d.Ua=Yo(a,e,11,2);f=!0;if(d.Ua!=a.Ua){f=!1;d.Ff=1;d.zg=12;d.kh=d.Ff+2;d.xg=1;d.Ua=a.Ua;if(163840==b&&254==gp(a,d,0,0))d.Gf=320,d.uh=64,f=!0;else if(327680==b&&255==gp(a,d,0,0))d.Gf=640,
d.uh=112,f=!0;else for(c=446,b=0;4>b;b++){if(128==Yo(a,e,c+0,1)){d.Zf=Yo(a,e,c+8,4);(e=Xo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Yo(a,e,19,2)||Yo(a,e,32,4),d.Ff=Yo(a,e,14,2),d.kh=d.Ff+Yo(a,e,22,2)*Yo(a,e,16,1),d.uh=Yo(a,e,17,2),d.xg=Yo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Ua-1))/d.Ua|0);d.im=(d.Gf-d.ih)/d.xg|0;d.zg=4084>=d.im?12:16;d.Tk=12==d.zg?4086:65526;b=[];for(e=d.kh;e<d.ih;e++)b.push(d.Zf+e);hp(a,d,a.mi,"",b);for(b=0;b<a.C.length;b++){d=a.C[b];for(e=c=0;e<d.ue.length;e++){var f=
d.ue[e],g=c,h=a.vb*a.lb,k=f%h,l=k/a.lb|0,k=k%a.lb,n=void 0,q=void 0,p=void 0;(n=a.A[f/h|0])&&(q=n[l])&&(p=q[k])&&!p.file&&(p.file=d,p.nm=g);c+=a.Ua}e=d;if((ja(e.nc,".EXE")||ja(e.nc,".DLL")||ja(e.nc,".DRV"))&&23117==Zo(e,Ko)&&64==Zo(e,Lo)&&(c=Zo(e,Mo),17742==Zo(e,No,c))){l=Zo(e,Qo,c);g=Zo(e,So,c);h=Zo(e,Vo,c);if(g&&l){d=e;f=g+c;g=l;h=h||0;l=1;d.yd=[];for(d.A=[];g--;){if(k=Wo(d,f)<<h)n=Wo(d,f+2)||65536,d.yd[l++]={fi:k,bk:k+n-1,te:[]};f+=8}d.yd[254]={fi:0,bk:0,te:[]}}g=Zo(e,Oo,c);h=Zo(e,Po,c);if(g&&
h)for(d=e,f=g+=c,g=g+h,h=1;f<g;){k=Wo(d,f);l=k&255;if(!l)break;k=k>>8;f+=2;if(k)for(;l--;)Wo(d,f,1),254>=k?(n=k,q=Wo(d,f+1),f+=3):(n=Wo(d,f+3,1),q=Wo(d,f+4),f+=6),d.yd[n]&&(d.yd[n].te[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Zo(e,To,c))&&$o(e,g+c);g=Zo(e,Uo,c);h=Zo(e,Ro,c);g&&h&&$o(e,g,g+h)}}}}
function hp(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.yo=d+"\\";for(var k=0;k<e.length;k++)for(var l=e[k],n=0;n<h;n++){var q=a,p=b;f=n;p.re&&p.hi&&p.hi==l||(p.hi=l,p.re=Xo(q,p.hi));if(p.re){f*=32;var A=Yo(q,p.re,f,1);if(0==A)f=!1;else{if(229==A)p.nc=null;else{p.nc=na(ip(q,p.re,f+0,8));A=na(ip(q,p.re,f+8,3));A.length&&(p.nc+="."+A);p.Wg=Yo(q,p.re,f+11,1);p.Ci=Yo(q,p.re,f+28,2);p.Sk=Yo(q,p.re,f+26,2);f=p;var A=[],F=p.Sk;if(F){do{if(2>F)break;for(var v=p.ih+(F-2)*p.xg,E=0;E<p.xg;E++)A.push(p.Zf+v++);
F=gp(q,p,F,0)|gp(q,p,F,1)}while(F<=p.Tk)}f.ue=A}f=!0}}else f=!1;if(!f){k=e.length;break}null!=b.nc&&"."!=b.nc&&".."!=b.nc&&(f=new Jo(a,0,b.nc,b.Wg,b.Ci,b.ue),a.C.push(f))}for(e=a.C.length;g<e;g++)f=a.C[g],f.Wg&16&&f.ue.length&&hp(a,b,c,d+"\\"+f.nc,f.ue)}function gp(a,b,c,d){var e=0,f=8*b.Ua;c=b.zg*c+(d?8:0);var g=c/f|0;b.ni&&b.jh&&b.jh==b.Ff+g||(b.jh=b.Ff+g,b.ni=Xo(a,b.Zf+b.jh));b.ni&&(c=c%f|0,e=Yo(a,b.ni,c>>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
function Xo(a,b){var c=a.vb*a.lb,d=b/c|0;return d<a.Cb?(c=b%c,a.seek(d,c/a.lb|0,c%a.lb+1)):null}function Yo(a,b,c,d){for(var e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ip(a,b,c,d){for(var e="";d--;){var f=a.read(b,c++);if(0>=f)break;e+=String.fromCharCode(f)}return e}function bp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Uk=b;a.Vk=c;a.wd=a.Zc=0;a.Va=!1;return a}
function cp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c}
function jp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,A,F,!0);if(!E)break;fp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)}
function kp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(p=p-1;0<A--&&0<=p&&p<a.A[f][h].length;p++){var F=a.A[f][h][p];n?lp(a,F,!1):F.Va||(F.wd=F.Zc=0)}q&&mp(a)})}return!1}
function lp(a,b,c){b.Va=!0;var d=a.U.indexOf(b);0<=d&&(a.U.splice(d,1),a.fa.splice(d,1));a.U.push(b);a.fa.push(pa());c&&mp(a)}function mp(a){if(a.U.length){var b=a.fa[0]+2E3;a.L&&a.ia<b&&(clearTimeout(a.L),a.L=null);if(!a.L){var c=pa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.L=setTimeout(function(){ap(a,!0)},b);a.ia=c+b}}else a.L&&(clearTimeout(a.L),a.L=null)}
function ap(a,b){b&&(a.L=null);var c=a.U[0];if(c){for(var d=c.Uk,e=c.Vk,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Va)break;var l=a.U.indexOf(k);a.U.splice(l,1);a.fa.splice(l,1);g=g.concat(np(k));k.Va=!1;f++}d=kp(a,d,e,c,f,g,b);return b||d}return!1}m.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
m.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.Yg&&b<g.vb)for(k=h[b]=Array(g.ee),h=0;h<k.length;h++)k[h]=bp(null,a,b,h+1,g.Hb,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;jp(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.Yg&&9==g.yb&&(f=k[h]=bp(null,a,b,g.yb,g.Hb,0))}}e&&e(f,!1);return f};
function fp(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}function np(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};
m.write=function(a,b,c){if(this.cf)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f<a.wd?(a.Zc+=a.wd-f,a.wd=f):f>=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<<b)|c<<b;this.N&&lp(this,a,!0)}return!0}return null};
m.save=function(){var a=0,b=[];b[a++]=[this.V,this.Y,this.Cb,this.vb,this.lb,this.Ua];if(!this.N&&!this.cf)for(var c=this.A,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Zc){for(var h=[],k=0,l=g.wd,n=g.wd+g.Zc;l<n;)h[k++]=g.data[l++];b[a++]=[d,e,f,g.wd,h]}}return b};
m.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?Io(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Y&&e[1]!=this.Y&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Y+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],l=g[f++];if(h>=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+
b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.wd=e;for(h.Zc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):ep(this);return b};
m.toJSON=function(){var a;a=0;for(var b;b=Xo(this,a++);)op(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function op(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function pp(a){Ua.call(this,"FDC",a,pp,524288);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaFormat=this.Mk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(pp);aa={};
var qp={3:{Rd:3,fe:0,name:aa.Xn},4:{Rd:2,fe:1,name:aa.Vn},5:{Rd:9,fe:7,name:aa.fo},6:{Rd:9,fe:7,name:aa.Qn},7:{Rd:2,fe:0,name:aa.Sn},8:{Rd:1,fe:2,name:aa.Wn},10:{Rd:2,fe:7,name:aa.Rn},13:{Rd:6,fe:7,name:aa.Dn},15:{Rd:3,fe:0,name:aa.Un}};m=pp.prototype;
m.Rb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&rp(d,a)},!0;
case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&sp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Xo(b,h++);)for(var l=0,n=k.length;l<n;l++)c+=String.fromCharCode(Yo(b,k,l,1));a=Ia(btoa(c),"octet-stream",!0,a.ya.mi.replace(".json",".img"));w(a)}else d.Oa("No disk loaded in drive");
else d.Oa("No drive selected")};return!0;case "mountDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;sp(d,fa(b,!0),b,a)}return!1};return!0}return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.da,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}tp(this);hc(b,this,up);lc(b,this,vp);this.ga&&wp(this,"Local Disk","?");wp(this,"Remote Disk","??");xp(this)||sb(this)};
m.kc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.da.dh){this.B=[];for(var c=0;c<this.A.length;c++)yp(this,c,!0);xp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.ia;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ia&&(c.value="0",rp(this,0))}}return!0};m.jc=function(a){return a?this.save():!0};
m.reset=function(){tp(this)};
m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.gb;c[b++]=0;c[b++]=this.ma;c[b++]=this.V;c[b++]=this.L;c[b++]=this.C;c[b++]=this.Y;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Db;n[l++]=[k.name,k.Cb,k.vb,k.lb,k.Ua,k.$e,k.yg,k.Nf,k.Of];n[l++]=k.jb;n[l++]=k.de+100;n[l++]=k.Tb;n[l++]=k.yb;n[l++]=k.ee;n[l++]=k.Hb;n[l++]=k.cb;n[l++]=k.Ye;n[l++]=k.lk;n[l]=k.Je;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.ya&&zp(this,f.Je,f.ya);c[d]=this.B;
c[b++]=this.W;c[b]=this.mc;N(a,0,c);return a.data()};m.restore=function(a){return tp(this,a[0])};
function tp(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.gb=b[c++];c++;a.ma=b[c++];a.V=b[c++];a.L=b[c++];a.C=b[c++];a.Y=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.ia=4,a.N&&(a.ia=hl(a.N)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.N)a:{h=a.N;if(d<hl(h)){if(!h.pa){h=360;break a}if(d<h.pa.length){h=h.pa[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.vb=1;default:g.Cb=40;g.lb=9;break;case 720:g.Cb=80;g.lb=
9;break;case 1200:g.Cb=80;g.lb=15;break;case 1440:g.Cb=80,g.lb=18}}var k=a,l=d,n=f[d],q=0;h=!0;g.gb=l;g.bd=g.Ye=!1;void 0===n&&(n=[192,!0,0,2,0]);"boolean"==typeof n[1]&&(n[1]=["Floppy Drive",g.Cb||40,g.vb||n[3],g.lb||9,g.Ua||512,n[1],g.yg,g.Nf,g.Of]);g.Db=n[q++];var p=n[q++];g.name=p[0];g.Cb=p[1];g.vb=p[2];g.lb=p[3];g.Ua=p[4];g.$e=p[5];(g.yg=p[6])?(g.Nf=p[7],g.Of=p[8]):(g.yg=g.Cb,g.Nf=g.vb,g.Of=g.lb);g.jb=n[q++];g.de=n[q++];g.Tb=n[q++];g.de=100<=g.de?g.de-100:g.de-g.Tb;g.yb=n[q++];g.ee=n[q++];g.Hb=
n[q++];g.cb=n[q++];g.ob=null;g.ya||(g.Je="");p=n[q++];102==p&&(p=!1);if("boolean"==typeof p){var A=p,p=n[q++],n=n[q];A?(q=p,p=k.A[l],yp(k,l,!0,!0),p.Ye=!0,l=new Go(k,p,"preload"),k.Ii(p,l,q,n,!0)):Ap(k,l,p,n,!0)?g.ya&&n&&Bp(k,p,n,g.ya):sb(k,!1)}else void 0!==p&&g.ya&&0>g.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Tb,g.jb,g.yb));h||(e=!1)}a.W=b[c++]||0;a.mc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
m.mk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Tb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.yb=b%e+1,a.Hb=c*d[3],a.Db=0,!0}return!1};
function xp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.textContent;break a}}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Ap(a,g,f,e,!0)&&b&&sb(a,!1);continue}a.Oa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.fa}
function sp(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Oa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c)}for(;Ap(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}yp(a,
e,!1,!0)}}else yp(a,e);else a.Oa("Unable to load the selected drive")}function Ap(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Je!=d){yp(a,b,e,!0);if(g.bd)return a.Oa("Drive "+b+" busy"),!0;g.bd=!0;e&&(g.xe=!0,a.fa++,z(a)&&y(a,"loading diskette '"+c+"'"));g.Ye=!!f;if(!(new Go(a,g,"preload")).load(c,d,f,a.Ii))return!1}return!0}
m.Ii=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Cb||f[1]>a.vb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.lk=c,a.Je=d,Bp(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.xe||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.xe&&(a.xe=!1,--this.fa||sb(this));rp(this,a.gb)};
function wp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function rp(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.Ye?"?":c.Je,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function yp(a,b,c,d){var e=a.A[b];e.ya&&(zp(a,e.Je,e.ya),e.lk="",e.Je="",e.ya=null,e.Ye=!1,a.W|=128,d||a.Oa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||rp(a,b))}
function Bp(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function zp(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}m.Qm=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.Y&4||this.Y&8&&this.N&&fg(this.N,6):tp(this);this.Y=b};m.xl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma};
m.vl=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.Y&8&&this.N&&eg(this.N,6);z(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c};
m.Pm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=this.V[0]&31;if(void 0!==qp[a]&&this.C>=qp[a].Rd){b=!1;this.L=0;a=Cp(this);var d,e,f,g,h=a&31;switch(h){case 3:Cp(this);Cp(this);Dp(this);break;case 4:c=Cp(this);this.gb=c&3;d=this.A[this.gb];Dp(this);Ep(this,(d.Db&-16777216)>>>24);break;case 5:case 6:c=Cp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Tb=Cp(this);e=Cp(this);f=d.yb=Cp(this);g=Cp(this);d.Hb=128<<g;d.ee=Cp(this);Cp(this);
Cp(this);6==h?(h=d,h.Db=72,h.ya&&(h.ob=null,h.Db=0,this.N&&(yl(this.N,2,this,"dmaRead",h),ql(this.N,2)))):(h=d,h.Db=72,h.ya&&(h.ya.cf?h.Db=576:(h.ob=null,h.Db=0,this.N&&(yl(this.N,2,this,"dmaWrite",h),ql(this.N,2)))));Fp(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=Cp(this);this.gb=c&3;d=this.A[this.gb];d.Tb=d.de=0;d.Db=268435488;Dp(this);b=!0;break;case 8:d=this.A[this.gb];d.jb=0;Dp(this);Ep(this,d.gb|d.jb<<2|d.Db&255);Ep(this,d.Tb);this.gb=this.gb+1&3;break;case 10:c=Cp(this);b=c>>2&1;this.gb=c&3;d=
this.A[this.gb];c=d.Tb;e=d.jb=b;f=d.yb=1;g=0;d.Db=0;d.ya&&(d.ob=d.ya.seek(d.Tb,d.jb,d.yb))?g=d.ob.length>>8:d.Db=72;Fp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Cp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Tb;e=d.jb=b;f=1;g=Cp(this);d.Hb=128<<g;d.ee=Cp(this);Cp(this);d.yi=Cp(this);h=d;h.Db=72;h.ya&&(h.ob=null,h.Db=0,this.N&&(h.Te=0,h.ld=Array(4),h.Yg=!0,h.mg=0,yl(this.N,2,this,"dmaFormat",h),ql(this.N,2),h.Yg=!1));Fp(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=Cp(this),this.gb=c&3,d=this.A[this.gb],
d.jb=c>>2&1,c=Cp(this),d.Tb+=c-d.de,0>d.Tb&&(d.Tb=0),d.Tb>=d.Cb&&(d.Tb=d.Cb-1),d.de=c,d.Db=32,d.Tb||(d.Db|=268435456),Dp(this),b=!0}0<this.C&&(this.ma|=80);this.Y&8&&(!d||d.Db&8||!b||this.N&&fg(this.N,6))}};m.wl=function(a,b){var c=this.W;this.W&=-129;x(this,a,null,b,"INPUT",c);return c};m.Om=function(a,b,c){x(this,a,b,c,"CONTROL");this.mc=b};
function Fp(a,b,c,d,e,f,g,h){Dp(a);Ep(a,b.gb|b.jb<<2|b.Db&255);Ep(a,(b.Db&65280)>>>8);Ep(a,(b.Db&16711680)>>>16);var k=0;if(e!=b.Tb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));Ep(a,e+k);Ep(a,f);Ep(a,g);Ep(a,h)}function Cp(a){var b=a.V[a.L];a.L++;return b}function Dp(a){a.L=a.C=0}function Ep(a,b){a.V[a.C++]=b}
m.xk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Db&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Tb,a.jb,a.yb);if(!a.ob){a.Db=1088;break}a.cb=0;Gp(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Hp(a,b):-1};
m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Db)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.Tb=a.ld[0];a.jb=a.ld[1];a.yb=a.ld[2];a.Hb=128<<a.ld[3];for(var d=a.Te=0;d<a.Hb;d++)if(0>Hp(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function Hp(a,b){if(a.Db||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Tb,a.jb,a.yb);if(!a.ob){a.Db=8256;b=-1;break}a.cb=0;Gp(a)}while(1);return b}
function Gp(a){a.yb++;a.yb>=a.Of+1&&(a.yb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Tb++))}var up={1012:pp.prototype.xl,1013:pp.prototype.vl,1015:pp.prototype.wl},vp={1010:pp.prototype.Qm,1013:pp.prototype.Pm,1015:pp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new pp(d);mb(d,c)}});
function Ip(a){Ua.call(this,"HDC",a,Ip,1048576);this.dmaRead=this.zk;this.dmaWrite=this.Ak;this.dmaWriteBuffer=this.Nk;this.dmaWriteFormat=this.Ok;this.ua=[];this.Fa=a.drives;this.ia="at"==a.type}db(Ip);
var Jp=["XTC","ATC","COMPAQ"],Kp=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];m=Ip.prototype;m.Rb=function(){return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;if(d=Nc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Eb(a,"ChipSet");this.U=0;this.Ia=3;hc(b,this,this.ia?Lp:Mp);lc(b,this,this.ia?Np:Op);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ia=2,b.Y[496]=2,b.fa[496]=2);df(c,19,this.Zl.bind(this));df(c,64,this.$l.bind(this));this.reset();Pp(this)||sb(this)};
m.kc=function(a,b){if(!b)if(!a||!this.restore)Qp(this),this.da.dh&&Pp(this,!0);else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};m.df=function(){return this.da?this.da.df():""};m.he=function(){return this.da?this.da.he():""};m.reset=function(){Qp(this,null,!0)};
m.save=function(){var a=new jf(this),b=0,c=[];this.ia?(c[b++]=this.W,c[b++]=this.Pa,c[b++]=this.Y,c[b++]=this.Ba,c[b++]=this.za,c[b++]=this.wa,c[b++]=this.ra,c[b++]=this.ma,c[b++]=this.Ea,c[b++]=[this.ga,this.gb]):(c[b++]=this.pa,c[b++]=this.ma,c[b++]=this.V,c[b++]=this.L,c[b++]=this.C,c[b++]=this.Na,c[b++]=this.Ka,c[b++]=this.Ja,c[b++]=this.ka);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,h=this.A[f],k=0,l=[];l[k++]=h.errorCode;l[k++]=h.nk;l[k++]=h.$e;l[k++]=h.Oe;l[k++]=h.Pe;l[k++]=h.jb;l[k++]=
h.vb;l[k++]=h.ae;l[k++]=h.yb;l[k++]=h.ee;l[k++]=h.Hb;l[k++]=h.cb;l[k]=h.ya?h.ya.save():null;e[g]=l}c[b]=e;N(a,0,c);return a.data()};m.restore=function(a){return Qp(this,a[0])};
function Qp(a,b,c){var d=0,e=!0;a.gb=-1;if(a.ia){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.W=b[d++],a.Pa=b[d++],a.Y=b[d++],a.Ba=b[d++],a.za=b[d++],a.wa=b[d++],a.ra=b[d++],a.ma=b[d++],a.Ea=b[d++],a.ga=b[d++],"object"==typeof a.ga){var f=a.ga;a.ga=f[0];a.gb=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.pa=b[d++],a.ma=b[d++],a.V=b[d++],a.L=b[d++],a.C=b[d++],a.Na=b[d++],a.Ka=b[d++],a.Ja=b[d++],f=b[d++],void 0!==f?a.ka=f:void 0===a.ka&&(a.ka=-1);void 0===a.A&&(a.A=Array(a.ua.length));b=b[d];void 0===
b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,l=a.ua[d],n=b[d],q=c,p=0,A=!0;void 0===n&&(n=[0,0,!1,Array(8)]);k.gb=h;k.errorCode=n[p++];k.nk=n[p++];k.$e=n[p++];k.Oe=n[p++];k.Pe=n[p++];k.jb=n[p++];k.vb=n[p++];k.ae=n[p++];k.yb=n[p++];k.ee=n[p++];k.Hb=n[p++];k.lg=g.ia?0:1;k.name=l.name;void 0===k.name&&(k.name="Hard Drive");k.path=l.path;k.mode=l.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.he()||(k.mode="local");k.type=l.type;
if(void 0===k.type||void 0===Kp[g.U][k.type])k.type=g.Ia;l=Kp[g.U][k.type];k.lb=l[2]||17;k.Ua=l[3]||512;if(q&&g.N){var F=g.N,v=k.type;if(F.A){var q=null,l=void 0,E=F.A[18];15<v&&(q=v,v=15);h?(E=E&240|v,l=26):(E=E&15|v<<4,l=25);v=F;v.A&&(v.A[18]=E,$k(v));null!=q&&F.A&&(F.A[l]=q,$k(F))}}void 0===k.ya&&(k.ya=null,g.Oa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Rp(g,k);k.cb=n[p++];k.ob=null;k.ya&&(g=n[p],void 0!==g&&0>k.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.yb+
k.lg)));A||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.gb&&(a.B=a.A[a.gb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Rp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=Kp[a.U][c][1],e=Kp[a.U][c][0]);d&&((c=Kp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Cb=e,b.vb=d,null==b.ya&&(b.ya=new Go(a,b,b.mode)))}}
m.mk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ae=Math.floor(b/g),b%=g,a.jb=Math.floor(b/f),a.yb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1};
function Pp(a,b){b||(a.fa=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.ya&&d.ya.qg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.bd?(e.Oa("Drive "+c+" busy"),e=!0):(g.bd=!0,g.xe=!0,e.fa++,z(e)&&y(e,"loading "+f),(g.ya||new Go(e,g,g.mode)).load(f,d,null,e.Pk),e=!1);!e&&b&&sb(a,!1)}}else b&&void 0!==d.type&&(d.ya=null,Rp(a,d,d.type))}return!!a.fa}
m.Pk=function(a,b,c){a.bd=!1;if(a.ya=b)this.Oa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.gb),a.xe),b=b.info(),b[0]==a.Cb&&b[1]==a.vb&&b[2]==a.lb&&b[3]==a.Ua||this.Oa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Jp[this.U]+" drive type "+a.type+" ("+a.Cb+":"+a.vb+":"+a.lb+")");a.xe&&(a.xe=!1,--this.fa||sb(this))};
m.Xl=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.N&&eg(this.N,5);this.ma&=-33;x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=12!=this.V[0]?6:this.V.length;6==this.C&&(this.ma&=-2);this.C>=a&&(this.ma|=2,this.ma&=-2,Sp(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L<this.C&&(this.ma|=1);return c};
m.qn=function(a,b,c){x(this,a,b,c,"RESET");this.Na=b;this.N&&eg(this.N,5);Qp(this)};m.Wl=function(a,b){x(this,a,null,b,"CONFIG",this.pa);return this.pa};m.pn=function(a,b,c){x(this,a,b,c,"PULSE");this.Ka=b;this.ma=13};m.on=function(a,b,c){x(this,a,b,c,"PATTERN");this.Ja=b};m.gi=function(a,b,c){x(this,a,b,c,"NOISE")};
function Tp(a,b,c){var d=-1;a.B&&(d=Up(a.B,function(){}),1==a.B.cb||a.B.cb==a.B.Ua)&&(z(a,1048832)&&x(a,b,null,c,"DATA["+a.B.cb+"]",d),1<a.B.cb&&(a.B.Hb-=a.B.Ua,a.Y=a.Y-1&255,a.B.Hb>=a.B.Ua?(a.ma=128,Up(a.B,function(b){0<=b?(Vp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Bk=function(a,b){return Tp(this,a,b)|Tp(this,a,b)<<8};
function Wp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Xp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1<a.B.cb&&(a.B.Hb-=a.B.Ua,a.Y=a.Y-1&255,Vp(a),a.ma=80,a.B.Hb>=a.B.Ua&&(a.ma|=8))}m.wm=function(a,b,c){Wp(this,a,b&255,c);Wp(this,a,b>>8&255,c)};m.el=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.gl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c};
m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.Y=b};m.hl=function(a,b){var c=this.Ba;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ba=b};m.cl=function(a,b){var c=this.za;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.za=b};m.bl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.dl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c};
m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.il=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&eg(this.N,14);Yp(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b};
function Yp(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.za|(a.wa&3)<<8,g=a.Ba,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.yb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Up(k,function(b){0<=b&&a.N?(Vp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.vb=e+1,k.lb=h,b=!0}b&&Vp(a)}
function Vp(a){!a.N||a.ga&2||fg(a.N,14,120)}
function Sp(a){a.L=0;var b=Zp(a),c=Zp(a),d=c&32,e=d>>5,f=c&31,g=Zp(a),h=Zp(a),k=g<<2&768|h,l=g&63,n=Zp(a),q=Zp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.yb=l,p.Hb=n*p.Ua);switch(b){case 3:$p(a,p?p.errorCode:4);aq(a,c);aq(a,g);aq(a,h);aq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Zp(a));)p&&c<p.Oe.length&&(p.Oe[c++]=b);p&&Rp(a,p);b=0;p||a.ka!=e||(a.ka=-1,b=2);$p(a,b|d);b=-1;break;case 224:case 228:$p(a,0|d),b=-1}if(0<=b)switch(void 0===p?b=-1:(p.errorCode=0,p.nk=0),b){case 0:$p(a,0|d);break;case 1:p.Bf=q;$p(a,
0|d);break;case 5:$p(a,0|d);break;case 8:bq(a,p,function(b){$p(a,b|d)});break;case 10:cq(a,p,function(b){$p(a,b|d)});break;case 15:dq(a,p,function(b){$p(a,b|d)});break;default:$p(a,2|d)}}function Zp(a){var b=-1;a.L<a.C&&(b=a.V[a.L++]);return b}function $p(a,b){a.L=a.C=0;void 0!==b&&aq(a,b);a.N&&fg(a.N,5);a.ma|=32}function aq(a,b){a.V[a.C++]=b}m.zk=function(a,b,c){void 0===b||0>b?Up(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Xp(a,b):-1};
m.Nk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cb<a.Pe.length?a.Pe[a.cb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};m.Ok=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.ae=a.ld[0];a.jb=a.ld[1];a.yb=a.ld[2];a.Hb=128<<a.ld[3];for(var d=a.Te=0;d<a.Hb;d++)if(0>Xp(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};
function bq(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function cq(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function dq(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function Up(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.yb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,eq(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function Xp(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.yb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;eq(a)}while(1);return b}function eq(a){a.yb++;var b=1-a.lg;a.yb>=a.lb+b&&(a.yb=b,a.jb++,a.jb>=a.vb&&(a.jb=0,a.ae++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128<a&&(this.ka=a-128);return!0};m.$l=function(){var a;(a=this.F.G>>8||!this.N)||(a=!(this.N.wc[0].Ad&64));return a?!0:!1};
var Mp={800:Ip.prototype.Xl,801:Ip.prototype.Yl,802:Ip.prototype.Wl},Lp={496:Ip.prototype.Bk,497:Ip.prototype.el,498:Ip.prototype.gl,499:Ip.prototype.hl,500:Ip.prototype.cl,501:Ip.prototype.bl,502:Ip.prototype.dl,503:Ip.prototype.il},Op={800:Ip.prototype.nn,801:Ip.prototype.qn,802:Ip.prototype.pn,803:Ip.prototype.on,807:Ip.prototype.gi,811:Ip.prototype.gi,815:Ip.prototype.gi},Np={496:Ip.prototype.wm,497:Ip.prototype.Bm,498:Ip.prototype.zm,499:Ip.prototype.Am,500:Ip.prototype.vm,501:Ip.prototype.um,
502:Ip.prototype.xm,503:Ip.prototype.tm,1014:Ip.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Ip(d);mb(d,c)}});
function fq(a){Ua.call(this,"Debugger",a,fq);this.pa=this.za=this.fa=0;this.Ja=4;this.Ba=5;this.Ca=1048575;this.Y=gq(this);this.tb=gq(this);this.U=-1;this.L=[];this.Ea=!1;this.ua=gq(this);this.B=[];this.wa={};this.A=this.ra=this.ga=[];hq(this);this.Na=0;iq(this);this.Za=[];jq(this,a.messages);this.fb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return kq(b,a)}):void 0===global.$&&(global.$=function(a){return kq(b,a)})}db(fq);
var lq={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},mq=[26,28,40,42,109],nq={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},oq="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
pq="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
qq=["VALID","ZERO ","SPEC ","EMPTY"],rq=[8086,80186,80286,80386],sq=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2","DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],tq="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),uq={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,
bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,parallel:4194304,serial:8388608,mouse:16777216,speaker:33554432,computer:67108864,dos:134217728,data:268435456,log:536870912,warn:1073741824,halt:-2147483648},vq=[0,0],wq=[176,12291],xq=[[6,12417,4273],[6,12420,4276],[6,12465,4225],[6,12468,4228],[6,12385,4097],[6,14436,4100],[108,4211],[103,8307],[99,12417,4273],[99,12420,4276],
[99,12465,4225],[99,12468,4228],[99,12385,4097],[99,14436,4100],[108,4467],[103,8563],[5,12417,4273],[5,12420,4276],[5,12465,4225],[5,12468,4228],[5,12385,4097],[5,14436,4100],[108,4723],[103,8819],[120,12417,4273],[120,12420,4276],[120,12465,4225],[120,12468,4228],[120,12385,4097],[120,14436,4100],[108,4979],[103,9075],[7,12417,4273],[7,12420,4276],[7,12465,4225],[7,12468,4228],[7,12385,4097],[7,14436,4100],[35,8],[29],[154,12417,4273],[154,12420,4276],[154,12465,4225],[154,12468,4228],[154,12385,
4097],[154,14436,4100],[27,8],[30],[162,12417,4273],[162,12420,4276],[162,12465,4225],[162,12468,4228],[162,12385,4097],[162,14436,4100],[147,8],[1],[24,4225,4273],[24,4228,4276],[24,4273,4225],[24,4276,4228],[24,4193,4097],[24,6244,4100],[33,8],[4],[44,14436],[44,14692],[44,14948],[44,15204],[44,15460],[44,15716],[44,15972],[44,16228],[31,14436],[31,14692],[31,14948],[31,15204],[31,15460],[31,15716],[31,15972],[31,16228],[108,6244],[108,6500],[108,6756],[108,7012],[108,7268],[108,7524],[108,7780],
[108,8036],[103,10340],[103,10596],[103,10852],[103,11108],[103,11364],[103,11620],[103,11876],[103,12132],[107,32768],[104,32768],[10,37044,4228],[8,8323,4275],[37,49160],[38,49160],[100,49160],[9,49160],[108,36868],[42,45235,4228,4100],[108,36866],[42,41139,4228,4097],[45,41041,6756],[45,41044,6756],[102,39524,4161],[102,39524,4164],[64,4145],[60,4145],[51,4145],[59,4145],[67,4145],[63,4145],[50,4145],[58,4145],[66,4145],[62,4145],[65,4145],[61,4145],[55,4145],[54,4145],[56,4145],[53,4145],[163,
12417,4097],[164,12420,4100],[163,12417,4097],[165,12420,4097],[155,4225,4273],[155,4228,4276],[160,12465,12417],[160,12468,12420],[90,8321,4273],[90,8324,4276],[90,8369,4225],[90,8372,4228],[90,8324,4291],[71,8372,148],[90,8387,4228],[103,8324],[97],[160,14436,14692],[160,14436,14948],[160,14436,15204],[160,14436,15460],[160,14436,15716],[160,14436,15972],[160,14436,16228],[18],[28],[17,4103],[158],[106],[105],[117],[68],[90,8289,4129],[90,10340,4132],[90,8225,4193],[90,8228,6244],[91,8273,4161],
[92,8276,4164],[25,4177,4161],[26,4180,4164],[155,4193,4097],[155,6244,4100],[151,8273,4193],[152,8276,6244],[82,8289,4161],[83,10340,4164],[121,4193,4177],[122,6244,4180],[90,8289,4097],[90,8545,4097],[90,8801,4097],[90,9057,4097],[90,9313,4097],[90,9569,4097],[90,9825,4097],[90,10081,4097],[90,10340,4100],[90,10596,4100],[90,10852,4100],[90,11108,4100],[90,11364,4100],[90,11620,4100],[90,11876,4100],[90,12132,4100],[166,28801,4097],[167,28804,4097],[113,4099],[113],[73,8372,4246],[70,8372,4246],
[90,8321,4097],[90,8324,4100],[34,36867,4097],[72,32768],[114,4099],[114],[47],[46,4097],[48],[49],[168,12417,4113],[169,12420,4113],[170,12417,4449],[171,12420,4449],[3,1],[2,1],[118],[161],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[85,4145],[86,4145],[84,4145],[52,4145],[43,8289,4097],[43,10340,4097],[101,4097,4193],[101,4097,6244],[17,4148],[57,4148],[57,4103],[57,4145],[43,8289,6759],[43,10340,6759],[101,6759,4193],[101,6759,6244],[81,8],[0],[111,8],[112,
8],[39],[23],[172,12417],[173,12420],[19],[148],[21],[150],[20],[149],[174,12417],[175,12420]],yq={0:[177,12419],1:[178,12419],2:[69,41139,4243],3:[87,41139,4243],5:[80,32768],6:[22,32768],7:[80,49152],32:[90,57509,4309],33:[90,57509,4325],34:[90,57557,4261],35:[90,57573,4261],36:[90,57509,4341],38:[90,57589,4261],128:[64,53300],129:[60,53300],130:[51,53300],131:[59,53300],132:[67,53300],133:[63,53300],134:[50,53300],135:[58,53300],136:[66,53300],137:[62,53300],138:[65,53300],139:[61,53300],140:[55,
53300],141:[54,53300],142:[56,53300],143:[53,53300],144:[135,57473],145:[131,57473],146:[124,57473],147:[130,57473],148:[138,57473],149:[134,57473],150:[123,57473],151:[129,57473],152:[137,57473],153:[133,57473],154:[136,57473],155:[132,57473],156:[127,57473],157:[126,57473],158:[128,57473],159:[125,57473],160:[108,54387],161:[103,58483],163:[13,53380,4276],164:[141,57476,4276,4097],165:[141,57476,4276,4449],166:[159,57524,4228,6244,4449],167:[40,57476,6244,4449,4276],168:[108,54643],169:[103,58739],
171:[16,57476,4276],172:[143,57476,4276,4097],173:[143,57476,4276,4449],175:[42,61572,4276],178:[88,8372,4246],179:[15,57476,4276],180:[74,8372,4246],181:[76,8372,4246],182:[94,57524,4225],183:[94,57525,4227],186:[179,61572,4097],187:[14,57476,4276],188:[11,57524,4228],189:[12,57524,4228],190:[93,57524,4225],191:[93,57525,4227]},zq={216:{0:[9,4235],1:[18,4235],2:[34,4235],3:[35,4235],4:[12,4235],5:[15,4235],6:[21,4235],7:[24,4235],48:[9,8297,4202],49:[18,8297,4202],50:[34,8297,4202],51:[35,8297,4202],
52:[12,8297,4202],53:[15,8297,4202],54:[21,8297,4202],55:[24,8297,4202]},217:{0:[0,4235],2:[1,8331],3:[2,8331],4:[68,4239],5:[59,4227],6:[66,8335],7:[60,8323],48:[0,8298],49:[3,8298],50:[76],51:[2,8298],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,4235],1:[20,4235],2:[37,4235],3:[38,4235],4:[14,4235],5:[17,4235],6:[23,4235],7:[26,4235]},219:{0:[4,
4235],2:[5,8331],3:[6,8331],5:[0,4237],7:[2,8333],64:[57],65:[55],66:[64],67:[53],68:[78,32768],115:[79,49152]},220:{0:[9,4236],1:[18,4236],2:[34,4236],3:[35,4236],4:[12,4236],5:[15,4236],6:[21,4236],7:[24,4236],48:[9,8298,4201],49:[18,8298,4201],50:[34,4202],51:[35,4202],52:[15,8298,4201],53:[12,8298,4201],54:[24,8298,4201],55:[21,8298,4201]},221:{0:[0,4236],2:[1,8332],3:[2,8332],4:[71,4239],6:[69,8335],7:[62,8323],48:[74,4202],49:[3,8298],50:[1,4202],51:[2,4202]},222:{0:[11,4227],1:[20,4227],2:[37,
4227],3:[38,4227],4:[14,4227],5:[17,4227],6:[23,4227],7:[26,4227],48:[10,8298,4201],49:[19,8298,4201],50:[35,4202],51:[36,4202],52:[16,8298,4201],53:[13,8298,4201],54:[25,8298,4201],55:[22,8298,4201]},223:{0:[4,4227],2:[5,8323],3:[6,8323],4:[7,4238],5:[4,4236],6:[8,8334],7:[6,8332],48:[75,4202],49:[3,8298],50:[2,4202],51:[2,4202],52:[80,32768]}},Aq=[[[6,12417,4097],[99,12417,4097],[5,12417,4097],[120,12417,4097],[7,12417,4097],[154,12417,4097],[162,12417,4097],[24,4225,4097]],[[6,12420,4100],[99,
12420,4100],[5,12420,4100],[120,12420,4100],[7,12420,4100],[154,12420,4100],[162,12420,4100],[24,4228,4100]],[[6,12420,4098],[99,12420,4098],[5,12420,4098],[120,12420,4098],[7,12420,4098],[154,12420,4098],[162,12420,4098],[24,4228,4098]],[[115,45185,4097],[116,45185,4097],[109,45185,4097],[110,45185,4097],[140,45185,4097],[142,45185,4097],vq,[119,45185,4097]],[[115,45188,4097],[116,45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],vq,[119,45188,4097]],[[115,12417,4113],
[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],vq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],vq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],vq,[119,12417,4449]],[[115,12420,4449],[116,12420,4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],vq,[119,12420,4449]],[[155,4225,4097],vq,[98,
12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],vq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],vq,vq,vq,vq,vq,vq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],vq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],vq,vq],[[139,41091],[144,41091],[75,36995],[77,36995],[146,41091],vq,[79,36995],vq],[vq,vq,vq,vq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];
m=fq.prototype;
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.da=a;this.Yb=Eb(a,"FDC");this.Ib=Eb(a,"HDC");this.Vb=Eb(a,"FPU");this.V=Eb(a,"Mouse");(a=Nc(a,"messages"))&&jq(this,a);this.Ba=b.N>>2;this.Ca=b.wg;this.Sb=new fd(this.F,7,"DBG");this.Ia=xq;80186<=this.F.ja&&(this.Ia=xq.slice(),this.Ia[15]=vq,80286<=this.F.ja&&(this.Ia[15]=wq,80386<=this.F.ja&&(this.Ja=8)));Ok(this,64,function(a){Bq(d,d.F.kd,a[0])});Ok(this,4,function(a){if(a=a[0]){var b=Cq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Dq(d,
b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Zb:null,d.Ba)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Eq[a.type];h&&(c=h[0],b=h[1])}!c||a.xb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ba)+" limit="+Fq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+
" dpl="+t(a.Gc))}}else d.O("no selector")});Ok(this,134217728,function(a){var b;(a=a[0])&&(b=Cq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=gq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Gq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Hq(d,a,8)+'"');b+=1+k}});Ok(this,128,function(a){Bq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Ok(this,8,function(a){a:{if(a=a[0]){var b=Cq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
break a}a=Dq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ba));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Iq:Jq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Jf(d.F,n,2),2304==c&&(q|=Jf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;l<a.ac&&1023>p;)n=a.Aa+l,q=Jf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.pb=0;this.bb=!1;df(this.F,48,this.bm.bind(this));df(this.F,65,this.cm.bind(this));
this.ka=null;df(this.F,104,this.dm.bind(this));sb(this)};function Kq(a,b,c,d,e,f){b=Hq(a,b);var g=Dq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Lq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)}
function Mq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=gq(a,a.oa(b,4),a.na(b,2));b=gq(a,a.oa(b,4),a.na(b,2));b=Hq(a,b).toUpperCase();var k=Hq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Lq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Nq(a,b,c){c=Hq(a,c).toUpperCase();Oq(a,c,b)}
m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=gq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Mq(this,gq(this,a.H,b),!c,!!this.C)}}return!0};
m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.Z;if(null==this.C)return 79==c&&ef(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Kq(this,gq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Oq(this,null,d);
break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=gq(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),Pq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Qq(a)),this.Od(this.A,a,!0),iq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Mq(this,gq(this,b.H,f),!g,!!this.C);break;case 338:Nq(this,d,gq(this,b.J,f))}this.bb=!1;return!this.C};
m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Wa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;ef(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=hd(b.va,this.Ik.bind(this)))&&
(b.J=a[0],xd(b,a[1]));break;case 72:Oq(this,null,e);break;case 80:32==c?Kq(this,gq(this,h,k),0,f,!0,!!this.ka):128>c?Kq(this,gq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Mq(this,gq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Ik=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1};
m.Rb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",kq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U<d.L.length-1&&(b=d.L[++d.U]):40==a.keyCode&&(0<d.U?b=d.L[--d.U]:(b="",d.U=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.qa[b]=c,Ka(c,function(){if(d.Ka){var a=d.Ka.value;d.Ka.value=
"";kq(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,Ka(c,function(a){var b=!1;qb(d,!0)||(pb(d,!0),b=d.tf(a?1:0),pb(d,!1));return b}),!0}return!1};m.Tc=function(){this.Ka&&this.Ka.focus()};function Rq(a){return a.F&&!!(a.F.Ya&1)&&!(a.F.ba&131072)}
function Dq(a,b,c){var d=Rq(a)?2:1;c||(c=d);if(c==d){if(b===a.F.va.Z)return a.F.va;if(b===a.F.wb.Z)return a.F.wb;if(b===a.F.Wa.Z)return a.F.Wa;if(b===a.F.ta.Z)return a.F.ta;if(80386<=a.F.ja){if(b===a.F.Pb.Z)return a.F.Pb;if(b===a.F.Qb.Z)return a.F.Qb}if(a.eb&&2==c||!a.Sb)return null}a=a.Sb;if(2!=c)a.lh(b),a.Ta=65535,a.ac=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Cc.Aa,e=d+c.Cc.Ta|0):(d=c.Ec,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=Jf(c,d+0,2);var f=Jf(c,d+4,2),g=f&7936,h=Jf(c,d+2,2)|(f&255)<<16,k=Jf(c,
d+6,2);80386<=c.ja&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.Z=b;a.Aa=h;a.Ta=e;a.ac=(e>>>0)+1;a.xb=f;a.type=g;a.ext=k;a.Zb=d;gd(a,!0,!0,!1)}}return a}m.fc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Dq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Zb||e.cd&&(b>>>0)+c>e.ac||!e.cd&&(b>>>0)+c<=e.ac?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.fc(a,!1,1);-1!==d&&(c=Jf(this.F,d,1,5==a.type)|0,b&&Sq(this,a,b));return c};
m.ub=function(a,b){return a.Ub?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.fc(a,!1,2);-1!==d&&(c=Jf(this.F,d,2,5==a.type),b&&Sq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.fc(a,!1,4);-1!==d&&(c=Jf(this.F,d,4,5==a.type),b&&Sq(this,a,b));return c};m.tc=function(a,b,c){var d=this.fc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.tc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&Sq(this,a,c);Tc(this.F,!0)}};
m.ib=function(a,b,c){var d=this.fc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&Sq(this,a,c),Tc(this.F,!0))};function gq(a,b,c,d,e,f,g){return Tq(a,{},b,c,d,e,f,g)}function Tq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Rq(a)?2:1);b.Ub=null!=g?g:a.F&&4==a.F.va.aa;b.sc=null!=h?h:a.F&&4==a.F.va.Nc;b.Td=!1;return b}function Uq(a){return[a.Ra,a.Z,a.Da,a.Td,a.Ub,a.sc,a.Qe,a.Sd]}function Vq(a){return{Ra:a[0],Z:a[1],Da:a[2],Td:a[3],Ub:a[4],sc:a[5],Qe:a[6],Sd:a[7]}}
function Wq(a,b,c){if(null!=b.Z&&(a=Dq(a,b.Z,b.type))){var d=b.Ra&a.Ca;if(!a.cd){if(d>>>0>=a.ac)return!1}else if(d>>>0<a.ac)return!1;c&&(b.Ra=d,b.Ub=4==a.aa,b.sc=4==a.Nc)}return!0}
function Xq(a,b,c,d){var e,f=c?a.Y:a.tb;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Da;if(void 0!==b){b=Yq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var l=e.toUpperCase(),n=0;n<a.B.length;n++){e=a.B[n];var q=e.Nd[l];if(void 0!==q){l=q.o;void 0!==l&&(k=q.s,void 0===k&&(k=e.Z),k=gq(a,l,k,q.p));break}}if(e=
k)return e;0>f?null!=h?(g=Zq(a,b,void 0),f=null):(f=Zq(a,b,void 0),null==f&&(g=null)):(h=Zq(a,b.substring(0,f),void 0),g=Zq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=gq(a,g,h,f,c),d||Wq(a,e,!0)||(a.O("invalid offset: "+Qq(e)),e=null));return e}function $q(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ek=ar(a,b.kk=c[2]))}function Sq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Wq(a,b)||(b.Ra=0,b.Da=null))}function Gq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}
function Qq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Gq(a.Ra,a.Z,a.sc)}function Hq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Bq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.fc(Xq(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<<a.F.La)+" %%"+r(d.Da)+" "+u(d.Le)+" "+u(d.size)+" "+h),c!=
vc&&5!=c&&(c=-1),h=0),e+=a.F.Ob,f++}function br(a,b,c){a=r(a)+" "+r(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var Eq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Iq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
TASK_LDT:42},Jq={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,TASK_IOPM:100};
function Lq(a,b,c){var d=[],e;for(e=null;e=Eb(a.da,"Disk",e);){var f=e,g=b,h=c,d=[];if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.fg==g&&(l=l.yd[h])){for(var n in l.te)f=l.te[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function jq(a,b){a.ha=a;a.xc=a.Hk=1073741824;a.Pa=null;var c=ar(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in uq)0<=ua(c,d)&&(a.xc|=uq[d],a.O(d+" messages enabled"));iq(a)}
function Ok(a,b,c){for(var d in uq)if(b==uq[d]){a.Za[d]=c;break}}function cr(a,b){var c;a=a.toUpperCase();null==b?c=ua(sq,a):(c=ua(sq,a.substr(b,3)),0>c&&(c=ua(sq,a.substr(b,2))));return c}
function dr(a,b){var c=0,d=er(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"}
function er(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=yd(d);break;
case 16:c=d.Wa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.wb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Ya);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Ya;break;case 33:c=d.ji;break;case 34:c=d.qe;break;case 35:c=d.Md;break;case 20:c=d.Pb.Z;break;case 21:c=d.Qb.Z;break;case 56:c=K(d)}}}return c}
function fr(a,b){b=Yq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=cr(b,c+1),0<=e&&(b=b.substr(0,c)+dr(a,e)+b.substr(c+1+sq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Xq(a,e))?(d=e+' "'+Hq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Xq(a,e))?(Sq(a,d),d=e+
' "'+Hq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=fq.prototype;m.message=function(a,b){b&&(a+=" at "+Qq(gq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.xc&-2147483648&&(this.Xb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Tc(c)}};
function lk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>mq.indexOf(b),!d)){var g=lq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+fr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Gq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d}
function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.xc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Gq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.pd();if(this.fb){var a=this.fb;this.fb=null;kq(this,a)}};
function iq(a,b){var c;if(Uf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c<a.ia.length;c++)a.ia[c]=gq(a);a.Fa=0;b||a.O("instruction history buffer allocated")}if(!a.W||!a.W.length)for(a.W=Array(256),c=0;c<a.W.length;c++)a.W[c]=[c,0]}else a.ia&&a.ia.length&&!b&&a.O("instruction history buffer freed"),a.Fa=0,a.ia=[],a.W=[]}m.Ie=function(a){if(!gr(this))return!1;this.F.Ie(a);return!0};
m.tf=function(a,b,c){if(!gr(this))return!1;this.fa=0;do{a||Uf(this)&&Xf(this,this.F.Ga,0);try{var d=this.F.tf(a);0<d&&(this.fa+=d,ad(this.F,d,!0),Vc(this.F,d),this.pa++)}catch(f){if("number"!=typeof f){var e=f;this.fa=0;ub(this.F,e.stack||e.message)}}}while(this.F.S&3312);!1!==c&&Tc(this.F);this.pd(b||!1);return 0<this.fa};m.Xb=function(a){this.F&&this.F.Xb(a)};m.pd=function(a){void 0===a&&(a=!0);this.Y=gq(this,K(this.F),this.F.va.Z);a&&1!=this.N?hr(this):ir(this)};
function gr(a){var b;if(b=a.F&&tb(a.F))b=a.F,b.la.ec?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!qb(a.F)?(a=a.F,a.la.ud?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.kc=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.jc=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){iq(this);this.pa=this.za=0;this.Pa=null;this.fa=0;this.Y=gq(this,K(this.F),this.F.va.Z);this.la.Jb=!1;jr(this);a||this.pd()};
m.save=function(){var a=new jf(this);N(a,0,Uq(this.Y));N(a,1,Uq(this.ua));N(a,2,[this.L,this.Ea,this.xc]);N(a,3,this.B);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.Y=Vq(a[b++]),this.ua=Vq(a[b++]),this.L=a[b][0],"string"==typeof this.L&&(this.L=[this.L]),this.Ea=a[b][1],this.xc|=a[b][2]);a[3]&&(this.B=a[3]);return!0};m.start=function(a,b){this.N||this.O("running");this.la.Jb=!0;this.dc=a;this.xd=b};
m.stop=function(a,b){if(this.la.Jb){this.la.Jb=!1;this.fa=b-this.xd;if(!this.N){var c="stopped";if(this.fa){var d=a-this.dc,e=0<d?Math.round(1E3*this.fa/d):0,c=c+" (";Uf(this)&&(c+=this.pa+" opcodes, ",this.za-=this.pa,this.pa=0);c+=this.fa+" cycles, "+d+" ms, "+e+" hz)"}else z(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.O(c)}this.pd(!0);this.Tc();jr(this,this.F.Ga)}};function Uf(a){return 1<a.A.length||!!a.Na||z(a,16)}
function Xf(a,b,c){var d=a.F;if(0<c&&(a.Na&&!--a.Na||kr(a,b,1,a.A)))return!0;0<=c&&a.W.length&&(a.pa++,b=Jf(d,b),null!=b&&(a.W[b][1]++,Tq(a,a.ia[a.Fa],K(d),d.va.Z),++a.Fa==a.ia.length&&(a.Fa=0)));return!1}function Cc(a,b,c){return kr(a,b,c||1,a.ra)?(a.Xb(!0),!0):!1}function Ec(a,b,c){return kr(a,b,c||1,a.ga)?(a.Xb(!0),!0):!1}function jc(a,b,c){a.O("break on input from port "+u(b)+": "+r(c));a.Xb(!0)}function nc(a,b,c){a.O("break on output to port "+u(b)+": "+r(c));a.Xb(!0)}
function hq(a){var b,c;a.A=["bp"];if(void 0!==a.ra)for(b=1;b<a.ra.length;b++)c=a.ra[b],se(a.F,a.fc(c),!1,5==c.type);a.ra=["br"];if(void 0!==a.ga)for(b=1;b<a.ga.length;b++)c=a.ga[b],se(a.F,a.fc(c),!0,5==c.type);a.ga=["bw"];a.eb=0}
m.Od=function(a,b,c){var d=!0;c||Pq(this,a,b,!1,!0);if(a!=this.A){var e=this.fc(b);if(-1===e)this.O("invalid address: "+Qq(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.kd:f.sa)[e>>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Td=!0):(lr(this,a,a.length-1,"set"),iq(this)));return d};
function Pq(a,b,c,d,e){for(var f=!1,g=mr(a,a.fc(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==mr(a,a.fc(k))||-1===g&&c.Z==k.Z&&c.Ra==k.Ra)if(!d||k.Td){f=!0;k.Td||e||lr(a,b,h,"cleared");b.splice(h,1);b!=a.A&&se(a.F,g,b==a.ga,5==k.type);k.Td||iq(a);break}}return f}function nr(a,b){for(var c=1;c<b.length;c++)lr(a,b,c);return b.length-1}function lr(a,b,c,d){c=b[c];a.O(b[0]+" "+Qq(c)+(d?" "+d:c.kk?' "'+c.kk+'"':""))}
function jr(a,b){if(void 0!==b)kr(a,b,1,a.A,!0),a.N=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Td){if(!Pq(a,a.A,d,!0))break;c=0}}}function mr(a,b){if(-1!==b){var c=a.Ca&-65536;(b&c)==c&&(b&=1048575)}return b}
function kr(a,b,c,d,e){var f=!1;if(!a.eb++){b=mr(a,b);z(a,-2147483632)&&204==Jf(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Td){null!=h.Z&&(h.Da=null);for(var k=mr(a,a.fc(h)),l=0;l<c;l++)if(b+l==k){var n,f=!0;h.Td&&(Pq(a,d,h,!0),e=!0);if(n=h.Ek){for(var f=!1,q=0;q<n.length;q++)if(!or(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){f=!0;break}}a.F.la.Jb||(f=!0)}if(f){e||lr(a,d,g,"hit");break}}}}}a.eb--;return f}
function pr(a,b,c,d){for(var e=gq(a,b.Ra,b.Z,b.Da,b.type),f=a.Qa(b,1),g=4,h=0,k=!1,l=!1;(102==f||103==f)&&g--;)102==f?k||(b.Ub=!b.Ub,k=!0):l||(b.sc=!b.sc,l=!0),h++,f=a.Qa(b,1);var g=-1,n=oq,k=a.Ia[f],l=k[0];176==l&&(l=a.Qa(b,1),k=yq[l]||vq,f|=l<<8,l=k[0]);if(36==l){var g=a.Qa(b,1),q;q=null;var p=g>>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=zq[f])&&(q=p[A]);q&&(n=pq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Aq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Ub&&(18==l?
n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Ub&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,A=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.sc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)A=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",ab=g>>6,ha=g&7;if(3>ab){var ia=void 0,L=0==n.indexOf("FI");if(!ab&&(!H.sc&&6==ha||H.sc&&5==ha))ab=2;else{if(H.sc)if(4!=
ha)ha+=8;else{var P=v,ia=ab,Ga=H,Wa=P.Qa(Ga,1),Aa=Wa>>6,Sb=Wa>>3&7,Wa=Wa&7,va="";if(ia||5!=Wa)va=tq[Wa+8];4!=Sb&&(va&&(va+="+"),va+=tq[Sb+8],Aa&&(va+="*"+(1<<Aa)));ia||5!=Wa||(va&&(va+="+"),va+=r(P.oa(Ga,4)));P=va}P||(P=tq[ha])}1==ab?(ia=v.Qa(H,1),ia&128?(ia=ia<<24>>24,P+="-"+r(-ia,2)):P+="+"+r(ia,2)):2==ab&&(P&&(P+="+"),H.sc?(ia=v.oa(H,4),P+=r(ia)):(ia=v.na(H,2),P+=r(ia,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Ub?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16";
break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=qr(v,ha,E,H);v=P}else v=160==L?qr(a,g&7,E,b):qr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Ub?8:4);break;case 4:if(L.Ub){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L=
gq(v,v.ub(L,!0),v.na(L,2),null,L.type,L.Ub,L.sc);E=Qq(L);v=rr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.sc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.ub(b,!0),E=b.Ra+v&(b.Ub?-1:65535),v=r(E,b.Ub?8:4),E=rr(a,gq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":qr(a,(E&3840)>>8,E,b):112==L?v=qr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0<
q.length&&(q+=",");q+=v||"???"}}}g="";k=Qq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.sc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.ja<rq[f]&&(c=rq[f]+" CPU only");c&&A&&(k=ma(k,e.sc?74:56)+";"+c,k=a.F.la.We?k+("cycles="+Wc(a.F).toString()+" cs="+r(a.F.X.If)):k+(null!=d?"="+d.toString():""));sr(b,A,h);return k}
function qr(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Ub))b+=16;return sq[b]}
function tr(a,b){var c;switch(b){case "V":c=vf(a.F);break;case "D":c=a.F.ba&1024;break;case "I":c=a.F.ba&512;break;case "T":c=a.F.ba&256;break;case "S":c=uf(a.F);break;case "Z":c=tf(a.F);break;case "A":c=sf(a.F);break;case "P":c=rf(a.F);break;case "C":c=qf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Fq(a){return r(a,a&-65536?8:4)}function ur(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=sq[b];32==b&&80286==a.F.ja&&(c="MS");return c+"="+dr(a,b)+" "}
function vr(a,b,c){return b.nc+"="+r(b.Z,4)+(c?"["+r(b.Aa,a.Ba)+","+Fq(b.Ta)+"]":"")}function wr(a,b,c,d,e){return b+"="+(null!=c?r(c,4):"")+"["+r(d,a.Ba)+","+r(e-d,4)+"]"}
function xr(a,b){var c;void 0===b&&(b=Rq(a));c=ur(a,8)+ur(a,11)+ur(a,9)+ur(a,10)+(4<a.Ja?"\n":"")+ur(a,12)+ur(a,13)+ur(a,14)+ur(a,15)+"\n"+vr(a,a.F.ta,b)+" "+vr(a,a.F.wb,b)+" "+vr(a,a.F.Wa,b)+" ";if(b){var d="TR="+r(a.F.Sa.Z,4),e=a.ea,e="A20="+(e.L||e.wg!=e.Gb?"OFF ":"ON ");80386>a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+vr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=vr(a,a.F.Pb,b)+" "+vr(a,a.F.Qb,b)+"\n");c+=wr(a,"LD",a.F.Cc.Z,a.F.Cc.Aa,a.F.Cc.Aa+a.F.Cc.Ta)+" "+wr(a,"GD",null,a.F.Ec,a.F.zd)+" "+wr(a,"ID",
null,a.F.Lc,a.F.Pd)+" ";c=c+(d+" "+e)+ur(a,32);80386<=a.F.ja&&(c+=ur(a,34)+ur(a,35))}else 80386<=a.F.ja&&(c+=vr(a,a.F.Pb,b)+" "+vr(a,a.F.Qb,b)+" ");return c+=ur(a,23)+tr(a,"V")+tr(a,"D")+tr(a,"I")+tr(a,"T")+tr(a,"S")+tr(a,"Z")+tr(a,"A")+tr(a,"P")+tr(a,"C")}var yr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function zr(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 Zq(a,b,c){var d;if(b){b=Yq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],q=n.length,n=na(n);if(!n){f=!0;break}n=Cq(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==l.length)break;var n=l[e++],p=n.length;k.length&&yr[n]<yr[k[k.length-1]]&&zr(h,k,1);k.push(n);b=b.substr(q+p)}zr(h,k)&&1==h.length||(f=!0);f?c&&a.O("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ar(a,null,
d))}return d}function Yq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Zq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Xq(a,c[1]),b=b.replace("["+c[1]+"]",d?r(a.ub(d),d.Ub?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.pa-a.za}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function Cq(a,b,c,d){var e;void 0!==b?(e=cr(b),0<=e?e=er(a,e):(e=a.wa[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function Ar(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+r(c)+" "+c+". ("+ea(c)+")");a.O((null!=b?b+": ":"")+d);return e}function Br(a,b){if(b)return Ar(a,b,a.wa[b]);var c=0;for(b in a.wa)Ar(a,b,a.wa[b]),c++;return 0<c}fq.prototype.qb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function bm(a,b,c,d,e,f,g,h){var k={},l=[],n;for(n in h){var q=h[n];"number"==typeof q&&(h[n]=q={o:q});var p=q.o,A=q.s,F=q.a;if(void 0!==p){void 0!==A&&(k.Ra=p,k.Z=A,k.Da=null,a.fc(k),(k.Da&-65536)==(a.ea.wg&-65536)&&(k.Da&=1048575),q.p=k.Da);var A=l,p=[p>>>0,n],v=oa(A,p,a.qb);0>v&&A.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Nd:h,si:l})}
function Oq(a,b,c){for(var d=0;d<a.B.length;d++){var e=a.B[d];if(!b||e.fg==b)if(b&&c==e.mm||!b&&c==e.Z){a.B.splice(d,1);break}}}function rr(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.fc(b)>>>0,g=0;g<a.B.length;g++){var h=a.B[g],k=h.Z,l=h.Ra>>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e<l+q||null!=n&&f>=n&&f<n+q){b=oa(h.si,[e],a.qb);0<=b?Cr(a,g,b,d):c&&(b=~b,Cr(a,g,b-1,d),Cr(a,g,b,d));break}}!d.length&&(a=a.ea.Ti(f,!0))&&(d.push(a),d.push(f));return d}
function Cr(a,b,c,d){var e={},f=a.B[b].si,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.B[b].Nd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function Dr(a){a.Df&&(a.Df.value="")}
function Er(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c,d=0;if(a.W)if("clear"==b){for(c=0;c<a.W.length;c++)a.W[c]=[c,0];a.O("frequency data cleared");d++}else if(void 0!==b)a.O("unknown frequency command: "+b),d++;else{var e=a.W.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.O((oq[a.Ia[f][0]]+" ").substr(0,5)+" ("+t(f)+"): "+g+" times"),d++)}}d||a.O("no frequency data available")}}
function Fr(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Br(a)||a.O("no variables"),!0;if(!c[2])return Br(a,c[1]);if(!c[3])return delete a.wa[c[1]],!0;var d=Zq(a,c[3]);return void 0!==d?(a.wa[c[1]]=d,!0):!1}a.O("invalid assignment:"+b);return!1}
function Gr(a,b,c){var d=null;if(b=Xq(a,b,!0)){a.fc(b);var e=rr(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ra-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+Gq(e[1],b.Z)+")"+g,c&&a.O(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ra)&&(g=" - "+u(f)),f=e[4]+" ("+Gq(e[5],b.Z)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
function Hr(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Xq(a,b[1]);if(g&&(d=Cq(a,b[2],"drive #"),void 0!==d)){if(!c){e=Cq(a,b[3],"sector #");if(void 0===e)return;f=Cq(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Yb;2<=d&&a.Ib&&(d-=2,h=a.Ib);if(h){var k=h.Hi(d);if(k)if(k.ya)if(c)Dr(a),a.O(k.ya.toJSON());else if(h.mk(k,e,f)){for(var l=0,n=!1,c=Qq(g);!n&&0<k.Hb--;)(function(a,b){h.lc(k,function(c){0>c?(a.O("out of data at address "+Qq(b)),n=!0):(a.tc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+
c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
function hr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Vb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1];if(a.Vb&&"fp"==e){c=a.Vb;d=$f(c);for(var f=c.mc,g=0;8>g;g++){var h=c,e=null;if(g<h.L.length){var e=[],k=h.B+g&7;e[0]=k;e[1]=og(h,k);e[2]=h.L[k];k<<=1;e[3]=h.Y[k];e[4]=h.Y[k+1];h=Cg(h,e[3],e[4]);e[5]=h[0];e[6]=h[1];e[7]=
h[2]}if(!e)break;a.O("ST"+g+": "+ma(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+":"+qq[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+da(d,16)+" ("+u(d)+") CW: "+da(f,16)+" ("+u(f)+")");return}if("p"==e)d=80286<=a.F.ja;else{f=null;g=e.indexOf("=");if(0<g)f=e.substr(g+1),e=e.substr(0,g);else if(2<b.length)f=b[2];else{a.O("missing value for "+b[1]);return}g=!1;h=Zq(a,f);if(void 0!==h)switch(g=!0,k=e.toUpperCase(),"E"==k.charAt(0)&&4>=a.Ja&&(k=null),
k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535;
break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":wd(a.F,h);break;case "ES":xd(a.F,h);break;case "SS":ld(a.F,h);break;case "CS":lf(a.F,h);a.Y=gq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.Y=gq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":zd(a.F,h);break;case "C":h?xf(a.F):yf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ba|=4):(e=a.F,e.resultType&=
-3,e.ba&=-5);break;case "A":h?Ff(a.F):Df(a.F);break;case "Z":h?Gf(a.F):Ef(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ba|=128):(e=a.F,e.resultType&=-17,e.ba&=-129);break;case "I":h?(e=a.F,e.ba|=512):(e=a.F,e.ba&=-513);break;case "D":h?(e=a.F,e.ba|=1024):(e=a.F,e.ba&=-1025);break;case "V":h?zf(a.F):Af(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Hf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h;
break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Pb.load(h);break;case "GS":a.F.Qb.load(h);break;case "CR0":a.F.Ya=h;qj.call(a.F,h);break;case "CR2":a.F.qe=h;break;case "CR3":a.F.Md=h;Bd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Tc(a.F);a.O("updated registers:")}}a.O(xr(a,d));c&&(a.Y=
gq(a,K(a.F),a.F.va.Z),ir(a,Qq(a.Y)))}}function Ir(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(fr(a,c[2])):Zq(a,b,!0)}function Jr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ra=e;b.Da=null;var h=pr(a,b);if(0<h.indexOf("CALL")||c&&0<h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ra=f;return d}
function Kr(a,b,c){var d="t"!=b;c=Cq(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ja(c,function(){return pb(a,!0)&&a.tf(e,d,!1)},function(){Tc(a.F);pb(a,!1)})}function sr(a,b,c){if(a.Sd=b)null!=a.Mi&&(a.Ub=a.Mi),null!=a.Ki&&(a.sc=a.Ki),a.Mi=a.Ub,a.Ki=a.sc;a.Qe=c||0}
function ir(a,b,c,d){if(b=Xq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Xq(a,c,!0);if(!d||d.Ra<b.Ra)return;e=d.Ra-b.Ra;if(256<e){a.O("range too large");return}d=-1}c=0;var f;for(sr(b,!0);0<e&&d--;){f=qb(a,!1)||a.N?a.fa:null;var g=null!=f?"cycles":null,h=rr(a,b),k=b.Da;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=pr(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}}
function ar(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().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(na(b.substring(c,f))),c=f+1}}return a}
function or(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Qq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Ya&1&&(e=a.F.ba&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(tb(a)&&0<b.length){a.Ea&&(b="a "+Qq(a.ua)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var n=h.charAt(l);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":var q=
Xq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+Qq(q)),a.Ea=!0,Tc(a.F);else{var p;a.O("not supported yet");p=[];if(p.length){for(var A=0;A<p.length;A++)a.tc(q,p[A],1);a.O(pr(a,a.ua))}}break;case "b":a:{var F=g[0],v=g[1],E=b;if("?"==v)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+nr(a,a.A),L=L+nr(a,a.ra);(L+=nr(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Na=Cq(a,v),a.O("break after "+a.Na+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var W={};if("*"!=v&&(W=Xq(a,v,!0,!0),!W))break a;v=null==W.Ra?v:u(W.Ra);"c"==H?null==W.Ra?(hq(a),a.O("all breakpoints cleared")):Pq(a,
a.A,W)||Pq(a,a.ra,W)||Pq(a,a.ga,W)||a.O("breakpoint missing: "+Qq(W)):"i"==H?a.O("breakpoint "+(gc(a.ea,W.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,W.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=W.Ra&&($q(a,W,E),"p"==H?a.Od(a.A,W):"r"==H?a.Od(a.ra,W):"w"==H?a.Od(a.ga,W):a.O("unknown breakpoint command: "+H))}}}break;case "c":Dr(a);break;case "d":a:{var P=g,ab,ha=P[0],ia=P[1],Ga=P[2],Wa=P[3];if("?"==ia){var Aa="";for(ab in uq)a.Za[ab]&&(Aa&&(Aa+=
","),Aa+=ab);Aa+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Aa.length&&a.O("dump extension commands:\n\t"+Aa)}else if("state"==ia){var Sb=Lr(a.da,!0);"console"==Ga?console.log(Sb):(Dr(a),
a.O(Sb))}else if("symbols"==ia)for(var va=0;va<a.B.length;va++){var Td=a.B[va],Pc;for(Pc in Td.Nd)if("."!=Pc.charAt(0)){var Ud=Td.Nd[Pc],He=Ud.o;if(void 0!==He){var Vd=Ud.s;void 0===Vd&&(Vd=Td.Z);var Ie=Td.Nd[Pc].l;Ie&&(Pc=Ie);a.O(Gq(He,Vd)+" "+Pc)}}}else{if("ds"==ha||"dg"==ha||"dl"==ha)ha="d",P=[ha,"desc",ia];"d"==ha&&"page"==ia&&(ha="dp",P.shift());if("dp"==ha){P.shift();var hi=P[0];if(hi){var Se=a.fc(Xq(a,hi));if(-1===Se)a.O("invalid address: "+hi);else{var $d,Ca=null;if(80386<=a.F.ja){var ae=
a.ea,Ca={};Ca.ck=(Se&-4194304)>>>20;Ca.vi=a.F.Md+Ca.ck;Ca.zb=ae.sa[(Ca.vi&ae.Gb)>>>ae.La];Ca.Vi=Ca.zb.Kd(Ca.ck);Ca.dk=(Se&4190208)>>>10;Ca.wi=(Ca.Vi&-4096)+Ca.dk;Ca.Ab=ae.sa[(Ca.wi&ae.Gb)>>>ae.La];Ca.Wi=Ca.Ab.Kd(Ca.dk);Ca.Gk=(Ca.Wi&-4096)+(Se&4095)}if($d=Ca){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Se),od=od+(" %%"+br($d.vi,$d.Vi)),od=od+(" %%"+br($d.wi,$d.Wi,!0)),
od=od+(" %%"+r($d.Gk));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ha){if("disk"==ia){P[0]="l";P[1]="json";Hr(a,P);break a}for(ab in uq)if(P[1]==ab){var Cn=a.Za[ab];Cn?(P.shift(),P.shift(),Cn(P)):a.O("no dump registered for "+ia);break a}ia||(ha=a.oc||"db")}else a.oc=ha;if("dh"==ha){var Dn=ia,En=Ga,Fn="",Gn=0,rb=a.Fa,rc=a.ia;if(rc.length){var Cb=+Dn||a.Kb,be=+En||10;isNaN(Cb)?Cb=be:Fn="more ";Cb>rc.length&&(a.O("note: only "+rc.length+" available"),Cb=rc.length);
rb-=Cb;0>rb&&(null==rc[rc.length-1].Z?(Cb=rb+Cb,rb=0):rb+=rc.length);var ii=[];"call"==En&&(be=1E5,ii=["CALL"]);for(void 0!==Dn&&a.O(Cb+" instructions earlier:");0<be&&rb!=a.Fa;){var pd=rc[rb++];if(null==pd.Z)break;var Te=gq(a,pd.Ra,pd.Z,pd.Da,pd.type,pd.Ub,pd.sc),es=Cb--,Hn=pr(a,Te,"history",es);(!ii.length||0<=Hn.indexOf(ii[0]))&&a.O(Hn);Te.Qe&&(rb+=Te.Qe,be-=Te.Qe,Cb-=Te.Qe);rb>=rc.length&&(rb=0);a.Kb=Cb;Gn++;be--}}Gn||(a.O("no "+Fn+"history available"),a.Kb=void 0)}else if("di"==ha){P.shift();
var ji=P[0];if(ji){var Ue=Cq(a,ji);if(void 0===Ue||0>Ue||255<Ue)a.O("invalid vector: "+ji);else{var In="&",Jn=!!(a.F.Ya&1),Kn=!1,pg=a.F.Lc+(Ue<<(Jn?3:2)),ki=a.F.na(pg+0),fs=a.F.na(pg+2);Jn&&(In="#",a.F.na(pg+4)&2048&&(Kn=!0,ki|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(Ue)+"): "+In+r(fs,4)+":"+r(ki,Kn?8:4))}}else a.O("no IDT vector")}else if("dt"==ha)P.shift(),a.O("no information");else{var ce=Xq(a,ia);if(ce&&(null!=ce.Z||null!=ce.Da)){var qg=0;Ga&&("l"==Ga.charAt(0)&&(Ga=Ga.substr(1)||Wa),qg=Cq(a,Ga)>>>
0,65536<qg&&(qg=65536));for(var qd="",gs=(qg||128)+15>>4||1,li="dd"==ha?4:"dw"==ha?2:1,Ln=0;Ln<gs;Ln++){for(var rg=0,mi=0,Ve="",ni="",ia=Qq(ce),oi=0;16>oi;oi++){var sg=a.Qa(ce,1),rg=rg|sg<<(mi++<<3);mi==li&&(Ve+=r(rg,2*li),Ve+=1==li?7==oi?"-":" ":" ",rg=mi=0);ni+=32<=sg&&128>sg?String.fromCharCode(sg):"."}qd&&(qd+="\n");qd+=ia+" "+Ve+" "+ni}qd&&a.O(qd);a.tb=ce}}}}}break;case "e":if("else"==g[0])break;var tg=1,Mn=255,Nn=a.Qa,On=a.tc;"ew"==g[0]&&(tg=2,Mn=65535,Nn=a.na,On=a.ib);var Pn=tg<<1,Qn=g[1];
if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Xq(a,Qn);if(ug)for(var vg=2;vg<g.length;vg++){var We=Zq(a,g[vg]);if(void 0===We){a.O("unrecognized value: "+g[vg]);break}We&~Mn&&a.O("warning: "+r(We)+" exceeds "+tg+"-byte value");var hs=Nn.call(a,ug);a.O("changing "+Qq(ug)+" from 0x"+r(hs,Pn)+" to 0x"+r(We,Pn));On.call(a,ug,We,tg)}}break;case "f":Er(a,g[1]);break;case "g":a:{var Rn=g[1],is=b;"gt"==g[0]&&
(a.bb=!0);if(void 0!==Rn){var pi=Xq(a,Rn,!0);if(!pi)break a;$q(a,pi,is);a.Od(a.A,pi,!0)}a.Ie(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var qi;a.la.Jb?(qi="halting",a.Xb()):qi="already halted";c||a.O(qi);break;case "i":if("if"==g[0]){var ri;var Xe=b.substr(2),Xe=na(Xe);Zq(a,Xe)?(c||a.O("true: "+Xe),ri=!0):(c||a.O("false: "+Xe),ri=!1);ri||(d=!1);break}if("int"==g[0]){var wg;a:switch(Cq(a,g[1])){case 19:lk(a,19,a.F.Ga,!0);a.za=a.pa;wg=!0;break a;case 33:lk(a,33,a.F.Ga,
!0);a.za=a.pa;wg=!0;break a;default:wg=!1}wg||(d=!1);break}var si=g[1];if(si&&"?"!=si){var ti=Cq(a,si);if(void 0!==ti){var js=ic(a.ea,ti,1);a.O(u(ti)+": "+t(js))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ks=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var ui=0,Sn=a.F.va.Z,Ye=gq(a),Rc=gq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+
Qq(Rc));10>ui;){for(var sc=null,ls=256;Rc.Ra>>>0<a.F.Kg>>>0;){Ye.Ra=a.ub(Rc,!0);if(null==Rc.Da||!ls--)break;Ye.Z=Sn;if(sc=Jr(a,Ye))break;Ye.Z=a.ub(Rc);if(sc=Jr(a,Ye,!0)){Sn=a.ub(Rc,!0);0<sc.indexOf("INT")&&a.ub(Rc,!0);break}}if(!sc||null==sc)break;var Tn=null;if("ks"==ks){var Un=sc.match(/[0-9A-F]+$/);Un&&(Tn=Gr(a,Un[0]))}sc=ma(sc,50)+" ;"+(Tn||"stack="+Qq(Rc));a.O(sc);ui++}ui||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Gr(a,g[1],!0);break}Hr(a,g);break;case "m":if("mouse"==g[0]){var vi=
g[1],xg=g[2];if(a.V){var Vn=1;"-"==xg.charAt(0)&&(Vn=-1,xg=xg.substr(1));var rd=Cq(a,xg,vi);if(void 0!==rd)switch(rd=rd*Vn|0,vi){case "x":a.V.Hf(rd,0);break;case "y":a.V.Hf(0,rd);break;case "click":a.V.ge(rd,!0);a.V.ge(rd,!1);break;default:a.O("unknown action: "+vi)}}else a.O("no mouse");break}a:{var tc,uc=null,Na=g[1];"?"==Na&&(Na=void 0);if(void 0!==Na){var sd=0;if("all"==Na)sd=1610481663,Na=null;else if("on"==Na)uc=!0,Na=null;else if("off"==Na)uc=!1,Na=null;else{"keys"==Na&&(Na="key");"kbd"==Na&&
(Na="keyboard");for(tc in uq)if(Na==tc){sd=uq[tc];uc=!!(a.xc&sd);break}if(!sd){a.O("unknown message category: "+Na);break a}}sd&&("on"==g[2]?(a.xc|=sd,uc=!0):"off"==g[2]&&(a.xc&=~sd,uc=!1))}var ms=0,Sc="";for(tc in uq)if(!Na||Na==tc){var ns=!!(a.xc&uq[tc]);if(null===uc||uc==ns)Sc&&(Sc+=","),++ms%10||(Sc+="\n\t"),"key"==tc&&(tc="keys"),Sc+=tc}void 0===Na&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==uc?uc?"messages on: ":"messages off: ":"message categories:\n\t")+
(Sc||"none"));iq(a)}break;case "o":var wi=g[1],os=g[2];if(wi&&"?"!=wi){var xi=Cq(a,wi,"port #"),yi=Cq(a,os);void 0!==xi&&void 0!==yi&&(mc(a.ea,xi,1,yi),a.O(u(xi)+": "+t(yi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Ir(a,b.substr(5));break}var Wn="pr"==g[0]?1:0,de=1+Wn;if(a.N)a.O("step in progress");else{var yg,Xn=!1,jb=gq(a,K(a.F),a.F.va.Z);do switch(yg=!1,a.Qa(jb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Sq(a,
jb,1);yg=!0;break;case 204:case 206:a.N=de;Sq(a,jb,1);break;case 205:case 224:case 225:case 226:a.N=de;Sq(a,jb,jb.Ub?4:2);break;case 232:a.N=de;Sq(a,jb,jb.Ub?5:3);break;case 154:a.N=de;Sq(a,jb,jb.Ub?7:5);break;case 255:var Yn=a.ub(jb)&14591;if(4351==Yn||6399==Yn)a.N=de,pr(a,jb);break;case 243:case 242:Sq(a,jb,1);Xn=yg=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Xn&&(a.N=de,Sq(a,jb,1))}while(yg);a.N?(a.Od(a.A,
jb,!0),a.Ie()||(a.F.Tc(),a.N=0)):Kr(a,Wn?"tr":"t")}break;case "r":if("reset"==b){a.da&&a.da.reset();break}hr(a,g);break;case "t":Kr(a,g[0],g[1]);break;case "u":ir(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Fr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.3 ("+a.F.ja+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Ze;void 0!==g[3]&&(Ze=+g[3]);switch(g[2]){case "int":a.F.X.ff=Ze;break;case "start":a.F.X.Jf=
Ze;break;case "stop":a.F.X.hf=Ze;break;default:a.O("unknown cs option");break a}void 0!==Ze&&Qc(a.F);a.O("checksums "+(a.F.la.We?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.X.De.toFixed(2)+"Mhz")+" ("+a.F.X.Ud+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Ir(a,b.substr(1));break}var $e="commands:",zi;for(zi in nq)$e+="\n"+ma(zi,7)+nq[zi];Uf(a)||($e+="\nnote: frequency/history disabled if no exec breakpoints");a.O($e);break;default:a.O("unknown command: "+b),d=!1}}}catch(Zn){a.O("debugger error: "+(Zn.stack||Zn.message)),d=!1}return d}function kq(a,b,c){b=ar(a,b,c);for(var d in b)if(!or(a,b[d]))return!1;return!0}
Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new fq(d);mb(d,c)}});function jf(a,b,c){this.id=a.id;this.key=Mr(a,b,c);this.ha=a.ha;Nr(this,a.hk)}function Mr(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}
jf.prototype={constructor:jf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Da()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Nr(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 Nr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Or(a){var b=!0;if(Da()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Pr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Qr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Rr(a,b,c){Ua.call(this,"Computer",a,Rr,67108864);this.la.ec=!1;Sr(this,b);this.Y=Nc(this,"autoPower",a);this.C=0;this.pa=a.busWidth||a.buswidth;this.A=Tr;this.U=null;this.L=this.ka=!1;this.ra=Nc(this,"url")||"";this.ua=(Math.random()+.1).toString(36).substr(2,12);this.B=Ur(this);if(this.F=ib("CPU",this.id)){this.ha=ib("Debugger",this.id);this.ea=new Lb({id:this.se+".bus",buswidth:this.pa},this.F,this.ha);var d,e=gb(this.id);if((this.Xd=ib("Panel",this.id))&&this.Xd.Df)for(b=0;b<e.length;b++)d=
e[b],d.Oa=this.Xd.Oa,d.O=this.Xd.O,d.Df=this.Xd.Df;for(b=0;b<e.length;b++)d=e[b],d.Ic&&d.Ic(this,this.ea,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.V=d:this.A=parseInt(d,10));var f;if(a=Nc(this,"state")||(f=!0,a.state))b=this.fa=a,f||(this.L=!0,this.A=Tr),this.A&&(this.W=new jf(this,Vr),this.W.load()?b=null:delete this.W);!b&&this.A&&(b=Wr(this))&&(this.L=!0);if(b){var g=this;wa(b,null,!0,function(a,b,c){c?(g.V=null,g.L=!1,g.Oa("Unable to load machine state from server (error "+
c+(b?": "+na(b):"")+")")):(g.U=b,g.ka=!0);sb(g)})}else sb(this);this.qa.power||(this.Y=!0);!c&&this.Y&&Xr(this,this.$f)}else w("Unable to find CPU component")}db(Rr);var Vr="1.21.3",Tr=0;m=Rr.prototype;m.df=function(){return this.ua};function Sr(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.da=b}
function Nc(a,b,c){var d=b.toLowerCase(),d=Ya&&(Ya[b]||Ya[d]);void 0===d&&a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.he=function(){return this.B||""};function Xr(a,b,c){for(var d=gb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){Xr(a,b,c)});return}}b.call(a,c)}
function Yr(a,b){var c=new jf(a,Vr,"validate");if(c.load()&&Pr(c)){var d=Qr(c,"timestamp"),e=b?Qr(b,"timestamp"):"unknown";d!=e&&(a.Oa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
m.$f=function(a){void 0===a&&(a=this.A||(this.U?1:Tr));if(!this.C){this.C++;var b=!1,c=!1;this.ia=!1;var d=this.W||new jf(this,Vr);if(-1==a)b=!0;else if(a>Tr){if(d.load(this.U)){this.N=new jf(this,Vr,"failsafe");this.N.load()&&(Zr(this,d),a=2,Nr(this.N));N(this.N,"timestamp",qa());Or(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Pr(d)){var f=Qr(d,"code"),g=Qr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Nr(d),d.load()?(c=Pr(d),e=!0):c=!1))}e&&Yr(this,c?d:null)}else 2==a&&d.clear()}else Yr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.F&&(c=$r(this,g,d,b,c));b=[d,a,c];-1!=a?Xr(this,this.Ji,b):this.Ji(b)}};
function $r(a,b,c,d,e){if(!b.la.ec){b.la.ec=!0;if(b.kc){var f=null;e&&((f=Qr(c,b.id))||(f=Qr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.kc(f,d)&&f&&(w("Unable to restore state for "+b.type),a.fa&&!a.ka?(c.clear(),a.A=Tr,window&&window.location.reload()):a.ia=!0,b.kc(null),e=!1)}if(!d&&b.uk)for(a=b.uk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.Ji=function(a){var b=a[0],c=0>a[1];a=a[2];this.la.ec=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Vr+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.ga=!0);this.F&&($r(this,this.F,b,c,a),Uc(this.F));this.ia&&(Zr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0};
function Zr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ra,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Vr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}}
function Lr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new jf(a,Vr),g=new jf(a,Vr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.3");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.jc&&(c&&a.F.Xb(),d=a.F.jc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.ec=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k<h.length;k++){var l=h[k];l.la.ec&&(l.jc&&(d=l.jc(b,c),"object"===typeof d&&N(f,l.id,d)),c&&(l.la.ec=!1,!1===d&&(e=null)))}e&&(c?
(h=d=!1,b?(a.B&&as(a,a.B,f.toString()),Or(g)&&Or(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.la.ec=!1,b=a.qa.power)&&(b.textContent="Power");a.C=0;return e}m.reset=function(){this.ea&&this.ea.reset&&(y(this,"Resetting "+this.ea.type),this.ea.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ea&&c.reset&&(y(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.Rb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onclick=function(){d.C||(d.la.ec?Lr(d,!1,!0):Xr(d,d.$f))},!0;case "reset":return this.qa[b]=c,c.onclick=function(){if(d.la.ec&&!d.C)if(d.A&&!d.V){var a=za("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Lr(d,a,!0);!a&&d.fa?window&&window.location.reload():(a||(d.dh=!0),d.$f(Tr),d.dh=!1)}else d.reset(),d.F&&Uc(d.F)},!0;case "save":if(ja(xa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.qa[b]=c;c.onclick=function(){var a=Ur(d,!0);if(a){var b=!!(d.A&&!d.V||d.fa),c=Lr(d,b);b?as(d,a,c):d.Oa("Resume disabled, machine state not saved")}};return!0}return!1};
function Ur(a,b){var c=a.B;c||(c=Ea("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=bs(a,c))||a.Oa("The user ID is invalid."))):b&&a.Oa("Browser local storage is not available"));return c}
function bs(a,b){a.B=null;var c=wa(xa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Fa("user",c.data),a.B=c.data)}catch(e){w(e.message+" ("+d+")")}return a.B}function Wr(a){var b=null;a.B&&(b=xa()+"/api/v1/user?req=load&user="+a.B+"&state="+Mr(a,Vr));return b}
function as(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Mr(a,Vr);d.data=c;b=wa(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.Oa("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.Oa(c),Fa("user",""),a.B=null)}}
function Eb(a,b,c){a=gb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=kb(c),c=nb(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=kb(f),g=new Rr(g,d,!0);mb(g,f);g.Y&&Xr(g,g.$f)}});La.show.push(function(){for(var a=nb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=ib("Computer",c.id))&&c.ga&&!c.la.ec&&c.$f(-1)}});
La.exit.push(function(){for(var a=nb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=ib("Computer",c.id))&&c.la.ec&&Lr(c,!(!c.A||c.V),!0)}});var cs=0;function ds(a,b,c,d,e,f){e("Loading "+a+"...");wa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):ps(h,a,b,c,d,e,f)})}
function ps(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){fb(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,
"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?qs(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function qs(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);qs(a,b,c)}})}else c(a,null)}
function rs(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--cs||Sa(!0));k=!1}var g,h,k=!0;cs++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c||
(c="/versions/pcjs/1.21.3/components.xsl");l=function(d,h){h?ds(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--cs||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--cs||Sa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ds(b,a,d,!0,e,l):ps(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return rs(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;
function ss(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ja(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){ts(b,d)}):ts(null,d)}else w("Error ("+c+") requesting "+a)}
function ts(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n'),c+="...\n",c+='<script type="text/javascript" src="'+g+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",w(c)):w("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=ib("Computer",a),e=ib("Debugger",a);if(d){var f=Lr(d,!0),g=d.da?JSON.stringify(d.da):null;b||(b="/versions/pcjs/1.21.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,hk:g}))return!0;wa(b,null,!0,function(c,d,e){ss(c,d,e,[a,fa(b,!0),g,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();