From 7f270bf070b2d9f28b5de6d719bd396e57aee9ff Mon Sep 17 00:00:00 2001 From: Viktor Kynchev Date: Mon, 8 Jan 2018 10:55:12 +0200 Subject: [PATCH] updated emulator page... --- docs/www/emulator/assets/css/main.css | 117 + docs/www/emulator/assets/css/main.sass | 109 + docs/www/emulator/assets/js/libv86.js | 1186 +++++++++ docs/www/emulator/assets/js/libv86.min.js | 18 + docs/www/emulator/assets/js/libv86.min.js.map | 1 + docs/www/emulator/bios/bochs-bios.bin | Bin 0 -> 65536 bytes docs/www/emulator/bios/bochs-vgabios.bin | Bin 0 -> 43008 bytes docs/www/emulator/bios/seabios.bin | Bin 0 -> 131072 bytes docs/www/emulator/bios/vgabios.bin | Bin 0 -> 34816 bytes docs/www/emulator/config.codekit3 | 2263 +++++++++++++++++ docs/www/emulator/index.html | 119 +- docs/www/emulator/libv86.min.js | 431 ---- docs/www/emulator/seabios.bin | Bin 131072 -> 0 bytes docs/www/emulator/vgabios.bin | Bin 39424 -> 0 bytes docs/www/index.html | 8 +- 15 files changed, 3771 insertions(+), 481 deletions(-) create mode 100644 docs/www/emulator/assets/css/main.css create mode 100644 docs/www/emulator/assets/css/main.sass create mode 100644 docs/www/emulator/assets/js/libv86.js create mode 100644 docs/www/emulator/assets/js/libv86.min.js create mode 100644 docs/www/emulator/assets/js/libv86.min.js.map create mode 100644 docs/www/emulator/bios/bochs-bios.bin create mode 100644 docs/www/emulator/bios/bochs-vgabios.bin create mode 100644 docs/www/emulator/bios/seabios.bin create mode 100644 docs/www/emulator/bios/vgabios.bin create mode 100644 docs/www/emulator/config.codekit3 delete mode 100644 docs/www/emulator/libv86.min.js delete mode 100644 docs/www/emulator/seabios.bin delete mode 100644 docs/www/emulator/vgabios.bin diff --git a/docs/www/emulator/assets/css/main.css b/docs/www/emulator/assets/css/main.css new file mode 100644 index 000000000..4bd7676df --- /dev/null +++ b/docs/www/emulator/assets/css/main.css @@ -0,0 +1,117 @@ +html, +body { + margin: 0; + padding: 0; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; } + html.dark, + body.dark { + background-color: #000; } + html.dark .header .heading, + body.dark .header .heading { + color: #fff; } + +*:focus { + -webkit-box-shadow: none; + box-shadow: none; + outline: none; } + +.container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 10px 50px; } + +@media screen and (max-width: 768px) { + .container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 10px; } } + +.header { + max-width: 1200px; + margin: 20px 0; } + .header .heading { + font-family: monospace; + font-size: 24px; + line-height: 24px; + font-weight: 200; + text-align: center; + margin: 0; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; } + .header .heading.mini { + font-size: 14px; + line-height: 14px; + opacity: 0.6; } + .header .light-btn { + position: fixed; + top: 25px; + right: 25px; + width: 40px; + height: 40px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + background-color: #fff; + border: 1px solid #f1c40f; + border-radius: 50%; + color: #f1c40f; + cursor: pointer; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; } + .header .light-btn:hover { + background-color: #f1c40f; + color: #fff; } + .header .light-btn.dark { + background-color: #000; + color: #f1c40f; } + .header .light-btn.dark:hover { + background-color: #f1c40f; + color: #fff; } + +.screen-container { + max-width: 100%; + background-color: #000; + overflow-x: scroll; + padding: 0 20px; + border: 1px solid #111; } + .screen-container .emulator-screen { + margin: 10px 0; } + .screen-container .emulator-screen .console { + font-family: monospace; + font-size: 16px; + line-height: 18px; + white-space: pre; + min-width: 770px; } + .screen-container input { + margin: 0 0 10px; + width: 100%; } + +.footer { + max-width: 1200px; + margin: 20px 0; } + .footer .info { + font-family: monospace; + font-size: 12px; } diff --git a/docs/www/emulator/assets/css/main.sass b/docs/www/emulator/assets/css/main.sass new file mode 100644 index 000000000..54140e85c --- /dev/null +++ b/docs/www/emulator/assets/css/main.sass @@ -0,0 +1,109 @@ +html, +body + margin: 0 + padding: 0 + transition: all 0.2s ease-in-out + + &.dark + background-color: #000 + + .header + .heading + color: #fff + +// get rid of the input shadow +*:focus + box-shadow: none + outline: none + + +.container + display: flex + flex-direction: column + align-items: center + padding: 10px 50px + +@media screen and (max-width: 768px) + .container + display: flex + flex-direction: column + align-items: center + padding: 10px + + +.header + max-width: 1200px + margin: 20px 0 + + .heading + font-family: monospace + font-size: 24px + line-height: 24px + font-weight: 200 + text-align: center + margin: 0 + transition: all 0.2s ease-in-out + + &.mini + font-size: 14px + line-height: 14px + opacity: 0.6 + + .light-btn + position: fixed + top: 25px + right: 25px + width: 40px + height: 40px + display: flex + align-items: center + justify-content: center + background-color: #fff + border: 1px solid #f1c40f + border-radius: 50% + color: #f1c40f + cursor: pointer + transition: all 0.2s ease-in-out + + &:hover + background-color: #f1c40f + color: #fff + + &.dark + background-color: #000 + color: #f1c40f + + &:hover + background-color: #f1c40f + color: #fff + + +.screen-container + max-width: 100% + background-color: #000 + overflow-x: scroll + padding: 0 20px + border: 1px solid #111 + + .emulator-screen + margin: 10px 0 + + .console + font-family: monospace + font-size: 16px + line-height: 18px + white-space: pre + min-width: 770px + + input + margin: 0 0 10px + width: 100% + + +.footer + max-width: 1200px + margin: 20px 0 + + .info + font-family: monospace + font-size: 12px \ No newline at end of file diff --git a/docs/www/emulator/assets/js/libv86.js b/docs/www/emulator/assets/js/libv86.js new file mode 100644 index 000000000..b38a27277 --- /dev/null +++ b/docs/www/emulator/assets/js/libv86.js @@ -0,0 +1,1186 @@ +;(function(){'use strict';var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}(); +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return ba?-b:b}},"es6","es3"); +$jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var c=0,d={next:function(){if(c\x3c/script>')},goog.appendScriptSrcNode_= +function(a){var b=goog.global.document,c=b.createElement("script");c.type="text/javascript";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}var d=goog.IS_OLD_IE_;void 0===b?d?(b=" onreadystatechange='goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+ +")' ",c.write('')},goog.appendScriptSrcNode_=function(e){var t=goog.global.document,s=t.createElement("script");s.type="text/javascript",s.src=e,s.defer=!1,s.async=!1,t.head.appendChild(s)},goog.writeScriptTag_=function(e,t){if(goog.inHtmlDocument_()){var s=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==s.readyState){if(/\bdeps.js$/.test(e))return!1;throw Error('Cannot write "'+e+'" after document load')}var r=goog.IS_OLD_IE_;return void 0===t?r?(t=" onreadystatechange='goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ",s.write('")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(e):goog.writeScriptSrcNode_(e):s.write('"),!0}return!1},goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(e,t){return"complete"==e.readyState&&goog.lastNonModuleScriptIndex_==t&&goog.loadQueuedModules_(),!0},goog.writeScripts_=function(){function e(i){if(!(i in r.written)){if(!(i in r.visited)&&(r.visited[i]=!0,i in r.requires))for(var _ in r.requires[i])if(!goog.isProvided_(_)){if(!(_ in r.nameToPath))throw Error("Undefined nameToPath for "+_);e(r.nameToPath[_])}i in s||(s[i]=!0,t.push(i))}}var t=[],s={},r=goog.dependencies_;for(_ in goog.included_)r.written[_]||e(_);for(var i=0;i>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if(e.clone)return e.clone();t="array"==t?[]:{};for(var s in e)t[s]=goog.cloneObject(e[s]);return t}return e},goog.bindNative_=function(e,t,s){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,s){if(!e)throw Error();if(2=this.replybuffer.length&&message.Debug("Error in 9p: payloadsize exceeds maximum length"),this.replybuffersize=s+7},Virtio9p.prototype.SendError=function(e,t,s){t=marshall.Marshall(["w"],[s],this.replybuffer,7),this.BuildReply(6,e,t)},Virtio9p.prototype.ReceiveRequest=function(e,t){var s=marshall.Unmarshall2(["w","b","h"],t),r=s[0],i=s[1],_=s[2];switch(i){case 8:r=this.fs.GetTotalSize(),t=this.fs.GetSpace();var a=[16914839];a[1]=this.BLOCKSIZE,a[2]=Math.floor(t/a[1]),a[3]=a[2]-Math.floor(r/a[1]),a[4]=a[2]-Math.floor(r/a[1]),a[5]=this.fs.inodes.length,a[6]=1048576,a[7]=0,a[8]=256,r=marshall.Marshall("wwddddddw".split(""),a,this.replybuffer,7),this.BuildReply(i,_,r),this.SendReply(0,e);break;case 112:case 12:a=marshall.Unmarshall2(["w","w"],t);var o=a[0];s=a[1],message.Debug("[open] fid="+o+", mode="+s),t=this.fids[o].inodeid;var n=this.fs.GetInode(t);message.Debug("file open "+n.name),t=this.fs.OpenInode(t,s),this.fs.AddEvent(this.fids[o].inodeid,function(){message.Debug("file opened "+n.name+" tag:"+_),a[0]=n.qid,a[1]=this.msize-24,marshall.Marshall(["Q","w"],a,this.replybuffer,7),this.BuildReply(i,_,17),this.SendReply(0,e)}.bind(this));break;case 70:a=marshall.Unmarshall2(["w","w","s"],t),s=a[0],o=a[1],t=a[2],message.Debug("[link] dfid="+s+", name="+t),n=this.fs.CreateInode(),r=this.fs.GetInode(this.fids[o].inodeid);var d=this.fs.inodedata[this.fids[o].inodeid];n.mode=r.mode,n.size=r.size,n.symlink=r.symlink;var h=this.fs.inodedata[this.fs.inodes.length]=new Uint8Array(n.size);for(r=0;r>>32-s|0};s||(s=_.bind(this,8)),r||(r=_.bind(this,16)),i||(i=_.bind(this,32))}s&&(this.ports[e].read8=s),r&&(this.ports[e].read16=r),i&&(this.ports[e].read32=i),this.ports[e].device=t},IO.prototype.register_write=function(e,t,s,r,i){if(dbg_assert("number"==typeof e),dbg_assert("object"==typeof t),dbg_assert(!s||"function"==typeof s),dbg_assert(!r||"function"==typeof r),dbg_assert(!i||"function"==typeof i),dbg_assert(s||r||i),DEBUG){var _=function(s){dbg_assert(!1,"Overlapped write"+s+" "+h(e)+" ("+t.name+")")};s||(s=_.bind(this,8)),r||(r=_.bind(this,16)),i||(i=_.bind(this,32))}s&&(this.ports[e].write8=s),r&&(this.ports[e].write16=r),i&&(this.ports[e].write32=i),this.ports[e].device=t},IO.prototype.register_read_consecutive=function(e,t,s,r,i,_){function a(){return s.call(this)|r.call(this)<<8}function o(){return i.call(this)|_.call(this)<<8}function n(){return s.call(this)|r.call(this)<<8|i.call(this)<<16|_.call(this)<<24}dbg_assert(4===arguments.length||6===arguments.length),i&&_?(this.register_read(e,t,s,a,n),this.register_read(e+1,t,r),this.register_read(e+2,t,i,o),this.register_read(e+3,t,_)):(this.register_read(e,t,s,a),this.register_read(e+1,t,r))},IO.prototype.register_write_consecutive=function(e,t,s,r,i,_){function a(e){s.call(this,255&e),r.call(this,e>>8&255)}function o(e){i.call(this,255&e),_.call(this,e>>8&255)}function n(e){s.call(this,255&e),r.call(this,e>>8&255),i.call(this,e>>16&255),_.call(this,e>>>24)}dbg_assert(4===arguments.length||6===arguments.length),i&&_?(this.register_write(e,t,s,a,n),this.register_write(e+1,t,r),this.register_write(e+2,t,i,o),this.register_write(e+3,t,_)):(this.register_write(e,t,s,a),this.register_write(e+1,t,r))},IO.prototype.in_mmap_range=function(e,t){if(e>>>=0,(t=e+(t>>>0))>=this.cpu.memory_size)return!0;for(e&=~(MMAP_BLOCK_SIZE-1);e>>MMAP_BLOCK_BITS];return t(e)|t(e+1)<<8|t(e+2)<<16|t(e+3)<<24},IO.prototype.mmap_write32_shim=function(e,t){var s=this.cpu.memory_map_write8[e>>>MMAP_BLOCK_BITS];s(e,255&t),s(e+1,t>>8&255),s(e+2,t>>16&255),s(e+3,t>>>24)},IO.prototype.mmap_register=function(e,t,s,r,i,_){for(dbg_log("mmap_register addr="+h(e>>>0,8)+" size="+h(t,8),LOG_IO),dbg_assert(0==(e&MMAP_BLOCK_SIZE-1)),dbg_assert(t&&0==(t&MMAP_BLOCK_SIZE-1)),i||(i=this.mmap_read32_shim.bind(this)),_||(_=this.mmap_write32_shim.bind(this)), +e>>>=MMAP_BLOCK_BITS;0>>0,8)+this.get_port_description(e),LOG_IO),s.write32.call(s.device,t)},IO.prototype.port_read8=function(e){var t=this.ports[e];return(t.read8===this.empty_port_read8||LOG_ALL_IO)&&dbg_log("read8 port #"+h(e,4)+this.get_port_description(e),LOG_IO),t=t.read8.call(t.device),dbg_assert(256>t,"8 bit port returned large value: "+h(e)),t},IO.prototype.port_read16=function(e){var t=this.ports[e];return(t.read16===this.empty_port_read16||LOG_ALL_IO)&&dbg_log("read16 port #"+h(e,4)+this.get_port_description(e),LOG_IO),t=t.read16.call(t.device),dbg_assert(65536>t&&0<=t,"16 bit port returned large value: "+h(e)),t},IO.prototype.port_read32=function(e){var t=this.ports[e];return(t.read32===this.empty_port_read32||LOG_ALL_IO)&&dbg_log("read32 port #"+h(e,4)+this.get_port_description(e),LOG_IO),e=t.read32.call(t.device),dbg_assert((0|e)===e),e};var debug_port_list={4:"PORT_DMA_ADDR_2",5:"PORT_DMA_CNT_2",10:"PORT_DMA1_MASK_REG",11:"PORT_DMA1_MODE_REG",12:"PORT_DMA1_CLEAR_FF_REG",13:"PORT_DMA1_MASTER_CLEAR",32:"PORT_PIC1_CMD",33:"PORT_PIC1_DATA",64:"PORT_PIT_COUNTER0",65:"PORT_PIT_COUNTER1",66:"PORT_PIT_COUNTER2",67:"PORT_PIT_MODE",96:"PORT_PS2_DATA",97:"PORT_PS2_CTRLB",100:"PORT_PS2_STATUS",112:"PORT_CMOS_INDEX",113:"PORT_CMOS_DATA",128:"PORT_DIAG",129:"PORT_DMA_PAGE_2",146:"PORT_A20",160:"PORT_PIC2_CMD",161:"PORT_PIC2_DATA",178:"PORT_SMI_CMD",179:"PORT_SMI_STATUS",212:"PORT_DMA2_MASK_REG",214:"PORT_DMA2_MODE_REG",218:"PORT_DMA2_MASTER_CLEAR",240:"PORT_MATH_CLEAR",368:"PORT_ATA2_CMD_BASE",496:"PORT_ATA1_CMD_BASE",632:"PORT_LPT2",744:"PORT_SERIAL4",760:"PORT_SERIAL2",884:"PORT_ATA2_CTRL_BASE",888:"PORT_LPT1",1e3:"PORT_SERIAL3",1008:"PORT_FD_BASE",1010:"PORT_FD_DOR",1012:"PORT_FD_STATUS",1013:"PORT_FD_DATA",1014:"PORT_HD_DATA",1015:"PORT_FD_DIR",1016:"PORT_SERIAL1",3320:"PORT_PCI_CMD",3321:"PORT_PCI_REBOOT",3324:"PORT_PCI_DATA",1026:"PORT_BIOS_DEBUG",1296:"PORT_QEMU_CFG_CTL",1297:"PORT_QEMU_CFG_DATA",45056:"PORT_ACPI_PM_BASE",45312:"PORT_SMB_BASE",35072:"PORT_BIOS_APM"};if(IO.prototype.get_port_description=function(e){return debug_port_list[e]?" ("+debug_port_list[e]+")":""},v86.prototype.run=function(){this.running||(this.bus.send("emulator-started"),this.fast_next_tick())},v86.prototype.do_tick=function(){if(this.stopped)this.stopped=this.running=!1,this.bus.send("emulator-stopped");else{this.running=!0;var e=this.cpu.main_run();0>=e?this.fast_next_tick():this.next_tick(e)}},v86.prototype.stop=function(){this.running&&(this.stopped=!0)},v86.prototype.restart=function(){this.cpu.reset(),this.cpu.load_bios()},v86.prototype.init=function(e){this.cpu.init(e,this.bus),this.bus.send("emulator-ready")},"undefined"!=typeof setImmediate)var fast_next_tick=function(){var e=this;setImmediate(function(){e.do_tick()})},register_tick=function(){};else if("undefined"!=typeof window&&"undefined"!=typeof postMessage){var MAGIC_POST_MESSAGE=43605;fast_next_tick=function(){window.postMessage(MAGIC_POST_MESSAGE,"*")},register_tick=function(){var e=this;window.addEventListener("message",function(t){t.source===window&&t.data===MAGIC_POST_MESSAGE&&e.do_tick()},!1)}}else fast_next_tick=function(){var e=this;setTimeout(function(){e.do_tick()},0)},register_tick=function(){};v86.prototype.fast_next_tick=fast_next_tick,v86.prototype.register_tick=register_tick;var next_tick="undefined"!=typeof document&&"boolean"==typeof document.hidden?function(e){var t=this;4>e||document.hidden?this.fast_next_tick():setTimeout(function(){t.do_tick()},e)}:function(e){var t=this;setTimeout(function(){t.do_tick()},e)};v86.prototype.next_tick=next_tick,v86.prototype.save_state=function(){return this.cpu.save_state()},v86.prototype.restore_state=function(e){return this.cpu.restore_state(e)},v86.microtick="object"==typeof performance&&performance.now?function(){return performance.now()}:Date.now;var v86util=v86util||{};if(v86util.pads=function(e,t){for(e=e?e+"":"";e.lengtht;t++)t&t-1||s++,e[t]=s;v86util.int_log2_byte=function(t){return dbg_assert(0t),e[t]},v86util.int_log2=function(t){dbg_assert(0>>16;if(s){var r=s>>>8;return r?24+e[r]:16+e[s]}return(r=t>>>8)?8+e[r]:e[t]}}(),FloatQueue.prototype.push=function(e){this.length===this.size?this.start=this.start+1&this.size-1:this.length++,this.data[this.end]=e,this.end=this.end+1&this.size-1},FloatQueue.prototype.shift=function(){if(this.length){var e=this.data[this.start];return this.start=this.start+1&this.size-1,this.length--,e}},FloatQueue.prototype.shift_block=function(e){var t=new Float32Array(e);e>this.length&&(e=this.length);var s=this.start+e,r=this.data.subarray(this.start,s);return t.set(r),s>=this.size&&(s-=this.size,t.set(this.data.subarray(0,s),r.length)),this.start=s,this.length-=e,t},FloatQueue.prototype.peek=function(){if(this.length)return this.data[this.start]},FloatQueue.prototype.clear=function(){this.length=this.end=this.start=0},CircularQueue.prototype.add=function(e){this.data[this.index]=e,this.index=(this.index+1)%this.size},CircularQueue.prototype.toArray=function(){return[].slice.call(this.data,this.index).concat([].slice.call(this.data,0,this.index))},CircularQueue.prototype.clear=function(){this.data=[],this.index=0},CircularQueue.prototype.set=function(e){this.data=e,this.index=0};var FPU_C0=256,FPU_C1=512,FPU_C2=1024,FPU_C3=16384,FPU_RESULT_FLAGS=FPU_C0|FPU_C1|FPU_C2|FPU_C3,FPU_STACK_TOP=14336,FPU_PC=768,FPU_RC=3072,FPU_IF=4096,FPU_EX_P=32,FPU_EX_U=16,FPU_EX_O=8,FPU_EX_Z=4,FPU_EX_D=2,FPU_EX_I=1,TWO_POW_63=0x8000000000000000;FPU.prototype.get_state=function(){var e=[];return e[0]=this.st,e[1]=this.stack_empty,e[2]=this.stack_ptr,e[3]=this.control_word,e[4]=this.fpu_dp_selector,e[5]=this.fpu_ip,e[6]=this.fpu_ip_selector,e[7]=this.fpu_dp,e[8]=this.fpu_dp_selector,e[9]=this.fpu_opcode,e},FPU.prototype.set_state=function(e){this.st.set(e[0]),this.stack_empty=e[1],this.stack_ptr=e[2],this.control_word=e[3],this.fpu_ip=e[5],this.fpu_ip_selector=e[6],this.fpu_dp=e[7],this.fpu_dp_selector=e[8],this.fpu_opcode=e[9]},FPU.prototype.fpu_unimpl=function(){if(dbg_trace(),DEBUG)throw"fpu: unimplemented";this.cpu.trigger_ud()},FPU.prototype.stack_fault=function(){this.status_word=64|this.status_word|FPU_EX_I},FPU.prototype.invalid_arithmatic=function(){this.status_word|=FPU_EX_I},FPU.prototype.fcom=function(e){var t=this.get_st0();this.status_word&=~FPU_RESULT_FLAGS,t>e||(this.status_word=e>t?this.status_word|FPU_C0:t===e?this.status_word|FPU_C3:this.status_word|FPU_C0|FPU_C2|FPU_C3)},FPU.prototype.fucom=function(e){this.fcom(e)},FPU.prototype.fcomi=function(e){var t=this.st[this.stack_ptr];this.cpu.flags_changed&=~(1|flag_parity|flag_zero),this.cpu.flags&=~(1|flag_parity|flag_zero),t>e||(this.cpu.flags=e>t?1|this.cpu.flags:t===e?this.cpu.flags|flag_zero:1|this.cpu.flags|flag_parity|flag_zero)},FPU.prototype.fucomi=function(e){this.fcomi(e)},FPU.prototype.ftst=function(e){this.status_word&=~FPU_RESULT_FLAGS,isNaN(e)?this.status_word=this.status_word|FPU_C3|FPU_C2|FPU_C0:0===e?this.status_word|=FPU_C3:0>e&&(this.status_word|=FPU_C0)},FPU.prototype.fxam=function(e){this.status_word&=~FPU_RESULT_FLAGS,this.status_word|=this.sign(0)<<9,this.stack_empty>>this.stack_ptr&1?this.status_word=this.status_word|FPU_C3|FPU_C0:isNaN(e)?this.status_word|=FPU_C0:this.status_word=0===e?this.status_word|FPU_C3:1/0===e||-1/0===e?this.status_word|FPU_C2|FPU_C0:this.status_word|FPU_C2},FPU.prototype.finit=function(){this.control_word=895,this.fpu_opcode=this.fpu_dp=this.fpu_ip=this.status_word=0,this.stack_empty=255,this.stack_ptr=0},FPU.prototype.load_status_word=function(){return-14337&this.status_word|this.stack_ptr<<11},FPU.prototype.set_status_word=function(e){this.status_word=-14337&e,this.stack_ptr=e>>11&7},FPU.prototype.load_tag_word=function(){for(var e=0,t,s=0;8>s;s++)t=this.st[s],this.stack_empty>>s&1?e|=3<<(s<<1):0===t?e|=1<<(s<<1):isFinite(t)||(e|=2<<(s<<1));return e},FPU.prototype.set_tag_word=function(e){for(var t=this.stack_empty=0;8>t;t++)this.stack_empty|=e>>t&e>>t+1&1<t;t++)this.store_m80(e,this.st[this.stack_ptr+t&7]),e+=10;this.finit()},FPU.prototype.frstor=function(e){this.fldenv(e),e+=28;for(var t=0;8>t;t++)this.st[t+this.stack_ptr&7]=this.load_m80(e),e+=10},FPU.prototype.fxtract=function(){this.float64[0]=this.get_st0();var e=((127&this.float64_byte[7])<<4|this.float64_byte[6]>>4)-1023;this.float64_byte[7]=63|128&this.float64_byte[7],this.float64_byte[6]|=240,this.st[this.stack_ptr]=e,this.push(this.float64[0])},FPU.prototype.integer_round=function(e){var t=this.control_word>>10&3;return 0===t?(t=Math.round(e),.5==t-e&&t%2&&t--,t):1===t||3===t&&0>this.stack_ptr&1?(this.status_word&=~FPU_C1,this.stack_empty&=~(1<e),e=e+this.stack_ptr&7,this.stack_empty>>e&1?(this.status_word&=~FPU_C1,this.stack_fault(),this.indefinite_nan):this.st[e]},FPU.prototype.get_st0=function(){return this.stack_empty>>this.stack_ptr&1?(this.status_word&=~FPU_C1,this.stack_fault(),this.indefinite_nan):this.st[this.stack_ptr]},FPU.prototype.load_m80=function(e){var t=this.cpu.safe_read16(e+8),s=this.cpu.safe_read32s(e)>>>0,r=this.cpu.safe_read32s(e+4)>>>0;return e=t>>15,0==(t&=-32769)?0:32767>t?(s+=4294967296*r,e&&(s=-s),s*Math.pow(2,t-16383-63)):(this.float64_byte[7]=127|e<<7,this.float64_byte[6]=240|r>>30<<3&8,this.float64_byte[5]=0,this.float64_byte[4]=0,this.float64_int[0]=0,this.float64[0])},FPU.prototype.store_m80=function(e,t){this.float64[0]=t,t=128&this.float64_byte[7];var s=(127&this.float64_byte[7])<<4|this.float64_byte[6]>>4;if(2047===s){s=32767;var r=0,i=2147483648|(524288&this.float64_int[1])<<11}else 0===s?i=r=0:(s+=15360,r=this.float64_int[0]<<11,i=2147483648|(1048575&this.float64_int[1])<<11|this.float64_int[0]>>>21);dbg_assert(0<=s&&32768>s),this.cpu.safe_write32(e,r),this.cpu.safe_write32(e+4,i),this.cpu.safe_write16(e+8,t<<8|s)},FPU.prototype.load_m64=function(e){var t=this.cpu.safe_read32s(e);return e=this.cpu.safe_read32s(e+4),this.float64_int[0]=t,this.float64_int[1]=e,this.float64[0]},FPU.prototype.store_m64=function(e,t){this.cpu.writable_or_pagefault(e,8),this.float64[0]=this.get_sti(t),this.cpu.safe_write32(e,this.float64_int[0]),this.cpu.safe_write32(e+4,this.float64_int[1])},FPU.prototype.load_m32=function(e){return this.float32_int[0]=this.cpu.safe_read32s(e),this.float32[0]},FPU.prototype.store_m32=function(e,t){this.float32[0]=t,this.cpu.safe_write32(e,this.float32_int[0])},FPU.prototype.sign=function(e){return this.st8[(this.stack_ptr+e&7)<<3|7]>>7},FPU.prototype.dbg_log_fpu_op=function(e,t){},FPU.prototype.fwait=function(){},FPU.prototype.op_D8_reg=function(e){this.dbg_log_fpu_op(216,e);var t=e>>3&7;e=this.get_sti(7&e);var s=this.get_st0();switch(t){case 0:this.st[this.stack_ptr]=s+e;break;case 1:this.st[this.stack_ptr]=s*e;break;case 2:this.fcom(e);break;case 3:this.fcom(e),this.pop();break;case 4:this.st[this.stack_ptr]=s-e;break;case 5:this.st[this.stack_ptr]=e-s;break;case 6:this.st[this.stack_ptr]=s/e;break;case 7:this.st[this.stack_ptr]=e/s;break;default:dbg_assert(!1)}},FPU.prototype.op_D8_mem=function(e,t){this.dbg_log_fpu_op(216,e),e=e>>3&7,t=this.load_m32(t);var s=this.get_st0();switch(e){case 0:this.st[this.stack_ptr]=s+t;break;case 1:this.st[this.stack_ptr]=s*t;break;case 2:this.fcom(t);break;case 3:this.fcom(t),this.pop();break;case 4:this.st[this.stack_ptr]=s-t;break;case 5:this.st[this.stack_ptr]=t-s;break;case 6:this.st[this.stack_ptr]=s/t;break;case 7:this.st[this.stack_ptr]=t/s;break;default:dbg_assert(!1)}},FPU.prototype.op_D9_reg=function(e){this.dbg_log_fpu_op(217,e);var t=7&e;switch(e>>3&7){case 0:e=this.get_sti(t),this.push(e);break;case 1:e=this.get_sti(t),this.st[this.stack_ptr+t&7]=this.get_st0(),this.st[this.stack_ptr]=e;break;case 2:switch(t){case 0:break;default:dbg_log(t),this.fpu_unimpl()}break;case 3:this.fpu_unimpl();break;case 4:switch(e=this.get_st0(),t){case 0:this.st[this.stack_ptr]=-e;break;case 1:this.st[this.stack_ptr]=Math.abs(e);break;case 4:this.ftst(e);break;case 5:this.fxam(e);break;default:dbg_log(t),this.fpu_unimpl()}break;case 5:this.push(this.constants[t]);break;case 6:switch(e=this.get_st0(),t){case 0:this.st[this.stack_ptr]=Math.pow(2,e)-1;break;case 1:this.st[this.stack_ptr+1&7]=this.get_sti(1)*Math.log(e)/Math.LN2,this.pop();break;case 2:this.st[this.stack_ptr]=Math.tan(e),this.push(1);break;case 3:this.st[this.stack_ptr+1&7]=Math.atan2(this.get_sti(1),e),this.pop();break;case 4:this.fxtract();break;case 5:this.st[this.stack_ptr]=e%this.get_sti(1);break;case 6:this.stack_ptr=this.stack_ptr-1&7,this.status_word&=~FPU_C1;break;case 7:this.stack_ptr=this.stack_ptr+1&7,this.status_word&=~FPU_C1;break;default:dbg_assert(!1)}break;case 7:switch(e=this.get_st0(),t){case 0:t=this.get_sti(1);var s=Math.trunc(e/t);this.st[this.stack_ptr]=e%t,this.status_word&=~(FPU_C0|FPU_C1|FPU_C3),1&s&&(this.status_word|=FPU_C1),2&s&&(this.status_word|=FPU_C3),4&s&&(this.status_word|=FPU_C0),this.status_word&=~FPU_C2;break;case 1:this.st[this.stack_ptr+1&7]=this.get_sti(1)*Math.log(e+1)/Math.LN2,this.pop();break;case 2:this.st[this.stack_ptr]=Math.sqrt(e);break;case 3:this.st[this.stack_ptr]=Math.sin(e),this.push(Math.cos(e));break;case 4:this.st[this.stack_ptr]=this.integer_round(e);break;case 5:this.st[this.stack_ptr]=e*Math.pow(2,this.truncate(this.get_sti(1)));break;case 6:this.st[this.stack_ptr]=Math.sin(e);break;case 7:this.st[this.stack_ptr]=Math.cos(e);break;default:dbg_assert(!1)}break;default:dbg_assert(!1)}},FPU.prototype.op_D9_mem=function(e,t){switch(this.dbg_log_fpu_op(217,e),e>>3&7){case 0:e=this.load_m32(t),this.push(e);break;case 1:this.fpu_unimpl();break;case 2:this.store_m32(t,this.get_st0());break;case 3:this.store_m32(t,this.get_st0()),this.pop();break;case 4:this.fldenv(t);break;case 5:this.control_word=this.cpu.safe_read16(t);break;case 6:this.fstenv(t);break;case 7:this.cpu.safe_write16(t,this.control_word);break;default:dbg_assert(!1)}},FPU.prototype.op_DA_reg=function(e){this.dbg_log_fpu_op(218,e);var t=e>>3&7;switch(e&=7,t){case 0:this.cpu.test_b()&&(this.st[this.stack_ptr]=this.get_sti(e),this.stack_empty&=~(1<>3&7,t=this.cpu.safe_read32s(t);var s=this.get_st0();switch(e){case 0:this.st[this.stack_ptr]=s+t;break;case 1:this.st[this.stack_ptr]=s*t;break;case 2:this.fcom(t);break;case 3:this.fcom(t),this.pop();break;case 4:this.st[this.stack_ptr]=s-t;break;case 5:this.st[this.stack_ptr]=t-s;break;case 6:this.st[this.stack_ptr]=s/t;break;case 7:this.st[this.stack_ptr]=t/s;break;default:dbg_assert(!1)}},FPU.prototype.op_DB_reg=function(e){this.dbg_log_fpu_op(219,e);var t=e>>3&7,s=7&e;switch(t){case 0:this.cpu.test_b()||(this.st[this.stack_ptr]=this.get_sti(s),this.stack_empty&=~(1<>3&7){case 0:t=this.cpu.safe_read32s(t),this.push(t);break;case 2:e=this.integer_round(this.get_st0()),2147483647>=e&&-2147483648<=e?this.cpu.safe_write32(t,e):(this.invalid_arithmatic(),this.cpu.safe_write32(t,-2147483648));break;case 3:e=this.integer_round(this.get_st0()),2147483647>=e&&-2147483648<=e?this.cpu.safe_write32(t,e):(this.invalid_arithmatic(),this.cpu.safe_write32(t,-2147483648)),this.pop();break;case 5:this.push(this.load_m80(t));break;case 7:this.cpu.writable_or_pagefault(t,10),this.store_m80(t,this.get_st0()),this.pop();break;default:dbg_log(e),this.fpu_unimpl()}},FPU.prototype.op_DC_reg=function(e){this.dbg_log_fpu_op(220,e);var t=e>>3&7,s=7&e;e=this.stack_ptr+s&7,s=this.get_sti(s);var r=this.get_st0();switch(t){case 0:this.st[e]=s+r;break;case 1:this.st[e]=s*r;break;case 2:this.fcom(s);break;case 3:this.fcom(s),this.pop();break;case 4:this.st[e]=r-s;break;case 5:this.st[e]=s-r;break;case 6:this.st[e]=r/s;break;case 7:this.st[e]=s/r;break;default:dbg_assert(!1)}},FPU.prototype.op_DC_mem=function(e,t){this.dbg_log_fpu_op(220,e),e=e>>3&7,t=this.load_m64(t);var s=this.get_st0();switch(e){case 0:this.st[this.stack_ptr]=s+t;break;case 1:this.st[this.stack_ptr]=s*t;break;case 2:this.fcom(t);break;case 3:this.fcom(t),this.pop();break;case 4:this.st[this.stack_ptr]=s-t;break;case 5:this.st[this.stack_ptr]=t-s;break;case 6:this.st[this.stack_ptr]=s/t;break;case 7:this.st[this.stack_ptr]=t/s;break;default:dbg_assert(!1)}},FPU.prototype.op_DD_reg=function(e){this.dbg_log_fpu_op(221,e);var t=e>>3&7;switch(e&=7,t){case 0:this.stack_empty|=1<<(this.stack_ptr+e&7);break;case 2:this.st[this.stack_ptr+e&7]=this.get_st0();break;case 3:0!==e&&(this.st[this.stack_ptr+e&7]=this.get_st0()),this.pop();break;case 4:this.fucom(this.get_sti(e));break;case 5:this.fucom(this.get_sti(e)),this.pop();break;default:dbg_log(t),this.fpu_unimpl()}},FPU.prototype.op_DD_mem=function(e,t){switch(this.dbg_log_fpu_op(221,e),e>>3&7){case 0:e=this.load_m64(t),this.push(e);break;case 1:this.fpu_unimpl();break;case 2:this.store_m64(t,0);break;case 3:this.store_m64(t,0),this.pop();break;case 4:this.frstor(t);break;case 5:this.fpu_unimpl();break;case 6:this.fsave(t);break;case 7:this.cpu.safe_write16(t,this.load_status_word());break;default:dbg_assert(!1)}},FPU.prototype.op_DE_reg=function(e){this.dbg_log_fpu_op(222,e);var t=e>>3&7;e&=7;var s=this.stack_ptr+e&7,r=this.get_sti(e),i=this.get_st0();switch(t){case 0:this.st[s]=r+i;break;case 1:this.st[s]=r*i;break;case 2:this.fcom(r);break;case 3:1===e?(this.fcom(this.st[s]),this.pop()):(dbg_log(t),this.fpu_unimpl());break;case 4:this.st[s]=i-r;break;case 5:this.st[s]=r-i;break;case 6:this.st[s]=i/r;break;case 7:this.st[s]=r/i;break;default:dbg_assert(!1)}this.pop()},FPU.prototype.op_DE_mem=function(e,t){this.dbg_log_fpu_op(222,e),e=e>>3&7,t=this.cpu.safe_read16(t)<<16>>16;var s=this.get_st0();switch(e){case 0:this.st[this.stack_ptr]=s+t;break;case 1:this.st[this.stack_ptr]=s*t;break;case 2:this.fcom(t);break;case 3:this.fcom(t),this.pop();break;case 4:this.st[this.stack_ptr]=s-t;break;case 5:this.st[this.stack_ptr]=t-s;break;case 6:this.st[this.stack_ptr]=s/t;break;case 7:this.st[this.stack_ptr]=t/s;break;default:dbg_assert(!1)}},FPU.prototype.op_DF_reg=function(e){this.dbg_log_fpu_op(223,e);var t=e>>3&7,s=7&e;switch(t){case 4:224===e?this.cpu.reg16[reg_ax]=this.load_status_word():(dbg_log(e),this.fpu_unimpl());break;case 5:this.fucomi(this.get_sti(s)),this.pop();break;case 6:this.fcomi(this.get_sti(s)),this.pop();break;default:dbg_log(t),this.fpu_unimpl()}},FPU.prototype.op_DF_mem=function(e,t){switch(this.dbg_log_fpu_op(223,e),e>>3&7){case 0:t=this.cpu.safe_read16(t)<<16>>16,this.push(t);break;case 1:this.fpu_unimpl();break;case 2:e=this.integer_round(this.get_st0()),32767>=e&&-32768<=e?this.cpu.safe_write16(t,e):(this.invalid_arithmatic(),this.cpu.safe_write16(t,32768));break;case 3:e=this.integer_round(this.get_st0()),32767>=e&&-32768<=e?this.cpu.safe_write16(t,e):(this.invalid_arithmatic(),this.cpu.safe_write16(t,32768)),this.pop();break;case 4:this.fpu_unimpl();break;case 5:e=this.cpu.safe_read32s(t)>>>0,t=this.cpu.safe_read32s(t+4),this.push(e+4294967296*t);break;case 6:this.fpu_unimpl();break;case 7:if(this.cpu.writable_or_pagefault(t,8),(e=this.integer_round(this.get_st0()))=-TWO_POW_63){var s=0|e,r=e/4294967296|0;0===r&&0>e&&(r=-1)}else s=0,r=-2147483648,this.invalid_arithmatic();this.cpu.safe_write32(t,s),this.cpu.safe_write32(t+4,r),this.pop();break;default:dbg_assert(!1)}};var CDROM_SECTOR_SIZE=2048,HD_SECTOR_SIZE=512;IDEDevice.prototype.read_status=function(){if(this.current_interface.buffer){var e=this.current_interface.status;return dbg_log("ATA read status: "+h(e,2),LOG_DISK),e}return 0},IDEDevice.prototype.write_control=function(e){dbg_log("set device control: "+h(e,2)+" interrupts "+(2&e?"disabled":"enabled"),LOG_DISK),4&e&&(dbg_log("Reset via control port",LOG_DISK),this.cpu.device_lower_irq(this.irq),this.master.device_reset(),this.slave.device_reset()),this.device_control=e},IDEDevice.prototype.dma_read_addr=function(){return dbg_log("dma get address: "+h(this.prdt_addr,8),LOG_DISK),this.prdt_addr},IDEDevice.prototype.dma_set_addr=function(e){dbg_log("dma set address: "+h(e,8),LOG_DISK),this.prdt_addr=e},IDEDevice.prototype.dma_read_status=function(){return dbg_log("DMA read status: "+h(this.dma_status),LOG_DISK),this.dma_status},IDEDevice.prototype.dma_write_status=function(e){dbg_log("DMA set status: "+h(e),LOG_DISK),this.dma_status&=~(6&e)},IDEDevice.prototype.dma_read_command=function(){return this.dma_read_command8()|this.dma_read_status()<<16},IDEDevice.prototype.dma_read_command8=function(){return dbg_log("DMA read command: "+h(this.dma_command),LOG_DISK),this.dma_command},IDEDevice.prototype.dma_write_command=function(e){dbg_log("DMA write command: "+h(e),LOG_DISK),this.dma_write_command8(255&e),this.dma_write_status(e>>16&255)},IDEDevice.prototype.dma_write_command8=function(e){dbg_log("DMA write command8: "+h(e),LOG_DISK);var t=this.dma_command;if(this.dma_command=9&e,(1&t)!=(1&e))if(0==(1&e))this.dma_status&=-2;else switch(this.dma_status|=1,this.current_interface.current_command){case 37:case 200:this.current_interface.do_ata_read_sectors_dma();break;case 202:case 53:this.current_interface.do_ata_write_sectors_dma();break;case 160:this.current_interface.do_atapi_dma();break;default:dbg_log("Spurious dma command write, current command: "+h(this.current_interface.current_command),LOG_DISK),dbg_assert(!1)}},IDEDevice.prototype.push_irq=function(){0==(2&this.device_control)&&(dbg_log("push irq",LOG_DISK),this.dma_status|=4,this.cpu.device_raise_irq(this.irq))},IDEDevice.prototype.get_state=function(){var e=[];return e[0]=this.master,e[1]=this.slave,e[2]=this.ata_port,e[3]=this.irq,e[4]=this.pci_id,e[5]=this.ata_port_high,e[6]=this.master_port,e[7]=this.name,e[8]=this.device_control,e[9]=this.prdt_addr,e[10]=this.dma_status,e[11]=this.current_interface===this.master,e[12]=this.dma_command,e},IDEDevice.prototype.set_state=function(e){this.master=e[0],this.slave=e[1],this.ata_port=e[2],this.irq=e[3],this.pci_id=e[4],this.ata_port_high=e[5],this.master_port=e[6],this.name=e[7],this.device_control=e[8],this.prdt_addr=e[9],this.dma_status=e[10],this.current_interface=e[11]?this.master:this.slave,this.dma_command=e[12]},IDEInterface.prototype.device_reset=function(){this.is_atapi?(this.status=0,this.sector=this.error=this.bytecount=1,this.cylinder_low=20,this.cylinder_high=235):(this.status=81,this.sector=this.error=this.bytecount=1,this.cylinder_high=this.cylinder_low=0)},IDEInterface.prototype.push_irq=function(){this.device.push_irq()},IDEInterface.prototype.ata_command=function(e){if(dbg_log("ATA Command: "+h(e)+" slave="+(this.drive_head>>4&1),LOG_DISK),this.buffer)switch(this.current_command=e,this.error=0,e){case 8:dbg_log("ATA device reset",LOG_DISK),this.data_length=this.data_end=this.data_pointer=0,this.device_reset(),this.push_irq();break;case 16:this.status=80,this.cylinder_low=0,this.push_irq();break;case 248:this.status=80,e=this.sector_count-1,this.sector=255&e,this.cylinder_low=e>>8&255,this.cylinder_high=e>>16&255,this.drive_head=240&this.drive_head|e>>24&15,this.push_irq();break;case 39:this.status=80,e=this.sector_count-1,this.sector=255&e,this.cylinder_low=e>>8&255,this.cylinder_high=e>>16&255,this.sector|=e>>24<<8&65280,this.push_irq();break;case 32:case 36:case 41:case 196:this.ata_read_sectors(e);break;case 48:case 52:case 57:case 197:this.ata_write_sectors(e);break;case 144:this.push_irq(),this.error=257,this.status=80;break;case 145:this.status=80,this.push_irq();break;case 160:this.is_atapi&&(this.status=88,this.data_allocate(12),this.data_end=12,this.bytecount=1,this.push_irq());break;case 161:dbg_log("ATA identify packet device",LOG_DISK),this.is_atapi?(this.create_identify_packet(),this.status=88,this.cylinder_low=20,this.cylinder_high=235):this.status=65,this.push_irq();break;case 198:dbg_log("Logical sectors per DRQ Block: "+h(255&this.bytecount),LOG_DISK),this.sectors_per_drq=255&this.bytecount,this.status=80,this.push_irq();break;case 37:case 200:this.ata_read_sectors_dma(e);break;case 53:case 202:this.ata_write_sectors_dma(e);break;case 64:dbg_log("read verify sectors",LOG_DISK),this.status=80,this.push_irq();break;case 218:dbg_log("Unimplemented: get media status",LOG_DISK),this.status=65,this.error=4,this.push_irq();break;case 224:dbg_log("ATA standby immediate",LOG_DISK),this.status=80,this.push_irq();break;case 225:dbg_log("ATA idle immediate",LOG_DISK),this.status=80,this.push_irq();break;case 231:dbg_log("ATA flush cache",LOG_DISK),this.status=80,this.push_irq();break;case 236:if(dbg_log("ATA identify device",LOG_DISK),this.is_atapi){this.status=65,this.error=4,this.push_irq();break}this.create_identify_packet(),this.status=88,this.push_irq();break;case 234:dbg_log("flush cache ext",LOG_DISK),this.status=80,this.push_irq();break;case 239:dbg_log("set features: "+h(255&this.bytecount),LOG_DISK),this.status=80,this.push_irq();break;case 245:dbg_log("security freeze lock",LOG_DISK),this.status=80,this.push_irq();break;case 249:dbg_log("Unimplemented: set max address",LOG_DISK),this.status=65,this.error=4;break;default:dbg_assert(!1,"New ATA cmd on 1F7: "+h(e),LOG_DISK),this.status=65,this.error=4}else dbg_log("abort: No buffer",LOG_DISK),this.error=4,this.status=65,this.push_irq()},IDEInterface.prototype.atapi_handle=function(){switch(dbg_log("ATAPI Command: "+h(this.data[0])+" slave="+(this.drive_head>>4&1),LOG_DISK),this.data_pointer=0,this.current_atapi_command=this.data[0],this.current_atapi_command){case 0:dbg_log("test unit ready",LOG_DISK),this.data_allocate(0),this.data_end=this.data_length,this.status=80;break;case 3:this.data_allocate(this.data[4]),this.data_end=this.data_length,this.status=88,this.data[0]=240,this.data[2]=5,this.data[7]=8;break;case 18:var e=this.data[4];this.status=88,dbg_log("inquiry: "+h(this.data[1],2)+" length="+e,LOG_DISK),this.data.set([5,128,1,49,31,0,0,0,83,79,78,89,32,32,32,32,67,68,45,82,79,77,32,67,68,85,45,49,48,48,48,32,49,46,49,97]),this.data_end=this.data_length=Math.min(36,e);break;case 26:this.data_allocate(this.data[4]),this.data_end=this.data_length,this.status=88;break;case 30:this.data_allocate(0),this.data_end=this.data_length,this.status=80;break;case 37:e=this.sector_count-1,this.data_set(new Uint8Array([e>>24&255,e>>16&255,e>>8&255,255&e,0,0,this.sector_size>>8&255,255&this.sector_size])),this.data_end=this.data_length,this.status=88;break;case 40:1&this.lba_count?this.atapi_read_dma(this.data):this.atapi_read(this.data);break;case 66:e=this.data[8],this.data_allocate(Math.min(8,e)),this.data_end=this.data_length,dbg_log("read q subcode: length="+e,LOG_DISK),this.status=88;break;case 67:e=this.data[8]|this.data[7]<<8;var t=this.data[9]>>6;this.data_allocate(e),this.data_end=this.data_length,dbg_log("read toc: "+h(t,2)+" length="+e+" "+(2&this.data[1])+" "+h(this.data[6]),LOG_DISK),0===t?(e=this.sector_count,this.data.set(new Uint8Array([0,18,1,1,0,20,1,0,0,0,0,0,0,22,170,0,e>>24,e>>16&255,e>>8&255,255&e]))):1===t?this.data.set(new Uint8Array([0,10,1,1,0,0,0,0,0,0,0,0])):dbg_assert(!1,"Unimplemented format: "+t),this.status=88;break;case 70:e=this.data[8]|this.data[7]<<8,e=Math.min(e,32),this.data_allocate(e),this.data_end=this.data_length,this.data[0]=e-4>>24&255,this.data[1]=e-4>>16&255,this.data[2]=e-4>>8&255,this.data[3]=e-4&255,this.data[6]=8,this.data[10]=3,this.status=88;break;case 81:this.data_allocate(0),this.data_end=this.data_length,this.status=80;break;case 82:dbg_log("Unimplemented ATAPI command: "+h(this.data[0]),LOG_DISK),this.status=81,this.data_length=0,this.error=80;break;case 90:e=this.data[8]|this.data[7]<<8,t=this.data[2],dbg_log("mode sense: "+h(t)+" length="+e,LOG_DISK),42===t&&this.data_allocate(Math.min(30,e)),this.data_end=this.data_length,this.status=88;break;case 189:this.data_allocate(this.data[9]|this.data[8]<<8),this.data_end=this.data_length,this.data[5]=1,this.status=88;break +;case 74:this.status=81,this.data_length=0,this.error=80,dbg_log("Unimplemented ATAPI command: "+h(this.data[0]),LOG_DISK);break;default:this.status=81,this.data_length=0,this.error=80,dbg_log("Unimplemented ATAPI command: "+h(this.data[0]),LOG_DISK),dbg_assert(!1)}this.bytecount=-8&this.bytecount|2,0==(128&this.status)&&this.push_irq(),0==(128&this.status)&&0===this.data_length&&(this.bytecount|=1,this.status&=-9)},IDEInterface.prototype.do_write=function(){this.status=80,dbg_assert(this.data_length<=this.data.length);var e=this.data.subarray(0,this.data_length);dbg_assert(0==this.data_length%512),this.ata_advance(this.current_command,this.data_length/512),this.push_irq(),this.buffer.set(this.write_dest,e,function(){}),this.report_write(this.data_length)},IDEInterface.prototype.atapi_read=function(e){var t=this,s=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r=e[7]<<8|e[8];e=e[1];var i=r*this.sector_size,_=s*this.sector_size;dbg_log("CD read lba="+h(s)+" lbacount="+h(r)+" bytecount="+h(i)+" flags="+h(e),LOG_DISK),this.data_length=0;var a=this.cylinder_high<<8&65280|255&this.cylinder_low;dbg_log(h(this.cylinder_high,2)+" "+h(this.cylinder_low,2),LOG_DISK),this.cylinder_low=this.cylinder_high=0,65535===a&&a--,a>i&&(a=i),_>=this.buffer.byteLength?(dbg_assert(!1,"CD read: Outside of disk end="+h(_+i)+" size="+h(this.buffer.byteLength),LOG_DISK),this.status=255,this.push_irq()):0===i?(this.status=80,this.data_pointer=0):(i=Math.min(i,this.buffer.byteLength-_),this.status=208,this.report_read_start(),this.buffer.get(_,i,function(e){dbg_log("cd read: data arrived",LOG_DISK),t.data_set(e),t.status=88,t.bytecount=-8&t.bytecount|2,t.push_irq(),a&=-4,t.data_end=a,t.data_end>t.data_length&&(t.data_end=t.data_length),t.cylinder_low=255&t.data_end,t.cylinder_high=t.data_end>>8&255,t.report_read_end(i)}))},IDEInterface.prototype.atapi_read_dma=function(e){var t=this,s=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r=e[7]<<8|e[8];e=e[1];var i=r*this.sector_size,_=s*this.sector_size;dbg_log("CD read DMA lba="+h(s)+" lbacount="+h(r)+" bytecount="+h(i)+" flags="+h(e),LOG_DISK),_>=this.buffer.byteLength?(dbg_assert(!1,"CD read: Outside of disk end="+h(_+i)+" size="+h(this.buffer.byteLength),LOG_DISK),this.status=255,this.push_irq()):(this.status=208,this.report_read_start(),this.buffer.get(_,i,function(e){dbg_log("atapi_read_dma: Data arrived"),t.report_read_end(i),t.status=88,t.bytecount=-8&t.bytecount|2,t.data_set(e),t.do_atapi_dma()}))},IDEInterface.prototype.do_atapi_dma=function(){if(0==(1&this.device.dma_status))dbg_log("do_atapi_dma: Status not set",LOG_DISK);else if(0==(8&this.status))dbg_log("do_atapi_dma: DRQ not set",LOG_DISK);else{dbg_log("atapi dma transfer len="+this.data_length,LOG_DISK);var e=this.device.prdt_addr,t=0,s=this.data;do{var r=this.cpu.read32s(e),i=this.cpu.read16(e+4),_=128&this.cpu.read8(e+7);if(i||(i=65536),dbg_log("dma read dest="+h(r)+" count="+h(i)+" datalen="+h(this.data_length),LOG_DISK),this.cpu.write_blob(s.subarray(t,Math.min(t+i,this.data_length)),r),t+=i,e+=8,t>=this.data_length&&!_){dbg_log("leave early end="+ +_+" offset="+h(t)+" data_length="+h(this.data_length)+" cmd="+h(this.current_command),LOG_DISK);break}}while(!_);dbg_log("end offset="+t,LOG_DISK),this.status=80,this.device.dma_status&=-2,this.bytecount=-8&this.bytecount|3,this.push_irq()}},IDEInterface.prototype.read_data=function(e){if(this.data_pointer>>1]:this.data32[this.data_pointer>>>2];return this.data_pointer+=e,0==(this.data_pointer&(0==(4095&this.data_end)?4095:255))&&dbg_log("Read 1F0: "+h(this.data[this.data_pointer],2)+" cur="+h(this.data_pointer)+" cnt="+h(this.data_length),LOG_DISK),this.data_pointer>=this.data_end&&this.read_end(),t}return dbg_log("Read 1F0: empty",LOG_DISK),this.data_pointer+=e,0},IDEInterface.prototype.read_end=function(){if(dbg_log("read_end cmd="+h(this.current_command)+" data_pointer="+h(this.data_pointer)+" end="+h(this.data_end)+" length="+h(this.data_length),LOG_DISK),160===this.current_command)if(this.data_end===this.data_length)this.status=80,this.bytecount=-8&this.bytecount|3,this.push_irq();else{this.status=88,this.bytecount=-8&this.bytecount|2,this.push_irq();var e=this.cylinder_high<<8&65280|255&this.cylinder_low;this.data_end+e>this.data_length?(this.cylinder_low=this.data_length-this.data_end&255,this.cylinder_high=this.data_length-this.data_end>>8&255,this.data_end=this.data_length):this.data_end+=e,dbg_log("data_end="+h(this.data_end),LOG_DISK)}else this.error=0,this.data_pointer>=this.data_length?this.status=80:(196===this.current_command||41===this.current_command?(e=Math.min(this.sectors_per_drq,(this.data_length-this.data_end)/512),dbg_assert(0==e%1)):(dbg_assert(32===this.current_command||36===this.current_command),e=1),this.ata_advance(this.current_command,e),this.data_end+=512*e,this.status=88),this.push_irq()},IDEInterface.prototype.write_data_port=function(e,t){dbg_assert(0==this.data_pointer%t),this.data_pointer>=this.data_end?dbg_log("Redundant write to data port: "+h(e)+" count="+h(this.data_end)+" cur="+h(this.data_pointer),LOG_DISK):((0==(this.data_pointer+t&(0==(4095&this.data_end)?4095:255))||20>this.data_end)&&dbg_log("Data port: "+h(e>>>0)+" count="+h(this.data_end)+" cur="+h(this.data_pointer),LOG_DISK),1===t?this.data[this.data_pointer++]=e:2===t?(this.data16[this.data_pointer>>>1]=e,this.data_pointer+=2):(this.data32[this.data_pointer>>>2]=e,this.data_pointer+=4),dbg_assert(this.data_pointer<=this.data_end),this.data_pointer===this.data_end&&this.write_end())},IDEInterface.prototype.write_data_port8=function(e){this.write_data_port(e,1)},IDEInterface.prototype.write_data_port16=function(e){this.write_data_port(e,2)},IDEInterface.prototype.write_data_port32=function(e){this.write_data_port(e,4)},IDEInterface.prototype.write_end=function(){160===this.current_command?this.atapi_handle():(dbg_log("write_end data_pointer="+h(this.data_pointer)+" data_length="+h(this.data_length),LOG_DISK),this.data_pointer>=this.data_length?this.do_write():(dbg_assert(48===this.current_command||52===this.current_command),this.status=88,this.data_end+=512,this.push_irq()))},IDEInterface.prototype.ata_advance=function(e,t){dbg_log("Advance sectors="+t+" old_bytecount="+this.bytecount,LOG_DISK),this.bytecount-=t,36===e||41===e||52===e||57===e||37===e||53===e?(e=t+this.get_lba48(),this.sector=255&e|e>>16&65280,this.cylinder_low=e>>8&255,this.cylinder_high=e>>16&255):this.is_lba?(e=t+this.get_lba28(),this.sector=255&e,this.cylinder_low=e>>8&255,this.cylinder_high=e>>16&255,this.head=-16&this.head|15&e):(e=t+this.get_chs(),t=e/(this.head_count*this.sectors_per_track)|0,this.cylinder_low=255&t,this.cylinder_high=t>>8&255,this.head=(e/this.sectors_per_track|0)%this.head_count&15,this.sector=e%this.sectors_per_track+1&255,dbg_assert(e===this.get_chs()))},IDEInterface.prototype.ata_read_sectors=function(e){var t=this,s=36===e||41===e,r=this.get_count(s);s=this.get_lba(s);var i=32===e||36===e,_=r*this.sector_size,a=s*this.sector_size;dbg_log("ATA read cmd="+h(e)+" mode="+(this.is_lba?"lba":"chs")+" lba="+h(s)+" lbacount="+h(r)+" bytecount="+h(_),LOG_DISK),a+_>this.buffer.byteLength?(dbg_assert(!1,"ATA read: Outside of disk",LOG_DISK),this.status=255,this.push_irq()):(this.status=192,this.report_read_start(),this.buffer.get(a,_,function(s){dbg_log("ata_read: Data arrived",LOG_DISK),t.data_set(s),t.status=88,t.data_end=i?512:Math.min(_,512*t.sectors_per_drq),t.ata_advance(e,i?1:Math.min(r,t.sectors_per_track)),t.push_irq(),t.report_read_end(_)}))},IDEInterface.prototype.ata_read_sectors_dma=function(e){var t=37===e;e=this.get_count(t),t=this.get_lba(t);var s=e*this.sector_size,r=t*this.sector_size;dbg_log("ATA DMA read lba="+h(t)+" lbacount="+h(e)+" bytecount="+h(s),LOG_DISK),r+s>this.buffer.byteLength?(dbg_assert(!1,"ATA read: Outside of disk",LOG_DISK),this.status=255,this.push_irq()):(this.status=88,this.device.dma_status|=1)},IDEInterface.prototype.do_ata_read_sectors_dma=function(){var e=this,t=37===this.current_command,s=this.get_count(t);t=this.get_lba(t);var r=s*this.sector_size,i=t*this.sector_size;dbg_assert(tt;t++)e[t]=this.device_spaces[t];return e[256]=this.pci_addr,e[257]=this.pci_value,e[258]=this.pci_response,e[259]=this.pci_status,e},PCI.prototype.set_state=function(e){for(var t=0;256>t;t++){var s=this.devices[t],r=e[t];if(s&&r){for(var i=0;i>3&31,r="query enabled="+(this.pci_addr[3]>>7)+" bdf="+h(e,4);r+=" dev="+h(s,2),r+=" addr="+h(t,2),s=this.device_spaces[e],void 0!==s?(this.pci_status32[0]=-2147483648,this.pci_response32[0]=t>2]:0,r+=" "+h(this.pci_addr32[0]>>>0,8)+" -> "+h(this.pci_response32[0]>>>0,8),t>=s.byteLength&&(r+=" (undef)"),r+=" ("+this.devices[e].name+")",dbg_log(r,LOG_PCI)):(this.pci_response32[0]=-1,this.pci_status32[0]=0)},PCI.prototype.pci_write8=function(e,t){var s=e>>8&65535;e&=255;var r=new Uint8Array(this.device_spaces[s].buffer),i=this.devices[s];r&&(dbg_assert(!(16<=e&&44>e||48<=e&&52>e),"PCI: Expected 32-bit write"),dbg_log("PCI write8 dev="+h(s>>3,2)+" ("+i.name+") addr="+h(e,4)+" value="+h(t,2),LOG_PCI),r[e]=t)},PCI.prototype.pci_write16=function(e,t){dbg_assert(0==(1&e));var s=e>>8&65535;e&=255;var r=new Uint16Array(this.device_spaces[s].buffer),i=this.devices[s];r&&(dbg_assert(!(16<=e&&44>e||48<=e&&52>e),"PCI: Expected 32-bit write"),dbg_log("PCI writ16 dev="+h(s>>3,2)+" ("+i.name+") addr="+h(e,4)+" value="+h(t,4),LOG_PCI),r[e>>>1]=t)},PCI.prototype.pci_write32=function(e,t){dbg_assert(0==(3&e));var s=e>>8&65535;e&=255;var r=this.device_spaces[s],i=this.devices[s];if(r)if(16<=e&&40>e){var _=e-16>>2,a=i.pci_bars[_];dbg_log("BAR"+_+" exists="+(a?"y":"n")+" changed to "+h(t>>>0)+" dev="+h(s>>3,2)+" ("+i.name+") ",LOG_PCI),a?(dbg_assert(!(a.size&a.size-1),"bar size should be power of 2"),s=e>>2,i=1&r[s],-1==(3|t|a.size-1)?(t=~(a.size-1)|i,0===i&&(r[s]=t)):0===i&&(_=a.original_bar,(-16&t)!=(-16&_)&&dbg_log("Warning: Changing memory bar not supported, ignored",LOG_PCI),r[s]=_),1===i&&(dbg_assert(1===i),i=65534&r[s],_=65534&t,dbg_log("io bar changed from "+h(i>>>0,8)+" to "+h(_>>>0,8)+" size="+a.size,LOG_PCI),this.set_io_bars(a,i,_),r[s]=1|t)):r[e>>2]=0,dbg_log("BAR effective value: "+h(r[e>>2]>>>0),LOG_PCI)}else 48===e?(dbg_log("PCI write rom address dev="+h(s>>3,2)+" ("+i.name+") value="+h(t>>>0,8),LOG_PCI),r[e>>2]=i.pci_rom_size?-1==(2047|t)?0|-i.pci_rom_size:0|i.pci_rom_address:0):(dbg_log("PCI write dev="+h(s>>3,2)+" ("+i.name+") addr="+h(e,4)+" value="+h(t>>>0,8),LOG_PCI),r[e>>>2]=t)},PCI.prototype.register_device=function(e){dbg_assert(void 0!==e.pci_id),dbg_assert(void 0!==e.pci_space),dbg_assert(void 0!==e.pci_bars);var t=e.pci_id;dbg_log("PCI register bdf="+h(t)+" ("+e.name+")",LOG_PCI),dbg_assert(!this.devices[t]),dbg_assert(64<=e.pci_space.length),dbg_assert(t>8&255)-1+((e>>3)-1&255)&3)])},PCI.prototype.lower_irq=function(e){var t=this.device_spaces[e];dbg_assert(t),this.cpu.device_lower_irq(this.isa_bridge_space8[96+((t[15]>>8&255)+(e>>3&255)-2&3)])},FloppyController.prototype.get_state=function(){var e=[];return e[0]=this.bytes_expecting,e[1]=this.receiving_command,e[2]=this.receiving_index,e[4]=this.response_data,e[5]=this.response_index,e[6]=this.response_length,e[7]=this.floppy_size,e[8]=this.status_reg0,e[9]=this.status_reg1,e[10]=this.status_reg2,e[11]=this.drive,e[12]=this.last_cylinder,e[13]=this.last_head,e[14]=this.last_sector,e[15]=this.dor,e[16]=this.sectors_per_track,e[17]=this.number_of_heads,e[18]=this.number_of_cylinders,e},FloppyController.prototype.set_state=function(e){this.bytes_expecting=e[0],this.receiving_command=e[1],this.receiving_index=e[2],this.next_command=e[3],this.response_data=e[4],this.response_index=e[5],this.response_length=e[6],this.floppy_size=e[7],this.status_reg0=e[8],this.status_reg1=e[9],this.status_reg2=e[10],this.drive=e[11],this.last_cylinder=e[12],this.last_head=e[13],this.last_sector=e[14],this.dor=e[15],this.sectors_per_track=e[16],this.number_of_heads=e[17],this.number_of_cylinders=e[18]},FloppyController.prototype.port3F0_read=function(){return dbg_log("3F0 read",LOG_FLOPPY),0},FloppyController.prototype.port3F4_read=function(){dbg_log("3F4 read",LOG_FLOPPY);var e=128;return this.response_index>4),LOG_FLOPPY),dbg_log("enable dma: "+!!(8&e),LOG_FLOPPY),dbg_log("reset fdc: "+!!(4&e),LOG_FLOPPY),dbg_log("drive select: "+(3&e),LOG_FLOPPY),dbg_log("DOR = "+h(e),LOG_FLOPPY),this.dor=e},FloppyController.prototype.check_drive_status=function(e){dbg_log("check drive status",LOG_FLOPPY),this.response_index=0,this.response_length=1,this.response_data[0]=32},FloppyController.prototype.seek=function(e){dbg_log("seek",LOG_FLOPPY),dbg_assert(0==(3&e[0]),"Unhandled seek drive"),this.last_cylinder=e[1],this.last_head=e[0]>>2&1,this.raise_irq()},FloppyController.prototype.calibrate=function(e){dbg_log("floppy calibrate",LOG_FLOPPY),this.raise_irq()},FloppyController.prototype.check_interrupt_status=function(){dbg_log("floppy check interrupt status",LOG_FLOPPY),this.response_index=0,this.response_length=2,this.response_data[0]=32,this.response_data[1]=this.last_cylinder},FloppyController.prototype.do_sector=function(e,t){var s=t[2],r=t[1],i=t[3],_=128<this.sectors_per_track&&(r=1,++s>=this.number_of_heads&&(s=0,t++)),this.last_cylinder=t,this.last_head=s,this.last_sector=r,this.response_index=0,this.response_length=7,this.response_data[0]=s<<2|32,this.response_data[1]=0,this.response_data[2]=0,this.response_data[3]=t,this.response_data[4]=s,this.response_data[5]=r,this.response_data[6]=e[4],this.raise_irq())},FloppyController.prototype.fix_drive_data=function(e){dbg_log("floppy fix drive data "+e,LOG_FLOPPY)},FloppyController.prototype.read_sector_id=function(e){dbg_log("floppy read sector id "+e,LOG_FLOPPY),this.response_index=0,this.response_length=7,this.response_data[0]=0,this.response_data[1]=0,this.response_data[2]=0,this.response_data[3]=0,this.response_data[4]=0,this.response_data[5]=0,this.response_data[6]=0,this.raise_irq()},FloppyController.prototype.raise_irq=function(){8&this.dor&&this.cpu.device_raise_irq(6)};var A20_MASK=-1048577,A20_MASK16=-524289,A20_MASK32=-262145,USE_A20=!1;CPU.prototype.debug_write=function(e,t,s){DEBUG&&(dbg_assert("number"==typeof s&&!isNaN(s)),dbg_assert(-2147483648<=s&&2147483648>e),this.debug_read(e,t,!0))},CPU.prototype.debug_read=function(e,t,s){DEBUG&&(dbg_assert("number"==typeof e),dbg_assert(!isNaN(e)))},CPU.prototype.mmap_read8=function(e){return this.memory_map_read8[e>>>MMAP_BLOCK_BITS](e)},CPU.prototype.mmap_write8=function(e,t){this.memory_map_write8[e>>>MMAP_BLOCK_BITS](e,t)},CPU.prototype.mmap_read16=function(e){var t=this.memory_map_read8[e>>>MMAP_BLOCK_BITS];return t(e)|t(e+1|0)<<8},CPU.prototype.mmap_write16=function(e,t){var s=this.memory_map_write8[e>>>MMAP_BLOCK_BITS];s(e,255&t),s(e+1|0,t>>8&255)},CPU.prototype.mmap_read32=function(e){return this.memory_map_read32[e>>>MMAP_BLOCK_BITS](e)},CPU.prototype.mmap_write32=function(e,t){this.memory_map_write32[e>>>MMAP_BLOCK_BITS](e,t)},CPU.prototype.in_mapped_range=function(e){return 655360<=(0|e)&&786432>(0|e)||e>>>0>=this.memory_size>>>0},CPU.prototype.read8=function(e){return this.debug_read(e,1),USE_A20&&!this.a20_enabled&&(e&=A20_MASK),this.in_mapped_range(e)?this.mmap_read8(e):this.mem8[e]},CPU.prototype.read16=function(e){return this.debug_read(e,2),USE_A20&&!this.a20_enabled&&(e&=A20_MASK),this.in_mapped_range(e)?this.mmap_read16(e):this.mem8[e]|this.mem8[e+1|0]<<8},CPU.prototype.read_aligned16=function(e){return dbg_assert(0<=e&&2147483648>e),this.debug_read(e<<1,2),USE_A20&&!this.a20_enabled&&(e&=A20_MASK16),this.in_mapped_range(e<<1)?this.mmap_read16(e<<1):this.mem16[e]},CPU.prototype.read32s=function(e){return this.debug_read(e,4),USE_A20&&!this.a20_enabled&&(e&=A20_MASK),this.in_mapped_range(e)?this.mmap_read32(e):this.mem8[e]|this.mem8[e+1|0]<<8|this.mem8[e+2|0]<<16|this.mem8[e+3|0]<<24},CPU.prototype.read_aligned32=function(e){return dbg_assert(0<=e&&1073741824>e),this.debug_read(e<<2,4),USE_A20&&!this.a20_enabled&&(e&=A20_MASK32),this.in_mapped_range(e<<2)?this.mmap_read32(e<<2):this.mem32s[e]},CPU.prototype.write8=function(e,t){this.debug_write(e,1,t),USE_A20&&!this.a20_enabled&&(e&=A20_MASK),this.in_mapped_range(e)?this.mmap_write8(e,t):this.mem8[e]=t},CPU.prototype.write16=function(e,t){this.debug_write(e,2,t),USE_A20&&!this.a20_enabled&&(e&=A20_MASK),this.in_mapped_range(e)?this.mmap_write16(e,t):(this.mem8[e]=t,this.mem8[e+1|0]=t>>8)},CPU.prototype.write_aligned16=function(e,t){dbg_assert(0<=e&&2147483648>e),this.debug_write(e<<1,2,t),USE_A20&&!this.a20_enabled&&(e&=A20_MASK16),this.in_mapped_range(e<<1)?this.mmap_write16(e<<1,t):this.mem16[e]=t},CPU.prototype.write32=function(e,t){this.debug_write(e,4,t),USE_A20&&!this.a20_enabled&&(e&=A20_MASK),this.in_mapped_range(e)?this.mmap_write32(e,t):(this.mem8[e]=t,this.mem8[e+1|0]=t>>8,this.mem8[e+2|0]=t>>16,this.mem8[e+3|0]=t>>24)},CPU.prototype.write_aligned32=function(e,t){dbg_assert(0<=e&&1073741824>e),this.debug_write(e<<2,4,t),USE_A20&&!this.a20_enabled&&(e&=A20_MASK32),this.in_mapped_range(e<<2)?this.mmap_write32(e<<2,t):this.mem32s[e]=t},CPU.prototype.write_blob=function(e,t){this.debug_write(t,e.length,0),dbg_assert(e&&0<=e.length),this.mem8.set(e,t)},CPU.prototype.write_blob32=function(e,t){dbg_assert(e&&e.length),this.debug_write(t,e.length<<2,0),this.mem32s.set(e,t)},DMA.prototype.get_state=function(){return[this.channel_page,this.channel_pagehi,this.channel_addr,this.channel_addr_init,this.channel_count,this.channel_count_init,this.channel_mask,this.channel_mode,this.lsb_msb_flipflop]},DMA.prototype.set_state=function(e){this.channel_page=e[0],this.channel_pagehi=e[1],this.channel_addr=e[2],this.channel_addr_init=e[3],this.channel_count=e[4],this.channel_count_init=e[5],this.channel_mask=e[6],this.channel_mode=e[7],this.lsb_msb_flipflop=e[8]},DMA.prototype.port_count_write=function(e,t){dbg_log("count write ["+e+"] = "+h(t),LOG_DMA),this.channel_count[e]=this.flipflop_get(this.channel_count[e],t,!1),this.channel_count_init[e]=this.flipflop_get(this.channel_count_init[e],t,!0)},DMA.prototype.port_count_read=function(e){return dbg_log("count read ["+e+"] -> "+h(this.channel_count[e]),LOG_DMA),this.flipflop_read(this.channel_count[e])},DMA.prototype.port_addr_write=function(e,t){dbg_log("addr write ["+e+"] = "+h(t),LOG_DMA),this.channel_addr[e]=this.flipflop_get(this.channel_addr[e],t,!1),this.channel_addr_init[e]=this.flipflop_get(this.channel_addr_init[e],t,!0)},DMA.prototype.port_addr_read=function(e){return dbg_log("addr read ["+e+"] -> "+h(this.channel_addr[e]),LOG_DMA),this.flipflop_read(this.channel_addr[e])},DMA.prototype.port_pagehi_write=function(e,t){dbg_log("pagehi write ["+e+"] = "+h(t),LOG_DMA),this.channel_pagehi[e]=t},DMA.prototype.port_pagehi_read=function(e){return dbg_log("pagehi read ["+e+"]",LOG_DMA),this.channel_pagehi[e]},DMA.prototype.port_page_write=function(e,t){dbg_log("page write ["+e+"] = "+h(t),LOG_DMA),this.channel_page[e]=t},DMA.prototype.port_page_read=function(e){return dbg_log("page read ["+e+"]",LOG_DMA),this.channel_page[e]},DMA.prototype.port_singlemask_write=function(e,t){e=(3&t)+e,t=!!(4&t),dbg_log("singlechannel mask write ["+e+"] = "+t,LOG_DMA),this.update_mask(e,t)},DMA.prototype.port_multimask_write=function(e,t){dbg_log("multichannel mask write: "+h(t),LOG_DMA);for(var s=0;4>s;s++)this.update_mask(e+s,t&1<e.byteLength)dbg_log("DMA read outside of buffer",LOG_DMA),i(!0);else{var o=this.cpu +;this.channel_addr[r]+=_,e.get(t,_,function(e){o.write_blob(e,a),i(!1)})}},DMA.prototype.do_write=function(e,t,s,r,i){var _=this,a=this.channel_count[r]+1&65535,o=5<=r?2:1,n=a*o,d=this.address_get_8bit(r),g=!1,c=!1,p=16&this.channel_mode[r];dbg_log("DMA write channel "+r,LOG_DMA),dbg_log("to "+h(d)+" len "+h(n),LOG_DMA),sn&&(dbg_log("DMA attempted to read more than provided",LOG_DMA),c=!0),t+n>e.byteLength?(dbg_log("DMA write outside of buffer",LOG_DMA),i(!0)):(this.channel_addr[r]+=a,this.channel_count[r]-=a,!g&&p&&(dbg_log("DMA autoinit",LOG_DMA),this.channel_addr[r]=this.channel_addr_init[r],this.channel_count[r]=this.channel_count_init[r]),e.set(t,this.cpu.mem8.subarray(d,d+n),function(){c&&p?(dbg_log("DMA continuing from start",LOG_DMA),_.do_write(e,t+n,s-n,r,i)):i(!1)}))},DMA.prototype.address_get_8bit=function(e){var t=this.channel_addr[e];return 5<=e&&(t<<=1),t=65535&t|this.channel_page[e]<<16,t|=this.channel_pagehi[e]<<24},DMA.prototype.count_get_8bit=function(e){var t=this.channel_count[e]+1;return 5<=e&&(t*=2),t},DMA.prototype.flipflop_get=function(e,t,s){return s||(this.lsb_msb_flipflop^=1),this.lsb_msb_flipflop?-256&e|t:-65281&e|t<<8},DMA.prototype.flipflop_read=function(e){return(this.lsb_msb_flipflop^=1)?255&e:e>>8&255};var OSCILLATOR_FREQ=1193.1816666;PIT.prototype.get_state=function(){var e=[];return e[0]=this.counter_next_low,e[1]=this.counter_enabled,e[2]=this.counter_mode,e[3]=this.counter_read_mode,e[4]=this.counter_latch,e[5]=this.counter_latch_value,e[6]=this.counter_reload,e[7]=this.counter_start_time,e[8]=this.counter_start_value,e},PIT.prototype.set_state=function(e){this.counter_next_low=e[0],this.counter_enabled=e[1],this.counter_mode=e[2],this.counter_read_mode=e[3],this.counter_latch=e[4],this.counter_latch_value=e[5],this.counter_reload=e[6],this.counter_start_time=e[7],this.counter_start_value=e[8]},PIT.prototype.timer=function(e,t){return t||(this.counter_enabled[0]&&this.did_rollover(0,e)?(this.counter_start_value[0]=this.get_counter_value(0,e),this.counter_start_time[0]=e,dbg_log("pit interrupt. new value: "+this.counter_start_value[0],LOG_PIT),this.cpu.device_raise_irq(0),0===this.counter_mode[0]&&(this.counter_enabled[0]=0)):this.cpu.device_lower_irq(0)),0},PIT.prototype.get_counter_value=function(e,t){if(!this.counter_enabled[e])return 0;var s=t-this.counter_start_time[e],r=Math.floor(s*OSCILLATOR_FREQ);return t=this.counter_start_value[e]-r,dbg_log("diff="+s+" dticks="+r+" value="+t+" reload="+this.counter_reload[e],LOG_PIT),s=this.counter_reload[e],t>=s?(dbg_log("Warning: Counter"+e+" value "+t+" is larger than reload "+s,LOG_PIT),t%=s):0>t&&(t=t%s+s),t},PIT.prototype.did_rollover=function(e,t){return t-=this.counter_start_time[e],0>t?(dbg_log("Warning: PIT timer difference is negative, resetting"),!0):this.counter_start_value[e]>8):(t=this.counter_next_low[e],3===this.counter_mode[e]&&(this.counter_next_low[e]^=1),e=this.get_counter_value(e,v86.microtick()),t?255&e:e>>8)},PIT.prototype.counter_write=function(e,t){this.counter_reload[e]=this.counter_next_low[e]?-256&this.counter_reload[e]|t:255&this.counter_reload[e]|t<<8,3===this.counter_read_mode[e]&&this.counter_next_low[e]||(this.counter_reload[e]||(this.counter_reload[e]=65535),this.counter_start_value[e]=this.counter_reload[e],this.counter_enabled[e]=!0,this.counter_start_time[e]=v86.microtick(),dbg_log("counter"+e+" reload="+h(this.counter_reload[e])+" tick="+(this.counter_reload[e]||65536)/OSCILLATOR_FREQ+"ms",LOG_PIT)),3===this.counter_read_mode[e]&&(this.counter_next_low[e]^=1),this.bus.send("pcspeaker-update",[this.counter_mode[2],this.counter_reload[2]])},PIT.prototype.port43_write=function(e){var t=e>>1&7,s=1&e,r=e>>6&3;e=e>>4&3,1===r&&dbg_log("Unimplemented timer1",LOG_PIT),3===r?dbg_log("Unimplemented read back",LOG_PIT):0===e?(this.counter_latch[r]=2,t=this.get_counter_value(r,v86.microtick()),dbg_log("latch: "+t,LOG_PIT),this.counter_latch_value[r]=t?t-1:0):(6<=t&&(t&=-5),dbg_log("Control: mode="+t+" ctr="+r+" read_mode="+e+" bcd="+s,LOG_PIT),this.counter_next_low[r]=1===e?0:1,0===r&&this.cpu.device_lower_irq(0),0!==t&&3!==t&&2!==t&&dbg_log("Unimplemented counter mode: "+h(t),LOG_PIT),this.counter_mode[r]=t,this.counter_read_mode[r]=e,this.bus.send("pcspeaker-update",[this.counter_mode[2],this.counter_reload[2]]))};var VGA_BANK_SIZE=65536,MAX_XRES=2560,MAX_YRES=1600,VGA_LFB_ADDRESS=3758096384,VGA_PLANAR_REAL_BUFFER_START=4*VGA_BANK_SIZE;VGAScreen.prototype.get_state=function(){var e=[];return e[0]=this.vga_memory_size,e[1]=this.cursor_address,e[2]=this.cursor_scanline_start,e[3]=this.cursor_scanline_end,e[4]=this.max_cols,e[5]=this.max_rows,e[6]=this.screen_width,e[7]=this.screen_height,e[8]=this.start_address,e[9]=this.graphical_mode,e[10]=this.vga256_palette,e[11]=this.latch0,e[12]=this.latch1,e[13]=this.latch2,e[14]=this.latch3,e[15]=this.svga_width,e[16]=this.svga_height,e[17]=this.text_mode_width,e[18]=this.svga_enabled,e[19]=this.svga_bpp,e[20]=this.svga_bank_offset,e[21]=this.svga_offset,e[22]=this.index_crtc,e[23]=this.dac_color_index_write,e[24]=this.dac_color_index_read,e[25]=this.dac_map,e[26]=this.sequencer_index,e[27]=this.plane_write_bm,e[28]=this.sequencer_memory_mode,e[29]=this.graphics_index,e[30]=this.plane_read,e[31]=this.planar_mode,e[32]=this.planar_rotate_reg,e[33]=this.planar_bitmap,e[34]=this.max_scan_line,e[35]=this.miscellaneous_output_register,e[36]=this.port_3DA_value,e[37]=this.dispi_index,e[38]=this.dispi_enable_value,e[39]=this.svga_memory,e[40]=this.graphical_mode_is_linear,e[41]=this.attribute_controller_index,e[42]=this.offset_register,e},VGAScreen.prototype.set_state=function(e){this.vga_memory_size=e[0],this.cursor_address=e[1],this.cursor_scanline_start=e[2],this.cursor_scanline_end=e[3],this.max_cols=e[4],this.max_rows=e[5],this.screen_width=e[6],this.screen_height=e[7],this.start_address=e[8],this.graphical_mode=e[9],this.vga256_palette=e[10],this.latch0=e[11],this.latch1=e[12],this.latch2=e[13],this.latch3=e[14],this.svga_width=e[15],this.svga_height=e[16],this.text_mode_width=e[17],this.svga_enabled=e[18],this.svga_bpp=e[19],this.svga_bank_offset=e[20],this.svga_offset=e[21],this.index_crtc=e[22],this.dac_color_index_write=e[23],this.dac_color_index_read=e[24],this.dac_map=e[25],this.sequencer_index=e[26],this.plane_write_bm=e[27],this.sequencer_memory_mode=e[28],this.graphics_index=e[29],this.plane_read=e[30],this.planar_mode=e[31],this.planar_rotate_reg=e[32],this.planar_bitmap=e[33],this.max_scan_line=e[34],this.miscellaneous_output_register=e[35],this.port_3DA_value=e[36],this.dispi_index=e[37],this.dispi_enable_value=e[38],this.svga_memory.set(e[39]),this.graphical_mode_is_linear=e[40],this.attribute_controller_index=e[41],this.offset_register=e[42],this.bus.send("screen-set-mode",this.graphical_mode),this.graphical_mode?this.set_size_graphical(this.svga_width,this.svga_height,this.svga_bpp):(this.set_size_text(this.max_cols,this.max_rows),this.update_cursor_scanline(),this.update_cursor()),this.complete_redraw()},VGAScreen.prototype.vga_memory_read=function(e){return e-=655360,!this.graphical_mode||this.graphical_mode_is_linear?(e|=this.svga_bank_offset,this.svga_memory[e]):(e&=65535,this.latch0=this.plane0[e],this.latch1=this.plane1[e],this.latch2=this.plane2[e],this.latch3=this.plane3[e],this.vga_memory[this.plane_read<<16|e])},VGAScreen.prototype.vga_memory_write=function(e,t){e-=655360,this.graphical_mode?this.graphical_mode_is_linear?this.vga_memory_write_graphical_linear(e,t):this.vga_memory_write_graphical_planar(e,t):this.vga_memory_write_text_mode(e,t)},VGAScreen.prototype.vga_memory_write_graphical_linear=function(e,t){e|=this.svga_bank_offset,this.diff_addr_min=ethis.diff_addr_max?e:this.diff_addr_max,this.svga_memory[e]=t},VGAScreen.prototype.vga_memory_write_graphical_planar=function(e,t){if(!(65535=this.screen_width*this.screen_height<<3))for(s<<=1,r<<=2,i<<=3,e=e<<3|7,t=e+VGA_PLANAR_REAL_BUFFER_START,this.diff_addr_min=t-7this.diff_addr_max?t:this.diff_addr_max,t=0;8>t;t++)this.svga_memory[e+VGA_PLANAR_REAL_BUFFER_START]=this.dac_map[a>>t&1|s>>t&2|r>>t&4|i>>t&8],e--}},VGAScreen.prototype.text_mode_redraw=function(){for(var e=98304|this.start_address<<1,t,s,r=0;r>4&15],this.vga256_palette[15&s]]),e+=2},VGAScreen.prototype.vga_memory_write_text_mode=function(e,t){if(!(98304>e)){var s=(e-98304>>1)-this.start_address,r=s/this.max_cols|0;if(s%=this.max_cols,1&e)var i=t,_=this.vga_memory[-2&e];else _=t,i=this.vga_memory[1|e];this.bus.send("screen-put-char",[r,s,_,this.vga256_palette[i>>4&15],this.vga256_palette[15&i]]),this.vga_memory[e]=t}},VGAScreen.prototype.update_cursor=function(){var e=(this.cursor_address-this.start_address)/this.max_cols|0,t=(this.cursor_address-this.start_address)%this.max_cols;e=Math.min(this.max_rows-1,e),this.bus.send("screen-update-cursor",[e,t])},VGAScreen.prototype.svga_memory_read8=function(e){return this.svga_memory[268435455&e]},VGAScreen.prototype.svga_memory_read32=function(e){return e&=268435455,3&e?this.svga_memory[e]|this.svga_memory[e+1]<<8|this.svga_memory[e+2]<<16|this.svga_memory[e+3]<<24:this.svga_memory32[e>>2]},VGAScreen.prototype.svga_memory_write8=function(e,t){e&=268435455,this.svga_memory[e]=t,this.diff_addr_min=ethis.diff_addr_max?e:this.diff_addr_max},VGAScreen.prototype.svga_memory_write32=function(e,t){e&=268435455,this.diff_addr_min=ethis.diff_addr_max?e+3:this.diff_addr_max,this.svga_memory[e]=t,this.svga_memory[e+1]=t>>8,this.svga_memory[e+2]=t>>16,this.svga_memory[e+3]=t>>24},VGAScreen.prototype.complete_redraw=function(){dbg_log("complete redraw",LOG_VGA),this.graphical_mode?(this.diff_addr_min=0,this.diff_addr_max=this.vga_memory_size):this.text_mode_redraw()},VGAScreen.prototype.destroy=function(){},VGAScreen.prototype.set_size_text=function(e,t){this.max_cols=e,this.max_rows=t,this.bus.send("screen-set-size-text",[e,t])},VGAScreen.prototype.set_size_graphical=function(e,t,s){this.screen_width=e,this.screen_height=t,this.stats.bpp=s,this.stats.is_graphical=!0,this.stats.res_x=e,this.stats.res_y=t,this.bus.send("screen-set-size-graphical",[e,t,s])},VGAScreen.prototype.update_cursor_scanline=function(){this.bus.send("screen-update-cursor-scanline",[this.cursor_scanline_start,this.cursor_scanline_end])},VGAScreen.prototype.set_video_mode=function(e){var t=!1,s=0,r=0;switch(e){case 102:this.set_size_text(110,46);break;case 3:this.set_size_text(this.text_mode_width,25);break;case 16:s=640,r=350,t=!0,this.graphical_mode_is_linear=!1;break;case 18:s=640,r=480,t=!0,this.graphical_mode_is_linear=!1;break;case 19:s=320,r=200,this.graphical_mode_is_linear=t=!0}this.bus.send("screen-set-mode",t),(this.stats.is_graphical=t)&&(this.svga_width=s,this.svga_height=r,this.set_size_graphical(s,r,8)),this.graphical_mode=t,dbg_log("Current video mode: "+h(e),LOG_VGA)},VGAScreen.prototype.port3C0_write=function(e){-1===this.attribute_controller_index?this.attribute_controller_index=e:(16>this.attribute_controller_index?this.dac_map[this.attribute_controller_index]=e:dbg_log("3C0 / attribute controller write "+h(this.attribute_controller_index)+": "+h(e),LOG_VGA),this.attribute_controller_index=-1)},VGAScreen.prototype.port3C0_read=function(){dbg_log("3C0 read",LOG_VGA);var e=this.attribute_controller_index;return this.attribute_controller_index=-1,e},VGAScreen.prototype.port3C0_read16=function(){return dbg_log("3C0 read16",LOG_VGA),255&this.port3C0_read()|this.port3C1_read()<<8&65280},VGAScreen.prototype.port3C1_read=function(){return this.attribute_controller_index=-1,dbg_log("3C1 / attribute controller read "+h(this.attribute_controller_index),LOG_VGA),-1},VGAScreen.prototype.port3C2_write=function(e){dbg_log("3C2 / miscellaneous output register = "+h(e),LOG_VGA),this.miscellaneous_output_register=e,this.switch_video_mode(e)},VGAScreen.prototype.port3C4_write=function(e){this.sequencer_index=e},VGAScreen.prototype.port3C4_read=function(){return this.sequencer_index},VGAScreen.prototype.port3C5_write=function(e){switch(this.sequencer_index){case 2:this.plane_write_bm=e;break;case 4:dbg_log("sequencer memory mode: "+h(e),LOG_VGA),this.sequencer_memory_mode=e;break;default:dbg_log("3C5 / sequencer write "+h(this.sequencer_index)+": "+h(e),LOG_VGA)}},VGAScreen.prototype.port3C5_read=function(){switch(dbg_log("3C5 / sequencer read "+h(this.sequencer_index),LOG_VGA),this.sequencer_index){case 2:return this.plane_write_bm;case 4:return this.sequencer_memory_mode;case 6:return 18}return 0},VGAScreen.prototype.port3C7_write=function(e){dbg_log("3C7 write: "+h(e),LOG_VGA),this.dac_color_index_read=3*e},VGAScreen.prototype.port3C8_write=function(e){this.dac_color_index_write=3*e},VGAScreen.prototype.port3C9_write=function(e){var t=this.dac_color_index_write/3|0,s=this.dac_color_index_write%3,r=this.vga256_palette[t];e=255*e/63&255,0===s?r=-16711681&r|e<<16:1===s?r=-65281&r|e<<8:(r=-256&r|e,dbg_log("dac set color, index="+h(t)+" value="+h(r),LOG_VGA)),this.vga256_palette[t]=r,this.dac_color_index_write++},VGAScreen.prototype.port3C9_read=function(){dbg_log("3C9 read",LOG_VGA);var e=this.dac_color_index_read%3,t=this.vga256_palette[this.dac_color_index_read/3|0];return this.dac_color_index_read++,(t>>8*(2-e)&255)/255*63|0},VGAScreen.prototype.port3CC_read=function(){return dbg_log("3CC read",LOG_VGA),this.miscellaneous_output_register},VGAScreen.prototype.port3CE_write=function(e){this.graphics_index=e},VGAScreen.prototype.port3CE_read=function(){return this.graphics_index},VGAScreen.prototype.port3CF_write=function(e){switch(this.graphics_index){case 3:this.planar_rotate_reg=e,dbg_log("plane rotate: "+h(e),LOG_VGA);break;case 4:this.plane_read=e,dbg_log("plane read: "+h(e),LOG_VGA);break;case 5:this.planar_mode=e,dbg_log("planar mode: "+h(e),LOG_VGA);break;case 8:this.planar_bitmap=e,dbg_log("planar bitmap: "+h(e),LOG_VGA);break;default:dbg_log("3CF / graphics write "+h(this.graphics_index)+": "+h(e),LOG_VGA)}},VGAScreen.prototype.port3CF_read=function(){switch(dbg_log("3CF / graphics read "+h(this.graphics_index),LOG_VGA),this.graphics_index){case 3:return this.planar_rotate_reg;case 4:return this.plane_read;case 5:return this.planar_mode;case 8:return this.planar_bitmap}return 0},VGAScreen.prototype.port3D4_write=function(e){this.index_crtc=e},VGAScreen.prototype.port3D5_write=function(e){switch(this.index_crtc){case 2:this.text_mode_width=e;break;case 9:this.max_scan_line=e,7==(31&e)?this.set_size_text(this.text_mode_width,50):this.set_size_text(this.text_mode_width,25);break;case 10:this.cursor_scanline_start=e,this.update_cursor_scanline();break;case 11:this.cursor_scanline_end=e,this.update_cursor_scanline();break;case 12:this.previous_start_address=this.start_address,this.start_address=255&this.start_address|e<<8,this.complete_redraw();break;case 13:this.start_address=65280&this.start_address|e,this.start_address-this.previous_start_address&&this.complete_redraw(),dbg_log("start addr: "+h(this.start_address,4),LOG_VGA);break;case 14:this.cursor_address=255&this.cursor_address|e<<8,this.update_cursor();break;case 15:this.cursor_address=65280&this.cursor_address|e,this.update_cursor();break;case 19:this.offset_register=e;break;default:this.index_crtc>8;case 14:return this.cursor_address>>8;case 15:return 255&this.cursor_address;case 1:return 80;case 18:return 50;case 19:return this.offset_register}return this.index_crtcMAX_XRES&&(dbg_log("svga_width reduced from "+this.svga_width+" to "+MAX_XRES,LOG_VGA),this.svga_width=MAX_XRES);break;case 2:this.svga_height=e,this.svga_height>MAX_YRES&&(dbg_log("svga_height reduced from "+this.svga_height+" to "+MAX_YRES,LOG_VGA),this.svga_height=MAX_YRES);break;case 3:this.svga_bpp=e;break;case 4:this.svga_enabled=1==(1&e),this.dispi_enable_value=e;break;case 5:this.svga_bank_offset=e<<16;break;case 9:this.svga_offset=e*this.svga_bytes_per_line(),dbg_log("SVGA offset: "+h(this.svga_offset)+" y="+h(e),LOG_VGA),this.complete_redraw()}!this.svga_enabled||this.svga_width&&this.svga_height||(dbg_log("SVGA: disabled because of invalid width/height: "+this.svga_width+"x"+this.svga_height,LOG_VGA),this.svga_enabled=!1),dbg_assert(4!==this.svga_bpp,"unimplemented svga bpp: 4"),dbg_assert(15!==this.svga_bpp,"unimplemented svga bpp: 15"),dbg_assert(4===this.svga_bpp||8===this.svga_bpp||15===this.svga_bpp||16===this.svga_bpp||24===this.svga_bpp||32===this.svga_bpp,"unexpected svga bpp: "+this.svga_bpp),dbg_log("SVGA: enabled="+this.svga_enabled+", "+this.svga_width+"x"+this.svga_height+"x"+this.svga_bpp,LOG_VGA),this.svga_enabled&&4===this.dispi_index&&(this.set_size_graphical(this.svga_width,this.svga_height,this.svga_bpp),this.bus.send("screen-set-mode",!0),this.graphical_mode_is_linear=this.graphical_mode=!0),this.svga_enabled||(this.svga_bank_offset=0)},VGAScreen.prototype.port1CF_read=function(){return dbg_log("1CF / dispi read "+h(this.dispi_index),LOG_VGA),this.svga_register_read(this.dispi_index)},VGAScreen.prototype.svga_register_read=function(e){switch(e){case 0:return 45248;case 1:return 2&this.dispi_enable_value?MAX_XRES:this.svga_width;case 2:return 2&this.dispi_enable_value?MAX_YRES:this.svga_height;case 3:return 2&this.dispi_enable_value?32:this.svga_bpp;case 4:return this.dispi_enable_value;case 5:return this.svga_bank_offset>>>16;case 6:return this.screen_width?this.screen_width:1;case 8:return 0;case 10:return this.vga_memory_size/VGA_BANK_SIZE|0}return 255},VGAScreen.prototype.screen_fill_buffer=function(){if(this.graphical_mode)if(this.dest_buffer){if(!(this.diff_addr_max>2,a=1+(i>>2);for(t=_;t>16&255|65280&i|4278190080;break;case 24:_=r/3|0,a=1+(i/3|0);var o=3*_;for(t=_;o>1,a=1+(i>>1),t=_;t>11)/31|0,e=255*(i>>5&63)/63|0,n=255*(31&i)/31|0,s[t]=n<<16|e<<8|r|4278190080;break;case 8:for(_=r-e,a=i-e+1,t=r;t>16|4278190080;break;default:dbg_assert(!1,"Unsupported BPP: "+t)}this.diff_addr_min=this.vga_memory_size,this.diff_addr_max=0,this.bus.send("screen-fill-buffer-end",[_,a])}}else dbg_log("Cannot fill buffer: No destination buffer",LOG_VGA)},PS2.prototype.get_state=function(){var e=[];return e[0]=this.enable_mouse_stream,e[1]=this.use_mouse,e[2]=this.have_mouse,e[3]=this.mouse_delta_x,e[4]=this.mouse_delta_y,e[5]=this.mouse_clicks,e[6]=this.have_keyboard,e[7]=this.enable_keyboard_stream,e[8]=this.next_is_mouse_command,e[9]=this.next_read_sample,e[10]=this.next_read_led,e[11]=this.next_handle_scan_code_set,e[12]=this.next_read_rate,e[13]=this.next_read_resolution,e[15]=this.last_port60_byte,e[16]=this.sample_rate,e[17]=this.resolution,e[18]=this.scaling2,e[20]=this.command_register,e[21]=this.read_output_register,e[22]=this.read_command_register,e},PS2.prototype.set_state=function(e){this.enable_mouse_stream=e[0],this.use_mouse=e[1],this.have_mouse=e[2],this.mouse_delta_x=e[3],this.mouse_delta_y=e[4],this.mouse_clicks=e[5],this.have_keyboard=e[6],this.enable_keyboard_stream=e[7],this.next_is_mouse_command=e[8],this.next_read_sample=e[9],this.next_read_led=e[10],this.next_handle_scan_code_set=e[11],this.next_read_rate=e[12],this.next_read_resolution=e[13],this.last_port60_byte=e[15],this.sample_rate=e[16],this.resolution=e[17],this.scaling2=e[18],this.command_register=e[20],this.read_output_register=e[21],this.read_command_register=e[22],this.bus.send("mouse-enable",this.use_mouse)},PS2.prototype.mouse_irq=function(){2&this.command_register&&this.cpu.device_raise_irq(12)},PS2.prototype.kbd_irq=function(){1&this.command_register&&this.cpu.device_raise_irq(1)},PS2.prototype.kbd_send_code=function(e){this.enable_keyboard_stream&&(this.kbd_buffer.push(e),this.kbd_irq())},PS2.prototype.mouse_send_delta=function(e,t){if(this.have_mouse&&this.use_mouse){var s=this.resolution*this.sample_rate/80;this.mouse_delta_x+=e*s,this.mouse_delta_y+=t*s,this.enable_mouse_stream&&(e=0|this.mouse_delta_x,t=0|this.mouse_delta_y,e||t)&&(Date.now(),this.mouse_delta_x-=e,this.mouse_delta_y-=t,this.send_mouse_packet(e,t))}},PS2.prototype.mouse_send_click=function(e,t,s){this.have_mouse&&this.use_mouse&&(this.mouse_clicks=e|s<<1|t<<2,this.enable_mouse_stream&&this.send_mouse_packet(0,0))},PS2.prototype.send_mouse_packet=function(e,t){var s=(0>t)<<5|(0>e)<<4|8|this.mouse_clicks;this.last_mouse_packet=Date.now(),this.mouse_buffer.push(s),this.mouse_buffer.push(e),this.mouse_buffer.push(t),dbg_log("adding mouse packets: "+[s,e,t],LOG_PS2),this.mouse_irq()},PS2.prototype.apply_scaling2=function(e){var t=e>>31;switch(Math.abs(e)){case 0:case 1:case 3:return e;case 2:return t;case 4:return 6*t;case 5:return 9*t;default:return e<<1}},PS2.prototype.next_byte_is_aux=function(){return this.mouse_buffer.length&&!this.kbd_buffer.length},PS2.prototype.port60_read=function(){return this.kbd_buffer.length||this.mouse_buffer.length?(this.next_byte_is_aux()?(this.cpu.device_lower_irq(12),this.last_port60_byte=this.mouse_buffer.shift(),dbg_log("Port 60 read (mouse): "+h(this.last_port60_byte),LOG_PS2),1<=this.mouse_buffer.length&&this.mouse_irq()):(this.cpu.device_lower_irq(1),this.last_port60_byte=this.kbd_buffer.shift(),dbg_log("Port 60 read (kbd) : "+h(this.last_port60_byte),LOG_PS2),1<=this.kbd_buffer.length&&this.kbd_irq()),this.last_port60_byte):(dbg_log("Port 60 read: Empty",LOG_PS2),this.last_port60_byte)},PS2.prototype.port64_read=function(){var e=16;return(this.mouse_buffer.length||this.kbd_buffer.length)&&(e|=1),this.next_byte_is_aux()&&(e|=32),dbg_log("port 64 read: "+h(e),LOG_PS2),e},PS2.prototype.port60_write=function(e){if(dbg_log("port 60 write: "+h(e),LOG_PS2),this.read_command_register)this.command_register=e,this.read_command_register=!1,dbg_log("Keyboard command register = "+h(this.command_register),LOG_PS2);else if(this.read_output_register)this.read_output_register=!1,this.mouse_buffer.clear(),this.mouse_buffer.push(e),this.mouse_irq();else if(this.next_read_sample)this.next_read_sample=!1,this.mouse_buffer.clear(),this.mouse_buffer.push(250),this.sample_rate=e,dbg_log("mouse sample rate: "+h(e),LOG_PS2),this.sample_rate||(dbg_log("invalid sample rate, reset to 100",LOG_PS2),this.sample_rate=100),this.mouse_irq();else if(this.next_read_resolution)this.next_read_resolution=!1,this.mouse_buffer.clear(),this.mouse_buffer.push(250),3>5;1===t?(this.isr&=this.isr-1,dbg_log("new isr: "+h(this.isr,2),LOG_PIC)):3===t?this.isr&=~(1<<(7&e)):192==(200&e)?dbg_log("lowest priority: "+h(7&e),LOG_PIC):(dbg_log("Unknown eoi: "+h(e),LOG_PIC),dbg_assert(!1),this.isr&=this.isr-1),this.check_irqs()}},PIC.prototype.port20_read=function(){return this.read_isr?(dbg_log("read port 20h (isr): "+h(this.isr),LOG_PIC),this.isr):(dbg_log("read port 20h (irr): "+h(this.irr),LOG_PIC),this.irr)},PIC.prototype.port21_write=function(e){0===this.state?this.expect_icw4?(this.expect_icw4=!1,this.auto_eoi=2&e,dbg_log("icw4: "+h(e)+" autoeoi="+this.auto_eoi,LOG_PIC),0==(1&e)&&dbg_assert(!1,"unimplemented: not 8086 mode",LOG_PIC)):(this.irq_mask=~e,PIC_LOG_VERBOSE&&dbg_log("interrupt mask: "+(255&this.irq_mask).toString(2)+" ("+this.name+")",LOG_PIC),this.check_irqs()):1===this.state?(this.irq_map=e,dbg_log("interrupts are mapped to "+h(this.irq_map)+" ("+this.name+")",LOG_PIC),this.state++):2===this.state&&(this.state=0,dbg_log("icw3: "+h(e),LOG_PIC))},PIC.prototype.port21_read=function(){return dbg_log("21h read "+h(255&~this.irq_mask),LOG_PIC),255&~this.irq_mask},PIC.prototype.port4D0_read=function(){return dbg_log("elcr read: "+h(this.elcr,2),LOG_PIC),this.elcr},PIC.prototype.port4D0_write=function(e){dbg_log("elcr write: "+h(e,2),LOG_PIC),this.elcr=e} +;var CMOS_RTC_SECONDS_ALARM=1,CMOS_RTC_MINUTES_ALARM=3,CMOS_RTC_HOURS_ALARM=5,CMOS_RTC_DAY_WEEK=6,CMOS_RESET_CODE=15,CMOS_FLOPPY_DRIVE_TYPE=16,CMOS_DISK_DATA=18,CMOS_EQUIPMENT_INFO=20,CMOS_MEM_BASE_LOW=21,CMOS_MEM_BASE_HIGH=22,CMOS_MEM_OLD_EXT_LOW=23,CMOS_MEM_OLD_EXT_HIGH=24,CMOS_DISK_DRIVE1_TYPE=25,CMOS_DISK_DRIVE2_TYPE=26,CMOS_DISK_DRIVE1_CYL=27,CMOS_DISK_DRIVE2_CYL=36,CMOS_MEM_EXTMEM_LOW=48,CMOS_MEM_EXTMEM_HIGH=49,CMOS_MEM_EXTMEM2_LOW=52,CMOS_MEM_EXTMEM2_HIGH=53,CMOS_BIOS_BOOTFLAG1=56,CMOS_BIOS_DISKTRANSFLAG=57,CMOS_BIOS_BOOTFLAG2=61,CMOS_MEM_HIGHMEM_LOW=91,CMOS_MEM_HIGHMEM_MID=92,CMOS_MEM_HIGHMEM_HIGH=93,CMOS_BIOS_SMP_COUNT=95;RTC.prototype.get_state=function(){var e=[];return e[0]=this.cmos_index,e[1]=this.cmos_data,e[2]=this.rtc_time,e[3]=this.last_update,e[4]=this.next_interrupt,e[6]=this.periodic_interrupt,e[7]=this.periodic_interrupt_time,e[8]=this.cmos_a,e[9]=this.cmos_b,e[10]=this.cmos_c,e[11]=this.nmi_disabled,e},RTC.prototype.set_state=function(e){this.cmos_index=e[0],this.cmos_data=e[1],this.rtc_time=e[2],this.last_update=e[3],this.next_interrupt=e[4],this.periodic_interrupt=e[6],this.periodic_interrupt_time=e[7],this.cmos_a=e[8],this.cmos_b=e[9],this.cmos_c=e[10],this.nmi_disabled=e[11]},RTC.prototype.timer=function(e,t){return e=Date.now(),this.rtc_time+=e-this.last_update,this.last_update=e,this.periodic_interrupt&&this.next_interrupt>(15&this.cmos_a)-1),dbg_log("Periodic interrupt, a="+h(this.cmos_a,2)+" t="+this.periodic_interrupt_time,LOG_RTC);break;case 11:this.cmos_b=e,64&this.cmos_b&&(this.next_interrupt=Date.now()),32&this.cmos_b&&dbg_log("Unimplemented: alarm interrupt",LOG_RTC),16&this.cmos_b&&dbg_log("Unimplemented: updated interrupt",LOG_RTC),dbg_log("cmos b="+h(this.cmos_b,2),LOG_RTC);break;default:dbg_log("cmos write index "+h(this.cmos_index)+": "+h(e),LOG_RTC)}this.periodic_interrupt=64==(64&this.cmos_b)&&0<(15&this.cmos_a)},RTC.prototype.cmos_read=function(e){return dbg_assert(128>e),this.cmos_data[e]},RTC.prototype.cmos_write=function(e,t){dbg_log("cmos "+h(e)+" <- "+h(t),LOG_RTC),dbg_assert(128>e),this.cmos_data[e]=t};var DLAB=128,UART_IIR_MSI=0,UART_IIR_NO_INT=1,UART_IIR_THRI=2,UART_IIR_RDI=4,UART_IIR_RLSI=6,UART_IIR_CTI=12,UART_LSR_DATA_READY=1,UART_LSR_TX_EMPTY=32,UART_LSR_TRANSMITTER_EMPTY=64;UART.prototype.get_state=function(){var e=[];return e[0]=this.ints,e[1]=this.baud_rate,e[2]=this.line_control,e[3]=this.lsr,e[4]=this.fifo_control,e[5]=this.ier,e[6]=this.iir,e[7]=this.modem_control,e[8]=this.modem_status,e[9]=this.scratch_register,e[10]=this.irq,e},UART.prototype.set_state=function(e){this.ints=e[0],this.baud_rate=e[1],this.line_control=e[2],this.lsr=e[3],this.fifo_control=e[4],this.ier=e[5],this.iir=e[6],this.modem_control=e[7],this.modem_status=e[8],this.scratch_register=e[9],this.irq=e[10]},UART.prototype.CheckInterrupt=function(){this.ints&1<>4,dbg_log("Read isr "+e+": "+h(this.isr[e]>>>0,8),LOG_APIC),this.isr[e];case 384:case 400:case 416:case 432:case 448:case 464:case 480:case 496:return e=e-384>>4,dbg_log("Read tmr "+e+": "+h(this.tmr[e]>>>0,8),LOG_APIC),this.tmr[e];case 512:case 528:case 544:case 560:case 576:case 592:case 608:case 624:return e=e-512>>4,dbg_log("Read irr "+e+": "+h(this.irr[e]>>>0,8),LOG_APIC),this.irr[e];case 640:return dbg_log("Read error: "+h(this.read_error>>>0,8),LOG_APIC),this.read_error;case 768:return APIC_LOG_VERBOSE&&dbg_log("APIC read icr0",LOG_APIC),this.icr0;case 784:return dbg_log("APIC read icr1",LOG_APIC),this.icr1;case 800:return dbg_log("read timer lvt",LOG_APIC),this.lvt_timer;case 832:return dbg_log("read lvt perf counter",LOG_APIC),this.lvt_perf_counter;case 848:return dbg_log("read lvt int0",LOG_APIC),this.lvt_int0;case 864:return dbg_log("read lvt int1",LOG_APIC),this.lvt_int1;case 880:return dbg_log("read lvt error",LOG_APIC),this.lvt_error;case 992:return dbg_log("read timer divider",LOG_APIC),this.timer_divider;case 896:return dbg_log("read timer initial count",LOG_APIC),this.timer_initial_count;case 912:return dbg_log("read timer current count: "+h(this.timer_current_count>>>0,8),LOG_APIC),this.timer_current_count;default:return dbg_log("APIC read "+h(e),LOG_APIC),dbg_assert(!1),0}},APIC.prototype.write32=function(e,t){switch(e=e-APIC_ADDRESS|0){case 48:dbg_log("APIC write version: "+h(t>>>0,8)+", ignored",LOG_APIC);break;case 128:APIC_LOG_VERBOSE&&dbg_log("Set tpr: "+h(255&t,2),LOG_APIC),this.tpr=255&t,this.check_vector();break;case 176:e=this.highest_isr(),-1!==e?(APIC_LOG_VERBOSE&&dbg_log("eoi: "+h(t>>>0,8)+" for vector "+h(e),LOG_APIC),this.register_clear_bit(this.isr,e),this.register_get_bit(this.tmr,e)&&this.cpu.devices.ioapic.remote_eoi(e),this.check_vector()):dbg_log("Bad eoi: No isr set",LOG_APIC);break;case 208:dbg_log("Set local destination: "+h(t>>>0,8),LOG_APIC),this.local_destination=4278190080&t;break;case 224:dbg_log("Set destination format: "+h(t>>>0,8),LOG_APIC),this.destination_format=16777215|t;break;case 240:dbg_log("Set spurious vector: "+h(t>>>0,8),LOG_APIC),this.spurious_vector=t;break;case 640:dbg_log("Write error: "+h(t>>>0,8),LOG_APIC),this.read_error=this.error,this.error=0;break;case 768:e=255&t;var s=t>>8&7,r=t>>11&1,i=t>>15&1,_=t>>18&3,a=this.icr1>>>24;dbg_log("APIC write icr0: "+h(t,8)+" vector="+h(e,2)+" destination_mode="+DESTINATION_MODES[r]+" delivery_mode="+DELIVERY_MODES[s]+" destination_shorthand="+["no","self","all with self","all without self"][_],LOG_APIC),this.icr0=-4097&t,0===_?this.route(e,s,i,a,r):1===_?this.deliver(e,IOAPIC_DELIVERY_FIXED,i):2===_?this.deliver(e,s,i):3!==_&&dbg_assert(!1);break;case 784:dbg_log("APIC write icr1: "+h(t>>>0,8),LOG_APIC),this.icr1=t;break;case 800:dbg_log("timer lvt: "+h(t>>>0,8),LOG_APIC),this.lvt_timer=t;break;case 832:dbg_log("lvt perf counter: "+h(t>>>0,8),LOG_APIC),this.lvt_perf_counter=t;break;case 848:dbg_log("lvt int0: "+h(t>>>0,8),LOG_APIC),this.lvt_int0=t;break;case 864:dbg_log("lvt int1: "+h(t>>>0,8),LOG_APIC),this.lvt_int1=t;break;case 880:dbg_log("lvt error: "+h(t>>>0,8),LOG_APIC),this.lvt_error=t;break;case 992:dbg_log("timer divider: "+h(t>>>0,8),LOG_APIC),this.timer_divider=t,t=3&t|(8&t)>>1,this.timer_divider_shift=7===t?0:t+1;break;case 896:dbg_log("timer initial: "+h(t>>>0,8),LOG_APIC),this.timer_initial_count=t>>>0,this.timer_current_count=t>>>0,this.next_tick=v86.microtick(),this.timer_active=!0;break;case 912:dbg_log("timer current: "+h(t>>>0,8),LOG_APIC),dbg_assert(!1,"read-only register");break;default:dbg_log("APIC write32 "+h(e)+" <- "+h(t>>>0,8),LOG_APIC),dbg_assert(!1)}},APIC.prototype.timer=function(e){0!==this.timer_current_count&&0!=(e=(e-this.next_tick)*TSC_RATE/(1<>>0)&&(this.next_tick+=e/TSC_RATE*(1<=this.timer_current_count&&(e=393216&this.lvt_timer,131072===e?(this.timer_current_count=this.timer_initial_count,0==(this.lvt_timer&IOAPIC_CONFIG_MASKED)&&this.deliver(255&this.lvt_timer,IOAPIC_DELIVERY_FIXED,!1)):0===e&&(this.timer_current_count=0,dbg_log("APIC timer one shot end",LOG_APIC),0==(this.lvt_timer&IOAPIC_CONFIG_MASKED)&&this.deliver(255&this.lvt_timer,IOAPIC_DELIVERY_FIXED,!1))))},APIC.prototype.route=function(e,t,s,r,i){this.deliver(e,t,s)},APIC.prototype.deliver=function(e,t,s){APIC_LOG_VERBOSE&&dbg_log("Deliver "+h(e,2)+" mode="+t+" level="+s,LOG_APIC),t!==IOAPIC_DELIVERY_INIT&&t!==IOAPIC_DELIVERY_NMI&&((16>e||255===e)&&dbg_assert(!1,"TODO: Invalid vector"),this.register_get_bit(this.irr,e)?dbg_log("Not delivered: irr already set, vector="+h(e,2),LOG_APIC):(this.register_set_bit(this.irr,e),s?this.register_set_bit(this.tmr,e):this.register_clear_bit(this.tmr,e),this.check_vector()))},APIC.prototype.highest_irr=function(){var e=this.register_get_highest_bit(this.irr);return dbg_assert(255!==e),dbg_assert(16<=e||-1===e),e},APIC.prototype.highest_isr=function(){var e=this.register_get_highest_bit(this.isr);return dbg_assert(255!==e),dbg_assert(16<=e||-1===e),e},APIC.prototype.check_vector=function(){var e=this.highest_irr();if(-1!==e){var t=this.highest_isr();t>=e?APIC_LOG_VERBOSE&&dbg_log("Higher isr, isr="+h(t)+" irr="+h(e),LOG_APIC):(240&e)<=(240&this.tpr)?APIC_LOG_VERBOSE&&dbg_log("Higher tpr, tpr="+h(240&this.tpr)+" irr="+h(e),LOG_APIC):this.cpu.handle_irqs()}},APIC.prototype.acknowledge_irq=function(){var e=this.highest_irr();if(-1!==e){var t=this.highest_isr();t>=e?APIC_LOG_VERBOSE&&dbg_log("Higher isr, isr="+h(t)+" irr="+h(e),LOG_APIC):(240&e)<=(240&this.tpr)?APIC_LOG_VERBOSE&&dbg_log("Higher tpr, tpr="+h(240&this.tpr)+" irr="+h(e),LOG_APIC):(this.register_clear_bit(this.irr,e),this.register_set_bit(this.isr,e),APIC_LOG_VERBOSE&&dbg_log("Calling vector "+h(e),LOG_APIC),this.cpu.pic_call_irq(e),this.check_vector())}},APIC.prototype.get_state=function(){var e=[];return e[0]=this.apic_id,e[1]=this.timer_divider,e[2]=this.timer_divider_shift,e[3]=this.timer_initial_count,e[4]=this.timer_current_count,e[5]=this.next_tick,e[6]=this.lvt_timer,e[7]=this.lvt_perf_counter,e[8]=this.lvt_int0,e[9]=this.lvt_int1,e[10]=this.lvt_error,e[11]=this.tpr,e[12]=this.icr0,e[13]=this.icr1,e[14]=this.irr,e[15]=this.isr,e[16]=this.tmr,e[17]=this.spurious_vector,e[18]=this.destination_format,e[19]=this.local_destination,e[20]=this.error,e[21]=this.read_error,e},APIC.prototype.set_state=function(e){this.apic_id=e[0],this.timer_divider=e[1],this.timer_divider_shift=e[2],this.timer_initial_count=e[3],this.timer_current_count=e[4],this.next_tick=e[5],this.lvt_timer=e[6],this.lvt_perf_counter=e[7],this.lvt_int0=e[8],this.lvt_int1=e[9],this.lvt_error=e[10],this.tpr=e[11],this.icr0=e[12],this.icr1=e[13],this.irr=e[14],this.isr=e[15],this.tmr=e[16],this.spurious_vector=e[17],this.destination_format=e[18],this.local_destination=e[19],this.error=e[20],this.read_error=e[21]},APIC.prototype.register_get_bit=function(e,t){return dbg_assert(0<=t&&256>t),e[t>>5]>>(31&t)&1},APIC.prototype.register_set_bit=function(e,t){dbg_assert(0<=t&&256>t),e[t>>5]|=1<<(31&t)},APIC.prototype.register_clear_bit=function(e,t){dbg_assert(0<=t&&256>t),e[t>>5]&=~(1<<(31&t))},APIC.prototype.register_get_highest_bit=function(e){for(var t=7;0<=t;t--){var s=e[t];if(s)return v86util.int_log2(s>>>0)|t<<5}return-1};var IOAPIC_ADDRESS=4273995776,IOREGSEL=0,IOWIN=16,IOAPIC_IRQ_COUNT=24,IOAPIC_ID=0,IOAPIC_CONFIG_TRIGGER_MODE_LEVEL=32768,IOAPIC_CONFIG_MASKED=65536,IOAPIC_CONFIG_DELIVS=4096,IOAPIC_CONFIG_REMOTE_IRR=16384,IOAPIC_CONFIG_READONLY_MASK=IOAPIC_CONFIG_REMOTE_IRR|IOAPIC_CONFIG_DELIVS|4294836224,IOAPIC_DELIVERY_FIXED=0,IOAPIC_DELIVERY_NMI=4,IOAPIC_DELIVERY_INIT=5;IOAPIC.prototype.remote_eoi=function(e){for(var t=0;t=IOAPIC_IRQ_COUNT)dbg_assert(!1,"Bad irq: "+e,LOG_APIC);else{var t=1<=IOAPIC_IRQ_COUNT)dbg_assert(!1,"Bad irq: "+e,LOG_APIC);else{var t=1<>1;return 1&e?(e=this.ioredtbl_destination[t],dbg_log("IOAPIC Read destination irq="+h(t)+" -> "+h(e,8),LOG_APIC)):(e=this.ioredtbl_config[t],dbg_log("IOAPIC Read config irq="+h(t)+" -> "+h(e,8),LOG_APIC)),e}return dbg_log("IOAPIC register read outside of range "+h(e),LOG_APIC),dbg_assert(!1),0},IOAPIC.prototype.write=function(e,t){if(0===e)this.ioapic_id=t>>>24&15;else if(1===e||2===e)dbg_log("Invalid write: "+e,LOG_APIC);else if(16<=e&&e<16+2*IOAPIC_IRQ_COUNT){var s=e-16>>1;if(1&e)this.ioredtbl_destination[s]=4278190080&t,dbg_log("Write destination "+h(t>>>0,8)+" irq="+h(s)+" dest="+h(t>>>24,2),LOG_APIC);else{this.ioredtbl_config[s]=t&~IOAPIC_CONFIG_READONLY_MASK|this.ioredtbl_config[s]&IOAPIC_CONFIG_READONLY_MASK,e=255&t;var r=t>>8&7,i=t>>11&1,_=t>>15&1,a=t>>16&1;dbg_log("Write config "+h(t>>>0,8)+" irq="+h(s)+" vector="+h(e,2)+" deliverymode="+DELIVERY_MODES[r]+" destmode="+DESTINATION_MODES[i]+" is_level="+_+" disabled="+a,LOG_APIC),this.check_irq(s)}}else dbg_log("IOAPIC register write outside of range "+h(e)+": "+h(t>>>0,8),LOG_APIC),dbg_assert(!1)},IOAPIC.prototype.get_state=function(){var e=[];return e[0]=this.ioredtbl_config,e[1]=this.ioredtbl_destination,e[2]=this.ioregsel,e[3]=this.ioapic_id,e[4]=this.irr,e[5]=this.irq_value,e},IOAPIC.prototype.set_state=function(e){this.ioredtbl_config=e[0],this.ioredtbl_destination=e[1],this.ioregsel=e[2],this.ioapic_id=e[3],this.irr=e[4],this.irq_value=e[5]};var STATE_VERSION=4,STATE_MAGIC=-2039052682,STATE_INDEX_MAGIC=0,STATE_INDEX_VERSION=1,STATE_INDEX_TOTAL_LEN=2,STATE_INDEX_INFO_LEN=3,STATE_INFO_BLOCK_START=16;StateLoadError.prototype=Error(),CPU.prototype.save_state=function(){for(var e=[],t=save_object(this,e),s=[],r=0,i=0;i>>0));if(s[STATE_INDEX_VERSION]!==STATE_VERSION)throw new StateLoadError("Version mismatch: dump="+s[STATE_INDEX_VERSION]+" we="+STATE_VERSION);if(s[STATE_INDEX_TOTAL_LEN]!==t)throw new StateLoadError("Length doesn't match header: real="+t+" header="+s[STATE_INDEX_TOTAL_LEN]);if(0>(s=s[STATE_INDEX_INFO_LEN])||s+12>=t||s%2)throw new StateLoadError("Invalid info block length: "+s);var r=s/2,i=new Uint16Array(e,STATE_INFO_BLOCK_START,r),_="";for(t=0;t>8);if(t+s>this.memory.length){dbg_assert(60<=e.length);var _=this.memory.length-r;this.memory.set(e.subarray(0,_),r),this.memory.set(e.subarray(_),START_RX_PAGE),dbg_log("rcv cut="+h(_),LOG_NET)}else if(this.memory.set(e,r),60>e.length)for(e=e.length;60>e;e++)this.memory[r+e]=0;i>=this.pstop&&(i+=this.pstart-this.pstop),this.memory[t]=1,this.memory[t+1]=i,this.memory[t+2]=s,this.memory[t+3]=s>>8,this.curpg=i,dbg_log("rcv offset="+h(t)+" len="+h(s)+" next="+h(i),LOG_NET),this.do_interrupt(1)}},Ne2k.prototype.get_page=function(){return 192&this.cr};var DSP_COPYRIGHT="COPYRIGHT (C) CREATIVE TECHNOLOGY LTD, 1992.",DSP_NO_COMMAND=0,DSP_BUFSIZE=64,DSP_DACSIZE=65536,SB_DMA_BUFSIZE=65536,SB_DMA_BLOCK_SAMPLES=1024,SB_DMA0=0,SB_DMA1=1,SB_DMA3=3,SB_DMA5=5,SB_DMA6=6,SB_DMA7=7,SB_DMA_CHANNEL_8BIT=SB_DMA1,SB_DMA_CHANNEL_16BIT=SB_DMA5,SB_IRQ2=2,SB_IRQ5=5,SB_IRQ7=7,SB_IRQ10=10,SB_IRQ=SB_IRQ5,SB_IRQ_8BIT=1,SB_IRQ_16BIT=2,SB_IRQ_MIDI=1,SB_IRQ_MPU=4,DSP_COMMAND_SIZES=new Uint8Array(256),DSP_COMMAND_HANDLERS=[],MIXER_READ_HANDLERS=[],MIXER_WRITE_HANDLERS=[],FM_HANDLERS=[];SB16.prototype.reset_dsp=function(){this.write_buffer.clear(),this.read_buffer.clear(),this.command=DSP_NO_COMMAND,this.command_size=0,this.dummy_speaker_enabled=!1,this.test_register=0,this.dsp_signed=this.dsp_16bit=this.dsp_stereo=this.dsp_highspeed=!1,this.dac_buffers[0].clear(),this.dac_buffers[1].clear(),this.dac_rate_ratio=2,this.dma_channel=this.dma_irq=this.dma_bytes_block=this.dma_bytes_left=this.dma_bytes_count=this.dma_sample_count=0,this.dma_autoinit=!1,this.dma_buffer_uint8.fill(0),this.dma_paused=this.dma_waiting_transfer=!1,this.e2_value=170,this.e2_count=0,this.sampling_rate=22050,this.bytes_per_sample=1,this.lower_irq(SB_IRQ_8BIT),this.irq_triggered.fill(0),this.asp_registers.fill(0),this.asp_registers[5]=1,this.asp_registers[9]=248},SB16.prototype.get_state=function(){var e=[];return e[2]=this.read_buffer_lastvalue,e[3]=this.command,e[4]=this.command_size,e[5]=this.mixer_current_address,e[6]=this.mixer_unhandled_registers,e[7]=this.dummy_speaker_enabled,e[8]=this.test_register,e[9]=this.dsp_highspeed,e[10]=this.dsp_stereo,e[11]=this.dsp_16bit,e[12]=this.dsp_signed,e[14]=this.dac_rate_ratio,e[15]=this.dma_sample_count,e[16]=this.dma_bytes_count,e[17]=this.dma_bytes_left,e[18]=this.dma_bytes_block,e[19]=this.dma_irq,e[20]=this.dma_channel,e[21]=this.dma_channel_8bit,e[22]=this.dma_channel_16bit,e[23]=this.dma_autoinit,e[24]=this.dma_buffer_uint8,e[25]=this.dma_waiting_transfer,e[26]=this.dma_paused,e[27]=this.sampling_rate,e[28]=this.bytes_per_sample,e[29]=this.e2_value,e[30]=this.e2_count,e[31]=this.asp_registers,e[33]=this.mpu_read_buffer_last_value,e[34]=this.irq,e[35]=this.irq_triggered,e[36]=this.audio_samplerate,e},SB16.prototype.set_state=function(e){this.read_buffer_lastvalue=e[2],this.command=e[3],this.command_size=e[4],this.mixer_current_address=e[5],this.mixer_unhandled_registers=e[6],this.dummy_speaker_enabled=e[7],this.test_register=e[8],this.dsp_highspeed=e[9],this.dsp_stereo=e[10],this.dsp_16bit=e[11],this.dsp_signed=e[12],this.dac_rate_ratio=e[14],this.dma_sample_count=e[15],this.dma_bytes_count=e[16],this.dma_bytes_left=e[17],this.dma_bytes_block=e[18],this.dma_irq=e[19],this.dma_channel=e[20],this.dma_channel_8bit=e[21],this.dma_channel_16bit=e[22],this.dma_autoinit=e[23],this.dma_buffer_uint8=e[24],this.dma_waiting_transfer=e[25],this.dma_paused=e[26],this.sampling_rate=e[27],this.bytes_per_sample=e[28],this.e2_value=e[29],this.e2_count=e[30],this.asp_registers=e[31],this.mpu_read_buffer_last_value=e[33],this.irq=e[34],this.irq_triggered=e[35],this.audio_samplerate=e[36],this.dma_buffer=this.dma_buffer_uint8.buffer,this.dma_buffer_int8=new Int8Array(this.dma_buffer),this.dma_buffer_int16=new Int16Array(this.dma_buffer),this.dma_buffer_uint16=new Uint16Array(this.dma_buffer),this.dma_syncbuffer=new SyncBuffer(this.dma_buffer),this.bus.send("speaker-update-enable",!this.dma_paused)},SB16.prototype.port2x0_read=function(){return dbg_log("220 read: fm music status port (unimplemented)",LOG_SB16),255},SB16.prototype.port2x1_read=function(){return dbg_log("221 read: fm music data port (write only)",LOG_SB16),255},SB16.prototype.port2x2_read=function(){return dbg_log("222 read: advanced fm music status port (unimplemented)",LOG_SB16),255},SB16.prototype.port2x3_read=function(){return dbg_log("223 read: advanced music data port (write only)",LOG_SB16),255},SB16.prototype.port2x4_read=function(){return dbg_log("224 read: mixer address port",LOG_SB16),this.mixer_current_address},SB16.prototype.port2x5_read=function(){dbg_log("225 read: mixer data port",LOG_SB16);var e=MIXER_READ_HANDLERS[this.mixer_current_address];return e||(e=this.mixer_default_read),e.call(this)},SB16.prototype.port2x6_read=function(){return dbg_log("226 read: (write only)",LOG_SB16),255},SB16.prototype.port2x7_read=function(){return dbg_log("227 read: undocumented",LOG_SB16),255},SB16.prototype.port2x8_read=function(){return dbg_log("228 read: fm music status port (unimplemented)",LOG_SB16),255},SB16.prototype.port2x9_read=function(){return dbg_log("229 read: fm music data port (write only)",LOG_SB16),255},SB16.prototype.port2xA_read=function(){return dbg_log("22A read: read data",LOG_SB16),this.read_buffer.length&&(this.read_buffer_lastvalue=this.read_buffer.shift()),dbg_log(" <- "+this.read_buffer_lastvalue+" "+h(this.read_buffer_lastvalue)+" '"+String.fromCharCode(this.read_buffer_lastvalue)+"'",LOG_SB16),this.read_buffer_lastvalue},SB16.prototype.port2xB_read=function(){return dbg_log("22B read: undocumented",LOG_SB16),255},SB16.prototype.port2xC_read=function(){return dbg_log("22C read: write-buffer status",LOG_SB16),127},SB16.prototype.port2xD_read=function(){return dbg_log("22D read: undocumented",LOG_SB16),255},SB16.prototype.port2xE_read=function(){return dbg_log("22E read: read-buffer status / irq 8bit ack.",LOG_SB16),this.irq_triggered[SB_IRQ_8BIT]&&this.lower_irq(SB_IRQ_8BIT),(this.read_buffer.length&&!this.dsp_highspeed)<<7|127},SB16.prototype.port2xF_read=function(){return dbg_log("22F read: irq 16bit ack",LOG_SB16),this.lower_irq(SB_IRQ_16BIT),0},SB16.prototype.port2x0_write=function(e){dbg_log("220 write: (unimplemented) fm register 0 address = "+h(e),LOG_SB16),this.fm_current_address0=0},SB16.prototype.port2x1_write=function(e){dbg_log("221 write: (unimplemented) fm register 0 data = "+h(e),LOG_SB16);var t=FM_HANDLERS[this.fm_current_address0];t||(t=this.fm_default_write),t.call(this,e,0,this.fm_current_address0)},SB16.prototype.port2x2_write=function(e){dbg_log("222 write: (unimplemented) fm register 1 address = "+h(e),LOG_SB16),this.fm_current_address1=0},SB16.prototype.port2x3_write=function(e){dbg_log("223 write: (unimplemented) fm register 1 data ="+h(e),LOG_SB16);var t=FM_HANDLERS[this.fm_current_address1];t||(t=this.fm_default_write),t.call(this,e,1,this.fm_current_address1)},SB16.prototype.port2x4_write=function(e){dbg_log("224 write: mixer address = "+h(e),LOG_SB16),this.mixer_current_address=e},SB16.prototype.port2x5_write=function(e){dbg_log("225 write: mixer data = "+h(e),LOG_SB16);var t=MIXER_WRITE_HANDLERS[this.mixer_current_address];t||(t=this.mixer_default_write),t.call(this,e)},SB16.prototype.port2x6_write=function(e){dbg_log("226 write: reset = "+h(e),LOG_SB16),this.dsp_highspeed?(dbg_log(" -> exit highspeed",LOG_SB16),this.dsp_highspeed=!1):e&&(dbg_log(" -> reset",LOG_SB16),this.reset_dsp()),this.read_buffer.clear(),this.read_buffer.push(170)},SB16.prototype.port2x7_write=function(e){dbg_log("227 write: undocumented",LOG_SB16)},SB16.prototype.port2x8_write=function(e){dbg_log("228 write: fm music register port (unimplemented)",LOG_SB16)},SB16.prototype.port2x9_write=function(e){dbg_log("229 write: fm music data port (unimplemented)",LOG_SB16)},SB16.prototype.port2xA_write=function(e){dbg_log("22A write: dsp read data port (read only)",LOG_SB16)},SB16.prototype.port2xB_write=function(e){dbg_log("22B write: undocumented",LOG_SB16)},SB16.prototype.port2xC_write=function(e){dbg_log("22C write: write command/data",LOG_SB16),this.command===DSP_NO_COMMAND?(dbg_log("22C write: command = "+h(e),LOG_SB16),this.command=e,this.write_buffer.clear(),this.command_size=DSP_COMMAND_SIZES[e]):(dbg_log("22C write: data: "+h(e),LOG_SB16),this.write_buffer.push(e)),this.write_buffer.length>=this.command_size&&this.command_do()},SB16.prototype.port2xD_write=function(e){dbg_log("22D write: undocumented",LOG_SB16)},SB16.prototype.port2xE_write=function(e){dbg_log("22E write: dsp read buffer status (read only)",LOG_SB16)},SB16.prototype.port2xF_write=function(e){dbg_log("22F write: undocumented",LOG_SB16)},SB16.prototype.port3x0_read=function(){return dbg_log("330 read: mpu data",LOG_SB16),this.mpu_read_buffer.length&&(this.mpu_read_buffer_lastvalue=this.mpu_read_buffer.shift()),dbg_log(" <- "+h(this.mpu_read_buffer_lastvalue),LOG_SB16),this.mpu_read_buffer_lastvalue},SB16.prototype.port3x0_write=function(e){dbg_log("330 write: mpu data (unimplemented) : "+h(e),LOG_SB16)},SB16.prototype.port3x1_read=function(){return dbg_log("331 read: mpu status",LOG_SB16),0|128*!this.mpu_read_buffer.length},SB16.prototype.port3x1_write=function(e){dbg_log("331 write: mpu command: "+h(e),LOG_SB16),255==e&&(this.mpu_read_buffer.clear(),this.mpu_read_buffer.push(254))},SB16.prototype.command_do=function(){var e=DSP_COMMAND_HANDLERS[this.command];e||(e=this.dsp_default_handler),e.call(this),this.command=DSP_NO_COMMAND,this.command_size=0, +this.write_buffer.clear()},SB16.prototype.dsp_default_handler=function(){dbg_log("Unhandled command: "+h(this.command),LOG_SB16)},register_dsp_command([14],2,function(){this.asp_registers[this.write_buffer.shift()]=this.write_buffer.shift()}),register_dsp_command([15],1,function(){this.read_buffer.clear(),this.read_buffer.push(this.asp_registers[this.write_buffer.shift()])}),register_dsp_command([16],1,function(){var e=audio_normalize(this.write_buffer.shift(),127.5,-1);this.dac_buffers[0].push(e),this.dac_buffers[1].push(e),this.bus.send("speaker-update-enable",!0)}),register_dsp_command([20,21],2,function(){this.dma_irq=SB_IRQ_8BIT,this.dma_channel=this.dma_channel_8bit,this.dsp_highspeed=this.dsp_16bit=this.dsp_signed=this.dma_autoinit=!1,this.dma_transfer_size_set(),this.dma_transfer_start()}),register_dsp_command([22],2),register_dsp_command([23],2),register_dsp_command([28],0,function(){this.dma_irq=SB_IRQ_8BIT,this.dma_channel=this.dma_channel_8bit,this.dma_autoinit=!0,this.dsp_highspeed=this.dsp_16bit=this.dsp_signed=!1,this.dma_transfer_start()}),register_dsp_command([31],0),register_dsp_command([32],0,function(){this.read_buffer.clear(),this.read_buffer.push(127)}),register_dsp_command([36],2),register_dsp_command([44],0),register_dsp_command([48],0),register_dsp_command([49],0),register_dsp_command([52],0),register_dsp_command([53],0),register_dsp_command([54],0),register_dsp_command([55],0),register_dsp_command([56],0),register_dsp_command([64],1,function(){this.sampling_rate_change(1e6/(256-this.write_buffer.shift())/this.get_channel_count())}),register_dsp_command([65,66],2,function(){this.sampling_rate_change(this.write_buffer.shift()<<8|this.write_buffer.shift())}),register_dsp_command([72],2,function(){this.dma_transfer_size_set()}),register_dsp_command([116],2),register_dsp_command([117],2),register_dsp_command([118],2),register_dsp_command([119],2),register_dsp_command([125],0),register_dsp_command([127],0),register_dsp_command([128],2),register_dsp_command([144],0,function(){this.dma_irq=SB_IRQ_8BIT,this.dma_channel=this.dma_channel_8bit,this.dma_autoinit=!0,this.dsp_signed=!1,this.dsp_highspeed=!0,this.dsp_16bit=!1,this.dma_transfer_start()}),register_dsp_command([145],0),register_dsp_command([152],0),register_dsp_command([153],0),register_dsp_command([160],0),register_dsp_command([168],0),register_dsp_command(any_first_digit(176),3,function(){if(8&this.command)this.dsp_default_handler();else{var e=this.write_buffer.shift();this.dma_irq=SB_IRQ_16BIT,this.dma_channel=this.dma_channel_16bit,this.dma_autoinit=!!(4&this.command),this.dsp_signed=!!(16&e),this.dsp_stereo=!!(32&e),this.dsp_16bit=!0,this.dma_transfer_size_set(),this.dma_transfer_start()}}),register_dsp_command(any_first_digit(192),3,function(){if(8&this.command)this.dsp_default_handler();else{var e=this.write_buffer.shift();this.dma_irq=SB_IRQ_8BIT,this.dma_channel=this.dma_channel_8bit,this.dma_autoinit=!!(4&this.command),this.dsp_signed=!!(16&e),this.dsp_stereo=!!(32&e),this.dsp_16bit=!1,this.dma_transfer_size_set(),this.dma_transfer_start()}}),register_dsp_command([208],0,function(){this.dma_paused=!0,this.bus.send("speaker-update-enable",!1)}),register_dsp_command([209],0,function(){this.dummy_speaker_enabled=!0}),register_dsp_command([211],0,function(){this.dummy_speaker_enabled=!1}),register_dsp_command([212],0,function(){this.dma_paused=!1,this.bus.send("speaker-update-enable",!0)}),register_dsp_command([213],0,function(){this.dma_paused=!0,this.bus.send("speaker-update-enable",!1)}),register_dsp_command([214],0,function(){this.dma_paused=!1,this.bus.send("speaker-update-enable",!0)}),register_dsp_command([216],0,function(){this.read_buffer.clear(),this.read_buffer.push(255*this.dummy_speaker_enabled)}),register_dsp_command([217,218],0,function(){this.dma_autoinit=!1}),register_dsp_command([224],1,function(){this.read_buffer.clear(),this.read_buffer.push(~this.write_buffer.shift())}),register_dsp_command([225],0,function(){this.read_buffer.clear(),this.read_buffer.push(4),this.read_buffer.push(5)}),register_dsp_command([226],1),register_dsp_command([227],0,function(){this.read_buffer.clear();for(var e=0;et;t++)e|=t*this.irq_triggered[t];return e}),SB16.prototype.fm_default_write=function(e,t,s){dbg_log("unhandled fm register write. addr:"+t+"|"+h(s)+" data:"+h(e),LOG_SB16)};var SB_FM_OPERATORS_BY_OFFSET=new Uint8Array(32);SB_FM_OPERATORS_BY_OFFSET[0]=0,SB_FM_OPERATORS_BY_OFFSET[1]=1,SB_FM_OPERATORS_BY_OFFSET[2]=2,SB_FM_OPERATORS_BY_OFFSET[3]=3,SB_FM_OPERATORS_BY_OFFSET[4]=4,SB_FM_OPERATORS_BY_OFFSET[5]=5,SB_FM_OPERATORS_BY_OFFSET[8]=6,SB_FM_OPERATORS_BY_OFFSET[9]=7,SB_FM_OPERATORS_BY_OFFSET[10]=8,SB_FM_OPERATORS_BY_OFFSET[11]=9,SB_FM_OPERATORS_BY_OFFSET[12]=10,SB_FM_OPERATORS_BY_OFFSET[13]=11,SB_FM_OPERATORS_BY_OFFSET[16]=12,SB_FM_OPERATORS_BY_OFFSET[17]=13,SB_FM_OPERATORS_BY_OFFSET[18]=14,SB_FM_OPERATORS_BY_OFFSET[19]=15,SB_FM_OPERATORS_BY_OFFSET[20]=16,SB_FM_OPERATORS_BY_OFFSET[21]=17,register_fm_write([1],function(e,t,s){this.fm_waveform_select_enable[t]=1&e,this.fm_update_waveforms()}),register_fm_write([2]),register_fm_write([3]),register_fm_write([4],function(e,t,s){}),register_fm_write([5],function(e,t,s){0===t&&this.fm_default_write(e,t,s)}),register_fm_write([8],function(e,t,s){}),register_fm_write(between(32,53),function(e,t,s){get_fm_operator(t,s-32)}),register_fm_write(between(64,85),function(e,t,s){get_fm_operator(t,s-64)}),register_fm_write(between(96,117),function(e,t,s){get_fm_operator(t,s-96)}),register_fm_write(between(128,149),function(e,t,s){get_fm_operator(t,s-128)}),register_fm_write(between(160,168),function(e,t,s){}),register_fm_write(between(176,184),function(e,t,s){}),register_fm_write([189],function(e,t,s){}),register_fm_write(between(192,200),function(e,t,s){}),register_fm_write(between(224,245),function(e,t,s){get_fm_operator(t,s-224)}),SB16.prototype.fm_update_waveforms=function(){},SB16.prototype.sampling_rate_change=function(e){this.sampling_rate=e},SB16.prototype.get_channel_count=function(){return this.dsp_stereo?2:1},SB16.prototype.dma_transfer_size_set=function(){this.dma_sample_count=1+(this.write_buffer.shift()<<0)+(this.write_buffer.shift()<<8)},SB16.prototype.dma_transfer_start=function(){dbg_log("begin dma transfer",LOG_SB16),this.bytes_per_sample=1,this.dsp_16bit&&(this.bytes_per_sample*=2),this.dac_rate_ratio=Math.round(this.audio_samplerate/this.sampling_rate),this.dma_bytes_count=this.dma_sample_count*this.bytes_per_sample,this.dma_bytes_block=SB_DMA_BLOCK_SAMPLES*this.bytes_per_sample,this.dma_waiting_transfer=!0},SB16.prototype.dma_on_unmask=function(e){e===this.dma_channel&&this.dma_waiting_transfer&&(this.dma_waiting_transfer=!1,this.dma_bytes_left=this.dma_bytes_count,this.dma_paused=!1,this.bus.send("speaker-update-enable",!0),this.dma_transfer_next())},SB16.prototype.dma_transfer_next=function(){var e=this;if(this.dma_bytes_left&&!(this.dac_buffers[0].length>2*this.dac_process_samples||this.cpu_paused||this.dma_paused)){dbg_log("dma transfering next block",LOG_SB16);var t=Math.min(this.dma_bytes_left,this.dma_bytes_block),s=Math.floor(t/this.bytes_per_sample);this.dma.do_write(this.dma_syncbuffer,0,t,this.dma_channel,function(r){dbg_log("dma block transfer "+(r?"unsuccessful":"successful"),LOG_SB16),r||(e.dma_to_dac(s),e.dma_bytes_left-=t,e.dma_bytes_left||(e.raise_irq(e.dma_irq),e.dma_autoinit&&(e.dma_bytes_left=e.dma_bytes_count)),setTimeout(function(){e.dma_transfer_next()},0))})}},SB16.prototype.dma_to_dac=function(e){for(var t=this.dsp_16bit?32767.5:127.5,s=this.dsp_signed?0:-1,r=(this.dsp_stereo?1:2)*this.dac_rate_ratio,i=this.dsp_16bit?this.dsp_signed?this.dma_buffer_int16:this.dma_buffer_uint16:this.dsp_signed?this.dma_buffer_int8:this.dma_buffer_uint8,_=0,a=0;a>>0;if(i.push({addr_low:o,addr_high:n,len:d}),dbg_log("descriptor: addr="+h(n,8)+":"+h(o,8)+" len="+h(d,8)+" flags="+h(a,4)+" next="+h(t,4),LOG_VIRTIO),!(a&VRING_DESC_F_NEXT)){t=-1;break}t=this.cpu.read16(_+14),dbg_assert(t=g){if(r===i.length)return dbg_log("Read more data than descriptor has",LOG_VIRTIO),0;var e=i[r++];o=e.addr_low,g=e.len,c=0}return this.cpu.read8(o+c++)}.bind(this))},VirtIO.prototype.device_reply=function(e,t){if(-1===t.next)dbg_log("Reply to invalid index",LOG_VIRTIO);else{var s=this.queue_size-1;e=this.device.replybuffersize;for(var r=t.next,i=this.queue_address<<12,_=0,a=[];;){var o=i+16*r,n=this.cpu.read16(o+12);if(0==(n&VRING_DESC_F_WRITE)){dbg_log("Bug: Readonly ring after writeonly ring",LOG_VIRTIO);break}var d=this.cpu.read32s(o),g=this.cpu.read32s(o+4),c=this.cpu.read32s(o+8)>>>0;if(a.push({addr_low:d,addr_high:g,len:c}),dbg_log("descriptor: addr="+h(g,8)+":"+h(d,8)+" len="+h(c,8)+" flags="+h(n,4)+" next="+h(r,4),LOG_VIRTIO),!(n&VRING_DESC_F_NEXT))break;r=this.cpu.read16(o+14),dbg_assert(r=i){if(_===a.length)return dbg_log("Write more data than descriptor has",LOG_VIRTIO),0;i=a[_++],d=i.addr_low,i=i.len,o=0}this.cpu.write8(d+o++,r)}d=(this.queue_address<<12)+16*this.queue_size+4+2*this.queue_size,d=d+4095&-4096,n=this.cpu.read16(d),_=this.cpu.read16(d+2),this.cpu.write16(d+2,_+1),dbg_log("used descriptor: addr="+h(d,8)+" flags="+h(n,4)+" idx="+h(_,4),LOG_VIRTIO),s=d+4+8*(_&s),this.cpu.write32(s,t.start),this.cpu.write32(s+4,e),this.isr|=1,this.pci.raise_irq(this.pci_id)}};var Bus={};BusConnector.prototype.register=function(e,t,s){var r=this.listeners[e];void 0===r&&(r=this.listeners[e]=[]),r.push({fn:t,this_value:s})},BusConnector.prototype.unregister=function(e,t){var s=this.listeners[e];void 0!==s&&(this.listeners[e]=s.filter(function(e){return e.fn!==t}))},BusConnector.prototype.send=function(e,t,s){if(this.pair&&void 0!==(e=this.pair.listeners[e]))for(s=0;s++s)return;i=new Date,i=v86util.pad0(i.getHours(),2)+":"+v86util.pad0(i.getMinutes(),2)+":"+v86util.pad0(i.getSeconds(),2)+"+"+v86util.pad0(i.getMilliseconds(),3)+" ",s&&(do_the_log(1===s?i+t:"Previous message repeated "+s+" times"),s=0),do_the_log(i+r),t=r}}}(),instruction_count,instruction_total,CPU_LOG_VERBOSE=!0;CPU.prototype.get_state=function(){var e=[];return e[0]=this.memory_size,e[1]=this.segment_is_null,e[2]=this.segment_offsets,e[3]=this.segment_limits,e[4]=this.protected_mode,e[5]=this.idtr_offset,e[6]=this.idtr_size,e[7]=this.gdtr_offset,e[8]=this.gdtr_size,e[9]=this.page_fault,e[10]=this.cr,e[11]=this.cpl,e[12]=this.page_size_extensions,e[13]=this.is_32,e[16]=this.stack_size_32,e[17]=this.in_hlt,e[18]=this.last_virt_eip,e[19]=this.eip_phys,e[20]=this.last_virt_esp,e[21]=this.esp_phys,e[22]=this.sysenter_cs,e[23]=this.sysenter_eip,e[24]=this.sysenter_esp,e[25]=this.prefixes,e[26]=this.flags,e[27]=this.flags_changed,e[28]=this.last_op1,e[29]=this.last_op2,e[30]=this.last_op_size,e[31]=this.last_add_result,e[32]=this.modrm_byte,e[36]=this.paging,e[37]=this.instruction_pointer,e[38]=this.previous_ip,e[39]=this.reg32s,e[40]=this.sreg,e[41]=this.dreg,e[42]=this.mem8,e[43]=this.fpu,e[45]=this.devices.virtio,e[46]=this.devices.apic,e[47]=this.devices.rtc,e[48]=this.devices.pci,e[49]=this.devices.dma,e[50]=this.devices.acpi,e[51]=this.devices.hpet,e[52]=this.devices.vga,e[53]=this.devices.ps2,e[54]=this.devices.uart,e[55]=this.devices.fdc,e[56]=this.devices.cdrom,e[57]=this.devices.hda,e[58]=this.devices.pit,e[59]=this.devices.net,e[60]=this.devices.pic,e[61]=this.devices.sb16,e[62]=this.a20_enabled,e[63]=this.fw_value,e[64]=this.devices.ioapic,e[65]=this.tss_size_32,e[66]=this.reg_mmxs,e},CPU.prototype.set_state=function(e){this.memory_size=e[0],this.segment_is_null=e[1],this.segment_offsets=e[2],this.segment_limits=e[3],this.protected_mode=e[4],this.idtr_offset=e[5],this.idtr_size=e[6],this.gdtr_offset=e[7],this.gdtr_size=e[8],this.page_fault=e[9],this.cr=e[10],this.cpl=e[11],this.page_size_extensions=e[12],this.is_32=e[13],this.stack_size_32=e[16],this.in_hlt=e[17],this.last_virt_eip=e[18],this.eip_phys=e[19],this.last_virt_esp=e[20],this.esp_phys=e[21],this.sysenter_cs=e[22],this.sysenter_eip=e[23],this.sysenter_esp=e[24],this.prefixes=e[25],this.flags=e[26],this.flags_changed=e[27],this.last_op1=e[28],this.last_op2=e[29],this.last_op_size=e[30],this.last_add_result=e[31],this.modrm_byte=e[32],this.paging=e[36],this.instruction_pointer=e[37],this.previous_ip=e[38],this.reg32s=e[39],this.sreg=e[40],this.dreg=e[41],this.mem8=e[42],this.fpu=e[43],this.devices.virtio=e[45],this.devices.apic=e[46],this.devices.rtc=e[47],this.devices.pci=e[48],this.devices.dma=e[49],this.devices.acpi=e[50],this.devices.hpet=e[51],this.devices.vga=e[52],this.devices.ps2=e[53],this.devices.uart=e[54],this.devices.fdc=e[55],this.devices.cdrom=e[56],this.devices.hda=e[57],this.devices.pit=e[58],this.devices.net=e[59],this.devices.pic=e[60],this.devices.sb16=e[61],this.a20_enabled=e[62],this.fw_value=e[63],this.devices.ioapic=e[64],this.tss_size_32=e[65],this.reg_mmxs=e[66],this.mem16=new Uint16Array(this.mem8.buffer,this.mem8.byteOffset,this.mem8.length>>1),this.mem32s=new Int32Array(this.mem8.buffer,this.mem8.byteOffset,this.mem8.length>>2),this.full_clear_tlb(),this.reg32=new Uint32Array(this.reg32s.buffer),this.reg16s=new Int16Array(this.reg32s.buffer),this.reg16=new Uint16Array(this.reg32s.buffer),this.reg8s=new Int8Array(this.reg32s.buffer),this.reg8=new Uint8Array(this.reg32s.buffer),this.reg_mmx=new Uint32Array(this.reg_mmxs.buffer),this.reg_mmx8s=new Int8Array(this.reg_mmxs.buffer),this.reg_mmx8=new Uint8Array(this.reg_mmxs.buffer),this.update_operand_size()},CPU.prototype.main_run=function(){if(this.in_hlt){var e=this.hlt_loop();if(this.in_hlt)return e}return this.do_run(),0},CPU.prototype.exception_cleanup=function(e){if(e!==MAGIC_CPU_EXCEPTION)throw console.log(e),console.log(e.stack),e;this.page_fault=!1,this.clear_prefixes()},CPU.prototype.reboot_internal=function(){throw this.reset(),this.load_bios(),MAGIC_CPU_EXCEPTION},CPU.prototype.reset=function(){this.a20_enabled=!0;for(var e=0;8>e;e++)this.segment_is_null[e]=0,this.segment_limits[e]=0,this.segment_offsets[e]=0;for(this.full_clear_tlb(),e=0;8>e;e++)this.reg32s[e]=0,this.sreg[e]=0,this.cr[e]=0,this.dreg[e]=0;for(e=0;ee?e=1048576:0>(0|e)&&(e=Math.pow(2,31)-MMAP_BLOCK_SIZE),e=1+(e-1|MMAP_BLOCK_SIZE-1)|0,dbg_assert(0<(0|e)),dbg_assert(0==(e&MMAP_BLOCK_SIZE-1)),this.memory_size=e,e=new ArrayBuffer(e),this.mem8=new Uint8Array(e),this.mem16=new Uint16Array(e),this.mem32s=new Int32Array(e)},goog.exportProperty(CPU.prototype,"create_memory",CPU.prototype.create_memory),CPU.prototype.init=function(e,t){this.create_memory("number"==typeof e.memory_size?e.memory_size:67108864),this.reset();var s=new IO(this);this.io=s,this.bios.main=e.bios,this.bios.vga=e.vga_bios,this.load_bios();var r=0;s.register_read(179,this,function(){return dbg_log("port 0xB3 read"),0}),s.register_read(146,this,function(){return r}),s.register_write(146,this,function(e){r=e}),s.register_read(1297,this,function(){var e=255&this.fw_value;return this.fw_value>>>=8,e}),s.register_write(1296,this,void 0,function(e){dbg_log("bios config port, index="+h(e)),e===FW_CFG_SIGNATURE?this.fw_value=-89064784:e===FW_CFG_RAM_SIZE?this.fw_value=this.memory_size:e===FW_CFG_NB_CPUS?this.fw_value=1:(dbg_assert(!1,"Unimplemented fw index: "+h(e)),this.fw_value=0)}),DEBUG&&s.register_write(128,this,function(e){}),this.devices={},e.load_devices&&(this.devices.pic=new PIC(this),this.devices.pci=new PCI(this),ENABLE_ACPI&&(this.devices.ioapic=new IOAPIC(this),this.devices.apic=new APIC(this),this.devices.acpi=new ACPI(this)),this.devices.rtc=new RTC(this),this.fill_cmos(this.devices.rtc,e),this.devices.dma=new DMA(this),ENABLE_HPET&&(this.devices.hpet=new HPET(this)),this.devices.vga=new VGAScreen(this,t,e.vga_memory_size||8388608),this.fpu=new FPU(this),this.devices.ps2=new PS2(this,t),this.devices.uart=new UART(this,1016,t),this.devices.fdc=new FloppyController(this,e.fda,e.fdb),s=0,e.hda&&(this.devices.hda=new IDEDevice(this,e.hda,!1,s++,t)),e.cdrom&&(this.devices.cdrom=new IDEDevice(this,e.cdrom,!0,s++,t)),e.hdb&&(this.devices.hdb=new IDEDevice(this,e.hdb,!1,s++,t)),this.devices.pit=new PIT(this,t),e.enable_ne2k&&(this.devices.net=new Ne2k(this,t)),e.fs9p&&(this.devices.virtio=new VirtIO(this,t,e.fs9p)),this.devices.sb16=new SB16(this,t)),e.multiboot&&(dbg_assert(e.multiboot.buffer),this.load_multiboot(e.multiboot.buffer)),DEBUG&&this.debug.init()},CPU.prototype.load_multiboot=function(e){if(dbg_log("Trying multiboot from buffer of size "+e.byteLength,LOG_CPU),8192>e.byteLength){var t=new Int32Array(2048);new Uint8Array(t.buffer).set(new Uint8Array(e))}else t=new Int32Array(e,0,2048);for(var s=0;8192>s;s+=4)if(464367618===t[s>>2]){var r=t[s+4>>2];if(!(464367618+r+t[s+8>>2]|0)){dbg_log("Multiboot magic found, flags: "+h(r>>>0,8),LOG_CPU),dbg_assert(0==(-65537&r),"TODO"),this.reg32s[reg_eax]=732803074,this.reg32s[reg_ebx]=31744,this.write32(31744,0),this.cr[0]=1,this.protected_mode=!0,this.flags=flags_default,this.update_cs_size(!0),this.stack_size_32=!0;for(var i=0;6>i;i++)this.segment_is_null[i]=0,this.segment_offsets[i]=0,this.segment_limits[i]=4294967295,this.sreg[i]=45058;if(65536&r){dbg_log("Multiboot specifies its own address table",LOG_CPU);var _=t[s+12>>2];r=t[s+16>>2],i=t[s+20>>2];var a=t[s+24>>2];t=t[s+28>>2],dbg_log("header="+h(_,8)+" load="+h(r,8)+" load_end="+h(i,8)+" bss_end="+h(a,8)+" entry="+h(t,8)),dbg_assert(r<=_),s-=_-r,0===i?i=void 0:(dbg_assert(i>=r),i-=r),e=new Uint8Array(e,s,i),this.write_blob(e,r),this.instruction_pointer=this.get_seg(reg_cs)+t|0}else if(1179403647===t[0])for(dbg_log("Multiboot image is in elf format",LOG_CPU),r=read_elf(e),this.instruction_pointer=this.get_seg(reg_cs)+r.header.entry|0,r=$jscomp.makeIterator(r.program_headers),s=r.next();!s.done;s=r.next())s=s.value,0!==s.type&&(1===s.type?(dbg_assert(s.paddr===s.vaddr),dbg_assert(s.filesz<=s.memsz),t=new Uint8Array(e,s.offset,s.filesz),this.write_blob(t,s.paddr)):4!==s.type&&1685382480!==s.type&&1685382481!==s.type&&dbg_assert(!1,"unimplemented elf section type"));else dbg_assert(!1,"Not a bootable multiboot format");for(this.io.register_write_consecutive(244,this,function(e){throw console.log("Test exited with code "+h(e,2)),"HALT"},function(){},function(){},function(){}),e={i$10:14};15>=e.i$10;e={i$10:e.i$10},e.i$10++)this.io.register_write(8192+e.i$10,this,function(e){return function(t){dbg_log("kvm-unit-test: Set irq "+h(e.i$10)+" to "+h(t,2)),t?this.device_raise_irq(e.i$10):this.device_lower_irq(e.i$10)}}(e));dbg_log("Starting multiboot kernel at:",LOG_CPU),this.debug.dump_state(),this.debug.dump_regs();break}dbg_log("Multiboot checksum check failed",LOG_CPU)}},CPU.prototype.fill_cmos=function(e,t){var s=t.boot_order||531;e.cmos_write(CMOS_BIOS_BOOTFLAG1,1|s>>4&240),e.cmos_write(CMOS_BIOS_BOOTFLAG2,255&s),e.cmos_write(CMOS_MEM_BASE_LOW,128),e.cmos_write(CMOS_MEM_BASE_HIGH,2),s=0,1048576<=this.memory_size&&(s=this.memory_size-1048576>>10,s=Math.min(s,65535)),e.cmos_write(CMOS_MEM_OLD_EXT_LOW,255&s),e.cmos_write(CMOS_MEM_OLD_EXT_HIGH,s>>8&255),e.cmos_write(CMOS_MEM_EXTMEM_LOW,255&s),e.cmos_write(CMOS_MEM_EXTMEM_HIGH,s>>8&255),s=0,16777216<=this.memory_size&&(s=this.memory_size-16777216>>16,s=Math.min(s,65535)),e.cmos_write(CMOS_MEM_EXTMEM2_LOW,255&s),e.cmos_write(CMOS_MEM_EXTMEM2_HIGH,s>>8&255),e.cmos_write(CMOS_MEM_HIGHMEM_LOW,0),e.cmos_write(CMOS_MEM_HIGHMEM_MID,0),e.cmos_write(CMOS_MEM_HIGHMEM_HIGH,0),e.cmos_write(CMOS_EQUIPMENT_INFO,47),e.cmos_write(CMOS_BIOS_SMP_COUNT,0),t.fastboot&&e.cmos_write(63,1)},CPU.prototype.load_bios=function(){var e=this.bios.main,t=this.bios.vga;if(e){var s=new Uint8Array(e);if(this.write_blob(s,1048576-e.byteLength),t){var r=new Uint8Array(t);this.write_blob(r,786432),this.io.mmap_register(4272947200,1048576,function(e){return e=e-4272947200|0,e>>0,t),this.table[t](this),PROFILING){var s=performance.now();instruction_total[t]+=s-e,instruction_count[t]++}this.flags&flag_trap&&dbg_log("Trap flag: Ignored",LOG_CPU)},CPU.prototype.cycle=function(){try{this.cycle_internal()}catch(e){this.exception_cleanup(e)}},goog.exportProperty(CPU.prototype,"cycle",CPU.prototype.cycle),CPU.prototype.segment_prefix_op=function(e){dbg_assert(5>=e),this.prefixes|=e+1,this.run_prefix_instruction(),this.prefixes=0},CPU.prototype.run_prefix_instruction=function(){this.is_osize_32()?this.table32[this.read_imm8()](this):this.table16[this.read_imm8()](this)},CPU.prototype.hlt_loop=function(){return dbg_assert(this.flags&flag_interrupt),this.run_hardware_timers(v86.microtick()),this.handle_irqs(),0},CPU.prototype.run_hardware_timers=function(e){ENABLE_HPET?(this.devices.pit.timer(e,this.devices.hpet.legacy_mode),this.devices.rtc.timer(e,this.devices.hpet.legacy_mode),this.devices.hpet.timer(e)):(this.devices.pit.timer(e,!1),this.devices.rtc.timer(e,!1)),ENABLE_ACPI&&(this.devices.acpi.timer(e),this.devices.apic.timer(e))},CPU.prototype.clear_prefixes=function(){this.prefixes=0},CPU.prototype.set_cr0=function(e){if((e&(CR0_PE|CR0_PG))===CR0_PG)throw this.debug.unimpl("#GP handler");this.cr[0]=e,this.fpu||(this.cr[0]|=CR0_EM),this.cr[0]|=CR0_ET,e=(this.cr[0]&CR0_PG)===CR0_PG,dbg_assert("boolean"==typeof this.paging),e!==this.paging&&(this.paging=e,this.full_clear_tlb()),this.protected_mode=(this.cr[0]&CR0_PE)===CR0_PE},CPU.prototype.set_cr4=function(e){if(-3565568&e&&this.trigger_gp(0),(this.cr[4]^e)&CR4_PGE&&(e&CR4_PGE?this.clear_tlb():this.full_clear_tlb()),this.cr[4]=e,this.page_size_extensions=e&CR4_PSE?PSE_ENABLED:0,e&CR4_PAE)throw this.debug.unimpl("PAE");4294965504&e&&(dbg_assert(!1,"Unimplemented CR4 bits: "+h(e)),this.trigger_ud()),dbg_log("cr4="+h(e>>>0),LOG_CPU)},CPU.prototype.cpl_changed=function(){this.last_virt_esp=this.last_virt_eip=-1},CPU.prototype.read_imm8=function(){-4096&this.instruction_pointer^this.last_virt_eip&&(this.eip_phys=this.translate_address_read(this.instruction_pointer)^this.instruction_pointer,this.last_virt_eip=-4096&this.instruction_pointer);var e=this.read8(this.eip_phys^this.instruction_pointer);return this.instruction_pointer=this.instruction_pointer+1|0,e},CPU.prototype.read_imm8s=function(){return this.read_imm8()<<24>>24},CPU.prototype.read_imm16=function(){if(4094<(this.instruction_pointer^this.last_virt_eip)>>>0)return this.read_imm8()|this.read_imm8()<<8;var e=this.read16(this.eip_phys^this.instruction_pointer);return this.instruction_pointer=this.instruction_pointer+2|0,e},CPU.prototype.read_imm32s=function(){if(4092<(this.instruction_pointer^this.last_virt_eip)>>>0)return this.read_imm16()|this.read_imm16()<<16;var e=this.read32s(this.eip_phys^this.instruction_pointer);return this.instruction_pointer=this.instruction_pointer+4|0,e},CPU.prototype.create_atom64s=function(e,t){var s=new Int32Array(2);return s[0]=e,s[1]=t,s},CPU.prototype.create_atom128s=function(e,t,s,r){var i=new Int32Array(4);return i[0]=e,i[1]=t,i[2]=s,i[3]=r,i},CPU.prototype.read_modrm_byte=function(){this.modrm_byte=this.read_imm8()},CPU.prototype.read_op0F=CPU.prototype.read_imm8,CPU.prototype.read_sib=CPU.prototype.read_imm8,CPU.prototype.read_op8=CPU.prototype.read_imm8,CPU.prototype.read_op8s=CPU.prototype.read_imm8s,CPU.prototype.read_op16=CPU.prototype.read_imm16,CPU.prototype.read_op32s=CPU.prototype.read_imm32s,CPU.prototype.read_disp8=CPU.prototype.read_imm8,CPU.prototype.read_disp8s=CPU.prototype.read_imm8s,CPU.prototype.read_disp16=CPU.prototype.read_imm16,CPU.prototype.read_disp32s=CPU.prototype.read_imm32s,CPU.prototype.init2=function(){},CPU.prototype.branch_taken=function(){},CPU.prototype.branch_not_taken=function(){},CPU.prototype.diverged=function(){},CPU.prototype.modrm_resolve=function(e){return dbg_assert(192>e),(this.is_asize_32()?this.modrm_table32:this.modrm_table16)[e](this)},CPU.prototype.sib_resolve=function(e){return this.sib_table[this.read_sib()](this,e)},CPU.prototype.clear_instruction_cache=function(){},CPU.prototype.virt_boundary_read16=function(e,t){return dbg_assert(4095==(4095&e)),dbg_assert(0==(4095&t)),this.read8(e)|this.read8(t)<<8},CPU.prototype.virt_boundary_read32s=function(e,t){dbg_assert(4093<=(4095&e)),dbg_assert((t-3&4095)==(4095&e));var s=1&e?2&e?this.read_aligned16(t-2>>1):this.read_aligned16(e+1>>1):this.virt_boundary_read16(e+1|0,t-1|0);return this.read8(e)|s<<8|this.read8(t)<<24},CPU.prototype.virt_boundary_write16=function(e,t,s){dbg_assert(4095==(4095&e)),dbg_assert(0==(4095&t)),this.write8(e,s),this.write8(t,s>>8)},CPU.prototype.virt_boundary_write32=function(e,t,s){dbg_assert(4093<=(4095&e)),dbg_assert((t-3&4095)==(4095&e)),this.write8(e,s),this.write8(t,s>>24),1&e?2&e?(this.write8(t-2,s>>8),this.write8(t-1,s>>16)):(this.write8(e+1|0,s>>8),this.write8(e+2|0,s>>16)):(this.write8(e+1|0,s>>8),this.write8(t-1,s>>16))},CPU.prototype.safe_read8=function(e){return dbg_assert(2147483648>e),this.read8(this.translate_address_read(e))},CPU.prototype.safe_read16=function(e){return this.paging&&4095==(4095&e)?this.safe_read8(e)|this.safe_read8(e+1|0)<<8:this.read16(this.translate_address_read(e))},CPU.prototype.safe_read32s=function(e){return this.paging&&4093<=(4095&e)?this.safe_read16(e)|this.safe_read16(e+2|0)<<16:this.read32s(this.translate_address_read(e))},CPU.prototype.safe_read64s=function(e){var t=this.create_atom64s(0,0);return this.paging&&4089<=(4095&e)?(t[0]=this.safe_read32s(e),t[1]=this.safe_read32s(e+4|0)):(t[0]=this.read32s(this.translate_address_read(e)),t[1]=this.read32s(this.translate_address_read(e+4|0))),t},CPU.prototype.safe_read128s_aligned=function(e){return dbg_assert(0==(15&e)),e=this.translate_address_read(e), +this.create_atom128s(this.read32s(e),this.read32s(e+4|0),this.read32s(e+8|0),this.read32s(e+12|0))},CPU.prototype.safe_read128s_unaligned=function(e){return this.create_atom128s(this.safe_read32s(e),this.safe_read32s(e+4|0),this.safe_read32s(e+8|0),this.safe_read32s(e+12|0))},CPU.prototype.safe_write8=function(e,t){dbg_assert(2147483648>e),this.write8(this.translate_address_write(e),t)},CPU.prototype.safe_write16=function(e,t){var s=this.translate_address_write(e);4095==(4095&e)?this.virt_boundary_write16(s,this.translate_address_write(e+1|0),t):this.write16(s,t)},CPU.prototype.safe_write32=function(e,t){var s=this.translate_address_write(e);4093<=(4095&e)?this.virt_boundary_write32(s,this.translate_address_write(e+3&-4)|e+3&3,t):this.write32(s,t)},CPU.prototype.safe_write64=function(e,t,s){this.writable_or_pagefault(e,8),this.safe_write32(e,t),this.safe_write32(e+4|0,s)},CPU.prototype.safe_write128=function(e,t,s,r,i){this.writable_or_pagefault(e,16),this.safe_write32(e,t),this.safe_write32(e+4|0,s),this.safe_write32(e+8|0,r),this.safe_write32(e+12|0,i)},CPU.prototype.read_moffs=function(){return this.is_asize_32()?this.get_seg_prefix(reg_ds)+this.read_op32s()|0:this.get_seg_prefix(reg_ds)+this.read_op16()|0},CPU.prototype.getiopl=function(){return this.flags>>12&3},CPU.prototype.vm86_mode=function(){return!!(this.flags&flag_vm)},CPU.prototype.get_eflags=function(){return this.flags&~flags_all|!!this.getcf()|!!this.getpf()<<2|!!this.getaf()<<4|!!this.getzf()<<6|!!this.getsf()<<7|!!this.getof()<<11},CPU.prototype.update_eflags=function(e){var t=flag_rf|flag_vm|flag_vip|flag_vif,s=~flag_vip&~flag_vif&flags_mask;this.flags&flag_vm?(dbg_assert(3===this.getiopl()),t|=flag_iopl,s|=flag_vip|flag_vif):(this.protected_mode||dbg_assert(0===this.cpl),this.cpl&&(t|=flag_iopl,this.cpl>this.getiopl()&&(t|=flag_interrupt))),this.flags=(e^(this.flags^e)&t)&s|flags_default,this.flags_changed=0},CPU.prototype.get_stack_reg=function(){return this.stack_size_32?this.reg32s[reg_esp]:this.reg16[reg_sp]},CPU.prototype.set_stack_reg=function(e){this.stack_size_32?this.reg32s[reg_esp]=e:this.reg16[reg_sp]=e},CPU.prototype.adjust_stack_reg=function(e){this.stack_size_32?this.reg32s[reg_esp]+=e:this.reg16[reg_sp]+=e},CPU.prototype.get_stack_pointer=function(e){return this.stack_size_32?this.get_seg(reg_ss)+this.reg32s[reg_esp]+e|0:this.get_seg(reg_ss)+(this.reg16[reg_sp]+e&65535)|0},CPU.prototype.get_real_eip=function(){return this.instruction_pointer-this.get_seg(reg_cs)|0},CPU.prototype.call_interrupt_vector=function(e,t,s){if(CPU_LOG_VERBOSE&&this.debug.dump_state("int "+h(e)+" start ("+(t?"soft":"hard")+"ware)"),CPU_LOG_VERBOSE&&this.debug.dump_regs(),this.debug.debug_interrupt(e),dbg_assert(!1===s||"number"==typeof s),this.in_hlt=!1,this.protected_mode){if(this.vm86_mode()&&this.cr[4]&CR4_VME)throw this.debug.unimpl("VME");if(this.vm86_mode()&&t&&3>this.getiopl()&&(dbg_log("call_interrupt_vector #GP. vm86 && software int && iopl < 3",LOG_CPU),dbg_trace(LOG_CPU),this.trigger_gp(0)),(e<<3|7)>this.idtr_size)throw dbg_log(e,LOG_CPU),dbg_trace(LOG_CPU),this.debug.unimpl("#GP handler");var r=this.idtr_offset+(e<<3)|0;dbg_assert(4088>(4095&r)),this.paging&&(r=this.translate_address_system_read(r));var i=this.read16(r)|this.read16(r+6|0)<<16,_=this.read16(r+2|0),a=this.read8(r+5|0),o=a>>5&3,n=31&a;if(0==(128&a))throw this.debug.unimpl("#NP handler");if(t&&o>>0)+" "+h(_)),this.debug.unimpl("#GP handler");if(t=1==(1&n),n=0==(8&n),r=this.lookup_segment_selector(_),dbg_assert(i>>>0<=r.effective_limit),dbg_assert(r.is_valid),r.is_null)throw dbg_log("is null"),this.debug.unimpl("#GP handler");if(!r.is_executable||r.dpl>this.cpl)throw dbg_log("not exec"),this.debug.unimpl("#GP handler");if(r.is_present||(dbg_log("not present"),this.trigger_np(e<<3|2)),e=this.get_eflags(),!r.dc_bit&&r.dplthis.getiopl()&&(dbg_log("#gp iret vm86 mode, iopl != 3",LOG_CPU),this.trigger_gp(0)),e)var t=this.safe_read16(this.get_stack_pointer(0)),s=this.safe_read16(this.get_stack_pointer(2)),r=this.safe_read16(this.get_stack_pointer(4));else t=this.safe_read32s(this.get_stack_pointer(0)),s=this.safe_read16(this.get_stack_pointer(4)),r=this.safe_read32s(this.get_stack_pointer(8));if(!this.protected_mode||this.vm86_mode()&&3===this.getiopl()){if(4294901760&t)throw this.debug.unimpl("#GP handler");this.switch_cs_real_mode(s),this.instruction_pointer=t+this.get_seg(reg_cs)|0,e?(this.update_eflags(r|-65536&this.flags),this.adjust_stack_reg(6)):(this.update_eflags(r),this.adjust_stack_reg(12)),CPU_LOG_VERBOSE&&this.debug.dump_state("iret end")}else{if(dbg_assert(!this.vm86_mode()),this.flags&flag_nt){if(DEBUG)throw this.debug.unimpl("nt");this.trigger_gp(0)}if(r&flag_vm){if(0===this.cpl){dbg_assert(!e),dbg_assert(0==(-65536&t));var i=this.safe_read32s(this.get_stack_pointer(12)),_=this.safe_read16(this.get_stack_pointer(16));e=this.safe_read16(this.get_stack_pointer(20));var a=this.safe_read16(this.get_stack_pointer(24)),o=this.safe_read16(this.get_stack_pointer(28)),n=this.safe_read16(this.get_stack_pointer(32));return this.update_eflags(r),this.flags|=flag_vm,this.switch_cs_real_mode(s),this.instruction_pointer=(65535&t)+this.get_seg(reg_cs)|0,this.switch_seg(reg_es,e),this.switch_seg(reg_ds,a),this.switch_seg(reg_fs,o),this.switch_seg(reg_gs,n),this.adjust_stack_reg(36),this.reg32s[reg_esp]=i,this.switch_seg(reg_ss,_),this.cpl=3,this.cpl_changed(),this.update_cs_size(!1),void(CPU_LOG_VERBOSE&&this.debug.dump_state("iret end"))}dbg_log("vm86 flag ignored because cpl != 0",LOG_CPU),r&=~flag_vm}if(a=this.lookup_segment_selector(s),dbg_assert(a.is_valid),dbg_assert(t>>>0<=a.effective_limit),a.is_null)throw this.debug.unimpl("is null");if(!a.is_present)throw this.debug.unimpl("not present");if(!a.is_executable)throw this.debug.unimpl("not exec");if(a.rpla.rpl)throw this.debug.unimpl("conforming and dpl > rpl");a.dc_bit||a.rpl===a.dpl||(dbg_log("#gp iret: non-conforming cs and rpl != dpl, dpl="+a.dpl+" rpl="+a.rpl,LOG_CPU),this.trigger_gp(-4&s)),a.rpl>this.cpl?(e?(i=this.safe_read16(this.get_stack_pointer(6)),_=this.safe_read16(this.get_stack_pointer(8))):(i=this.safe_read32s(this.get_stack_pointer(12)),_=this.safe_read16(this.get_stack_pointer(16))),o=this.lookup_segment_selector(_),n=a.rpl,o.is_null&&(dbg_log("#GP for loading 0 in SS sel="+h(_,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_gp(0)),o.is_valid&&!o.is_system&&o.rpl===n&&o.is_writable&&o.dpl===n||(dbg_log("#GP for loading invalid in SS sel="+h(_,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_gp(-4&_)),o.is_present||(dbg_log("#SS for loading non-present in SS sel="+h(_,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_ss(-4&_)),e?this.update_eflags(r|-65536&this.flags):this.update_eflags(r),this.cpl=a.rpl,this.cpl_changed(),this.switch_seg(reg_ss,_),this.set_stack_reg(i),0===this.cpl&&(this.flags=this.flags&~flag_vif&~flag_vip|r&(flag_vif|flag_vip))):a.rpl===this.cpl?(e?(this.adjust_stack_reg(6),this.update_eflags(r|-65536&this.flags)):(this.adjust_stack_reg(12),this.update_eflags(r)),0===this.cpl&&(this.flags=this.flags&~flag_vif&~flag_vip|r&(flag_vif|flag_vip))):dbg_assert(!1),this.sreg[reg_cs]=s,dbg_assert((3&s)===this.cpl),this.update_cs_size(a.size),this.segment_limits[reg_cs]=a.effective_limit,this.segment_offsets[reg_cs]=a.base,this.instruction_pointer=t+this.get_seg(reg_cs)|0,CPU_LOG_VERBOSE&&this.debug.dump_state("iret"+(e?"16":"32")+" end")}this.handle_irqs()},CPU.prototype.switch_cs_real_mode=function(e){dbg_assert(!this.protected_mode||this.vm86_mode()),this.sreg[reg_cs]=e,this.segment_is_null[reg_cs]=0,this.segment_offsets[reg_cs]=e<<4},CPU.prototype.far_return=function(e,t,s){if(dbg_assert("number"==typeof t&&65536>t&&0<=t),CPU_LOG_VERBOSE&&this.debug.dump_state("far ret start"),this.protected_mode||dbg_assert(!this.is_32),!this.protected_mode||this.vm86_mode())this.switch_cs_real_mode(t),this.instruction_pointer=this.get_seg(reg_cs)+e|0,this.adjust_stack_reg(2*(this.is_osize_32()?4:2)+s);else{var r=this.lookup_segment_selector(t);if(r.is_null&&(dbg_log("null cs",LOG_CPU),this.trigger_gp(0)),r.is_valid||(dbg_log("invalid cs: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),r.is_system&&(dbg_assert(!1,"is system in far return"),this.trigger_gp(-4&t)),r.is_executable||(dbg_log("non-executable cs: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),r.rplr.rpl&&(dbg_log("cs conforming and dpl > rpl: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),r.dc_bit||r.dpl===r.rpl||(dbg_log("cs non-conforming and dpl != rpl: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),r.is_present||(dbg_log("#NP for loading not-present in cs sel="+h(t,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_np(-4&t)),r.rpl>this.cpl){if(dbg_log("far return privilege change cs: "+h(t)+" from="+this.cpl+" to="+r.rpl+" is_16="+this.is_osize_32(),LOG_CPU),this.is_osize_32())var i=this.safe_read32s(this.get_stack_pointer(s+8)),_=this.safe_read16(this.get_stack_pointer(s+12));else i=this.safe_read16(this.get_stack_pointer(s+4)),_=this.safe_read16(this.get_stack_pointer(s+6));this.cpl=r.rpl,this.cpl_changed(),this.switch_seg(reg_ss,_),this.set_stack_reg(i+s)}else this.is_osize_32()?this.adjust_stack_reg(8+s):this.adjust_stack_reg(4+s);this.update_cs_size(r.size),this.segment_is_null[reg_cs]=0,this.segment_limits[reg_cs]=r.effective_limit,this.segment_offsets[reg_cs]=r.base,this.sreg[reg_cs]=t,dbg_assert((3&t)===this.cpl),this.instruction_pointer=this.get_seg(reg_cs)+e|0,CPU_LOG_VERBOSE&&this.debug.dump_state("far ret end")}},CPU.prototype.far_jump=function(e,t,s){if(dbg_assert("number"==typeof t&&65536>t&&0<=t),CPU_LOG_VERBOSE&&this.debug.dump_state("far "+["jump","call"][+s]),!this.protected_mode||this.vm86_mode())s&&(this.is_osize_32()?(this.writable_or_pagefault(this.get_stack_pointer(-8),8),this.push32(this.sreg[reg_cs]),this.push32(this.get_real_eip())):(this.writable_or_pagefault(this.get_stack_pointer(-4),4),this.push16(this.sreg[reg_cs]),this.push16(this.get_real_eip()))),this.switch_cs_real_mode(t),this.instruction_pointer=this.get_seg(reg_cs)+e|0;else{var r=this.lookup_segment_selector(t);if(r.is_null&&(dbg_log("#gp null cs",LOG_CPU),this.trigger_gp(0)),r.is_valid||(dbg_log("#gp invalid cs: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),r.is_system){if(dbg_assert(s,"TODO: Jump"),dbg_log("system type cs: "+h(t),LOG_CPU),12!==r.type&&4!==r.type)throw this.debug.unimpl("load system segment descriptor, type = "+(15&r.access)+" ("+{9:"Available 386 TSS",11:"Busy 386 TSS",4:"286 Call Gate",12:"386 Call Gate"}[15&r.access]+")");e=4===r.type,(r.dplthis.cpl&&(dbg_log("#gp dpl > cpl: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),i.is_present||(dbg_log("#NP for loading not-present in cs sel="+h(t,4),LOG_CPU),this.trigger_np(-4&t)),!i.dc_bit&&i.dplthis.cpl&&(dbg_log("#gp cs dpl > cpl: "+h(t),LOG_CPU),this.trigger_gp(-4&t)):(r.rpl>this.cpl||r.dpl!==this.cpl)&&(dbg_log("#gp cs rpl > cpl or dpl != cpl: "+h(t),LOG_CPU),this.trigger_gp(-4&t)),r.is_present||(dbg_log("#NP for loading not-present in cs sel="+h(t,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_np(-4&t)),s&&(this.is_osize_32()?(this.writable_or_pagefault(this.get_stack_pointer(-8),8),this.push32(this.sreg[reg_cs]),this.push32(this.get_real_eip())):(this.writable_or_pagefault(this.get_stack_pointer(-4),4),this.push16(this.sreg[reg_cs]),this.push16(this.get_real_eip()))),dbg_assert(e>>>0<=r.effective_limit,"todo: #gp"),this.update_cs_size(r.size),this.segment_is_null[reg_cs]=0,this.segment_limits[reg_cs]=r.effective_limit,this.segment_offsets[reg_cs]=r.base,this.sreg[reg_cs]=-4&t|this.cpl,this.instruction_pointer=this.get_seg(reg_cs)+e|0;CPU_LOG_VERBOSE&&this.debug.dump_state("far "+["jump","call"][+s]+" end")}},CPU.prototype.get_tss_stack_addr=function(e){if(this.tss_size_32){if(((e=4+(e<<3)|0)+5|0)>this.segment_limits[reg_tr])throw this.debug.unimpl("#TS handler");e=e+this.segment_offsets[reg_tr]|0,dbg_assert(4090>=(4095&e))}else{if(((e=2+(e<<2)|0)+5|0)>this.segment_limits[reg_tr])throw this.debug.unimpl("#TS handler");e=e+this.segment_offsets[reg_tr]|0,dbg_assert(4092>=(4095&e))}return this.paging&&(e=this.translate_address_system_read(e)),e},CPU.prototype.do_task_switch=function(e,t){dbg_assert(this.tss_size_32,"TODO"),dbg_log("do_task_switch sel="+h(e),LOG_CPU);var s=this.lookup_segment_selector(e);dbg_assert(3==(2|s.type)||11==(2|s.type));var r=3>=s.type,i=2==(2&s.type);if(!s.is_valid||s.is_null||!s.from_gdt)throw this.debug.unimpl("#GP handler");if(11==(31&s.access))throw this.debug.unimpl("#GP handler");if(!s.is_present)throw this.debug.unimpl("#NP handler");if(103>s.effective_limit)throw this.debug.unimpl("#NP handler");var _=this.segment_offsets[reg_tr],a=this.get_eflags();i&&(a&=~flag_nt),this.writable_or_pagefault(_,102),this.safe_write32(_+TSR_EIP,this.get_real_eip()),this.safe_write32(_+TSR_EFLAGS,a),this.safe_write32(_+TSR_EAX,this.reg32s[reg_eax]),this.safe_write32(_+TSR_ECX,this.reg32s[reg_ecx]),this.safe_write32(_+TSR_EDX,this.reg32s[reg_edx]),this.safe_write32(_+TSR_EBX,this.reg32s[reg_ebx]),this.safe_write32(_+TSR_ESP,this.reg32s[reg_esp]),this.safe_write32(_+TSR_EBP,this.reg32s[reg_ebp]),this.safe_write32(_+TSR_ESI,this.reg32s[reg_esi]),this.safe_write32(_+TSR_EDI,this.reg32s[reg_edi]),this.safe_write32(_+TSR_ES,this.sreg[reg_es]),this.safe_write32(_+TSR_CS,this.sreg[reg_cs]),this.safe_write32(_+TSR_SS,this.sreg[reg_ss]),this.safe_write32(_+TSR_DS,this.sreg[reg_ds]),this.safe_write32(_+TSR_FS,this.sreg[reg_fs]),this.safe_write32(_+TSR_GS,this.sreg[reg_gs]),this.write8(s.table_offset+5|0,2|this.read8(s.table_offset+5|0)),i=s.base,dbg_assert(!r,"unimplemented"),this.safe_write16(i+TSR_BACKLINK,this.sreg[reg_tr]),a=this.safe_read32s(i+TSR_CR3),this.flags&=~flag_vm;var o=this.safe_read32s(i+TSR_EIP),n=this.safe_read16(i+TSR_CS),d=this.lookup_segment_selector(n);if(d.is_null)throw dbg_log("null cs",LOG_CPU),this.debug.unimpl("#TS handler");if(!d.is_valid)throw dbg_log("invalid cs: "+h(e),LOG_CPU),this.debug.unimpl("#TS handler");if(d.is_system)throw this.debug.unimpl("#TS handler");if(!d.is_executable)throw this.debug.unimpl("#TS handler");if(d.dc_bit&&d.dpl>d.rpl)throw dbg_log("cs conforming and dpl > rpl: "+h(e),LOG_CPU),this.debug.unimpl("#TS handler");if(!d.dc_bit&&d.dpl!==d.rpl)throw dbg_log("cs non-conforming and dpl != rpl: "+h(e),LOG_CPU),this.debug.unimpl("#TS handler");if(!d.is_present)throw dbg_log("#NP for loading not-present in cs sel="+h(e,4),LOG_CPU),this.debug.unimpl("#TS handler");if(this.segment_is_null[reg_cs]=0,this.segment_limits[reg_cs]=d.effective_limit,this.segment_offsets[reg_cs]=d.base,this.sreg[reg_cs]=n,this.cpl=d.dpl,this.cpl_changed(),dbg_assert((3&this.sreg[reg_cs])===this.cpl),dbg_assert(o>>>0<=d.effective_limit,"todo: #gp"),this.update_cs_size(d.size),n=this.safe_read32s(i+TSR_EFLAGS),this.safe_write32(_+TSR_BACKLINK,e),(n|=flag_nt)&flag_vm)throw this.debug.unimpl("task switch to VM mode");this.update_eflags(n),this.flags|=flag_nt,_=this.safe_read16(i+TSR_LDT),this.load_ldt(_),this.reg32s[reg_eax]=this.safe_read32s(i+TSR_EAX),this.reg32s[reg_ecx]=this.safe_read32s(i+TSR_ECX),this.reg32s[reg_edx]=this.safe_read32s(i+TSR_EDX),this.reg32s[reg_ebx]=this.safe_read32s(i+TSR_EBX),this.reg32s[reg_esp]=this.safe_read32s(i+TSR_ESP),this.reg32s[reg_ebp]=this.safe_read32s(i+TSR_EBP),this.reg32s[reg_esi]=this.safe_read32s(i+TSR_ESI),this.reg32s[reg_edi]=this.safe_read32s(i+TSR_EDI),this.switch_seg(reg_es,this.safe_read16(i+TSR_ES)),this.switch_seg(reg_ss,this.safe_read16(i+TSR_SS)),this.switch_seg(reg_ds,this.safe_read16(i+TSR_DS)),this.switch_seg(reg_fs,this.safe_read16(i+TSR_FS)),this.switch_seg(reg_gs,this.safe_read16(i+TSR_GS)),this.instruction_pointer=this.get_seg(reg_cs)+o|0,this.segment_offsets[reg_tr]=s.base,this.segment_limits[reg_tr]=s.effective_limit,this.sreg[reg_tr]=e,this.cr[3]=a,dbg_assert(0==(4095&this.cr[3])),this.clear_tlb(),this.cr[0]|=CR0_TS,!1!==t&&(r?this.push16(65535&t):this.push32(t))},CPU.prototype.hlt_op=function(){if(this.cpl&&this.trigger_gp(0),0==(this.flags&flag_interrupt))throw this.debug.show("cpu halted"),this.bus.send("cpu-event-halt"),DEBUG&&this.debug.dump_regs(),"HALT";throw this.in_hlt=!0,MAGIC_CPU_EXCEPTION},CPU.prototype.raise_exception=function(e){throw this.call_interrupt_vector(e,!1,!1),MAGIC_CPU_EXCEPTION},CPU.prototype.raise_exception_with_code=function(e,t){throw dbg_assert("number"==typeof t),this.call_interrupt_vector(e,!1,t),MAGIC_CPU_EXCEPTION},CPU.prototype.trigger_de=function(){this.instruction_pointer=this.previous_ip,this.raise_exception(0)},CPU.prototype.trigger_ud=function(){this.instruction_pointer=this.previous_ip,this.raise_exception(6)},CPU.prototype.trigger_nm=function(){this.instruction_pointer=this.previous_ip,this.raise_exception(7)},CPU.prototype.trigger_ts=function(e){this.instruction_pointer=this.previous_ip,this.raise_exception_with_code(10,e)},CPU.prototype.trigger_gp=function(e){this.instruction_pointer=this.previous_ip,this.raise_exception_with_code(13,e)},CPU.prototype.trigger_np=function(e){this.instruction_pointer=this.previous_ip,this.raise_exception_with_code(11,e)},CPU.prototype.trigger_ss=function(e){this.instruction_pointer=this.previous_ip,this.raise_exception_with_code(12,e)},CPU.prototype.task_switch_test=function(){this.cr[0]&(CR0_EM|CR0_TS)&&this.trigger_nm()},CPU.prototype.task_switch_test_mmx=function(){this.cr[0]&(CR0_EM|CR0_TS)&&(this.cr[0]&CR0_TS?this.trigger_nm():this.trigger_ud())},CPU.prototype.todo=function(){if(DEBUG)throw dbg_trace(),"TODO";this.trigger_ud()},CPU.prototype.undefined_instruction=function(){dbg_assert(!1,"Possible fault: undefined instruction"),this.trigger_ud()},CPU.prototype.unimplemented_sse=function(){dbg_log("No SSE",LOG_CPU),dbg_assert(!1),this.trigger_ud()},CPU.prototype.get_seg_prefix_ds=function(){return this.get_seg_prefix(reg_ds)},CPU.prototype.get_seg_prefix_ss=function(){return this.get_seg_prefix(reg_ss)},CPU.prototype.get_seg_prefix_cs=function(){return this.get_seg_prefix(reg_cs)},CPU.prototype.get_seg_prefix=function(e){var t=this.prefixes&PREFIX_MASK_SEGMENT;return t?t===SEG_PREFIX_ZERO?0:this.get_seg(t-1):this.get_seg(e)},CPU.prototype.get_seg=function(e){return dbg_assert(0<=e&&8>e),this.protected_mode&&this.segment_is_null[e]&&(dbg_assert(e!==reg_cs&&e!==reg_ss),dbg_trace(),dbg_log("#gp Use null segment: "+e+" sel="+h(this.sreg[e],4),LOG_CPU),this.trigger_gp(0)),this.segment_offsets[e]},CPU.prototype.read_e8=function(){return 192>this.modrm_byte?this.safe_read8(this.modrm_resolve(this.modrm_byte)):this.reg8[this.modrm_byte<<2&12|this.modrm_byte>>2&1]},CPU.prototype.read_e8s=function(){return this.read_e8()<<24>>24},CPU.prototype.read_e16=function(){return 192>this.modrm_byte?this.safe_read16(this.modrm_resolve(this.modrm_byte)):this.reg16[this.modrm_byte<<1&14]},CPU.prototype.read_e16s=function(){return this.read_e16()<<16>>16},CPU.prototype.read_e32s=function(){return 192>this.modrm_byte?this.safe_read32s(this.modrm_resolve(this.modrm_byte)):this.reg32s[7&this.modrm_byte]},CPU.prototype.read_e32=function(){return this.read_e32s()>>>0},CPU.prototype.read_mmx_mem32s=function(){return 192>this.modrm_byte?this.safe_read32s(this.modrm_resolve(this.modrm_byte)):this.reg_mmxs[2*(7&this.modrm_byte)]},CPU.prototype.read_mmx_mem64s=function(){return 192>this.modrm_byte?this.safe_read64s(this.modrm_resolve(this.modrm_byte)):this.create_atom64s(this.reg_mmxs[2*(7&this.modrm_byte)],this.reg_mmxs[2*(7&this.modrm_byte)+1])},CPU.prototype.read_xmm_mem64s=function(){if(192>this.modrm_byte)return this.safe_read64s(this.modrm_resolve(this.modrm_byte));var e=(7&this.modrm_byte)<<2;return this.create_atom64s(this.reg_xmm32s[e],this.reg_xmm32s[1|e])},CPU.prototype.read_xmm_mem128s=function(){if(192>this.modrm_byte)return this.safe_read128s_aligned(this.modrm_resolve(this.modrm_byte));var e=(7&this.modrm_byte)<<2;return this.create_atom128s(this.reg_xmm32s[e],this.reg_xmm32s[1|e],this.reg_xmm32s[2|e],this.reg_xmm32s[3|e])},CPU.prototype.read_xmm_mem128s_unaligned=function(){if(192>this.modrm_byte)return this.safe_read128s_unaligned(this.modrm_resolve(this.modrm_byte));var e=(7&this.modrm_byte)<<2;return this.create_atom128s(this.reg_xmm32s[e],this.reg_xmm32s[1|e],this.reg_xmm32s[2|e],this.reg_xmm32s[3|e])},CPU.prototype.set_e8=function(e){if(192>this.modrm_byte){var t=this.modrm_resolve(this.modrm_byte);this.safe_write8(t,e)}else this.reg8[this.modrm_byte<<2&12|this.modrm_byte>>2&1]=e},CPU.prototype.set_e16=function(e){if(192>this.modrm_byte){var t=this.modrm_resolve(this.modrm_byte);this.safe_write16(t,e)}else this.reg16[this.modrm_byte<<1&14]=e},CPU.prototype.set_e32=function(e){if(192>this.modrm_byte){var t=this.modrm_resolve(this.modrm_byte);this.safe_write32(t,e)}else this.reg32s[7&this.modrm_byte]=e},CPU.prototype.set_mmx_mem64s=function(e,t){if(192>this.modrm_byte){var s=this.modrm_resolve(this.modrm_byte);this.safe_write64(s,e,t)}else this.reg_mmxs[2*(7&this.modrm_byte)]=e,this.reg_mmxs[2*(7&this.modrm_byte)+1]=t},CPU.prototype.read_write_e8=function(){if(192>this.modrm_byte){var e=this.modrm_resolve(this.modrm_byte);return this.phys_addr=this.translate_address_write(e),this.read8(this.phys_addr)}return this.reg8[this.modrm_byte<<2&12|this.modrm_byte>>2&1]},CPU.prototype.write_e8=function(e){192>this.modrm_byte?this.write8(this.phys_addr,e):this.reg8[this.modrm_byte<<2&12|this.modrm_byte>>2&1]=e},CPU.prototype.read_write_e16=function(){if(192>this.modrm_byte){var e=this.modrm_resolve(this.modrm_byte);return this.phys_addr=this.translate_address_write(e),this.paging&&4095==(4095&e)?(this.phys_addr_high=this.translate_address_write(e+1|0),dbg_assert(this.phys_addr_high),this.virt_boundary_read16(this.phys_addr,this.phys_addr_high)):(this.phys_addr_high=0,this.read16(this.phys_addr))}return this.reg16[this.modrm_byte<<1&14]},CPU.prototype.write_e16=function(e){192>this.modrm_byte?this.phys_addr_high?this.virt_boundary_write16(this.phys_addr,this.phys_addr_high,e):this.write16(this.phys_addr,e):this.reg16[this.modrm_byte<<1&14]=e},CPU.prototype.read_write_e32=function(){if(192>this.modrm_byte){var e=this.modrm_resolve(this.modrm_byte);return this.phys_addr=this.translate_address_write(e),this.paging&&4093<=(4095&e)?(this.phys_addr_high=this.translate_address_write(e+3&-4)|e+3&3,dbg_assert(this.phys_addr_high),this.virt_boundary_read32s(this.phys_addr,this.phys_addr_high)):(this.phys_addr_high=0,this.read32s(this.phys_addr))}return this.reg32s[7&this.modrm_byte]},CPU.prototype.write_e32=function(e){192>this.modrm_byte?this.phys_addr_high?this.virt_boundary_write32(this.phys_addr,this.phys_addr_high,e):this.write32(this.phys_addr,e):this.reg32s[7&this.modrm_byte]=e},CPU.prototype.read_reg_e16=function(){return this.reg16[this.modrm_byte<<1&14]},CPU.prototype.write_reg_e16=function(e){this.reg16[this.modrm_byte<<1&14]=e},CPU.prototype.read_reg_e32s=function(){return this.reg32s[7&this.modrm_byte]},CPU.prototype.write_reg_e32=function(e){this.reg32s[7&this.modrm_byte]=e},CPU.prototype.read_g8=function(){return this.reg8[this.modrm_byte>>1&12|this.modrm_byte>>5&1]},CPU.prototype.write_g8=function(e){this.reg8[this.modrm_byte>>1&12|this.modrm_byte>>5&1]=e},CPU.prototype.read_g16=function(){return this.reg16[this.modrm_byte>>2&14]},CPU.prototype.read_g16s=function(){return this.reg16s[this.modrm_byte>>2&14]},CPU.prototype.write_g16=function(e){this.reg16[this.modrm_byte>>2&14]=e},CPU.prototype.read_g32s=function(){return this.reg32s[this.modrm_byte>>3&7]},CPU.prototype.write_g32=function(e){this.reg32[this.modrm_byte>>3&7]=e},CPU.prototype.read_xmm64s=function(){return this.create_atom64s(this.reg_xmm32s[(this.modrm_byte>>3&7)<<2],this.reg_xmm32s[(this.modrm_byte>>3&7)<<2|1])},CPU.prototype.read_xmm128s=function(){var e=(this.modrm_byte>>3&7)<<2;return this.create_atom128s(this.reg_xmm32s[0|e],this.reg_xmm32s[1|e],this.reg_xmm32s[2|e],this.reg_xmm32s[3|e])},CPU.prototype.read_mmx64s=function(){return this.create_atom64s(this.reg_mmxs[2*(this.modrm_byte>>3&7)],this.reg_mmxs[2*(this.modrm_byte>>3&7)+1])},CPU.prototype.write_mmx64s=function(e,t){this.reg_mmxs[2*(this.modrm_byte>>3&7)]=e,this.reg_mmxs[2*(this.modrm_byte>>3&7)+1]=t},CPU.prototype.write_xmm64=function(e,t){var s=(this.modrm_byte>>3&7)<<2;this.reg_xmm32s[s]=e,this.reg_xmm32s[s+1]=t},CPU.prototype.write_xmm128s=function(e,t,s,r){var i=(this.modrm_byte>>3&7)<<2;this.reg_xmm32s[i]=e,this.reg_xmm32s[i+1]=t,this.reg_xmm32s[i+2]=s,this.reg_xmm32s[i+3]=r},CPU.prototype.pic_call_irq=function(e){try{this.previous_ip=this.instruction_pointer,this.call_interrupt_vector(e,!1,!1)}catch(e){this.exception_cleanup(e)}},CPU.prototype.handle_irqs=function(){dbg_assert(!this.page_fault),this.diverged(),this.flags&flag_interrupt&&!this.page_fault&&(this.devices.pic&&this.devices.pic.acknowledge_irq(),this.devices.apic&&this.devices.apic.acknowledge_irq())},CPU.prototype.device_raise_irq=function(e){dbg_assert(1===arguments.length),this.devices.pic&&this.devices.pic.set_irq(e),this.devices.ioapic&&this.devices.ioapic.set_irq(e)},CPU.prototype.device_lower_irq=function(e){this.devices.pic&&this.devices.pic.clear_irq(e),this.devices.ioapic&&this.devices.ioapic.clear_irq(e)},CPU.prototype.test_privileges_for_io=function(e,t){if(this.protected_mode&&(this.cpl>this.getiopl()||this.flags&flag_vm)){this.tss_size_32||(dbg_log("#GP for port io, 16-bit TSS port="+h(e)+" size="+t,LOG_CPU),CPU_LOG_VERBOSE&&this.debug.dump_state(),this.trigger_gp(0));var s=this.segment_limits[reg_tr],r=this.segment_offsets[reg_tr];if(103<=s){dbg_assert(4095>(r+100+2&4095));var i=this.read16(this.translate_address_system_read(r+100+2|0));if(s>=(i+((e+t-1|0)>>3)|0)&&(s=(1<>3)|0),i=65280&s?this.read16(r):this.read8(r),dbg_assert(4095>(4095&r)),!(i&s)))return}dbg_log("#GP for port io port="+h(e)+" size="+t,LOG_CPU),CPU_LOG_VERBOSE&&this.debug.dump_state(),this.trigger_gp(0)}},CPU.prototype.cpuid=function(){var e=0,t=0,s=0,r=0;switch(this.reg32s[reg_eax]){case 0:e=5,r=1970169159,s=1231384169,t=1818588270;break;case 1:e=3939,r=67584,t=1082130432,VMWARE_HYPERVISOR_PORT&&(t|=-2147483648),s=125872440|(this.fpu?1:0),ENABLE_ACPI&&this.apic_enabled&&(s|=512);break;case 2:e=1717260289,t=r=0,s=8024064;break;case 4:switch(this.reg32s[reg_ecx]){case 0:e=289,r=29360191,t=63,s=1;break;case 1:e=290,r=29360191,t=63,s=1;break;case 2:e=323,r=96469055,t=4095,s=1}break;case 5:r=e=64,t=3,s=1319200;break +;case-2147483648:e=5;break;case 1073741824:VMWARE_HYPERVISOR_PORT&&(r=1635208534,t=1297507698,s=1701994871);break;default:dbg_log("cpuid: unimplemented eax: "+h(this.reg32[reg_eax]),LOG_CPU)}dbg_log("cpuid: eax="+h(this.reg32[reg_eax],8)+" cl="+h(this.reg8[reg_cl],2),LOG_CPU),this.reg32s[reg_eax]=e,this.reg32s[reg_ecx]=t,this.reg32s[reg_edx]=s,this.reg32s[reg_ebx]=r},CPU.prototype.update_cs_size=function(e){dbg_assert("boolean"==typeof e),this.is_32!==e&&(this.clear_instruction_cache(),this.is_32=e,this.update_operand_size())},CPU.prototype.update_operand_size=function(){this.table=this.is_32?this.table32:this.table16},CPU.prototype.lookup_segment_selector=function(e){dbg_assert("number"==typeof e&&0<=e&&65536>e);var t=0==(4&e),s=-8&e,r={rpl:3&e,from_gdt:t,is_null:!1,is_valid:!0,base:0,access:0,flags:0,type:0,dpl:0,is_system:!1,is_present:!1,is_executable:!1,rw_bit:!1,dc_bit:!1,size:!1,is_conforming_executable:!1,effective_limit:0,is_writable:!1,is_readable:!1,table_offset:0,raw0:0,raw1:0};if(t)var i=this.gdtr_offset,_=this.gdtr_size;else i=this.segment_offsets[reg_ldtr],_=this.segment_limits[reg_ldtr];return t&&0===s?(r.is_null=!0,r):(7|e)>_?(dbg_log("Selector "+h(e,4)+" is outside of the "+(t?"g":"l")+"dt limits",LOG_CPU),r.is_valid=!1,r):(i=i+s|0,this.paging&&(i=this.translate_address_system_read(i)),r.table_offset=i,r.base=this.read16(i+2|0)|this.read8(i+4|0)<<16|this.read8(i+7|0)<<24,r.access=this.read8(i+5|0),r.flags=this.read8(i+6|0)>>4,r.raw0=this.read32s(0|i),r.raw1=this.read32s(i+4|0),r.type=15&r.access,r.dpl=r.access>>5&3,r.is_system=0==(16&r.access),r.is_present=128==(128&r.access),r.is_executable=8==(8&r.access),r.rw_bit=2==(2&r.access),r.dc_bit=4==(4&r.access),r.is_conforming_executable=r.dc_bit&&r.is_executable,r.size=4==(4&r.flags),e=this.read16(i)|(15&this.read8(i+6|0))<<16,r.effective_limit=8&r.flags?(e<<12|4095)>>>0:e,r.is_writable=r.rw_bit&&!r.is_executable,r.is_readable=r.rw_bit||!r.is_executable,r)},CPU.prototype.switch_seg=function(e,t){if(dbg_assert(0<=e&&5>=e),dbg_assert("number"==typeof t&&65536>t&&0<=t),!this.protected_mode||this.vm86_mode())this.sreg[e]=t,this.segment_is_null[e]=0,this.segment_offsets[e]=t<<4,e===reg_ss&&(this.stack_size_32=!1);else{var s=this.lookup_segment_selector(t);if(e===reg_ss)s.is_null&&(dbg_log("#GP for loading 0 in SS sel="+h(t,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_gp(0)),s.is_valid&&!s.is_system&&s.rpl===this.cpl&&s.is_writable&&s.dpl===this.cpl||(dbg_log("#GP for loading invalid in SS sel="+h(t,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_gp(-4&t)),s.is_present||(dbg_log("#SS for loading non-present in SS sel="+h(t,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_ss(-4&t)),this.stack_size_32=s.size;else if(e===reg_cs)dbg_assert(!1);else{if(s.is_null)return this.sreg[e]=t,void(this.segment_is_null[e]=1);(!s.is_valid||s.is_system||!s.is_readable||!s.is_conforming_executable&&(s.rpl>s.dpl||this.cpl>s.dpl))&&(dbg_log("#GP for loading invalid in seg "+e+" sel="+h(t,4),LOG_CPU),this.debug.dump_state(),this.debug.dump_regs(),dbg_trace(LOG_CPU),this.trigger_gp(-4&t)),s.is_present||(dbg_log("#NP for loading not-present in seg "+e+" sel="+h(t,4),LOG_CPU),dbg_trace(LOG_CPU),this.trigger_np(-4&t))}this.segment_is_null[e]=0,this.segment_limits[e]=s.effective_limit,this.segment_offsets[e]=s.base,this.sreg[e]=t}},CPU.prototype.load_tr=function(e){var t=this.lookup_segment_selector(e);if(dbg_assert(t.is_valid),!t.from_gdt)throw this.debug.unimpl("TR can only be loaded from GDT");if(t.is_null)throw dbg_log("#GP(0) | tried to load null selector (ltr)"),this.debug.unimpl("#GP handler");if(!t.is_system)throw dbg_log("#GP | ltr: not a system entry"),this.debug.unimpl("#GP handler (happens when running kvm-unit-test without ACPI)");if(9!==t.type&&1!==t.type)throw dbg_log("#GP | ltr: invalid type (type = "+h(t.type)+")"),this.debug.unimpl("#GP handler");if(!t.is_present)throw dbg_log("#NT | present bit not set (ltr)"),this.debug.unimpl("#NT handler");this.tss_size_32=9===t.type,this.segment_offsets[reg_tr]=t.base,this.segment_limits[reg_tr]=t.effective_limit,this.sreg[reg_tr]=e,this.write8(t.table_offset+5|0,2|this.read8(t.table_offset+5|0))},CPU.prototype.load_ldt=function(e){var t=this.lookup_segment_selector(e);if(t.is_null)this.segment_offsets[reg_ldtr]=0,this.segment_limits[reg_ldtr]=0;else{if(dbg_assert(t.is_valid),!t.from_gdt)throw this.debug.unimpl("LDTR can only be loaded from GDT");if(!t.is_present)throw dbg_log("lldt: present bit not set"),this.debug.unimpl("#GP handler");if(!t.is_system)throw dbg_log("lldt: not a system entry"),this.debug.unimpl("#GP handler");if(2!==t.type)throw dbg_log("lldt: invalid type ("+t.type+")"),this.debug.unimpl("#GP handler");this.segment_offsets[reg_ldtr]=t.base,this.segment_limits[reg_ldtr]=t.effective_limit,this.sreg[reg_ldtr]=e}},CPU.prototype.arpl=function(e,t){return this.flags_changed&=~flag_zero,(3&e)<(3&this.reg16[t])?(this.flags|=flag_zero,-4&e|3&this.reg16[t]):(this.flags&=~flag_zero,e)},CPU.prototype.lar=function(e,t){dbg_log("lar sel="+h(e,4),LOG_CPU);var s=this.lookup_segment_selector(e);this.flags_changed&=~flag_zero;var r=s.dpl>s.type&1||r:!s.is_conforming_executable&&r)?(this.flags&=~flag_zero,dbg_log("lar: invalid selector="+h(e,4)+" is_null="+s.is_null,LOG_CPU),t):(this.flags|=flag_zero,16776960&s.raw1)},CPU.prototype.lsl=function(e,t){dbg_log("lsl sel="+h(e,4),LOG_CPU);var s=this.lookup_segment_selector(e);this.flags_changed&=~flag_zero;var r=s.dpl>s.type&1||r:!s.is_conforming_executable&&r)?(this.flags&=~flag_zero,dbg_log("lsl: invalid selector="+h(e,4)+" is_null="+s.is_null,LOG_CPU),t):(this.flags|=flag_zero,0|s.effective_limit)},CPU.prototype.verr=function(e){var t=this.lookup_segment_selector(e);this.flags_changed&=~flag_zero,t.is_null||!t.is_valid||t.is_system||!t.is_readable||!t.is_conforming_executable&&(t.dpl invalid. selector="+h(e,4),LOG_CPU),this.flags&=~flag_zero):(dbg_log("verr -> valid. selector="+h(e,4),LOG_CPU),this.flags|=flag_zero)},CPU.prototype.verw=function(e){var t=this.lookup_segment_selector(e);this.flags_changed&=~flag_zero,t.is_null||!t.is_valid||t.is_system||!t.is_writable||t.dplt;)e[t++]=e[t++]=e[t++]=e[t++]=0;this.clear_tlb()},CPU.prototype.invlpg=function(e){e>>>=12,this.tlb_info[e]=0,this.tlb_info_global[e]=0,this.last_virt_esp=this.last_virt_eip=-1},CPU.prototype.translate_address_read=function(e){return this.paging?3===this.cpl?this.translate_address_user_read(e):this.translate_address_system_read(e):e},CPU.prototype.translate_address_write=function(e){return this.paging?3===this.cpl?this.translate_address_user_write(e):this.translate_address_system_write(e):e},CPU.prototype.translate_address_user_write=function(e){if(!this.paging)return e;var t=e>>>12;return this.tlb_info[t]&TLB_USER_WRITE?this.tlb_data[t]^e:this.do_page_translation(e,1,1)|4095&e},CPU.prototype.translate_address_user_read=function(e){if(!this.paging)return e;var t=e>>>12;return this.tlb_info[t]&TLB_USER_READ?this.tlb_data[t]^e:this.do_page_translation(e,0,1)|4095&e},CPU.prototype.translate_address_system_write=function(e){if(!this.paging)return e;var t=e>>>12;return this.tlb_info[t]&TLB_SYSTEM_WRITE?this.tlb_data[t]^e:this.do_page_translation(e,1,0)|4095&e},CPU.prototype.translate_address_system_read=function(e){if(!this.paging)return e;var t=e>>>12;return this.tlb_info[t]&TLB_SYSTEM_READ?this.tlb_data[t]^e:this.do_page_translation(e,0,0)|4095&e},CPU.prototype.do_page_translation=function(e,t,s){var r=e>>>12,i=(this.cr[3]>>>2)+(r>>10)|0,_=this.mem32s[i],a=!0,o=!0;if(dbg_assert(2147483648>e),1&_||(this.cr[2]=e,this.trigger_pagefault(t,s,0),dbg_assert(!1)),0==(2&_)&&(a=!1,t&&(s||this.cr[0]&CR0_WP)&&(this.cr[2]=e,this.trigger_pagefault(t,s,1),dbg_assert(!1))),0==(4&_)&&(o=!1,s&&(this.cr[2]=e,this.trigger_pagefault(t,s,1),dbg_assert(!1))),_&this.page_size_extensions)this.mem32s[i]=32|_|t<<6,e=4290772992&_|4190208&e,_&=256;else{var n=((4294963200&_)>>>2)+(1023&r)|0,d=this.mem32s[n];0==(1&d)&&(this.cr[2]=e,this.trigger_pagefault(t,s,0),dbg_assert(!1)),0==(2&d)&&(a=!1,t&&(s||this.cr[0]&CR0_WP)&&(this.cr[2]=e,this.trigger_pagefault(t,s,1),dbg_assert(!1))),0==(4&d)&&(o=!1,s&&(this.cr[2]=e,this.trigger_pagefault(t,s,1),dbg_assert(!1))),this.write_aligned32(i,32|_),this.write_aligned32(n,32|d|t<<6),e=4294963200&d,_=256&d}return this.tlb_data[r]=e^r<<12,a=o?a?TLB_SYSTEM_READ|TLB_SYSTEM_WRITE|TLB_USER_READ|TLB_USER_WRITE:TLB_SYSTEM_READ|TLB_USER_READ:a?TLB_SYSTEM_READ|TLB_SYSTEM_WRITE:TLB_SYSTEM_READ,this.tlb_info[r]=a,_&&this.cr[4]&CR4_PGE&&(this.tlb_info_global[r]=a),e},CPU.prototype.writable_or_pagefault=function(e,t){if(dbg_assert(4096>t,"not supported yet"),dbg_assert(0>>12;0==(this.tlb_info[i]&r)&&this.do_page_translation(e,1,s),4096<=(4095&e)+t-1&&0==(this.tlb_info[i+1|0]&r)&&this.do_page_translation(e+t-1|0,1,s)}},CPU.prototype.trigger_pagefault=function(e,t,s){if(LOG_PAGE_FAULTS&&(dbg_log("page fault w="+e+" u="+t+" p="+s+" eip="+h(this.previous_ip>>>0,8)+" cr2="+h(this.cr[2]>>>0,8),LOG_CPU),dbg_trace(LOG_CPU)),this.page_fault)throw dbg_trace(LOG_CPU),this.debug.unimpl("Double fault");var r=this.cr[2]>>>12;throw this.tlb_info[r]=0,this.tlb_info_global[r]=0,this.instruction_pointer=this.previous_ip,this.page_fault=!0,this.call_interrupt_vector(14,!1,t<<2|e<<1|s),MAGIC_CPU_EXCEPTION},CPU.prototype.is_osize_32=function(){return this.is_32!==((this.prefixes&PREFIX_MASK_OPSIZE)===PREFIX_MASK_OPSIZE)},CPU.prototype.is_asize_32=function(){return this.is_32!==((this.prefixes&PREFIX_MASK_ADDRSIZE)===PREFIX_MASK_ADDRSIZE)},CPU.prototype.get_reg_asize=function(e){return dbg_assert(e===reg_ecx||e===reg_esi||e===reg_edi),e=this.reg32s[e],this.is_asize_32()?e:65535&e},CPU.prototype.set_ecx_asize=function(e){this.is_asize_32()?this.reg32s[reg_ecx]=e:this.reg16[reg_cx]=e},CPU.prototype.add_reg_asize=function(e,t){dbg_assert(e===reg_ecx||e===reg_esi||e===reg_edi),this.is_asize_32()?this.reg32s[e]+=t:this.reg16[e<<1]+=t},CPU.prototype.decr_ecx_asize=function(){return this.is_asize_32()?--this.reg32s[reg_ecx]:--this.reg16[reg_cx]},"undefined"!=typeof window?window.CPU=CPU:"undefined"!=typeof module&&void 0!==module.exports?module.exports.CPU=CPU:"function"==typeof importScripts&&(self.CPU=CPU),function(){CPU.prototype.modrm_table16=Array(192),CPU.prototype.modrm_table32=Array(192),CPU.prototype.sib_table=Array(256),CPU.prototype.modrm_table16[0]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.reg16[reg_si]&65535)|0},CPU.prototype.modrm_table16[64]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.reg16[reg_si]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[128]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.reg16[reg_si]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[1]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.reg16[reg_di]&65535)|0},CPU.prototype.modrm_table16[65]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.reg16[reg_di]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[129]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.reg16[reg_di]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[2]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.reg16[reg_si]&65535)|0},CPU.prototype.modrm_table16[66]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.reg16[reg_si]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[130]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.reg16[reg_si]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[3]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.reg16[reg_di]&65535)|0},CPU.prototype.modrm_table16[67]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.reg16[reg_di]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[131]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.reg16[reg_di]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[4]=function(e){return e.get_seg_prefix_ds()+(65535&e.reg16[reg_si])|0},CPU.prototype.modrm_table16[68]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_si]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[132]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_si]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[5]=function(e){return e.get_seg_prefix_ds()+(65535&e.reg16[reg_di])|0},CPU.prototype.modrm_table16[69]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_di]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[133]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_di]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[6]=function(e){return e.get_seg_prefix_ss()+(65535&e.reg16[reg_bp])|0},CPU.prototype.modrm_table16[70]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[134]=function(e){return e.get_seg_prefix_ss()+(e.reg16[reg_bp]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table16[7]=function(e){return e.get_seg_prefix_ds()+(65535&e.reg16[reg_bx])|0},CPU.prototype.modrm_table16[71]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.read_disp8s()&65535)|0},CPU.prototype.modrm_table16[135]=function(e){return e.get_seg_prefix_ds()+(e.reg16[reg_bx]+e.read_disp16()&65535)|0},CPU.prototype.modrm_table32[0]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.modrm_table32[64]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_eax]+e.read_disp8s()|0},CPU.prototype.modrm_table32[128]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_eax]+e.read_disp32s()|0},CPU.prototype.modrm_table32[1]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.modrm_table32[65]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]+e.read_disp8s()|0},CPU.prototype.modrm_table32[129]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]+e.read_disp32s()|0},CPU.prototype.modrm_table32[2]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.modrm_table32[66]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]+e.read_disp8s()|0},CPU.prototype.modrm_table32[130]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]+e.read_disp32s()|0},CPU.prototype.modrm_table32[3]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.modrm_table32[67]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]+e.read_disp8s()|0},CPU.prototype.modrm_table32[131]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]+e.read_disp32s()|0},CPU.prototype.modrm_table32[5]=function(e){return e.get_seg_prefix_ss()+e.reg32s[reg_ebp]|0},CPU.prototype.modrm_table32[69]=function(e){return e.get_seg_prefix_ss()+e.reg32s[reg_ebp]+e.read_disp8s()|0},CPU.prototype.modrm_table32[133]=function(e){return e.get_seg_prefix_ss()+e.reg32s[reg_ebp]+e.read_disp32s()|0},CPU.prototype.modrm_table32[6]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.modrm_table32[70]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]+e.read_disp8s()|0},CPU.prototype.modrm_table32[134]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]+e.read_disp32s()|0},CPU.prototype.modrm_table32[7]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.modrm_table32[71]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]+e.read_disp8s()|0},CPU.prototype.modrm_table32[135]=function(e){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]+e.read_disp32s()|0},CPU.prototype.modrm_table16[6]=function(e){return e.get_seg_prefix_ds()+e.read_disp16()|0},CPU.prototype.modrm_table32[5]=function(e){return e.get_seg_prefix_ds()+e.read_disp32s()|0},CPU.prototype.modrm_table32[4]=function(e){return 0|e.sib_resolve(!1)},CPU.prototype.modrm_table32[68]=function(e){return e.sib_resolve(!0)+e.read_disp8s()|0},CPU.prototype.modrm_table32[132]=function(e){return e.sib_resolve(!0)+e.read_disp32s()|0};for(var e=0;8>e;e++)for(var t=0;3>t;t++)for(var s=e|t<<6,r=1;8>r;r++)CPU.prototype.modrm_table32[s|r<<3]=CPU.prototype.modrm_table32[s],CPU.prototype.modrm_table16[s|r<<3]=CPU.prototype.modrm_table16[s];CPU.prototype.sib_table[0]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[1]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[2]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[3]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[4]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[5]=function(e,t){return e.reg32s[reg_eax]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[6]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[7]=function(e,t){return e.reg32s[reg_eax]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[64]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[65]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[66]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[67]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[68]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[69]=function(e,t){return(e.reg32s[reg_eax]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[70]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[71]=function(e,t){return(e.reg32s[reg_eax]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[128]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[129]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[130]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[131]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[132]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[133]=function(e,t){return(e.reg32s[reg_eax]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[134]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[135]=function(e,t){return(e.reg32s[reg_eax]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[192]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[193]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[194]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[195]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[196]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[197]=function(e,t){return(e.reg32s[reg_eax]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[198]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[199]=function(e,t){return(e.reg32s[reg_eax]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[8]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[9]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[10]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[11]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[12]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[13]=function(e,t){return e.reg32s[reg_ecx]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[14]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[15]=function(e,t){return e.reg32s[reg_ecx]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[72]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[73]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[74]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[75]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[76]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[77]=function(e,t){return(e.reg32s[reg_ecx]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[78]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[79]=function(e,t){return(e.reg32s[reg_ecx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[136]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[137]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[138]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[139]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[140]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[141]=function(e,t){return(e.reg32s[reg_ecx]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[142]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[143]=function(e,t){return(e.reg32s[reg_ecx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[200]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[201]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[202]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[203]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[204]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[205]=function(e,t){return(e.reg32s[reg_ecx]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[206]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[207]=function(e,t){return(e.reg32s[reg_ecx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[16]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[17]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[18]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[19]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[20]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[21]=function(e,t){return e.reg32s[reg_edx]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[22]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[23]=function(e,t){return e.reg32s[reg_edx]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[80]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[81]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[82]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[83]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[84]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[85]=function(e,t){return(e.reg32s[reg_edx]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[86]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[87]=function(e,t){return(e.reg32s[reg_edx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[144]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[145]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[146]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[147]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[148]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[149]=function(e,t){return(e.reg32s[reg_edx]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[150]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[151]=function(e,t){return(e.reg32s[reg_edx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[208]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[209]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[210]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[211]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[212]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[213]=function(e,t){return(e.reg32s[reg_edx]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[214]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[215]=function(e,t){return(e.reg32s[reg_edx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[24]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[25]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[26]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[27]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[28]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[29]=function(e,t){return e.reg32s[reg_ebx]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[30]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[31]=function(e,t){return e.reg32s[reg_ebx]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[88]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[89]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[90]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[91]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[92]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[93]=function(e,t){return(e.reg32s[reg_ebx]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[94]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[95]=function(e,t){return(e.reg32s[reg_ebx]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[152]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[153]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[154]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[155]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[156]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[157]=function(e,t){return(e.reg32s[reg_ebx]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[158]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[159]=function(e,t){return(e.reg32s[reg_ebx]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[216]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[217]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[218]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[219]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[220]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[221]=function(e,t){return(e.reg32s[reg_ebx]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[222]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[223]=function(e,t){return(e.reg32s[reg_ebx]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[32]=function(e,t){ +return e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[33]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[34]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[35]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[36]=function(e,t){return e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[37]=function(e,t){return 0|(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())},CPU.prototype.sib_table[38]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[39]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[96]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[97]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[98]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[99]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[100]=function(e,t){return e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[101]=function(e,t){return 0|(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())},CPU.prototype.sib_table[102]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[103]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[160]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[161]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[162]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[163]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[164]=function(e,t){return e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[165]=function(e,t){return 0|(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())},CPU.prototype.sib_table[166]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[167]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[224]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[225]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[226]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[227]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[228]=function(e,t){return e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[229]=function(e,t){return 0|(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())},CPU.prototype.sib_table[230]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[231]=function(e,t){return e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[40]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[41]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[42]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[43]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[44]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[45]=function(e,t){return e.reg32s[reg_ebp]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[46]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[47]=function(e,t){return e.reg32s[reg_ebp]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[104]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[105]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[106]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[107]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[108]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[109]=function(e,t){return(e.reg32s[reg_ebp]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[110]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[111]=function(e,t){return(e.reg32s[reg_ebp]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[168]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[169]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[170]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[171]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[172]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[173]=function(e,t){return(e.reg32s[reg_ebp]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[174]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[175]=function(e,t){return(e.reg32s[reg_ebp]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[232]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[233]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[234]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[235]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[236]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[237]=function(e,t){return(e.reg32s[reg_ebp]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[238]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[239]=function(e,t){return(e.reg32s[reg_ebp]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[48]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[49]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[50]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[51]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[52]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[53]=function(e,t){return e.reg32s[reg_esi]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[54]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[55]=function(e,t){return e.reg32s[reg_esi]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0};CPU.prototype.sib_table[112]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[113]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[114]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[115]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[116]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[117]=function(e,t){return(e.reg32s[reg_esi]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[118]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[119]=function(e,t){return(e.reg32s[reg_esi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[176]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[177]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[178]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[179]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[180]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[181]=function(e,t){return(e.reg32s[reg_esi]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[182]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[183]=function(e,t){return(e.reg32s[reg_esi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[240]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[241]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[242]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[243]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[244]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[245]=function(e,t){return(e.reg32s[reg_esi]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[246]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[247]=function(e,t){return(e.reg32s[reg_esi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[56]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[57]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[58]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[59]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[60]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[61]=function(e,t){return e.reg32s[reg_edi]+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[62]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[63]=function(e,t){return e.reg32s[reg_edi]+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[120]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[121]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[122]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[123]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[124]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[125]=function(e,t){return(e.reg32s[reg_edi]<<1)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[126]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[127]=function(e,t){return(e.reg32s[reg_edi]<<1)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[184]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[185]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[186]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[187]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[188]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[189]=function(e,t){return(e.reg32s[reg_edi]<<2)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[190]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[191]=function(e,t){return(e.reg32s[reg_edi]<<2)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0},CPU.prototype.sib_table[248]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_eax]|0},CPU.prototype.sib_table[249]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ecx]|0},CPU.prototype.sib_table[250]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edx]|0},CPU.prototype.sib_table[251]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_ebx]|0},CPU.prototype.sib_table[252]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ss()+e.reg32s[reg_esp]|0},CPU.prototype.sib_table[253]=function(e,t){return(e.reg32s[reg_edi]<<3)+(t?e.get_seg_prefix_ss()+e.reg32s[reg_ebp]:e.get_seg_prefix_ds()+e.read_disp32s())|0},CPU.prototype.sib_table[254]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_esi]|0},CPU.prototype.sib_table[255]=function(e,t){return(e.reg32s[reg_edi]<<3)+e.get_seg_prefix_ds()+e.reg32s[reg_edi]|0}}();var MAX_COUNT_PER_CYCLE=4096;CPU.prototype.movsb=function(){var e=this.get_seg_prefix(reg_ds)+this.get_reg_asize(reg_esi)|0,t=this.get_seg(reg_es)+this.get_reg_asize(reg_edi)|0,s=this.flags&flag_direction?-1:1;if(this.prefixes&PREFIX_MASK_REP){var r=this.get_reg_asize(reg_ecx)>>>0;if(0===r)return;var i=r,_=MAX_COUNT_PER_CYCLE,a=this.translate_address_read(e),o=this.translate_address_write(t);this.paging&&(_=string_get_cycle_count2(s,e,t));do{this.write8(o,this.read8(a)),o+=s,a+=s,e=0!=--r}while(e&&_--);s=s*(i-r)|0,this.add_reg_asize(reg_edi,s),this.add_reg_asize(reg_esi,s),this.set_ecx_asize(r),this.timestamp_counter+=i-r,e&&(this.instruction_pointer=this.previous_ip)}else this.safe_write8(t,this.safe_read8(e)),this.add_reg_asize(reg_edi,s),this.add_reg_asize(reg_esi,s);this.diverged()},CPU.prototype.movsw=function(){var e=this.get_seg_prefix(reg_ds)+this.get_reg_asize(reg_esi)|0,t=this.get_seg(reg_es)+this.get_reg_asize(reg_edi)|0,s=this.flags&flag_direction?-2:2;if(this.prefixes&PREFIX_MASK_REP){var r=this.get_reg_asize(reg_ecx)>>>0;if(0===r)return;var i=r,_=MAX_COUNT_PER_CYCLE;if(1&t||1&e)do{this.safe_write16(t,this.safe_read16(e)),t+=s,this.add_reg_asize(reg_edi,s),e+=s,this.add_reg_asize(reg_esi,s);var a=0!==this.decr_ecx_asize()}while(a&&_--);else{var o=0>s?-1:1,n=this.translate_address_read(e)>>>1,d=this.translate_address_write(t)>>>1;this.paging&&(_=string_get_cycle_count2(s,e,t));do{this.write_aligned16(d,this.read_aligned16(n)),d+=o,n+=o,a=0!=--r}while(a&&_--);e=s*(i-r)|0,this.add_reg_asize(reg_edi,e),this.add_reg_asize(reg_esi,e),this.set_ecx_asize(r),this.timestamp_counter+=i-r}a&&(this.instruction_pointer=this.previous_ip)}else this.safe_write16(t,this.safe_read16(e)),this.add_reg_asize(reg_edi,s),this.add_reg_asize(reg_esi,s);this.diverged()},CPU.prototype.movsd=function(){if(this.prefixes&PREFIX_MASK_REP){var e=this.get_seg_prefix(reg_ds)+this.get_reg_asize(reg_esi)|0,t=this.get_seg(reg_es)+this.get_reg_asize(reg_edi)|0,s=this.get_reg_asize(reg_ecx)>>>0;if(!s)return;var r=this.paging?4095:3;if(0==(t&r)&&0==(e&r)&&0==(this.flags&flag_direction)&&(r=!1,this.paging&&(e=this.translate_address_read(e),t=this.translate_address_write(t),1024>>=2,e>>>=2,this.write_blob32(this.mem32s.subarray(e,e+s),t),void(r&&(this.instruction_pointer=this.previous_ip))}}if(e=this.get_seg_prefix(reg_ds)+this.get_reg_asize(reg_esi)|0,t=this.get_seg(reg_es)+this.get_reg_asize(reg_edi)|0,i=this.flags&flag_direction?-4:4,this.prefixes&PREFIX_MASK_REP){if(0===(s=this.get_reg_asize(reg_ecx)>>>0))return;var _=s,a=MAX_COUNT_PER_CYCLE;if(3&t||3&e)do{this.safe_write32(t,this.safe_read32s(e)),t+=i,this.add_reg_asize(reg_edi,i),e+=i,this.add_reg_asize(reg_esi,i),r=0!==this.decr_ecx_asize()}while(r&&a--);else{var o=0>i?-1:1,n=this.translate_address_read(e)>>>2,d=this.translate_address_write(t)>>>2;this.paging&&(a=string_get_cycle_count2(i,e,t));do{this.write_aligned32(d,this.read_aligned32(n)),d+=o,n+=o,r=0!=--s}while(r&&a--);i=i*(_-s)|0,this.add_reg_asize(reg_edi,i),this.add_reg_asize(reg_esi,i),this.set_ecx_asize(s),this.timestamp_counter+=_-s}r&&(this.instruction_pointer=this.previous_ip)}else this.safe_write32(t,this.safe_read32s(e)),this.add_reg_asize(reg_edi,i),this.add_reg_asize(reg_esi,i);this.diverged()},CPU.prototype.add8=function(e,t){return this.add(e,t,OPSIZE_8)},CPU.prototype.add16=function(e,t){return this.add(e,t,OPSIZE_16)},CPU.prototype.add32=function(e,t){return this.add(e,t,OPSIZE_32)},CPU.prototype.adc8=function(e,t){return this.adc(e,t,OPSIZE_8)},CPU.prototype.adc16=function(e,t){return this.adc(e,t,OPSIZE_16)},CPU.prototype.adc32=function(e,t){return this.adc(e,t,OPSIZE_32)},CPU.prototype.sub8=function(e,t){return this.sub(e,t,OPSIZE_8)},CPU.prototype.sub16=function(e,t){return this.sub(e,t,OPSIZE_16)},CPU.prototype.sub32=function(e,t){return this.sub(e,t,OPSIZE_32)},CPU.prototype.cmp8=function(e,t){return this.sub(e,t,OPSIZE_8)},CPU.prototype.cmp16=function(e,t){return this.sub(e,t,OPSIZE_16)},CPU.prototype.cmp32=function(e,t){return this.sub(e,t,OPSIZE_32)},CPU.prototype.sbb8=function(e,t){return this.sbb(e,t,OPSIZE_8)},CPU.prototype.sbb16=function(e,t){return this.sbb(e,t,OPSIZE_16)},CPU.prototype.sbb32=function(e,t){return this.sbb(e,t,OPSIZE_32)},CPU.prototype.add=function(e,t,s){return this.last_op1=e,this.last_op2=t,this.last_add_result=this.last_result=e+t|0,this.last_op_size=s,this.flags_changed=flags_all,this.last_result},CPU.prototype.adc=function(e,t,s){var r=this.getcf();return this.last_op1=e,this.last_op2=t,this.last_add_result=this.last_result=(e+t|0)+r|0,this.last_op_size=s,this.flags_changed=flags_all,this.last_result},CPU.prototype.sub=function(e,t,s){return this.last_add_result=e,this.last_op2=t,this.last_op1=this.last_result=e-t|0,this.last_op_size=s,this.flags_changed=flags_all,this.last_result},CPU.prototype.sbb=function(e,t,s){var r=this.getcf();return this.last_add_result=e,this.last_op2=t,this.last_op1=this.last_result=e-t-r|0,this.last_op_size=s,this.flags_changed=flags_all,this.last_result},CPU.prototype.inc8=function(e){return this.inc(e,OPSIZE_8)},CPU.prototype.inc16=function(e){return this.inc(e,OPSIZE_16)},CPU.prototype.inc32=function(e){return this.inc(e,OPSIZE_32)},CPU.prototype.dec8=function(e){return this.dec(e,OPSIZE_8)},CPU.prototype.dec16=function(e){return this.dec(e,OPSIZE_16)},CPU.prototype.dec32=function(e){return this.dec(e,OPSIZE_32)},CPU.prototype.inc=function(e,t){return this.flags=-2&this.flags|this.getcf(),this.last_op1=e,this.last_op2=1,this.last_add_result=this.last_result=e+1|0,this.last_op_size=t,this.flags_changed=-2&flags_all,this.last_result},CPU.prototype.dec=function(e,t){return this.flags=-2&this.flags|this.getcf(),this.last_add_result=e,this.last_op2=1,this.last_op1=this.last_result=e-1|0,this.last_op_size=t,this.flags_changed=-2&flags_all,this.last_result},CPU.prototype.neg8=function(e){return this.neg(e,OPSIZE_8)},CPU.prototype.neg16=function(e){return this.neg(e,OPSIZE_16)},CPU.prototype.neg32=function(e){return this.neg(e,OPSIZE_32)},CPU.prototype.neg=function(e,t){return this.last_op1=this.last_result=0|-e,this.flags_changed=flags_all,this.last_add_result=0,this.last_op2=e,this.last_op_size=t,this.last_result},CPU.prototype.mul8=function(e){e*=this.reg8[reg_al],this.reg16[reg_ax]=e,this.last_result=255&e,this.last_op_size=OPSIZE_8,this.flags=256>e?-2&this.flags&~flag_overflow:1|this.flags|flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow},CPU.prototype.imul8=function(e){e*=this.reg8s[reg_al],this.reg16[reg_ax]=e,this.last_result=255&e,this.last_op_size=OPSIZE_8,this.flags=127e?1|this.flags|flag_overflow:-2&this.flags&~flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow},CPU.prototype.mul16=function(e){e*=this.reg16[reg_ax];var t=e>>>16;this.reg16[reg_ax]=e,this.reg16[reg_dx]=t,this.last_result=65535&e,this.last_op_size=OPSIZE_16,this.flags=0===t?-2&this.flags&~flag_overflow:1|this.flags|flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow},CPU.prototype.imul16=function(e){e*=this.reg16s[reg_ax],this.reg16[reg_ax]=e,this.reg16[reg_dx]=e>>16,this.last_result=65535&e,this.last_op_size=OPSIZE_16,this.flags=32767e?1|this.flags|flag_overflow:-2&this.flags&~flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow},CPU.prototype.imul_reg16=function(e,t){return dbg_assert(32768>e&&-32768<=e),dbg_assert(32768>t&&-32768<=t),e*=t,this.last_result=65535&e,this.last_op_size=OPSIZE_16,this.flags=32767e?1|this.flags|flag_overflow:-2&this.flags&~flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow,e},CPU.prototype.do_mul32=function(e,t){var s=65535&e;e>>>=16;var r=65535&t;t>>>=16;var i=s*r;r=(i>>>16)+(e*r|0)|0;var _=r>>>16;return r=(65535&r)+(s*t|0)|0,this.mul32_result[0]=r<<16|65535&i,this.mul32_result[1]=((r>>>16)+(e*t|0)|0)+_|0,this.mul32_result},CPU.prototype.do_imul32=function(e,t){var s=!1;return 0>e&&(s=!0,e=0|-e),0>t&&(s=!s,t=0|-t),e=this.do_mul32(e,t),s&&(e[0]=0|-e[0],e[1]=~e[1]+!e[0]|0),e},CPU.prototype.mul32=function(e){e=this.do_mul32(this.reg32s[reg_eax],e),this.reg32s[reg_eax]=e[0],this.reg32s[reg_edx]=e[1],this.last_result=e[0],this.last_op_size=OPSIZE_32,this.flags=0===e[1]?-2&this.flags&~flag_overflow:1|this.flags|flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow},CPU.prototype.imul32=function(e){dbg_assert(2147483648>e&&-2147483648<=e),e=this.do_imul32(this.reg32s[reg_eax],e),this.reg32s[reg_eax]=e[0],this.reg32s[reg_edx]=e[1],this.last_result=e[0],this.last_op_size=OPSIZE_32,this.flags=e[1]===e[0]>>31?-2&this.flags&~flag_overflow:1|this.flags|flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow},CPU.prototype.imul_reg32=function(e,t){return dbg_assert(2147483648>e&&-2147483648<=e),dbg_assert(2147483648>t&&-2147483648<=t),e=this.do_imul32(e,t),this.last_result=e[0],this.last_op_size=OPSIZE_32,this.flags=e[1]===e[0]>>31?-2&this.flags&~flag_overflow:1|this.flags|flag_overflow,this.flags_changed=-2&flags_all&~flag_overflow,e[0]},CPU.prototype.div8=function(e){if(dbg_assert(0<=e&&256>e),0===e)this.trigger_de();else{var t=this.reg16[reg_ax],s=t/e|0;256<=s?this.trigger_de():(this.reg8[reg_al]=s,this.reg8[reg_ah]=t%e)}},CPU.prototype.idiv8=function(e){if(dbg_assert(-128<=e&&128>e),0===e)this.trigger_de();else{var t=this.reg16s[reg_ax],s=t/e|0;128<=s||-129>=s?this.trigger_de():(this.reg8[reg_al]=s,this.reg8[reg_ah]=t%e)}},CPU.prototype.div16=function(e){if(dbg_assert(0<=e&&65536>e),0===e)this.trigger_de();else{var t=(this.reg16[reg_ax]|this.reg16[reg_dx]<<16)>>>0,s=t/e|0;65536<=s||0>s?this.trigger_de():(this.reg16[reg_ax]=s,this.reg16[reg_dx]=t%e)}},CPU.prototype.idiv16=function(e){if(dbg_assert(-32768<=e&&32768>e),0===e)this.trigger_de();else{var t=this.reg16[reg_ax]|this.reg16[reg_dx]<<16,s=t/e|0;32768<=s||-32769>=s?this.trigger_de():(this.reg16[reg_ax]=s,this.reg16[reg_dx]=t%e)}},CPU.prototype.do_div32=function(e,t,s){(t>=s||0===s)&&(dbg_log("div32 #DE: "+h(t,8)+":"+h(e,8)+" div "+h(s,8)),this.trigger_de());var r=0;if(1048576t;)_>>>=1,i--;for(;1048576=_){t-=_;var a=s<>>0;a>e&&t--,e=e-a>>>0,r|=1<>=1}r>>>=0}return e+=4294967296*t,this.div32_result[0]=r+(e/s|0),this.div32_result[1]=e%s,this.div32_result},CPU.prototype.div32=function(e){dbg_assert(0<=e&&4294967295>=e);var t=this.reg32[reg_eax],s=this.reg32[reg_edx],r=this.do_div32(t,s,e),i=r[0];r=r[1],dbg_assert(e),4294967296<=i?(dbg_log("div32 #DE: "+h(s,8)+":"+h(t,8)+" div "+h(e,8)),dbg_log("-> "+h(i)),this.trigger_de()):(this.reg32s[reg_eax]=i,this.reg32s[reg_edx]=r)},CPU.prototype.idiv32=function(e){dbg_assert(2147483648>e&&-2147483648<=e);var t=this.reg32[reg_eax],s=this.reg32s[reg_edx],r=!1,i=!1;0>e&&(i=!0,e=-e),0>s&&(r=!0,i=!i,t=-t>>>0,s=~s+!t);var _=this.do_div32(t,s,e),a=_[0];_=_[1],i&&(a=0|-a),r&&(_=0|-_),dbg_assert(e),2147483648<=a||-2147483649>=a?(dbg_log("div32 #DE: "+h(s,8)+":"+h(t,8)+" div "+h(e,8)),dbg_log("-> "+h(a)),this.trigger_de()):(this.reg32s[reg_eax]=a,this.reg32s[reg_edx]=_)},CPU.prototype.xadd8=function(e,t){var s=this.reg8[t];return this.reg8[t]=e,this.add(e,s,OPSIZE_8)},CPU.prototype.xadd16=function(e,t){var s=this.reg16[t];return this.reg16[t]=e,this.add(e,s,OPSIZE_16)},CPU.prototype.xadd32=function(e,t){var s=this.reg32s[t];return this.reg32s[t]=e,this.add(e,s,OPSIZE_32)},CPU.prototype.bcd_daa=function(){var e=this.reg8[reg_al],t=this.getcf(),s=this.getaf();this.flags=-2&this.flags&~flag_adjust,(9<(15&e)||s)&&(this.reg8[reg_al]+=6,this.flags|=flag_adjust),(153e):this.flags&=~flag_adjust,(153>8-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|1&e|(e<<11^e<<4)&flag_overflow,e):e},CPU.prototype.rol16=function(e,t){return t?(t&=15,e=e<>16-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|1&e|(e<<11^e>>4)&flag_overflow,e):e},CPU.prototype.rol32=function(e,t){return t?(e=e<>>32-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|1&e|(e<<11^e>>20)&flag_overflow,e):e},CPU.prototype.rcl8=function(e,t){return(t%=9)?(e=e<>9-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>8&1|(e<<3^e<<4)&flag_overflow,e):e},CPU.prototype.rcl16=function(e,t){return(t%=17)?(e=e<>17-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>16&1|(e>>5^e>>4)&flag_overflow,e):e},CPU.prototype.rcl32=function(e,t){if(!t)return e;var s=e<>>33-t),this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>>32-t&1,this.flags|=(this.flags<<11^s>>20)&flag_overflow,s},CPU.prototype.ror8=function(e,t){return t?(t&=7,e=e>>t|e<<8-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>7&1|(e<<4^e<<5)&flag_overflow,e):e},CPU.prototype.ror16=function(e,t){return t?(t&=15,e=e>>t|e<<16-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>15&1|(e>>4^e>>3)&flag_overflow,e):e},CPU.prototype.ror32=function(e,t){return t?(e=e>>>t|e<<32-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>31&1|(e>>20^e>>19)&flag_overflow,e):e},CPU.prototype.rcr8=function(e,t){return(t%=9)?(e=e>>t|this.getcf()<<8-t|e<<9-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>8&1|(e<<4^e<<5)&flag_overflow,e):e},CPU.prototype.rcr16=function(e,t){return(t%=17)?(e=e>>t|this.getcf()<<16-t|e<<17-t,this.flags_changed=-2&this.flags_changed&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>16&1|(e>>4^e>>3)&flag_overflow,e):e},CPU.prototype.rcr32=function(e,t){if(!t)return e;var s=e>>>t|this.getcf()<<32-t;return 1>t-1&1|(s>>20^s>>19)&flag_overflow,s},CPU.prototype.shl8=function(e,t){return 0===t?e:(this.last_result=e<>8&1|(this.last_result<<3^this.last_result<<4)&flag_overflow,this.last_result)},CPU.prototype.shl16=function(e,t){return 0===t?e:(this.last_result=e<>16&1|(this.last_result>>5^this.last_result>>4)&flag_overflow,this.last_result)},CPU.prototype.shl32=function(e,t){return 0===t?e:(this.last_result=e<>>32-t&1,this.flags|=(1&this.flags^this.last_result>>31&1)<<11&flag_overflow,this.last_result)},CPU.prototype.shr8=function(e,t){return 0===t?e:(this.last_result=e>>t,this.last_op_size=OPSIZE_8,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>t-1&1|(e>>7&1)<<11&flag_overflow,this.last_result)},CPU.prototype.shr16=function(e,t){return 0===t?e:(this.last_result=e>>t,this.last_op_size=OPSIZE_16,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>t-1&1|e>>4&flag_overflow,this.last_result)},CPU.prototype.shr32=function(e,t){return 0===t?e:(this.last_result=e>>>t,this.last_op_size=OPSIZE_32,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>>t-1&1|e>>20&flag_overflow,this.last_result)},CPU.prototype.sar8=function(e,t){return 0===t?e:(8>t?(this.last_result=e<<24>>t+24,this.flags=-2&this.flags&~flag_overflow|e>>t-1&1):(this.last_result=e<<24>>31,this.flags=-2&this.flags&~flag_overflow|1&this.last_result),this.last_op_size=OPSIZE_8,this.flags_changed=-2&flags_all&~flag_overflow,this.last_result)},CPU.prototype.sar16=function(e,t){return 0===t?e:(16>t?(this.last_result=e<<16>>t+16,this.flags=-2&this.flags&~flag_overflow|e>>t-1&1):(this.last_result=e<<16>>31,this.flags=-2&this.flags&~flag_overflow|1&this.last_result),this.last_op_size=OPSIZE_16,this.flags_changed=-2&flags_all&~flag_overflow,this.last_result)},CPU.prototype.sar32=function(e,t){return 0===t?e:(this.last_result=e>>t,this.last_op_size=OPSIZE_32,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=-2&this.flags&~flag_overflow|e>>>t-1&1,this.last_result)},CPU.prototype.shrd16=function(e,t,s){return 0===s?e:(16>=s?(this.last_result=e>>s|t<<16-s,this.flags=-2&this.flags|e>>s-1&1):(this.last_result=e<<32-s|t>>s-16,this.flags=-2&this.flags|t>>s-17&1),this.last_op_size=OPSIZE_16,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=this.flags&~flag_overflow|(this.last_result^e)>>4&flag_overflow,this.last_result)},CPU.prototype.shrd32=function(e,t,s){return 0===s?e:(this.last_result=e>>>s|t<<32-s,this.last_op_size=OPSIZE_32,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=-2&this.flags|e>>>s-1&1,this.flags=this.flags&~flag_overflow|(this.last_result^e)>>20&flag_overflow,this.last_result)},CPU.prototype.shld16=function(e,t,s){return 0===s?e:(16>=s?(this.last_result=e<>>16-s,this.flags=-2&this.flags|e>>>16-s&1):(this.last_result=e>>32-s|t<>>32-s&1),this.last_op_size=OPSIZE_16,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=this.flags&~flag_overflow|(1&this.flags^this.last_result>>15&1)<<11,this.last_result)},CPU.prototype.shld32=function(e,t,s){return 0===s?e:(this.last_result=e<>>32-s,this.last_op_size=OPSIZE_32,this.flags_changed=-2&flags_all&~flag_overflow,this.flags=-2&this.flags|e>>>32-s&1,this.flags=1===s?this.flags&~flag_overflow|(1&this.flags^this.last_result>>31&1)<<11:this.flags&~flag_overflow,this.last_result)},CPU.prototype.bt_reg=function(e,t){this.flags=-2&this.flags|e>>t&1,this.flags_changed&=-2},CPU.prototype.btc_reg=function(e,t){return this.flags=-2&this.flags|e>>t&1,this.flags_changed&=-2,e^1<>t&1,this.flags_changed&=-2,e|1<>t&1,this.flags_changed&=-2,e&~(1<>3)|0),this.flags=-2&this.flags|e>>(7&t)&1,this.flags_changed&=-2},CPU.prototype.btc_mem=function(e,t){e=this.translate_address_write(e+(t>>3)|0);var s=this.read8(e);t&=7,this.flags=-2&this.flags|s>>t&1,this.flags_changed&=-2,this.write8(e,s^1<>3)|0);var s=this.read8(e);t&=7,this.flags=-2&this.flags|s>>t&1,this.flags_changed&=-2,this.write8(e,s&~(1<>3)|0);var s=this.read8(e);t&=7,this.flags=-2&this.flags|s>>t&1,this.flags_changed&=-2,this.write8(e,s|1<>>0))},CPU.prototype.bsr16=function(e,t){return this.flags_changed=flags_all&~flag_zero,this.last_op_size=OPSIZE_16,0===t?(this.flags|=flag_zero,this.last_result=t,e):(this.flags&=~flag_zero,this.last_result=v86util.int_log2(t))},CPU.prototype.bsr32=function(e,t){return this.flags_changed=flags_all&~flag_zero,this.last_op_size=OPSIZE_32,0===t?(this.flags|=flag_zero,this.last_result=t,e):(this.flags&=~flag_zero,this.last_result=v86util.int_log2(t>>>0))},CPU.prototype.popcnt=function(e){return this.flags_changed=0,this.flags&=~flags_all,e?(e-=e>>1&1431655765,16843009*((e=(858993459&e)+(e>>2&858993459))+(e>>4)&252645135)>>24):(this.flags|=flag_zero,0)},CPU.prototype.saturate_sw_to_ub=function(e){return dbg_assert(0==(4294901760&e)),e>>>=0,32768<=e?e=0:255>>=0,4294934528>>=0,4294967168e&&(e=0),dbg_assert(0==(4294967040&e)),e},CPU.prototype.saturate_ud_to_ub=function(e){return e>>>=0,255>>this.last_op_size&1:1&this.flags},CPU.prototype.getpf=function(){return this.flags_changed&flag_parity?154020>>(15&(this.last_result^this.last_result>>4))&flag_parity:this.flags&flag_parity},CPU.prototype.getaf=function(){return this.flags_changed&flag_adjust?(this.last_op1^this.last_op2^this.last_add_result)&flag_adjust:this.flags&flag_adjust},CPU.prototype.getzf=function(){return this.flags_changed&flag_zero?(~this.last_result&this.last_result-1)>>>this.last_op_size&1:this.flags&flag_zero},CPU.prototype.getsf=function(){return this.flags_changed&flag_sign?this.last_result>>>this.last_op_size&1:this.flags&flag_sign},CPU.prototype.getof=function(){return this.flags_changed&flag_overflow?((this.last_op1^this.last_add_result)&(this.last_op2^this.last_add_result))>>>this.last_op_size&1:this.flags&flag_overflow},CPU.prototype.test_o=CPU.prototype.getof,CPU.prototype.test_b=CPU.prototype.getcf,CPU.prototype.test_z=CPU.prototype.getzf,CPU.prototype.test_s=CPU.prototype.getsf,CPU.prototype.test_p=CPU.prototype.getpf,CPU.prototype.test_be=function(){return this.getcf()||this.getzf()},CPU.prototype.test_l=function(){return!this.getsf()!=!this.getof()},CPU.prototype.test_le=function(){return this.getzf()||!this.getsf()!=!this.getof()},CPU.prototype.push16=function(e){var t=this.get_stack_pointer(-2);this.safe_write16(t,e),this.adjust_stack_reg(-2)},CPU.prototype.push32=function(e){var t=this.get_stack_pointer(-4);this.safe_write32(t,e),this.adjust_stack_reg(-4)},CPU.prototype.pop16=function(){var e=this.get_seg(reg_ss)+this.get_stack_reg()|0;return e=this.safe_read16(e),this.adjust_stack_reg(2),e},CPU.prototype.pop32s=function(){var e=this.get_seg(reg_ss)+this.get_stack_reg()|0;return e=this.safe_read32s(e),this.adjust_stack_reg(4),e},CPU.prototype.pusha16=function(){var e=this.reg16[reg_sp];this.writable_or_pagefault(this.get_stack_pointer(-16),16),this.push16(this.reg16[reg_ax]),this.push16(this.reg16[reg_cx]),this.push16(this.reg16[reg_dx]),this.push16(this.reg16[reg_bx]),this.push16(e),this.push16(this.reg16[reg_bp]),this.push16(this.reg16[reg_si]),this.push16(this.reg16[reg_di])},CPU.prototype.pusha32=function(){var e=this.reg32s[reg_esp];this.writable_or_pagefault(this.get_stack_pointer(-32),32),this.push32(this.reg32s[reg_eax]),this.push32(this.reg32s[reg_ecx]),this.push32(this.reg32s[reg_edx]),this.push32(this.reg32s[reg_ebx]),this.push32(e),this.push32(this.reg32s[reg_ebp]),this.push32(this.reg32s[reg_esi]),this.push32(this.reg32s[reg_edi])},CPU.prototype.popa16=function(){this.translate_address_read(this.get_stack_pointer(0)),this.translate_address_read(this.get_stack_pointer(15)),this.reg16[reg_di]=this.pop16(),this.reg16[reg_si]=this.pop16(),this.reg16[reg_bp]=this.pop16(),this.adjust_stack_reg(2),this.reg16[reg_bx]=this.pop16(),this.reg16[reg_dx]=this.pop16(),this.reg16[reg_cx]=this.pop16(),this.reg16[reg_ax]=this.pop16()},CPU.prototype.popa32=function(){this.translate_address_read(this.get_stack_pointer(0)),this.translate_address_read(this.get_stack_pointer(31)),this.reg32s[reg_edi]=this.pop32s(),this.reg32s[reg_esi]=this.pop32s(),this.reg32s[reg_ebp]=this.pop32s(),this.adjust_stack_reg(4),this.reg32s[reg_ebx]=this.pop32s(),this.reg32s[reg_edx]=this.pop32s(),this.reg32s[reg_ecx]=this.pop32s(),this.reg32s[reg_eax]=this.pop32s()},CPU.prototype.xchg8=function(e,t){t=t>>1&12|t>>5&1;var s=this.reg8[t];return this.reg8[t]=e,s},CPU.prototype.xchg16=function(e,t){t=t>>2&14;var s=this.reg16[t];return this.reg16[t]=e,s},CPU.prototype.xchg16r=function(e){var t=this.reg16[reg_ax];this.reg16[reg_ax]=this.reg16[e],this.reg16[e]=t},CPU.prototype.xchg32=function(e,t){t=t>>3&7;var s=this.reg32s[t];return this.reg32s[t]=e,s},CPU.prototype.xchg32r=function(e){var t=this.reg32s[reg_eax];this.reg32s[reg_eax]=this.reg32s[e],this.reg32s[e]=t},CPU.prototype.lss16=function(e){192<=this.modrm_byte&&this.trigger_ud();var t=this.modrm_resolve(this.modrm_byte),s=this.safe_read16(t);t=this.safe_read16(t+2|0),this.switch_seg(e,t),this.reg16[this.modrm_byte>>2&14]=s},CPU.prototype.lss32=function(e){192<=this.modrm_byte&&this.trigger_ud();var t=this.modrm_resolve(this.modrm_byte),s=this.safe_read32s(t);t=this.safe_read16(t+4|0),this.switch_seg(e,t),this.reg32s[this.modrm_byte>>3&7]=s},CPU.prototype.enter16=function(e,t){(t&=31)&&dbg_log("enter16 stack="+(this.stack_size_32?32:16)+" size="+e+" nest="+t,LOG_CPU),this.push16(this.reg16[reg_bp]);var s=this.reg16[reg_sp];if(0>>0,8)),this.trigger_gp(0)),this.fpu.control_word=this.safe_read16(e+0|0),this.fpu.set_status_word(this.safe_read16(e+2|0)),this.fpu.stack_empty=255&~this.safe_read8(e+4|0),this.fpu.fpu_opcode=this.safe_read16(e+6|0),this.fpu.fpu_ip=this.safe_read32s(e+8|0),this.fpu.fpu_ip=this.safe_read16(e+12|0),this.fpu.fpu_dp=this.safe_read32s(e+16|0),this.fpu.fpu_dp_selector=this.safe_read16(e+20|0),this.mxcsr=t,t=0;8>t;t++)this.fpu.st[this.fpu.stack_ptr+t&7]=this.fpu.load_m80(e+32+(t<<4)|0);for(t=0;8>t;t++)this.reg_xmm32s[t<<2|0]=this.safe_read32s(e+160+(t<<4)+0|0),this.reg_xmm32s[t<<2|1]=this.safe_read32s(e+160+(t<<4)+4|0),this.reg_xmm32s[t<<2|2]=this.safe_read32s(e+160+(t<<4)+8|0),this.reg_xmm32s[t<<2|3]=this.safe_read32s(e+160+(t<<4)+12|0)};var t=[],t16=[],t32=[];t[0]=function(e){e.read_modrm_byte(),e.write_e8(e.add8(e.read_write_e8(),e.read_g8()))},t16[1]=function(e){e.read_modrm_byte(),e.write_e16(e.add16(e.read_write_e16(),e.read_g16()))},t32[1]=function(e){e.read_modrm_byte(),e.write_e32(e.add32(e.read_write_e32(),e.read_g32s()))},t[2]=function(e){e.read_modrm_byte(),e.write_g8(e.add8(e.read_g8(),e.read_e8()))},t16[3]=function(e){e.read_modrm_byte(),e.write_g16(e.add16(e.read_g16(),e.read_e16()))},t32[3]=function(e){e.read_modrm_byte(),e.write_g32(e.add32(e.read_g32s(),e.read_e32s()))},t[4]=function(e){e.reg8[reg_al]=e.add8(e.reg8[reg_al],e.read_op8())},t16[5]=function(e){e.reg16[reg_ax]=e.add16(e.reg16[reg_ax],e.read_op16())},t32[5]=function(e){e.reg32s[reg_eax]=e.add32(e.reg32s[reg_eax],e.read_op32s())},t16[6]=function(e){e.push16(e.sreg[reg_es])},t32[6]=function(e){e.push32(e.sreg[reg_es])},t16[7]=function(e){e.switch_seg(reg_es,e.safe_read16(e.get_stack_pointer(0))),e.adjust_stack_reg(2)},t32[7]=function(e){e.switch_seg(reg_es,65535&e.safe_read32s(e.get_stack_pointer(0))),e.adjust_stack_reg(4)},t[8]=function(e){e.read_modrm_byte(),e.write_e8(e.or8(e.read_write_e8(),e.read_g8()))},t16[9]=function(e){e.read_modrm_byte(),e.write_e16(e.or16(e.read_write_e16(),e.read_g16()))},t32[9]=function(e){e.read_modrm_byte(),e.write_e32(e.or32(e.read_write_e32(),e.read_g32s()))},t[10]=function(e){e.read_modrm_byte(),e.write_g8(e.or8(e.read_g8(),e.read_e8()))},t16[11]=function(e){e.read_modrm_byte(),e.write_g16(e.or16(e.read_g16(),e.read_e16()))},t32[11]=function(e){e.read_modrm_byte(),e.write_g32(e.or32(e.read_g32s(),e.read_e32s()))},t[12]=function(e){e.reg8[reg_al]=e.or8(e.reg8[reg_al],e.read_op8())},t16[13]=function(e){e.reg16[reg_ax]=e.or16(e.reg16[reg_ax],e.read_op16())},t32[13]=function(e){e.reg32s[reg_eax]=e.or32(e.reg32s[reg_eax],e.read_op32s())},t16[14]=function(e){e.push16(e.sreg[reg_cs])},t32[14]=function(e){e.push32(e.sreg[reg_cs])},t16[15]=function(e){e.table0F_16[e.read_op0F()](e)},t32[15]=function(e){e.table0F_32[e.read_op0F()](e)},t[16]=function(e){e.read_modrm_byte(),e.write_e8(e.adc8(e.read_write_e8(),e.read_g8()))},t16[17]=function(e){e.read_modrm_byte(),e.write_e16(e.adc16(e.read_write_e16(),e.read_g16()))},t32[17]=function(e){e.read_modrm_byte(),e.write_e32(e.adc32(e.read_write_e32(),e.read_g32s()))},t[18]=function(e){e.read_modrm_byte(),e.write_g8(e.adc8(e.read_g8(),e.read_e8()))},t16[19]=function(e){e.read_modrm_byte(),e.write_g16(e.adc16(e.read_g16(),e.read_e16()))},t32[19]=function(e){e.read_modrm_byte(),e.write_g32(e.adc32(e.read_g32s(),e.read_e32s()))},t[20]=function(e){e.reg8[reg_al]=e.adc8(e.reg8[reg_al],e.read_op8())},t16[21]=function(e){e.reg16[reg_ax]=e.adc16(e.reg16[reg_ax],e.read_op16())},t32[21]=function(e){e.reg32s[reg_eax]=e.adc32(e.reg32s[reg_eax],e.read_op32s())},t16[22]=function(e){e.push16(e.sreg[reg_ss])},t32[22]=function(e){e.push32(e.sreg[reg_ss])},t16[23]=function(e){e.switch_seg(reg_ss,e.safe_read16(e.get_stack_pointer(0))),e.adjust_stack_reg(2),e.clear_prefixes(),e.cycle_internal()},t32[23]=function(e){e.switch_seg(reg_ss,65535&e.safe_read32s(e.get_stack_pointer(0))),e.adjust_stack_reg(4),e.clear_prefixes(),e.cycle_internal()},t[24]=function(e){e.read_modrm_byte(),e.write_e8(e.sbb8(e.read_write_e8(),e.read_g8()))},t16[25]=function(e){e.read_modrm_byte(),e.write_e16(e.sbb16(e.read_write_e16(),e.read_g16()))},t32[25]=function(e){e.read_modrm_byte(),e.write_e32(e.sbb32(e.read_write_e32(),e.read_g32s()))},t[26]=function(e){e.read_modrm_byte(),e.write_g8(e.sbb8(e.read_g8(),e.read_e8()))},t16[27]=function(e){e.read_modrm_byte(),e.write_g16(e.sbb16(e.read_g16(),e.read_e16()))},t32[27]=function(e){e.read_modrm_byte(),e.write_g32(e.sbb32(e.read_g32s(),e.read_e32s()))},t[28]=function(e){e.reg8[reg_al]=e.sbb8(e.reg8[reg_al],e.read_op8())},t16[29]=function(e){e.reg16[reg_ax]=e.sbb16(e.reg16[reg_ax],e.read_op16())},t32[29]=function(e){e.reg32s[reg_eax]=e.sbb32(e.reg32s[reg_eax],e.read_op32s())},t16[30]=function(e){e.push16(e.sreg[reg_ds])},t32[30]=function(e){e.push32(e.sreg[reg_ds])},t16[31]=function(e){e.switch_seg(reg_ds,e.safe_read16(e.get_stack_pointer(0))),e.adjust_stack_reg(2)},t32[31]=function(e){e.switch_seg(reg_ds,65535&e.safe_read32s(e.get_stack_pointer(0))),e.adjust_stack_reg(4)},t[32]=function(e){e.read_modrm_byte(),e.write_e8(e.and8(e.read_write_e8(),e.read_g8()))},t16[33]=function(e){e.read_modrm_byte(),e.write_e16(e.and16(e.read_write_e16(),e.read_g16()))},t32[33]=function(e){e.read_modrm_byte(),e.write_e32(e.and32(e.read_write_e32(),e.read_g32s()))},t[34]=function(e){e.read_modrm_byte(),e.write_g8(e.and8(e.read_g8(),e.read_e8()))},t16[35]=function(e){e.read_modrm_byte(),e.write_g16(e.and16(e.read_g16(),e.read_e16()))},t32[35]=function(e){e.read_modrm_byte(),e.write_g32(e.and32(e.read_g32s(),e.read_e32s()))},t[36]=function(e){e.reg8[reg_al]=e.and8(e.reg8[reg_al],e.read_op8())},t16[37]=function(e){e.reg16[reg_ax]=e.and16(e.reg16[reg_ax],e.read_op16())},t32[37]=function(e){e.reg32s[reg_eax]=e.and32(e.reg32s[reg_eax],e.read_op32s())},t[38]=function(e){e.segment_prefix_op(reg_es)},t[39]=function(e){e.bcd_daa()},t[40]=function(e){e.read_modrm_byte(),e.write_e8(e.sub8(e.read_write_e8(),e.read_g8()))},t16[41]=function(e){e.read_modrm_byte(),e.write_e16(e.sub16(e.read_write_e16(),e.read_g16()))},t32[41]=function(e){e.read_modrm_byte(),e.write_e32(e.sub32(e.read_write_e32(),e.read_g32s()))},t[42]=function(e){e.read_modrm_byte(),e.write_g8(e.sub8(e.read_g8(),e.read_e8()))},t16[43]=function(e){e.read_modrm_byte(),e.write_g16(e.sub16(e.read_g16(),e.read_e16()))},t32[43]=function(e){e.read_modrm_byte(),e.write_g32(e.sub32(e.read_g32s(),e.read_e32s()))},t[44]=function(e){e.reg8[reg_al]=e.sub8(e.reg8[reg_al],e.read_op8())},t16[45]=function(e){e.reg16[reg_ax]=e.sub16(e.reg16[reg_ax],e.read_op16())},t32[45]=function(e){e.reg32s[reg_eax]=e.sub32(e.reg32s[reg_eax],e.read_op32s())},t[46]=function(e){e.segment_prefix_op(reg_cs)},t[47]=function(e){e.bcd_das()},t[48]=function(e){e.read_modrm_byte(),e.write_e8(e.xor8(e.read_write_e8(),e.read_g8()))},t16[49]=function(e){e.read_modrm_byte(),e.write_e16(e.xor16(e.read_write_e16(),e.read_g16()))},t32[49]=function(e){e.read_modrm_byte(),e.write_e32(e.xor32(e.read_write_e32(),e.read_g32s()))},t[50]=function(e){e.read_modrm_byte(),e.write_g8(e.xor8(e.read_g8(),e.read_e8()))},t16[51]=function(e){e.read_modrm_byte(),e.write_g16(e.xor16(e.read_g16(),e.read_e16()))},t32[51]=function(e){e.read_modrm_byte(),e.write_g32(e.xor32(e.read_g32s(),e.read_e32s()))},t[52]=function(e){e.reg8[reg_al]=e.xor8(e.reg8[reg_al],e.read_op8())},t16[53]=function(e){e.reg16[reg_ax]=e.xor16(e.reg16[reg_ax],e.read_op16())},t32[53]=function(e){e.reg32s[reg_eax]=e.xor32(e.reg32s[reg_eax],e.read_op32s())},t[54]=function(e){e.segment_prefix_op(reg_ss)},t[55]=function(e){e.bcd_aaa()},t[56]=function(e){e.read_modrm_byte(),e.cmp8(e.read_e8(),e.read_g8())},t16[57]=function(e){e.read_modrm_byte(),e.cmp16(e.read_e16(),e.read_g16())},t32[57]=function(e){e.read_modrm_byte(),e.cmp32(e.read_e32s(),e.read_g32s())},t[58]=function(e){e.read_modrm_byte(),e.cmp8(e.read_g8(),e.read_e8())},t16[59]=function(e){e.read_modrm_byte(),e.cmp16(e.read_g16(),e.read_e16())},t32[59]=function(e){e.read_modrm_byte(),e.cmp32(e.read_g32s(),e.read_e32s())},t[60]=function(e){e.cmp8(e.reg8[reg_al],e.read_op8())},t16[61]=function(e){e.cmp16(e.reg16[reg_ax],e.read_op16())},t32[61]=function(e){e.cmp32(e.reg32s[reg_eax],e.read_op32s())},t[62]=function(e){e.segment_prefix_op(reg_ds)},t[63]=function(e){e.bcd_aas()},t16[64]=function(e){e.reg16[reg_ax]=e.inc16(e.reg16[reg_ax])},t32[64]=function(e){e.reg32s[reg_eax]=e.inc32(e.reg32s[reg_eax])},t16[65]=function(e){e.reg16[reg_cx]=e.inc16(e.reg16[reg_cx])},t32[65]=function(e){e.reg32s[reg_ecx]=e.inc32(e.reg32s[reg_ecx])},t16[66]=function(e){e.reg16[reg_dx]=e.inc16(e.reg16[reg_dx])},t32[66]=function(e){e.reg32s[reg_edx]=e.inc32(e.reg32s[reg_edx])},t16[67]=function(e){e.reg16[reg_bx]=e.inc16(e.reg16[reg_bx])},t32[67]=function(e){e.reg32s[reg_ebx]=e.inc32(e.reg32s[reg_ebx])},t16[68]=function(e){e.reg16[reg_sp]=e.inc16(e.reg16[reg_sp])},t32[68]=function(e){e.reg32s[reg_esp]=e.inc32(e.reg32s[reg_esp])},t16[69]=function(e){e.reg16[reg_bp]=e.inc16(e.reg16[reg_bp])},t32[69]=function(e){e.reg32s[reg_ebp]=e.inc32(e.reg32s[reg_ebp])},t16[70]=function(e){e.reg16[reg_si]=e.inc16(e.reg16[reg_si])},t32[70]=function(e){e.reg32s[reg_esi]=e.inc32(e.reg32s[reg_esi])},t16[71]=function(e){e.reg16[reg_di]=e.inc16(e.reg16[reg_di])},t32[71]=function(e){e.reg32s[reg_edi]=e.inc32(e.reg32s[reg_edi])},t16[72]=function(e){e.reg16[reg_ax]=e.dec16(e.reg16[reg_ax])},t32[72]=function(e){e.reg32s[reg_eax]=e.dec32(e.reg32s[reg_eax])},t16[73]=function(e){e.reg16[reg_cx]=e.dec16(e.reg16[reg_cx])},t32[73]=function(e){e.reg32s[reg_ecx]=e.dec32(e.reg32s[reg_ecx])},t16[74]=function(e){e.reg16[reg_dx]=e.dec16(e.reg16[reg_dx])},t32[74]=function(e){e.reg32s[reg_edx]=e.dec32(e.reg32s[reg_edx])},t16[75]=function(e){e.reg16[reg_bx]=e.dec16(e.reg16[reg_bx])},t32[75]=function(e){e.reg32s[reg_ebx]=e.dec32(e.reg32s[reg_ebx])},t16[76]=function(e){e.reg16[reg_sp]=e.dec16(e.reg16[reg_sp])},t32[76]=function(e){e.reg32s[reg_esp]=e.dec32(e.reg32s[reg_esp])},t16[77]=function(e){e.reg16[reg_bp]=e.dec16(e.reg16[reg_bp])},t32[77]=function(e){e.reg32s[reg_ebp]=e.dec32(e.reg32s[reg_ebp])},t16[78]=function(e){e.reg16[reg_si]=e.dec16(e.reg16[reg_si])},t32[78]=function(e){e.reg32s[reg_esi]=e.dec32(e.reg32s[reg_esi])},t16[79]=function(e){e.reg16[reg_di]=e.dec16(e.reg16[reg_di])},t32[79]=function(e){e.reg32s[reg_edi]=e.dec32(e.reg32s[reg_edi])},t16[80]=function(e){e.push16(e.reg16[reg_ax])},t32[80]=function(e){e.push32(e.reg32s[reg_eax])},t16[81]=function(e){e.push16(e.reg16[reg_cx])},t32[81]=function(e){e.push32(e.reg32s[reg_ecx])},t16[82]=function(e){e.push16(e.reg16[reg_dx])},t32[82]=function(e){e.push32(e.reg32s[reg_edx])},t16[83]=function(e){e.push16(e.reg16[reg_bx])},t32[83]=function(e){e.push32(e.reg32s[reg_ebx])},t16[84]=function(e){e.push16(e.reg16[reg_sp])},t32[84]=function(e){e.push32(e.reg32s[reg_esp])},t16[85]=function(e){e.push16(e.reg16[reg_bp])},t32[85]=function(e){e.push32(e.reg32s[reg_ebp])},t16[86]=function(e){e.push16(e.reg16[reg_si])},t32[86]=function(e){e.push32(e.reg32s[reg_esi])},t16[87]=function(e){e.push16(e.reg16[reg_di])},t32[87]=function(e){e.push32(e.reg32s[reg_edi])},t16[88]=function(e){e.reg16[reg_ax]=e.pop16()},t32[88]=function(e){e.reg32s[reg_eax]=e.pop32s()},t16[89]=function(e){e.reg16[reg_cx]=e.pop16()},t32[89]=function(e){e.reg32s[reg_ecx]=e.pop32s()},t16[90]=function(e){e.reg16[reg_dx]=e.pop16()},t32[90]=function(e){e.reg32s[reg_edx]=e.pop32s()},t16[91]=function(e){e.reg16[reg_bx]=e.pop16()},t32[91]=function(e){e.reg32s[reg_ebx]=e.pop32s()},t16[92]=function(e){e.reg16[reg_sp]=e.pop16()},t32[92]=function(e){e.reg32s[reg_esp]=e.pop32s()},t16[93]=function(e){e.reg16[reg_bp]=e.pop16()},t32[93]=function(e){e.reg32s[reg_ebp]=e.pop32s()},t16[94]=function(e){e.reg16[reg_si]=e.pop16()},t32[94]=function(e){e.reg32s[reg_esi]=e.pop32s()},t16[95]=function(e){e.reg16[reg_di]=e.pop16()},t32[95]=function(e){e.reg32s[reg_edi]=e.pop32s()},t16[96]=function(e){e.pusha16()},t32[96]=function(e){e.pusha32()},t16[97]=function(e){e.popa16()},t32[97]=function(e){e.popa32()},t[98]=function(e){dbg_log("Unimplemented BOUND instruction",LOG_CPU),dbg_assert(!1)},t[99]=function(e){e.read_modrm_byte(),e.protected_mode&&!e.vm86_mode()?e.write_e16(e.arpl(e.read_write_e16(),e.modrm_byte>>2&14)):(dbg_log("arpl #ud",LOG_CPU),e.trigger_ud())},t[100]=function(e){e.segment_prefix_op(reg_fs)},t[101]=function(e){e.segment_prefix_op(reg_gs)},t[102]=function(e){e.prefixes|=PREFIX_MASK_OPSIZE,e.run_prefix_instruction(),e.prefixes=0},t[103]=function(e){dbg_assert(e.is_asize_32()===e.is_32),e.prefixes|=PREFIX_MASK_ADDRSIZE,e.run_prefix_instruction(),e.prefixes=0},t16[104]=function(e){e.push16(e.read_op16())},t32[104]=function(e){e.push32(e.read_op32s())},t16[105]=function(e){e.read_modrm_byte(),e.write_g16(e.imul_reg16(e.read_e16s(),e.read_op16()<<16>>16))},t32[105]=function(e){e.read_modrm_byte(),e.write_g32(e.imul_reg32(e.read_e32s(),e.read_op32s()))},t16[106]=function(e){e.push16(e.read_op8s())},t32[106]=function(e){e.push32(e.read_op8s())},t16[107]=function(e){e.read_modrm_byte(),e.write_g16(e.imul_reg16(e.read_e16s(),e.read_op8s()))},t32[107]=function(e){e.read_modrm_byte(),e.write_g32(e.imul_reg32(e.read_e32s(),e.read_op8s()))},t[108]=function(e){insb(e)},t16[109]=function(e){insw(e)},t32[109]=function(e){insd(e)},t[110]=function(e){outsb(e)},t16[111]=function(e){outsw(e)},t32[111]=function(e){outsd(e)},t[112]=function(e){e.jmpcc8(e.test_o())},t[113]=function(e){e.jmpcc8(!e.test_o())},t[114]=function(e){e.jmpcc8(e.test_b())},t[115]=function(e){e.jmpcc8(!e.test_b())},t[116]=function(e){e.jmpcc8(e.test_z())},t[117]=function(e){e.jmpcc8(!e.test_z())},t[118]=function(e){e.jmpcc8(e.test_be())},t[119]=function(e){e.jmpcc8(!e.test_be())},t[120]=function(e){e.jmpcc8(e.test_s())},t[121]=function(e){e.jmpcc8(!e.test_s())},t[122]=function(e){e.jmpcc8(e.test_p())},t[123]=function(e){e.jmpcc8(!e.test_p())},t[124]=function(e){e.jmpcc8(e.test_l())},t[125]=function(e){e.jmpcc8(!e.test_l())},t[126]=function(e){e.jmpcc8(e.test_le())},t[127]=function(e){e.jmpcc8(!e.test_le())};t[128]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:e.write_e8(e.add8(e.read_write_e8(),e.read_op8()));break;case 1:e.write_e8(e.or8(e.read_write_e8(),e.read_op8()));break;case 2:e.write_e8(e.adc8(e.read_write_e8(),e.read_op8()));break;case 3:e.write_e8(e.sbb8(e.read_write_e8(),e.read_op8()));break;case 4:e.write_e8(e.and8(e.read_write_e8(),e.read_op8()));break;case 5:e.write_e8(e.sub8(e.read_write_e8(),e.read_op8()));break;case 6:e.write_e8(e.xor8(e.read_write_e8(),e.read_op8()));break;case 7:e.cmp8(e.read_e8(),e.read_op8())}},t16[129]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:e.write_e16(e.add16(e.read_write_e16(),e.read_op16()));break;case 1:e.write_e16(e.or16(e.read_write_e16(),e.read_op16()));break;case 2:e.write_e16(e.adc16(e.read_write_e16(),e.read_op16()));break;case 3:e.write_e16(e.sbb16(e.read_write_e16(),e.read_op16()));break;case 4:e.write_e16(e.and16(e.read_write_e16(),e.read_op16()));break;case 5:e.write_e16(e.sub16(e.read_write_e16(),e.read_op16()));break;case 6:e.write_e16(e.xor16(e.read_write_e16(),e.read_op16()));break;case 7:e.cmp16(e.read_e16(),e.read_op16())}},t32[129]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:e.write_e32(e.add32(e.read_write_e32(),e.read_op32s()));break;case 1:e.write_e32(e.or32(e.read_write_e32(),e.read_op32s()));break;case 2:e.write_e32(e.adc32(e.read_write_e32(),e.read_op32s()));break;case 3:e.write_e32(e.sbb32(e.read_write_e32(),e.read_op32s()));break;case 4:e.write_e32(e.and32(e.read_write_e32(),e.read_op32s()));break;case 5:e.write_e32(e.sub32(e.read_write_e32(),e.read_op32s()));break;case 6:e.write_e32(e.xor32(e.read_write_e32(),e.read_op32s()));break;case 7:e.cmp32(e.read_e32s(),e.read_op32s())}},t[130]=t[128],t16[131]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:e.write_e16(e.add16(e.read_write_e16(),e.read_op8s()));break;case 1:e.write_e16(e.or16(e.read_write_e16(),e.read_op8s()));break;case 2:e.write_e16(e.adc16(e.read_write_e16(),e.read_op8s()));break;case 3:e.write_e16(e.sbb16(e.read_write_e16(),e.read_op8s()));break;case 4:e.write_e16(e.and16(e.read_write_e16(),e.read_op8s()));break;case 5:e.write_e16(e.sub16(e.read_write_e16(),e.read_op8s()));break;case 6:e.write_e16(e.xor16(e.read_write_e16(),e.read_op8s()));break;case 7:e.cmp16(e.read_e16(),e.read_op8s())}},t32[131]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:e.write_e32(e.add32(e.read_write_e32(),e.read_op8s()));break;case 1:e.write_e32(e.or32(e.read_write_e32(),e.read_op8s()));break;case 2:e.write_e32(e.adc32(e.read_write_e32(),e.read_op8s()));break;case 3:e.write_e32(e.sbb32(e.read_write_e32(),e.read_op8s()));break;case 4:e.write_e32(e.and32(e.read_write_e32(),e.read_op8s()));break;case 5:e.write_e32(e.sub32(e.read_write_e32(),e.read_op8s()));break;case 6:e.write_e32(e.xor32(e.read_write_e32(),e.read_op8s()));break;case 7:e.cmp32(e.read_e32s(),e.read_op8s())}},t[132]=function(e){e.read_modrm_byte();var t=e.read_e8();e.test8(t,e.read_g8())},t16[133]=function(e){e.read_modrm_byte();var t=e.read_e16();e.test16(t,e.read_g16())},t32[133]=function(e){e.read_modrm_byte();var t=e.read_e32s();e.test32(t,e.read_g32s())},t[134]=function(e){e.read_modrm_byte();var t=e.read_write_e8();e.write_e8(e.xchg8(t,e.modrm_byte))},t16[135]=function(e){e.read_modrm_byte();var t=e.read_write_e16();e.write_e16(e.xchg16(t,e.modrm_byte))},t32[135]=function(e){e.read_modrm_byte();var t=e.read_write_e32() +;e.write_e32(e.xchg32(t,e.modrm_byte))},t[136]=function(e){e.read_modrm_byte(),e.set_e8(e.read_g8())},t16[137]=function(e){e.read_modrm_byte(),e.set_e16(e.read_g16())},t32[137]=function(e){e.read_modrm_byte(),e.set_e32(e.read_g32s())},t[138]=function(e){e.read_modrm_byte();var t=e.read_e8();e.write_g8(t)},t16[139]=function(e){e.read_modrm_byte();var t=e.read_e16();e.write_g16(t)},t32[139]=function(e){e.read_modrm_byte();var t=e.read_e32s();e.write_g32(t)},t16[140]=function(e){e.read_modrm_byte(),e.set_e16(e.sreg[e.modrm_byte>>3&7])},t32[140]=function(e){e.read_modrm_byte(),e.set_e32(e.sreg[e.modrm_byte>>3&7])},t16[141]=function(e){e.read_modrm_byte(),192<=e.modrm_byte&&(dbg_log("lea #ud",LOG_CPU),e.trigger_ud());var t=e.modrm_byte>>3&7;e.prefixes|=SEG_PREFIX_ZERO,e.reg16[t<<1]=e.modrm_resolve(e.modrm_byte),e.prefixes=0},t32[141]=function(e){e.read_modrm_byte(),192<=e.modrm_byte&&(dbg_log("lea #ud",LOG_CPU),e.trigger_ud());var t=e.modrm_byte>>3&7;e.prefixes|=SEG_PREFIX_ZERO,e.reg32s[t]=e.modrm_resolve(e.modrm_byte),e.prefixes=0},t[142]=function(e){e.read_modrm_byte();var t=e.modrm_byte>>3&7,s=e.read_e16();e.switch_seg(t,s),t===reg_ss&&(e.clear_prefixes(),e.cycle_internal())},t16[143]=function(e){e.read_modrm_byte();var t=e.safe_read16(e.get_stack_pointer(0));if(e.adjust_stack_reg(2),192>e.modrm_byte){var s=e.modrm_resolve(e.modrm_byte);e.adjust_stack_reg(-2),e.safe_write16(s,t),e.adjust_stack_reg(2)}else e.write_reg_e16(t)},t32[143]=function(e){e.read_modrm_byte();var t=e.safe_read32s(e.get_stack_pointer(0));if(e.adjust_stack_reg(4),192>e.modrm_byte){var s=e.modrm_resolve(e.modrm_byte);e.adjust_stack_reg(-4),e.safe_write32(s,t),e.adjust_stack_reg(4)}else e.write_reg_e32(t)},t[144]=function(e){},t16[145]=function(e){e.xchg16r(reg_cx)},t32[145]=function(e){e.xchg32r(reg_ecx)},t16[146]=function(e){e.xchg16r(reg_dx)},t32[146]=function(e){e.xchg32r(reg_edx)},t16[147]=function(e){e.xchg16r(reg_bx)},t32[147]=function(e){e.xchg32r(reg_ebx)},t16[148]=function(e){e.xchg16r(reg_sp)},t32[148]=function(e){e.xchg32r(reg_esp)},t16[149]=function(e){e.xchg16r(reg_bp)},t32[149]=function(e){e.xchg32r(reg_ebp)},t16[150]=function(e){e.xchg16r(reg_si)},t32[150]=function(e){e.xchg32r(reg_esi)},t16[151]=function(e){e.xchg16r(reg_di)},t32[151]=function(e){e.xchg32r(reg_edi)},t16[152]=function(e){e.reg16[reg_ax]=e.reg8s[reg_al]},t32[152]=function(e){e.reg32s[reg_eax]=e.reg16s[reg_ax]},t16[153]=function(e){e.reg16[reg_dx]=e.reg16s[reg_ax]>>15},t32[153]=function(e){e.reg32s[reg_edx]=e.reg32s[reg_eax]>>31},t16[154]=function(e){var t=e.read_op16(),s=e.read_disp16();e.far_jump(t,s,!0),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t32[154]=function(e){var t=e.read_op32s(),s=e.read_disp16();if((!e.protected_mode||e.vm86_mode())&&4294901760&t)throw e.debug.unimpl("#GP handler");e.far_jump(t,s,!0),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t[155]=function(e){(e.cr[0]&(CR0_MP|CR0_TS))==(CR0_MP|CR0_TS)?e.trigger_nm():e.fpu&&e.fpu.fwait()},t16[156]=function(e){e.flags&flag_vm&&3>e.getiopl()?(dbg_assert(e.protected_mode),dbg_log("pushf #gp",LOG_CPU),e.trigger_gp(0)):e.push16(e.get_eflags())},t32[156]=function(e){e.flags&flag_vm&&3>e.getiopl()?(dbg_assert(e.protected_mode),dbg_log("pushf #gp",LOG_CPU),e.trigger_gp(0)):e.push32(16580607&e.get_eflags())},t16[157]=function(e){e.flags&flag_vm&&3>e.getiopl()&&(dbg_log("popf #gp",LOG_CPU),e.trigger_gp(0)),e.update_eflags(-65536&e.flags|e.pop16()),e.flags&flag_trap?e.flags&=~flag_trap:e.handle_irqs()},t32[157]=function(e){e.flags&flag_vm&&3>e.getiopl()&&(dbg_log("popf #gp",LOG_CPU),e.trigger_gp(0)),e.update_eflags(e.pop32s()),e.handle_irqs()},t[158]=function(e){e.flags=-256&e.flags|e.reg8[reg_ah],e.flags=e.flags&flags_mask|flags_default,e.flags_changed=0},t[159]=function(e){e.reg8[reg_ah]=e.get_eflags()},t[160]=function(e){var t=e.safe_read8(e.read_moffs());e.reg8[reg_al]=t},t16[161]=function(e){var t=e.safe_read16(e.read_moffs());e.reg16[reg_ax]=t},t32[161]=function(e){var t=e.safe_read32s(e.read_moffs());e.reg32s[reg_eax]=t},t[162]=function(e){e.safe_write8(e.read_moffs(),e.reg8[reg_al])},t16[163]=function(e){e.safe_write16(e.read_moffs(),e.reg16[reg_ax])},t32[163]=function(e){e.safe_write32(e.read_moffs(),e.reg32s[reg_eax])},t[164]=function(e){e.movsb()},t16[165]=function(e){e.movsw()},t32[165]=function(e){e.movsd()},t[166]=function(e){cmpsb(e)},t16[167]=function(e){cmpsw(e)},t32[167]=function(e){cmpsd(e)},t[168]=function(e){e.test8(e.reg8[reg_al],e.read_op8())},t16[169]=function(e){e.test16(e.reg16[reg_ax],e.read_op16())},t32[169]=function(e){e.test32(e.reg32s[reg_eax],e.read_op32s())},t[170]=function(e){stosb(e)},t16[171]=function(e){stosw(e)},t32[171]=function(e){stosd(e)},t[172]=function(e){lodsb(e)},t16[173]=function(e){lodsw(e)},t32[173]=function(e){lodsd(e)},t[174]=function(e){scasb(e)},t16[175]=function(e){scasw(e)},t32[175]=function(e){scasd(e)},t[176]=function(e){e.reg8[reg_al]=e.read_op8()},t[177]=function(e){e.reg8[reg_cl]=e.read_op8()},t[178]=function(e){e.reg8[reg_dl]=e.read_op8()},t[179]=function(e){e.reg8[reg_bl]=e.read_op8()},t[180]=function(e){e.reg8[reg_ah]=e.read_op8()},t[181]=function(e){e.reg8[reg_ch]=e.read_op8()},t[182]=function(e){e.reg8[reg_dh]=e.read_op8()},t[183]=function(e){e.reg8[reg_bh]=e.read_op8()},t16[184]=function(e){e.reg16[reg_ax]=e.read_op16()},t32[184]=function(e){e.reg32s[reg_eax]=e.read_op32s()},t16[185]=function(e){e.reg16[reg_cx]=e.read_op16()},t32[185]=function(e){e.reg32s[reg_ecx]=e.read_op32s()},t16[186]=function(e){e.reg16[reg_dx]=e.read_op16()},t32[186]=function(e){e.reg32s[reg_edx]=e.read_op32s()},t16[187]=function(e){e.reg16[reg_bx]=e.read_op16()},t32[187]=function(e){e.reg32s[reg_ebx]=e.read_op32s()},t16[188]=function(e){e.reg16[reg_sp]=e.read_op16()},t32[188]=function(e){e.reg32s[reg_esp]=e.read_op32s()},t16[189]=function(e){e.reg16[reg_bp]=e.read_op16()},t32[189]=function(e){e.reg32s[reg_ebp]=e.read_op32s()},t16[190]=function(e){e.reg16[reg_si]=e.read_op16()},t32[190]=function(e){e.reg32s[reg_esi]=e.read_op32s()},t16[191]=function(e){e.reg16[reg_di]=e.read_op16()},t32[191]=function(e){e.reg32s[reg_edi]=e.read_op32s()},t[192]=function(e){e.read_modrm_byte();var t=e.read_write_e8(),s=31&e.read_op8(),r=0;switch(e.modrm_byte>>3&7){case 0:r=e.rol8(t,s);break;case 1:r=e.ror8(t,s);break;case 2:r=e.rcl8(t,s);break;case 3:r=e.rcr8(t,s);break;case 4:r=e.shl8(t,s);break;case 5:r=e.shr8(t,s);break;case 6:r=e.shl8(t,s);break;case 7:r=e.sar8(t,s)}e.write_e8(r)},t16[193]=function(e){e.read_modrm_byte();var t=e.read_write_e16(),s=31&e.read_op8(),r=0;switch(e.modrm_byte>>3&7){case 0:r=e.rol16(t,s);break;case 1:r=e.ror16(t,s);break;case 2:r=e.rcl16(t,s);break;case 3:r=e.rcr16(t,s);break;case 4:r=e.shl16(t,s);break;case 5:r=e.shr16(t,s);break;case 6:r=e.shl16(t,s);break;case 7:r=e.sar16(t,s)}e.write_e16(r)},t32[193]=function(e){e.read_modrm_byte();var t=e.read_write_e32(),s=31&e.read_op8(),r=0;switch(e.modrm_byte>>3&7){case 0:r=e.rol32(t,s);break;case 1:r=e.ror32(t,s);break;case 2:r=e.rcl32(t,s);break;case 3:r=e.rcr32(t,s);break;case 4:r=e.shl32(t,s);break;case 5:r=e.shr32(t,s);break;case 6:r=e.shl32(t,s);break;case 7:r=e.sar32(t,s)}e.write_e32(r)},t16[194]=function(e){var t=e.read_op16();e.instruction_pointer=e.get_seg(reg_cs)+e.pop16()|0,dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.adjust_stack_reg(t),e.diverged()},t32[194]=function(e){var t=e.read_op16(),s=e.pop32s();dbg_assert(e.is_asize_32()||65536>s),e.instruction_pointer=e.get_seg(reg_cs)+s|0,e.adjust_stack_reg(t),e.diverged()},t16[195]=function(e){e.instruction_pointer=e.get_seg(reg_cs)+e.pop16()|0,e.diverged()},t32[195]=function(e){var t=e.pop32s();dbg_assert(e.is_asize_32()||65536>t),e.instruction_pointer=e.get_seg(reg_cs)+t|0,e.diverged()},t16[196]=function(e){e.read_modrm_byte(),e.lss16(reg_es)},t32[196]=function(e){e.read_modrm_byte(),e.lss32(reg_es)},t16[197]=function(e){e.read_modrm_byte(),e.lss16(reg_ds)},t32[197]=function(e){e.read_modrm_byte(),e.lss32(reg_ds)},t[198]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.safe_write8(e.modrm_resolve(e.modrm_byte),e.read_op8()):e.reg8[e.modrm_byte<<2&12|e.modrm_byte>>2&1]=e.read_op8()},t16[199]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.safe_write16(e.modrm_resolve(e.modrm_byte),e.read_op16()):e.reg16[e.modrm_byte<<1&14]=e.read_op16()},t32[199]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.safe_write32(e.modrm_resolve(e.modrm_byte),e.read_op32s()):e.reg32s[7&e.modrm_byte]=e.read_op32s()},t16[200]=function(e){e.enter16(e.read_op16(),e.read_disp8())},t32[200]=function(e){e.enter32(e.read_op16(),e.read_disp8())},t16[201]=function(e){var t=e.stack_size_32?e.reg32s[reg_ebp]:e.reg16[reg_bp],s=e.safe_read16(e.get_seg(reg_ss)+t|0);e.set_stack_reg(t+2|0),e.reg16[reg_bp]=s},t32[201]=function(e){var t=e.stack_size_32?e.reg32s[reg_ebp]:e.reg16[reg_bp],s=e.safe_read32s(e.get_seg(reg_ss)+t|0);e.set_stack_reg(t+4|0),e.reg32s[reg_ebp]=s},t16[202]=function(e){var t=e.read_op16(),s=e.safe_read16(e.get_stack_pointer(0)),r=e.safe_read16(e.get_stack_pointer(2));e.far_return(s,r,t),e.diverged()},t32[202]=function(e){var t=e.read_op16(),s=e.safe_read32s(e.get_stack_pointer(0)),r=65535&e.safe_read32s(e.get_stack_pointer(4));e.far_return(s,r,t),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t16[203]=function(e){var t=e.safe_read16(e.get_stack_pointer(0)),s=e.safe_read16(e.get_stack_pointer(2));e.far_return(t,s,0),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t32[203]=function(e){var t=e.safe_read32s(e.get_stack_pointer(0)),s=65535&e.safe_read32s(e.get_stack_pointer(4));e.far_return(t,s,0),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t[204]=function(e){dbg_log("INT3",LOG_CPU),e.call_interrupt_vector(3,!0,!1),e.diverged()},t[205]=function(e){var t=e.read_op8();e.call_interrupt_vector(t,!0,!1),e.diverged()},t[206]=function(e){dbg_log("INTO",LOG_CPU),e.getof()&&e.call_interrupt_vector(4,!0,!1),e.diverged()},t16[207]=function(e){e.iret16(),e.diverged()},t32[207]=function(e){e.iret32(),e.diverged()},t[208]=function(e){e.read_modrm_byte();var t=e.read_write_e8(),s=0;switch(e.modrm_byte>>3&7){case 0:s=e.rol8(t,1);break;case 1:s=e.ror8(t,1);break;case 2:s=e.rcl8(t,1);break;case 3:s=e.rcr8(t,1);break;case 4:s=e.shl8(t,1);break;case 5:s=e.shr8(t,1);break;case 6:s=e.shl8(t,1);break;case 7:s=e.sar8(t,1)}e.write_e8(s)},t16[209]=function(e){e.read_modrm_byte();var t=e.read_write_e16(),s=0;switch(e.modrm_byte>>3&7){case 0:s=e.rol16(t,1);break;case 1:s=e.ror16(t,1);break;case 2:s=e.rcl16(t,1);break;case 3:s=e.rcr16(t,1);break;case 4:s=e.shl16(t,1);break;case 5:s=e.shr16(t,1);break;case 6:s=e.shl16(t,1);break;case 7:s=e.sar16(t,1)}e.write_e16(s)},t32[209]=function(e){e.read_modrm_byte();var t=e.read_write_e32(),s=0;switch(e.modrm_byte>>3&7){case 0:s=e.rol32(t,1);break;case 1:s=e.ror32(t,1);break;case 2:s=e.rcl32(t,1);break;case 3:s=e.rcr32(t,1);break;case 4:s=e.shl32(t,1);break;case 5:s=e.shr32(t,1);break;case 6:s=e.shl32(t,1);break;case 7:s=e.sar32(t,1)}e.write_e32(s)},t[210]=function(e){e.read_modrm_byte();var t=e.read_write_e8(),s=31&e.reg8[reg_cl],r=0;switch(e.modrm_byte>>3&7){case 0:r=e.rol8(t,s);break;case 1:r=e.ror8(t,s);break;case 2:r=e.rcl8(t,s);break;case 3:r=e.rcr8(t,s);break;case 4:r=e.shl8(t,s);break;case 5:r=e.shr8(t,s);break;case 6:r=e.shl8(t,s);break;case 7:r=e.sar8(t,s)}e.write_e8(r)},t16[211]=function(e){e.read_modrm_byte();var t=e.read_write_e16(),s=31&e.reg8[reg_cl],r=0;switch(e.modrm_byte>>3&7){case 0:r=e.rol16(t,s);break;case 1:r=e.ror16(t,s);break;case 2:r=e.rcl16(t,s);break;case 3:r=e.rcr16(t,s);break;case 4:r=e.shl16(t,s);break;case 5:r=e.shr16(t,s);break;case 6:r=e.shl16(t,s);break;case 7:r=e.sar16(t,s)}e.write_e16(r)},t32[211]=function(e){e.read_modrm_byte();var t=e.read_write_e32(),s=31&e.reg8[reg_cl],r=0;switch(e.modrm_byte>>3&7){case 0:r=e.rol32(t,s);break;case 1:r=e.ror32(t,s);break;case 2:r=e.rcl32(t,s);break;case 3:r=e.rcr32(t,s);break;case 4:r=e.shl32(t,s);break;case 5:r=e.shr32(t,s);break;case 6:r=e.shl32(t,s);break;case 7:r=e.sar32(t,s)}e.write_e32(r)},t[212]=function(e){e.bcd_aam(e.read_op8())},t[213]=function(e){e.bcd_aad(e.read_op8())},t[214]=function(e){e.reg8[reg_al]=-e.getcf()},t[215]=function(e){e.is_asize_32()?e.reg8[reg_al]=e.safe_read8(e.get_seg_prefix(reg_ds)+e.reg32s[reg_ebx]+e.reg8[reg_al]|0):e.reg8[reg_al]=e.safe_read8(e.get_seg_prefix(reg_ds)+(e.reg16[reg_bx]+e.reg8[reg_al]&65535)|0)},t[216]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_D8_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_D8_reg(e.modrm_byte)},t[217]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_D9_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_D9_reg(e.modrm_byte)},t[218]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_DA_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_DA_reg(e.modrm_byte)},t[219]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_DB_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_DB_reg(e.modrm_byte)},t[220]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_DC_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_DC_reg(e.modrm_byte)},t[221]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_DD_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_DD_reg(e.modrm_byte)},t[222]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_DE_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_DE_reg(e.modrm_byte)},t[223]=function(e){e.read_modrm_byte(),e.task_switch_test(),192>e.modrm_byte?e.fpu.op_DF_mem(e.modrm_byte,e.modrm_resolve(e.modrm_byte)):e.fpu.op_DF_reg(e.modrm_byte)},t[224]=function(e){e.loopne(e.read_op8s())},t[225]=function(e){e.loope(e.read_op8s())},t[226]=function(e){e.loop(e.read_op8s())},t[227]=function(e){e.jcxz(e.read_op8s())},t[228]=function(e){var t=e.read_op8();e.test_privileges_for_io(t,1),e.reg8[reg_al]=e.io.port_read8(t),e.diverged()},t16[229]=function(e){var t=e.read_op8();e.test_privileges_for_io(t,2),e.reg16[reg_ax]=e.io.port_read16(t),e.diverged()},t32[229]=function(e){var t=e.read_op8();e.test_privileges_for_io(t,4),e.reg32s[reg_eax]=e.io.port_read32(t),e.diverged()},t[230]=function(e){var t=e.read_op8();e.test_privileges_for_io(t,1),e.io.port_write8(t,e.reg8[reg_al]),e.diverged()},t16[231]=function(e){var t=e.read_op8();e.test_privileges_for_io(t,2),e.io.port_write16(t,e.reg16[reg_ax]),e.diverged()},t32[231]=function(e){var t=e.read_op8();e.test_privileges_for_io(t,4),e.io.port_write32(t,e.reg32s[reg_eax]),e.diverged()},t16[232]=function(e){var t=e.read_op16();e.push16(e.get_real_eip()),e.jmp_rel16(t),e.diverged()},t32[232]=function(e){var t=e.read_op32s();e.push32(e.get_real_eip()),e.instruction_pointer=e.instruction_pointer+t|0,dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t16[233]=function(e){var t=e.read_op16();e.jmp_rel16(t),e.diverged()},t32[233]=function(e){var t=e.read_op32s();e.instruction_pointer=e.instruction_pointer+t|0,dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t16[234]=function(e){var t=e.read_op16(),s=e.read_disp16();e.far_jump(t,s,!1),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t32[234]=function(e){var t=e.read_op32s(),s=e.read_disp16();e.far_jump(t,s,!1),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t[235]=function(e){var t=e.read_op8s();e.instruction_pointer=e.instruction_pointer+t|0,dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged()},t[236]=function(e){var t=e.reg16[reg_dx];e.test_privileges_for_io(t,1),e.reg8[reg_al]=e.io.port_read8(t),e.diverged()},t16[237]=function(e){var t=e.reg16[reg_dx];e.test_privileges_for_io(t,2),e.reg16[reg_ax]=e.io.port_read16(t),e.diverged()},t32[237]=function(e){var t=e.reg16[reg_dx];e.test_privileges_for_io(t,4),e.reg32s[reg_eax]=e.io.port_read32(t),e.diverged()},t[238]=function(e){var t=e.reg16[reg_dx];e.test_privileges_for_io(t,1),e.io.port_write8(t,e.reg8[reg_al]),e.diverged()},t16[239]=function(e){var t=e.reg16[reg_dx];e.test_privileges_for_io(t,2),e.io.port_write16(t,e.reg16[reg_ax]),e.diverged()},t32[239]=function(e){var t=e.reg16[reg_dx];e.test_privileges_for_io(t,4),e.io.port_write32(t,e.reg32s[reg_eax]),e.diverged()},t[240]=function(e){e.run_prefix_instruction()},t[241]=function(e){throw e.debug.unimpl("int1 instruction")},t[242]=function(e){dbg_assert(0==(e.prefixes&PREFIX_MASK_REP)),e.prefixes|=PREFIX_REPNZ,e.run_prefix_instruction(),e.prefixes=0},t[243]=function(e){dbg_assert(0==(e.prefixes&PREFIX_MASK_REP)),e.prefixes|=PREFIX_REPZ,e.run_prefix_instruction(),e.prefixes=0},t[244]=function(e){e.hlt_op()},t[245]=function(e){e.flags=(1|e.flags)^e.getcf(),e.flags_changed&=-2},t[246]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:var t=e.read_e8();e.test8(t,e.read_op8());break;case 1:t=e.read_e8(),e.test8(t,e.read_op8());break;case 2:t=e.read_write_e8(),e.write_e8(~t);break;case 3:t=e.read_write_e8(),e.write_e8(e.neg8(t));break;case 4:t=e.read_e8(),e.mul8(t);break;case 5:t=e.read_e8s(),e.imul8(t);break;case 6:t=e.read_e8(),e.div8(t);break;case 7:t=e.read_e8s(),e.idiv8(t)}},t16[247]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:var t=e.read_e16();e.test16(t,e.read_op16());break;case 1:t=e.read_e16(),e.test16(t,e.read_op16());break;case 2:t=e.read_write_e16(),e.write_e16(~t);break;case 3:t=e.read_write_e16(),e.write_e16(e.neg16(t));break;case 4:t=e.read_e16(),e.mul16(t);break;case 5:t=e.read_e16s(),e.imul16(t);break;case 6:t=e.read_e16(),e.div16(t);break;case 7:t=e.read_e16s(),e.idiv16(t)}},t32[247]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:var t=e.read_e32s();e.test32(t,e.read_op32s());break;case 1:t=e.read_e32s(),e.test32(t,e.read_op32s());break;case 2:t=e.read_write_e32(),e.write_e32(~t);break;case 3:t=e.read_write_e32(),e.write_e32(e.neg32(t));break;case 4:t=e.read_e32(),e.mul32(t);break;case 5:t=e.read_e32s(),e.imul32(t);break;case 6:t=e.read_e32(),e.div32(t);break;case 7:t=e.read_e32s(),e.idiv32(t)}},t[248]=function(e){e.flags&=~flag_carry,e.flags_changed&=-2},t[249]=function(e){e.flags|=flag_carry,e.flags_changed&=-2},t[250]=function(e){!e.protected_mode||(e.flags&flag_vm?3===e.getiopl():e.getiopl()>=e.cpl)?e.flags&=~flag_interrupt:(dbg_log("cli #gp",LOG_CPU),e.trigger_gp(0))},t[251]=function(e){!e.protected_mode||(e.flags&flag_vm?3===e.getiopl():e.getiopl()>=e.cpl)?(e.flags|=flag_interrupt,e.clear_prefixes(),e.cycle_internal(),e.handle_irqs()):(dbg_log("sti #gp",LOG_CPU),e.trigger_gp(0))},t[252]=function(e){e.flags&=~flag_direction},t[253]=function(e){e.flags|=flag_direction},t[254]=function(e){e.read_modrm_byte();var t=56&e.modrm_byte;0===t?(t=e.read_write_e8(),e.write_e8(e.inc8(t))):8===t?(t=e.read_write_e8(),e.write_e8(e.dec8(t))):e.todo()},t16[255]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:var t=e.read_write_e16();e.write_e16(e.inc16(t));break;case 1:t=e.read_write_e16(),e.write_e16(e.dec16(t));break;case 2:t=e.read_e16(),e.push16(e.get_real_eip()),e.instruction_pointer=e.get_seg(reg_cs)+t|0,dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged();break;case 3:192<=e.modrm_byte&&(dbg_log("callf #ud",LOG_CPU),e.trigger_ud(),dbg_assert(!1,"unreachable"));var s=e.modrm_resolve(e.modrm_byte);t=e.safe_read16(s),s=e.safe_read16(s+2|0),e.far_jump(t,s,!0),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged();break;case 4:t=e.read_e16(),e.instruction_pointer=e.get_seg(reg_cs)+t|0,dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged();break;case 5:192<=e.modrm_byte&&(dbg_log("jmpf #ud",LOG_CPU),e.trigger_ud(),dbg_assert(!1,"unreachable")),s=e.modrm_resolve(e.modrm_byte),t=e.safe_read16(s),s=e.safe_read16(s+2|0),e.far_jump(t,s,!1),dbg_assert(e.is_asize_32()||65536>e.get_real_eip()),e.diverged();break;case 6:t=e.read_e16(),e.push16(t);break;case 7:e.todo()}},t32[255]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 0:var t=e.read_write_e32();e.write_e32(e.inc32(t));break;case 1:t=e.read_write_e32(),e.write_e32(e.dec32(t));break;case 2:t=e.read_e32s(),e.push32(e.get_real_eip()),dbg_assert(e.is_asize_32()||65536>t),e.instruction_pointer=e.get_seg(reg_cs)+t|0,e.diverged();break;case 3:192<=e.modrm_byte&&(dbg_log("callf #ud",LOG_CPU),e.trigger_ud(),dbg_assert(!1,"unreachable"));var s=e.modrm_resolve(e.modrm_byte);if(t=e.safe_read32s(s),s=e.safe_read16(s+4|0),(!e.protected_mode||e.vm86_mode())&&4294901760&t)throw e.debug.unimpl("#GP handler");e.far_jump(t,s,!0),dbg_assert(e.is_asize_32()||65536>t),e.diverged();break;case 4:t=e.read_e32s(),dbg_assert(e.is_asize_32()||65536>t),e.instruction_pointer=e.get_seg(reg_cs)+t|0,e.diverged();break;case 5:if(192<=e.modrm_byte&&(dbg_log("jmpf #ud",LOG_CPU),e.trigger_ud(),dbg_assert(!1,"unreachable")),s=e.modrm_resolve(e.modrm_byte),t=e.safe_read32s(s),s=e.safe_read16(s+4|0),(!e.protected_mode||e.vm86_mode())&&4294901760&t)throw e.debug.unimpl("#GP handler");e.far_jump(t,s,!1),dbg_assert(e.is_asize_32()||65536>t),e.diverged();break;case 6:t=e.read_e32s(),e.push32(t);break;case 7:e.todo()}};var table16=[],table32=[];CPU.prototype.table16=table16,CPU.prototype.table32=table32;for(var i=0;256>i;i++)t[i]?table16[i]=table32[i]=t[i]:t16[i]&&(table16[i]=t16[i],table32[i]=t32[i]);t=[],t16=[],t32=[],t[0]=function(e){switch(e.read_modrm_byte(),e.protected_mode&&!e.vm86_mode()||(dbg_log("0f 00 #ud",LOG_CPU),e.trigger_ud()),e.modrm_byte>>3&7){case 0:e.set_e16(e.sreg[reg_ldtr]),e.is_osize_32()&&192<=e.modrm_byte&&(e.reg32s[7&e.modrm_byte]&=65535);break;case 1:e.set_e16(e.sreg[reg_tr]),e.is_osize_32()&&192<=e.modrm_byte&&(e.reg32s[7&e.modrm_byte]&=65535);break;case 2:e.cpl&&e.trigger_gp(0);var t=e.read_e16();e.load_ldt(t);break;case 3:e.cpl&&e.trigger_gp(0),t=e.read_e16(),e.load_tr(t);break;case 4:e.verr(e.read_e16());break;case 5:e.verw(e.read_e16());break;default:dbg_log(e.modrm_byte>>3&7,LOG_CPU),e.todo()}},t[1]=function(e){e.read_modrm_byte();var t=e.modrm_byte>>3&7;if(4===t)192<=e.modrm_byte&&e.is_osize_32()?e.set_e32(e.cr[0]):e.set_e16(e.cr[0]);else if(6===t){e.cpl&&e.trigger_gp(0);var s=e.read_e16();s=-16&e.cr[0]|15&s,e.protected_mode&&(s|=CR0_PE),e.set_cr0(s)}else switch(192<=e.modrm_byte&&(dbg_log("0f 01 #ud",LOG_CPU),e.trigger_ud()),s=e.modrm_resolve(e.modrm_byte),t){case 0:e.writable_or_pagefault(s,6),e.safe_write16(s,e.gdtr_size),t=e.is_osize_32()?-1:16777215,e.safe_write32(s+2,e.gdtr_offset&t);break;case 1:e.writable_or_pagefault(s,6),e.safe_write16(s,e.idtr_size),t=e.is_osize_32()?-1:16777215,e.safe_write32(s+2,e.idtr_offset&t);break;case 2:e.cpl&&e.trigger_gp(0),t=e.safe_read16(s),s=e.safe_read32s(s+2),e.gdtr_size=t,e.gdtr_offset=s,e.is_osize_32()||(e.gdtr_offset&=16777215);break;case 3:e.cpl&&e.trigger_gp(0),t=e.safe_read16(s),s=e.safe_read32s(s+2),e.idtr_size=t,e.idtr_offset=s,e.is_osize_32()||(e.idtr_offset&=16777215);break;case 7:e.cpl&&e.trigger_gp(0),e.invlpg(s);break;default:dbg_log(t),e.todo()}},t16[2]=function(e){e.read_modrm_byte(),e.protected_mode&&!e.vm86_mode()||(dbg_log("lar #ud",LOG_CPU),e.trigger_ud());var t=e.read_e16();e.write_g16(e.lar(t,e.read_g16()))},t32[2]=function(e){e.read_modrm_byte(),e.protected_mode&&!e.vm86_mode()||(dbg_log("lar #ud",LOG_CPU),e.trigger_ud());var t=e.read_e16();e.write_g32(e.lar(t,e.read_g32s()))},t16[3]=function(e){e.read_modrm_byte(),e.protected_mode&&!e.vm86_mode()||(dbg_log("lsl #ud",LOG_CPU),e.trigger_ud());var t=e.read_e16();e.write_g16(e.lsl(t,e.read_g16()))},t32[3]=function(e){e.read_modrm_byte(),e.protected_mode&&!e.vm86_mode()||(dbg_log("lsl #ud",LOG_CPU),e.trigger_ud());var t=e.read_e16();e.write_g32(e.lsl(t,e.read_g32s()))},t[4]=function(e){e.undefined_instruction()},t[5]=function(e){e.undefined_instruction()},t[6]=function(e){e.cpl?(dbg_log("clts #gp",LOG_CPU),e.trigger_gp(0)):e.cr[0]&=~CR0_TS},t[7]=function(e){e.undefined_instruction()},t[8]=function(e){e.todo()},t[9]=function(e){e.cpl&&(dbg_log("wbinvd #gp",LOG_CPU),e.trigger_gp(0))},t[10]=function(e){e.undefined_instruction()},t[11]=function(e){e.trigger_ud()},t[12]=function(e){e.undefined_instruction()},t[13]=function(e){e.todo()},t[14]=function(e){e.undefined_instruction()},t[15]=function(e){e.undefined_instruction()},t[16]=function(e){e.unimplemented_sse()},t[17]=function(e){e.unimplemented_sse()},t[18]=function(e){dbg_assert((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm_mem64s();e.write_xmm64(t[0],t[1])},t[19]=function(e){dbg_assert((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm64s();dbg_assert(192>e.modrm_byte);var s=e.modrm_resolve(e.modrm_byte);e.safe_write64(s,t[0],t[1])},t[20]=function(e){e.unimplemented_sse()},t[21]=function(e){e.unimplemented_sse()},t[22]=function(e){e.unimplemented_sse()},t[23]=function(e){e.unimplemented_sse()},t[24]=function(e){e.read_modrm_byte(),192>e.modrm_byte&&e.modrm_resolve(e.modrm_byte)},t[25]=function(e){e.unimplemented_sse()},t[26]=function(e){e.unimplemented_sse()},t[27]=function(e){e.unimplemented_sse()},t[28]=function(e){e.unimplemented_sse()},t[29]=function(e){e.unimplemented_sse()},t[30]=function(e){e.unimplemented_sse()},t[31]=function(e){e.read_modrm_byte(),192>e.modrm_byte&&e.modrm_resolve(e.modrm_byte)},t[32]=function(e){switch(e.read_modrm_byte(),e.cpl&&e.trigger_gp(0),e.modrm_byte>>3&7){case 0:e.write_reg_e32(e.cr[0]);break;case 2:e.write_reg_e32(e.cr[2]);break;case 3:e.write_reg_e32(e.cr[3]);break;case 4:e.write_reg_e32(e.cr[4]);break;default:dbg_log(e.modrm_byte>>3&7),dbg_assert(!1),e.trigger_ud()}},t[33]=function(e){e.read_modrm_byte(),e.cpl&&e.trigger_gp(0);var t=e.modrm_byte>>3&7;e.cr[4]&CR4_DE&&(4===t||5===t)&&(dbg_log("#ud mov dreg 4/5 with cr4.DE set",LOG_CPU),e.trigger_ud()),e.reg32s[7&e.modrm_byte]=e.dreg[t]},t[34]=function(e){e.read_modrm_byte(),e.cpl&&e.trigger_gp(0);var t=e.read_reg_e32s();switch(e.modrm_byte>>3&7){case 0:e.set_cr0(t);break;case 2:e.cr[2]=t;break;case 3:t&=-4072,dbg_assert(0==(4095&t),"TODO"),e.cr[3]=t,e.clear_tlb();break;case 4:e.set_cr4(t);break;default:dbg_log(e.modrm_byte>>3&7),dbg_assert(!1),e.trigger_ud()}},t[35]=function(e){e.read_modrm_byte(),e.cpl&&e.trigger_gp(0);var t=e.modrm_byte>>3&7;e.cr[4]&CR4_DE&&(4===t||5===t)&&(dbg_log("#ud mov dreg 4/5 with cr4.DE set",LOG_CPU),e.trigger_ud()),e.dreg[t]=e.read_reg_e32s()},t[36]=function(e){e.undefined_instruction()},t[37]=function(e){e.undefined_instruction()},t[38]=function(e){e.undefined_instruction()},t[39]=function(e){e.undefined_instruction()},t[40]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm_mem128s();e.write_xmm128s(t[0],t[1],t[2],t[3])},t[41]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE){var t=e.read_xmm128s();dbg_assert(192>e.modrm_byte);var s=e.modrm_resolve(e.modrm_byte)}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_xmm128s(),dbg_assert(192>e.modrm_byte),s=e.modrm_resolve(e.modrm_byte);e.safe_write128(s,t[0],t[1],t[2],t[3])},t[42]=function(e){e.unimplemented_sse()},t[43]=function(e){e.unimplemented_sse()},t[44]=function(e){e.unimplemented_sse()},t[45]=function(e){e.unimplemented_sse()},t[46]=function(e){e.unimplemented_sse()},t[47]=function(e){e.unimplemented_sse()},t[48]=function(e){e.cpl&&e.trigger_gp(0);var t=e.reg32s[reg_ecx],s=e.reg32s[reg_eax],r=e.reg32s[reg_edx];switch(t!==IA32_SYSENTER_ESP&&dbg_log("wrmsr ecx="+h(t>>>0,8)+" data="+h(r>>>0,8)+":"+h(s>>>0,8),LOG_CPU),t){case IA32_SYSENTER_CS:e.sysenter_cs=65535&s;break;case IA32_SYSENTER_EIP:e.sysenter_eip=s;break;case IA32_SYSENTER_ESP:e.sysenter_esp=s;break;case IA32_APIC_BASE_MSR:dbg_assert(0===r,"Changing APIC address (high 32 bits) not supported"),dbg_assert((s&~(IA32_APIC_BASE_BSP|IA32_APIC_BASE_EXTD|IA32_APIC_BASE_EN))>>>0===APIC_ADDRESS,"Changing APIC address not supported"),dbg_assert(0==(s&IA32_APIC_BASE_EXTD),"x2apic not supported"),e.apic_enabled=(s&IA32_APIC_BASE_EN)===IA32_APIC_BASE_EN;break;case IA32_TIME_STAMP_COUNTER:t=(s>>>0)+4294967296*(r>>>0),e.tsc_offset=v86.microtick()-t/TSC_RATE;break;case IA32_BIOS_SIGN_ID:break;case IA32_MISC_ENABLE:dbg_log("IA32_MISC_ENABLE="+h(s>>>0,8),LOG_CPU);break;case IA32_MCG_CAP:break;case IA32_KERNEL_GS_BASE:dbg_log("GS Base written",LOG_CPU);break;default:dbg_assert(!1,"Unknown msr: "+h(t>>>0,8))}},t[49]=function(e){if(e.cpl&&e.cr[4]&CR4_TSD)e.trigger_gp(0);else{var t=v86.microtick()-e.tsc_offset;dbg_assert(isFinite(t),"non-finite tsc: "+t),e.reg32s[reg_eax]=t*TSC_RATE,e.reg32s[reg_edx]=TSC_RATE/4294967296*t}},t[50]=function(e){e.cpl&&e.trigger_gp(0);var t=e.reg32s[reg_ecx];dbg_log("rdmsr ecx="+h(t>>>0,8),LOG_CPU);var s=0,r=0;switch(t){case IA32_SYSENTER_CS:s=e.sysenter_cs;break;case IA32_SYSENTER_EIP:s=e.sysenter_eip;break;case IA32_SYSENTER_ESP:s=e.sysenter_esp;break;case IA32_TIME_STAMP_COUNTER:t=v86.microtick()-e.tsc_offset,s=t*TSC_RATE,r=TSC_RATE/4294967296*t;break;case IA32_PLATFORM_ID:break;case IA32_APIC_BASE_MSR:ENABLE_ACPI&&(s=APIC_ADDRESS,e.apic_enabled&&(s|=IA32_APIC_BASE_EN));break;case IA32_BIOS_SIGN_ID:break;case IA32_MISC_ENABLE:break;case IA32_RTIT_CTL:break;case MSR_SMI_COUNT:break;case IA32_MCG_CAP:break;case MSR_PKG_C2_RESIDENCY:break;case MSR_EBC_FREQUENCY_ID:s=16777216;break;default:dbg_assert(!1,"Unknown msr: "+h(t>>>0,8))}e.reg32s[reg_eax]=s,e.reg32s[reg_edx]=r},t[51]=function(e){e.todo()},t[52]=function(e){var t=65532&e.sysenter_cs;e.protected_mode&&0!==t||e.trigger_gp(0),e.flags=e.flags&~flag_vm&~flag_interrupt,e.instruction_pointer=e.sysenter_eip,e.reg32s[reg_esp]=e.sysenter_esp,e.sreg[reg_cs]=t,e.segment_is_null[reg_cs]=0,e.segment_limits[reg_cs]=-1,e.segment_offsets[reg_cs]=0,e.update_cs_size(!0),e.cpl=0,e.cpl_changed(),e.sreg[reg_ss]=t+8,e.segment_is_null[reg_ss]=0,e.segment_limits[reg_ss]=-1,e.segment_offsets[reg_ss]=0,e.stack_size_32=!0,e.diverged()},t[53]=function(e){var t=65532&e.sysenter_cs;e.protected_mode&&!e.cpl&&0!==t||e.trigger_gp(0),e.instruction_pointer=e.reg32s[reg_edx],e.reg32s[reg_esp]=e.reg32s[reg_ecx],e.sreg[reg_cs]=t+16|3,e.segment_is_null[reg_cs]=0,e.segment_limits[reg_cs]=-1,e.segment_offsets[reg_cs]=0,e.update_cs_size(!0),e.cpl=3,e.cpl_changed(),e.sreg[reg_ss]=t+24|3,e.segment_is_null[reg_ss]=0,e.segment_limits[reg_ss]=-1,e.segment_offsets[reg_ss]=0,e.stack_size_32=!0,e.diverged()},t[54]=function(e){e.undefined_instruction()},t[55]=function(e){e.todo()},t[56]=function(e){e.unimplemented_sse()},t[57]=function(e){e.unimplemented_sse()},t[58]=function(e){e.unimplemented_sse()},t[59]=function(e){e.unimplemented_sse()},t[60]=function(e){e.unimplemented_sse()},t[61]=function(e){e.unimplemented_sse()},t[62]=function(e){e.unimplemented_sse()},t[63]=function(e){e.unimplemented_sse()},t16[64]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_o())},t32[64]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_o())},t16[65]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_o())},t32[65]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_o())},t16[66]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_b())},t32[66]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_b())},t16[67]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_b())},t32[67]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_b())},t16[68]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_z())},t32[68]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_z())},t16[69]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_z())},t32[69]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_z())},t16[70]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_be())},t32[70]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_be())},t16[71]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_be())},t32[71]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_be())},t16[72]=function(e){e.read_modrm_byte(), +e.cmovcc16(e.test_s())},t32[72]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_s())},t16[73]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_s())},t32[73]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_s())},t16[74]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_p())},t32[74]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_p())},t16[75]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_p())},t32[75]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_p())},t16[76]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_l())},t32[76]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_l())},t16[77]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_l())},t32[77]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_l())},t16[78]=function(e){e.read_modrm_byte(),e.cmovcc16(e.test_le())},t32[78]=function(e){e.read_modrm_byte(),e.cmovcc32(e.test_le())},t16[79]=function(e){e.read_modrm_byte(),e.cmovcc16(!e.test_le())},t32[79]=function(e){e.read_modrm_byte(),e.cmovcc32(!e.test_le())},t[80]=function(e){e.unimplemented_sse()},t[81]=function(e){e.unimplemented_sse()},t[82]=function(e){e.unimplemented_sse()},t[83]=function(e){e.unimplemented_sse()},t[84]=function(e){e.unimplemented_sse()},t[85]=function(e){e.unimplemented_sse()},t[86]=function(e){e.unimplemented_sse()},t[87]=function(e){e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm_mem128s(),s=e.read_xmm128s();e.write_xmm128s(t[0]^s[0],t[1]^s[1],t[2]^s[2],t[3]^s[3])},t[88]=function(e){e.unimplemented_sse()},t[89]=function(e){e.unimplemented_sse()},t[90]=function(e){e.unimplemented_sse()},t[91]=function(e){e.unimplemented_sse()},t[92]=function(e){e.unimplemented_sse()},t[93]=function(e){e.unimplemented_sse()},t[94]=function(e){e.unimplemented_sse()},t[95]=function(e){e.unimplemented_sse()},t[96]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem64s();t=new Uint8Array(t.buffer);var s=e.read_xmm64s();s=new Uint8Array(s.buffer),e.write_xmm128s(s[0]|t[0]<<8|s[1]<<16|t[1]<<24,s[2]|t[2]<<8|s[3]<<16|t[3]<<24,s[4]|t[4]<<8|s[5]<<16|t[5]<<24,s[6]|t[6]<<8|s[7]<<16|t[7]<<24)}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem32s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],e.write_mmx64s(255&s|(255&t)<<8|(s>>8&255)<<16|(t>>8&255)<<24,s>>16&255|(t>>16&255)<<8|s>>>24<<16|t>>>24<<24)},t[97]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem64s();t=new Uint16Array(t.buffer);var s=e.read_xmm64s();s=new Uint16Array(s.buffer),e.write_xmm128s(s[0]|t[0]<<16,s[1]|t[1]<<16,s[2]|t[2]<<16,s[3]|t[3]<<16)}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem32s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],e.write_mmx64s(65535&s|(65535&t)<<16,s>>>16|t>>>16<<16)},t[98]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem32s();e.write_mmx64s(e.reg_mmxs[2*(e.modrm_byte>>3&7)],t)},t[99]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],i=0|e.saturate_sw_to_sb(65535&s);i|=e.saturate_sw_to_sb(s>>>16)<<8,i|=e.saturate_sw_to_sb(65535&r)<<16,i|=e.saturate_sw_to_sb(r>>>16)<<24,s=0|e.saturate_sw_to_sb(65535&t[0]),s|=e.saturate_sw_to_sb(t[0]>>>16)<<8,s|=e.saturate_sw_to_sb(65535&t[1])<<16,s|=e.saturate_sw_to_sb(t[1]>>>16)<<24,e.write_mmx64s(i,s)},t[100]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();t=new Int8Array(t.buffer);var s=8*(e.modrm_byte>>3&7),r=e.reg_mmx8s;e.write_mmx64s((r[s]>t[0]?255:0)|(r[s+1]>t[1]?255:0)<<8|(r[s+2]>t[2]?255:0)<<16|(r[s+3]>t[3]?255:0)<<24,(r[s+4]>t[4]?255:0)|(r[s+5]>t[5]?255:0)<<8|(r[s+6]>t[6]?255:0)<<16|(r[s+7]>t[7]?255:0)<<24)},t[101]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s((s<<16>>16>t[0]<<16>>16?65535:0)|(s>>16>t[0]>>16?65535:0)<<16,(r<<16>>16>t[1]<<16>>16?65535:0)|(r>>16>t[1]>>16?65535:0)<<16)},t[102]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();e.write_mmx64s(e.reg_mmxs[2*(e.modrm_byte>>3&7)]>t[0]?-1:0,e.reg_mmxs[2*(e.modrm_byte>>3&7)+1]>t[1]?-1:0)},t[103]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Int16Array(t.buffer);var s=e.read_xmm128s();s=new Int16Array(s.buffer);for(var r=e.create_atom128s(0,0,0,0),i=new Uint8Array(r.buffer),_=0;8>_;_++)i[_]=e.saturate_sw_to_ub(s[_]),i[8|_]=e.saturate_sw_to_ub(t[_]);e.write_xmm128s(r[0],r[1],r[2],r[3])}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),r=e.reg_mmxs[2*(e.modrm_byte>>3&7)],i=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],s=0|e.saturate_sw_to_ub(65535&r),s|=e.saturate_sw_to_ub(r>>>16)<<8,s|=e.saturate_sw_to_ub(65535&i)<<16,s|=e.saturate_sw_to_ub(i>>>16)<<24,r=0|e.saturate_sw_to_ub(65535&t[0]),r|=e.saturate_sw_to_ub(t[0]>>>16)<<8,r|=e.saturate_sw_to_ub(65535&t[1])<<16,r|=e.saturate_sw_to_ub(t[1]>>>16)<<24,e.write_mmx64s(s,r)},t[104]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Uint8Array(t.buffer);var s=e.read_xmm128s();s=new Uint8Array(s.buffer),e.write_xmm128s(s[8]|t[8]<<8|s[9]<<16|t[9]<<24,s[10]|t[10]<<8|s[11]<<16|t[11]<<24,s[12]|t[12]<<8|s[13]<<16|t[13]<<24,s[14]|t[14]<<8|s[15]<<16|t[15]<<24)}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],e.write_mmx64s(255&s|(255&t[1])<<8|(s>>8&255)<<16|(t[1]>>8&255)<<24,s>>16&255|(t[1]>>16&255)<<8|s>>>24<<16|t[1]>>>24<<24)},t[105]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s(65535&s|(65535&t[1])<<16,s>>>16|t[1]>>>16<<16)},t[106]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();e.write_mmx64s(e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],t[1])},t[107]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],r=0|e.saturate_sd_to_sw(e.reg_mmxs[2*(e.modrm_byte>>3&7)]);r|=e.saturate_sd_to_sw(s)<<16,s=0|e.saturate_sd_to_sw(t[0]),s|=e.saturate_sd_to_sw(t[1])<<16,e.write_mmx64s(r,s)},t[108]=function(e){e.unimplemented_sse()},t[109]=function(e){e.unimplemented_sse()},t[110]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE){var t=e.read_e32s();e.write_xmm128s(t,0,0,0)}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_e32s(),e.write_mmx64s(t,0)},t[111]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();e.write_xmm128s(t[0],t[1],t[2],t[3])}else(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_REPZ?(t=e.read_xmm_mem128s_unaligned(),e.write_xmm128s(t[0],t[1],t[2],t[3])):(dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),e.write_mmx64s(t[0],t[1]))},t[112]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s(),s=e.read_op8();e.write_xmm128s(t[3&s],t[s>>2&3],t[s>>4&3],t[s>>6&3])}else if((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_REPNZ){t=e.read_xmm_mem128s(),s=new Uint16Array(t.buffer);var r=e.read_op8();e.write_xmm128s(s[3&r]|s[r>>2&3]<<16,s[r>>4&3]|s[r>>6&3]<<16,t[2],t[3])}else if((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_REPZ)t=e.read_xmm_mem128s(),s=new Uint16Array(t.buffer),r=e.read_op8(),e.write_xmm128s(t[0],t[1],s[3&r|4]|s[r>>2&3|4]<<16,s[r>>4&3|4]|s[r>>6&3|4]<<16);else{dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s();var i=e.read_op8();s=3&i,r=i>>2&3;var _=i>>4&3;i>>>=6,e.write_mmx64s(t[s>>1]>>>16*(1&s)&65535|t[r>>1]>>>16*(1&r)<<16,t[_>>1]>>>16*(1&_)&65535|t[i>>1]>>>16*(1&i)<<16)}},t[113]=function(e){switch(e.read_modrm_byte(),dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),192>e.modrm_byte&&e.trigger_ud(),e.modrm_byte>>3&7){case 2:var t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],_=0,a=0;15>=t&&(_=(65535&r)>>>t|r>>>16>>>t<<16,a=(65535&i)>>>t|i>>>16>>>t<<16),e.reg_mmxs[2*s]=_,e.reg_mmxs[2*s+1]=a;break;case 4:t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],15>16>>t&65535|(r>>16>>t&65535)<<16,e.reg_mmxs[2*s+1]=i<<16>>16>>t&65535|(i>>16>>t&65535)<<16;break;case 6:t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],a=_=0,15>=t&&(_=(65535&r)<>>16<>>16<e.modrm_byte&&e.trigger_ud(),e.modrm_byte>>3&7){case 2:var t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],_=0,a=0;31>=t&&(_=r>>>t,a=i>>>t),e.reg_mmxs[2*s]=_,e.reg_mmxs[2*s+1]=a;break;case 4:t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],31>t,e.reg_mmxs[2*s+1]=i>>t;break;case 6:t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],a=_=0,31>=t&&(_=r<e.modrm_byte&&e.trigger_ud(),e.modrm_byte>>3&7){case 2:var t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],_=0,a=0;31>=t?(_=r>>>t|i<<32-t,a=i>>>t):63>=t&&(_=i>>>(31&t),a=0),e.reg_mmxs[2*s]=_,e.reg_mmxs[2*s+1]=a;break;case 6:t=e.read_op8(),s=7&e.modrm_byte,r=e.reg_mmxs[2*s],i=e.reg_mmxs[2*s+1],a=_=0,31>=t?(_=r<>>32-t):63>=t&&(a=r<<(31&t),_=0),e.reg_mmxs[2*s]=_,e.reg_mmxs[2*s+1]=a;break;default:e.unimplemented_sse()}},t[116]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Uint8Array(t.buffer);var s=e.read_xmm128s();s=new Uint8Array(s.buffer);for(var r=e.create_atom128s(0,0,0,0),i=new Uint8Array(r.buffer),_=0;16>_;_++)i[_]=t[_]===s[_]?255:0;e.write_xmm128s(r[0],r[1],r[2],r[3])}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),t=new Int8Array(t.buffer),s=8*(e.modrm_byte>>3&7),r=e.reg_mmx8s,e.write_mmx64s((r[s]===t[0]?255:0)|(r[s+1]===t[1]?255:0)<<8|(r[s+2]===t[2]?255:0)<<16|(r[s+3]===t[3]?255:0)<<24,(r[s+4]===t[4]?255:0)|(r[s+5]===t[5]?255:0)<<8|(r[s+6]===t[6]?255:0)<<16|(r[s+7]===t[7]?255:0)<<24)},t[117]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s(((65535&s)==(65535&t[0])?65535:0)|((4294901760&s)==(4294901760&t[0])?65535:0)<<16,((65535&r)==(65535&t[1])?65535:0)|((4294901760&r)==(4294901760&t[1])?65535:0)<<16)},t[118]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s(),s=e.read_xmm128s();e.write_xmm128s(t[0]===s[0]?-1:0,t[1]===s[1]?-1:0,t[2]===s[2]?-1:0,t[3]===s[3]?-1:0)}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),e.write_mmx64s(e.reg_mmxs[2*(e.modrm_byte>>3&7)]===t[0]?-1:0,e.reg_mmxs[2*(e.modrm_byte>>3&7)+1]===t[1]?-1:0)},t[119]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.fpu.stack_empty=255},t[120]=function(e){e.unimplemented_sse()},t[121]=function(e){e.unimplemented_sse()},t[122]=function(e){e.unimplemented_sse()},t[123]=function(e){e.unimplemented_sse()},t[124]=function(e){e.unimplemented_sse()},t[125]=function(e){e.unimplemented_sse()},t[126]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_REPZ){var t=e.read_xmm_mem64s();e.write_xmm128s(t[0],t[1],0,0)}else(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE?t=e.read_xmm64s():(dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx64s()),e.set_e32(t[0])},t[127]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_REPZ){var t=e.read_xmm128s();dbg_assert(192>e.modrm_byte);var s=e.modrm_resolve(e.modrm_byte);e.safe_write128(s,t[0],t[1],t[2],t[3])}else(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE?(t=e.read_xmm128s(),dbg_assert(192>e.modrm_byte),s=e.modrm_resolve(e.modrm_byte),e.safe_write128(s,t[0],t[1],t[2],t[3])):(dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx64s(),e.set_mmx_mem64s(t[0],t[1]))},t16[128]=function(e){e.jmpcc16(e.test_o())},t32[128]=function(e){e.jmpcc32(e.test_o())},t16[129]=function(e){e.jmpcc16(!e.test_o())},t32[129]=function(e){e.jmpcc32(!e.test_o())},t16[130]=function(e){e.jmpcc16(e.test_b())},t32[130]=function(e){e.jmpcc32(e.test_b())},t16[131]=function(e){e.jmpcc16(!e.test_b())},t32[131]=function(e){e.jmpcc32(!e.test_b())},t16[132]=function(e){e.jmpcc16(e.test_z())},t32[132]=function(e){e.jmpcc32(e.test_z())},t16[133]=function(e){e.jmpcc16(!e.test_z())},t32[133]=function(e){e.jmpcc32(!e.test_z())},t16[134]=function(e){e.jmpcc16(e.test_be())},t32[134]=function(e){e.jmpcc32(e.test_be())},t16[135]=function(e){e.jmpcc16(!e.test_be())},t32[135]=function(e){e.jmpcc32(!e.test_be())},t16[136]=function(e){e.jmpcc16(e.test_s())},t32[136]=function(e){e.jmpcc32(e.test_s())},t16[137]=function(e){e.jmpcc16(!e.test_s())},t32[137]=function(e){e.jmpcc32(!e.test_s())},t16[138]=function(e){e.jmpcc16(e.test_p())},t32[138]=function(e){e.jmpcc32(e.test_p())},t16[139]=function(e){e.jmpcc16(!e.test_p())},t32[139]=function(e){e.jmpcc32(!e.test_p())},t16[140]=function(e){e.jmpcc16(e.test_l())},t32[140]=function(e){e.jmpcc32(e.test_l())},t16[141]=function(e){e.jmpcc16(!e.test_l())},t32[141]=function(e){e.jmpcc32(!e.test_l())},t16[142]=function(e){e.jmpcc16(e.test_le())},t32[142]=function(e){e.jmpcc32(e.test_le())},t16[143]=function(e){e.jmpcc16(!e.test_le())},t32[143]=function(e){e.jmpcc32(!e.test_le())},t[144]=function(e){e.read_modrm_byte(),e.setcc(e.test_o())},t[145]=function(e){e.read_modrm_byte(),e.setcc(!e.test_o())},t[146]=function(e){e.read_modrm_byte(),e.setcc(e.test_b())},t[147]=function(e){e.read_modrm_byte(),e.setcc(!e.test_b())},t[148]=function(e){e.read_modrm_byte(),e.setcc(e.test_z())},t[149]=function(e){e.read_modrm_byte(),e.setcc(!e.test_z())},t[150]=function(e){e.read_modrm_byte(),e.setcc(e.test_be())},t[151]=function(e){e.read_modrm_byte(),e.setcc(!e.test_be())},t[152]=function(e){e.read_modrm_byte(),e.setcc(e.test_s())},t[153]=function(e){e.read_modrm_byte(),e.setcc(!e.test_s())},t[154]=function(e){e.read_modrm_byte(),e.setcc(e.test_p())},t[155]=function(e){e.read_modrm_byte(),e.setcc(!e.test_p())},t[156]=function(e){e.read_modrm_byte(),e.setcc(e.test_l())},t[157]=function(e){e.read_modrm_byte(),e.setcc(!e.test_l())},t[158]=function(e){e.read_modrm_byte(),e.setcc(e.test_le())},t[159]=function(e){e.read_modrm_byte(),e.setcc(!e.test_le())},t16[160]=function(e){e.push16(e.sreg[reg_fs])},t32[160]=function(e){e.push32(e.sreg[reg_fs])},t16[161]=function(e){e.switch_seg(reg_fs,e.safe_read16(e.get_stack_pointer(0))),e.adjust_stack_reg(2)};t32[161]=function(e){e.switch_seg(reg_fs,65535&e.safe_read32s(e.get_stack_pointer(0))),e.adjust_stack_reg(4)},t[162]=function(e){e.cpuid()},t16[163]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.bt_mem(e.modrm_resolve(e.modrm_byte),e.read_g16s()):e.bt_reg(e.read_reg_e16(),15&e.read_g16())},t32[163]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.bt_mem(e.modrm_resolve(e.modrm_byte),e.read_g32s()):e.bt_reg(e.read_reg_e32s(),31&e.read_g32s())},t16[164]=function(e){e.read_modrm_byte();var t=e.read_write_e16();e.write_e16(e.shld16(t,e.read_g16(),31&e.read_op8()))},t32[164]=function(e){e.read_modrm_byte();var t=e.read_write_e32();e.write_e32(e.shld32(t,e.read_g32s(),31&e.read_op8()))},t16[165]=function(e){e.read_modrm_byte();var t=e.read_write_e16();e.write_e16(e.shld16(t,e.read_g16(),31&e.reg8[reg_cl]))},t32[165]=function(e){e.read_modrm_byte();var t=e.read_write_e32();e.write_e32(e.shld32(t,e.read_g32s(),31&e.reg8[reg_cl]))},t[166]=function(e){e.trigger_ud()},t[167]=function(e){e.undefined_instruction()},t16[168]=function(e){e.push16(e.sreg[reg_gs])},t32[168]=function(e){e.push32(e.sreg[reg_gs])},t16[169]=function(e){e.switch_seg(reg_gs,e.safe_read16(e.get_stack_pointer(0))),e.adjust_stack_reg(2)},t32[169]=function(e){e.switch_seg(reg_gs,65535&e.safe_read32s(e.get_stack_pointer(0))),e.adjust_stack_reg(4)},t[170]=function(e){e.todo()},t16[171]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.bts_mem(e.modrm_resolve(e.modrm_byte),e.read_g16s()):e.write_reg_e16(e.bts_reg(e.read_reg_e16(),15&e.read_g16s()))},t32[171]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.bts_mem(e.modrm_resolve(e.modrm_byte),e.read_g32s()):e.write_reg_e32(e.bts_reg(e.read_reg_e32s(),31&e.read_g32s()))},t16[172]=function(e){e.read_modrm_byte();var t=e.read_write_e16();e.write_e16(e.shrd16(t,e.read_g16(),31&e.read_op8()))},t32[172]=function(e){e.read_modrm_byte();var t=e.read_write_e32();e.write_e32(e.shrd32(t,e.read_g32s(),31&e.read_op8()))},t16[173]=function(e){e.read_modrm_byte();var t=e.read_write_e16();e.write_e16(e.shrd16(t,e.read_g16(),31&e.reg8[reg_cl]))},t32[173]=function(e){e.read_modrm_byte();var t=e.read_write_e32();e.write_e32(e.shrd32(t,e.read_g32s(),31&e.reg8[reg_cl]))},t[174]=function(e){switch(e.read_modrm_byte(),e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE)&&e.todo(),e.modrm_byte>>3&7){case 0:192<=e.modrm_byte&&e.trigger_ud();var t=e.modrm_resolve(e.modrm_byte);e.fxsave(t);break;case 1:192<=e.modrm_byte&&e.trigger_ud(),t=e.modrm_resolve(e.modrm_byte),e.fxrstor(t);break;case 2:192<=e.modrm_byte&&e.trigger_ud(),t=e.modrm_resolve(e.modrm_byte),t=e.safe_read32s(t),t&~MXCSR_MASK&&(dbg_log("Invalid mxcsr bits: "+h((t&~MXCSR_MASK)>>>0,8)),e.trigger_gp(0)),e.mxcsr=t;break;case 3:192<=e.modrm_byte&&e.trigger_ud(),t=e.modrm_resolve(e.modrm_byte),e.safe_write32(t,e.mxcsr);break;case 5:dbg_assert(192<=e.modrm_byte,"Unexpected lfence encoding"),192>e.modrm_byte&&e.trigger_ud();break;case 6:dbg_assert(192<=e.modrm_byte,"Unexpected mfence encoding"),192>e.modrm_byte&&e.trigger_ud();break;case 7:dbg_assert(192<=e.modrm_byte,"Unexpected sfence encoding"),192>e.modrm_byte&&e.trigger_ud();break;default:dbg_log("missing "+(e.modrm_byte>>3&7),LOG_CPU),e.todo()}},t16[175]=function(e){e.read_modrm_byte();var t=e.read_e16s();e.write_g16(e.imul_reg16(e.read_g16s(),t))},t32[175]=function(e){e.read_modrm_byte();var t=e.read_e32s();e.write_g32(e.imul_reg32(e.read_g32s(),t))},t[176]=function(e){if(e.read_modrm_byte(),192>e.modrm_byte){var t=e.modrm_resolve(e.modrm_byte);e.writable_or_pagefault(t,1);var s=e.safe_read8(t)}else s=e.reg8[e.modrm_byte<<2&12|e.modrm_byte>>2&1];e.cmp8(e.reg8[reg_al],s),e.getzf()?192>e.modrm_byte?e.safe_write8(t,e.read_g8()):e.reg8[e.modrm_byte<<2&12|e.modrm_byte>>2&1]=e.read_g8():(192>e.modrm_byte&&e.safe_write8(t,s),e.reg8[reg_al]=s)},t16[177]=function(e){if(e.read_modrm_byte(),192>e.modrm_byte){var t=e.modrm_resolve(e.modrm_byte);e.writable_or_pagefault(t,2);var s=e.safe_read16(t)}else s=e.read_reg_e16();e.cmp16(e.reg16[reg_ax],s),e.getzf()?192>e.modrm_byte?e.safe_write16(t,e.read_g16()):e.write_reg_e16(e.read_g16()):(192>e.modrm_byte&&e.safe_write16(t,s),e.reg16[reg_ax]=s)},t32[177]=function(e){if(e.read_modrm_byte(),192>e.modrm_byte){var t=e.modrm_resolve(e.modrm_byte);e.writable_or_pagefault(t,4);var s=e.safe_read32s(t)}else s=e.read_reg_e32s();e.cmp32(e.reg32s[reg_eax],s),e.getzf()?192>e.modrm_byte?e.safe_write32(t,e.read_g32s()):e.write_reg_e32(e.read_g32s()):(192>e.modrm_byte&&e.safe_write32(t,s),e.reg32s[reg_eax]=s)},t16[178]=function(e){e.read_modrm_byte(),e.lss16(reg_ss)},t32[178]=function(e){e.read_modrm_byte(),e.lss32(reg_ss)},t16[179]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.btr_mem(e.modrm_resolve(e.modrm_byte),e.read_g16s()):e.write_reg_e16(e.btr_reg(e.read_reg_e16(),15&e.read_g16s()))},t32[179]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.btr_mem(e.modrm_resolve(e.modrm_byte),e.read_g32s()):e.write_reg_e32(e.btr_reg(e.read_reg_e32s(),31&e.read_g32s()))},t16[180]=function(e){e.read_modrm_byte(),e.lss16(reg_fs)},t32[180]=function(e){e.read_modrm_byte(),e.lss32(reg_fs)},t16[181]=function(e){e.read_modrm_byte(),e.lss16(reg_gs)},t32[181]=function(e){e.read_modrm_byte(),e.lss32(reg_gs)},t16[182]=function(e){e.read_modrm_byte();var t=e.read_e8();e.write_g16(t)},t32[182]=function(e){e.read_modrm_byte();var t=e.read_e8();e.write_g32(t)},t16[183]=function(e){e.read_modrm_byte(),dbg_assert(!1,"Possibly invalid encoding");var t=e.read_e16();e.write_g16(t)},t32[183]=function(e){e.read_modrm_byte();var t=e.read_e16();e.write_g32(t)},t16[184]=function(e){e.read_modrm_byte(),0==(e.prefixes&PREFIX_REPZ)&&e.trigger_ud();var t=e.read_e16();e.write_g16(e.popcnt(t))},t32[184]=function(e){e.read_modrm_byte(),0==(e.prefixes&PREFIX_REPZ)&&e.trigger_ud();var t=e.read_e32s();e.write_g32(e.popcnt(t))},t[185]=function(e){e.todo()},t16[186]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 4:192>e.modrm_byte?e.bt_mem(e.modrm_resolve(e.modrm_byte),15&e.read_op8()):e.bt_reg(e.read_reg_e16(),15&e.read_op8());break;case 5:192>e.modrm_byte?e.bts_mem(e.modrm_resolve(e.modrm_byte),15&e.read_op8()):e.write_reg_e16(e.bts_reg(e.read_reg_e16(),15&e.read_op8()));break;case 6:192>e.modrm_byte?e.btr_mem(e.modrm_resolve(e.modrm_byte),15&e.read_op8()):e.write_reg_e16(e.btr_reg(e.read_reg_e16(),15&e.read_op8()));break;case 7:192>e.modrm_byte?e.btc_mem(e.modrm_resolve(e.modrm_byte),15&e.read_op8()):e.write_reg_e16(e.btc_reg(e.read_reg_e16(),15&e.read_op8()));break;default:dbg_log(e.modrm_byte>>3&7),e.todo()}},t32[186]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 4:192>e.modrm_byte?e.bt_mem(e.modrm_resolve(e.modrm_byte),31&e.read_op8()):e.bt_reg(e.read_reg_e32s(),31&e.read_op8());break;case 5:192>e.modrm_byte?e.bts_mem(e.modrm_resolve(e.modrm_byte),31&e.read_op8()):e.write_reg_e32(e.bts_reg(e.read_reg_e32s(),31&e.read_op8()));break;case 6:192>e.modrm_byte?e.btr_mem(e.modrm_resolve(e.modrm_byte),31&e.read_op8()):e.write_reg_e32(e.btr_reg(e.read_reg_e32s(),31&e.read_op8()));break;case 7:192>e.modrm_byte?e.btc_mem(e.modrm_resolve(e.modrm_byte),31&e.read_op8()):e.write_reg_e32(e.btc_reg(e.read_reg_e32s(),31&e.read_op8()));break;default:dbg_log(e.modrm_byte>>3&7),e.todo()}},t16[187]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.btc_mem(e.modrm_resolve(e.modrm_byte),e.read_g16s()):e.write_reg_e16(e.btc_reg(e.read_reg_e16(),15&e.read_g16s()))},t32[187]=function(e){e.read_modrm_byte(),192>e.modrm_byte?e.btc_mem(e.modrm_resolve(e.modrm_byte),e.read_g32s()):e.write_reg_e32(e.btc_reg(e.read_reg_e32s(),31&e.read_g32s()))},t16[188]=function(e){e.read_modrm_byte();var t=e.read_e16();e.write_g16(e.bsf16(e.read_g16(),t))},t32[188]=function(e){e.read_modrm_byte();var t=e.read_e32s();e.write_g32(e.bsf32(e.read_g32s(),t))},t16[189]=function(e){e.read_modrm_byte();var t=e.read_e16();e.write_g16(e.bsr16(e.read_g16(),t))},t32[189]=function(e){e.read_modrm_byte();var t=e.read_e32s();e.write_g32(e.bsr32(e.read_g32s(),t))},t16[190]=function(e){e.read_modrm_byte();var t=e.read_e8s();e.write_g16(t)},t32[190]=function(e){e.read_modrm_byte();var t=e.read_e8s();e.write_g32(t)},t16[191]=function(e){e.read_modrm_byte(),dbg_assert(!1,"Possibly invalid encoding");var t=e.read_e16();e.write_g16(t)},t32[191]=function(e){e.read_modrm_byte();var t=e.read_e16s();e.write_g32(t)},t[192]=function(e){e.read_modrm_byte();var t=e.read_write_e8();e.write_e8(e.xadd8(t,e.modrm_byte>>1&12|e.modrm_byte>>5&1))},t16[193]=function(e){e.read_modrm_byte();var t=e.read_write_e16();e.write_e16(e.xadd16(t,e.modrm_byte>>2&14))},t32[193]=function(e){e.read_modrm_byte();var t=e.read_write_e32();e.write_e32(e.xadd32(t,e.modrm_byte>>3&7))},t[194]=function(e){e.unimplemented_sse()},t[195]=function(e){e.read_modrm_byte(),192<=e.modrm_byte&&e.trigger_ud(),e.set_e32(e.read_g32s())},t[196]=function(e){e.unimplemented_sse()},t[197]=function(e){e.unimplemented_sse()},t[198]=function(e){e.unimplemented_sse()},t[199]=function(e){switch(e.read_modrm_byte(),e.modrm_byte>>3&7){case 1:192<=e.modrm_byte&&e.trigger_ud();var t=e.modrm_resolve(e.modrm_byte);e.writable_or_pagefault(t,8);var s=e.safe_read32s(t),r=e.safe_read32s(t+4|0);e.reg32s[reg_eax]===s&&e.reg32s[reg_edx]===r?(e.flags|=flag_zero,e.safe_write32(t,e.reg32s[reg_ebx]),e.safe_write32(t+4|0,e.reg32s[reg_ecx])):(e.flags&=~flag_zero,e.reg32s[reg_eax]=s,e.reg32s[reg_edx]=r,e.safe_write32(t,s),e.safe_write32(t+4|0,r)),e.flags_changed&=~flag_zero;break;case 6:s=(t=v86util.has_rand_int())?v86util.get_rand_int():0,e.is_osize_32()?e.set_e32(s):e.set_e16(s),e.flags&=~flags_all,e.flags|=t,e.flags_changed=0;break;default:dbg_log(e.modrm_byte>>3&7,LOG_CPU),e.todo()}},t[200]=function(e){e.bswap(reg_eax)},t[201]=function(e){e.bswap(reg_ecx)},t[202]=function(e){e.bswap(reg_edx)},t[203]=function(e){e.bswap(reg_ebx)},t[204]=function(e){e.bswap(reg_esp)},t[205]=function(e){e.bswap(reg_ebp)},t[206]=function(e){e.bswap(reg_esi)},t[207]=function(e){e.bswap(reg_edi)},t[208]=function(e){e.unimplemented_sse()},t[209]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=t[0]>>>0;var i=0,_=0;15>=t&&(i=(65535&s)>>>t|s>>>16>>>t<<16,_=(65535&r)>>>t|r>>>16>>>t<<16),e.write_mmx64s(i,_)},t[210]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=t[0]>>>0;var i=0,_=0;31>=t&&(i=s>>>t,_=r>>>t),e.write_mmx64s(i,_)},t[211]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];if(0!==(t=t[0]>>>0)){var i=0,_=0;31>=t?(i=s>>>t|r<<32-t,_=r>>>t):63>=t&&(i=r>>>(31&t),_=0),e.write_mmx64s(i,_)}},t[212]=function(e){e.unimplemented_sse()},t[213]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Int16Array(t.buffer);var s=e.read_xmm128s();s=new Int16Array(s.buffer),e.write_xmm128s(t[0]*s[0]&65535|t[1]*s[1]<<16,t[2]*s[2]&65535|t[3]*s[3]<<16,t[4]*s[4]&65535|t[5]*s[5]<<16,t[6]*s[6]&65535|t[7]*s[7]<<16)}else{dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)];var r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s((65535&s)*(65535&t[0])&65535|((s>>>16)*(t[0]>>>16)&65535)<<16,(65535&r)*(65535&t[1])&65535|((r>>>16)*(t[1]>>>16)&65535)<<16)}},t[214]=function(e){dbg_assert((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm64s();dbg_assert(192>e.modrm_byte);var s=e.modrm_resolve(e.modrm_byte);e.safe_write64(s,t[0],t[1])},t[215]=function(e){dbg_assert((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE),e.task_switch_test_mmx(),e.read_modrm_byte(),192>e.modrm_byte&&e.trigger_ud();var t=e.read_xmm_mem128s();t=new Uint8Array(t.buffer),e.write_g32(t[0]>>7<<0|t[1]>>7<<1|t[2]>>7<<2|t[3]>>7<<3|t[4]>>7<<4|t[5]>>7<<5|t[6]>>7<<6|t[7]>>7<<7|t[8]>>7<<8|t[9]>>7<<9|t[10]>>7<<10|t[11]>>7<<11|t[12]>>7<<12|t[13]>>7<<13|t[14]>>7<<14|t[15]>>7<<15)},t[216]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=new Uint8Array(t.buffer),r=8*(e.modrm_byte>>3&7),i=e.reg_mmx8;t=e.saturate_sd_to_ub(i[r]-s[0]);var _=e.saturate_sd_to_ub(i[r+1]-s[1]),a=e.saturate_sd_to_ub(i[r+2]-s[2]),o=e.saturate_sd_to_ub(i[r+3]-s[3]),n=e.saturate_sd_to_ub(i[r+4]-s[4]),d=e.saturate_sd_to_ub(i[r+5]-s[5]),h=e.saturate_sd_to_ub(i[r+6]-s[6]);s=e.saturate_sd_to_ub(i[r+7]-s[7]),e.write_mmx64s(t|_<<8|a<<16|o<<24,n|d<<8|h<<16|s<<24)},t[217]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],i=(65535&s)-(65535&t[0]);s=(s>>>16)-(t[0]>>>16),0>i&&(i=0),0>s&&(s=0);var _=(65535&r)-(65535&t[1]);t=(r>>>16)-(t[1]>>>16),0>_&&(_=0),0>t&&(t=0),e.write_mmx64s(i|s<<16,_|t<<16)},t[218]=function(e){dbg_assert((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm_mem128s();t=new Uint8Array(t.buffer);var s=e.read_xmm128s();s=new Uint8Array(s.buffer);for(var r=e.create_atom128s(0,0,0,0),i=new Uint8Array(r.buffer),_=0;16>_;_++)i[_]=t[_]>3&7)],t[1]&e.reg_mmxs[2*(e.modrm_byte>>3&7)+1])},t[220]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Uint8Array(t.buffer);var s=e.read_xmm128s();s=new Uint8Array(s.buffer);for(var r=e.create_atom128s(0,0,0,0),i=new Uint8Array(r.buffer),_=0;16>_;_++)i[_]=e.saturate_ud_to_ub(t[_]+s[_]);e.write_xmm128s(r[0],r[1],r[2],r[3])}else{dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s();var a=new Uint8Array(t.buffer),o=8*(e.modrm_byte>>3&7),n=e.reg_mmx8;t=e.saturate_ud_to_ub(n[o]+a[0]),s=e.saturate_ud_to_ub(n[o+1]+a[1]),r=e.saturate_ud_to_ub(n[o+2]+a[2]),i=e.saturate_ud_to_ub(n[o+3]+a[3]),_=e.saturate_ud_to_ub(n[o+4]+a[4]);var d=e.saturate_ud_to_ub(n[o+5]+a[5]),h=e.saturate_ud_to_ub(n[o+6]+a[6]);a=e.saturate_ud_to_ub(n[o+7]+a[7]),e.write_mmx64s(t|s<<8|r<<16|i<<24,_|d<<8|h<<16|a<<24)}},t[221]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Uint16Array(t.buffer);var s=e.read_xmm128s();s=new Uint16Array(s.buffer),e.write_xmm128s(e.saturate_uw(t[0]+s[0])|e.saturate_uw(t[1]+s[1])<<16,e.saturate_uw(t[2]+s[2])|e.saturate_uw(t[3]+s[3])<<16,e.saturate_uw(t[4]+s[4])|e.saturate_uw(t[5]+s[5])<<16,e.saturate_uw(t[6]+s[6])|e.saturate_uw(t[7]+s[7])<<16)}else{dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),s=e.read_mmx_mem64s() +;var r=e.reg_mmxs[2*(e.modrm_byte>>3&7)],i=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=e.saturate_uw((65535&r)+(65535&s[0])),r=e.saturate_uw((r>>>16)+(s[0]>>>16));var _=e.saturate_uw((65535&i)+(65535&s[1]));s=e.saturate_uw((i>>>16)+(s[1]>>>16)),e.write_mmx64s(t|r<<16,_|s<<16)}},t[222]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s();t=new Uint8Array(t.buffer);var s=e.read_xmm128s();s=new Uint8Array(s.buffer);for(var r=e.create_atom128s(0,0,0,0),i=new Uint8Array(r.buffer),_=0;16>_;_++)i[_]=t[_]>s[_]?t[_]:s[_];e.write_xmm128s(r[0],r[1],r[2],r[3])}else dbg_assert(!1)},t[223]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();e.write_mmx64s(t[0]&~e.reg_mmxs[2*(e.modrm_byte>>3&7)],t[1]&~e.reg_mmxs[2*(e.modrm_byte>>3&7)+1])},t[224]=function(e){e.unimplemented_sse()},t[225]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=t[0]>>>0,15>16>>t&65535|(s>>16>>t&65535)<<16,r<<16>>16>>t&65535|(r>>16>>t&65535)<<16)},t[226]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=t[0]>>>0,31>t,r>>t)},t[227]=function(e){e.unimplemented_sse()},t[228]=function(e){dbg_assert((e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_xmm_mem128s();t=new Uint16Array(t.buffer);var s=e.read_xmm128s();s=new Uint16Array(s.buffer),e.write_xmm128s(t[0]*s[0]>>>16|t[1]*s[1]&4294901760,t[2]*s[2]>>>16|t[3]*s[3]&4294901760,t[4]*s[4]>>>16|t[5]*s[5]&4294901760,t[6]*s[6]>>>16|t[7]*s[7]&4294901760)},t[229]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s((s<<16>>16)*(t[0]<<16>>16)>>>16|(s>>16)*(t[0]>>16)>>>16<<16,(r<<16>>16)*(t[1]<<16>>16)>>>16|(r>>16)*(t[1]>>16)>>>16<<16)},t[230]=function(e){e.unimplemented_sse()},t[231]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),192<=e.modrm_byte&&e.trigger_ud(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm128s(),s=e.modrm_resolve(e.modrm_byte);e.safe_write128(s,t[0],t[1],t[2],t[3])}else dbg_assert(!1)},t[232]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=new Int8Array(t.buffer),r=8*(e.modrm_byte>>3&7),i=e.reg_mmx8s;t=e.saturate_sd_to_sb(i[r]-s[0]);var _=e.saturate_sd_to_sb(i[r+1]-s[1]),a=e.saturate_sd_to_sb(i[r+2]-s[2]),o=e.saturate_sd_to_sb(i[r+3]-s[3]),n=e.saturate_sd_to_sb(i[r+4]-s[4]),d=e.saturate_sd_to_sb(i[r+5]-s[5]),h=e.saturate_sd_to_sb(i[r+6]-s[6]);s=e.saturate_sd_to_sb(i[r+7]-s[7]),e.write_mmx64s(t|_<<8|a<<16|o<<24,n|d<<8|h<<16|s<<24)},t[233]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],i=e.saturate_sd_to_sw((s<<16>>16)-(t[0]<<16>>16));s=e.saturate_sd_to_sw((s>>16)-(t[0]>>16));var _=e.saturate_sd_to_sw((r<<16>>16)-(t[1]<<16>>16));t=e.saturate_sd_to_sw((r>>16)-(t[1]>>16)),e.write_mmx64s(i|s<<16,_|t<<16)},t[234]=function(e){e.unimplemented_sse()},t[235]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))===PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s(),s=e.read_xmm128s();e.write_xmm128s(t[0]|s[0],t[1]|s[1],t[2]|s[2],t[3]|s[3])}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),e.write_mmx64s(t[0]|e.reg_mmxs[2*(e.modrm_byte>>3&7)],t[1]|e.reg_mmxs[2*(e.modrm_byte>>3&7)+1])},t[236]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=new Int8Array(t.buffer),r=8*(e.modrm_byte>>3&7),i=e.reg_mmx8s;t=e.saturate_sd_to_sb(i[r]+s[0]);var _=e.saturate_sd_to_sb(i[r+1]+s[1]),a=e.saturate_sd_to_sb(i[r+2]+s[2]),o=e.saturate_sd_to_sb(i[r+3]+s[3]),n=e.saturate_sd_to_sb(i[r+4]+s[4]),d=e.saturate_sd_to_sb(i[r+5]+s[5]),h=e.saturate_sd_to_sb(i[r+6]+s[6]);s=e.saturate_sd_to_sb(i[r+7]+s[7]),e.write_mmx64s(t|_<<8|a<<16|o<<24,n|d<<8|h<<16|s<<24)},t[237]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1],i=e.saturate_sd_to_sw((s<<16>>16)+(t[0]<<16>>16));s=e.saturate_sd_to_sw((s>>16)+(t[0]>>16));var _=e.saturate_sd_to_sw((r<<16>>16)+(t[1]<<16>>16));t=e.saturate_sd_to_sw((r>>16)+(t[1]>>16)),e.write_mmx64s(i|s<<16,_|t<<16)},t[238]=function(e){e.unimplemented_sse()},t[239]=function(e){if(e.task_switch_test_mmx(),e.read_modrm_byte(),(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))==PREFIX_MASK_OPSIZE){var t=e.read_xmm_mem128s(),s=e.read_xmm128s();e.write_xmm128s(t[0]^s[0],t[1]^s[1],t[2]^s[2],t[3]^s[3])}else dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),t=e.read_mmx_mem64s(),e.write_mmx64s(t[0]^e.reg_mmxs[2*(e.modrm_byte>>3&7)],t[1]^e.reg_mmxs[2*(e.modrm_byte>>3&7)+1])},t[240]=function(e){e.unimplemented_sse()},t[241]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=t[0]>>>0;var i=0,_=0;15>=t&&(i=(65535&s)<>>16<>>16<>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];t=t[0]>>>0;var i=0,_=0;31>=t&&(i=s<>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];if(0!==(t=t[0]>>>0)){var i=0,_=0;31>=t?(i=s<>>32-t):63>=t&&(_=s<<(31&t),i=0),e.write_mmx64s(i,_)}},t[244]=function(e){e.unimplemented_sse()},t[245]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s((s<<16>>16)*(t[0]<<16>>16)+(s>>16)*(t[0]>>16)|0,(r<<16>>16)*(t[1]<<16>>16)+(r>>16)*(t[1]>>16)|0)},t[246]=function(e){e.unimplemented_sse()},t[247]=function(e){e.unimplemented_sse()},t[248]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();t=new Int8Array(t.buffer);var s=8*(e.modrm_byte>>3&7),r=e.reg_mmx8s;e.write_mmx64s(r[s]-t[0]&255|(r[s+1]-t[1]&255)<<8|(r[s+2]-t[2]&255)<<16|(r[s+3]-t[3]&255)<<24,r[s+4]-t[4]&255|(r[s+5]-t[5]&255)<<8|(r[s+6]-t[6]&255)<<16|(r[s+7]-t[7]&255)<<24)},t[249]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s(s-t[0]&65535|((s>>>16)-(t[0]>>>16)&65535)<<16,r-t[1]&65535|((r>>>16)-(t[1]>>>16)&65535)<<16)},t[250]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();e.write_mmx64s(e.reg_mmxs[2*(e.modrm_byte>>3&7)]-t[0],e.reg_mmxs[2*(e.modrm_byte>>3&7)+1]-t[1])},t[251]=function(e){e.unimplemented_sse()},t[252]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();t=new Int8Array(t.buffer);var s=8*(e.modrm_byte>>3&7),r=e.reg_mmx8s;e.write_mmx64s(r[s]+t[0]&255|(r[s+1]+t[1]&255)<<8|(r[s+2]+t[2]&255)<<16|(r[s+3]+t[3]&255)<<24,r[s+4]+t[4]&255|(r[s+5]+t[5]&255)<<8|(r[s+6]+t[6]&255)<<16|(r[s+7]+t[7]&255)<<24)},t[253]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s(),s=e.reg_mmxs[2*(e.modrm_byte>>3&7)],r=e.reg_mmxs[2*(e.modrm_byte>>3&7)+1];e.write_mmx64s(s+t[0]&65535|((s>>>16)+(t[0]>>>16)&65535)<<16,r+t[1]&65535|((r>>>16)+(t[1]>>>16)&65535)<<16)},t[254]=function(e){dbg_assert(0==(e.prefixes&(PREFIX_MASK_REP|PREFIX_MASK_OPSIZE))),e.task_switch_test_mmx(),e.read_modrm_byte();var t=e.read_mmx_mem64s();e.write_mmx64s(e.reg_mmxs[2*(e.modrm_byte>>3&7)]+t[0]|0,e.reg_mmxs[2*(e.modrm_byte>>3&7)+1]+t[1]|0)},t[255]=function(e){dbg_log("#ud: 0F FF"),e.trigger_ud()};var table0F_16=[],table0F_32=[];for(CPU.prototype.table0F_16=table0F_16,CPU.prototype.table0F_32=table0F_32,i=0;256>i;i++)t[i]?table0F_16[i]=table0F_32[i]=t[i]:t16[i]&&(table0F_16[i]=t16[i],table0F_32[i]=t32[i]);CPU.prototype.debug_init=function(){function e(){DEBUG&&(o.running||o.cycle(),r(),Date.now(),o.running=!1,_())}function t(e){var t=o.flags&flag_vm?1:0;t=o.protected_mode?t?"vm86":"prot":"real";var s=o.get_eflags(),r=o.getiopl(),i=o.cpl,_=h(o.sreg[reg_cs],4)+":"+h(o.get_real_eip()>>>0,8),a=h(o.sreg[reg_ss],4)+":"+h(o.get_stack_reg()>>>0,8),n=o.is_32?"32":"16",d=o.flags&flag_interrupt?1:0,g={};g[flag_carry]="c",g[flag_parity]="p",g[flag_adjust]="a",g[flag_zero]="z",g[flag_sign]="s",g[flag_trap]="t",g[flag_interrupt]="i",g[flag_direction]="d",g[flag_overflow]="o",g=g;for(var c="",p=0;16>p;p++)g[1<i;i++)s+=t[i]+"="+h(o.reg32[e[t[i]]],8)+" ",r+=t[i+4]+"="+h(o.reg32[e[t[i+4]]],8)+" ";return s+=" ds="+h(o.sreg[reg_ds],4)+" es="+h(o.sreg[reg_es],4)+" fs="+h(o.sreg[reg_fs],4),r+=" gs="+h(o.sreg[reg_gs],4)+" cs="+h(o.sreg[reg_cs],4)+" ss="+h(o.sreg[reg_ss],4),[s,r]}function r(){if(DEBUG){var e=s();dbg_log(e[0],LOG_CPU),dbg_log(e[1],LOG_CPU)}}function i(){if(DEBUG){n.step_mode=!0;var e,t="";if(n.trace_all&&n.all_ops?e=n.all_ops:n.ops&&(e=n.ops.toArray()),!e)return"";for(var s=0;s>>0}}}var o=this,n={};this.debug=n,n.step_mode=!1,n.ops=void 0,n.all_ops=[],n.trace_all=!1,n.show=function(e){if("undefined"!=typeof document){var t=document.getElementById("log");if(t)return t.textContent+=e+"\n",t.style.display="block",void(t.scrollTop=1e9)}console.log(e)},n.init=function(){function e(e){10===e?(dbg_log(t,LOG_BIOS),t=""):t+=String.fromCharCode(e)}if(DEBUG&&(n.ops=new CircularQueue(2e5),o.io)){var t="";o.io.register_write(1026,this,e),o.io.register_write(1280,this,e)}},n.get_regs_short=s,n.dump_regs=r,n.dump_instructions=_,n.get_instructions=i,n.get_state=t,n.dump_state=function(e){DEBUG&&dbg_log(t(e),LOG_CPU)},n.dump_stack=function(e,t){if(DEBUG){var s=o.reg32[reg_esp];for(dbg_log("========= STACK =========="),(t>=e||void 0===t)&&(e=5,t=-5);e>t;e--){var r=" ";e||(r="=> "),r+=h(e,2)+" | ",dbg_log(r+h(s+4*e,8)+" | "+h(o.read32s(s+4*e)>>>0))}}},n.dump_page_directory=function(){if(DEBUG)for(var e=0;1024>e;e++){var t=o.read32s(o.cr[3]+4*e),s=a(t,!0);if(s)if(t="",t+=s.size?"S ":" ",t+=s.accessed?"A ":" ",t+=s.cache_disable?"Cd ":" ",t+=s.user?"U ":" ",t+=s.read_write?"Rw ":" ",s.size)dbg_log("=== "+h(e<<22>>>0,8)+" -> "+h(s.address>>>0,8)+" | "+t);else{dbg_log("=== "+h(e<<22>>>0,8)+" | "+t);for(var r=0;1024>r;r++){var i=s.address+4*r;t=o.read32s(i);var _=a(t,!1);_&&(t="",t+=_.cache_disable?"Cd ":" ",t+=_.user?"U ":" ",t+=_.read_write?"Rw ":" ",t+=_.global?"G ":" ",t+=_.accessed?"A ":" ",t+=_.dirty?"Di ":" ",dbg_log("# "+h((e<<22|r<<12)>>>0,8)+" -> "+h(_.address,8)+" | "+t+" (at "+h(i,8)+")"))}}}},n.dump_gdt_ldt=function(){function e(e,t){for(var s=0;s>4,n="",d=_>>5&3;n=128&_?n+" P ":n+"NP ",16&_?(n=4&a?n+"32b ":n+"16b ",8&_?(n+="X ",4&_&&(n+="C ")):n+="R ",n+="RW "):n+="sys: "+h(15&_),8&a&&(i=i<<12|4095),dbg_log(h(-8&s,4)+" "+h(r>>>0,8)+" ("+h(i>>>0,8)+" bytes) "+n+"; dpl = "+d+", a = "+_.toString(2)+", f = "+a.toString(2))}}DEBUG&&(dbg_log("gdt: (len = "+h(o.gdtr_size)+")"),e(o.translate_address_system_read(o.gdtr_offset),o.gdtr_size),dbg_log("\nldt: (len = "+h(o.segment_limits[reg_ldtr])+")"),e(o.translate_address_system_read(o.segment_offsets[reg_ldtr]),o.segment_limits[reg_ldtr]))},n.dump_idt=function(){if(DEBUG)for(var e=0;e>5&3,_=5==(31&t)?"task gate ":14==(31&t)?"intr gate ":15==(31&t)?"trap gate ":"invalid ";_=128&t?_+" P":_+"NP",dbg_log(h(e>>3,4)+" "+h(s>>>0,8)+", "+h(r,4)+"; "+_+"; dpl = "+i+", t = "+t.toString(2))}},n.get_memory_dump=function(e,t){if(DEBUG)return void 0===e?(e=0,t=o.memory_size):void 0===t&&(t=e,e=0),o.mem8.slice(e,e+t).buffer},n.memory_hex_dump=function(e,t){if(DEBUG){t=t||64;for(var s,r,i=0;i>4;i++){s=h(e+(i<<4),5)+" ";for(var _=0;16>_;_++)r=o.read8(e+(i<<4)+_),s+=h(r,2)+" ";for(s+=" ",_=0;16>_;_++)r=o.read8(e+(i<<4)+_),s+=33>r||126s;s++){t=h(128*s*e,8)+" | ";for(var r=0;128>r;r++)t+=0e)){this.last_connect_attempt=Date.now();try{this.socket=new WebSocket(this.url)}catch(e){return void this.handle_close(void 0)}this.socket.binaryType="arraybuffer",this.socket.onopen=this.handle_open.bind(this),this.socket.onmessage=this.handle_message.bind(this),this.socket.onclose=this.handle_close.bind(this),this.socket.onerror=this.handle_error.bind(this)}},NetworkAdapter.prototype.send=function(e){this.socket&&1===this.socket.readyState?this.socket.send(e):(this.send_queue.push(e),this.send_queue.length>2*this.send_queue_limit&&(this.send_queue=this.send_queue.slice(-this.send_queue_limit)),this.connect())},function(){function e(e,t){var s=new XMLHttpRequest;if(s.open(t.method||"get",e,!0),t.as_text||(s.responseType="arraybuffer"),t.headers)for(var r=Object.keys(t.headers),i=0;i>20)+" MB ..."),this.buffer=new ArrayBuffer(e.size),this.onprogress=this.onload=void 0}function i(e){this.file=e,this.byteLength=e.size,this.block_size=256,this.loaded_blocks={},this.onprogress=this.onload=void 0}v86util.load_file="undefined"==typeof XMLHttpRequest?t:e,v86util.AsyncXHRBuffer=s,v86util.AsyncFileBuffer=i,v86util.SyncFileBuffer=r;var _="undefined"==typeof XMLHttpRequest?function(e,t){require("fs").stat(e,function(e,s){e?t(e):t(null,s.size)})}:function(e,t){v86util.load_file(e,{done:function(e,s){e=s.getResponseHeader("Content-Range")||"",(s=e.match(/\/(\d+)\s*$/))?t(null,+s[1]):t({header:e})},headers:{Range:"bytes=0-0"}})};s.prototype.load=function(){var e=this;void 0!==this.byteLength?this.onload&&this.onload({}):_(this.filename,function(t,s){t?console.assert(!1,"Cannot use: "+e.filename+". `Range: bytes=...` header not supported (Got `"+t.header+"`)"):(dbg_assert(0<=s),e.byteLength=s,e.onload&&e.onload({}))})},s.prototype.get_from_cache=function(e,t,s){s=t/this.block_size,e/=this.block_size;for(var r=0;r=r),_!==r&&(t.push(this.file.slice(r,_)),r=_),t.push(a),r+=a.length}return r!==this.file.size&&t.push(this.file.slice(r)),e=new File(t,e),console.assert(e.size===this.file.size),e}}(),V86Starter.prototype.run=function(){this.bus.send("cpu-run")},goog.exportProperty(V86Starter.prototype,"run",V86Starter.prototype.run),V86Starter.prototype.stop=function(){this.bus.send("cpu-stop")},goog.exportProperty(V86Starter.prototype,"stop",V86Starter.prototype.stop),V86Starter.prototype.destroy=function(){this.keyboard_adapter.destroy()},goog.exportProperty(V86Starter.prototype,"destroy",V86Starter.prototype.destroy),V86Starter.prototype.restart=function(){this.bus.send("cpu-restart")},goog.exportProperty(V86Starter.prototype,"restart",V86Starter.prototype.restart),V86Starter.prototype.add_listener=function(e,t){this.bus.register(e,t,this)},goog.exportProperty(V86Starter.prototype,"add_listener",V86Starter.prototype.add_listener),V86Starter.prototype.remove_listener=function(e,t){this.bus.unregister(e,t)},goog.exportProperty(V86Starter.prototype,"remove_listener",V86Starter.prototype.remove_listener),V86Starter.prototype.restore_state=function(e){this.v86.restore_state(e)},goog.exportProperty(V86Starter.prototype,"restore_state",V86Starter.prototype.restore_state),V86Starter.prototype.save_state=function(e){setTimeout(function(){try{e(null,this.v86.save_state())}catch(t){e(t,null)}}.bind(this),0)},goog.exportProperty(V86Starter.prototype,"save_state",V86Starter.prototype.save_state),V86Starter.prototype.get_statistics=function(){console.warn("V86Starter.prototype.get_statistics is deprecated. Use events instead.");var e={cpu:{instruction_counter:this.get_instruction_counter()}};if(!this.v86)return e;var t=this.v86.cpu.devices;return t.hda&&(e.hda=t.hda.stats),t.cdrom&&(e.cdrom=t.cdrom.stats),t.ps2&&(e.mouse={enabled:t.ps2.use_mouse}),t.vga&&(e.vga={is_graphical:t.vga.stats.is_graphical}),e},goog.exportProperty(V86Starter.prototype,"get_statistics",V86Starter.prototype.get_statistics),V86Starter.prototype.get_instruction_counter=function(){return this.v86?this.v86.cpu.timestamp_counter:0},goog.exportProperty(V86Starter.prototype,"get_instruction_counter",V86Starter.prototype.get_instruction_counter),V86Starter.prototype.is_running=function(){return this.cpu_is_running},goog.exportProperty(V86Starter.prototype,"is_running",V86Starter.prototype.is_running),V86Starter.prototype.keyboard_send_scancodes=function(e){for(var t=0;t>8,this.PushInode(s),this.NotifyListeners(this.inodes.length-1,"newdir"),this.inodes.length-1},FS.prototype.CreateFile=function(e,t){var s=this.CreateInode();return s.name=e,s.parentid=t,s.uid=this.inodes[t].uid,s.gid=this.inodes[t].gid,s.qid.type=S_IFREG>>8,s.mode=438&this.inodes[t].mode|S_IFREG,this.PushInode(s),this.NotifyListeners(this.inodes.length-1,"newfile"),this.inodes.length-1},FS.prototype.CreateNode=function(e,t,s,r){var i=this.CreateInode();return i.name=e,i.parentid=t,i.major=s,i.minor=r,i.uid=this.inodes[t].uid,i.gid=this.inodes[t].gid,i.qid.type=S_IFSOCK>>8,i.mode=438&this.inodes[t].mode,this.PushInode(i),this.inodes.length-1},FS.prototype.CreateSymlink=function(e,t,s){var r=this.CreateInode();return r.name=e,r.parentid=t,r.uid=this.inodes[t].uid,r.gid=this.inodes[t].gid,r.qid.type=S_IFLNK>>8,r.symlink=s,r.mode=S_IFLNK,this.PushInode(r),this.inodes.length-1},FS.prototype.CreateTextFile=function(e,t,s){e=this.CreateFile(e,t);var r=this.inodes[e];for(t=this.inodedata[e]=new Uint8Array(s.length),r.size=s.length,r=0;re||e>this.inodes.length?(message.Debug("Error in filesystem: Attempt to get inode with id "+e),0):this.inodes[e]},FS.prototype.ChangeSize=function(e,t){var s=this.GetInode(e),r=this.inodedata[e];if(t!=s.size&&(e=this.inodedata[e]=new Uint8Array(t),s.size=t,r))for(t=Math.min(r.length,s.size),s=0;st.parentid&&message.Debug("Error in filesystem: negative parent id "+e),0==t.name.length&&message.Debug("Error in filesystem: inode with no name and id "+e);for(var s in t.name)32>t.name.charCodeAt(s)&&message.Debug("Error in filesystem: Unallowed char in filename")}},FS.prototype.FillDirectory=function(e){var t=this.GetInode(e);if(t.updatedir){var s=t.parentid;-1==s&&(s=0);for(var r=0,i=this.inodes[e].firstid;-1!=i;)r+=24+UTF8.UTF8Length(this.inodes[i].name),i=this.inodes[i].nextid;r=r+25+26;var _=this.inodedata[e]=new Uint8Array(r);for(t.size=r,r=0,r+=marshall.Marshall(["Q","d","b","s"],[this.inodes[e].qid,r+13+8+1+2+1,this.inodes[e].mode>>12,"."],_,r),r+=marshall.Marshall(["Q","d","b","s"],[this.inodes[s].qid,r+13+8+1+2+2,this.inodes[s].mode>>12,".."],_,r),i=this.inodes[e].firstid;-1!=i;)r+=marshall.Marshall(["Q","d","b","s"],[this.inodes[i].qid,r+13+8+1+2+UTF8.UTF8Length(this.inodes[i].name),this.inodes[i].mode>>12,this.inodes[i].name],_,r),i=this.inodes[i].nextid;t.updatedir=!1}},FS.prototype.PrepareCAPs=function(e){return e=this.GetInode(e),e.caps?e.caps.length:(e.caps=new Uint8Array(12),e.caps[0]=0,e.caps[1]=0,e.caps[2]=0,e.caps[3]=1,e.caps[4]=255,e.caps[5]=255,e.caps[6]=255,e.caps[7]=255,e.caps[8]=255,e.caps[9]=255,e.caps[10]=255,e.caps[11]=255,e.caps.length)};var VIRTIO_MAGIC_REG=0,VIRTIO_VERSION_REG=4,VIRTIO_DEVICE_REG=8,VIRTIO_VENDOR_REG=12,VIRTIO_HOSTFEATURES_REG=16,VIRTIO_HOSTFEATURESSEL_REG=20,VIRTIO_GUESTFEATURES_REG=32,VIRTIO_GUESTFEATURESSEL_REG=36,VIRTIO_GUEST_PAGE_SIZE_REG=40,VIRTIO_QUEUESEL_REG=48,VIRTIO_QUEUENUMMAX_REG=52,VIRTIO_QUEUENUM_REG=56,VIRTIO_QUEUEALIGN_REG=60,VIRTIO_QUEUEPFN_REG=64,VIRTIO_QUEUENOTIFY_REG=80,VIRTIO_INTERRUPTSTATUS_REG=96,VIRTIO_INTERRUPTACK_REG=100,VIRTIO_STATUS_REG=112,VRING_DESC_F_NEXT=1,VRING_DESC_F_WRITE=2,VRING_DESC_F_INDIRECT=4,message={Debug:function(e){dbg_log([].slice.apply(arguments).join(" "),LOG_9P)},Abort:function(){if(DEBUG)throw"abort"}},LoadBinaryResource;LoadBinaryResource="undefined"!=typeof XMLHttpRequest?function(e,t,s){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onreadystatechange=function(){if(4==r.readyState)if(200!=r.status&&0!=r.status)s("Error: Could not load file "+e);else{var i=r.response;i?t(i):s("Error: No data received from: "+e)}},r.send(null)}:function(e,t,s){require("fs").readFile(e,function(e,r){e?s(e):t(new Uint8Array(r).buffer)})};var marshall={Marshall:function(e,t,s,r){for(var i,_=0,a=0;a>8&255,s[r++]=i>>16&255,s[r++]=i>>24&255,_+=4;break;case"d":s[r++]=255&i,s[r++]=i>>8&255,s[r++]=i>>16&255,s[r++]=i>>24&255,s[r++]=0,s[r++]=0,s[r++]=0,s[r++]=0,_+=8;break;case"h":s[r++]=255&i,s[r++]=i>>8,_+=2;break;case"b":s[r++]=i,_+=1;break;case"s":var o=r,n=0;s[r++]=0,s[r++]=0,_+=2;for(var d in i)UnicodeToUTF8Stream(i.charCodeAt(d)).forEach(function(e){s[r++]=e,_+=1,n++});s[o+0]=255&n,s[o+1]=n>>8&255;break;case"Q":marshall.Marshall(["b","w","d"],[i.type,i.version,i.path],s,r),r+=13,_+=13;break;default:message.Debug("Marshall: Unknown type="+e[a])}return _},Unmarshall:function(e,t,s){for(var r=[],i=0;i>>0,r.push(_);break;case"d":_=t[s++],_+=t[s++]<<8,_+=t[s++]<<16,_+=t[s++]<<24>>>0,s+=4,r.push(_);break;case"h":_=t[s++],r.push(_+(t[s++]<<8));break;case"b":r.push(t[s++]);break;case"s":_=t[s++],_+=t[s++]<<8;for(var a="",o=new UTF8StreamToUnicode,n=0;n<_;n++){var d=o.Put(t[s++]);-1!=d&&(a+=String.fromCharCode(d))}r.push(a);break;default:message.Debug("Error in Unmarshall: Unknown type="+e[i])}return r},Unmarshall2:function(e,t){for(var s=[],r=0;r>>0,s.push(i);break;case"d":i=t(),i+=t()<<8,i+=t()<<16,i+=t()<<24>>>0,t(),t(),t(),t(),s.push(i);break;case"h":i=t(),s.push(i+(t()<<8));break;case"b":s.push(t());break;case"s":i=t(),i+=t()<<8;for(var _="",a=new UTF8StreamToUnicode,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 Ee-eD?SO5S3 literal 0 HcmV?d00001 diff --git a/docs/www/emulator/bios/seabios.bin b/docs/www/emulator/bios/seabios.bin new file mode 100644 index 0000000000000000000000000000000000000000..1f4ecc0ce6dc2dd55c9a6352db78bb9b0c772b8b GIT binary patch literal 131072 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�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�!m7ZfhIyUF^^YcS9E>k*1Err2IZ@9`;Az2ZR=eCl<6 zVZN?c4Rp`lx=GcZYHE7FwpP{FpZ<71znS^9wYB+~roKGjQT^UyI7dkRQm$}s-I5e( z=PMRm9`m^%^#MLZQTqL+Q@{fVup}K63RP3>y5u3$S4h2id4)p^52mIgp^^uM46U~?3V$P-j<9qh z`$V200?&xsnq>z~V8Xzt<506LK1zjph?G<~GaZQjBQz1oT(}e)3l+Sp7i{@0=ze@m z4*vtox>Ri7tqDCGgL!YrI$nJ6#{;N)PFJTQ5yJfr@AvtZgHzGDEYFqtB%Vxg0#6dy z`+yZPLN11HU!JKUuF4k5s614k{Y4fV@PRL~Oy*u>7Q0efIauCmQYAmbYnI1I37e8U a&yvMRM~>f7ry4Sb4H|OYpy9(I68{e%eFQoH literal 0 HcmV?d00001 diff --git a/docs/www/emulator/bios/vgabios.bin b/docs/www/emulator/bios/vgabios.bin new file mode 100644 index 0000000000000000000000000000000000000000..b5f925e1b05dcde8ec474e23e0fadc00dd480180 GIT binary patch literal 34816 zcmeHwe|(hHneRK3$s~ax?*sx4Fosme6sgi+ErvRhKnO(nW=L9N z3{4`L1X6o%cen2L-ix|-x3~KPde<8uR+uCb0;C915rJZa7G@j-lwAlAGxz&F=e+X+ zac}p2?)|T?Wad5RJm)#jdCqg5U*}A_4ieaodVGPE{iv1s;Ue@Kvx*-uhBpwyL;vw-s zK(sIOxkUI_plzAYExHHY5?Nl4m=WoSl!)*ImraDv`E9{*E64e>%%Aj%g`(-i8PU}H zrMUfH@z<7}p$H!o;rG`a>iF&XzwI~_5Q%$z z-hjxGpji+4Jn>)4k^V$1$7l~@n)SY1(e%3^K-Lap`0(#F1x=^@#5E%!)*J`TiGT<% z`IRvL_9CWz(k;U0MfftPzl>o~pLZEd5o`7)5{3cD&_1zdxAC7%zAyQW2=@`sO+<4w zhBe30!w`ADS{g4~w6PrK0IgzcnAU1ct<) zq%pDSv|BU{nZfJv={EnO7vx^yjLV&PJA$`mk7mbRVtY0zcwK&)o#1-E=pM=vO@lU2 z@9?p_e+Wf8iu1rN+b+@c0Sou~T&?@iV2W)vpzu3`VC8W;kbfe!uttP?THg}~j*EK$ z{h-ew!k5H>K`vz0?LI7KpQsSqvIzK+xHv-4L9Dr4?%aSF?eM7;cL0n4pxAXMVQhq9 z>*#qtS0;?GMZpxe#gq(gESoOci<%!7El14eA7`nNjOl^43TL2oo^KrJh8V2BKSy+5 z!luCV99&#bVs2iP&tX(e2-W81Du_NNVB05b{lW%G1FHgURW3+<^L2K=!))GT_uI|p z|7BaZk4&c+hU-agdp!}acYTV98^9F7K0-y7oJ)J5Peh;iG?9SBNJg-OC(u~$8)pWm z$Zsqq_YHQy`gsPI@)NuTS92-1$VJ>HKfBZld<_1h{T>Ri%O_-QYj;}Zy*|va9ZmZ$ z$w_-io0FUVKr|q3B%9YeDkOa#@e;P3A2kpJY_&ro4D^J8TxhWNAVg&Uh_IcLz}#Np zK0tUSo=303gWX$bn19hNS}tH#&HIDXL`x)ilV}>TqgL+jLcI0l?hiR3#rEJ7v6b`s zpSf|Tn6XRDcstPN@L^ZX!rl+%#z&(D^{jM=S$iq;*q8fHidp^UUqnP+PoT}~6L|+j z-uXc5vb)BLuVd~(u7@oM#nzO_HCxt>#8yG{*9W06{vb=L!|vn2x1K7CY6^lXqCdWpNW`uORDTA;<+b;6@|(p7Vi#9$vP_Rw?#T)5q?kO{wi=&A{R{(O))HkC8rpdaw#RM z05IZpa*mKyUNNiJT)$ox7EMZZsdAuqFUa7k%Z`UGqhn=!m+V%gM7~GZ_6yq{Ry_x) zHaGv7L{US6XL)_A3qkkSq3Jea-EE|zS6n?)^tBd)b|4fy1;fmehm9| zS=zpZ8GxK>gHh5xv&Co{$qh|xj(mSS7P+IRM6^$+hl)9X(H1nu^R)?TmnP@{7`@Bf zxL4TTqaE2N@utj6(`gtnn3x>_?DA2f>rE&j=vVOPtk`0A$S()XA4&$A&Wf(R62f7Z zb=+TQauN{p@4VM1wPg3;XlOi`i(-fZ6vleTC@?2N4n62Y-SKRw3%Pf|D6?~(Zz>Al z&x}Z5);!;+)zif`V?!d*(I>(?Mfa&}tbkdnsc34!P-s_9+xteTA=oW|i z(qs>ybXsi92f;tLVGC^?g*U0;2cfI`ooZs33#P&;WxM&+^rkCqA-W`z)*i9tH^A0- zoOrgphF8%G<>_v`Yzs~V*MMNBceSl zhI_>}Ne0X)jhOB|4*TFNxOJ6aeuMC4=Q$B=k)3-s<((08Ps7L#g206dk=K6)?Y#lY z&GrgRuVZJ)t8ky9OCvN?IqtSKC?AKH(nNtImG3L&-*<5C1KZD0%f>Y@Hk@ zB;!hMa3VT9^eGTS4^iUFdP@SWPW3h4roZjt ze$mvI6+f7y{{it$V4!PYb}pnB9T88{=sf7lhP8m?1={BMvIDJ^%j;YZp-i!iIsOouaE>QzVIjRSizY!Ufv0&fufcCO_?G#C>qcv*LqEYQ7n0TRc9{ z`k>E-mx+9_WzTktLpa8%Ae+v%8Vi z-9y-mL*)%nN#!U@dFO|nA8@@iXVV7i<3LMAW$e!qn$%6j7Nw6QIbsDOcXfWtFwC_d z*~DEpJdC#=o&eGBVyYKx@e!|zH37( zhkND*G2;Sgc<`%a>)X^#(c|zd#C$kVg`wZm8QM}vQlfiUEsdEn8)qfC6O=av6!Y>E zO7Zod6>~(>rR>m$5~74eOX~+9M}7uOUMP;r%1MlGx@Zu7ZVSSq&`O9c1sGNi@=Os> zaD*{fEvi;M!o<*rqN|6n+^T9@rdDFjDWlOaLi5mZ99Fw>RP)=xu_L=fH-Nzgf}yQO zg<-^t(@SDYF-&&cOx6Jb*meFNfFlc@TyrG!C5zW?@wCBzTP07sHat!q{q`bw1lt#f zW48yIn_=%`h^P=M0!6Oqf^jsOcLl$oyy(VDS-}ZtSnO=PoJ;<%hA8&rz+ypJ?GwHJ zoYmP}F6ar+s)F5pC4u&P$1X;7Ykzkvw{-xjQtf_dNo7c0m%zR7cqaf2kBD4%b0b_br5m9VyOk%yK&h$Uu9q7g2^{f$)Hp1g-%E44w#`Te z-Dc-|GJM`Cwn!QxB^$nNlpPAqMPx?zceyl(-69$zqo_Cg#a0TZvg#PvvXl8RI53q6 zB&De|;aMn*h@C;k5U3s!c_Sr(aB%YC6qmtgICZZrB-dKr4tliD(6v`OW?gUL>m!&# zxD`kdz*K^iJ)j8-d#i{(D2eLXG>!&S>H!iE{g$lmR*EGH1ZBmi!*wIonRubk2|t!Q z&)f_L5=`A{IS`kiF{p86ZUX)pjJ-Gg?y zLh)4+wp3ENQ*0$$HLc;@XT=-jFBa}2?&mGaXF;{B=oMS?I0wS9!rV-q)(0l-)b5S+ zZOo0Vh6jUcSplg`+I_Ik(yADMEPNUM1FaVI)-U-E-$`txEBYCU0v|4?Nz|CLBDxRr zKxXSX+5J)KH=x>U<;yOR6tadS|T|=8DB6-;f8*&`?G>K*XE7%o6TAFSVJ~*1OM#sJI$7r z*~FjbZO0ZPo@ig>2((w_cSjjb(p}rU1S&%2Fhw8-gUJ^HV(?%V* z3^itBM&@`R_rdJ3$iOrWA=VX@hVJrJLu)IFOI2jsS(S$EB0^el1TH{36ER^1@9ob` z>OPwlKzfC4C&Ec6k0P;MP8BY!xfwYQ5x#i-7feJkaF731kM`5}gKS^U$o4%3s+b6+ zu@kW=8xSckMrsfvwO38jDR_FGlpImD&yK=L?sGs#128yf`v?A z-T^I2CoDR#_C>L$?CgYWPTR8a=y3vG-flJaffFL{kd~Vd-~(}PJueKxbU0(T!Ao5P z@GG_u__*GY2YIuDNSny(Cast^{ma5PAlne`A#7y_!;w4~rc+LlHw5M{@$UZ+EJhwz zickBJN!=fE4Ulo!2*+B=7n97nMz91T#o>1%>_AV%=I4JQGt87amk*f?WN+eZ(ny&Y zdX9^Wlv(?tN!>9brX7FJTB|pR5aMb!3tI;aDh#b9rnmdzCm|9=`_G~ig>fUciVfo2 zUgg~%MO{RSrj-AbY*K061Sft(0m1iQs_#rpnL=)EJOm>vQN$wX z)4m)NLBc1WpHd+m5Vp%I;~Bii?+DiV8BmAD28(63TA9x9MW8@V1AfK2BOQm3lRpxF z4qo|Ixi`DDfepWlVwp;2`OVEthrEl;e4nr#j-O)9 zBJSTk!iLpWdzMEPc$)-X=q>v4DZNG0)U9REvC$5~d!&$1Z)PdIiFNymR0cnS3xPtV zLzeCyQYD69=|>h#r;A0>cboky12JKZ2>)7oRJ|YuJisBrpoq3gH|iW@btr&5YJMPG z<8uf4=J|Mbg7(f!r1WGCmazHA_Y0vezV7tr)Q-lscs@|N?Dny7#D&WW$I32t*`-N# zd9ygp6m6}*bUM0`RRJlxg7-<+g*5Vjg!Jr}J+IK+fhkK7gGe%sn42Z$6FKnTz1V4b z2oWAm8}d5s zHNIl8O|qj8X(YKawOkNzc1rV+U}5WiB)6a)9<$gN^ChJF4WJ9cb^!_beLiy@|s}SffCr-)F#X;ViBD1Y)N>#ep!72_#EJ^vow@dLNknXQPy4*l~0doJc(h z;k}5Jb@`M?uAUWEkKgvUW&;AB&*HNy79@mwc%V+ z9qqv^beTG?Sr-o@SEYKh?^upAPDHm;PI=Upw%i$9FBNadO}9f!KkFI1R)XKQS1)%bm4#k2Gi`=XaqWB(cCQk zU~eh&94(0uvN?_Hi3N-=rONTzESid_1aP+0HqUhf_tj|eh6FwEDWDHfBeuK~%qDjh z1a3n!U|cuIWJ+#mcbr|UVsN|&zatKODq%&-Z$l^0JAOng-Crt#?#~#oAp9)DcHwcQGWBT;B^dC)NX~Z zdp9-qQt_?$9h8tP5e=PXda3=PQDm;i2u{E`efRI-L0`f|FNwTQ;e1Vv=b<)y3Emr2 zM-~nxTCQ%EEdtfqW=Ih! zaY-P24)4+w;Rmm@!t^&EOA(~3N!i1Gblrx`7^35|bkXyWd3sli+zF(i zDLtiPe*EWPhB7_Ql zk((wTK}7*y9C$IxdV*u1-_~4VA}#da;uFN2_yFi@MVLlSA87jyd}8Ri2qd^7CBZt; zgFx+zNWLyKa1P%N(+cl+R(~i5gW{;B7wNQovF0*UqM`R0U_Jn-wqoRA0kHHI3mn#A z{STR)jhi?n04)(Dr9!{qn9SLvmX7n4$EsnRvWNFb-9TG8iu>mRT5M+XQ`ms*cok;X zV6NGOI5&D(GHizm=S~MYs4-fx#vfYmb8ITQOO}y!OFxwW_#Etx-AHzx=DUN+W;+iZ zK{+~yFP{QQgizgv{7S6BSsB^==BMIAhs!1d`>*#um)FlB&-y!kjg&1i)QvnJ%@?3sY@?#!9 zs#2`VGn;NkN&vZHIW09_8|NT%QM8G9=TvIhL7Z)v1#_8bJ&T}oRfWnJgA}AxaKYqK zL2!a523STBPMyjq921d4Q0J2HTu0W7{03)^Jq+!-m{C5X)~Ky=vh3H?U!d?>d}w>{ z&Kog066VNi{_^+O4qu0jEes9nehaZ!Y3s)m9xfQUm7?j6Buz+6F=d_?I*xgvD>h>m+JX}sm`H;fU@0kA8=)nOqL3UUZ`CX{tF|iae0dsl z4J3<*cFYvsii z-f$HUVZMgZm)q6Zj?RcSU2+5`Gr`RbrZVYTl*72{)oYg$JSy~V+N8{;M!gE{%Z&@Y zwh&JFWo|Y-Z;sgUZ2ViIX~$=V3r*1A$q^;&O?ue&DnlM(r;~)i9X?z?05WcSsbGG%CF0@^rlUjG>w~GJ)OA%X<9?WUoHBzE?{h-` zaEok#us~X%bIi_eJr_`LAINHd%wgTTQ@L_IQ+YQ-c0r(T)yX?zM3dr(VwB9YBkMhs zdsBpW9w4a9p`R7oQwMtrSw9n^3$%*0F-?WA47=s@G5T-oE7gf&Q$JRa6OPHG9v59S%%G@0 z_sk~b>tTkKsRWJhqZa+II=jR|%(pAILS_i)abtH+#pi* z$G5{4mb|hRA$GmbG(tDvCI<}5sFGLj0X)MFmsn8p3U76&yBqPZfRy<;D8eh%I)Dc_ zssk#|Q+Kc?*$*DUtJT!Eh~i9iVGtXA@c@>=N((CFPIuReif6kvOKTLo{V zmPhx4jo@K*$t!D7x#?2LE3M2~Z3si~2A?l^1>aZ}y*?4NfQ2|cRi_B&i1t1roAEZT zsC?U4hnrrw(fom1bZuzDiZY3tx7)HEjaTx6lN+zNgEMhaC3H_Z@bh#X(<}b`s@^VJ zd}4b0=CE6B{p&2~7(0p+CK69A8aA z%CR*o?g@-k*y1v_b_*nMai(`2^B=HYluj7)4a`gQ!I^-+_;FeHs;{$SB?7)j?PzVE zjjRL$q=yjLy+@{DTSt$d28JdaOFS(PyV1->WQN(8_((Qdbn{3RnUdCC90?!@OgjO_ zssViZ2Qnz5XZ*C$`W`a@bkpbgaz%7BGn$VwdUUd0#=sDUpP>teS9et`oh@TCI2mx! zae1OJ(8?q)Zn;3AVlI^he6a`GpY_m^S0Z3HJ6E~I{Y@CXZJ{?<7U-zNDMcGx`SnlP z8b7cH$Dp(TJlV?{y9^SUgdw5Pl`6CiN8@ksoT88uzr{pXun@$(f z9Bf)kQy`Cs9`Q0e&r|d@yRaaQV%w05YK9h7z@!eN^wIS836Zt4dO|m(>PK{a59>#* z>zCqK^xE1@z1mlWeF86(wt+UrL5F(_Jg)!nZq^nrnU>(;!wta(|J zy6d0DlX@8LkS+tpIf&Zq9|U)9qZSXu~OF!4_os9*-%mp!=S>% ztLq+Da#r$cBi>+S3{ubQ1w!2l>jzbxQI(t4 zkA1c=)D%r`F~9Mc)XGk&m8t!5DSC{9?*smR(1Paq z_u%sZTYL^zb;Dd)bXyEA)_u_zO@2t-0=AtOBCc zd=!x}LoeFIFf<1Y8C2TN0bFeige!4ci-YC~n8&l(>S{s&0QpwPgOQg^Qp?!-K%Rsx zBJ3!!bs`vM9c#&k8wkh78^u;$%F1Xgu^R6XTY1yMYQ*^>1-q%YLSBYAwRe(8 zq@^4X?JX%fBiEu6_r04UZgH1^FwJcFMnZPAR0#APypva)#`F!i17UXJ3e0gNO|UbN zUfLZT4XP*NZah*|Qe%mWhX@SH3e$oN?C{3A0-L$E7ou3_#tXt!%Pb>lkP+Xj>#N8-bwkTqxMEWGGITntz67st~`qX$85PFCwY$delS*Se?ehEj`S@FF+ps9>8h$pV*5WOtB~0i;d_e2nw}ACN1{V4 zzEzqJdE0kZ&+0|cVYA?v1V?q?(r>s75{cUfxG%Bh5>+|wZc^TQR^#U^m)vmlp1E`j zdTi%jy}H+&_(9CQX*YF_JN9=tSTZ-y_cZ1`R68`nusE9oFKqpNX%{34GNoSuKljpxZXsO=*J&i$o(Q*L}}MjhIqt|N#o*vEo&{&MuD zY)d|>reN?z#TG?hAU!wm<3{ik-%Cj7@|);5b6J*@V9sW<0f7?X=ceM=LcZL>MJ>g0 zV?p?Oo9_HoVw#DMML1w`5!IqHR?Xta*YL6APJAr)Gb||YMjaTfo$bXre?}M8Og@a#wboQ!L zEt0)wc?+Z^Qs-%gKU|KBl0(iwc)mM^i*=0+Zu{!Vft|o?i@gjN5H~bZS*O^UOG!Q0 zUIcA_B={SkSNGJ8G3ur1o$to&O*jDDyx0&sui6lpP`uJ_SJw@rW$#EolH`O*1az5W z2joOveoUaoqr{vd{V|G#u@0m=F(r@Odn?$T{^7zzeB)KLnawkKiB(ZoA*sWmIX3K@ zzmb%(U+XwTRP){Vt#0K?r@zr`$&y=H629Xq!sW1qm=TV*duG z8`!67l3KTnNN0;gb5`$Iv-*^?itS9Zqsnf!j(}RYkZmx+QK#Qlne}^A!#(% zJ~_gRu^^=LF&q*826JkL!M%SZGrcEMRfrdG{p*So+p_6{_wlnx{7lbm@!>w%uHtKe z!>Pw@(jRJ!pMH7`5C%8J*v?{N1aCkTL9j5tKoV)hL;N;u@jui2ykVsW_Os<*fT;pA zhabKH`5F99HohB>?ou<3`?b1-sT*{|89#nT+jRV#&fCQQ*3wB|1O}dSQ+Y|HBb}Vs z-(N|W&a_i5{DgT20_*Gjqs``ju$ybw8-AGRzqZxhN1MLPRy&1!OW>E_W=sEQE^L)2 z?dHpOcJl|U^K5VkTK>oAz|Jaos`&KCPegur$5BMAW3(SOzRy-W4)<7_e{Q4c^200m zTU%_^Xn&sBTx|D`GFt-pL0mKq`(wxb1!nUj*|mOuzS;bmz4j(Qjy=}f{bS6QJ0&qo z;NZW!%1&E}uk{ct9B*kj{H`zM*rd-H0&{;_8B_j3K?%$5XB@S@^d zmb(*s@vPr#HviXA<`0kO`R_Md-k0sko5-=D3-H^$;P>;8ryk^IR>PC4@)pMn8ZSF> z{D}8*+_J(~X)^!PhA0a?pw@TW0*%jkjqhhQ?rp@+1FYLUff#Nh7637RvQt$Udm&BA ztC8!jVn(C03c`EhEjcsfKAs#On>PyAXS|J9a20>nsN|7II}&@iEYe&uDwWMShHkvC z%zM{JOh^CuZFyD_o{k*YPW+z!+jMn%MYLJMb&Kv8T%yk3fIf@DF*qMnL30#8YOreG zIcgDh4|}o;_78i9-%2~{mOAe)Y8C9$(YQr0Ufm$TzCVUE3a(I@oo~kBj9n7ZuK*DY z>;t0^Rp9p;x(&bBjld>A;d`aVh^8?w{yvyi00(&@1@p^!D7p0(z-95KleYLm@X6hJ z7)xMY=*T>SM*nVUMKDIak z@(;67U2HxXdkqc?E)+^JT%wlDo5n)(5G6-am*QaW>EwRKFD4+g1xU%>ZSa?j*w>BN z(-h>Am+xWQ^|5c@#zd8u;{07(?KJMU^G59$y52uC%om!C*gqTGU0F76B)1Lws--A5 zcGB=)XEy(%t@f*sc<#{gW^;!Pd!WTek~?{o7&kN3{*li1au0HP(Sw*>>@RHoiDvUF zHuHxs+PHoG&gP$t{f`VDx^R~KJ$p)&zqFeetK9xVbM31H>ReI~m$|ql1^S>i1-uf; z4cyr*#AQ|7;ynUcgd>3qnLJ+wcfZlEx$6%7PPRS7^?5tKnP?Ze;p5`~3TZX@E9h7Y zk_^_!H|NlG;tz>LbT=G4GB#EyX-#EOe^jY=U*!FDd z<%zc1a!6&%52Ty1NQ%W08E8~do;sHo$ZNHo%iZdF?eap(*WdSGWr(#Pb{oa9*|0%u zTE1#a{?>}ExH0@qrlB)_a8-k@YKF0kT=&g?*qHHR3w8drP&0WSEg)*7zGJ_0Sio|Z zTuld4|NAWn?x1T?8sBI^eExtNx;YpA&^msL1^sy=A~7wY2a=GoZa6Kwucv*ir#I93(lhbIr$j)jMJ zOYIz}NjM_n<$5DN)t?=FY~@1y?{x_3mY%G2xM7Qv>n$%n4(cDXAbA~G-4Y5fvB$q| z0c`+(^q~@^p^%7G}mr4{O;g{ z*t2&3?Pha6mf*PIpJ~3}v+-9A$(cT3-1S-(^D|ZMEF1GP_)d8U8(O7<2mr*x%76~CQEtAqd1u&?&k4Y zY#n!6Cw|z1+t@J7O~>^CB;8bLuP(-)fKK$<%%8}E+T=BxPk8~Ss|V?sGw}t~G-Cgt zxVR5v;nIU#&>omQ=_COZ$B$wBKr?MBYcUOU;!lE_j*mzPRKdp@8!LyKU*(1M_t5&| z8Vs$!h4Ym*BVL%qvjH&zf5pyp0{TvhW!dm!0hySPMsEpoBI?9YXPB_6^k;A^xCIlG zi;I~s_C+j>q?3G8jt+vAA2`I;BCNE!Y=b=S5p~msr&4IWLI1Ybx@sd^k^TW$8e{9+ zo0LvN3_SOXGM6y-W*N56owf-fbL-q0Bz&@TXn6B+a|qFE-%tY4YZ;^0udq&A^R(y{ zUd)X5AkHn3x&mnZTot=2E_l-qv5;L|jBW5uDCZ?S4|Epc2N{P%_yo}YPTm49=FgSF zN2lb#wB_dFu6!u{X$eDwS^$9(JZaFJMyUD9#rf)hXLHJe{Drgs!= z!6DT?8?=S^5fYR?!gsh1dN8~KDmDBRY*P3UDC_WIcspTS>RwlY#R*qW4Xj&y3%e8t zepKN@3LPHEn<6?WFOm-iI@s7=Jyk4S8c3`_YCN%`7!^d^PQ>j*+)l*pMBEO<9YmbK z1=S9Zc;qed$dp)N;(;e0pL_TH4-`K%w`ywT&BeEs&X{3Xb@QHF{bbGeRy?_KRk8|T z#dE&%_=@0@D~)eHxq5o>3`iH`>qYgSVRIOb_7`orxzH~gY_c?{OLkk9QJnRN-67ku z(8iL2bfC>}7+I<<8*MD9HYeMlhgDk++fY(%V{A^N!q#t?5@)_Hxn;@JC66q*QEIdg z+7x7gE-A>dx}+e-p+w3QWT7r8$nmym=3)g=X4CriZ|^831^Ab+4s3i4T5ifG7sT~d(G>5_tMKxspEvxa5BQ;ms+ zBMOTwu56T^tG4)?1A_;%rY=uzD8#UBEWKNyy0!;7zhHwrw&JAiKsFTC+T7}fzQ z=t08Gm-HIdir#+Udjfd=5#K+>-#Ywd{|8{5fNiw*8wf2j@V08aHTZr6fA`{#PD^rb zn-WGu)4;h2w3Xu9i$6F1#^AmN>4p1k;CK3lMXw8Or1#uX!#Ik+efY}-CGz*u;n zf8vRzXC|*aXH)|To^P#x_%`F=RVNab?^uy-%6FSRi~eSA-l);8G5O{k!!-Wn{>49h zuyOkoV~*JA5edltg;xJOtG|1c;z_Q0+#dDhBkJY&OV*(O{dCIJ_@?HG z!Z=3ty)N^~m{)glY|`E%`DxR%mzt{oxbfH79nPE-?O7?>Q~gQ%E9{?_W!SGp+Z2m7 zw98T5`DyE&S_>EECV8_VV{V03|6KG>g&nCkiF2AU%`m1-;|IRR^L0F*a{M>Gyqq8M z3$K9B&dvs3M~@zzpPye)P*7M{2=;ot-s0k7pU*dS>eO3rz4f-+ZYwJ*lknwkqkM`{ z{$&H5@$bv!#*}iy4Mgb;X|>mGm@=jOi&M(KJf-}ODdpw-cSre@FPBgGVtHmmTJ5zP zZoRd9#;xTuZ!Q1Yt>xwX_qFm{XO`bOqdc=At@hdt*wHzLH{bA%H@sf{8}Bvpy+#gB z$I~0qYOmdppYJWm_m0o^dh)$q{_}YA$9wY&yqOJYwbyPaEc8w&^m+=tlM20F{+r}2 z^mq#=crzQ)YOmb@ZR#-GxrW6WR*KSZd_H#Zn<)3>1 zTVXr|(coq%pJt4oW|U)3Oq*8DYL?I_cZ#f&Amfek5b*JkacrJxC$^D zk{t-O&W!Q4+ahKJn7d?LesZ*ys9=~q(_#4nURYo;HXp`~ar#W~|^>P3{veGZ+ z&K0V=tn7X1jW=HE)$K+3lWwaUz*8q-4ZpzS_h0~3F8@k-DV`PQ237g_C*Y$z@kHR% z$%v}(c#il_`HyJ$#>n8gp^>3;gONtrYXGVF z1+6|Kk%-1F%RZ41zEr!rtgOD?8XnbHy!x`#@}&Uf8`j2;@s-yE@e%2$2vJirQX~IZ z@ObL`dLs2s=L>!H)(m?3T%OYEz8BaI53{DGZ1qvB*J@eB(p1YA>jSXz@!*$8d`dko z`FK(@6#j%?b6bLdJJwjT%ny*9>cC5xS3jv9b|>l6>kawo?LBg&w^s|C;VG*FEiZOUpT>!@)9-XTt>txj{WSw4Ah}45ID*9(PHQi#M!64<7Kah^S94bI^=wLO=X(SC zyR>|BYJg0UZM@@p|#G~<_yfAWXZ)!f0*DUJ!%J~t6 zrcbvYJXY_L9=L4h9QAl;uP$>rll>D%Udo`CsO6*aOHwFadI!t$ks}F9f5;{erBKm} zcEIA%^H21?z{TtCRl3petL;)+s@n}{uoY$Aq`va2?c;LEcCMzvdyP+EEG^Y!r8n2P z>XZA`7_6=)w;=>ckorCdfW<#AMydh0-roeO@53gr+RJLbQ!Up>^B3)_2|iHok}4ed zYgQA#<}XCEOfpo@&*?Psu^sS0&7(8ml>lgX1)Sm+Ku#v0laCz1n|h8Cy~S@-sU=R$ zN43`{MZluZ+R{f?i zR`S!}bXi+!fcjMLr+iFx1sNozQz|}gW<07t+X&-Xp~|a|Ch_VQxx+1V(0|;|*v>Ae z1C?L5mAk`xAYZ&zI*57hC@ed32zv)YX$~JxS)GwQPIm4 zlH4*3NpGsG=uMSN>jpC9f$dT}to?%igr?G`%J0K$)uZtD=~inz*ri^qSFdFOliTa$ zu%yqRFeUJxmItV>`frQxLHy6l_Wa3cp-1EK9HNAf0qN_<^)8dma(QHX`hFpN2K|t) zwEcxrpQUi+c>bE2+3D7Z?tr0LCjm-Jp@ga<*8F50ZD>TksgDtEfAtDc?c;XX`!`P4 z6jbT5*!!2W6^Jx#(uqkTm|1hEW@fTv7%0^oQsshqng1>MMdp9Mt= zo@9BZdM@a1i;9tq^40JcoJn{K&ia;Ak6hJ$!KrnFVQ9EyS<(gkX|v~Rl0Hp0IVm4q z*0#o~H7HK$&lIbmA(HUAJ`;Y5Cke0VyTh7~{Jx{KJUJ3y%1blbFY^E2B<)EU7q9A{ zgqKi>6ugAHn1Yw|UEMx&=GFL<^y^U*8RN~InWR_Z!~D{yGmNzP>iY7l`X})zdgON1 ztdn0?uUC?PG6+ihu;{a@&RzAGS3MdogIr_v(L;w09o6=VvDKjgs30hIKJd-38Tqip zhweWgRRREXTFO45wgKo4N$ny*r16D@jpz=mkE*HaVgppTjNo)xt7oVQ`LNi>;m)XX z5!~6?M5*)>D;r?!8&oSkvz#cOZ?J~*mR3`}SC@JYuLA;e{m=+I>zc zF=$9k*kzUTCsU(d{iM$y8mS@WZetKAN&Hif)Q9>#^<^3JWR1sqGo^cXx~9gj=5vUw zv6ccrD-M-b_h*Vvy?QJR|L(UH{VR4_vAuWz;Uzrm$jmsS@DZR$Fx78{*GLhwJ#}lZ?GHLv_8A(t3k0 zrB*RDS6!odmKmSd_w7A);iTmrSkbwXNFAGNUsgxv+A*`@@*;^`N9DTBiplF$n~d-= zCt0F;kblV%qH!x2mlSF;xwwF_CiIyw93(0#uMWY19TB+dErXG?@H@jC-*n3#g zlJwMNNyptf>{d~>6$D!`_qkNRV^+Y8>7|ADRKnb`WIghU(TD!oPx4NIj`Rg`fkK5E6(dyURv zv2^g@NWId69Jq`mNSxA80FS~l(zg!EyGP556-leM%rM%DqS?kZk;p#tk+@d;EWK%E zOcATf*jZ7H?u?xE9IUumn_U(4Sn{c3X0?9k$B6W*cvzs@awq9oHw*T{1RK(plfP!mH=tR&jAEES6D2a<&}J zN{KK6!U86(7*{aGaxQOXEUZH{D-u?LFu5Srt(=1u1+S2$q_x%aQ@czR$wt!5P7}cdp$(YxgEh1hk;3bw6PJ~ivC1Ocy!*a+)lWUudb7hH; zskXj8H6bbUX%Q|a2ys{Ot>zhm`_(hypM6(O-imEyXsaj#v(>r-SxO2NWma1 zE+!|K;yhO@#TT}v=D<=Kosfy7%;VisVdP6@%ql&!hck(?1|G9rC1}WR$66kqheEB0H^= z3HdqEsO*;+i6-MvJ;I2>ElIdK22H2TW5rLJSj+QP-IKAHY}JvFrdmT<{q#4#k};U3 zB^e>2oEdLsMw^+jW@e;$hZUE~(UVc693dHFN*XfTGUH3MDLSn=XbRO=xvG^AnQ>)u zM!H{SOsOMEHTqTY($~rtPlb#+VwC+d!$qnWjG}!FscaAqsZi016s5*wU&Mu$N0u2R z>KL)qD@RZ|14>MlAjRsREM^3UnV}(+4|Jgw7+xzbOa{f+{^=nh^bh{YM`|1OYJDmN zX_a`3Nj_F2r~<)58FAoeqQL)C2*|h(hrSJr_;7;Kz)+7zyjGA`R$s=7dbg^8Iz*%a zO02V6D~z)OI5Wq54$8L9FU@>|N5*Ri*JPv?I2n0qDdI){(w7lP|}HUU@Ga}Aoz&XVg3UH z!*E81Wxz3vVvG?U>V11eedDN%?R&*+8dP+HD@5{3>kLK^qzADBJl~TB zqXxzdI$ofe5z07hB7P}&hP$-BwDfkaAG?tbd}00&$b%!&V+I4HuZ()ogGK&n z>34<=Z)xdZDfAhpE&o_RRZ`99QxP>wkE_m*es6=})$?rV^*d*aa#WKq4aT7U#$03> z{D@#@lmSjORQm}h`2#rlJ)rqf-&Y0_{OGUvLw^wZnj#9o0gN|XU02Pm@x1H#f#-SJ zg2R@*Xv9DA$NDB>l+|fU1C9a72z--n%)6IKL~Ll~zSm*S4Uq_rIp9{FtAa>1~522Kwj9Z0%{mQ#p5R82X-1DnS$ zW7y@wkze1yv9E{$6W>Sf_}*JtY8gC+flBceK;ctB3~p#u|5>LFM{19p;hz*&{V^oJ zl~YD1;R60R5DyWU%4a)jGY$pNs>{kL1L#buK@XsZ*cp$)>ygeEhtSTH<(_!xC=ibI zvYj8OWj*mJm&$UcEH}z>pe)x(IZebuJTqr1M~S1UvgI5pw@8jh{XB+n2(SG_abpt~KLs-G#0Vuu**r)92@IZAb z^|4B7udp1G2)dCO#xNCUUFonCYv?n2AoM@Hr5@;wI`)%JhttLH>In6Bq`Hj4%m>mU z|HFQOaN-r}3fg&?VGXqQu#w?KzNAX6yxVZA}Zys|Ok5U+ota-RQZ8Ta?f7ti`2K&Gpl>h($ literal 0 HcmV?d00001 diff --git a/docs/www/emulator/config.codekit3 b/docs/www/emulator/config.codekit3 new file mode 100644 index 000000000..50831df79 --- /dev/null +++ b/docs/www/emulator/config.codekit3 @@ -0,0 +1,2263 @@ +{ +"AAInfo": "This is a CodeKit 3 project config file. MODIFYING THE CONTENTS OF THIS FILE IS A POOR LIFE DECISION. Doing so will cause CodeKit to crash and\/or corrupt your project. I know it looks like JSON, but it is *not*. Many numbers in this file are 64-bit long long bitFlags, which JSON does not support. These numbers *cannot* be treated as discrete values and if you attempt to parse this file as standard JSON with any public JSON parser, these values will be corrupted. This file is not backwards-compatible with CodeKit 1 or 2. For more information, see https:\/\/codekitapp.com\/", +"buildSteps": [ + { + "name": "Process All Remaining Files and Folders", + "stepType": 1, + "uuidString": "7DED3132-306C-4398-A3C5-428E9D1E3683" + } + ], +"creatorBuild": "26148", +"files": { + "\/assets\/css\/main.css": { + "aP": 1, + "bl": 0, + "ft": 16, + "ma": 0, + "oA": 0, + "oAP": "\/assets\/css\/main-min.css", + "oF": 0, + "oS": 3 + }, + "\/assets\/css\/main.sass": { + "aP": 1, + "bl": 1, + "dP": 10, + "dS": 0, + "ft": 2, + "ma": 0, + "oA": 0, + "oAP": "\/assets\/css\/main.css", + "oF": 0, + "oS": 0, + "uL": 1 + }, + "\/assets\/js\/libv86.js": { + "ft": 64, + "ma": 1, + "mi": 1, + "oA": 0, + "oAP": "\/assets\/js\/libv86.min.js", + "oF": 2, + "sC": 0, + "tS": 0 + }, + "\/assets\/js\/libv86.min.js": { + "ft": 64, + "ma": 0, + "mi": 1, + "oA": 0, + "oAP": "\/assets\/js\/libv86.min-min.js", + "oF": 0, + "sC": 1, + "tS": 0 + }, + "\/assets\/js\/libv86.min.js.map": { + "cB": 0, + "ft": 8192, + "oA": 0, + "oAP": "\/assets\/js\/libv86.min.js.map", + "oF": 0 + }, + "\/bios\/bochs-bios.bin": { + "cB": 0, + "ft": 8192, + "oA": 0, + "oAP": "\/bios\/bochs-bios.bin", + "oF": 0 + }, + "\/bios\/bochs-vgabios.bin": { + "cB": 0, + "ft": 8192, + "oA": 0, + "oAP": "\/bios\/bochs-vgabios.bin", + "oF": 0 + }, + "\/bios\/seabios.bin": { + "cB": 0, + "ft": 8192, + "oA": 0, + "oAP": "\/bios\/seabios.bin", + "oF": 0 + }, + "\/bios\/vgabios.bin": { + "cB": 0, + "ft": 8192, + "oA": 0, + "oAP": "\/bios\/vgabios.bin", + "oF": 0 + }, + "\/download\/2018\/minimal_linux_live_20-Jan-2017_32-bit.iso": { + "cB": 0, + "ft": 8192, + "oA": 1, + "oAP": "\/download\/2018\/minimal_linux_live_20-Jan-2017_32-bit.iso", + "oF": 1 + }, + "\/index.html": { + "cB": 0, + "ft": 8192, + "oA": 0, + "oAP": "\/index.html", + "oF": 1 + } + }, +"hooks": [ + ], +"manualImportLinks": { + }, +"projectAttributes": { + "creationDate": 537038126, + "displayValue": "emulator", + "displayValueWasSetByUser": 0, + "iconImageName": "meme-facepalm" + }, +"projectSettings": { + "abortBuildOnError": 1, + "alwaysUseExternalServer": 0, + "animateCSSInjections": 1, + "autoBuildNewItems": 1, + "autoprefixerBrowserString": "> 1%, last 2 versions, Firefox ESR, Opera 12.1", + "babelAuxiliaryCommentAfter": "", + "babelAuxiliaryCommentBefore": "", + "babelConfigFileHandlingType": 0, + "babelCustomPluginsList": "", + "babelCustomPresetsList": "", + "babelInsertModuleIDs": 0, + "babelModuleID": "", + "babelNoComments": 0, + "babelPlugins": { + "async-generator-functions": { + "active": 0 + }, + "async-to-generator": { + "active": 0 + }, + "async-to-module-method": { + "active": 0 + }, + "class-properties": { + "active": 0 + }, + "decorators": { + "active": 0 + }, + "decorators-legacy": { + "active": 0 + }, + "do-expressions": { + "active": 0 + }, + "es2015-arrow-functions": { + "active": 0 + }, + "es2015-block-scoped-functions": { + "active": 0 + }, + "es2015-block-scoping": { + "active": 0 + }, + "es2015-classes": { + "active": 0 + }, + "es2015-computed-properties": { + "active": 0 + }, + "es2015-constants": { + "active": 0 + }, + "es2015-destructuring": { + "active": 0 + }, + "es2015-duplicate-keys": { + "active": 0 + }, + "es2015-for-of": { + "active": 0 + }, + "es2015-function-name": { + "active": 0 + }, + "es2015-literals": { + "active": 0 + }, + "es2015-modules-amd": { + "active": 0 + }, + "es2015-modules-commonjs": { + "active": 0 + }, + "es2015-modules-systemjs": { + "active": 0 + }, + "es2015-modules-umd": { + "active": 0 + }, + "es2015-object-super": { + "active": 0 + }, + "es2015-parameters": { + "active": 0 + }, + "es2015-shorthand-properties": { + "active": 0 + }, + "es2015-spread": { + "active": 0 + }, + "es2015-sticky-regex": { + "active": 0 + }, + "es2015-template-literals": { + "active": 0 + }, + "es2015-typeof-symbol": { + "active": 0 + }, + "es2015-unicode-regex": { + "active": 0 + }, + "es3-member-expression-literals": { + "active": 0 + }, + "es3-property-literals": { + "active": 0 + }, + "es5-property-mutators": { + "active": 0 + }, + "eval": { + "active": 0 + }, + "exponentiation-operator": { + "active": 0 + }, + "export-extensions": { + "active": 0 + }, + "external-helpers": { + "active": 0 + }, + "flow-comments": { + "active": 0 + }, + "flow-strip-types": { + "active": 0 + }, + "function-bind": { + "active": 0 + }, + "inline-environment-variables": { + "active": 0 + }, + "jscript": { + "active": 0 + }, + "member-expression-literals": { + "active": 0 + }, + "merge-sibling-variables": { + "active": 0 + }, + "minify-booleans": { + "active": 0 + }, + "node-env-inline": { + "active": 0 + }, + "object-assign": { + "active": 0 + }, + "object-rest-spread": { + "active": 0 + }, + "object-set-prototype-of-to-assign": { + "active": 0 + }, + "property-literals": { + "active": 0 + }, + "proto-to-assign": { + "active": 0 + }, + "react-constant-elements": { + "active": 0 + }, + "react-display-name": { + "active": 0 + }, + "react-inline-elements": { + "active": 0 + }, + "react-jsx": { + "active": 0 + }, + "react-jsx-compat": { + "active": 0 + }, + "react-jsx-self": { + "active": 0 + }, + "react-jsx-source": { + "active": 0 + }, + "regenerator": { + "active": 0 + }, + "remove-console": { + "active": 0 + }, + "remove-debugger": { + "active": 0 + }, + "runtime": { + "active": 0 + }, + "simplify-comparison-operators": { + "active": 0 + }, + "strict-mode": { + "active": 0 + }, + "syntax-async-generators": { + "active": 0 + }, + "syntax-class-properties": { + "active": 0 + }, + "syntax-decorators": { + "active": 0 + }, + "syntax-do-expressions": { + "active": 0 + }, + "syntax-export-extensions": { + "active": 0 + }, + "syntax-flow": { + "active": 0 + }, + "syntax-function-bind": { + "active": 0 + }, + "syntax-function-sent": { + "active": 0 + }, + "syntax-jsx": { + "active": 0 + }, + "syntax-object-rest-spread": { + "active": 0 + }, + "undeclared-variables-check": { + "active": 0 + }, + "undefined-to-void": { + "active": 0 + } + }, + "babelPresetType": 193, + "babelRetainLines": 0, + "bowerAbbreviatedPath": "bower_components", + "bowerAutoCreateInfoFile": 1, + "bowerInstallDevDependencies": 0, + "bowerSaveDependencies": 1, + "bowerSaveDevDependencies": 0, + "bowerUseExactVersion": 0, + "browserRefreshDelay": 0, + "buildFolderActive": 0, + "buildFolderName": "build", + "cleanBuild": 1, + "coffeeLintFlags2": { + "arrow_spacing": { + "active": 0, + "flagValue": -1 + }, + "camel_case_classes": { + "active": 1, + "flagValue": -1 + }, + "colon_assignment_spacing": { + "active": 0, + "flagValue": 1 + }, + "cyclomatic_complexity": { + "active": 0, + "flagValue": 10 + }, + "duplicate_key": { + "active": 1, + "flagValue": -1 + }, + "empty_constructor_needs_parens": { + "active": 0, + "flagValue": -1 + }, + "ensure_comprehensions": { + "active": 1, + "flagValue": -1 + }, + "indentation": { + "active": 1, + "flagValue": 2 + }, + "line_endings": { + "active": 0, + "flagValue": 0 + }, + "max_line_length": { + "active": 0, + "flagValue": 150 + }, + "missing_fat_arrows": { + "active": 0, + "flagValue": -1 + }, + "newlines_after_classes": { + "active": 0, + "flagValue": 3 + }, + "no_backticks": { + "active": 1, + "flagValue": -1 + }, + "no_debugger": { + "active": 1, + "flagValue": -1 + }, + "no_empty_functions": { + "active": 0, + "flagValue": -1 + }, + "no_empty_param_list": { + "active": 0, + "flagValue": -1 + }, + "no_implicit_braces": { + "active": 1, + "flagValue": -1 + }, + "no_implicit_parens": { + "active": 0, + "flagValue": -1 + }, + "no_interpolation_in_single_quotes": { + "active": 0, + "flagValue": -1 + }, + "no_nested_string_interpolation": { + "active": 1, + "flagValue": -1 + }, + "no_plusplus": { + "active": 0, + "flagValue": -1 + }, + "no_private_function_fat_arrows": { + "active": 1, + "flagValue": -1 + }, + "no_stand_alone_at": { + "active": 1, + "flagValue": -1 + }, + "no_tabs": { + "active": 1, + "flagValue": -1 + }, + "no_this": { + "active": 0, + "flagValue": -1 + }, + "no_throwing_strings": { + "active": 1, + "flagValue": -1 + }, + "no_trailing_semicolons": { + "active": 1, + "flagValue": -1 + }, + "no_trailing_whitespace": { + "active": 1, + "flagValue": -1 + }, + "no_unnecessary_double_quotes": { + "active": 0, + "flagValue": -1 + }, + "no_unnecessary_fat_arrows": { + "active": 1, + "flagValue": -1 + }, + "non_empty_constructor_needs_parens": { + "active": 0, + "flagValue": -1 + }, + "prefer_english_operator": { + "active": 0, + "flagValue": -1 + }, + "space_operators": { + "active": 0, + "flagValue": -1 + }, + "spacing_after_comma": { + "active": 1, + "flagValue": -1 + } + }, + "esLintConfigFileHandlingType": 0, + "esLintECMAVersion": 7, + "esLintEnvironmentsMask": 1, + "esLintRules": { + "accessor-pairs": { + "active": 0, + "optionString": "{'setWithoutGet': true, 'getWithoutSet': false}" + }, + "array-bracket-newline": { + "active": 0, + "optionString": "{'multiline': true, 'minItems': null}" + }, + "array-bracket-spacing": { + "active": 0, + "optionString": "'never', {'singleValue': false, 'objectsInArrays': false, 'arraysInArrays': false}" + }, + "array-callback-return": { + "active": 0, + "optionString": "" + }, + "array-element-newline": { + "active": 0, + "optionString": "'always'" + }, + "arrow-body-style": { + "active": 0, + "optionString": "'as-needed', {'requireReturnForObjectLiteral': false}" + }, + "arrow-parens": { + "active": 0, + "optionString": "'always'" + }, + "arrow-spacing": { + "active": 0, + "optionString": "{'before': true, 'after': true}" + }, + "block-scoped-var": { + "active": 0, + "optionString": "" + }, + "block-spacing": { + "active": 0, + "optionString": "'always'" + }, + "brace-style": { + "active": 0, + "optionString": "'1tbs', {'allowSingleLine': true}" + }, + "callback-return": { + "active": 0, + "optionString": "['callback', 'cb', 'next']" + }, + "camelcase": { + "active": 0, + "optionString": "{'properties': 'always'}" + }, + "capitalized-comments": { + "active": 0, + "optionString": "'always', {'ignoreInlineComments': false, 'ignoreConsecutiveComments': false}" + }, + "class-methods-use-this": { + "active": 0, + "optionString": "{'exceptMethods': []}" + }, + "comma-dangle": { + "active": 1, + "optionString": "'never'" + }, + "comma-spacing": { + "active": 0, + "optionString": "{'before': false, 'after': true}" + }, + "comma-style": { + "active": 0, + "optionString": "'last'" + }, + "complexity": { + "active": 0, + "optionString": "20" + }, + "computed-property-spacing": { + "active": 0, + "optionString": "'never'" + }, + "consistent-return": { + "active": 0, + "optionString": "{'treatUndefinedAsUnspecified': false}" + }, + "consistent-this": { + "active": 0, + "optionString": "'that'" + }, + "constructor-super": { + "active": 1, + "optionString": "" + }, + "curly": { + "active": 0, + "optionString": "'all'" + }, + "default-case": { + "active": 0, + "optionString": "" + }, + "dot-location": { + "active": 0, + "optionString": "'object'" + }, + "dot-notation": { + "active": 0, + "optionString": "{'allowKeywords': false}" + }, + "eol-last": { + "active": 0, + "optionString": "'always'" + }, + "eqeqeq": { + "active": 0, + "optionString": "'always', {'null': 'always'}" + }, + "for-direction": { + "active": 0, + "optionString": "" + }, + "func-call-spacing": { + "active": 0, + "optionString": "'never'" + }, + "func-name-matching": { + "active": 0, + "optionString": "'always', {'includeCommonJSModuleExports': false}" + }, + "func-names": { + "active": 0, + "optionString": "'always'" + }, + "func-style": { + "active": 0, + "optionString": "'expression'" + }, + "function-paren-newline": { + "active": 0, + "optionString": "'multiline'" + }, + "generator-star-spacing": { + "active": 0, + "optionString": "{'before': true, 'after': false}" + }, + "getter-return": { + "active": 0, + "optionString": "{'allowImplicit': false}" + }, + "global-require": { + "active": 0, + "optionString": "" + }, + "guard-for-in": { + "active": 0, + "optionString": "" + }, + "handle-callback-err": { + "active": 0, + "optionString": "'err'" + }, + "id-blacklist": { + "active": 0, + "optionString": "'data', 'err', 'e', 'cb', 'callback'" + }, + "id-length": { + "active": 0, + "optionString": "{'min': 2, 'max': 1000, 'properties': 'always', 'exceptions': ['x', 'i', 'y']}" + }, + "id-match": { + "active": 0, + "optionString": "'^[a-z]+([A-Z][a-z]+)*$', {'properties': false, 'onlyDeclarations': true}" + }, + "indent": { + "active": 0, + "optionString": "4, {'SwitchCase': 0, 'VariableDeclarator': 1, 'outerIIFEBody': 1, }" + }, + "init-declarations": { + "active": 0, + "optionString": "'always', {'ignoreForLoopInit': true}" + }, + "jsx-quotes": { + "active": 0, + "optionString": "'prefer-double'" + }, + "key-spacing": { + "active": 0, + "optionString": "{'singleLine': {'beforeColon': false, 'afterColon': true, 'mode':'strict'}, 'multiLine': {'beforeColon': false, 'afterColon': true, 'align': 'value', 'mode':'minimum'}}" + }, + "keyword-spacing": { + "active": 0, + "optionString": "{'before': true, 'after': true, 'overrides': {}}" + }, + "line-comment-position": { + "active": 0, + "optionString": "{'position': 'above'}" + }, + "linebreak-style": { + "active": 0, + "optionString": "'unix'" + }, + "lines-around-comment": { + "active": 0, + "optionString": "{'beforeBlockComment': true}" + }, + "lines-between-class-members": { + "active": 0, + "optionString": "'always', {exceptAfterSingleLine: false}" + }, + "max-depth": { + "active": 0, + "optionString": "{'max': 4}" + }, + "max-len": { + "active": 0, + "optionString": "{'code': 80, 'comments': 80, 'tabWidth': 4, 'ignoreUrls': true, 'ignoreStrings': true, 'ignoreTemplateLiterals': true, 'ignoreRegExpLiterals': true}" + }, + "max-lines": { + "active": 0, + "optionString": "{'max': 300, 'skipBlankLines': true, 'skipComments': true}" + }, + "max-nested-callbacks": { + "active": 0, + "optionString": "{'max': 10}" + }, + "max-params": { + "active": 0, + "optionString": "{'max': 4}" + }, + "max-statements": { + "active": 0, + "optionString": "{'max': 10}, {'ignoreTopLevelFunctions': true}" + }, + "max-statements-per-line": { + "active": 0, + "optionString": "{'max': 1}" + }, + "multiline-comment-style": { + "active": 0, + "optionString": "'starred-block'" + }, + "multiline-ternary": { + "active": 0, + "optionString": "'always'" + }, + "new-cap": { + "active": 0, + "optionString": "{'newIsCap': true, 'capIsNew': true, 'newIsCapExceptions': [], 'capIsNewExceptions': ['Array', 'Boolean', 'Date', 'Error', 'Function', 'Number', 'Object', 'RegExp', 'String', 'Symbol'], 'properties': true}" + }, + "new-parens": { + "active": 0, + "optionString": "" + }, + "newline-per-chained-call": { + "active": 0, + "optionString": "{'ignoreChainWithDepth': 2}" + }, + "no-alert": { + "active": 0, + "optionString": "" + }, + "no-array-constructor": { + "active": 0, + "optionString": "" + }, + "no-await-in-loop": { + "active": 0, + "optionString": "" + }, + "no-bitwise": { + "active": 0, + "optionString": "{'allow': ['~'], 'int32Hint': true}" + }, + "no-buffer-constructor": { + "active": 0, + "optionString": "" + }, + "no-caller": { + "active": 0, + "optionString": "" + }, + "no-case-declarations": { + "active": 1, + "optionString": "" + }, + "no-catch-shadow": { + "active": 0, + "optionString": "" + }, + "no-class-assign": { + "active": 1, + "optionString": "" + }, + "no-compare-neg-zero": { + "active": 0, + "optionString": "" + }, + "no-cond-assign": { + "active": 1, + "optionString": "'except-parens'" + }, + "no-confusing-arrow": { + "active": 0, + "optionString": "{'allowParens': false}" + }, + "no-console": { + "active": 1, + "optionString": "{'allow': ['warn', 'error']}" + }, + "no-const-assign": { + "active": 1, + "optionString": "" + }, + "no-constant-condition": { + "active": 1, + "optionString": "{'checkLoops': true}" + }, + "no-continue": { + "active": 0, + "optionString": "" + }, + "no-control-regex": { + "active": 1, + "optionString": "" + }, + "no-debugger": { + "active": 1, + "optionString": "" + }, + "no-delete-var": { + "active": 1, + "optionString": "" + }, + "no-div-regex": { + "active": 0, + "optionString": "" + }, + "no-dupe-args": { + "active": 1, + "optionString": "" + }, + "no-dupe-class-members": { + "active": 1, + "optionString": "" + }, + "no-dupe-keys": { + "active": 1, + "optionString": "" + }, + "no-duplicate-imports": { + "active": 0, + "optionString": "{'includeExports': false}" + }, + "no-else-return": { + "active": 0, + "optionString": "" + }, + "no-empty": { + "active": 1, + "optionString": "{'allowEmptyCatch': false}" + }, + "no-empty-character-class": { + "active": 1, + "optionString": "" + }, + "no-empty-function": { + "active": 0, + "optionString": "{'allow': []}" + }, + "no-empty-pattern": { + "active": 1, + "optionString": "" + }, + "no-eq-null": { + "active": 0, + "optionString": "" + }, + "no-eval": { + "active": 0, + "optionString": "{'allowIndirect': false}" + }, + "no-ex-assign": { + "active": 1, + "optionString": "" + }, + "no-extend-native": { + "active": 0, + "optionString": "{'exceptions': []}" + }, + "no-extra-bind": { + "active": 0, + "optionString": "" + }, + "no-extra-boolean-cast": { + "active": 1, + "optionString": "" + }, + "no-extra-labels": { + "active": 0, + "optionString": "" + }, + "no-extra-parens": { + "active": 0, + "optionString": "'all', {'conditionalAssign': false, 'returnAssign': false, 'nestedBinaryExpressions': false, 'ignoreJSX': 'none', 'enforceForArrowConditionals': false}" + }, + "no-extra-semi": { + "active": 1, + "optionString": "" + }, + "no-fallthrough": { + "active": 1, + "optionString": "" + }, + "no-floating-decimal": { + "active": 0, + "optionString": "" + }, + "no-func-assign": { + "active": 1, + "optionString": "" + }, + "no-global-assign": { + "active": 1, + "optionString": "{'exceptions': []}" + }, + "no-implicit-coercion": { + "active": 0, + "optionString": "{'boolean': true, 'number': true, 'string': true, 'allow': []}" + }, + "no-implicit-globals": { + "active": 0, + "optionString": "" + }, + "no-implied-eval": { + "active": 0, + "optionString": "" + }, + "no-inline-comments": { + "active": 0, + "optionString": "" + }, + "no-inner-declarations": { + "active": 1, + "optionString": "'functions'" + }, + "no-invalid-regexp": { + "active": 1, + "optionString": "{'allowConstructorFlags': ['u', 'y']}" + }, + "no-invalid-this": { + "active": 0, + "optionString": "" + }, + "no-irregular-whitespace": { + "active": 1, + "optionString": "{'skipStrings': true, 'skipComments': false, 'skipRegExps': true, 'skipTemplates': true}" + }, + "no-iterator": { + "active": 0, + "optionString": "" + }, + "no-label-var": { + "active": 0, + "optionString": "" + }, + "no-labels": { + "active": 0, + "optionString": "{'allowLoop': false, 'allowSwitch': false}" + }, + "no-lone-blocks": { + "active": 0, + "optionString": "" + }, + "no-lonely-if": { + "active": 0, + "optionString": "" + }, + "no-loop-func": { + "active": 0, + "optionString": "" + }, + "no-magic-numbers": { + "active": 0, + "optionString": "{'ignore': [], 'ignoreArrayIndexes': true, 'enforceConst': false, 'detectObjects': false}" + }, + "no-mixed-operators": { + "active": 0, + "optionString": "{'groups': [['+', '-', '*', '\/', '%', '**'], ['&', '|', '^', '~', '<<', '>>', '>>>'], ['==', '!=', '===', '!==', '>', '>=', '<', '<='], ['&&', '||'], ['in', 'instanceof']], 'allowSamePrecedence': true}" + }, + "no-mixed-requires": { + "active": 0, + "optionString": "{'grouping': false, 'allowCall': false }" + }, + "no-mixed-spaces-and-tabs": { + "active": 0, + "optionString": "" + }, + "no-multi-assign": { + "active": 0, + "optionString": "" + }, + "no-multi-spaces": { + "active": 0, + "optionString": "{'exceptions': {'Property': true, 'BinaryExpression': false, 'VariableDeclarator': false, 'ImportDeclaration': false}}" + }, + "no-multi-str": { + "active": 0, + "optionString": "" + }, + "no-multiple-empty-lines": { + "active": 0, + "optionString": "{'max': 2, 'maxBOF': 2, 'maxEOF': 2}" + }, + "no-negated-condition": { + "active": 0, + "optionString": "" + }, + "no-nested-ternary": { + "active": 0, + "optionString": "" + }, + "no-new": { + "active": 0, + "optionString": "" + }, + "no-new-func": { + "active": 0, + "optionString": "" + }, + "no-new-object": { + "active": 0, + "optionString": "" + }, + "no-new-require": { + "active": 0, + "optionString": "" + }, + "no-new-symbol": { + "active": 1, + "optionString": "" + }, + "no-new-wrappers": { + "active": 0, + "optionString": "" + }, + "no-obj-calls": { + "active": 1, + "optionString": "" + }, + "no-octal": { + "active": 1, + "optionString": "" + }, + "no-octal-escape": { + "active": 0, + "optionString": "" + }, + "no-param-reassign": { + "active": 0, + "optionString": "{'props': false}" + }, + "no-path-concat": { + "active": 0, + "optionString": "" + }, + "no-plusplus": { + "active": 0, + "optionString": "{'allowForLoopAfterthoughts': false}" + }, + "no-process-env": { + "active": 0, + "optionString": "" + }, + "no-process-exit": { + "active": 0, + "optionString": "" + }, + "no-proto": { + "active": 0, + "optionString": "" + }, + "no-prototype-builtins": { + "active": 0, + "optionString": "" + }, + "no-redeclare": { + "active": 1, + "optionString": "{'builtinGlobals': false}" + }, + "no-regex-spaces": { + "active": 1, + "optionString": "" + }, + "no-restricted-globals": { + "active": 0, + "optionString": "'event', 'fdescribe'" + }, + "no-restricted-imports": { + "active": 0, + "optionString": "" + }, + "no-restricted-modules": { + "active": 0, + "optionString": "" + }, + "no-restricted-properties": { + "active": 0, + "optionString": "[{'object': 'disallowedObjectName', 'property': 'disallowedPropertyName'}, {'object': 'disallowedObjectName', 'property': 'anotherDisallowedPropertyName', 'message': 'Please use allowedObjectName.allowedPropertyName.'}]" + }, + "no-restricted-syntax": { + "active": 0, + "optionString": "'FunctionExpression', 'WithStatement'" + }, + "no-return-assign": { + "active": 0, + "optionString": "'except-parens'" + }, + "no-return-await": { + "active": 0, + "optionString": "" + }, + "no-script-url": { + "active": 0, + "optionString": "" + }, + "no-self-assign": { + "active": 1, + "optionString": "{'props': false}" + }, + "no-self-compare": { + "active": 0, + "optionString": "" + }, + "no-sequences": { + "active": 0, + "optionString": "" + }, + "no-shadow": { + "active": 0, + "optionString": "{'builtinGlobals': false, 'hoist': 'functions', 'allow': []}" + }, + "no-shadow-restricted-names": { + "active": 0, + "optionString": "" + }, + "no-sparse-arrays": { + "active": 1, + "optionString": "" + }, + "no-sync": { + "active": 0, + "optionString": "{'allowAtRootLevel': false}" + }, + "no-tabs": { + "active": 0, + "optionString": "" + }, + "no-template-curly-in-string": { + "active": 0, + "optionString": "" + }, + "no-ternary": { + "active": 0, + "optionString": "" + }, + "no-this-before-super": { + "active": 1, + "optionString": "" + }, + "no-throw-literal": { + "active": 0, + "optionString": "" + }, + "no-trailing-spaces": { + "active": 0, + "optionString": "{'skipBlankLines': false, 'ignoreComments': false}" + }, + "no-undef": { + "active": 1, + "optionString": "{'typeof': false}" + }, + "no-undef-init": { + "active": 0, + "optionString": "" + }, + "no-undefined": { + "active": 0, + "optionString": "" + }, + "no-underscore-dangle": { + "active": 0, + "optionString": "{'allow': [], 'allowAfterThis': false, 'allowAfterSuper': false, 'enforceInMethodNames': false}" + }, + "no-unexpected-multiline": { + "active": 1, + "optionString": "" + }, + "no-unmodified-loop-condition": { + "active": 0, + "optionString": "" + }, + "no-unneeded-ternary": { + "active": 0, + "optionString": "{'defaultAssignment': true}" + }, + "no-unreachable": { + "active": 1, + "optionString": "" + }, + "no-unsafe-finally": { + "active": 1, + "optionString": "" + }, + "no-unsafe-negation": { + "active": 1, + "optionString": "" + }, + "no-unused-expressions": { + "active": 0, + "optionString": "{'allowShortCircuit': false, 'allowTernary': false, 'allowTaggedTemplates': false}" + }, + "no-unused-labels": { + "active": 1, + "optionString": "" + }, + "no-unused-vars": { + "active": 1, + "optionString": "{'vars': 'all', 'args': 'after-used', 'caughtErrors': 'none', 'ignoreRestSiblings': false}" + }, + "no-use-before-define": { + "active": 0, + "optionString": "{'functions': true, 'classes': true, 'variables': true}" + }, + "no-useless-call": { + "active": 0, + "optionString": "" + }, + "no-useless-computed-key": { + "active": 0, + "optionString": "" + }, + "no-useless-concat": { + "active": 0, + "optionString": "" + }, + "no-useless-constructor": { + "active": 0, + "optionString": "" + }, + "no-useless-escape": { + "active": 0, + "optionString": "" + }, + "no-useless-rename": { + "active": 0, + "optionString": "{'ignoreDestructuring': false, 'ignoreImport': false, 'ignoreExport': false}" + }, + "no-useless-return": { + "active": 0, + "optionString": "" + }, + "no-var": { + "active": 0, + "optionString": "" + }, + "no-void": { + "active": 0, + "optionString": "" + }, + "no-warning-comments": { + "active": 0, + "optionString": "{'terms': ['todo', 'fixme', 'xxx'], 'location': 'start'}" + }, + "no-whitespace-before-property": { + "active": 0, + "optionString": "" + }, + "no-with": { + "active": 0, + "optionString": "" + }, + "nonblock-statement-body-position": { + "active": 0, + "optionString": "'beside'" + }, + "object-curly-newline": { + "active": 0, + "optionString": "{'ObjectExpression': {'multiline': true}, 'ObjectPattern': {'multiline': true}}" + }, + "object-curly-spacing": { + "active": 0, + "optionString": "'never'" + }, + "object-property-newline": { + "active": 0, + "optionString": "{'allowMultiplePropertiesPerLine': true}" + }, + "object-shorthand": { + "active": 0, + "optionString": "'always', {'avoidQuotes': false, 'ignoreConstructors': false}" + }, + "one-var": { + "active": 0, + "optionString": "'always'" + }, + "one-var-declaration-per-line": { + "active": 0, + "optionString": "'always'" + }, + "operator-assignment": { + "active": 0, + "optionString": "'always'" + }, + "operator-linebreak": { + "active": 0, + "optionString": "'after', {'overrides': {'?': 'after', '+=': 'none'}}" + }, + "padded-blocks": { + "active": 0, + "optionString": "{'blocks': 'always', 'switches': 'always', 'classes': 'always'}" + }, + "padding-line-between-statements": { + "active": 0, + "optionString": "{blankLine: 'always', prev:'*', next:'return'}" + }, + "prefer-arrow-callback": { + "active": 0, + "optionString": "" + }, + "prefer-const": { + "active": 0, + "optionString": "{'destructuring': 'any', 'ignoreReadBeforeAssign': false}" + }, + "prefer-destructuring": { + "active": 0, + "optionString": "{'array': true, 'object': true}, {'enforceForRenamedProperties': false}" + }, + "prefer-numeric-literals": { + "active": 0, + "optionString": "" + }, + "prefer-promise-reject-errors": { + "active": 0, + "optionString": "{'allowEmptyReject': false}" + }, + "prefer-rest-params": { + "active": 0, + "optionString": "" + }, + "prefer-spread": { + "active": 0, + "optionString": "" + }, + "prefer-template": { + "active": 0, + "optionString": "" + }, + "quote-props": { + "active": 0, + "optionString": "'always'" + }, + "quotes": { + "active": 0, + "optionString": "'double', {'avoidEscape': true, 'allowTemplateLiterals': true}" + }, + "radix": { + "active": 0, + "optionString": "'always'" + }, + "require-await": { + "active": 0, + "optionString": "" + }, + "require-jsdoc": { + "active": 0, + "optionString": "{'require': {'FunctionDeclaration': true, 'MethodDefinition': false, 'ClassDeclaration': false, 'ArrowFunctionExpression': false}}" + }, + "require-yield": { + "active": 1, + "optionString": "" + }, + "rest-spread-spacing": { + "active": 0, + "optionString": "'never'" + }, + "semi": { + "active": 0, + "optionString": "'always', {'omitLastInOneLineBlock': false}" + }, + "semi-spacing": { + "active": 0, + "optionString": "{'before': false, 'after': true}" + }, + "semi-style": { + "active": 0, + "optionString": "'last'" + }, + "sort-imports": { + "active": 0, + "optionString": "{'ignoreCase': false, 'ignoreMemberSort': true, 'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single']}" + }, + "sort-keys": { + "active": 0, + "optionString": "'asc', {'caseSensitive': true, 'natural': false}" + }, + "sort-vars": { + "active": 0, + "optionString": "{'ignoreCase': false}" + }, + "space-before-blocks": { + "active": 0, + "optionString": "{'functions': 'always', 'keywords': 'always', 'classes': 'always'}" + }, + "space-before-function-paren": { + "active": 0, + "optionString": "{'anonymous': 'always', 'named': 'never'}" + }, + "space-in-parens": { + "active": 0, + "optionString": "'never', {'exceptions': []}" + }, + "space-infix-ops": { + "active": 0, + "optionString": "{'int32Hint': false}" + }, + "space-unary-ops": { + "active": 0, + "optionString": "{'words': true, 'nonwords': false, 'overrides': {}}" + }, + "spaced-comment": { + "active": 0, + "optionString": "'always', {'line': {'markers': ['\/'], 'exceptions': ['-', '+']}, 'block': {'markers': ['!'], 'exceptions': ['*'], 'balanced': false}}" + }, + "strict": { + "active": 0, + "optionString": "'safe'" + }, + "switch-colon-spacing": { + "active": 0, + "optionString": "{'after': true, 'before': false}" + }, + "symbol-description": { + "active": 0, + "optionString": "" + }, + "template-curly-spacing": { + "active": 0, + "optionString": "'never'" + }, + "template-tag-spacing": { + "active": 0, + "optionString": "'never'" + }, + "unicode-bom": { + "active": 0, + "optionString": "'never'" + }, + "use-isnan": { + "active": 1, + "optionString": "" + }, + "valid-jsdoc": { + "active": 0, + "optionString": "{'prefer': {'return': 'returns'}, 'requireReturn': true, 'requireReturnDescription': true, 'requireReturnType': true, 'requireParamDescription': true}" + }, + "valid-typeof": { + "active": 1, + "optionString": "{'requireStringLiterals': true}" + }, + "vars-on-top": { + "active": 0, + "optionString": "" + }, + "wrap-iife": { + "active": 0, + "optionString": "'outside'" + }, + "wrap-regex": { + "active": 0, + "optionString": "" + }, + "yield-star-spacing": { + "active": 0, + "optionString": "{'before': false, 'after': true}" + }, + "yoda": { + "active": 0, + "optionString": "'never', {'exceptRange': false, 'onlyEquality': false}" + } + }, + "esLintSourceType": 0, + "externalServerAddress": "http:\/\/localhost:8888", + "gitIgnoreBuildFolder": 1, + "hideConfigFile": 0, + "jsCheckerReservedNamesString": "", + "jsHintFlags2": { + "asi": { + "active": 0, + "flagValue": -1 + }, + "bitwise": { + "active": 1, + "flagValue": -1 + }, + "boss": { + "active": 0, + "flagValue": -1 + }, + "browser": { + "active": 1, + "flagValue": -1 + }, + "browserify": { + "active": 0, + "flagValue": -1 + }, + "camelcase": { + "active": 0, + "flagValue": -1 + }, + "couch": { + "active": 0, + "flagValue": -1 + }, + "curly": { + "active": 1, + "flagValue": -1 + }, + "debug": { + "active": 0, + "flagValue": -1 + }, + "devel": { + "active": 0, + "flagValue": -1 + }, + "dojo": { + "active": 0, + "flagValue": -1 + }, + "elision": { + "active": 1, + "flagValue": -1 + }, + "eqeqeq": { + "active": 1, + "flagValue": -1 + }, + "eqnull": { + "active": 0, + "flagValue": -1 + }, + "es3": { + "active": 0, + "flagValue": -1 + }, + "esnext": { + "active": 0, + "flagValue": -1 + }, + "evil": { + "active": 0, + "flagValue": -1 + }, + "expr": { + "active": 0, + "flagValue": -1 + }, + "forin": { + "active": 0, + "flagValue": -1 + }, + "freeze": { + "active": 1, + "flagValue": -1 + }, + "funcscope": { + "active": 0, + "flagValue": -1 + }, + "futurehostile": { + "active": 0, + "flagValue": -1 + }, + "globalstrict": { + "active": 0, + "flagValue": -1 + }, + "immed": { + "active": 0, + "flagValue": -1 + }, + "indent": { + "active": 0, + "flagValue": 4 + }, + "iterator": { + "active": 0, + "flagValue": -1 + }, + "jasmine": { + "active": 0, + "flagValue": -1 + }, + "jquery": { + "active": 1, + "flagValue": -1 + }, + "lastsemic": { + "active": 0, + "flagValue": -1 + }, + "latedef": { + "active": 1, + "flagValue": -1 + }, + "laxbreak": { + "active": 0, + "flagValue": -1 + }, + "laxcomma": { + "active": 0, + "flagValue": -1 + }, + "loopfunc": { + "active": 0, + "flagValue": -1 + }, + "maxcomplexity": { + "active": 0, + "flagValue": 10 + }, + "maxdepth": { + "active": 0, + "flagValue": 3 + }, + "maxlen": { + "active": 0, + "flagValue": 150 + }, + "maxparams": { + "active": 0, + "flagValue": 3 + }, + "maxstatements": { + "active": 0, + "flagValue": 4 + }, + "mocha": { + "active": 0, + "flagValue": -1 + }, + "mootools": { + "active": 0, + "flagValue": -1 + }, + "moz": { + "active": 0, + "flagValue": -1 + }, + "multistr": { + "active": 0, + "flagValue": -1 + }, + "newcap": { + "active": 1, + "flagValue": -1 + }, + "noarg": { + "active": 1, + "flagValue": -1 + }, + "nocomma": { + "active": 0, + "flagValue": -1 + }, + "node": { + "active": 0, + "flagValue": -1 + }, + "noempty": { + "active": 0, + "flagValue": -1 + }, + "nonbsp": { + "active": 0, + "flagValue": -1 + }, + "nonew": { + "active": 1, + "flagValue": -1 + }, + "nonstandard": { + "active": 0, + "flagValue": -1 + }, + "notypeof": { + "active": 1, + "flagValue": -1 + }, + "noyield": { + "active": 0, + "flagValue": -1 + }, + "onecase": { + "active": 0, + "flagValue": -1 + }, + "phantom": { + "active": 0, + "flagValue": -1 + }, + "plusplus": { + "active": 0, + "flagValue": -1 + }, + "proto": { + "active": 0, + "flagValue": -1 + }, + "prototypejs": { + "active": 0, + "flagValue": -1 + }, + "qunit": { + "active": 0, + "flagValue": -1 + }, + "regexp": { + "active": 1, + "flagValue": -1 + }, + "rhino": { + "active": 0, + "flagValue": -1 + }, + "scripturl": { + "active": 0, + "flagValue": -1 + }, + "shadow": { + "active": 0, + "flagValue": -1 + }, + "shelljs": { + "active": 0, + "flagValue": -1 + }, + "singleGroups": { + "active": 0, + "flagValue": -1 + }, + "strict": { + "active": 0, + "flagValue": -1 + }, + "sub": { + "active": 0, + "flagValue": -1 + }, + "supernew": { + "active": 0, + "flagValue": -1 + }, + "typed": { + "active": 0, + "flagValue": -1 + }, + "undef": { + "active": 1, + "flagValue": -1 + }, + "unused": { + "active": 1, + "flagValue": -1 + }, + "varstmt": { + "active": 0, + "flagValue": -1 + }, + "withstmt": { + "active": 0, + "flagValue": -1 + }, + "worker": { + "active": 0, + "flagValue": -1 + }, + "wsh": { + "active": 0, + "flagValue": -1 + }, + "yui": { + "active": 0, + "flagValue": -1 + } + }, + "jsLintFlags2": { + "bitwise": { + "active": 0, + "flagValue": -1 + }, + "browser": { + "active": 1, + "flagValue": -1 + }, + "couch": { + "active": 0, + "flagValue": -1 + }, + "devel": { + "active": 0, + "flagValue": -1 + }, + "es6": { + "active": 0, + "flagValue": -1 + }, + "eval": { + "active": 0, + "flagValue": -1 + }, + "for": { + "active": 0, + "flagValue": -1 + }, + "maxlen": { + "active": 0, + "flagValue": 150 + }, + "node": { + "active": 0, + "flagValue": -1 + }, + "this": { + "active": 0, + "flagValue": -1 + }, + "white": { + "active": 0, + "flagValue": -1 + } + }, + "languageDefaultsCOFFEE": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.js", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "minifyOutput": 1, + "outputStyle": 0, + "syntaxCheckerStyle": 1, + "transpilerStyle": 1 + }, + "languageDefaultsCSS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*-min.css", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "outputStyle": 3, + "shouldRunAutoprefixer": 1, + "shouldRunBless": 0 + }, + "languageDefaultsGIF": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.gif", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0 + }, + "languageDefaultsHAML": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "escapeHTMLCharacters": 0, + "noEscapeInAttributes": 0, + "outputFormat": 2, + "outputStyle": 0, + "shouldRunCacheBuster": 0, + "useCDATA": 0, + "useDoubleQuotes": 0, + "useUnixNewlines": 0 + }, + "languageDefaultsJPG": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.jpg", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "quality": 100 + }, + "languageDefaultsJS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*-min.js", + "autoOutputPathRelativePath": "\/min", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "minifyOutput": 1, + "syntaxCheckerStyle": 1, + "transpilerStyle": 0 + }, + "languageDefaultsJSON": { + "autoOutputAction": 1, + "autoOutputPathFilenamePattern": "*-min.json", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "orderOutput": 0, + "outputStyle": 1 + }, + "languageDefaultsKIT": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "kit", + "autoOutputPathReplace2": "html", + "autoOutputPathStyle": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsLESS": { + "allowInsecureImports": 0, + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.css", + "autoOutputPathRelativePath": "..\/css", + "autoOutputPathReplace1": "less", + "autoOutputPathReplace2": "css", + "autoOutputPathStyle": 0, + "createSourceMap": 1, + "disableJavascript": 0, + "ieCompatibility": 1, + "outputStyle": 0, + "relativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "languageDefaultsMARKDOWN": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "criticStyle": 0, + "enableFootnotes": 1, + "enableLabels": 1, + "enableSmartQuotes": 1, + "maskEmailAddresses": 1, + "outputFormat": 0, + "outputStyle": 0, + "parseMetadata": 1, + "processHTML": 0, + "randomFootnoteNumbers": 0, + "shouldRunCacheBuster": 0, + "useCompatibilityMode": 0 + }, + "languageDefaultsOTHER": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.*", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsPNG": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.png", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "optimizerType": 1, + "quality": 100 + }, + "languageDefaultsPUG": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "compileDebug": 1, + "outputStyle": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsSASS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.css", + "autoOutputPathRelativePath": "..\/css", + "autoOutputPathReplace1": "sass", + "autoOutputPathReplace2": "css", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "debugStyle": 0, + "decimalPrecision": 10, + "outputStyle": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "useLibsass": 1 + }, + "languageDefaultsSLIM": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "compileOnly": 0, + "logicless": 0, + "outputFormat": 0, + "outputStyle": 1, + "railsCompatible": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsSTYLUS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.css", + "autoOutputPathRelativePath": "..\/css", + "autoOutputPathReplace1": "stylus", + "autoOutputPathReplace2": "css", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "debugStyle": 0, + "importCSS": 0, + "outputStyle": 0, + "resolveRelativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0 + }, + "languageDefaultsSVG": { + "autoOutputAction": 2, + "autoOutputPathFilenamePattern": "*.svg", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "pluginMask": 3758088159 + }, + "languageDefaultsTS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.js", + "autoOutputPathRelativePath": "\/js", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createDeclarationFile": 0, + "createSourceMap": 0, + "jsxMode": 0, + "minifyOutput": 0, + "moduleResolutionType": 0, + "moduleType": 2, + "noImplicitAny": 0, + "preserveConstEnums": 0, + "removeComments": 0, + "suppressImplicitAnyIndexErrors": 0, + "targetECMAVersion": 0 + }, + "languageDefaultsUserDefined": [ + ], + "overrideExternalServerCSS": 0, + "previewPathAddition": "", + "skippedFoldersString": "log, _logs, logs, _cache, cache, \/storage\/framework\/sessions, node_modules", + "sourceFolderName": "source", + "susyVersion": 3, + "uglifyDefinesString": "", + "uglifyFlags2": { + "ascii-only": { + "active": 0, + "flagValue": -1 + }, + "bare-returns": { + "active": 0, + "flagValue": -1 + }, + "booleans": { + "active": 1, + "flagValue": -1 + }, + "bracketize": { + "active": 0, + "flagValue": -1 + }, + "cascade": { + "active": 1, + "flagValue": -1 + }, + "comments": { + "active": 1, + "flagValue": -1 + }, + "comparisons": { + "active": 1, + "flagValue": -1 + }, + "compress": { + "active": 1, + "flagValue": -1 + }, + "conditionals": { + "active": 1, + "flagValue": -1 + }, + "dead_code": { + "active": 0, + "flagValue": -1 + }, + "drop_console": { + "active": 0, + "flagValue": -1 + }, + "drop_debugger": { + "active": 1, + "flagValue": -1 + }, + "eval": { + "active": 0, + "flagValue": -1 + }, + "evaluate": { + "active": 1, + "flagValue": -1 + }, + "hoist_funs": { + "active": 1, + "flagValue": -1 + }, + "hoist_vars": { + "active": 0, + "flagValue": -1 + }, + "if_return": { + "active": 1, + "flagValue": -1 + }, + "indent-level": { + "active": 0, + "flagValue": 4 + }, + "indent-start": { + "active": 0, + "flagValue": 0 + }, + "inline-script": { + "active": 0, + "flagValue": -1 + }, + "join_vars": { + "active": 1, + "flagValue": -1 + }, + "keep_fargs": { + "active": 0, + "flagValue": -1 + }, + "keep_fnames": { + "active": 0, + "flagValue": -1 + }, + "loops": { + "active": 1, + "flagValue": -1 + }, + "mangle": { + "active": 1, + "flagValue": -1 + }, + "max-line-len": { + "active": 1, + "flagValue": 32000 + }, + "negate_iife": { + "active": 1, + "flagValue": -1 + }, + "properties": { + "active": 1, + "flagValue": -1 + }, + "pure_getters": { + "active": 0, + "flagValue": -1 + }, + "quote-keys": { + "active": 0, + "flagValue": -1 + }, + "screw-ie8": { + "active": 1, + "flagValue": -1 + }, + "semicolons": { + "active": 1, + "flagValue": -1 + }, + "sequences": { + "active": 1, + "flagValue": -1 + }, + "sort": { + "active": 0, + "flagValue": -1 + }, + "space-colon": { + "active": 1, + "flagValue": -1 + }, + "support-ie8": { + "active": 0, + "flagValue": -1 + }, + "toplevel": { + "active": 0, + "flagValue": -1 + }, + "unsafe": { + "active": 0, + "flagValue": -1 + }, + "unused": { + "active": 0, + "flagValue": -1 + }, + "warnings": { + "active": 0, + "flagValue": -1 + }, + "width": { + "active": 1, + "flagValue": 80 + } + }, + "uglifyReservedNamesString": "$", + "websiteRelativeRoot": "" + }, +"settingsFileVersion": "3" +} \ No newline at end of file diff --git a/docs/www/emulator/index.html b/docs/www/emulator/index.html index 4d293ade6..487f7a2e4 100644 --- a/docs/www/emulator/index.html +++ b/docs/www/emulator/index.html @@ -1,49 +1,76 @@ - - - - - - - - Minimal Linux Live in JavaScript PC emulator - - -

- Minimal Linux Live (version 28-Jan-2018) -
-
-
-
- -
-
- This is JavaScript based PC emulator which works entirely in your browser and some OS features may not behave properly in it. - All CPU instructions are emulated via JavaScript and the boot process may take 10-20 minutes. -
- - - + + + + + JavaScript Emulator for MML - Minimal Linux Live + + + + + + + + +
+
+

Minimal Linux Live

+

ver: 28-Jan-2018

+ +
+
+ +
+
+
+ +
+
+ + +
+ + + + + \ No newline at end of file diff --git a/docs/www/emulator/libv86.min.js b/docs/www/emulator/libv86.min.js deleted file mode 100644 index 52ddd9f9c..000000000 --- a/docs/www/emulator/libv86.min.js +++ /dev/null @@ -1,431 +0,0 @@ -'use strict';var l;function aa(a,c){this.g=a;this.J=c;this.ha=function(){};this.K=9;this.L=1;this.v=new Uint8Array([6,0,104,111,115,116,57,112]);this.D="9P2000.L";this.m=this.o=8192;this.ua=new Uint8Array(2*this.m);this.ce=0;this.b=[]}aa.prototype.La=function(){var a=[];a[0]=this.K;a[1]=this.L;a[2]=this.v;a[3]=this.D;a[4]=this.o;a[5]=this.m;a[6]=this.ua;a[7]=this.ce;a[8]=this.b.map(function(a){return[a.$,a.type,a.uid]});return a}; -aa.prototype.Ra=function(a){this.K=a[0];this.L=a[1];this.v=a[2];this.D=a[3];this.o=a[4];this.m=a[5];this.ua=a[6];this.ce=a[7];this.b=a[8].map(function(a){return{$:a[0],type:a[1],uid:a[2]}})};function ba(a,c,d,e){ca(["w","b","h"],[e+7,c+1,d],a.ua,0);a.ce=e+7}function da(a,c,d){d=ca(["w"],[d],a.ua,7);ba(a,6,c,d)} -function ea(a,c,d){var e=fa(["w","b","h"],d),f=e[0],h=e[1],r=e[2];switch(h){case 8:var f=a.g.K,k=[16914839];k[1]=a.o;k[2]=Math.floor(274877906944/k[1]);k[3]=k[2]-Math.floor(f/k[1]);k[4]=k[2]-Math.floor(f/k[1]);k[5]=a.g.b.length;k[6]=1048576;k[7]=0;k[8]=256;f=ca("wwddddddw".split(""),k,a.ua,7);ba(a,h,r,f);a.ha(0,c);break;case 112:case 12:var k=fa(["w","w"],d),t=k[0],e=k[1];d=a.b[t].$;var u=ga(a.g,d);d=ha(a.g,d);ia(a.g,a.b[t].$,function(){k[0]=u.Xa;k[1]=this.m-24;ca(["Q","w"],k,this.ua,7);ba(this,h, -r,17);this.ha(0,c)}.bind(a));break;case 70:k=fa(["w","w","s"],d);f=k[0];t=k[1];d=k[2];var u=ja(a.g),e=ga(a.g,a.b[t].$),z=a.g.g[a.b[t].$];u.mode=e.mode;u.size=e.size;u.Gd=e.Gd;for(var G=a.g.g[a.g.b.length]=new Uint8Array(u.size),e=0;eZa;Za++)Xb=127Za?Zf[Za]:Za,Wb[Za]=String.fromCharCode(Xb);k.imageSmoothingEnabled=!1;k.mozImageSmoothingEnabled= -!1;u.style.position="absolute";u.style.backgroundColor="#ccc";u.style.width="7px";u.style.display="inline-block";t.style.display="block";r.style.display="none";this.J=c;c.register("screen-set-mode",function(a){this.dh(a)},this);c.register("screen-fill-buffer-end",function(a){this.kh(a[0],a[1])},this);c.register("screen-put-char",function(a){this.Xg(a[0],a[1],a[2],a[3],a[4])},this);c.register("screen-update-cursor",function(a){this.Kd(a[0],a[1])},this);c.register("screen-update-cursor-scanline",function(a){this.Ld(a[0], -a[1])},this);c.register("screen-set-size-text",function(a){this.zc(a[0],a[1])},this);c.register("screen-set-size-graphical",function(a){this.Fd(a[0],a[1])},this);this.ob=function(){this.zc(80,25);this.zb()};this.m=function(){try{window.open(r.toDataURL())}catch(a){}};this.Xg=function(a,c,f,d,e){ac;)t.removeChild(t.firstChild);for(;t.childNodes.lengthd||2147483648<=d)&&(alert("Invalid memory size - ignored."),d=33554432);var h=a.Ca;!h&&(h=1048576*parseInt(f("video_memory_size").value, -10),65536>=h||2147483648<=h)&&(alert("Invalid video memory size - ignored."),h=8388608);if(a.lh)var r="bochs-bios.bin",t="bochs-vgabios.bin";else r="seabios.bin",t="vgabios.bin";var u,z;a.Qc||(u={url:"bios/"+r},z={url:"bios/"+t});var F=new n({memory_size:d,vga_memory_size:h,screen_container:f("screen_container"),serial_container:f("serial"),boot_order:a.Ic||parseInt(f("boot_order").value,16)||0,network_relay_url:"ws://relay.widgetry.org/",bios:u,vga_bios:z,fda:a.Oa,hda:a.Ma,cdrom:a.Ka,initial_state:a.Qc, -filesystem:a.filesystem||{},autostart:!0});F.Sa("emulator-ready",function(){k(a,F);c&&c(F)});F.Sa("download-progress",function(a){var c=f("loading");c.style.display="block";if(a.xe===a.we-1&&a.loaded>=a.total-2048)c.textContent="Done downloading. Starting now ...";else{var d="Downloading images ";"number"===typeof a.xe&&a.we&&(d+="["+(a.xe+1)+"/"+a.we+"] ");if(a.total&&"number"===typeof a.loaded){a=Math.floor(a.loaded/a.total*100);a=Math.min(100,Math.max(0,a));var h=Math.floor(a/2),d=d+(a+"% [")+ -e("#",h),d=d+(e(" ",50-h)+"]")}else d+=e(".",L++%50);c.textContent=d}})}function k(d,e){function h(){var a=Date.now(),c=e.b?e.b.s.V:0,d=c-F;F=c;var r=a-z;L+=r;z=a;f("speed").textContent=d/r|0;f("avg_speed").textContent=c/L|0;a=f("running_time");c=L/1E3|0;a.textContent=60>c?c+"s":3600>c?(c/60|0)+"m "+za(c%60,2)+"s":(c/3600|0)+"h "+za((c/60|0)%60,2)+"m "+za(c%60,2)+"s"}function r(h,k){var t=f("get_"+k+"_image");!h||104857600c;c++)this.ports[c]={da:this.Wf,ma:this.Uf,qf:this.Vf,sa:this.te,ad:this.te,Cc:this.te,U:void 0};for(var d=a.size,c=0;c<<17>8&255)}function k(a){f.call(this,a&255);h.call(this,a>>8&255)}function t(a){d.call(this,a&255);e.call(this,a>>8&255);f.call(this,a>>16&255);h.call(this,a>>>24)}f&&h?(q(this,a,c,d,r,t),q(this,a+1,c,e),q(this,a+2,c,f,k),q(this,a+3,c,h)):(q(this,a,c,d,r),q(this,a+1,c,e))};function Da(a,c,d){c>>>=0;d=c+(d>>>0);if(d>=a.memory.size)return!0;for(c&=-131072;c>17])return!0;c+=131072}return!1} -l.hg=function(a){var c=this.memory.g[a>>>17];return c(a)|c(a+1)<<8|c(a+2)<<16|c(a+3)<<24};l.ig=function(a,c){var d=this.memory.m[a>>>17];d(a,c&255);d(a+1,c>>8&255);d(a+2,c>>16&255);d(a+3,c>>>24)};function Ca(a,c,d,e,f,h,r){h||(h=a.hg.bind(a));r||(r=a.ig.bind(a));for(c>>>=17;0=c?a.b():a.v(c)}}Ka.prototype.L=function(){this.g&&(this.m=!0)};Ka.prototype.D=function(){this.s.reset();Ma(this.s)};Ka.prototype.ob=function(a){this.o&&(this.o=!1,Na(this));this.s.ob(a,this.J);this.J.send("emulator-ready")}; -function Na(a){"undefined"!==typeof setImmediate?a.b=function(){setImmediate(function(){La(a)})}:"undefined"!==typeof window&&"undefined"!==typeof postMessage?(window.addEventListener("message",function(c){c.source===window&&43605===c.data&&La(a)},!1),a.b=function(){window.postMessage(43605,"*")}):a.b=function(){setTimeout(function(){La(a)},0)};a.v="undefined"!==typeof document&&"boolean"===typeof document.hidden?function(c){4>c||document.hidden?this.b():setTimeout(function(){La(a)},c)}:function(c){setTimeout(function(){La(a)}, -c)}}var Oa="object"===typeof performance&&performance.now?function(){return performance.now()}:Date.now;if("undefined"!==typeof window&&window.crypto&&window.crypto.getRandomValues)var Pa=new Int32Array(1),Qa=function(){return!0},Ta=function(){window.crypto.getRandomValues(Pa);return Pa[0]};else Qa=function(){return!1},Ta=function(){console.assert(!1)};var Aa,Ua,Va,Wa,Xa,Ya;function za(a,c){for(a=a?a+"":"";a.lengthc;c++)c&c-1||d++,a[c]=d;Ua=function(c){return a[c]};Va=function(c){var f=c>>>16;if(f){var d=f>>>8;return d?24+a[d]:16+a[f]}return(d=c>>>8)?8+a[d]:a[c]}})();function bb(a){var c=new Uint8Array(a),d,e;this.length=0;this.push=function(f){this.length!==a&&this.length++;c[e]=f;e=e+1&a-1};this.shift=function(){if(this.length){var f=c[d];d=d+1&a-1;this.length--;return f}return-1};this.clear=function(){this.length=e=d=0};this.clear()};function cb(a){this.s=a;this.g=new Float64Array(8);this.N=new Float32Array(1);new Uint8Array(this.N.buffer);this.Fa=new Int32Array(this.N.buffer);this.L=new Float64Array(1);this.v=new Uint8Array(this.L.buffer);this.D=new Int32Array(this.L.buffer);this.tb=new Uint8Array(this.g.buffer);new Int32Array(this.g.buffer);this.o=255;this.b=0;this.K=895;this.aa=this.W=this.ja=this.wa=this.ba=this.m=0;this.Ja=NaN;this.sb=new Float64Array([1,Math.log(10)/Math.LN2,Math.LOG2E,Math.PI,Math.log(2)/Math.LN10,Math.LN2, -0])}l=cb.prototype;l.La=function(){var a=[];a[0]=this.g;a[1]=this.o;a[2]=this.b;a[3]=this.K;a[4]=this.aa;a[5]=this.ba;a[6]=this.wa;a[7]=this.W;a[8]=this.aa;a[9]=this.ja;return a};l.Ra=function(a){this.g.set(a[0]);this.o=a[1];this.b=a[2];this.K=a[3];this.ba=a[5];this.wa=a[6];this.W=a[7];this.aa=a[8];this.ja=a[9]};function db(a){w(a.s)}function fb(a){a.m|=1}function gb(a,c){var d=hb(a);a.m&=-18177;d>c||(a.m=c>d?a.m|256:d===c?a.m|16384:a.m|17664)} -function ib(a,c){var d=a.g[a.b];a.s.u&=-70;a.s.h&=-70;d>c||(a.s.h=c>d?a.s.h|1:d===c?a.s.h|64:a.s.h|69)}function jb(a){a.K=895;a.m=0;a.ba=0;a.W=0;a.ja=0;a.o=255;a.b=0}function kb(a,c){if(a.s.Da){lb(a.s,c,26);mb(a.s,c,a.K);mb(a.s,c+4,a.m&-14337|a.b<<11);for(var d=0,e,f=0;8>f;f++)e=a.g[f],a.o>>f&1?d|=3<<(f<<1):e?isFinite(e)||(d|=2<<(f<<1)):d|=1<<(f<<1);mb(a.s,c+8,d);x(a.s,c+12,a.ba);mb(a.s,c+16,a.wa);mb(a.s,c+18,a.ja);x(a.s,c+20,a.W);mb(a.s,c+24,a.aa)}else db(a)} -function nb(a,c){if(a.s.Da){a.K=y(a.s,c);var d=y(a.s,c+4);a.m=d&-14337;a.b=d>>11&7;for(var d=y(a.s,c+8),e=a.o=0;8>e;e++)a.o|=d>>e&d>>e+1&1<>10&3)return 1===a||3===a&&0>this.b&1?(this.m&=-513,this.o&=~(1<>c&1?(a.m&=-513,a.m|=65,a.Ja):a.g[c]}function hb(a){return a.o>>a.b&1?(a.m&=-513,a.m|=65,a.Ja):a.g[a.b]} -function sb(a,c){var d=y(a.s,c+8),e=A(a.s,c)>>>0,f=A(a.s,c+4)>>>0;c=d>>15;d&=-32769;if(0===d)return 0;if(!(32767>d))return a.v[7]=127|c<<7,a.v[6]=240|f>>30<<3&8,a.v[5]=0,a.v[4]=0,a.D[0]=0,a.L[0];a=e+4294967296*f;c&&(a=-a);return a*Math.pow(2,d-16383-63)} -function tb(a,c,d){a.L[0]=a.g[a.b+d&7];d=a.v[7]&128;var e=(a.v[7]&127)<<4|a.v[6]>>4,f,h;2047===e?(e=32767,f=0,h=2147483648|(a.D[1]&524288)<<11):e?(e+=15360,f=a.D[0]<<11,h=2147483648|(a.D[1]&1048575)<<11|a.D[0]>>>21):h=f=0;x(a.s,c,f);x(a.s,c+4,h);mb(a.s,c+8,d<<8|e)}function ub(a,c){var d=A(a.s,c);c=A(a.s,c+4);a.D[0]=d;a.D[1]=c;return a.L[0]}function vb(a,c){lb(a.s,c,8);a.L[0]=rb(a,0);x(a.s,c,a.D[0]);x(a.s,c+4,a.D[1])}function wb(a,c){a.Fa[0]=A(a.s,c);return a.N[0]} -l.sign=function(a){return this.tb[(this.b+a&7)<<3|7]>>7};function xb(a,c,d,e,f){this.pa=new yb(this,a,c,d,e,0,f);this.na=new yb(this,a,void 0,!1,e,0,f);this.za=this.pa;this.s=a;e?1===e&&(this.b=368,this.Ha=15,this.Tb=248):(this.b=496,this.Ha=14,this.Tb=240);this.m=this.b|516;this.g=46080;this.Uc=[134,128,32,58,5,0,160,2,0,143,1,1,0,0,0,0,this.b&255|1,this.b>>8,0,0,this.m&255|1,this.m>>8,0,0,0,0,0,0,0,0,0,0,this.g&255|1,this.g>>8,0,0,0,0,0,0,0,0,0,0,67,16,212,130,0,0,0,0,0,0,0,0,0,0,0,0,this.Ha,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.dc=[{size:8},{size:4},!1,!1,{size:16}];this.name="ide"+e;zb(a.H.Tc,this);this.o=2;p(a.A,this.b|7,this,function(){Ab(this.s,this.Ha);return this.sf()});p(a.A,this.m|2,this,this.sf);q(a.A,this.m|2,this,this.nh);p(a.A,this.b|0,this,function(){return Bb(this.za)},function(){return Bb(this.za)|Bb(this.za)<<8},function(){return Bb(this.za)|Bb(this.za)<<8|Bb(this.za)<< -16|Bb(this.za)<<24});p(a.A,this.b|1,this,function(){return this.za.error});p(a.A,this.b|2,this,function(){return this.za.ta&255});p(a.A,this.b|3,this,function(){return this.za.nb&255});p(a.A,this.b|4,this,function(){return this.za.ia&255});p(a.A,this.b|5,this,function(){return this.za.Aa&255});p(a.A,this.b|6,this,function(){return this.za.Mc});q(a.A,this.b|0,this,function(a){Db(this.za,a)},function(a){var c=this.za;Db(c,a&255);Db(c,a>>8&255)},function(a){var c=this.za;Db(c,a&255);Db(c,a>>8&255);Db(c, -a>>16&255);Db(c,a>>24&255)});q(a.A,this.b|1,this,function(a){this.pa.qc=(this.pa.qc<<8|a)&65535;this.na.qc=(this.na.qc<<8|a)&65535});q(a.A,this.b|2,this,function(a){this.pa.ta=(this.pa.ta<<8|a)&65535;this.na.ta=(this.na.ta<<8|a)&65535});q(a.A,this.b|3,this,function(a){this.pa.nb=(this.pa.nb<<8|a)&65535;this.na.nb=(this.na.nb<<8|a)&65535});q(a.A,this.b|4,this,function(a){this.pa.ia=(this.pa.ia<<8|a)&65535;this.na.ia=(this.na.ia<<8|a)&65535});q(a.A,this.b|5,this,function(a){this.pa.Aa=(this.pa.Aa<< -8|a)&65535;this.na.Aa=(this.na.Aa<<8|a)&65535});q(a.A,this.b|6,this,function(a){this.za=a&16?this.na:this.pa;this.pa.Mc=a;this.na.Mc=a;this.pa.Rc=this.na.Rc=a>>6&1;this.pa.head=this.na.head=a&15});this.oa=this.wc=0;q(a.A,this.b|7,this,function(a){var c=this.za;if(c.buffer)switch(c.error=0,a){case 0:c.Y();c.status=80;break;case 8:c.D=0;Eb(c,0);Fb(c);c.Y();break;case 16:c.Y();break;case 248:case 39:c.Y();Gb(c,new Uint8Array([0,0,0,0,c.buffer.byteLength&255,c.buffer.byteLength>>8&255,c.buffer.byteLength>> -16&255,c.buffer.byteLength>>24&255,0,0,0,0]));c.status=88;break;case 32:case 36:case 41:case 196:Hb(c,a);break;case 48:case 52:case 57:case 197:a:{if(48===a||197===a){a=c.ta&255;var f=c.Rc?Ib(c):Jb(c);a||(a=256)}else if(52===a||57===a)a=c.ta,f=Kb(c),a||(a=65536);else break a;var d=a*c.o,f=f*c.o;c.ia+=a;f+d>c.buffer.byteLength?c.status=255:(c.status=88,Lb(c,d),c.Fa=f,c.ja=1);c.Y()}break;case 144:c.Y();c.error=257;c.status=80;break;case 145:c.Y();break;case 160:c.ba&&(c.status=88,Lb(c,12),c.ja=2,c.ta= -1,c.Y());break;case 161:c.ba?(Mb(c),c.status=88,c.ia=20,c.Aa=235):c.status=80;c.Y();break;case 198:c.wa=c.ta;c.Y();break;case 200:Nb(c);break;case 64:c.Y();c.status=80;c.Y();break;case 202:Ob(c);break;case 218:c.status=65;c.error=4;break;case 225:c.Y();break;case 236:if(c.ba){c.status=65;c.error=4;c.Y();break}Mb(c);c.status=88;c.Y();break;case 234:c.Y();break;case 239:c.Y();break;case 245:c.status=80;c.Y();break;default:c.status=65,c.error=4}});p(a.A,this.g|4,this,void 0,void 0,this.Nf);q(a.A,this.g| -4,this,void 0,void 0,this.Rf);p(a.A,this.g,this,this.Pf,void 0,this.Of);q(a.A,this.g,this,this.Tf,void 0,this.Sf);p(a.A,this.g|2,this,this.Qf);q(a.A,this.g|2,this,this.Qe);p(a.A,this.g|8,this,function(){return 0});p(a.A,this.g|10,this,function(){return 0})}l=xb.prototype;l.sf=function(){return this.za.buffer?this.za.status:0};l.nh=function(a){this.o=a;a&4&&(Fb(this.pa),Fb(this.na))};l.Nf=function(){return this.wc};l.Rf=function(a){this.wc=a};l.Qf=function(){return this.oa}; -l.Qe=function(a){this.oa&=~a};l.Of=function(){return 1|this.oa<<16};l.Pf=function(){return 1};l.Sf=function(a){a&1&&this.Y();this.Qe(a>>16&255)};l.Tf=function(a){a&1&&this.Y()};l.Y=function(){this.o&2||this.s.v(this.Ha)};l.La=function(){var a=[];a[0]=this.pa;a[1]=this.na;a[2]=this.b;a[3]=this.Ha;a[4]=this.Tb;a[5]=this.m;a[6]=this.g;a[7]=this.name;a[8]=this.o;a[9]=this.wc;a[10]=this.oa;a[11]=this.za===this.pa;return a}; -l.Ra=function(a){this.pa=a[0];this.na=a[1];this.b=a[2];this.Ha=a[3];this.Tb=a[4];this.m=a[5];this.g=a[6];this.name=a[7];this.o=a[8];this.wc=a[9];this.oa=a[10];this.za=a[11]?this.pa:this.na}; -function yb(a,c,d,e,f,h,r){this.U=a;this.J=r;this.Ja=f;this.s=c;this.memory=c.memory;this.buffer=d;this.o=e?2048:512;this.ba=e;this.v=this.K=this.L=this.g=0;this.buffer&&(this.g=this.buffer.byteLength/this.o,this.g!==(this.g|0)&&(this.g=Math.ceil(this.g)),e?(this.L=1,this.K=0):(this.L=16,this.K=63),this.v=this.g/this.L/this.K,this.v!==(this.v|0)&&(this.v=Math.floor(this.v)),a=c.H.fc,a.ea[57]|=1<<4*this.Ja,a.ea[18]=a.ea[18]&15|240,a.ea[27]=this.v&255,a.ea[28]=this.v>>8&255,a.ea[29]=this.L&255,a.ea[30]= -255,a.ea[31]=255,a.ea[32]=200,a.ea[33]=this.v&255,a.ea[34]=this.v>>8&255,a.ea[35]=this.K&255);this.Ia={xf:0,yf:0,Ke:0,Le:0,bf:!1};this.buffer=d;this.Mc=this.head=this.Aa=this.ia=this.qc=this.nb=this.ta=this.Rc=0;this.status=80;this.wa=1;this.D=this.error=0;this.m=new Uint8Array(65536);this.aa=this.W=this.Fa=0;this.b=new Uint8Array(4096);this.ja=0}function Fb(a){a.ba?(a.status=0,a.ta=1,a.error=1,a.nb=1,a.ia=20,a.Aa=235):(a.status=81,a.ta=1,a.error=1,a.nb=1,a.ia=0,a.Aa=0)}yb.prototype.Y=function(){this.U.Y()}; -function Pb(a){var c=a.N,d=a.Aa<<8&65280|a.ia&255;d||(d=32768);c=Math.min(c,d);c&=-2;a.ia=c;a.Aa=c>>8}function Qb(a){a.status=80;a.buffer.set(a.Fa,a.b.subarray(0,a.W),function(){this.Y()}.bind(a));Rb(a,a.W)}function Lb(a,c){c>a.b.length&&(a.b=new Uint8Array(c));a.W=c;a.aa=0} -function Sb(a,c){var d=(c[7]<<8|c[8])*a.o;c=(c[2]<<24|c[3]<<16|c[4]<<8|c[5])*a.o;Tb(a,0);a.ia=a.Aa=0;c>=a.buffer.byteLength?(a.status=255,a.Y()):d?(d=Math.min(d,a.buffer.byteLength-c),a.status=208,Ub(a),a.buffer.get(c,d,function(a){Gb(this,a);this.status=88;this.ta|=2;this.D=0;this.Y();Pb(this);Yb(this,d)}.bind(a))):(a.status=80,a.D=0)} -function Zb(a,c){var d=(c[7]<<8|c[8])*a.o;c=(c[2]<<24|c[3]<<16|c[4]<<8|c[5])*a.o;Tb(a,d);c>=a.buffer.byteLength?(a.status=255,a.Y()):(d=Math.min(d,a.buffer.byteLength-c),a.status=128,Ub(a),a.buffer.get(c,d,function(a){var c=this.U.wc,h=0;do{var r=$b(this.memory,c),k=this.memory.ma(c+4),t=this.memory.da(c+7)&128;k||(k=65536);this.memory.fa.set(a.subarray(h,h+k),r);h+=k;c+=8}while(!t);this.status=80;this.U.oa&=-4;this.U.oa|=4;this.Y();Yb(this,d)}.bind(a)))} -function Bb(a){if(a.D>8,a.ia=d)}a.D+1>=a.N&&(a.status=80,a.ta=a.ta&-8|3,c=!0);c&&a.Y();return a.m[a.D++]}a.D++;return 0} -function Db(a,c){if(!(a.aa>=a.W)&&(a.b[a.aa++]=c,a.aa%(512*a.wa)||a.Y(),a.aa===a.W))switch(a.ja){case 1:Qb(a);break;case 2:a.D=0;switch(a.b[0]){case 0:Eb(a,0);a.status=80;break;case 3:Eb(a,a.b[4]);a.status=88;a.m[0]=240;a.m[7]=8;break;case 18:c=a.b[4]|a.b[3]<<8;Eb(a,c);a.status=88;a.m.set([5,128,1,49,31,0,0,0,83,79,78,89,32,32,32,32,67,68,45,82,79,77,32,67,68,85,45,49,48,48,48,32,49,46,49,97]);break;case 30:Eb(a,0);a.status=80;break;case 37:c=a.g-1;Gb(a,new Uint8Array([c>>24&255,c>>16&255,c>>8&255, -c&255,0,0,a.o>>8&255,a.o&255]));a.status=88;break;case 40:a.qc&1?Zb(a,a.b):Sb(a,a.b);break;case 66:c=a.b[8];Eb(a,Math.min(8,c));a.status=88;break;case 67:var d=a.b[9]>>6;c=a.b[8]|a.b[7]<<8;Eb(a,c);1===d&&a.m.set(new Uint8Array([0,10,1,1,0,0,0,0,0,0,0,0]));a.status=88;break;case 70:Eb(a,a.b[8]|a.b[7]<<8);a.status=88;break;case 74:Eb(a,a.b[8]|a.b[7]<<8);a.status=88;break;case 81:Eb(a,0);a.status=80;break;case 26:Eb(a,a.b[4]);a.status=88;break;case 90:c=a.b[8]|a.b[7]<<8;42===a.b[2]&&Eb(a,Math.min(30, -c));a.status=88;break;case 189:Eb(a,a.b[9]|a.b[8]<<8);a.m[5]=1;a.status=88;break;default:a.status=80}a.ta=a.ta&-8|2;a.status&128||(Pb(a),a.Y());a.status&128||0!==a.N||(a.ta|=1,a.status&=-9)}} -function Hb(a,c){if(32===c||196===c){c=a.ta&255;var d=a.Rc?Ib(a):Jb(a);c||(c=256)}else if(36===c||41===c)c=a.ta,d=Kb(a),c||(c=65536);else return;var e=c*a.o,d=d*a.o;a.ia+=c;d+e>a.buffer.byteLength?(a.status=255,a.Y()):(a.status=128,Ub(a),a.buffer.get(d,e,function(a){Gb(this,a);this.status=88;this.D=0;this.Y();Yb(this,e)}.bind(a)))} -function Nb(a){var c=a.ta&255,d=c*a.o,e=Ib(a)*a.o;a.ia+=c;e+d>a.buffer.byteLength?(a.status=255,a.Y()):(a.status=216,a.U.oa|=1,Ub(a),a.buffer.get(e,d,function(a){var c=this.U.wc,e=0;do{var k=$b(this.memory,c),t=this.memory.ma(c+4),u=this.memory.da(c+7)&128;t||(t=65536);this.memory.fa.set(a.subarray(e,e+t),k);e+=t;c+=8}while(!u);this.status=80;this.U.oa&=-4;this.U.oa|=4;this.Y();Yb(this,d)}.bind(a)))} -function Ob(a){var c=a.ta&255,d=c*a.o,e=Ib(a)*a.o;a.ia+=c;if(e+d>a.buffer.byteLength)a.status=255,a.Y();else{a.status=128;a.U.oa|=1;var c=a.U.wc,f=0,h=0,r=0;do{var k=$b(a.memory,c),t=a.memory.ma(c+4),u=a.memory.da(c+7)&128;t||(t=65536);a.buffer.set(e+r,a.memory.fa.subarray(k,k+t),function(){h++;h===f&&(this.status=80,this.Y(),this.U.oa&=-4,this.U.oa|=4)}.bind(a));r+=t;c+=8;f++}while(!u);h===f&&(a.status=80,a.Y(),a.U.oa&=-4,a.U.oa|=4);Rb(a,d)}} -function Jb(a){return((a.ia&255|a.Aa<<8&65280)*a.L+a.head)*a.K+(a.nb&255)-1}function Ib(a){return a.nb&255|a.ia<<8&65280|a.Aa<<16&16711680|(a.head&15)<<24}function Kb(a){return(a.nb&255|a.ia<<8&65280|a.Aa<<16&16711680|a.nb>>8<<24&4278190080)>>>0} -function Mb(a){a.D=0;if(a.Mc&16)Eb(a,0);else{for(var c=0;512>c;c++)a.m[c]=0;Gb(a,[64,a.ba?133:0,a.v,a.v>>8,0,0,a.L,a.L>>8,a.K/512,a.K/512>>8,0,2,a.K,a.K>>8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,4,0,0,0,0,0,0,0,0,0,56,118,32,54,68,72,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,255,0,1,0,0,3,0,0,0,2,0,2,7,0,a.v,a.v>>8,a.L,a.L>>8,a.K,0,a.g&255,a.g>>8&255,a.g>>16&255,a.g>>24&255,0,0,a.g&255,a.g>>8&255,a.g>>16&255,a.g>>24& -255,0,0,0,4,0,0,30,0,30,0,30,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,116,0,64,0,64,0,116,0,64,0,0,0,0,0,0,0,0,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,a.g&255,a.g>>8&255,a.g>>16&255,a.g>>24&255]);a.N=512;16383c;c++)this.mc[c]=void 0,this.H[c]=void 0,this.Zd[c]=void 0;this.A=a.A;a.A.Dd(3324,this,function(a){this.vc[0]=a},function(a){this.vc[1]=a},function(a){this.vc[2]=a},function(a){this.vc[3]= -a;a=this.lb[2]<<8|this.lb[1];var c=this.lb[0]&252,f=this.mc[a],h=this.H[a];if(f){var r=this.kg[0];if(16<=c&&40>c){var k=c-16>>2;if(h=h.dc[k]){var c=c>>2,t=f[c]&1;-1===(r|3|h.size-1)?(r=~(h.size-1)|t,t||(f[c]=r)):t||(f[c]=this.Zd[a][k]&-4);1===t&&(bc(this,f[c]&65534,r&65534,h.size),f[c]=r|1)}else f[c>>2]=0}else f[c>>2]=r}});a.A.tf(3324,this,function(){return this.tc[0]},function(){return this.tc[1]},function(){return this.tc[2]},function(){return this.tc[3]});a.A.tf(3320,this,function(){return this.uc[0]}, -function(){return this.uc[1]},function(){return this.uc[2]},function(){return this.uc[3]});a.A.Dd(3320,this,function(a){this.lb[0]=a},function(a){this.lb[1]=a},function(a){this.lb[2]=a},function(a){this.lb[3]=a;a=this.lb[0]&252;var c=this.mc[this.lb[2]<<8|this.lb[1]];void 0!==c?(this.jf[0]=-2147483648,this.hf[0]=a>2]:0):(this.hf[0]=-1,this.jf[0]=0)});zb(this,{Tb:0,Uc:[134,128,55,18,0,0,0,0,2,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0],dc:[],name:"82441FX PMC"});zb(this,{Tb:8,Uc:[134,128,0,112,7,0,0,2,0,0,1,6,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],dc:[],name:"82371SB PIIX3 ISA"})}ac.prototype.La=function(){for(var a=[],c=0;256>c;c++)a[c]=this.mc[c];a[256]=this.lb;a[257]=this.vc;a[258]=this.tc;a[259]=this.uc;return a}; -ac.prototype.Ra=function(a){for(var c=0;256>c;c++){var d=this.H[c],e=a[c];if(d&&e){for(var f=0;f>10];if(!d||this.K&1023)throw"Unknown floppy size: "+$a(c.byteLength);a.H.fc.ea[16]=d.type<<4;a=d.xb;c=d.ub;d=d.Ab;this.L=a;this.W=c;this.Ja=d}else a.H.fc.ea[16]=64,this.K=this.Ja=this.W=this.L=0;p(this.A,1008,this,this.Ig);p(this.A,1010,this,this.Jg);p(this.A,1012,this,this.Lg);p(this.A,1013,this,this.Mg);p(this.A,1015,this,this.Og);q(this.A,1010,this,this.Kg);q(this.A,1013,this,this.Ng)} -l=cc.prototype;l.La=function(){var a=[];a[0]=this.g;a[1]=this.ba;a[2]=this.ja;a[4]=this.b;a[5]=this.m;a[6]=this.v;a[7]=this.K;a[8]=this.tb;a[9]=this.Mb;a[10]=this.Nb;a[11]=this.sb;a[12]=this.N;a[13]=this.aa;a[14]=this.Fa;a[15]=this.D;a[16]=this.L;a[17]=this.W;a[18]=this.Ja;return a}; -l.Ra=function(a){this.g=a[0];this.ba=a[1];this.ja=a[2];this.o=a[3];this.b=a[4];this.m=a[5];this.v=a[6];this.K=a[7];this.tb=a[8];this.Mb=a[9];this.Nb=a[10];this.sb=a[11];this.N=a[12];this.aa=a[13];this.Fa=a[14];this.D=a[15];this.L=a[16];this.W=a[17];this.Ja=a[18]};l.Ig=function(){return 0};l.Lg=function(){var a=128;this.m>2&1;ec(this)};l.Ff=function(){ec(this)};function dc(a,c,d){var e=d[2],f=d[1],h=d[3],r=((e+a.W*f)*a.L+h-1)*(128<this.L&&(e=1,d++,d>=this.W&&(d=0,c++)),this.N=c,this.aa=d,this.Fa=e,this.m=0,this.v=7,this.b[0]=d<<2|32,this.b[1]=0,this.b[2]=0,this.b[3]=c,this.b[4]=d,this.b[5]=e,this.b[6]=a[4],ec(this))};l.Yf=function(){};l.Yg=function(){this.m=0;this.v=7;this.b[0]=0;this.b[1]=0;this.b[2]=0;this.b[3]=0;this.b[4]=0;this.b[5]=0;this.b[6]=0;ec(this)};function ec(a){a.D&8&&a.s.v(6)};function hc(a,c){this.size=a;this.b=new Uint8Array(32768);this.g=[];this.m=[];this.o=[];this.v=[];a=c?new ArrayBuffer(0):new ArrayBuffer(a);this.fa=new Uint8Array(a);this.D=new Uint16Array(a);this.Hb=new Int32Array(a)}l=hc.prototype;l.La=function(){return[this.size,this.fa]};l.Ra=function(a){this.size=a[0];this.fa=a[1];this.D=new Uint16Array(this.fa.buffer,this.fa.byteOffset,this.fa.length>>1);this.Hb=new Int32Array(this.fa.buffer,this.fa.byteOffset,this.fa.length>>2)}; -function ic(a,c){a=a.g[c>>>17];return a(c)|a(c+1|0)<<8}function jc(a,c,d){a=a.m[c>>>17];a(c,d&255);a(c+1|0,d>>8&255)}l.da=function(a){return this.b[a>>>17]?this.g[a>>>17](a):this.fa[a]};l.ma=function(a){return this.b[a>>>17]?ic(this,a):this.fa[a]|this.fa[a+1|0]<<8};function kc(a,c){return a.b[c>>>16]?ic(a,c<<1):a.D[c]}function $b(a,c){return a.b[c>>>17]?a.o[c>>>17](c):a.fa[c]|a.fa[c+1|0]<<8|a.fa[c+2|0]<<16|a.fa[c+3|0]<<24}function lc(a,c){a.b[c>>>15]?(c<<=2,a=a.o[c>>>17](c)):a=a.Hb[c];return a} -l.sa=function(a,c){if(this.b[a>>>17])this.m[a>>>17](a,c);else this.fa[a]=c};l.ad=function(a,c){this.b[a>>>17]?jc(this,a,c):(this.fa[a]=c,this.fa[a+1|0]=c>>8)};function mc(a,c,d){a.b[c>>>16]?jc(a,c<<1,d):a.D[c]=d}l.Cc=function(a,c){if(this.b[a>>>17])this.v[a>>>17](a,c);else this.fa[a]=c,this.fa[a+1|0]=c>>8,this.fa[a+2|0]=c>>16,this.fa[a+3|0]=c>>24};function nc(a,c,d){a.b[c>>>15]?(c<<=2,a.v[c>>>17](c,d)):a.Hb[c]=d};function oc(a){this.memory=a.memory;this.b=new Int32Array(4);this.g=new Int32Array(4);this.m=0;a=a.A;q(a,4,this,this.mf.bind(this,4));q(a,5,this,this.mf.bind(this,5));q(a,10,this,this.Ug);q(a,11,this,this.Vg);q(a,12,this,this.Wg);q(a,129,this,this.Tg)}l=oc.prototype;l.La=function(){return[this.b,this.g,this.m]};l.Ra=function(a){this.b=a[0];this.g=a[1];this.m=a[2]};l.mf=function(a,c){if(8>a){var d=a>>1;a&1?this.g[d]=pc(this,this.g[d],c):this.b[d]=pc(this,this.b[d],c)}};l.Ug=function(){};l.Vg=function(){}; -l.Wg=function(){this.m=0};l.Tg=function(a){this.b[2]=this.b[2]&65535|a<<16};function gc(a,c,d,e){var f=a.g[2]+1,h=a.b[2];if(d+f>c.byteLength)e(!0);else{var r=a.memory;a.b[2]+=f;c.get(d,f,function(a){r.fa.set(a,h);e(!1)})}}function fc(a,c,d,e){var f=a.g[2],h=a.b[2];d+f>c.byteLength?e(!0):(a.b[2]+=f,c.set(d,a.memory.fa.subarray(h,h+f+1),function(){e(!1)}))}function pc(a,c,d){a.m^=1;return a.m?c&-256|d:c&-65281|d<<8};function qc(a){this.s=a;this.o=new Float64Array(3);this.v=new Uint16Array(3);this.b=new Uint8Array(4);this.m=new Uint8Array(4);this.L=new Uint8Array(4);this.N=new Uint8Array(4);this.D=new Uint8Array(4);this.K=new Uint16Array(3);this.g=new Uint16Array(3);p(a.A,97,this,function(){var a=Oa(),d=66.66666666666667*a&1,a=rc(this,2,a);return d<<4|a<<5});p(a.A,64,this,function(){return sc(this,0)});p(a.A,65,this,function(){return sc(this,1)});p(a.A,66,this,function(){return sc(this,2)});q(a.A,64,this,function(a){tc(this, -0,a)});q(a.A,65,this,function(a){tc(this,1,a)});q(a.A,66,this,function(a){tc(this,2,a)});q(a.A,67,this,this.W)}qc.prototype.La=function(){var a=[];a[0]=this.b;a[1]=this.m;a[2]=this.L;a[3]=this.N;a[4]=this.D;a[5]=this.K;a[6]=this.g;a[7]=this.o;a[8]=this.v;return a};qc.prototype.Ra=function(a){this.b=a[0];this.m=a[1];this.L=a[2];this.N=a[3];this.D=a[4];this.K=a[5];this.g=a[6];this.o=a[7];this.v=a[8]}; -qc.prototype.zb=function(a,c){!c&&this.m[0]&&rc(this,0,a)&&(this.v[0]=uc(this,0,a),this.o[0]=a,this.s.v(0),0===this.L[0]&&(this.m[0]=0));return 0};function uc(a,c,d){if(!a.m[c])return 0;d=a.v[c]-Math.floor(1193.1816666*(d-a.o[c]));0>d&&(a=a.g[c],d=d%a+a);return d}function rc(a,c,d){d-=a.o[c];return 0>d?!0:a.v[c]>8;d=a.b[c];3===a.L[c]&&(a.b[c]^=1);a=uc(a,c,Oa());return d?a&255:a>>8} -function tc(a,c,d){a.g[c]=a.b[c]?a.g[c]&-256|d:a.g[c]&255|d<<8;3===a.N[c]&&a.b[c]||(a.g[c]||(a.g[c]=65535),a.v[c]=a.g[c],a.m[c]=!0,a.o[c]=Oa());3===a.N[c]&&(a.b[c]^=1)}qc.prototype.W=function(a){var c=a>>1&7,d=a>>6&3;a=a>>4&3;3!==d&&(a?(6<=c&&(c&=-5),this.b[d]=1===a?0:1,this.L[d]=c,this.N[d]=a):(this.D[d]=2,c=uc(this,d,Oa()),this.K[d]=c?c-1:0))};function vc(a,c,d){this.J=c;this.Ca=d;this.D=0;this.cd=14;this.bd=15;this.ba=80;this.Mb=25;this.m=this.Rd=this.Nb=0;this.Qb=!0;this.Db=!1;this.Lb=new Int32Array(256);this.K=this.v=this.aa=this.W=this.N=this.L=0;this.Ec=80;this.gc=!1;this.Wb=32;this.oe=this.wa=0;this.Uc=[222,16,32,10,7,0,0,0,162,0,0,3,0,0,128,0,8,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,1,0,0];this.Tb=144;this.dc=[];this.name="vga";zb(a.H.Tc,this);this.Ia={ze:!1,$g:0,ah:0,Ef:0};this.Fa= -this.Ja=this.Pd=this.dd=0;this.o=-1;this.Md=new Uint8Array(16);this.Dc=-1;this.g=15;this.Sd=0;this.tb=-1;this.fd=this.ed=this.gd=0;this.b=255;this.Nd=0;this.hd=this.Od=255;a=a.A;q(a,960,this,this.pg);p(a,960,this,this.kf,this.og);p(a,961,this,this.lf);q(a,962,this,this.qg);a.Dd(964,this,this.sg,this.ug);p(a,964,this,this.rg);p(a,965,this,this.tg);a.Dd(974,this,this.Bg,this.Dg);p(a,974,this,this.Ag);p(a,975,this,this.Cg);q(a,967,this,this.vg);q(a,968,this,this.wg);q(a,969,this,this.yg);p(a,969,this, -this.xg);p(a,972,this,this.zg);a.Dd(980,this,this.Eg,this.Gg);p(a,981,this,this.Fg);p(a,986,this,this.Hg);this.sb=-1;this.ja=0;q(a,462,this,void 0,this.lg);q(a,463,this,void 0,this.ng);p(a,463,this,void 0,this.mg);void 0===this.Ca||262144>this.Ca?this.Ca=262144:this.Ca&65535&&(this.Ca|=65535,this.Ca++);this.ra=new Uint8Array(this.Ca);this.Ua=this.Ca;this.Ta=0;this.se=void 0;c.register("screen-tell-buffer",function(a){this.se=a[0]},this);c.register("screen-fill-buffer",function(){if(this.Db&&this.se&& -!(this.Ta>2,z=(t>>2)+1;for(a=u;a>16&255|t&65280|4278190080;break;case 24:var u=e/3|0,z=(t/3|0)+1,G=3*u;for(a=u;G>1;z=(t>>1)+1;for(a=u;a>11)/31|0,c=255*(t>>5&63)/63|0,F=255*(t&31)/31|0,d[a]=F<<16|c<<8|e|4278190080; -break;case 8:for(u=e-c,z=t-c+1,a=e;a>16|4278190080}this.Ua=this.Ca;this.Ta=0;this.J.send("screen-fill-buffer-end",[u,z])}},this);this.fh=new Uint16Array(this.ra.buffer);this.zf=new Int32Array(this.ra.buffer);this.Fc=new Uint8Array(this.ra.buffer,0,262144);this.ke=new Uint8Array(this.ra.buffer,0,65536);this.le=new Uint8Array(this.ra.buffer,65536,65536);this.ie=new Uint8Array(this.ra.buffer,131072,65536);this.me=new Uint8Array(this.ra.buffer,196608, -65536);var e=this;Ca(a,655360,131072,function(a){a-=655360;!e.Db||e.Qb?(a|=e.wa,a=e.ra[a]):(a&=65535,e.L=e.ke[a],e.N=e.le[a],e.W=e.ie[a],e.aa=e.me[a],a=e.Fc[e.gd<<16|a]);return a},function(a,c){a-=655360;if(e.Db)if(e.Qb){var d=a,d=d|e.wa;e.Ua=de.Ta?d:e.Ta;e.ra[d]=c}else{if(!(65535=e.Nb*e.Rd<<3))for(k<<=1,t<<=2,u<<=3,c=a<<3|7,a=c+262144,e.Ua=a-7e.Ta?a:e.Ta,a=0;8>a;a++)e.ra[c+ -262144]=e.Md[d>>a&1|k>>a&2|t>>a&4|u>>a&8],c--}}else d=a,98304>d||(t=(d-98304>>1)-e.m,k=t/e.ba|0,t%=e.ba,d&1?(a=c,u=e.Fc[d&-2]):(u=c,a=e.Fc[d|1]),e.J.send("screen-put-char",[k,t,u,e.Lb[a>>4&15],e.Lb[a&15]]),e.Fc[d]=c)});Ca(a,3758096384,this.Ca,function(a){return e.ra[a&268435455]},function(a,c){a&=268435455;e.ra[a]=c;e.Ua=ae.Ta?a:e.Ta},function(a){a&=268435455;return a&3?e.ra[a]|e.ra[a+1]<<8|e.ra[a+2]<<16|e.ra[a+3]<<24:e.zf[a>>2]},function(a,c){a&=268435455;e.Ua=ae.Ta?a+3:e.Ta;e.ra[a]=c;e.ra[a+1]=c>>8;e.ra[a+2]=c>>16;e.ra[a+3]=c>>24})}l=vc.prototype; -l.La=function(){var a=[];a[0]=this.Ca;a[1]=this.D;a[2]=this.cd;a[3]=this.bd;a[4]=this.ba;a[5]=this.Mb;a[6]=this.Nb;a[7]=this.Rd;a[8]=this.m;a[9]=this.Db;a[10]=this.Lb;a[11]=this.L;a[12]=this.N;a[13]=this.W;a[14]=this.aa;a[15]=this.v;a[16]=this.K;a[17]=this.Ec;a[18]=this.gc;a[19]=this.Wb;a[20]=this.wa;a[21]=this.oe;a[22]=this.dd;a[23]=this.Ja;a[24]=this.Fa;a[25]=this.Md;a[26]=this.Dc;a[27]=this.g;a[28]=this.Sd;a[29]=this.tb;a[30]=this.gd;a[31]=this.ed;a[32]=this.fd;a[33]=this.b;a[34]=this.Nd;a[35]= -this.Od;a[36]=this.hd;a[37]=this.sb;a[38]=this.ja;a[39]=this.ra;a[40]=this.Qb;a[41]=this.o;a[42]=this.Pd;return a}; -l.Ra=function(a){this.Ca=a[0];this.D=a[1];this.cd=a[2];this.bd=a[3];this.ba=a[4];this.Mb=a[5];this.Nb=a[6];this.Rd=a[7];this.m=a[8];this.Db=a[9];this.Lb=a[10];this.L=a[11];this.N=a[12];this.W=a[13];this.aa=a[14];this.v=a[15];this.K=a[16];this.Ec=a[17];this.gc=a[18];this.Wb=a[19];this.wa=a[20];this.oe=a[21];this.dd=a[22];this.Ja=a[23];this.Fa=a[24];this.Md=a[25];this.Dc=a[26];this.g=a[27];this.Sd=a[28];this.tb=a[29];this.gd=a[30];this.ed=a[31];this.fd=a[32];this.b=a[33];this.Nd=a[34];this.Od=a[35]; -this.hd=a[36];this.sb=a[37];this.ja=a[38];this.ra.set(a[39]);this.Qb=a[40];this.o=a[41];this.Pd=a[42];this.J.send("screen-set-mode",this.Db);this.Db?this.Fd(this.v,this.K,this.Wb):(this.zc(this.ba,this.Mb),this.Ld(),this.Kd());wc(this)};l.Kd=function(){var a=(this.D-this.m)/this.ba|0,c=(this.D-this.m)%this.ba,a=Math.min(this.Mb-1,a);this.J.send("screen-update-cursor",[a,c])}; -function wc(a){if(a.Db)a.Ua=0,a.Ta=a.Ca;else for(var c=98304|a.m<<1,d,e,f=0;f>4&15],a.Lb[e&15]]),c+=2}l.cb=function(){};l.zc=function(a,c){this.ba=a;this.Mb=c;this.J.send("screen-set-size-text",[a,c])};l.Fd=function(a,c,d){this.Nb=a;this.Rd=c;this.Ia.Ef=d;this.Ia.ze=!0;this.Ia.$g=a;this.Ia.ah=c;this.J.send("screen-set-size-graphical",[a,c,d])}; -l.Ld=function(){this.J.send("screen-update-cursor-scanline",[this.cd,this.bd])};function xc(a,c){var d=!1,e=0,f=0;switch(c){case 3:a.zc(a.Ec,25);break;case 16:e=640;f=350;d=!0;a.Qb=!1;break;case 18:e=640;f=480;d=!0;a.Qb=!1;break;case 19:e=320,f=200,d=!0,a.Qb=!0}a.J.send("screen-set-mode",d);if(a.Ia.ze=d)a.v=e,a.K=f,a.Fd(e,f,8);a.Db=d}l.pg=function(a){-1===this.o?this.o=a:(16>this.o&&(this.Md[this.o]=a),this.o=-1)};l.kf=function(){var a=this.o;this.o=-1;return a}; -l.og=function(){return this.kf()&255|this.lf()<<8&65280};l.lf=function(){return this.o=-1};l.qg=function(a){this.Od=a;103===a?xc(this,3):227===a?xc(this,18):99===a?xc(this,19):163===a?xc(this,16):xc(this,3)};l.sg=function(a){this.Dc=a};l.rg=function(){return this.Dc};l.ug=function(a){switch(this.Dc){case 2:this.g=a;break;case 4:this.Sd=a}};l.tg=function(){switch(this.Dc){case 2:return this.g;case 4:return this.Sd;case 6:return 18}return 0};l.vg=function(a){this.Fa=3*a}; -l.wg=function(a){this.Ja=3*a};l.yg=function(a){var c=this.Ja/3|0,d=this.Ja%3,e=this.Lb[c];a=255*a/63&255;this.Lb[c]=d?1===d?e&-65281|a<<8:e&-256|a:e&-16711681|a<<16;this.Ja++};l.xg=function(){var a=this.Fa%3,c=this.Lb[this.Fa/3|0];this.Fa++;return(c>>8*(2-a)&255)/255*63|0};l.zg=function(){return this.Od};l.Bg=function(a){this.tb=a};l.Ag=function(){return this.tb};l.Dg=function(a){switch(this.tb){case 3:this.fd=a;break;case 4:this.gd=a;break;case 5:this.ed=a;break;case 8:this.b=a}}; -l.Cg=function(){switch(this.tb){case 3:return this.fd;case 4:return this.gd;case 5:return this.ed;case 8:return this.b}return 0};l.Eg=function(a){this.dd=a}; -l.Gg=function(a){switch(this.dd){case 2:this.Ec=a;break;case 9:this.Nd=a;7===(a&31)?this.zc(this.Ec,50):this.zc(this.Ec,25);break;case 10:this.cd=a;this.Ld();break;case 11:this.bd=a;this.Ld();break;case 12:this.m=this.m&255|a<<8;wc(this);break;case 13:this.m=this.m&65280|a;wc(this);break;case 14:this.D=this.D&255|a<<8;this.Kd();break;case 15:this.D=this.D&65280|a;this.Kd();break;case 19:this.Pd=a}}; -l.Fg=function(){switch(this.dd){case 9:return this.Nd;case 10:return this.cd;case 11:return this.bd;case 12:return this.m&255;case 13:return this.m>>8;case 14:return this.D>>8;case 15:return this.D&255;case 19:return this.Pd}return 0};l.Hg=function(){this.hd^=8;this.o=-1;return this.hd};l.lg=function(a){this.sb=a}; -l.ng=function(a){switch(this.sb){case 1:this.v=a;2560>>16;case 6:return a.Nb?a.Nb:1;case 8:return 0;case 10:return a.Ca/65536|0}return 255};function zc(a,c){this.s=a;this.J=c;this.ic=this.Yb=!1;this.ud=!0;this.sc=this.Jb=this.Ib=0;this.ja=!0;this.N=this.L=this.v=this.K=this.W=this.D=this.qd=!1;this.ka=new bb(1024);this.m=0;this.Yc=100;this.Xc=4;this.o=!1;this.b=new bb(1024);this.J.register("keyboard-code",function(a){this.qd&&(this.ka.push(a),Ac(this))},this);this.J.register("mouse-click",function(a){this.ud&&this.ic&&(this.sc=a[0]|a[2]<<1|a[1]<<2,this.Yb&&Bc(this,0,0))},this);this.J.register("mouse-delta",function(a){var c=a[1];if(this.ud&& -this.ic){var f=this.Xc*this.Yc/80;this.Ib+=a[0]*f;this.Jb+=c*f;this.Yb&&(a=this.Ib|0,c=this.Jb|0,a||c)&&(this.Ib-=a,this.Jb-=c,Bc(this,a,c))}},this);this.J.register("mouse-wheel",function(){},this);this.g=5;this.aa=this.ba=!1;p(a.A,96,this,this.Pg);p(a.A,100,this,this.Rg);q(a.A,96,this,this.Qg);q(a.A,100,this,this.Sg)}l=zc.prototype; -l.La=function(){var a=[];a[0]=this.Yb;a[1]=this.ic;a[2]=this.ud;a[3]=this.Ib;a[4]=this.Jb;a[5]=this.sc;a[6]=this.ja;a[7]=this.qd;a[8]=this.D;a[9]=this.W;a[10]=this.K;a[11]=this.v;a[12]=this.L;a[13]=this.N;a[15]=this.m;a[16]=this.Yc;a[17]=this.Xc;a[18]=this.o;a[20]=this.g;a[21]=this.ba;a[22]=this.aa;return a}; -l.Ra=function(a){this.Yb=a[0];this.ic=a[1];this.ud=a[2];this.Ib=a[3];this.Jb=a[4];this.sc=a[5];this.ja=a[6];this.qd=a[7];this.D=a[8];this.W=a[9];this.K=a[10];this.v=a[11];this.L=a[12];this.N=a[13];this.m=a[15];this.Yc=a[16];this.Xc=a[17];this.o=a[18];this.g=a[20];this.ba=a[21];this.aa=a[22];this.J.send("mouse-enable",this.ic)};function Cc(a){a.g&2&&a.s.v(12)}function Ac(a){a.g&1&&a.s.v(1)}function Bc(a,c,d){a.b.push((0>d)<<5|(0>c)<<4|8|a.sc);a.b.push(c);a.b.push(d);Cc(a)}l.cb=function(){}; -l.Pg=function(){if(!this.ka.length&&!this.b.length)return this.m;this.b.length&&!this.ka.length?(this.m=this.b.shift(),1<=this.b.length&&Cc(this)):(this.m=this.ka.shift(),1<=this.ka.length&&Ac(this));return this.m};l.Rg=function(){var a=16;if(this.b.length||this.ka.length)a|=1;this.b.length&&!this.ka.length&&(a|=32);return a}; -l.Qg=function(a){if(this.aa)Ac(this),this.g=a,this.aa=!1;else if(this.ba)this.ba=!1,this.b.clear(),this.b.push(a),Cc(this);else if(this.W)this.W=!1,this.b.clear(),this.b.push(250),this.Yc=a,Cc(this);else if(this.N)this.N=!1,this.b.clear(),this.b.push(250),this.Xc=3>5;1===c?this.Z&=this.Z-1:3===c&&(this.Z&=~(1<<(a&7)));Fc(this.s)}});p(this.s.A,a,this,function(){return this.ae?this.Z:this.ab});q(this.s.A,a|1,this,function(a){0===this.state?this.rd?(this.rd=!1,this.Gc=a&2):(this.Sb=~a,Fc(this.s)):1===this.state?(this.wd=a,this.state++):2===this.state&&(this.state=0)});p(this.s.A,a|1,this,function(){return~this.Sb&255});q(this.s.A,c,this,function(a){this.Re=a});p(this.s.A,c,this,function(){return this.Re});this.b?(this.Ed=function(a){8<= -a&&(this.na.Ed(a-8),a=2);a=1<>7});q(a.A,113,this,this.If);p(a.A,113,this,this.Hf)}l=Hc.prototype;l.La=function(){var a=[];a[0]=this.Jc;a[1]=this.ea;a[2]=this.b;a[3]=this.L;a[4]=this.g;a[5]=this.D;a[6]=this.N;a[7]=this.K;a[8]=this.v;a[9]=this.m;a[10]=this.o;a[11]=this.Fe;return a}; -l.Ra=function(a){this.Jc=a[0];this.ea=a[1];this.b=a[2];this.L=a[3];this.g=a[4];this.D=a[5];this.N=a[6];this.K=a[7];this.v=a[8];this.m=a[9];this.o=a[10];this.Fe=a[11]};l.zb=function(a){a=Date.now();this.b+=a-this.L;this.L=a;return this.N&&this.D&&this.g>(this.v&15)-1);break;case 11:this.m=a,this.m&64&&(this.g=Date.now())}this.N=64===(this.m&64)&&0<(this.v&15)};function Jc(a,c,d){function e(a){if(this.cc&128)this.Xb=this.Xb&-256|a;else if(Kc(this),255!==a){var c=String.fromCharCode(a);this.J.send("serial0-output-char",c);this.re.push(a);"\n"===c&&(this.J.send("serial0-output-line",String.fromCharCode.apply("",this.re)),this.re=[])}}this.J=d;this.s=a;this.Rb=this.ve=this.b=this.cc=this.Xb=this.pb=0;this.$a=1;this.Ha=this.fe=this.Ee=this.Yd=0;this.input=new bb(4096);this.re=[];if(1E3===c||1016===c)this.Ha=4;else if(1E3===c||1E3===c)this.Ha=3;else return;this.J.register("serial0-input", -function(a){this.input.push(a);this.pb|=4096;this.Rb&1&&Lc(this)},this);a=a.A;q(a,c,this,function(a){e.call(this,a)},function(a){e.call(this,a&255);e.call(this,a>>8)});q(a,c|1,this,function(a){this.cc&128?this.Xb=this.Xb&255|a<<8:(this.Rb=a,Mc(this))});p(a,c,this,function(){if(this.cc&128)return this.Xb&255;var a=this.input.shift();this.input.length&&Lc(this);return a});p(a,c|1,this,function(){return this.cc&128?this.Xb>>8:this.Rb});p(a,c|2,this,function(){var a=this.$a&15|192;2===this.$a?Nc(this, -2):12===this.$a&&Nc(this,12);return a});q(a,c|2,this,function(a){this.ve=a});p(a,c|3,this,function(){return this.cc});q(a,c|3,this,function(a){this.cc=a});p(a,c|4,this,function(){return this.Yd});q(a,c|4,this,function(a){this.Yd=a});p(a,c|5,this,function(){var a=0;this.input.length&&(a|=1);return a|96});q(a,c|5,this,function(){});p(a,c|6,this,function(){return this.Ee});q(a,c|6,this,function(){});p(a,c|7,this,function(){return this.fe});q(a,c|7,this,function(a){this.fe=a})} -Jc.prototype.La=function(){var a=[];a[0]=this.pb;a[1]=this.Xb;a[2]=this.cc;a[3]=this.b;a[4]=this.ve;a[5]=this.Rb;a[6]=this.$a;a[7]=this.Yd;a[8]=this.Ee;a[9]=this.fe;a[10]=this.Ha;return a};Jc.prototype.Ra=function(a){this.pb=a[0];this.Xb=a[1];this.cc=a[2];this.b=a[3];this.ve=a[4];this.Rb=a[5];this.$a=a[6];this.Yd=a[7];this.Ee=a[8];this.fe=a[9];this.Ha=a[10]};Jc.prototype.Y=function(){this.s.v(this.Ha)};function Nc(a,c){a.pb&=~(1<d)throw new Oc("Invalid length: "+d);var e=new Int32Array(c,0,4);if(-2039052682!==e[0])throw new Oc("Invalid header: "+$a(e[0]>>>0));if(3!==e[1])throw new Oc("Version mismatch: dump="+e[1]+" we=3");if(e[2]!==d)throw new Oc("Length doesn't match header: real="+d+" header="+e[2]);e=e[3];if(0>e||e+12>=d||e%2)throw new Oc("Invalid info block length: "+e);for(var f=e/2,h=new Uint16Array(c,16,f),r="",d=0;d>8);if(c+d>this.memory.length){var t= -this.memory.length-r;this.memory.set(a.subarray(0,t),r);this.memory.set(a.subarray(t),76)}else if(this.memory.set(a,r),60>a.length)for(a=a.length;60>a;a++)this.memory[r+a]=0;k>=this.xc&&(k+=this.Vc-this.xc);this.memory[c]=1;this.memory[c+1]=k;this.memory[c+2]=d;this.memory[c+3]=d>>8;this.kc=k;Tc(this,1)}},this);this.name="ne2k";this.Uc=[236,16,41,128,3,1,0,0,0,0,0,2,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,26,0,17,0,0,184,254,0,0,0,0,0,0,0,0,11,1,0,0];this.Tb=40;this.dc= -[{size:32}];zb(a.H.Tc,this);this.vd=this.Z=0;this.G=1;this.od=0;this.Ha=11;this.ge=this.Bc=this.wb=0;this.memory=new Uint8Array(32768);this.ee=0;this.jh=1;c=[0,34,21,255*Math.random()|0,255*Math.random()|0,255*Math.random()|0];for(var d=0;6>d;d++)this.memory[d<<1]=this.memory[d<<1|1]=c[d];this.memory[14]=this.memory[15]=87;this.Ya=0;this.Vc=64;this.xc=128;this.Td=this.kc=76;a=a.A;p(a,768,this,function(){return this.G});q(a,768,this,function(a){this.G=a&-5;this.G&1||(a|24&&0===this.wb&&Tc(this,64), -a&4&&(a=this.ge<<8,a=this.memory.subarray(a,a+this.Bc),this.J.send("net0-send",a),this.J.send("eth-transmit-end",[a.length]),Tc(this,2)))});p(a,781,this,function(){return 0});p(a,782,this,function(){return 0});p(a,783,this,function(){return 0});p(a,799,this,function(){this.G&192||Tc(this,128);return 0});q(a,799,this,function(){});q(a,769,this,function(a){this.G&192||(this.Vc=a)});q(a,770,this,function(a){this.G&192||(this.xc=a)});p(a,775,this,function(){return this.G&192?this.kc:this.Z});q(a,775, -this,function(a){this.G&192?this.kc=a:this.Z&=~a});q(a,781,this,function(){});q(a,782,this,function(a){this.G&192||(this.od=a)});q(a,778,this,function(a){this.G&192||(this.wb=this.wb&65280|a&255)});q(a,779,this,function(a){this.G&192||(this.wb=this.wb&255|a<<8&65280)});q(a,776,this,function(a){this.G&192||(this.Ya=this.Ya&65280|a&255)});q(a,777,this,function(a){this.G&192||(this.Ya=this.Ya&255|a<<8&65280)});q(a,783,this,function(a){this.G&192||(this.vd=a,this.vd&this.Z&&this.s.v(this.Ha))});p(a,771, -this,function(){return this.G&192?0:this.Td});q(a,771,this,function(a){this.G&192||(this.Td=a)});p(a,772,this,function(){return this.G&192?0:this.jh});q(a,772,this,function(a){this.G&192||(this.ge=a)});q(a,773,this,function(a){this.G&192||(this.Bc=this.Bc&-256|a)});q(a,774,this,function(a){this.G&192||(this.Bc=this.Bc&255|a<<8)});p(a,780,this,function(){return this.G&192?0:9});q(a,780,this,function(a){this.ee=a});p(a,784,this,this.Lf,this.Oe,this.Kf);q(a,784,this,this.Pe,this.Pe,this.Mf)}l=Sc.prototype; -l.La=function(){var a=[];a[0]=this.Z;a[1]=this.vd;a[2]=this.G;a[3]=this.od;a[4]=this.wb;a[5]=this.Bc;a[6]=this.ge;a[7]=this.Ya;a[8]=this.Vc;a[9]=this.kc;a[10]=this.Td;return a};l.Ra=function(a){this.Z=a[0];this.vd=a[1];this.G=a[2];this.od=a[3];this.wb=a[4];this.Bc=a[5];this.ge=a[6];this.Ya=a[7];this.Vc=a[8];this.kc=a[9];this.Td=a[10]};function Tc(a,c){a.Z|=c;a.vd&a.Z&&a.s.v(a.Ha)} -function Uc(a,c){16a.Ya||(a.wb--,a.memory[a.Ya++]=c,a.Ya>=a.xc<<8&&(a.Ya+=a.Vc-a.xc<<8),0===a.wb&&Tc(a,64))}l.Pe=function(a){Uc(this,a);this.od&1&&Uc(this,a>>8)};l.Mf=function(a){Uc(this,a);Uc(this,a>>8);Uc(this,a>>16);Uc(this,a>>24)};function Vc(a){var c=a.memory[a.Ya++];a.wb--;a.Ya>=a.xc<<8&&(a.Ya+=a.Vc-a.xc<<8);0===a.wb&&Tc(a,64);return c}l.Lf=function(){return this.Oe()&255};l.Oe=function(){return this.od&1?Vc(this)|Vc(this)<<8:Vc(this)}; -l.Kf=function(){return Vc(this)|Vc(this)<<8|Vc(this)<<16|Vc(this)<<24};function Wc(a,c,d){this.Uc=[244,26,9,16,7,5,16,0,0,0,2,0,0,0,0,0,1,168,0,0,0,16,191,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,26,9,0,0,0,0,0,64,0,0,0,0,0,0,0,12,1,0,0];this.Tb=48;this.dc=[{size:256}];this.name="virtio";zb(a.H.Tc,this);var e=a.A;p(e,43008,this,void 0,void 0,function(){return 1});q(e,43012,this,void 0,void 0,function(){});q(e,43022,this,void 0,function(a){this.Cd=a},void 0);p(e,43020,this,void 0,function(){return this.Vb},void 0);p(e,43016,this,void 0,void 0,function(){return 0=== -this.Cd?this.Ub:0});q(e,43016,this,void 0,void 0,function(a){this.Ub=a});q(e,43026,this,function(a){0===a&&this.reset();this.pd=a});p(e,43026,this,function(){return this.pd});p(e,43027,this,function(){var a=this.Z;this.Z=0;return a});q(e,43024,this,void 0,function(){for(var a=(this.Ub<<12)+16*this.Vb,c=a+4,a=this.memory.ma(a+2),d=this.Vb-1,a=a&d;this.pc!==a;){var e=this.memory.ma(c+2*this.pc);Xc(this,e);this.pc=this.pc+1&d}});this.Ha=12;this.s=a;this.J=c;this.pc=this.Z=this.pd=this.Cd=0;this.Vb=32; -this.Ub=0;this.memory=a.memory;for(a=0;128>a;a++)p(e,43028+a,this,function(a){return a>>0;h.push({ne:t,Df:d,De:u});if(k&1)d=a.memory.ma(r+14);else{d=-1;break}}while(1);var z=-1,G=0;ea(a.U,{start:c,next:d},function(){if(G>=z){if(f===h.length)return 0;var a=h[f++];t=a.ne;z=a.De;G=0}return this.memory.da(t+G++)}.bind(a))} -Wc.prototype.b=function(a,c){if(-1!==c.next){var d=this.Vb-1;a=this.U.ce;var e=c.next,f=this.Ub<<12,h=0,r=[];do{var e=f+16*e,k=this.memory.ma(e+12);if(!(k&2))break;var t=$b(this.memory,e),u=$b(this.memory,e+4),z=$b(this.memory,e+8)>>>0;r.push({ne:t,Df:u,De:z});if(k&1)e=this.memory.ma(e+14);else break}while(1);k=-1;for(f=u=0;f=k){if(h===r.length)return 0;k=r[h++];t=k.ne;k=k.De;u=0}this.memory.sa(t+u++,e)}t=(this.Ub<<12)+16*this.Vb+4+2*this.Vb;t=t+4095&-4096;this.memory.ma(t); -h=this.memory.ma(t+2);this.memory.ad(t+2,h+1);d=t+4+8*(h&d);this.memory.Cc(d,c.start);this.memory.Cc(d+4,a);this.Z|=1;this.s.v(this.Ha)}};function Yc(){this.yd={};this.b=void 0}Yc.prototype.register=function(a,c,d){var e=this.yd[a];void 0===e&&(e=this.yd[a]=[]);e.push({Ve:c,ih:d})};Yc.prototype.unregister=function(a,c){var d=this.yd[a];void 0!==d&&(this.yd[a]=d.filter(function(a){return a.Ve!==c}))};Yc.prototype.send=function(a,c){if(this.b&&(a=this.b.yd[a],void 0!==a))for(var d=0;d>4&240;c.ea[61]=d&255;c.ea[21]=128;c.ea[22]=2;d=0;1048576<=a.bb&&(d=a.bb-1048576>>10,d=Math.min(d,65535));c.ea[23]=d&255;c.ea[24]=d>>8&255;c.ea[48]=d&255;c.ea[49]=d>>8&255;d=0;16777216<=a.bb&&(d=a.bb-16777216>>16,d=Math.min(d,65535));c.ea[52]=d&255;c.ea[53]=d>>8&255;c.ea[91]=0;c.ea[92]=0;c.ea[93]=0;c.ea[20]=47;c.ea[95]=0} -function Ma(a){var c=a.Hc.cf,d=a.Hc.jc;if(c){var e=new Uint8Array(c);a.memory.fa.set(e,1048576-c.byteLength);d&&(e=new Uint8Array(d),a.memory.fa.set(e,786432));Ca(a.A,4293918720,1048576,function(a){return this.memory.fa[a&1048575]}.bind(a),function(a,c){this.memory.fa[a&1048575]=c}.bind(a))}}v.prototype.W=function(){for(var a=Oa(),c=a;33>c-a;){this.H.$d.zb(c,!1);this.H.fc.zb(c,!1);Fc(this);for(c=11001;c--;)fd(this);c=Oa()}}; -"undefined"!==typeof window&&(window.b=v.prototype.W,window.g=v.prototype.ue,window.m=v.prototype.ba);function fd(a){a.ga=a.w;a.V++;var c=C(a);a.table[c](a)}v.prototype.Jf=function(){try{fd(this)}catch(a){this.ue(a)}};v.prototype.cycle=v.prototype.Jf;function gd(a){a.table[C(a)](a)}v.prototype.ba=function(){var a=Oa();this.H.$d.zb(a,!1);this.H.fc.zb(a,!1);return 0};function dd(a){a.ca=0;a.ya=-1;a.la!==a.Na&&(a.la=a.Na,$c(a));a.Da!==a.Na&&(a.Da=a.Na,ad(a))} -function hd(a){var c=-2147483648===(a.G[0]&-2147483648);a.Ba||(a.G[0]|=4);a.G[0]|=16;c!==a.X&&(a.X=c,cd(a))}function id(a){a.Gb=-1;a.Sc=-1}function C(a){a.w&-4096^a.Gb&&(a.L=jd(a,a.w)^a.w,a.Gb=a.w&-4096);var c=a.memory.da(a.L^a.w);a.w=a.w+1|0;return c}function D(a){return C(a)<<24>>24}function E(a){if(4094<(a.w^a.Gb)>>>0)return C(a)|C(a)<<8;var c=a.memory.ma(a.L^a.w);a.w=a.w+2|0;return c}function H(a){if(4092<(a.w^a.Gb)>>>0)return E(a)|E(a)<<16;var c=$b(a.memory,a.L^a.w);a.w=a.w+4|0;return c} -function kd(a,c,d,e){a.memory.sa(c,e);a.memory.sa(d,e>>24);c&1?c&2?(a.memory.sa(d-2,e>>8),a.memory.sa(d-1,e>>16)):(a.memory.sa(c+1|0,e>>8),a.memory.sa(c+2|0,e>>16)):(a.memory.sa(c+1|0,e>>8),a.memory.sa(d-1,e>>16))}function ld(a,c){return a.memory.da(jd(a,c))}function y(a,c){return a.X&&4095===(c&4095)?ld(a,c)|ld(a,c+1|0)<<8:a.memory.ma(jd(a,c))}function A(a,c){return a.X&&4093<=(c&4095)?y(a,c)|y(a,c+2|0)<<16:$b(a.memory,jd(a,c))}function md(a,c,d){a.memory.sa(nd(a,c),d)} -function mb(a,c,d){var e=nd(a,c);4095===(c&4095)?(c=nd(a,c+1|0),a.memory.sa(e,d),a.memory.sa(c,d>>8)):a.memory.ad(e,d)}function x(a,c,d){var e=nd(a,c);4093<=(c&4095)?kd(a,e,nd(a,c+3|0),d):a.memory.Cc(e,d)}function od(a){return a.la?pd(a,3)+H(a)|0:pd(a,3)+E(a)|0}function qd(a){return a.h>>12&3}function rd(a){return!!(a.h&131072)}function sd(a){return a.h&-2262|!!a.Pa()|!!a.Ze()<<2|!!td(a)<<4|!!a.Pb()<<6|!!a.Ud()<<7|!!a.td()<<11}function ud(a){a.h=sd(a);a.u=0} -function vd(a,c){var d=1769472,e=2588629;a.h&131072?(d|=12288,e|=1572864):a.O&&(d|=12288,a.O>qd(a)&&(d|=512));a.h=(c^(a.h^c)&d)&e|2;a.u=0}function wd(a,c){a.gb?a.a[4]=c:a.l[8]=c}function I(a,c){a.gb?a.a[4]+=c:a.l[8]+=c}function J(a,c){return a.gb?K(a,2)+a.a[4]+c|0:K(a,2)+(a.l[8]+c&65535)|0}function xd(a){return a.w-K(a,1)|0} -function Ec(a,c,d,e){a.Pc=!1;if(a.qa){if(rd(a)&&a.G[4]&1)throw a.debug.S("VME");rd(a)&&d&&3>qd(a)&&M(a,0);if((c<<3|7)>a.Oc)throw a.debug.S("#GP handler");var f=a.ac+(c<<3)|0;a.X&&(f=yd(a,f));var h=a.memory.ma(f)|a.memory.ma(f+6|0)<<16,r=a.memory.ma(f+2|0),k=a.memory.da(f+5|0),t=k>>5&3,f=k&31;if(!(k&128))throw a.debug.S("#NP handler");d&&th.Ob)throw a.debug.S("#NP handler");c=a.Ea[6];d=sd(a);lb(a,c,102);x(a,c+32,xd(a));x(a,c+36,d);x(a,c+40,a.a[0]);x(a,c+44,a.a[1]);x(a,c+48,a.a[2]);x(a,c+52,a.a[3]);x(a,c+56,a.a[4]);x(a,c+60,a.a[5]);x(a,c+64,a.a[6]);x(a,c+68,a.a[7]);x(a,c+72,a.R[0]);x(a,c+76,a.R[1]);x(a,c+80,a.R[2]);x(a,c+84,a.R[3]);x(a,c+88,a.R[4]);x(a,c+92,a.R[5]);x(a,c+96,a.R[7]);a.memory.sa(h.Hd+5|0,a.memory.da(h.Hd+5|0)|2);d=h.Cb;f=A(a,d+28);a.h&=-131073;B(a,1,y(a,d+76));k=A(a,d+36);x(a,c+0,r);k|=16384;if(k&131072)throw a.debug.S("task switch to VM mode"); -vd(a,k);c=y(a,d+96);Ad(a,c);a.a[0]=A(a,d+40);a.a[1]=A(a,d+44);a.a[2]=A(a,d+48);a.a[3]=A(a,d+52);a.a[4]=A(a,d+56);a.a[5]=A(a,d+60);a.a[6]=A(a,d+64);a.a[7]=A(a,d+68);B(a,0,y(a,d+72));B(a,2,y(a,d+80));B(a,3,y(a,d+84));B(a,4,y(a,d+88));B(a,5,y(a,d+92));a.w=K(a,1)+A(a,d+32)|0;a.Ea[6]=h.Cb;a.Qa[6]=h.Ob;a.R[6]=r;a.G[3]=f;Bd(a);a.G[0]|=8;!1!==e&&N(a,e)}else{if(6!==(f&-10))throw a.debug.S("#GP handler");c=1===(f&1);d=!(f&8);f=zd(a,r);if(f.kb)throw a.debug.S("#GP handler");if(!f.oc||f.xa>a.O)throw a.debug.S("#GP handler"); -if(!f.Eb)throw a.debug.S("#NP handler");ud(a);k=a.h;if(!f.lc&&f.xaa.Qa[6])throw a.debug.S("#TS handler");u=u+a.Ea[6]|0;a.X&&(u=yd(a,u));var t=$b(a.memory,u),u=a.memory.ma(u+4|0),z=zd(a,u);if(z.kb)throw a.debug.S("#TS handler");if(z.mb!==f.xa)throw a.debug.S("#TS handler");if(z.xa!==f.xa||!z.de)throw a.debug.S("#TS handler");if(!z.Eb)throw a.debug.S("#TS handler");var G=a.a[4],F=a.R[2],L=(d?2:4)*(5+(!1!==e)+4*(131072===(k&131072)));Cd(a,z.Cb+(z.size?t-L:t-L&65535)); -Cd(a,z.Cb+t-1);a.O=f.xa;id(a);a.Na!==f.size&&Dd(a,f.size);a.h&=-196609;B(a,2,u);wd(a,t);k&131072&&!d&&(N(a,a.R[5]),N(a,a.R[4]),N(a,a.R[3]),N(a,a.R[0]));d?(O(a,F),O(a,G)):(N(a,F),N(a,G))}else if(f.lc||f.xa===a.O)a.h&131072&&M(a,r&-4),L=(d?2:4)*(3+(!1!==e)),lb(a,J(a,-L),L);else throw a.debug.S("#GP handler");d?(O(a,k),O(a,a.R[1]),O(a,xd(a)),!1!==e&&O(a,e),h&=65535):(N(a,k),N(a,a.R[1]),N(a,xd(a)),!1!==e&&N(a,e));k&131072&&(B(a,5,0),B(a,4,0),B(a,3,0),B(a,0,0));a.R[1]=r&-4|a.O;a.Na!==f.size&&Dd(a,f.size); -a.Qa[1]=f.Ob;a.Ea[1]=f.Cb;a.w=K(a,1)+h|0;a.h&=-213249;c?a.K||Fc(a):a.h&=-513}}else r=c<<2,e=a.memory.ma(r),r=a.memory.ma(r+2|0),ud(a),O(a,a.h),O(a,a.R[1]),O(a,xd(a)),a.h&=-513,B(a,1,r),a.w=K(a,1)+e|0} -function Ed(a,c){if(c)var d=y(a,J(a,0)),e=y(a,J(a,2)),f=y(a,J(a,4));else d=A(a,J(a,0)),e=y(a,J(a,4)),f=A(a,J(a,8));if(!a.qa||rd(a)&&3===qd(a)){if(d&4294901760)throw a.debug.S("#GP handler");B(a,1,e);a.w=d+K(a,1)|0;c?(vd(a,f|a.h&-65536),I(a,6)):(vd(a,f),I(a,12))}else{rd(a)&&M(a,0);a.h&16384&&M(a,0);if(f&131072)if(a.O)f&=-131073;else{var h=A(a,J(a,12)),r=y(a,J(a,16));c=y(a,J(a,20));var k=y(a,J(a,24)),t=y(a,J(a,28)),u=y(a,J(a,32));vd(a,f);a.h|=131072;B(a,1,e);a.w=(d&65535)+K(a,1)|0;B(a,0,c);B(a,3,k); -B(a,4,t);B(a,5,u);I(a,36);a.a[4]=h;B(a,2,r);a.O=3;id(a);Dd(a,!1);return}k=zd(a,e);if(k.kb)throw a.debug.S("is null");if(!k.Eb)throw a.debug.S("not present");if(!k.oc)throw a.debug.S("not exec");if(k.mbk.mb)throw a.debug.S("conforming and dpl > rpl");k.mb>a.O?(c?(h=y(a,J(a,6)),r=y(a,J(a,8))):(h=A(a,J(a,12)),r=y(a,J(a,16))),c?vd(a,f|a.h&-65536):vd(a,f),a.O=k.mb,id(a),B(a,2,r),wd(a,h),a.O||(a.h=a.h&-1572865|f&1572864)):k.mb===a.O&&(c?(I(a,6),vd(a,f|a.h& --65536)):(I(a,12),vd(a,f)),a.O||(a.h=a.h&-1572865|f&1572864));a.R[1]=e;k.size!==a.Na&&Dd(a,k.size);a.Qa[1]=k.Ob;a.Ea[1]=k.Cb;a.w=d+K(a,1)|0}Fc(a)}function Fd(a,c){Ec(a,c,!1,!1);throw 233495534;}function Gd(a){a.w=a.ga;Fd(a,0)}function w(a){a.w=a.ga;Fd(a,6)}function M(a,c){a.w=a.ga;Ec(a,13,!1,c);throw 233495534;}function Hd(a){a.G[0]&12&&(a.w=a.ga,Fd(a,7))}function P(a){return pd(a,3)}function Q(a){return pd(a,2)}function pd(a,c){return-1===a.ya?K(a,c):9===a.ya?0:K(a,a.ya)} -function K(a,c){a.qa&&a.yb[c]&&M(a,0);return a.Ea[c]}function Id(a){return 192>a.f?ld(a,a.P(a.f)):a.C[a.f<<2&12|a.f>>2&1]}function R(a){return 192>a.f?y(a,a.P(a.f)):a.l[a.f<<1&14]}function Jd(a){return 192>a.f?A(a,a.P(a.f)):a.a[a.f&7]}function Kd(a,c){if(192>a.f){var d=a.P(a.f);md(a,d,c)}else a.C[a.f<<2&12|a.f>>2&1]=c}function Ld(a,c){if(192>a.f){var d=a.P(a.f);mb(a,d,c)}else a.l[a.f<<1&14]=c}function Md(a,c){if(192>a.f){var d=a.P(a.f);x(a,d,c)}else a.a[a.f&7]=c} -function Nd(a){if(192>a.f){var c=a.P(a.f);a.o=nd(a,c);return a.memory.da(a.o)}return a.C[a.f<<2&12|a.f>>2&1]}function Od(a,c){192>a.f?a.memory.sa(a.o,c):a.C[a.f<<2&12|a.f>>2&1]=c}function S(a){if(192>a.f){var c=a.P(a.f);a.o=nd(a,c);if(a.X&&4095===(c&4095))return a.D=nd(a,c+1|0),c=a.D,a.memory.da(a.o)|a.memory.da(c)<<8;a.D=0;return a.memory.ma(a.o)}return a.l[a.f<<1&14]} -function T(a,c){if(192>a.f)if(a.D){var d=a.D;a.memory.sa(a.o,c);a.memory.sa(d,c>>8)}else a.memory.ad(a.o,c);else a.l[a.f<<1&14]=c}function U(a){if(192>a.f){var c=a.P(a.f);a.o=nd(a,c);if(a.X&&4093<=(c&4095)){a.D=nd(a,c+3|0);var c=a.o,d=a.D,e;c&1?e=c&2?kc(a.memory,d-2>>1):kc(a.memory,c+1>>1):(e=d-1|0,e=a.memory.da(c+1|0)|a.memory.da(e)<<8);return a.memory.da(c)|e<<8|a.memory.da(d)<<24}a.D=0;return $b(a.memory,a.o)}return a.a[a.f&7]} -function V(a,c){192>a.f?a.D?kd(a,a.o,a.D,c):a.memory.Cc(a.o,c):a.a[a.f&7]=c}function Pd(a){return a.l[a.f<<1&14]}function Qd(a,c){a.l[a.f<<1&14]=c}function Rd(a){return a.a[a.f&7]}function Sd(a,c){a.a[a.f&7]=c}function Td(a){return a.C[a.f>>1&12|a.f>>5&1]}function Ud(a,c){a.C[a.f>>1&12|a.f>>5&1]=c}function Vd(a){return a.l[a.f>>2&14]}function Wd(a){return a.yc[a.f>>2&14]}function Xd(a,c){a.l[a.f>>2&14]=c}function W(a){return a.a[a.f>>3&7]}function Yd(a,c){a.Wc[a.f>>3&7]=c} -function Fc(a){a.h&512&&!a.K&&(a.H.ec&&a.H.ec.md(),a.H.jd&&a.H.jd.md())}v.prototype.v=function(a){this.H.ec&&this.H.ec.Ed(a);this.H.jd&&this.H.jd.Ed(a);Ab(this,a)};function Ab(a,c){a.H.ec&&a.H.ec.nd(c);a.H.jd&&a.H.jd.nd(c)}function Zd(a,c,d){if(a.qa&&(a.O>qd(a)||a.h&131072)){var e=a.Qa[6],f=a.Ea[6];if(103<=e){var h=a.memory.ma(yd(a,f+100+2|0));if(e>=(h+((c+d-1|0)>>3)|0)&&(d=(1<>3)|0),!((d&65280?a.memory.ma(c):a.memory.da(c))&d)))return}M(a,0)}} -function Dd(a,c){a.Na=a.Da=a.la=c;ad(a);$c(a)}function ad(a){a.table=a.Da?a.wa:a.ja}function $c(a){a.la?(a.j=a.a,a.M=1,a.I=6,a.B=7):(a.j=a.l,a.M=2,a.I=12,a.B=14)} -function zd(a,c){var d=!(c&4),e=c&-8,f,h;f={mb:c&3,ye:d,kb:!1,bc:!0,Cb:0,Bb:0,h:0,type:0,xa:0,Fb:!1,Eb:!1,oc:!1,de:!1,lc:!1,size:!1,xd:!1,Ob:0,Ce:!1,Ae:!1,Hd:0,pf:0};d?(d=a.$b,h=a.Nc):(d=a.Ea[7],h=a.Qa[7]);if(!e)return f.kb=!0,f;if((c|7)>h)return f.bc=!1,f;d=d+e|0;a.X&&(d=yd(a,d));f.Hd=d;f.Cb=a.memory.ma(d+2|0)|a.memory.da(d+4|0)<<16|a.memory.da(d+7|0)<<24;f.Bb=a.memory.da(d+5|0);f.h=a.memory.da(d+6|0)>>4;f.pf=$b(a.memory,d+4|0);f.type=f.Bb&15;f.xa=f.Bb>>5&3;f.Fb=!(f.Bb&16);f.Eb=128===(f.Bb&128); -f.oc=8===(f.Bb&8);f.de=2===(f.Bb&2);f.lc=4===(f.Bb&4);f.xd=f.lc&&f.oc;f.size=4===(f.h&4);a=a.memory.ma(d)|(a.memory.da(d+6|0)&15)<<16;f.Ob=f.h&8?(a<<12|4095)>>>0:a;f.Ce=f.de&&!f.oc;f.Ae=f.de||!f.oc;return f} -function B(a,c,d){1===c&&(a.qa=1===(a.G[0]&1));if(!a.qa||rd(a))a.R[c]=d,a.yb[c]=0,a.Ea[c]=d<<4,2===c&&(a.gb=!1);else{var e=zd(a,d);if(2===c){e.kb&&M(a,0);e.bc&&!e.Fb&&e.mb===a.O&&e.Ce&&e.xa===a.O||M(a,d&-4);if(!e.Eb)throw a.w=a.ga,Ec(a,12,!1,d&-4),233495534;a.gb=e.size}else if(1===c){if(e.Fb)throw a.debug.S("load system segment descriptor, type = "+(e.Bb&15));e.oc||M(a,d&-4);if(!e.Eb)throw a.w=a.ga,Ec(a,11,!1,d&-4),233495534;if(e.mb>a.O)throw a.debug.S("privilege change");if(!e.lc&&e.xae.xa||a.O>e.xa))&&M(a,d&-4);if(!e.Eb)throw a.w=a.ga,Ec(a,11,!1,d&-4),233495534;}a.yb[c]=0;a.Qa[c]=e.Ob;a.Ea[c]=e.Cb;a.R[c]=d}} -function Ad(a,c){var d=zd(a,c);if(d.kb)a.Ea[7]=0,a.Qa[7]=0;else{if(!d.ye)throw a.debug.S("LDTR can only be loaded from GDT");if(!d.Eb)throw a.debug.S("#GP handler");if(!d.Fb)throw a.debug.S("#GP handler");if(2!==d.type)throw a.debug.S("#GP handler");a.Ea[7]=d.Cb;a.Qa[7]=d.Ob;a.R[7]=c}}function $d(a,c,d){c=zd(a,c);a.u&=-65;var e=c.xa>c.type&1||e:!c.xd&&e))return a.h&=-65,d;a.h|=64;return c.pf&16776960} -function ae(a,c,d){c=zd(a,c);a.u&=-65;var e=c.xa>c.type&1||e:!c.xd&&e))return a.h&=-65,d;a.h|=64;return c.Ob|0}function Bd(a){a.Gb=-1;a.Sc=-1;a.Kb.set(a.Id)}function cd(a){for(var c=new Int32Array(a.Id.buffer),d=0;262144>d;)c[d++]=c[d++]=c[d++]=c[d++]=0;Bd(a)}function jd(a,c){if(a.X)if(3===a.O)if(a.X){var d=c>>>12;a=a.Kb[d]&4?a.N[d]^c:be(a,c,0,1)|c&4095}else a=c;else a=yd(a,c);else a=c;return a} -function nd(a,c){if(a.X)if(3===a.O)if(a.X){var d=c>>>12;a=a.Kb[d]&8?a.N[d]^c:be(a,c,1,1)|c&4095}else a=c;else a=Cd(a,c);else a=c;return a}function Cd(a,c){if(!a.X)return c;var d=c>>>12;return a.Kb[d]&2?a.N[d]^c:be(a,c,1,0)|c&4095}function yd(a,c){if(!a.X)return c;var d=c>>>12;return a.Kb[d]&1?a.N[d]^c:be(a,c,0,0)|c&4095} -function be(a,c,d,e){var f=c>>>12,h=(a.G[3]>>>2)+(f>>10)|0,r=a.memory.Hb[h],k=!0,t=!0;r&1||(a.G[2]=c,ce(a,d,e,0));r&2||(k=!1,d&&(e||a.G[0]&65536)&&(a.G[2]=c,ce(a,d,e,1)));r&4||(t=!1,e&&(a.G[2]=c,ce(a,d,e,1)));if(r&a.Ad)a.memory.Hb[h]=r|32|d<<6,c=r&4290772992|c&4190208,r&=256;else{var u=((r&4294963200)>>>2)+(f&1023)|0,z=a.memory.Hb[u];z&1||(a.G[2]=c,ce(a,d,e,0));z&2||(k=!1,d&&(e||a.G[0]&65536)&&(a.G[2]=c,ce(a,d,e,1)));z&4||(t=!1,e&&(a.G[2]=c,ce(a,d,e,1)));a.memory.Hb[h]=r|32;a.memory.Hb[u]=z|32|d<< -6;c=z&4294963200;r=z&256}a.N[f]=c^f<<12;k=t?k?15:5:k?3:1;a.Kb[f]=k;r&&a.G[4]&128&&(a.Id[f]=k);return c}function lb(a,c,d){if(a.X){var e=3===a.O?1:0,f=e?8:2,h=c>>>12;a.Kb[h]&f||be(a,c,1,e);4096<=(c&4095)+d-1&&(a.Kb[h+1|0]&f||be(a,c+d-1|0,1,e))}}function ce(a,c,d,e){if(a.K)throw a.debug.S("Double fault");var f=a.G[2]>>>12;a.Kb[f]=0;a.Id[f]=0;a.w=a.ga;a.K=!0;Ec(a,14,!1,d<<2|c<<1|e);throw 233495534;};(function(){v.prototype.g=Array(192);v.prototype.b=Array(192);v.prototype.i=Array(256);v.prototype.g[0]=function(a){return P(a)+(a.l[6]+a.l[12]&65535)|0};v.prototype.g[64]=function(a){return P(a)+(a.l[6]+a.l[12]+D(a)&65535)|0};v.prototype.g[128]=function(a){return P(a)+(a.l[6]+a.l[12]+E(a)&65535)|0};v.prototype.g[1]=function(a){return P(a)+(a.l[6]+a.l[14]&65535)|0};v.prototype.g[65]=function(a){return P(a)+(a.l[6]+a.l[14]+D(a)&65535)|0};v.prototype.g[129]=function(a){return P(a)+(a.l[6]+a.l[14]+E(a)& -65535)|0};v.prototype.g[2]=function(a){return Q(a)+(a.l[10]+a.l[12]&65535)|0};v.prototype.g[66]=function(a){return Q(a)+(a.l[10]+a.l[12]+D(a)&65535)|0};v.prototype.g[130]=function(a){return Q(a)+(a.l[10]+a.l[12]+E(a)&65535)|0};v.prototype.g[3]=function(a){return Q(a)+(a.l[10]+a.l[14]&65535)|0};v.prototype.g[67]=function(a){return Q(a)+(a.l[10]+a.l[14]+D(a)&65535)|0};v.prototype.g[131]=function(a){return Q(a)+(a.l[10]+a.l[14]+E(a)&65535)|0};v.prototype.g[4]=function(a){return P(a)+(a.l[12]&65535)| -0};v.prototype.g[68]=function(a){return P(a)+(a.l[12]+D(a)&65535)|0};v.prototype.g[132]=function(a){return P(a)+(a.l[12]+E(a)&65535)|0};v.prototype.g[5]=function(a){return P(a)+(a.l[14]&65535)|0};v.prototype.g[69]=function(a){return P(a)+(a.l[14]+D(a)&65535)|0};v.prototype.g[133]=function(a){return P(a)+(a.l[14]+E(a)&65535)|0};v.prototype.g[6]=function(a){return Q(a)+(a.l[10]&65535)|0};v.prototype.g[70]=function(a){return Q(a)+(a.l[10]+D(a)&65535)|0};v.prototype.g[134]=function(a){return Q(a)+(a.l[10]+ -E(a)&65535)|0};v.prototype.g[7]=function(a){return P(a)+(a.l[6]&65535)|0};v.prototype.g[71]=function(a){return P(a)+(a.l[6]+D(a)&65535)|0};v.prototype.g[135]=function(a){return P(a)+(a.l[6]+E(a)&65535)|0};v.prototype.b[0]=function(a){return P(a)+a.a[0]|0};v.prototype.b[64]=function(a){return P(a)+a.a[0]+D(a)|0};v.prototype.b[128]=function(a){return P(a)+a.a[0]+H(a)|0};v.prototype.b[1]=function(a){return P(a)+a.a[1]|0};v.prototype.b[65]=function(a){return P(a)+a.a[1]+D(a)|0};v.prototype.b[129]=function(a){return P(a)+ -a.a[1]+H(a)|0};v.prototype.b[2]=function(a){return P(a)+a.a[2]|0};v.prototype.b[66]=function(a){return P(a)+a.a[2]+D(a)|0};v.prototype.b[130]=function(a){return P(a)+a.a[2]+H(a)|0};v.prototype.b[3]=function(a){return P(a)+a.a[3]|0};v.prototype.b[67]=function(a){return P(a)+a.a[3]+D(a)|0};v.prototype.b[131]=function(a){return P(a)+a.a[3]+H(a)|0};v.prototype.b[4]=function(a){return a.i[C(a)](a,!1)|0};v.prototype.b[68]=function(a){return a.i[C(a)](a,!1)+D(a)|0};v.prototype.b[132]=function(a){return a.i[C(a)](a, -!1)+H(a)|0};v.prototype.b[5]=function(a){return Q(a)+a.a[5]|0};v.prototype.b[69]=function(a){return Q(a)+a.a[5]+D(a)|0};v.prototype.b[133]=function(a){return Q(a)+a.a[5]+H(a)|0};v.prototype.b[6]=function(a){return P(a)+a.a[6]|0};v.prototype.b[70]=function(a){return P(a)+a.a[6]+D(a)|0};v.prototype.b[134]=function(a){return P(a)+a.a[6]+H(a)|0};v.prototype.b[7]=function(a){return P(a)+a.a[7]|0};v.prototype.b[71]=function(a){return P(a)+a.a[7]+D(a)|0};v.prototype.b[135]=function(a){return P(a)+a.a[7]+ -H(a)|0};v.prototype.g[6]=function(a){return P(a)+E(a)|0};v.prototype.b[5]=function(a){return P(a)+H(a)|0};v.prototype.b[4]=function(a){return a.i[C(a)](a,!1)|0};v.prototype.b[68]=function(a){return a.i[C(a)](a,!0)+D(a)|0};v.prototype.b[132]=function(a){return a.i[C(a)](a,!0)+H(a)|0};for(var a=0;8>a;a++)for(var c=0;3>c;c++)for(var d=a|c<<6,e=1;8>e;e++)v.prototype.b[d|e<<3]=v.prototype.b[d],v.prototype.g[d|e<<3]=v.prototype.g[d];v.prototype.i[0]=function(a){return a.a[0]+P(a)+a.a[0]|0};v.prototype.i[1]= -function(a){return a.a[0]+P(a)+a.a[1]|0};v.prototype.i[2]=function(a){return a.a[0]+P(a)+a.a[2]|0};v.prototype.i[3]=function(a){return a.a[0]+P(a)+a.a[3]|0};v.prototype.i[4]=function(a){return a.a[0]+Q(a)+a.a[4]|0};v.prototype.i[5]=function(a,c){return a.a[0]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[6]=function(a){return a.a[0]+P(a)+a.a[6]|0};v.prototype.i[7]=function(a){return a.a[0]+P(a)+a.a[7]|0};v.prototype.i[64]=function(a){return(a.a[0]<<1)+P(a)+a.a[0]|0};v.prototype.i[65]=function(a){return(a.a[0]<< -1)+P(a)+a.a[1]|0};v.prototype.i[66]=function(a){return(a.a[0]<<1)+P(a)+a.a[2]|0};v.prototype.i[67]=function(a){return(a.a[0]<<1)+P(a)+a.a[3]|0};v.prototype.i[68]=function(a){return(a.a[0]<<1)+Q(a)+a.a[4]|0};v.prototype.i[69]=function(a,c){return(a.a[0]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[70]=function(a){return(a.a[0]<<1)+P(a)+a.a[6]|0};v.prototype.i[71]=function(a){return(a.a[0]<<1)+P(a)+a.a[7]|0};v.prototype.i[128]=function(a){return(a.a[0]<<2)+P(a)+a.a[0]|0};v.prototype.i[129]=function(a){return(a.a[0]<< -2)+P(a)+a.a[1]|0};v.prototype.i[130]=function(a){return(a.a[0]<<2)+P(a)+a.a[2]|0};v.prototype.i[131]=function(a){return(a.a[0]<<2)+P(a)+a.a[3]|0};v.prototype.i[132]=function(a){return(a.a[0]<<2)+Q(a)+a.a[4]|0};v.prototype.i[133]=function(a,c){return(a.a[0]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[134]=function(a){return(a.a[0]<<2)+P(a)+a.a[6]|0};v.prototype.i[135]=function(a){return(a.a[0]<<2)+P(a)+a.a[7]|0};v.prototype.i[192]=function(a){return(a.a[0]<<3)+P(a)+a.a[0]|0};v.prototype.i[193]= -function(a){return(a.a[0]<<3)+P(a)+a.a[1]|0};v.prototype.i[194]=function(a){return(a.a[0]<<3)+P(a)+a.a[2]|0};v.prototype.i[195]=function(a){return(a.a[0]<<3)+P(a)+a.a[3]|0};v.prototype.i[196]=function(a){return(a.a[0]<<3)+Q(a)+a.a[4]|0};v.prototype.i[197]=function(a,c){return(a.a[0]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[198]=function(a){return(a.a[0]<<3)+P(a)+a.a[6]|0};v.prototype.i[199]=function(a){return(a.a[0]<<3)+P(a)+a.a[7]|0};v.prototype.i[8]=function(a){return a.a[1]+P(a)+a.a[0]|0}; -v.prototype.i[9]=function(a){return a.a[1]+P(a)+a.a[1]|0};v.prototype.i[10]=function(a){return a.a[1]+P(a)+a.a[2]|0};v.prototype.i[11]=function(a){return a.a[1]+P(a)+a.a[3]|0};v.prototype.i[12]=function(a){return a.a[1]+Q(a)+a.a[4]|0};v.prototype.i[13]=function(a,c){return a.a[1]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[14]=function(a){return a.a[1]+P(a)+a.a[6]|0};v.prototype.i[15]=function(a){return a.a[1]+P(a)+a.a[7]|0};v.prototype.i[72]=function(a){return(a.a[1]<<1)+P(a)+a.a[0]|0};v.prototype.i[73]= -function(a){return(a.a[1]<<1)+P(a)+a.a[1]|0};v.prototype.i[74]=function(a){return(a.a[1]<<1)+P(a)+a.a[2]|0};v.prototype.i[75]=function(a){return(a.a[1]<<1)+P(a)+a.a[3]|0};v.prototype.i[76]=function(a){return(a.a[1]<<1)+Q(a)+a.a[4]|0};v.prototype.i[77]=function(a,c){return(a.a[1]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[78]=function(a){return(a.a[1]<<1)+P(a)+a.a[6]|0};v.prototype.i[79]=function(a){return(a.a[1]<<1)+P(a)+a.a[7]|0};v.prototype.i[136]=function(a){return(a.a[1]<<2)+P(a)+a.a[0]|0}; -v.prototype.i[137]=function(a){return(a.a[1]<<2)+P(a)+a.a[1]|0};v.prototype.i[138]=function(a){return(a.a[1]<<2)+P(a)+a.a[2]|0};v.prototype.i[139]=function(a){return(a.a[1]<<2)+P(a)+a.a[3]|0};v.prototype.i[140]=function(a){return(a.a[1]<<2)+Q(a)+a.a[4]|0};v.prototype.i[141]=function(a,c){return(a.a[1]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[142]=function(a){return(a.a[1]<<2)+P(a)+a.a[6]|0};v.prototype.i[143]=function(a){return(a.a[1]<<2)+P(a)+a.a[7]|0};v.prototype.i[200]=function(a){return(a.a[1]<< -3)+P(a)+a.a[0]|0};v.prototype.i[201]=function(a){return(a.a[1]<<3)+P(a)+a.a[1]|0};v.prototype.i[202]=function(a){return(a.a[1]<<3)+P(a)+a.a[2]|0};v.prototype.i[203]=function(a){return(a.a[1]<<3)+P(a)+a.a[3]|0};v.prototype.i[204]=function(a){return(a.a[1]<<3)+Q(a)+a.a[4]|0};v.prototype.i[205]=function(a,c){return(a.a[1]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[206]=function(a){return(a.a[1]<<3)+P(a)+a.a[6]|0};v.prototype.i[207]=function(a){return(a.a[1]<<3)+P(a)+a.a[7]|0};v.prototype.i[16]=function(a){return a.a[2]+ -P(a)+a.a[0]|0};v.prototype.i[17]=function(a){return a.a[2]+P(a)+a.a[1]|0};v.prototype.i[18]=function(a){return a.a[2]+P(a)+a.a[2]|0};v.prototype.i[19]=function(a){return a.a[2]+P(a)+a.a[3]|0};v.prototype.i[20]=function(a){return a.a[2]+Q(a)+a.a[4]|0};v.prototype.i[21]=function(a,c){return a.a[2]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[22]=function(a){return a.a[2]+P(a)+a.a[6]|0};v.prototype.i[23]=function(a){return a.a[2]+P(a)+a.a[7]|0};v.prototype.i[80]=function(a){return(a.a[2]<<1)+P(a)+a.a[0]| -0};v.prototype.i[81]=function(a){return(a.a[2]<<1)+P(a)+a.a[1]|0};v.prototype.i[82]=function(a){return(a.a[2]<<1)+P(a)+a.a[2]|0};v.prototype.i[83]=function(a){return(a.a[2]<<1)+P(a)+a.a[3]|0};v.prototype.i[84]=function(a){return(a.a[2]<<1)+Q(a)+a.a[4]|0};v.prototype.i[85]=function(a,c){return(a.a[2]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[86]=function(a){return(a.a[2]<<1)+P(a)+a.a[6]|0};v.prototype.i[87]=function(a){return(a.a[2]<<1)+P(a)+a.a[7]|0};v.prototype.i[144]=function(a){return(a.a[2]<< -2)+P(a)+a.a[0]|0};v.prototype.i[145]=function(a){return(a.a[2]<<2)+P(a)+a.a[1]|0};v.prototype.i[146]=function(a){return(a.a[2]<<2)+P(a)+a.a[2]|0};v.prototype.i[147]=function(a){return(a.a[2]<<2)+P(a)+a.a[3]|0};v.prototype.i[148]=function(a){return(a.a[2]<<2)+Q(a)+a.a[4]|0};v.prototype.i[149]=function(a,c){return(a.a[2]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[150]=function(a){return(a.a[2]<<2)+P(a)+a.a[6]|0};v.prototype.i[151]=function(a){return(a.a[2]<<2)+P(a)+a.a[7]|0};v.prototype.i[208]= -function(a){return(a.a[2]<<3)+P(a)+a.a[0]|0};v.prototype.i[209]=function(a){return(a.a[2]<<3)+P(a)+a.a[1]|0};v.prototype.i[210]=function(a){return(a.a[2]<<3)+P(a)+a.a[2]|0};v.prototype.i[211]=function(a){return(a.a[2]<<3)+P(a)+a.a[3]|0};v.prototype.i[212]=function(a){return(a.a[2]<<3)+Q(a)+a.a[4]|0};v.prototype.i[213]=function(a,c){return(a.a[2]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[214]=function(a){return(a.a[2]<<3)+P(a)+a.a[6]|0};v.prototype.i[215]=function(a){return(a.a[2]<<3)+P(a)+a.a[7]| -0};v.prototype.i[24]=function(a){return a.a[3]+P(a)+a.a[0]|0};v.prototype.i[25]=function(a){return a.a[3]+P(a)+a.a[1]|0};v.prototype.i[26]=function(a){return a.a[3]+P(a)+a.a[2]|0};v.prototype.i[27]=function(a){return a.a[3]+P(a)+a.a[3]|0};v.prototype.i[28]=function(a){return a.a[3]+Q(a)+a.a[4]|0};v.prototype.i[29]=function(a,c){return a.a[3]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[30]=function(a){return a.a[3]+P(a)+a.a[6]|0};v.prototype.i[31]=function(a){return a.a[3]+P(a)+a.a[7]|0};v.prototype.i[88]= -function(a){return(a.a[3]<<1)+P(a)+a.a[0]|0};v.prototype.i[89]=function(a){return(a.a[3]<<1)+P(a)+a.a[1]|0};v.prototype.i[90]=function(a){return(a.a[3]<<1)+P(a)+a.a[2]|0};v.prototype.i[91]=function(a){return(a.a[3]<<1)+P(a)+a.a[3]|0};v.prototype.i[92]=function(a){return(a.a[3]<<1)+Q(a)+a.a[4]|0};v.prototype.i[93]=function(a,c){return(a.a[3]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[94]=function(a){return(a.a[3]<<1)+P(a)+a.a[6]|0};v.prototype.i[95]=function(a){return(a.a[3]<<1)+P(a)+a.a[7]|0}; -v.prototype.i[152]=function(a){return(a.a[3]<<2)+P(a)+a.a[0]|0};v.prototype.i[153]=function(a){return(a.a[3]<<2)+P(a)+a.a[1]|0};v.prototype.i[154]=function(a){return(a.a[3]<<2)+P(a)+a.a[2]|0};v.prototype.i[155]=function(a){return(a.a[3]<<2)+P(a)+a.a[3]|0};v.prototype.i[156]=function(a){return(a.a[3]<<2)+Q(a)+a.a[4]|0};v.prototype.i[157]=function(a,c){return(a.a[3]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[158]=function(a){return(a.a[3]<<2)+P(a)+a.a[6]|0};v.prototype.i[159]=function(a){return(a.a[3]<< -2)+P(a)+a.a[7]|0};v.prototype.i[216]=function(a){return(a.a[3]<<3)+P(a)+a.a[0]|0};v.prototype.i[217]=function(a){return(a.a[3]<<3)+P(a)+a.a[1]|0};v.prototype.i[218]=function(a){return(a.a[3]<<3)+P(a)+a.a[2]|0};v.prototype.i[219]=function(a){return(a.a[3]<<3)+P(a)+a.a[3]|0};v.prototype.i[220]=function(a){return(a.a[3]<<3)+Q(a)+a.a[4]|0};v.prototype.i[221]=function(a,c){return(a.a[3]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[222]=function(a){return(a.a[3]<<3)+P(a)+a.a[6]|0};v.prototype.i[223]= -function(a){return(a.a[3]<<3)+P(a)+a.a[7]|0};v.prototype.i[32]=function(a){return P(a)+a.a[0]|0};v.prototype.i[33]=function(a){return P(a)+a.a[1]|0};v.prototype.i[34]=function(a){return P(a)+a.a[2]|0};v.prototype.i[35]=function(a){return P(a)+a.a[3]|0};v.prototype.i[36]=function(a){return Q(a)+a.a[4]|0};v.prototype.i[37]=function(a,c){return(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[38]=function(a){return P(a)+a.a[6]|0};v.prototype.i[39]=function(a){return P(a)+a.a[7]|0};v.prototype.i[96]=function(a){return P(a)+ -a.a[0]|0};v.prototype.i[97]=function(a){return P(a)+a.a[1]|0};v.prototype.i[98]=function(a){return P(a)+a.a[2]|0};v.prototype.i[99]=function(a){return P(a)+a.a[3]|0};v.prototype.i[100]=function(a){return Q(a)+a.a[4]|0};v.prototype.i[101]=function(a,c){return(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[102]=function(a){return P(a)+a.a[6]|0};v.prototype.i[103]=function(a){return P(a)+a.a[7]|0};v.prototype.i[160]=function(a){return P(a)+a.a[0]|0};v.prototype.i[161]=function(a){return P(a)+a.a[1]|0};v.prototype.i[162]= -function(a){return P(a)+a.a[2]|0};v.prototype.i[163]=function(a){return P(a)+a.a[3]|0};v.prototype.i[164]=function(a){return Q(a)+a.a[4]|0};v.prototype.i[165]=function(a,c){return(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[166]=function(a){return P(a)+a.a[6]|0};v.prototype.i[167]=function(a){return P(a)+a.a[7]|0};v.prototype.i[224]=function(a){return P(a)+a.a[0]|0};v.prototype.i[225]=function(a){return P(a)+a.a[1]|0};v.prototype.i[226]=function(a){return P(a)+a.a[2]|0};v.prototype.i[227]=function(a){return P(a)+ -a.a[3]|0};v.prototype.i[228]=function(a){return Q(a)+a.a[4]|0};v.prototype.i[229]=function(a,c){return(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[230]=function(a){return P(a)+a.a[6]|0};v.prototype.i[231]=function(a){return P(a)+a.a[7]|0};v.prototype.i[40]=function(a){return a.a[5]+P(a)+a.a[0]|0};v.prototype.i[41]=function(a){return a.a[5]+P(a)+a.a[1]|0};v.prototype.i[42]=function(a){return a.a[5]+P(a)+a.a[2]|0};v.prototype.i[43]=function(a){return a.a[5]+P(a)+a.a[3]|0};v.prototype.i[44]=function(a){return a.a[5]+ -Q(a)+a.a[4]|0};v.prototype.i[45]=function(a,c){return a.a[5]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[46]=function(a){return a.a[5]+P(a)+a.a[6]|0};v.prototype.i[47]=function(a){return a.a[5]+P(a)+a.a[7]|0};v.prototype.i[104]=function(a){return(a.a[5]<<1)+P(a)+a.a[0]|0};v.prototype.i[105]=function(a){return(a.a[5]<<1)+P(a)+a.a[1]|0};v.prototype.i[106]=function(a){return(a.a[5]<<1)+P(a)+a.a[2]|0};v.prototype.i[107]=function(a){return(a.a[5]<<1)+P(a)+a.a[3]|0};v.prototype.i[108]=function(a){return(a.a[5]<< -1)+Q(a)+a.a[4]|0};v.prototype.i[109]=function(a,c){return(a.a[5]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[110]=function(a){return(a.a[5]<<1)+P(a)+a.a[6]|0};v.prototype.i[111]=function(a){return(a.a[5]<<1)+P(a)+a.a[7]|0};v.prototype.i[168]=function(a){return(a.a[5]<<2)+P(a)+a.a[0]|0};v.prototype.i[169]=function(a){return(a.a[5]<<2)+P(a)+a.a[1]|0};v.prototype.i[170]=function(a){return(a.a[5]<<2)+P(a)+a.a[2]|0};v.prototype.i[171]=function(a){return(a.a[5]<<2)+P(a)+a.a[3]|0};v.prototype.i[172]= -function(a){return(a.a[5]<<2)+Q(a)+a.a[4]|0};v.prototype.i[173]=function(a,c){return(a.a[5]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[174]=function(a){return(a.a[5]<<2)+P(a)+a.a[6]|0};v.prototype.i[175]=function(a){return(a.a[5]<<2)+P(a)+a.a[7]|0};v.prototype.i[232]=function(a){return(a.a[5]<<3)+P(a)+a.a[0]|0};v.prototype.i[233]=function(a){return(a.a[5]<<3)+P(a)+a.a[1]|0};v.prototype.i[234]=function(a){return(a.a[5]<<3)+P(a)+a.a[2]|0};v.prototype.i[235]=function(a){return(a.a[5]<<3)+P(a)+a.a[3]| -0};v.prototype.i[236]=function(a){return(a.a[5]<<3)+Q(a)+a.a[4]|0};v.prototype.i[237]=function(a,c){return(a.a[5]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[238]=function(a){return(a.a[5]<<3)+P(a)+a.a[6]|0};v.prototype.i[239]=function(a){return(a.a[5]<<3)+P(a)+a.a[7]|0};v.prototype.i[48]=function(a){return a.a[6]+P(a)+a.a[0]|0};v.prototype.i[49]=function(a){return a.a[6]+P(a)+a.a[1]|0};v.prototype.i[50]=function(a){return a.a[6]+P(a)+a.a[2]|0};v.prototype.i[51]=function(a){return a.a[6]+P(a)+ -a.a[3]|0};v.prototype.i[52]=function(a){return a.a[6]+Q(a)+a.a[4]|0};v.prototype.i[53]=function(a,c){return a.a[6]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[54]=function(a){return a.a[6]+P(a)+a.a[6]|0};v.prototype.i[55]=function(a){return a.a[6]+P(a)+a.a[7]|0};v.prototype.i[112]=function(a){return(a.a[6]<<1)+P(a)+a.a[0]|0};v.prototype.i[113]=function(a){return(a.a[6]<<1)+P(a)+a.a[1]|0};v.prototype.i[114]=function(a){return(a.a[6]<<1)+P(a)+a.a[2]|0};v.prototype.i[115]=function(a){return(a.a[6]<<1)+ -P(a)+a.a[3]|0};v.prototype.i[116]=function(a){return(a.a[6]<<1)+Q(a)+a.a[4]|0};v.prototype.i[117]=function(a,c){return(a.a[6]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[118]=function(a){return(a.a[6]<<1)+P(a)+a.a[6]|0};v.prototype.i[119]=function(a){return(a.a[6]<<1)+P(a)+a.a[7]|0};v.prototype.i[176]=function(a){return(a.a[6]<<2)+P(a)+a.a[0]|0};v.prototype.i[177]=function(a){return(a.a[6]<<2)+P(a)+a.a[1]|0};v.prototype.i[178]=function(a){return(a.a[6]<<2)+P(a)+a.a[2]|0};v.prototype.i[179]=function(a){return(a.a[6]<< -2)+P(a)+a.a[3]|0};v.prototype.i[180]=function(a){return(a.a[6]<<2)+Q(a)+a.a[4]|0};v.prototype.i[181]=function(a,c){return(a.a[6]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[182]=function(a){return(a.a[6]<<2)+P(a)+a.a[6]|0};v.prototype.i[183]=function(a){return(a.a[6]<<2)+P(a)+a.a[7]|0};v.prototype.i[240]=function(a){return(a.a[6]<<3)+P(a)+a.a[0]|0};v.prototype.i[241]=function(a){return(a.a[6]<<3)+P(a)+a.a[1]|0};v.prototype.i[242]=function(a){return(a.a[6]<<3)+P(a)+a.a[2]|0};v.prototype.i[243]= -function(a){return(a.a[6]<<3)+P(a)+a.a[3]|0};v.prototype.i[244]=function(a){return(a.a[6]<<3)+Q(a)+a.a[4]|0};v.prototype.i[245]=function(a,c){return(a.a[6]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[246]=function(a){return(a.a[6]<<3)+P(a)+a.a[6]|0};v.prototype.i[247]=function(a){return(a.a[6]<<3)+P(a)+a.a[7]|0};v.prototype.i[56]=function(a){return a.a[7]+P(a)+a.a[0]|0};v.prototype.i[57]=function(a){return a.a[7]+P(a)+a.a[1]|0};v.prototype.i[58]=function(a){return a.a[7]+P(a)+a.a[2]|0};v.prototype.i[59]= -function(a){return a.a[7]+P(a)+a.a[3]|0};v.prototype.i[60]=function(a){return a.a[7]+Q(a)+a.a[4]|0};v.prototype.i[61]=function(a,c){return a.a[7]+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[62]=function(a){return a.a[7]+P(a)+a.a[6]|0};v.prototype.i[63]=function(a){return a.a[7]+P(a)+a.a[7]|0};v.prototype.i[120]=function(a){return(a.a[7]<<1)+P(a)+a.a[0]|0};v.prototype.i[121]=function(a){return(a.a[7]<<1)+P(a)+a.a[1]|0};v.prototype.i[122]=function(a){return(a.a[7]<<1)+P(a)+a.a[2]|0};v.prototype.i[123]= -function(a){return(a.a[7]<<1)+P(a)+a.a[3]|0};v.prototype.i[124]=function(a){return(a.a[7]<<1)+Q(a)+a.a[4]|0};v.prototype.i[125]=function(a,c){return(a.a[7]<<1)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[126]=function(a){return(a.a[7]<<1)+P(a)+a.a[6]|0};v.prototype.i[127]=function(a){return(a.a[7]<<1)+P(a)+a.a[7]|0};v.prototype.i[184]=function(a){return(a.a[7]<<2)+P(a)+a.a[0]|0};v.prototype.i[185]=function(a){return(a.a[7]<<2)+P(a)+a.a[1]|0};v.prototype.i[186]=function(a){return(a.a[7]<<2)+P(a)+a.a[2]| -0};v.prototype.i[187]=function(a){return(a.a[7]<<2)+P(a)+a.a[3]|0};v.prototype.i[188]=function(a){return(a.a[7]<<2)+Q(a)+a.a[4]|0};v.prototype.i[189]=function(a,c){return(a.a[7]<<2)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[190]=function(a){return(a.a[7]<<2)+P(a)+a.a[6]|0};v.prototype.i[191]=function(a){return(a.a[7]<<2)+P(a)+a.a[7]|0};v.prototype.i[248]=function(a){return(a.a[7]<<3)+P(a)+a.a[0]|0};v.prototype.i[249]=function(a){return(a.a[7]<<3)+P(a)+a.a[1]|0};v.prototype.i[250]=function(a){return(a.a[7]<< -3)+P(a)+a.a[2]|0};v.prototype.i[251]=function(a){return(a.a[7]<<3)+P(a)+a.a[3]|0};v.prototype.i[252]=function(a){return(a.a[7]<<3)+Q(a)+a.a[4]|0};v.prototype.i[253]=function(a,c){return(a.a[7]<<3)+(c?Q(a)+a.a[5]:P(a)+H(a))|0};v.prototype.i[254]=function(a){return(a.a[7]<<3)+P(a)+a.a[6]|0};v.prototype.i[255]=function(a){return(a.a[7]<<3)+P(a)+a.a[7]|0};v.prototype.P=function(a){return 192>a?(this.la?this.b:this.g)[a](this):-1}})();function de(a,c){return 0>a?(c&4095)>>(-a>>1):(~c&4095)>>a}function ee(a,c,d){return Math.min(de(a,c),de(a,d))}function fe(a){var c=a.l[4];Zd(a,c,1);var d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-1:1;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h=f,r=4096,k=nd(a,d);a.X&&(r=de(e,d));do a.memory.sa(k,Ha(a.A,c)),k+=e,d=!!--f;while(d&&r--);a.j[a.B]+=e*(h-f)|0;a.j[a.M]=f;a.V+=h-f;d&&fe(a)}}else md(a,d,Ha(a.A,c)),a.j[a.B]+=e} -function ge(a){var c=a.l[4];Zd(a,c,2);var d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-2:2;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&1){do mb(a,d,Ia(a.A,c)),d+=e,a.j[a.B]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=nd(a,d)>>1;a.X&&(k=de(e,d));do mc(a.memory,u,Ia(a.A,c)),u+=t,h=!!--f;while(h&&k--);a.j[a.B]+=e*(r-f)|0;a.j[a.M]=f;a.V+=r-f}h&&ge(a)}}else mb(a,d,Ia(a.A,c)),a.j[a.B]+=e} -function he(a){var c=a.l[4];Zd(a,c,4);var d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-4:4;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&3){do x(a,d,Ja(a.A,c)),d+=e,a.j[a.B]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=nd(a,d)>>>2;a.X&&(k=de(e,d));do nc(a.memory,u,Ja(a.A,c)),u+=t,h=!!--f;while(h&&k--);a.j[a.B]+=e*(r-f)|0;a.j[a.M]=f;a.V+=r-f}h&&he(a)}}else x(a,d,Ja(a.A,c)),a.j[a.B]+=e} -function ie(a){var c=a.l[4];Zd(a,c,1);var d=pd(a,3)+a.j[a.I]|0,e=a.h&1024?-1:1;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h=f,r=4096,k=jd(a,d);a.X&&(r=de(e,d));do Ea(a.A,c,a.memory.da(k)),k+=e,d=!!--f;while(d&&r--);a.j[a.I]+=e*(h-f)|0;a.j[a.M]=f;a.V+=h-f;d&&ie(a)}}else Ea(a.A,c,ld(a,d)),a.j[a.I]+=e} -function je(a){var c=a.l[4];Zd(a,c,2);var d=pd(a,3)+a.j[a.I]|0,e=a.h&1024?-2:2;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&1){do Fa(a.A,c,y(a,d)),d+=e,a.j[a.I]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=jd(a,d)>>1;a.X&&(k=de(e,d));do Fa(a.A,c,kc(a.memory,u)),u+=t,h=!!--f;while(h&&k--);a.j[a.I]+=e*(r-f)|0;a.j[a.M]=f;a.V+=r-f}h&&je(a)}}else Fa(a.A,c,y(a,d)),a.j[a.I]+=e} -function ke(a){var c=a.l[4];Zd(a,c,4);var d=pd(a,3)+a.j[a.I]|0,e=a.h&1024?-4:4;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&3){do Ga(a.A,c,A(a,d)),d+=e,a.j[a.I]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=jd(a,d)>>>2;a.X&&(k=de(e,d));do Ga(a.A,c,lc(a.memory,u)),u+=t,h=!!--f;while(h&&k--);a.j[a.I]+=e*(r-f)|0;a.j[a.M]=f;a.V+=r-f}h&&ke(a)}}else Ga(a.A,c,A(a,d)),a.j[a.I]+=e};function le(a,c,d){return a.add(c,d,7)}function me(a,c,d){return a.add(c,d,15)}function ne(a,c,d){return a.add(c,d,31)}function oe(a,c,d){return pe(a,c,d,7)}function qe(a,c,d){return pe(a,c,d,15)}function ye(a,c,d){return pe(a,c,d,31)}function ze(a,c,d){return Ae(a,c,d,7)}function Be(a,c,d){return Ae(a,c,d,15)}function Ce(a,c,d){return Ae(a,c,d,31)}function De(a,c,d){return Ee(a,c,d,7)}function Fe(a,c,d){return Ee(a,c,d,15)}function Ge(a,c,d){return Ee(a,c,d,31)} -v.prototype.add=function(a,c,d){this.Va=a;this.Wa=c;this.m=this.F=a+c|0;this.T=d;this.u=2261;return this.F};function pe(a,c,d,e){var f=a.Pa();a.Va=c;a.Wa=d;a.m=a.F=(c+d|0)+f|0;a.T=e;a.u=2261;return a.F}function Ae(a,c,d,e){a.m=c;a.Wa=d;a.Va=a.F=c-d|0;a.T=e;a.u=2261;return a.F}function Ee(a,c,d,e){var f=a.Pa();a.m=c;a.Wa=d;a.Va=a.F=c-d-f|0;a.T=e;a.u=2261;return a.F}function He(a,c,d){a.h=a.h&-2|a.Pa();a.Va=c;a.Wa=1;a.m=a.F=c+1|0;a.T=d;a.u=2260;return a.F} -function Ie(a,c,d){a.h=a.h&-2|a.Pa();a.m=c;a.Wa=1;a.Va=a.F=c-1|0;a.T=d;a.u=2260;return a.F}function Je(a,c,d){a.Va=a.F=-c|0;a.u=2261;a.m=0;a.Wa=c;a.T=d;return a.F}function Ke(a,c,d){c*=d;a.F=c&65535;a.T=15;a.h=32767c?a.h|2049:a.h&-2050;a.u=212;return c}var Le=new Int32Array(2);function Me(a,c){var d=a&65535;a>>>=16;var e=c&65535;c>>>=16;var f=d*e,e=(f>>>16)+(a*e|0)|0,h=e>>>16,e=(e&65535)+(d*c|0)|0;Le[0]=e<<16|f&65535;Le[1]=((e>>>16)+(a*c|0)|0)+h|0;return Le} -function Ne(a,c){var d=!1;0>a&&(d=!0,a=-a|0);0>c&&(d=!d,c=-c|0);a=Me(a,c);d&&(a[0]=-a[0]|0,a[1]=~a[1]+!a[0]|0);return a}function Oe(a,c,d){c=Ne(c,d);a.F=c[0];a.T=31;a.h=c[1]===c[0]>>31?a.h&-2050:a.h|2049;a.u=212;return c[0]}var Pe=new Float64Array(2);function Qe(a,c,d,e){(d>=e||0===e)&&Gd(a);a=0;if(1048576d;)h>>>=1,f--;for(;1048576=h){d-=h;var r=e<>>0;r>c&&d--;c=c-r>>>0;a|=1<>=1}a>>>=0}c+=4294967296*d;Pe[0]=a+(c/e|0);Pe[1]=c%e;return Pe} -function Re(a,c,d){return Se(a,c,d,7)}function Te(a,c,d){return Se(a,c,d,15)}function Ue(a,c,d){return Se(a,c,d,31)}function Ve(a,c,d){return We(a,c,d,7)}function Xe(a,c,d){return We(a,c,d,15)}function Ye(a,c,d){return We(a,c,d,31)}function Ze(a,c,d){return $e(a,c,d,7)}function af(a,c,d){return $e(a,c,d,15)}function bf(a,c,d){return $e(a,c,d,31)}function Se(a,c,d,e){a.F=c&d;a.T=e;a.h&=-2066;a.u=196;return a.F}function We(a,c,d,e){a.F=c|d;a.T=e;a.h&=-2066;a.u=196;return a.F} -function $e(a,c,d,e){a.F=c^d;a.T=e;a.h&=-2066;a.u=196;return a.F}function cf(a,c,d){if(!d)return c;d&=7;c=c<>8-d;a.u&=-2050;a.h=a.h&-2050|c&1|(c<<11^c<<4)&2048;return c}function df(a,c,d){if(!d)return c;d&=15;c=c<>16-d;a.u&=-2050;a.h=a.h&-2050|c&1|(c<<11^c>>4)&2048;return c}function ef(a,c,d){if(!d)return c;c=c<>>32-d;a.u&=-2050;a.h=a.h&-2050|c&1|(c<<11^c>>20)&2048;return c} -function ff(a,c,d){d%=9;if(!d)return c;c=c<>9-d;a.u&=-2050;a.h=a.h&-2050|c>>8&1|(c<<3^c<<4)&2048;return c}function gf(a,c,d){d%=17;if(!d)return c;c=c<>17-d;a.u&=-2050;a.h=a.h&-2050|c>>16&1|(c>>5^c>>4)&2048;return c}function hf(a,c,d){if(!d)return c;var e=c<>>33-d);a.u&=-2050;a.h=a.h&-2050|c>>>32-d&1;a.h|=(a.h<<11^e>>20)&2048;return e} -function jf(a,c,d){if(!d)return c;d&=7;c=c>>d|c<<8-d;a.u&=-2050;a.h=a.h&-2050|c>>7&1|(c<<4^c<<5)&2048;return c}function kf(a,c,d){if(!d)return c;d&=15;c=c>>d|c<<16-d;a.u&=-2050;a.h=a.h&-2050|c>>15&1|(c>>4^c>>3)&2048;return c}function lf(a,c,d){if(!d)return c;c=c>>>d|c<<32-d;a.u&=-2050;a.h=a.h&-2050|c>>31&1|(c>>20^c>>19)&2048;return c}function mf(a,c,d){d%=9;if(!d)return c;c=c>>d|a.Pa()<<8-d|c<<9-d;a.u&=-2050;a.h=a.h&-2050|c>>8&1|(c<<4^c<<5)&2048;return c} -function nf(a,c,d){d%=17;if(!d)return c;c=c>>d|a.Pa()<<16-d|c<<17-d;a.u&=-2050;a.h=a.h&-2050|c>>16&1|(c>>4^c>>3)&2048;return c}function of(a,c,d){if(!d)return c;var e=c>>>d|a.Pa()<<32-d;1>d-1&1|(e>>20^e>>19)&2048;return e}function pf(a,c,d){if(0===d)return c;a.F=c<>8&1|(a.F<<3^a.F<<4)&2048;return a.F}function qf(a,c,d){if(0===d)return c;a.F=c<>16&1|(a.F>>5^a.F>>4)&2048;return a.F} -function rf(a,c,d){if(0===d)return c;a.F=c<>>32-d&1;a.h|=(a.h&1^a.F>>31&1)<<11&2048;return a.F}function sf(a,c,d){if(0===d)return c;a.F=c>>d;a.T=7;a.u=212;a.h=a.h&-2050|c>>d-1&1|(c>>7&1)<<11&2048;return a.F}function tf(a,c,d){if(0===d)return c;a.F=c>>d;a.T=15;a.u=212;a.h=a.h&-2050|c>>d-1&1|c>>4&2048;return a.F}function uf(a,c,d){if(0===d)return c;a.F=c>>>d;a.T=31;a.u=212;a.h=a.h&-2050|c>>>d-1&1|c>>20&2048;return a.F} -function vf(a,c,d){if(0===d)return c;8>d?(a.F=c<<24>>d+24,a.h=a.h&-2050|c>>d-1&1):(a.F=c<<24>>31,a.h=a.h&-2050|a.F&1);a.T=7;a.u=212;return a.F}function wf(a,c,d){if(0===d)return c;16>d?(a.F=c<<16>>d+16,a.h=a.h&-2050|c>>d-1&1):(a.F=c<<16>>31,a.h=a.h&-2050|a.F&1);a.T=15;a.u=212;return a.F}function xf(a,c,d){if(0===d)return c;a.F=c>>d;a.T=31;a.u=212;a.h=a.h&-2050|c>>>d-1&1;return a.F} -function yf(a,c,d,e){if(0===e)return c;16>=e?(a.F=c>>e|d<<16-e,a.h=a.h&-2|c>>e-1&1):(a.F=c<<32-e|d>>e-16,a.h=a.h&-2|d>>e-17&1);a.T=15;a.u=212;a.h=a.h&-2049|(a.F^c)>>4&2048;return a.F}function zf(a,c,d,e){if(0===e)return c;a.F=c>>>e|d<<32-e;a.T=31;a.u=212;a.h=a.h&-2|c>>>e-1&1;a.h=a.h&-2049|(a.F^c)>>20&2048;return a.F} -function Af(a,c,d,e){if(0===e)return c;16>=e?(a.F=c<>>16-e,a.h=a.h&-2|c>>>16-e&1):(a.F=c>>32-e|d<>>32-e&1);a.T=15;a.u=212;a.h=a.h&-2049|(a.h&1^a.F>>15&1)<<11;return a.F}function Bf(a,c,d,e){if(0===e)return c;a.F=c<>>32-e;a.T=31;a.u=212;a.h=a.h&-2|c>>>32-e&1;a.h=a.h&-2049|(a.h&1^a.F>>31&1)<<11;return a.F}function Cf(a,c,d){a.h=a.h&-2|c>>d&1;a.u&=-2}function Df(a,c,d){a.h=a.h&-2|c>>d&1;a.u&=-2;return c^1<>d&1;a.u&=-2;return c|1<>d&1;a.u&=-2;return c&~(1<>3)|0);a.h=a.h&-2|c>>(d&7)&1;a.u&=-2}function Hf(a,c,d){c=nd(a,c+(d>>3)|0);var e=a.memory.da(c);d&=7;a.h=a.h&-2|e>>d&1;a.u&=-2;a.memory.sa(c,e^1<>3)|0);var e=a.memory.da(c);d&=7;a.h=a.h&-2|e>>d&1;a.u&=-2;a.memory.sa(c,e&~(1<>3)|0);var e=a.memory.da(c);d&=7;a.h=a.h&-2|e>>d&1;a.u&=-2;a.memory.sa(c,e|1<>1&1431655765,c=(c&858993459)+(c>>2&858993459),16843009*(c+(c>>4)&252645135)>>24;a.h|=64;return 0};function Lf(a,c){c?(c=D(a),a.w=a.w+c|0):a.w=a.w+1|0}function Mf(a,c){var d=K(a,1);a.w-=d;a.w=a.w+c&65535;a.w=a.w+d|0}function Nf(a,c){c?Mf(a,E(a)):a.w=a.w+2|0}function Of(a,c){c?(c=H(a),a.w=a.w+c|0):a.w=a.w+4|0}function Pf(a,c){var d=R(a);c&&Xd(a,d)}function Qf(a,c){var d=Jd(a);c&&Yd(a,d)}function Rf(a,c){Kd(a,c?1:0)}l=v.prototype;l.loop=function(a){--this.j[this.M]&&(this.w=this.w+a|0,this.Da||xd(this))}; -l.Pa=function(){return this.u&1?(this.Va^(this.Va^this.Wa)&(this.Wa^this.m))>>>this.T&1:this.h&1};l.Ze=function(){return this.u&4?154020>>((this.F^this.F>>4)&15)&4:this.h&4};function td(a){return a.u&16?(a.Va^a.Wa^a.m)&16:a.h&16}l.Pb=function(){return this.u&64?(~this.F&this.F-1)>>>this.T&1:this.h&64};l.Ud=function(){return this.u&128?this.F>>>this.T&1:this.h&128};l.td=function(){return this.u&2048?((this.Va^this.m)&(this.Wa^this.m))>>>this.T&1:this.h&2048};l.qb=v.prototype.td;l.hb=v.prototype.Pa; -l.jb=v.prototype.Pb;l.rb=v.prototype.Ud;l.ib=v.prototype.Ze;function Sf(a){return a.Pa()||a.Pb()}function Tf(a){return!a.Ud()!==!a.td()}function Uf(a){return a.Pb()||!a.Ud()!==!a.td()}function O(a,c){var d=J(a,-2);mb(a,d,c);I(a,-2)}function N(a,c){var d=J(a,-4);x(a,d,c);I(a,-4)}function Vf(a){var c=K(a,2)+(a.gb?a.a[4]:a.l[8])|0,c=y(a,c);I(a,2);return c}function Wf(a){var c=K(a,2)+(a.gb?a.a[4]:a.l[8])|0,c=A(a,c);I(a,4);return c}function Xf(a,c){var d=a.l[0];a.l[0]=a.l[c];a.l[c]=d} -function Yf(a,c){var d=a.a[0];a.a[0]=a.a[c];a.a[c]=d}function $f(a,c){192<=a.f&&w(a);var d=a.P(a.f),e=y(a,d),d=y(a,d+2|0);B(a,c,d);a.l[a.f>>2&14]=e}function ag(a,c){192<=a.f&&w(a);var d=a.P(a.f),e=A(a,d),d=y(a,d+4|0);B(a,c,d);a.a[a.f>>3&7]=e}function bg(a,c){var d=a.a[c];a.a[c]=d>>>24|d<<24|d>>8&65280|d<<8&16711680};var X=[],Y=[],Z=[];X[0]=function(a){a.f=C(a);Od(a,le(a,Nd(a),Td(a)))};Y[1]=function(a){a.f=C(a);T(a,me(a,S(a),Vd(a)))};Z[1]=function(a){a.f=C(a);V(a,ne(a,U(a),W(a)))};X[2]=function(a){a.f=C(a);Ud(a,le(a,Td(a),Id(a)))};Y[3]=function(a){a.f=C(a);Xd(a,me(a,Vd(a),R(a)))};Z[3]=function(a){a.f=C(a);Yd(a,ne(a,W(a),Jd(a)))};X[4]=function(a){a.C[0]=le(a,a.C[0],C(a))};Y[5]=function(a){a.l[0]=me(a,a.l[0],E(a))};Z[5]=function(a){a.a[0]=ne(a,a.a[0],H(a))};Y[6]=function(a){O(a,a.R[0])};Z[6]=function(a){N(a,a.R[0])}; -Y[7]=function(a){B(a,0,y(a,J(a,0)));I(a,2)};Z[7]=function(a){B(a,0,y(a,J(a,0)));I(a,4)};X[8]=function(a){a.f=C(a);Od(a,Ve(a,Nd(a),Td(a)))};Y[9]=function(a){a.f=C(a);T(a,Xe(a,S(a),Vd(a)))};Z[9]=function(a){a.f=C(a);V(a,Ye(a,U(a),W(a)))};X[10]=function(a){a.f=C(a);Ud(a,Ve(a,Td(a),Id(a)))};Y[11]=function(a){a.f=C(a);Xd(a,Xe(a,Vd(a),R(a)))};Z[11]=function(a){a.f=C(a);Yd(a,Ye(a,W(a),Jd(a)))};X[12]=function(a){a.C[0]=Ve(a,a.C[0],C(a))};Y[13]=function(a){a.l[0]=Xe(a,a.l[0],E(a))}; -Z[13]=function(a){a.a[0]=Ye(a,a.a[0],H(a))};Y[14]=function(a){O(a,a.R[1])};Z[14]=function(a){N(a,a.R[1])};Y[15]=function(a){a.gh[C(a)](a)};Z[15]=function(a){a.hh[C(a)](a)};X[16]=function(a){a.f=C(a);Od(a,oe(a,Nd(a),Td(a)))};Y[17]=function(a){a.f=C(a);T(a,qe(a,S(a),Vd(a)))};Z[17]=function(a){a.f=C(a);V(a,ye(a,U(a),W(a)))};X[18]=function(a){a.f=C(a);Ud(a,oe(a,Td(a),Id(a)))};Y[19]=function(a){a.f=C(a);Xd(a,qe(a,Vd(a),R(a)))};Z[19]=function(a){a.f=C(a);Yd(a,ye(a,W(a),Jd(a)))}; -X[20]=function(a){a.C[0]=oe(a,a.C[0],C(a))};Y[21]=function(a){a.l[0]=qe(a,a.l[0],E(a))};Z[21]=function(a){a.a[0]=ye(a,a.a[0],H(a))};Y[22]=function(a){O(a,a.R[2])};Z[22]=function(a){N(a,a.R[2])};Y[23]=function(a){B(a,2,y(a,J(a,0)));I(a,2);dd(a);fd(a)};Z[23]=function(a){B(a,2,y(a,J(a,0)));I(a,4);dd(a);fd(a)};X[24]=function(a){a.f=C(a);Od(a,De(a,Nd(a),Td(a)))};Y[25]=function(a){a.f=C(a);T(a,Fe(a,S(a),Vd(a)))};Z[25]=function(a){a.f=C(a);V(a,Ge(a,U(a),W(a)))}; -X[26]=function(a){a.f=C(a);Ud(a,De(a,Td(a),Id(a)))};Y[27]=function(a){a.f=C(a);Xd(a,Fe(a,Vd(a),R(a)))};Z[27]=function(a){a.f=C(a);Yd(a,Ge(a,W(a),Jd(a)))};X[28]=function(a){a.C[0]=De(a,a.C[0],C(a))};Y[29]=function(a){a.l[0]=Fe(a,a.l[0],E(a))};Z[29]=function(a){a.a[0]=Ge(a,a.a[0],H(a))};Y[30]=function(a){O(a,a.R[3])};Z[30]=function(a){N(a,a.R[3])};Y[31]=function(a){B(a,3,y(a,J(a,0)));I(a,2)};Z[31]=function(a){B(a,3,y(a,J(a,0)));I(a,4)};X[32]=function(a){a.f=C(a);Od(a,Re(a,Nd(a),Td(a)))}; -Y[33]=function(a){a.f=C(a);T(a,Te(a,S(a),Vd(a)))};Z[33]=function(a){a.f=C(a);V(a,Ue(a,U(a),W(a)))};X[34]=function(a){a.f=C(a);Ud(a,Re(a,Td(a),Id(a)))};Y[35]=function(a){a.f=C(a);Xd(a,Te(a,Vd(a),R(a)))};Z[35]=function(a){a.f=C(a);Yd(a,Ue(a,W(a),Jd(a)))};X[36]=function(a){a.C[0]=Re(a,a.C[0],C(a))};Y[37]=function(a){a.l[0]=Te(a,a.l[0],E(a))};Z[37]=function(a){a.a[0]=Ue(a,a.a[0],H(a))};X[38]=function(a){a.ya=0;gd(a);a.ya=-1}; -X[39]=function(a){var c=a.C[0],d=a.Pa(),e=td(a);a.h&=-18;if(9<(c&15)||e)a.C[0]+=6,a.h|=16;if(153>7):a.h&=-17;if(153>2&14;a.u&=-65;(c&3)<(a.l[d]&3)?(a.h|=64,c=c&-4|a.l[d]&3):a.h&=-65;T(a,c)}else w(a)};X[100]=function(a){a.ya=4;gd(a);a.ya=-1};X[101]=function(a){a.ya=5;gd(a);a.ya=-1};X[102]=function(a){a.Da=!a.Na;ad(a);gd(a);a.Da=a.Na;ad(a)};X[103]=function(a){a.la=!a.Na;$c(a);gd(a);a.la=a.Na;$c(a)}; -Y[104]=function(a){O(a,E(a))};Z[104]=function(a){N(a,H(a))};Y[105]=function(a){a.f=C(a);Xd(a,Ke(a,R(a)<<16>>16,E(a)<<16>>16))};Z[105]=function(a){a.f=C(a);Yd(a,Oe(a,Jd(a),H(a)))};Y[106]=function(a){O(a,D(a))};Z[106]=function(a){N(a,D(a))};Y[107]=function(a){a.f=C(a);Xd(a,Ke(a,R(a)<<16>>16,D(a)))};Z[107]=function(a){a.f=C(a);Yd(a,Oe(a,Jd(a),D(a)))};X[108]=function(a){fe(a)};Y[109]=function(a){ge(a)};Z[109]=function(a){he(a)};X[110]=function(a){ie(a)};Y[111]=function(a){je(a)};Z[111]=function(a){ke(a)}; -X[112]=function(a){Lf(a,a.qb())};X[113]=function(a){Lf(a,!a.qb())};X[114]=function(a){Lf(a,a.hb())};X[115]=function(a){Lf(a,!a.hb())};X[116]=function(a){Lf(a,a.jb())};X[117]=function(a){Lf(a,!a.jb())};X[118]=function(a){Lf(a,Sf(a))};X[119]=function(a){Lf(a,!Sf(a))};X[120]=function(a){Lf(a,a.rb())};X[121]=function(a){Lf(a,!a.rb())};X[122]=function(a){Lf(a,a.ib())};X[123]=function(a){Lf(a,!a.ib())};X[124]=function(a){Lf(a,Tf(a))};X[125]=function(a){Lf(a,!Tf(a))};X[126]=function(a){Lf(a,Uf(a))}; -X[127]=function(a){Lf(a,!Uf(a))};X[128]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:Od(a,le(a,Nd(a),C(a)));break;case 1:Od(a,Ve(a,Nd(a),C(a)));break;case 2:Od(a,oe(a,Nd(a),C(a)));break;case 3:Od(a,De(a,Nd(a),C(a)));break;case 4:Od(a,Re(a,Nd(a),C(a)));break;case 5:Od(a,ze(a,Nd(a),C(a)));break;case 6:Od(a,Ze(a,Nd(a),C(a)));break;case 7:var c=Id(a),d=C(a);Ae(a,c,d,7)}}; -Y[129]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:T(a,me(a,S(a),E(a)));break;case 1:T(a,Xe(a,S(a),E(a)));break;case 2:T(a,qe(a,S(a),E(a)));break;case 3:T(a,Fe(a,S(a),E(a)));break;case 4:T(a,Te(a,S(a),E(a)));break;case 5:T(a,Be(a,S(a),E(a)));break;case 6:T(a,af(a,S(a),E(a)));break;case 7:var c=R(a),d=E(a);Ae(a,c,d,15)}}; -Z[129]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:V(a,ne(a,U(a),H(a)));break;case 1:V(a,Ye(a,U(a),H(a)));break;case 2:V(a,ye(a,U(a),H(a)));break;case 3:V(a,Ge(a,U(a),H(a)));break;case 4:V(a,Ue(a,U(a),H(a)));break;case 5:V(a,Ce(a,U(a),H(a)));break;case 6:V(a,bf(a,U(a),H(a)));break;case 7:var c=Jd(a),d=H(a);Ae(a,c,d,31)}};X[130]=function(a){a.table[128](a)}; -Y[131]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:T(a,me(a,S(a),D(a)));break;case 1:T(a,Xe(a,S(a),D(a)));break;case 2:T(a,qe(a,S(a),D(a)));break;case 3:T(a,Fe(a,S(a),D(a)));break;case 4:T(a,Te(a,S(a),D(a)));break;case 5:T(a,Be(a,S(a),D(a)));break;case 6:T(a,af(a,S(a),D(a)));break;case 7:var c=R(a),d=D(a);Ae(a,c,d,15)}}; -Z[131]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:V(a,ne(a,U(a),D(a)));break;case 1:V(a,Ye(a,U(a),D(a)));break;case 2:V(a,ye(a,U(a),D(a)));break;case 3:V(a,Ge(a,U(a),D(a)));break;case 4:V(a,Ue(a,U(a),D(a)));break;case 5:V(a,Ce(a,U(a),D(a)));break;case 6:V(a,bf(a,U(a),D(a)));break;case 7:var c=Jd(a),d=D(a);Ae(a,c,d,31)}};X[132]=function(a){a.f=C(a);var c=Id(a);Se(a,c,Td(a),7)};Y[133]=function(a){a.f=C(a);var c=R(a);Se(a,c,Vd(a),15)};Z[133]=function(a){a.f=C(a);var c=Jd(a);Se(a,c,W(a),31)}; -X[134]=function(a){a.f=C(a);var c=Nd(a),d=a.f,d=d>>1&12|d>>5&1,e=a.C[d];a.C[d]=c;Od(a,e)};Y[135]=function(a){a.f=C(a);var c=S(a),d=a.f>>2&14,e=a.l[d];a.l[d]=c;T(a,e)};Z[135]=function(a){a.f=C(a);var c=U(a),d=a.f>>3&7,e=a.a[d];a.a[d]=c;V(a,e)};X[136]=function(a){a.f=C(a);Kd(a,Td(a))};Y[137]=function(a){a.f=C(a);Ld(a,Vd(a))};Z[137]=function(a){a.f=C(a);Md(a,W(a))};X[138]=function(a){a.f=C(a);var c=Id(a);Ud(a,c)};Y[139]=function(a){a.f=C(a);var c=R(a);Xd(a,c)}; -Z[139]=function(a){a.f=C(a);var c=Jd(a);Yd(a,c)};Y[140]=function(a){a.f=C(a);Ld(a,a.R[a.f>>3&7])};Z[140]=function(a){a.f=C(a);Md(a,a.R[a.f>>3&7])};Y[141]=function(a){a.f=C(a);192<=a.f&&w(a);var c=a.f>>3&7;a.ya=9;a.l[c<<1]=a.P(a.f);a.ya=-1};Z[141]=function(a){a.f=C(a);192<=a.f&&w(a);var c=a.f>>3&7;a.ya=9;a.a[c]=a.P(a.f);a.ya=-1};X[142]=function(a){a.f=C(a);var c=a.f>>3&7,d=R(a);B(a,c,d);2===c&&(dd(a),fd(a))}; -Y[143]=function(a){a.f=C(a);var c=y(a,J(a,0));I(a,2);if(192>a.f){var d=a.P(a.f);I(a,-2);mb(a,d,c);I(a,2)}else Qd(a,c)};Z[143]=function(a){a.f=C(a);var c=A(a,J(a,0));I(a,4);if(192>a.f){var d=a.P(a.f);I(a,-4);x(a,d,c);I(a,4)}else Sd(a,c)};X[144]=function(){};Y[145]=function(a){Xf(a,2)};Z[145]=function(a){Yf(a,1)};Y[146]=function(a){Xf(a,4)};Z[146]=function(a){Yf(a,2)};Y[147]=function(a){Xf(a,6)};Z[147]=function(a){Yf(a,3)};Y[148]=function(a){Xf(a,8)};Z[148]=function(a){Yf(a,4)}; -Y[149]=function(a){Xf(a,10)};Z[149]=function(a){Yf(a,5)};Y[150]=function(a){Xf(a,12)};Z[150]=function(a){Yf(a,6)};Y[151]=function(a){Xf(a,14)};Z[151]=function(a){Yf(a,7)};Y[152]=function(a){a.l[0]=a.be[0]};Z[152]=function(a){a.a[0]=a.yc[0]};Y[153]=function(a){a.l[4]=a.yc[0]>>15};Z[153]=function(a){a.a[2]=a.a[0]>>31};Y[154]=function(a){var c=E(a),d=E(a),e=a.R[1],f=xd(a);lb(a,J(a,-4),4);B(a,1,d);O(a,e);O(a,f);a.w=K(a,1)+c|0;a.la||xd(a)}; -Z[154]=function(a){var c=H(a),d=E(a);if((!a.qa||rd(a))&&c&4294901760)throw a.debug.S("#GP handler");var e=a.R[1],f=xd(a);lb(a,J(a,-8),8);B(a,1,d);N(a,e);N(a,f);a.w=K(a,1)+c|0;a.la||xd(a)};X[155]=function(a){10===(a.G[0]&10)&&(a.w=a.ga,Fd(a,7))};Y[156]=function(a){a.h&131072&&3>qd(a)?M(a,0):(ud(a),O(a,a.h))};Z[156]=function(a){a.h&131072&&3>qd(a)?M(a,0):(ud(a),N(a,a.h&16580607))};Y[157]=function(a){a.h&131072&&3>qd(a)&&M(a,0);vd(a,a.h&-65536|Vf(a));Fc(a)}; -Z[157]=function(a){a.h&131072&&3>qd(a)&&M(a,0);vd(a,Wf(a));Fc(a)};X[158]=function(a){a.h=a.h&-256|a.C[1];a.h=a.h&4161493|2;a.u=0};X[159]=function(a){ud(a);a.C[1]=a.h};X[160]=function(a){var c=ld(a,od(a));a.C[0]=c};Y[161]=function(a){var c=y(a,od(a));a.l[0]=c};Z[161]=function(a){var c=A(a,od(a));a.a[0]=c};X[162]=function(a){md(a,od(a),a.C[0])};Y[163]=function(a){mb(a,od(a),a.l[0])};Z[163]=function(a){x(a,od(a),a.a[0])}; -X[164]=function(a){var c=pd(a,3)+a.j[a.I]|0,d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-1:1;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h=f,r=4096,k=jd(a,c),t=nd(a,d);a.X&&(r=ee(e,c,d));do a.memory.sa(t,a.memory.da(k)),t+=e,k+=e,c=!!--f;while(c&&r--);e=e*(h-f)|0;a.j[a.B]+=e;a.j[a.I]+=e;a.j[a.M]=f;a.V+=h-f;c&&(a.w=a.ga)}}else md(a,d,ld(a,c)),a.j[a.B]+=e,a.j[a.I]+=e}; -Y[165]=function(a){var c=pd(a,3)+a.j[a.I]|0,d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-2:2;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&1||c&1){do mb(a,d,y(a,c)),d+=e,a.j[a.B]+=e,c+=e,a.j[a.I]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=jd(a,c)>>1,z=nd(a,d)>>1;a.X&&(k=ee(e,c,d));do mc(a.memory,z,kc(a.memory,u)),z+=t,u+=t,h=!!--f;while(h&&k--);c=e*(r-f)|0;a.j[a.B]+=c;a.j[a.I]+=c;a.j[a.M]=f;a.V+=r-f}h&&(a.w=a.ga)}}else mb(a,d,y(a,c)),a.j[a.B]+=e,a.j[a.I]+=e}; -Z[165]=function(a){a:{if(0!==a.ca){var c=pd(a,3)+a.j[a.I]|0,d=K(a,0)+a.j[a.B]|0,e=a.j[a.M]>>>0;if(!e)break a;var f=a.X?4095:3;if(!(d&f||c&f||a.h&1024||(f=!1,a.X&&(c=jd(a,c),d=nd(a,d),1024>=2;a.memory.Hb.set(a.memory.Hb.subarray(c,c+e),d>>2);f&&(a.w=a.ga);break a}}c=pd(a,3)+a.j[a.I]|0;d=K(a,0)+a.j[a.B]|0;h=a.h&1024?-4:4;if(0!==a.ca){if(e=a.j[a.M]>>>0){var r=e,k=4096;if(d&3||c&3){do x(a,d,A(a,c)),d+=h,a.j[a.B]+= -h,c+=h,a.j[a.I]+=h,f=!!--a.j[a.M];while(f&&k--)}else{var t=0>h?-1:1,u=jd(a,c)>>>2,z=nd(a,d)>>>2;a.X&&(k=ee(h,c,d));do nc(a.memory,z,lc(a.memory,u)),z+=t,u+=t,f=!!--e;while(f&&k--);h=h*(r-e)|0;a.j[a.B]+=h;a.j[a.I]+=h;a.j[a.M]=e;a.V+=r-e}f&&(a.w=a.ga)}}else x(a,d,A(a,c)),a.j[a.B]+=h,a.j[a.I]+=h}}; -X[166]=function(a){a:{var c=pd(a,3)+a.j[a.I]|0,d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-1:1;if(0!==a.ca){var f=a.j[a.M]>>>0;if(!f)break a;var h,r=f,k=2===a.ca,t=4096,u=jd(a,c),z=jd(a,d);a.X&&(t=ee(e,c,d));do d=a.memory.da(z),c=a.memory.da(u),z+=e,u+=e,h=!!--f&&c===d===k;while(h&&t--);e=e*(r-f)|0;a.j[a.B]+=e;a.j[a.I]+=e;a.j[a.M]=f;a.V+=r-f;h&&(a.w=a.ga)}else c=ld(a,c),d=ld(a,d),a.j[a.B]+=e,a.j[a.I]+=e;Ae(a,c,d,7)}}; -Y[167]=function(a){a:{var c=pd(a,3)+a.j[a.I]|0,d=K(a,0)+a.j[a.B]|0,e,f,h=a.h&1024?-2:2;if(0!==a.ca){var r=a.j[a.M]>>>0;if(!r)break a;var k,t=r,u=2===a.ca,z=4096;if(d&1||c&1){do f=y(a,d),e=y(a,c),d+=h,a.j[a.B]+=h,c+=h,a.j[a.I]+=h,k=!!--a.j[a.M]&&e===f===u;while(k&&z--)}else{var G=0>h?-1:1,F=jd(a,c)>>1,L=jd(a,d)>>1;a.X&&(z=ee(h,c,d));do f=kc(a.memory,L),e=kc(a.memory,F),L+=G,F+=G,k=!!--r&&e===f===u;while(k&&z--);c=h*(t-r)|0;a.j[a.B]+=c;a.j[a.I]+=c;a.j[a.M]=r;a.V+=t-r}k&&(a.w=a.ga)}else f=y(a,d),e=y(a, -c),a.j[a.B]+=h,a.j[a.I]+=h;Ae(a,e,f,15)}}; -Z[167]=function(a){a:{var c=pd(a,3)+a.j[a.I]|0,d=K(a,0)+a.j[a.B]|0,e,f,h=a.h&1024?-4:4;if(0!==a.ca){var r=a.j[a.M]>>>0;if(!r)break a;var k,t=r,u=2===a.ca,z=4096;if(d&3||c&3){do f=A(a,d),e=A(a,c),d+=h,a.j[a.B]+=h,c+=h,a.j[a.I]+=h,k=!!--a.j[a.M]&&e===f===u;while(k&&z--)}else{var G=0>h?-1:1,F=jd(a,c)>>>2,L=jd(a,d)>>>2;a.X&&(z=ee(h,c,d));do f=lc(a.memory,L),e=lc(a.memory,F),L+=G,F+=G,k=!!--r&&e===f===u;while(k&&z--);c=h*(t-r)|0;a.j[a.B]+=c;a.j[a.I]+=c;a.j[a.M]=r;a.V+=t-r}k&&(a.w=a.ga)}else f=A(a,d),e= -A(a,c),a.j[a.B]+=h,a.j[a.I]+=h;Ae(a,e,f,31)}};X[168]=function(a){var c=C(a);Se(a,a.C[0],c,7)};Y[169]=function(a){var c=E(a);Se(a,a.l[0],c,15)};Z[169]=function(a){var c=H(a);Se(a,a.a[0],c,31)};X[170]=function(a){var c=a.C[0],d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-1:1;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h=f,r=4096,k=nd(a,d);a.X&&(r=de(e,d));do a.memory.sa(k,c),k+=e,d=!!--f;while(d&&r--);a.j[a.B]+=e*(h-f)|0;a.j[a.M]=f;a.V+=h-f;d&&(a.w=a.ga)}}else md(a,d,c),a.j[a.B]+=e}; -Y[171]=function(a){var c=a.l[0],d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-2:2;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&1){do mb(a,d,c),d+=e,a.j[a.B]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=nd(a,d)>>1;a.X&&(k=de(e,d));do mc(a.memory,u,c),u+=t,h=!!--f;while(h&&k--);a.j[a.B]+=e*(r-f)|0;a.j[a.M]=f;a.V+=r-f}h&&(a.w=a.ga)}}else mb(a,d,c),a.j[a.B]+=e}; -Z[171]=function(a){var c=a.a[0],d=K(a,0)+a.j[a.B]|0,e=a.h&1024?-4:4;if(0!==a.ca){var f=a.j[a.M]>>>0;if(f){var h,r=f,k=4096;if(d&3){do x(a,d,c),d+=e,a.j[a.B]+=e,h=!!--a.j[a.M];while(h&&k--)}else{var t=0>e?-1:1,u=nd(a,d)>>>2;a.X&&(k=de(e,d));do nc(a.memory,u,c),u+=t,h=!!--f;while(h&&k--);a.j[a.B]+=e*(r-f)|0;a.j[a.M]=f;a.V+=r-f}h&&(a.w=a.ga)}}else x(a,d,c),a.j[a.B]+=e}; -X[172]=function(a){var c=pd(a,3)+a.j[a.I]|0,d=a.h&1024?-1:1;if(0!==a.ca){var e=a.j[a.M]>>>0;if(e){var f=e,h=4096,r=jd(a,c);a.X&&(h=de(d,c));do a.C[0]=a.memory.da(r),r+=d,c=!!--e;while(c&&h--);a.j[a.I]+=d*(f-e)|0;a.j[a.M]=e;a.V+=f-e;c&&(a.w=a.ga)}}else a.C[0]=ld(a,c),a.j[a.I]+=d};Y[173]=function(a){var c=pd(a,3)+a.j[a.I]|0,d=a.h&1024?-2:2;if(0!==a.ca){if(a.j[a.M]>>>0){var e,f=4096;do a.l[0]=y(a,c),c+=d,a.j[a.I]+=d,e=!!--a.j[a.M];while(e&&f--);e&&(a.w=a.ga)}}else a.l[0]=y(a,c),a.j[a.I]+=d}; -Z[173]=function(a){var c=pd(a,3)+a.j[a.I]|0,d=a.h&1024?-4:4;if(0!==a.ca){if(a.j[a.M]>>>0){var e,f=4096;do a.a[0]=A(a,c),c+=d,a.j[a.I]+=d,e=!!--a.j[a.M];while(e&&f--);e&&(a.w=a.ga)}}else a.a[0]=A(a,c),a.j[a.I]+=d}; -X[174]=function(a){a:{var c=K(a,0)+a.j[a.B]|0,d=a.h&1024?-1:1,e=a.C[0];if(0!==a.ca){var f=a.j[a.M]>>>0;if(!f)break a;var h,r=f,k=2===a.ca,t=4096,u=jd(a,c);a.X&&(t=de(d,c));do c=a.memory.da(u),u+=d,h=!!--f&&e===c===k;while(h&&t--);a.j[a.B]+=d*(r-f)|0;a.j[a.M]=f;a.V+=r-f;h&&(a.w=a.ga)}else c=ld(a,c),a.j[a.B]+=d;Ae(a,e,c,7)}}; -Y[175]=function(a){a:{var c=K(a,0)+a.j[a.B]|0,d=a.h&1024?-2:2,e,f=a.l[0];if(0!==a.ca){var h=a.j[a.M]>>>0;if(!h)break a;var r,k=h,t=2===a.ca,u=4096;if(c&1){do e=y(a,c),c+=d,a.j[a.B]+=d,r=!!--a.j[a.M]&&f===e===t;while(r&&u--)}else{var z=0>d?-1:1,G=jd(a,c)>>1;a.X&&(u=de(d,c));do e=kc(a.memory,G),G+=z,r=!!--h&&f===e===t;while(r&&u--);a.j[a.B]+=d*(k-h)|0;a.j[a.M]=h;a.V+=k-h}r&&(a.w=a.ga)}else e=y(a,c),a.j[a.B]+=d;Ae(a,f,e,15)}}; -Z[175]=function(a){a:{var c=K(a,0)+a.j[a.B]|0,d=a.h&1024?-4:4,e,f=a.a[0];if(0!==a.ca){var h=a.j[a.M]>>>0;if(!h)break a;var r,k=h,t=2===a.ca,u=4096;if(c&3){do e=A(a,c),c+=d,a.j[a.B]+=d,r=!!--a.j[a.M]&&f===e===t;while(r&&u--)}else{var z=0>d?-1:1,G=jd(a,c)>>>2;a.X&&(u=de(d,c));do e=lc(a.memory,G),G+=z,r=!!--h&&f===e===t;while(r&&u--);a.j[a.B]+=d*(k-h)|0;a.j[a.M]=h;a.V+=k-h}r&&(a.w=a.ga)}else e=A(a,c),a.j[a.B]+=d;Ae(a,f,e,31)}};X[176]=function(a){a.C[0]=C(a)};X[177]=function(a){a.C[4]=C(a)}; -X[178]=function(a){a.C[8]=C(a)};X[179]=function(a){a.C[12]=C(a)};X[180]=function(a){a.C[1]=C(a)};X[181]=function(a){a.C[5]=C(a)};X[182]=function(a){a.C[9]=C(a)};X[183]=function(a){a.C[13]=C(a)};Y[184]=function(a){a.l[0]=E(a)};Z[184]=function(a){a.a[0]=H(a)};Y[185]=function(a){a.l[2]=E(a)};Z[185]=function(a){a.a[1]=H(a)};Y[186]=function(a){a.l[4]=E(a)};Z[186]=function(a){a.a[2]=H(a)};Y[187]=function(a){a.l[6]=E(a)};Z[187]=function(a){a.a[3]=H(a)};Y[188]=function(a){a.l[8]=E(a)}; -Z[188]=function(a){a.a[4]=H(a)};Y[189]=function(a){a.l[10]=E(a)};Z[189]=function(a){a.a[5]=H(a)};Y[190]=function(a){a.l[12]=E(a)};Z[190]=function(a){a.a[6]=H(a)};Y[191]=function(a){a.l[14]=E(a)};Z[191]=function(a){a.a[7]=H(a)};X[192]=function(a){a.f=C(a);var c=Nd(a),d=C(a)&31,e=0;switch(a.f>>3&7){case 0:e=cf(a,c,d);break;case 1:e=jf(a,c,d);break;case 2:e=ff(a,c,d);break;case 3:e=mf(a,c,d);break;case 4:e=pf(a,c,d);break;case 5:e=sf(a,c,d);break;case 6:e=pf(a,c,d);break;case 7:e=vf(a,c,d)}Od(a,e)}; -Y[193]=function(a){a.f=C(a);var c=S(a),d=C(a)&31,e=0;switch(a.f>>3&7){case 0:e=df(a,c,d);break;case 1:e=kf(a,c,d);break;case 2:e=gf(a,c,d);break;case 3:e=nf(a,c,d);break;case 4:e=qf(a,c,d);break;case 5:e=tf(a,c,d);break;case 6:e=qf(a,c,d);break;case 7:e=wf(a,c,d)}T(a,e)}; -Z[193]=function(a){a.f=C(a);var c=U(a),d=C(a)&31,e=0;switch(a.f>>3&7){case 0:e=ef(a,c,d);break;case 1:e=lf(a,c,d);break;case 2:e=hf(a,c,d);break;case 3:e=of(a,c,d);break;case 4:e=rf(a,c,d);break;case 5:e=uf(a,c,d);break;case 6:e=rf(a,c,d);break;case 7:e=xf(a,c,d)}V(a,e)};Y[194]=function(a){var c=E(a);a.w=K(a,1)+Vf(a)|0;a.la||xd(a);I(a,c)};Z[194]=function(a){var c=E(a),d=Wf(a);a.w=K(a,1)+d|0;I(a,c)};Y[195]=function(a){a.w=K(a,1)+Vf(a)|0};Z[195]=function(a){var c=Wf(a);a.w=K(a,1)+c|0}; -Y[196]=function(a){a.f=C(a);$f(a,0)};Z[196]=function(a){a.f=C(a);ag(a,0)};Y[197]=function(a){a.f=C(a);$f(a,3)};Z[197]=function(a){a.f=C(a);ag(a,3)};X[198]=function(a){a.f=C(a);192>a.f?md(a,a.P(a.f),C(a)):a.C[a.f<<2&12|a.f>>2&1]=C(a)};Y[199]=function(a){a.f=C(a);192>a.f?mb(a,a.P(a.f),E(a)):a.l[a.f<<1&14]=E(a)};Z[199]=function(a){a.f=C(a);192>a.f?x(a,a.P(a.f),H(a)):a.a[a.f&7]=H(a)}; -Y[200]=function(a){var c=E(a),d=C(a),d=d&31;O(a,a.l[10]);var e=a.l[8];if(0>3&7){case 0:d=cf(a,c,1);break;case 1:d=jf(a,c,1);break;case 2:d=ff(a,c,1);break;case 3:d=mf(a,c,1);break;case 4:d=pf(a,c,1);break;case 5:d=sf(a,c,1);break;case 6:d=pf(a,c,1);break;case 7:d=vf(a,c,1)}Od(a,d)}; -Y[209]=function(a){a.f=C(a);var c=S(a),d=0;switch(a.f>>3&7){case 0:d=df(a,c,1);break;case 1:d=kf(a,c,1);break;case 2:d=gf(a,c,1);break;case 3:d=nf(a,c,1);break;case 4:d=qf(a,c,1);break;case 5:d=tf(a,c,1);break;case 6:d=qf(a,c,1);break;case 7:d=wf(a,c,1)}T(a,d)}; -Z[209]=function(a){a.f=C(a);var c=U(a),d=0;switch(a.f>>3&7){case 0:d=ef(a,c,1);break;case 1:d=lf(a,c,1);break;case 2:d=hf(a,c,1);break;case 3:d=of(a,c,1);break;case 4:d=rf(a,c,1);break;case 5:d=uf(a,c,1);break;case 6:d=rf(a,c,1);break;case 7:d=xf(a,c,1)}V(a,d)}; -X[210]=function(a){a.f=C(a);var c=Nd(a),d=a.C[4]&31,e=0;switch(a.f>>3&7){case 0:e=cf(a,c,d);break;case 1:e=jf(a,c,d);break;case 2:e=ff(a,c,d);break;case 3:e=mf(a,c,d);break;case 4:e=pf(a,c,d);break;case 5:e=sf(a,c,d);break;case 6:e=pf(a,c,d);break;case 7:e=vf(a,c,d)}Od(a,e)}; -Y[211]=function(a){a.f=C(a);var c=S(a),d=a.C[4]&31,e=0;switch(a.f>>3&7){case 0:e=df(a,c,d);break;case 1:e=kf(a,c,d);break;case 2:e=gf(a,c,d);break;case 3:e=nf(a,c,d);break;case 4:e=qf(a,c,d);break;case 5:e=tf(a,c,d);break;case 6:e=qf(a,c,d);break;case 7:e=wf(a,c,d)}T(a,e)}; -Z[211]=function(a){a.f=C(a);var c=U(a),d=a.C[4]&31,e=0;switch(a.f>>3&7){case 0:e=ef(a,c,d);break;case 1:e=lf(a,c,d);break;case 2:e=hf(a,c,d);break;case 3:e=of(a,c,d);break;case 4:e=rf(a,c,d);break;case 5:e=uf(a,c,d);break;case 6:e=rf(a,c,d);break;case 7:e=xf(a,c,d)}V(a,e)};X[212]=function(a){var c=C(a);if(0===c)Gd(a);else{var d=a.C[0];a.C[1]=d/c;a.C[0]=d%c;a.F=a.C[0];a.u=196;a.h&=-2066}};X[213]=function(a){var c=C(a),c=a.C[0]+a.C[1]*c;a.F=c&255;a.l[0]=a.F;a.T=7;a.u=196;a.h&=-2066;65535a.f){var c=a.Ba,d=a.f,e=a.P(a.f);a=d>>3&7;d=wb(c,e)}else c=a.Ba,d=a.f,a=d>>3&7,d=rb(c,d&7);e=hb(c);switch(a){case 0:c.g[c.b]=e+d;break;case 1:c.g[c.b]=e*d;break;case 2:gb(c,d);break;case 3:gb(c,d);c.pop();break;case 4:c.g[c.b]=e-d;break;case 5:c.g[c.b]=d-e;break;case 6:c.g[c.b]=e/d;break;case 7:c.g[c.b]=d/e}}; -X[217]=function(a){a.f=C(a);Hd(a);if(192>a.f){var c=a.Ba,d=a.f;a=a.P(a.f);switch(d>>3&7){case 0:a=wb(c,a);c.push(a);break;case 1:db(c);break;case 2:d=hb(c);c.N[0]=d;x(c.s,a,c.Fa[0]);break;case 3:d=hb(c);c.N[0]=d;x(c.s,a,c.Fa[0]);c.pop();break;case 4:nb(c,a);break;case 5:c.K=y(c.s,a);break;case 6:kb(c,a);break;case 7:mb(c.s,a,c.K)}}else switch(c=a.Ba,d=a.f,a=d&7,d>>3&7){case 0:d=rb(c,a);c.push(d);break;case 1:d=rb(c,a);c.g[c.b+a&7]=hb(c);c.g[c.b]=d;break;case 2:switch(a){case 0:break;default:db(c)}break; -case 3:db(c);break;case 4:d=hb(c);switch(a){case 0:c.g[c.b]=-d;break;case 1:c.g[c.b]=Math.abs(d);break;case 4:a=d;c.m&=-18177;isNaN(a)?c.m|=17664:0===a?c.m|=16384:0>a&&(c.m|=256);break;case 5:a=d;c.m&=-18177;c.m|=c.sign(0)<<9;c.m=c.o>>c.b&1?c.m|16640:isNaN(a)?c.m|256:0===a?c.m|16384:Infinity===a||-Infinity===a?c.m|1280:c.m|1024;break;default:db(c)}break;case 5:c.push(c.sb[a]);break;case 6:d=hb(c);switch(a){case 0:c.g[c.b]=Math.pow(2,d)-1;break;case 1:c.g[c.b+1&7]=rb(c,1)*Math.log(d)/Math.LN2;c.pop(); -break;case 2:c.g[c.b]=Math.tan(d);c.push(1);break;case 3:c.g[c.b+1&7]=Math.atan2(rb(c,1),d);c.pop();break;case 4:c.L[0]=hb(c);a=((c.v[7]&127)<<4|c.v[6]>>4)-1023;c.v[7]=63|c.v[7]&128;c.v[6]|=240;c.g[c.b]=a;c.push(c.L[0]);break;case 5:c.g[c.b]=d%rb(c,1);break;case 6:c.b=c.b-1&7;c.m&=-513;break;case 7:c.b=c.b+1&7,c.m&=-513}break;case 7:switch(d=hb(c),a){case 0:c.g[c.b]=d%rb(c,1);break;case 1:c.g[c.b+1&7]=rb(c,1)*Math.log(d+1)/Math.LN2;c.pop();break;case 2:c.g[c.b]=Math.sqrt(d);break;case 3:c.g[c.b]= -Math.sin(d);c.push(Math.cos(d));break;case 4:c.g[c.b]=pb(c,d);break;case 5:c.g[c.b]=d*Math.pow(2,qb(rb(c,1)));break;case 6:c.g[c.b]=Math.sin(d);break;case 7:c.g[c.b]=Math.cos(d)}}}; -X[218]=function(a){a.f=C(a);Hd(a);if(192>a.f){var c=a.Ba,d=a.f,e=a.P(a.f);a=d>>3&7;d=A(c.s,e);e=hb(c);switch(a){case 0:c.g[c.b]=e+d;break;case 1:c.g[c.b]=e*d;break;case 2:gb(c,d);break;case 3:gb(c,d);c.pop();break;case 4:c.g[c.b]=e-d;break;case 5:c.g[c.b]=d-e;break;case 6:c.g[c.b]=e/d;break;case 7:c.g[c.b]=d/e}}else switch(c=a.Ba,a=a.f,d=a&7,a>>3&7){case 0:c.s.hb()&&(c.g[c.b]=rb(c,d),c.o&=~(1<a.f){var c=a.Ba,d=a.f;a=a.P(a.f);switch(d>>3&7){case 0:a=A(c.s,a);c.push(a);break;case 2:d=pb(c,hb(c));2147483647>=d&&-2147483648<=d?x(c.s,a,d):(fb(c),x(c.s,a,-2147483648));break;case 3:d=pb(c,hb(c));2147483647>=d&&-2147483648<=d?x(c.s,a,d):(fb(c),x(c.s,a,-2147483648));c.pop();break;case 5:c.push(sb(c,a));break;case 7:lb(c.s,a,10);tb(c,a,0);c.pop();break;default:db(c)}}else switch(c=a.Ba,a=a.f,d=a&7,a>>3&7){case 0:c.s.hb()||(c.g[c.b]=rb(c,d),c.o&=~(1<a.f){var c=a.Ba,d=a.f,e=a.P(a.f);a=d>>3&7;d=ub(c,e);e=hb(c);switch(a){case 0:c.g[c.b]=e+d;break;case 1:c.g[c.b]=e*d;break;case 2:gb(c,d);break;case 3:gb(c,d);c.pop();break;case 4:c.g[c.b]=e-d;break;case 5:c.g[c.b]=d-e;break;case 6:c.g[c.b]=e/d;break;case 7:c.g[c.b]=d/e}}else{c=a.Ba;d=a.f;a=d>>3&7;var e=d&7,d=c.b+e&7,e=rb(c,e),f=hb(c);switch(a){case 0:c.g[d]=e+f;break;case 1:c.g[d]=e*f;break;case 2:gb(c,e);break;case 3:gb(c,e);c.pop();break;case 4:c.g[d]=f- -e;break;case 5:c.g[d]=e-f;break;case 6:c.g[d]=f/e;break;case 7:c.g[d]=e/f}}}; -X[221]=function(a){a.f=C(a);Hd(a);if(192>a.f){var c=a.Ba,d=a.f;a=a.P(a.f);switch(d>>3&7){case 0:a=ub(c,a);c.push(a);break;case 1:db(c);break;case 2:vb(c,a);break;case 3:vb(c,a);c.pop();break;case 4:nb(c,a);a+=28;for(d=0;8>d;d++)c.g[d]=sb(c,a),a+=10;break;case 5:db(c);break;case 6:lb(c.s,a,108);kb(c,a);a+=28;for(d=0;8>d;d++)tb(c,a,d-c.b&7),a+=10;jb(c);break;case 7:mb(c.s,a,c.m&-14337|c.b<<11)}}else switch(c=a.Ba,a=a.f,d=a&7,a>>3&7){case 0:c.o|=1<<(c.b+d&7);break;case 2:c.g[c.b+d&7]=hb(c);break;case 3:d&& -(c.g[c.b+d&7]=hb(c));c.pop();break;case 4:a=rb(c,d);gb(c,a);break;case 5:a=rb(c,d);gb(c,a);c.pop();break;default:db(c)}}; -X[222]=function(a){a.f=C(a);Hd(a);if(192>a.f){var c=a.Ba,d=a.f,e=a.P(a.f);a=d>>3&7;d=y(c.s,e)<<16>>16;e=hb(c);switch(a){case 0:c.g[c.b]=e+d;break;case 1:c.g[c.b]=e*d;break;case 2:gb(c,d);break;case 3:gb(c,d);c.pop();break;case 4:c.g[c.b]=e-d;break;case 5:c.g[c.b]=d-e;break;case 6:c.g[c.b]=e/d;break;case 7:c.g[c.b]=d/e}}else{c=a.Ba;d=a.f;a=d>>3&7;var d=d&7,e=c.b+d&7,f=rb(c,d),h=hb(c);switch(a){case 0:c.g[e]=f+h;break;case 1:c.g[e]=f*h;break;case 2:gb(c,f);break;case 3:1===d?(gb(c,c.g[e]),c.pop()): -db(c);break;case 4:c.g[e]=h-f;break;case 5:c.g[e]=f-h;break;case 6:c.g[e]=h/f;break;case 7:c.g[e]=f/h}c.pop()}}; -X[223]=function(a){a.f=C(a);Hd(a);if(192>a.f){var c=a.Ba,d=a.f;a=a.P(a.f);switch(d>>3&7){case 0:a=y(c.s,a)<<16>>16;c.push(a);break;case 1:db(c);break;case 2:d=pb(c,hb(c));32767>=d&&-32768<=d?mb(c.s,a,d):(fb(c),mb(c.s,a,32768));break;case 3:d=pb(c,hb(c));32767>=d&&-32768<=d?mb(c.s,a,d):(fb(c),mb(c.s,a,32768));c.pop();break;case 4:db(c);break;case 5:d=A(c.s,a)>>>0;a=A(c.s,a+4);c.push(d+4294967296*a);break;case 6:db(c);break;case 7:lb(c.s,a,8);var d=pb(c,hb(c)),e,f;0x7fffffffffffffff>d&&-9223372036854775808<= -d?(e=d|0,f=d/4294967296|0,!f&&0>d&&(f=-1)):(e=0,f=-2147483648,fb(c));x(c.s,a,e);x(c.s,a+4,f);c.pop()}}else switch(c=a.Ba,a=a.f,d=a&7,a>>3&7){case 4:224===a?c.s.l[0]=c.m&-14337|c.b<<11:db(c);break;case 5:a=rb(c,d);ib(c,a);c.pop();break;case 6:ib(c,rb(c,d));c.pop();break;default:db(c)}};X[224]=function(a){var c=D(a);--a.j[a.M]&&!a.Pb()&&(a.w=a.w+c|0,a.Da||xd(a))};X[225]=function(a){var c=D(a);--a.j[a.M]&&a.Pb()&&(a.w=a.w+c|0,a.Da||xd(a))};X[226]=function(a){a.loop(D(a))}; -X[227]=function(a){var c=D(a);0===a.j[a.M]&&(a.w=a.w+c|0,a.Da||xd(a))};X[228]=function(a){var c=C(a);Zd(a,c,1);a.C[0]=Ha(a.A,c)};Y[229]=function(a){var c=C(a);Zd(a,c,2);a.l[0]=Ia(a.A,c)};Z[229]=function(a){var c=C(a);Zd(a,c,4);a.a[0]=Ja(a.A,c)};X[230]=function(a){var c=C(a);Zd(a,c,1);Ea(a.A,c,a.C[0])};Y[231]=function(a){var c=C(a);Zd(a,c,2);Fa(a.A,c,a.l[0])};Z[231]=function(a){var c=C(a);Zd(a,c,4);Ga(a.A,c,a.a[0])};Y[232]=function(a){var c=E(a)<<16>>16;O(a,xd(a));Mf(a,c)}; -Z[232]=function(a){var c=H(a);N(a,xd(a));a.w=a.w+c|0;a.la||xd(a)};Y[233]=function(a){var c=E(a)<<16>>16;Mf(a,c)};Z[233]=function(a){var c=H(a);a.w=a.w+c|0;a.la||xd(a)};Y[234]=function(a){var c=E(a);B(a,1,E(a));a.w=c+K(a,1)|0;a.la||xd(a)};Z[234]=function(a){var c=H(a);B(a,1,E(a));if((!a.qa||rd(a))&&c&4294901760)throw a.debug.S("#GP handler");a.w=c+K(a,1)|0;a.la||xd(a)};X[235]=function(a){var c=D(a);a.w=a.w+c|0;a.la||xd(a);a.qa=1===(a.G[0]&1)}; -X[236]=function(a){var c=a.l[4];Zd(a,c,1);a.C[0]=Ha(a.A,c)};Y[237]=function(a){var c=a.l[4];Zd(a,c,2);a.l[0]=Ia(a.A,c)};Z[237]=function(a){var c=a.l[4];Zd(a,c,4);a.a[0]=Ja(a.A,c)};X[238]=function(a){var c=a.l[4];Zd(a,c,1);Ea(a.A,c,a.C[0])};Y[239]=function(a){var c=a.l[4];Zd(a,c,2);Fa(a.A,c,a.l[0])};Z[239]=function(a){var c=a.l[4];Zd(a,c,4);Ga(a.A,c,a.a[0])};X[240]=function(a){gd(a)};X[241]=function(a){throw a.debug.S("int1 instruction");};X[242]=function(a){a.ca=1;gd(a);a.ca=0}; -X[243]=function(a){a.ca=2;gd(a);a.ca=0};X[244]=function(a){a.O&&M(a,0);if(a.h&512)throw a.Pc=!0,233495534;a.debug.show("cpu halted");throw"HALT";};X[245]=function(a){a.h=(a.h|1)^a.Pa();a.u&=-2}; -X[246]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:var c=Id(a),d=C(a);Se(a,c,d,7);break;case 1:c=Id(a);d=C(a);Se(a,c,d,7);break;case 2:c=Nd(a);Od(a,~c);break;case 3:c=Nd(a);Od(a,Je(a,c,7));break;case 4:c=Id(a);c*=a.C[0];a.l[0]=c;a.F=c&255;a.T=7;a.h=256>c?a.h&-2050:a.h|2049;a.u=212;break;case 5:c=Id(a)<<24>>24;c*=a.be[0];a.l[0]=c;a.F=c&255;a.T=7;a.h=127c?a.h|2049:a.h&-2050;a.u=212;break;case 6:c=Id(a);if(0===c)Gd(a);else{var d=a.l[0],e=d/c|0;256<=e?Gd(a):(a.C[0]=e,a.C[1]=d%c)}break;case 7:c= -Id(a)<<24>>24,0===c?Gd(a):(d=a.yc[0],e=d/c|0,128<=e||-129>=e?Gd(a):(a.C[0]=e,a.C[1]=d%c))}}; -Y[247]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:var c=R(a),d=E(a);Se(a,c,d,15);break;case 1:c=R(a);d=E(a);Se(a,c,d,15);break;case 2:c=S(a);T(a,~c);break;case 3:c=S(a);T(a,Je(a,c,15));break;case 4:c=R(a);c*=a.l[0];d=c>>>16;a.l[0]=c;a.l[4]=d;a.F=c&65535;a.T=15;a.h=d?a.h|2049:a.h&-2050;a.u=212;break;case 5:c=R(a)<<16>>16;c*=a.yc[0];a.l[0]=c;a.l[4]=c>>16;a.F=c&65535;a.T=15;a.h=32767c?a.h|2049:a.h&-2050;a.u=212;break;case 6:c=R(a);if(0===c)Gd(a);else{var d=(a.l[0]|a.l[4]<<16)>>>0,e=d/c| -0;65536<=e||0>e?Gd(a):(a.l[0]=e,a.l[4]=d%c)}break;case 7:c=R(a)<<16>>16,0===c?Gd(a):(d=a.l[0]|a.l[4]<<16,e=d/c|0,32768<=e||-32769>=e?Gd(a):(a.l[0]=e,a.l[4]=d%c))}}; -Z[247]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:var c=Jd(a),d=H(a);Se(a,c,d,31);break;case 1:c=Jd(a);d=H(a);Se(a,c,d,31);break;case 2:c=U(a);V(a,~c);break;case 3:c=U(a);V(a,Je(a,c,31));break;case 4:c=Jd(a)>>>0;c=Me(a.a[0],c);a.a[0]=c[0];a.a[2]=c[1];a.F=c[0];a.T=31;a.h=0===c[1]?a.h&-2050:a.h|2049;a.u=212;break;case 5:c=Jd(a);c=Ne(a.a[0],c);a.a[0]=c[0];a.a[2]=c[1];a.F=c[0];a.T=31;a.h=c[1]===c[0]>>31?a.h&-2050:a.h|2049;a.u=212;break;case 6:c=Jd(a)>>>0;d=Qe(a,a.Wc[0],a.Wc[2],c);c=d[0];d=d[1];4294967296<= -c?Gd(a):(a.a[0]=c,a.a[2]=d);break;case 7:var e=c=Jd(a),f=a.Wc[0],h=a.a[2],d=c=!1;0>e&&(d=!0,e=-e);0>h&&(c=!0,d=!d,f=-f>>>0,h=~h+!f);f=Qe(a,f,h,e);e=f[0];f=f[1];d&&(e=-e|0);c&&(f=-f|0);2147483648<=e||-2147483649>=e?Gd(a):(a.a[0]=e,a.a[2]=f)}};X[248]=function(a){a.h&=-2;a.u&=-2};X[249]=function(a){a.h|=1;a.u&=-2};X[250]=function(a){!a.qa||(a.h&131072?3===qd(a):qd(a)>=a.O)?a.h&=-513:M(a,0)};X[251]=function(a){!a.qa||(a.h&131072?3===qd(a):qd(a)>=a.O)?(a.h|=512,dd(a),fd(a),Fc(a)):M(a,0)}; -X[252]=function(a){a.h&=-1025};X[253]=function(a){a.h|=1024};X[254]=function(a){a.f=C(a);var c=a.f&56;c?8===c?(c=Nd(a),Od(a,Ie(a,c,7))):w(a):(c=Nd(a),Od(a,He(a,c,7)))}; -Y[255]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:var c=S(a);T(a,He(a,c,15));break;case 1:c=S(a);T(a,Ie(a,c,15));break;case 2:c=R(a);O(a,xd(a));a.w=K(a,1)+c|0;a.la||xd(a);break;case 3:192<=a.f&&w(a);var d=a.P(a.f),c=y(a,d),d=y(a,d+2|0),e=a.R[1],f=xd(a);lb(a,J(a,-4),4);B(a,1,d);O(a,e);O(a,f);a.w=K(a,1)+c|0;a.la||xd(a);break;case 4:c=R(a);a.w=K(a,1)+c|0;a.la||xd(a);break;case 5:192<=a.f&&w(a);d=a.P(a.f);c=y(a,d);d=y(a,d+2|0);B(a,1,d);a.w=K(a,1)+c|0;a.la||xd(a);break;case 6:c=R(a);O(a,c);break;case 7:w(a)}}; -Z[255]=function(a){a.f=C(a);switch(a.f>>3&7){case 0:var c=U(a);V(a,He(a,c,31));break;case 1:c=U(a);V(a,Ie(a,c,31));break;case 2:c=Jd(a);N(a,xd(a));a.w=K(a,1)+c|0;break;case 3:192<=a.f&&w(a);var d=a.P(a.f),c=A(a,d),d=y(a,d+4|0),e=a.R[1],f=xd(a);if((!a.qa||rd(a))&&c&4294901760)throw a.debug.S("#GP handler");lb(a,J(a,-8),8);B(a,1,d);N(a,e);N(a,f);a.w=K(a,1)+c|0;break;case 4:c=Jd(a);a.w=K(a,1)+c|0;break;case 5:192<=a.f&&w(a);d=a.P(a.f);c=A(a,d);d=y(a,d+4|0);if((!a.qa||rd(a))&&c&4294901760)throw a.debug.S("#GP handler"); -B(a,1,d);a.w=K(a,1)+c|0;break;case 6:c=Jd(a);N(a,c);break;case 7:w(a)}};var cg=[],dg=[];v.prototype.ja=cg;v.prototype.wa=dg;for(var eg=0;256>eg;eg++)X[eg]?cg[eg]=dg[eg]=X[eg]:Y[eg]&&(cg[eg]=Y[eg],dg[eg]=Z[eg]);X=[];Y=[];Z=[]; -X[0]=function(a){a.f=C(a);a.qa&&!rd(a)||w(a);switch(a.f>>3&7){case 0:Ld(a,a.R[7]);192<=a.f&&(a.a[a.f&7]&=65535);break;case 1:Ld(a,a.R[6]);192<=a.f&&(a.a[a.f&7]&=65535);break;case 2:a.O&&M(a,0);var c=R(a);Ad(a,c);break;case 3:a.O&&M(a,0);var c=R(a),d=zd(a,c);if(!d.ye)throw a.debug.S("TR can only be loaded from GDT");if(d.kb)throw a.debug.S("#GP handler");if(!d.Eb)throw a.debug.S("#GP handler");if(!d.Fb)throw a.debug.S("#GP handler");if(9!==d.type&&1!==d.type)throw a.debug.S("#GP handler");if(1===d.type)throw a.debug.S("286 tss"); -a.Ea[6]=d.Cb;a.Qa[6]=d.Ob;a.R[6]=c;a.memory.sa(d.Hd+5|0,a.memory.da(d.Hd+5|0)|2);break;case 4:c=R(a);c=zd(a,c);a.u&=-65;a.h=c.kb||!c.bc||c.Fb||!c.Ae||!c.xd&&(c.xa>3&7;if(4===c)Ld(a,a.G[0]);else if(6===c){a.O&&M(a,0);var d=R(a);a.G[0]=a.G[0]&-16|d&15;a.qa&&(a.G[0]|=1);hd(a)}else switch(192<=a.f&&w(a),2!==c&&3!==c||!a.qa||(a.ya=9),d=a.P(a.f),a.ya=-1,c){case 0:lb(a,d,6);mb(a,d,a.Nc);c=a.Da?-1:16777215;x(a,d+2,a.$b&c);break;case 1:lb(a,d,6);mb(a,d,a.Oc);c=a.Da?-1:16777215;x(a,d+2,a.ac&c);break;case 2:a.O&&M(a,0);c=y(a,d);d=A(a,d+2);a.Nc=c;a.$b=d;a.Da||(a.$b&=16777215);break;case 3:a.O&&M(a,0);c=y(a,d);d=A(a,d+2);a.Oc=c;a.ac= -d;a.Da||(a.ac&=16777215);break;case 7:a.O&&M(a,0);d>>>=12;a.Kb[d]=0;a.Id[d]=0;a.Gb=-1;a.Sc=-1;break;default:w(a)}};Y[2]=function(a){a.f=C(a);a.qa&&!rd(a)||w(a);var c=R(a);Xd(a,$d(a,c,Vd(a)))};Z[2]=function(a){a.f=C(a);a.qa&&!rd(a)||w(a);var c=R(a);Yd(a,$d(a,c,W(a)))};Y[3]=function(a){a.f=C(a);a.qa&&!rd(a)||w(a);var c=R(a);Xd(a,ae(a,c,Vd(a)))};Z[3]=function(a){a.f=C(a);a.qa&&!rd(a)||w(a);var c=R(a);Yd(a,ae(a,c,W(a)))};X[4]=function(a){w(a)};X[5]=function(a){w(a)}; -X[6]=function(a){a.O?M(a,0):a.G[0]&=-9};X[7]=function(a){w(a)};X[8]=function(a){w(a)};X[9]=function(a){a.O&&M(a,0)};X[10]=function(a){w(a)};X[11]=function(a){w(a)};X[12]=function(a){w(a)};X[13]=function(a){w(a)};X[14]=function(a){w(a)};X[15]=function(a){w(a)};X[16]=function(a){w(a)};X[17]=function(a){w(a)};X[18]=function(a){w(a)};X[19]=function(a){w(a)};X[20]=function(a){w(a)};X[21]=function(a){w(a)};X[22]=function(a){w(a)};X[23]=function(a){w(a)};X[24]=function(a){a.f=C(a);192>a.f&&a.P(a.f)}; -X[25]=function(a){w(a)};X[26]=function(a){w(a)};X[27]=function(a){w(a)};X[28]=function(a){w(a)};X[29]=function(a){w(a)};X[30]=function(a){w(a)};X[31]=function(a){w(a)};X[32]=function(a){a.f=C(a);a.O&&M(a,0);switch(a.f>>3&7){case 0:Sd(a,a.G[0]);break;case 2:Sd(a,a.G[2]);break;case 3:Sd(a,a.G[3]);break;case 4:Sd(a,a.G[4]);break;default:w(a)}};X[33]=function(a){a.f=C(a);a.O&&M(a,0);a.a[a.f&7]=a.nc[a.f>>3&7]}; -X[34]=function(a){a.f=C(a);a.O&&M(a,0);var c=Rd(a);switch(a.f>>3&7){case 0:a.G[0]=c;if(-2147483648===(a.G[0]&-2147483647))throw a.debug.S("#GP handler");hd(a);break;case 2:a.G[2]=c;break;case 3:a.G[3]=c;Bd(a);break;case 4:c&-3565568&&M(a,0);(a.G[4]^c)&128&&(c&128?Bd(a):cd(a));a.G[4]=c;a.Ad=a.G[4]&16?128:0;if(a.G[4]&32)throw a.debug.S("PAE");break;default:w(a)}};X[35]=function(a){a.f=C(a);a.O&&M(a,0);a.nc[a.f>>3&7]=Rd(a)};X[36]=function(a){w(a)};X[37]=function(a){w(a)};X[38]=function(a){w(a)}; -X[39]=function(a){w(a)};X[40]=function(a){w(a)};X[41]=function(a){w(a)};X[42]=function(a){w(a)};X[43]=function(a){w(a)};X[44]=function(a){w(a)};X[45]=function(a){w(a)};X[46]=function(a){w(a)};X[47]=function(a){w(a)};X[48]=function(a){a.O&&M(a,0);var c=a.a[0],d=a.a[2];switch(a.a[1]){case 372:a.Ac=c&65535;break;case 374:a.Zc=c;break;case 373:a.$c=c;break;case 16:c=(c>>>0)+4294967296*(d>>>0),a.Jd=Oa()-c/8192}}; -X[49]=function(a){if(a.O&&a.G[4]&4)M(a,0);else{var c=Oa()-a.Jd;a.a[0]=8192*c;a.a[2]=1.9073486328125E-6*c}};X[50]=function(a){a.O&&M(a,0);var c=0,d=0;switch(a.a[1]){case 372:c=a.Ac;break;case 374:c=a.Zc;break;case 373:c=a.$c;break;case 16:d=Oa()-a.Jd;c=8192*d;d*=1.9073486328125E-6;break;case 27:c=4276092928}a.a[0]=c;a.a[2]=d};X[51]=function(a){w(a)}; -X[52]=function(a){var c=a.Ac&65532;a.qa&&c||M(a,0);a.h&=-131585;a.w=a.Zc;a.a[4]=a.$c;a.R[1]=c;a.yb[1]=0;a.Qa[1]=-1;a.Ea[1]=0;a.Na||Dd(a,!0);a.O=0;id(a);a.R[2]=c+8;a.yb[2]=0;a.Qa[2]=-1;a.Ea[2]=0;a.gb=!0};X[53]=function(a){var c=a.Ac&65532;a.qa&&!a.O&&c||M(a,0);a.w=a.a[2];a.a[4]=a.a[1];a.R[1]=c+16|3;a.yb[1]=0;a.Qa[1]=-1;a.Ea[1]=0;a.Na||Dd(a,!0);a.O=3;id(a);a.R[2]=c+24|3;a.yb[2]=0;a.Qa[2]=-1;a.Ea[2]=0;a.gb=!0};X[54]=function(a){w(a)};X[55]=function(a){w(a)};X[56]=function(a){w(a)};X[57]=function(a){w(a)}; -X[58]=function(a){w(a)};X[59]=function(a){w(a)};X[60]=function(a){w(a)};X[61]=function(a){w(a)};X[62]=function(a){w(a)};X[63]=function(a){w(a)};Y[64]=function(a){a.f=C(a);Pf(a,a.qb())};Z[64]=function(a){a.f=C(a);Qf(a,a.qb())};Y[65]=function(a){a.f=C(a);Pf(a,!a.qb())};Z[65]=function(a){a.f=C(a);Qf(a,!a.qb())};Y[66]=function(a){a.f=C(a);Pf(a,a.hb())};Z[66]=function(a){a.f=C(a);Qf(a,a.hb())};Y[67]=function(a){a.f=C(a);Pf(a,!a.hb())};Z[67]=function(a){a.f=C(a);Qf(a,!a.hb())}; -Y[68]=function(a){a.f=C(a);Pf(a,a.jb())};Z[68]=function(a){a.f=C(a);Qf(a,a.jb())};Y[69]=function(a){a.f=C(a);Pf(a,!a.jb())};Z[69]=function(a){a.f=C(a);Qf(a,!a.jb())};Y[70]=function(a){a.f=C(a);Pf(a,Sf(a))};Z[70]=function(a){a.f=C(a);Qf(a,Sf(a))};Y[71]=function(a){a.f=C(a);Pf(a,!Sf(a))};Z[71]=function(a){a.f=C(a);Qf(a,!Sf(a))};Y[72]=function(a){a.f=C(a);Pf(a,a.rb())};Z[72]=function(a){a.f=C(a);Qf(a,a.rb())};Y[73]=function(a){a.f=C(a);Pf(a,!a.rb())};Z[73]=function(a){a.f=C(a);Qf(a,!a.rb())}; -Y[74]=function(a){a.f=C(a);Pf(a,a.ib())};Z[74]=function(a){a.f=C(a);Qf(a,a.ib())};Y[75]=function(a){a.f=C(a);Pf(a,!a.ib())};Z[75]=function(a){a.f=C(a);Qf(a,!a.ib())};Y[76]=function(a){a.f=C(a);Pf(a,Tf(a))};Z[76]=function(a){a.f=C(a);Qf(a,Tf(a))};Y[77]=function(a){a.f=C(a);Pf(a,!Tf(a))};Z[77]=function(a){a.f=C(a);Qf(a,!Tf(a))};Y[78]=function(a){a.f=C(a);Pf(a,Uf(a))};Z[78]=function(a){a.f=C(a);Qf(a,Uf(a))};Y[79]=function(a){a.f=C(a);Pf(a,!Uf(a))};Z[79]=function(a){a.f=C(a);Qf(a,!Uf(a))};X[80]=function(a){w(a)}; -X[81]=function(a){w(a)};X[82]=function(a){w(a)};X[83]=function(a){w(a)};X[84]=function(a){w(a)};X[85]=function(a){w(a)};X[86]=function(a){w(a)};X[87]=function(a){w(a)};X[88]=function(a){w(a)};X[89]=function(a){w(a)};X[90]=function(a){w(a)};X[91]=function(a){w(a)};X[92]=function(a){w(a)};X[93]=function(a){w(a)};X[94]=function(a){w(a)};X[95]=function(a){w(a)};X[96]=function(a){w(a)};X[97]=function(a){w(a)};X[98]=function(a){w(a)};X[99]=function(a){w(a)};X[100]=function(a){w(a)};X[101]=function(a){w(a)}; -X[102]=function(a){w(a)};X[103]=function(a){w(a)};X[104]=function(a){w(a)};X[105]=function(a){w(a)};X[106]=function(a){w(a)};X[107]=function(a){w(a)};X[108]=function(a){w(a)};X[109]=function(a){w(a)};X[110]=function(a){w(a)};X[111]=function(a){w(a)};X[112]=function(a){w(a)};X[113]=function(a){w(a)};X[114]=function(a){w(a)};X[115]=function(a){w(a)};X[116]=function(a){w(a)};X[117]=function(a){w(a)};X[118]=function(a){w(a)};X[119]=function(a){w(a)};X[120]=function(a){w(a)};X[121]=function(a){w(a)}; -X[122]=function(a){w(a)};X[123]=function(a){w(a)};X[124]=function(a){w(a)};X[125]=function(a){w(a)};X[126]=function(a){w(a)};X[127]=function(a){w(a)};Y[128]=function(a){Nf(a,a.qb())};Z[128]=function(a){Of(a,a.qb())};Y[129]=function(a){Nf(a,!a.qb())};Z[129]=function(a){Of(a,!a.qb())};Y[130]=function(a){Nf(a,a.hb())};Z[130]=function(a){Of(a,a.hb())};Y[131]=function(a){Nf(a,!a.hb())};Z[131]=function(a){Of(a,!a.hb())};Y[132]=function(a){Nf(a,a.jb())};Z[132]=function(a){Of(a,a.jb())}; -Y[133]=function(a){Nf(a,!a.jb())};Z[133]=function(a){Of(a,!a.jb())};Y[134]=function(a){Nf(a,Sf(a))};Z[134]=function(a){Of(a,Sf(a))};Y[135]=function(a){Nf(a,!Sf(a))};Z[135]=function(a){Of(a,!Sf(a))};Y[136]=function(a){Nf(a,a.rb())};Z[136]=function(a){Of(a,a.rb())};Y[137]=function(a){Nf(a,!a.rb())};Z[137]=function(a){Of(a,!a.rb())};Y[138]=function(a){Nf(a,a.ib())};Z[138]=function(a){Of(a,a.ib())};Y[139]=function(a){Nf(a,!a.ib())};Z[139]=function(a){Of(a,!a.ib())};Y[140]=function(a){Nf(a,Tf(a))}; -Z[140]=function(a){Of(a,Tf(a))};Y[141]=function(a){Nf(a,!Tf(a))};Z[141]=function(a){Of(a,!Tf(a))};Y[142]=function(a){Nf(a,Uf(a))};Z[142]=function(a){Of(a,Uf(a))};Y[143]=function(a){Nf(a,!Uf(a))};Z[143]=function(a){Of(a,!Uf(a))};X[144]=function(a){a.f=C(a);Rf(a,a.qb())};X[145]=function(a){a.f=C(a);Rf(a,!a.qb())};X[146]=function(a){a.f=C(a);Rf(a,a.hb())};X[147]=function(a){a.f=C(a);Rf(a,!a.hb())};X[148]=function(a){a.f=C(a);Rf(a,a.jb())};X[149]=function(a){a.f=C(a);Rf(a,!a.jb())}; -X[150]=function(a){a.f=C(a);Rf(a,Sf(a))};X[151]=function(a){a.f=C(a);Rf(a,!Sf(a))};X[152]=function(a){a.f=C(a);Rf(a,a.rb())};X[153]=function(a){a.f=C(a);Rf(a,!a.rb())};X[154]=function(a){a.f=C(a);Rf(a,a.ib())};X[155]=function(a){a.f=C(a);Rf(a,!a.ib())};X[156]=function(a){a.f=C(a);Rf(a,Tf(a))};X[157]=function(a){a.f=C(a);Rf(a,!Tf(a))};X[158]=function(a){a.f=C(a);Rf(a,Uf(a))};X[159]=function(a){a.f=C(a);Rf(a,!Uf(a))};Y[160]=function(a){O(a,a.R[4])};Z[160]=function(a){N(a,a.R[4])}; -Y[161]=function(a){B(a,4,y(a,J(a,0)));I(a,2)};Z[161]=function(a){B(a,4,y(a,J(a,0)));I(a,4)}; -X[162]=function(a){var c=0,d=0,e=0,f=0;switch(a.a[0]){case 0:c=5;f=1970169159;e=1231384169;d=1818588270;break;case 1:c=3939;f=67584;d=1082130432;e=(a.Ba?1:0)|43322;e|=512;break;case 2:c=1717260289;d=f=0;e=8024064;break;case 4:switch(a.a[1]){case 0:c=289;f=29360191;d=63;e=1;break;case 1:c=290;f=29360191;d=63;e=1;break;case 2:c=323,f=96469055,d=4095,e=1}break;case -2147483648:c=5}a.a[0]=c;a.a[1]=d;a.a[2]=e;a.a[3]=f};Y[163]=function(a){a.f=C(a);192>a.f?Gf(a,a.P(a.f),Wd(a)):Cf(a,Pd(a),Vd(a)&15)}; -Z[163]=function(a){a.f=C(a);192>a.f?Gf(a,a.P(a.f),W(a)):Cf(a,Rd(a),W(a)&31)};Y[164]=function(a){a.f=C(a);var c=S(a);T(a,Af(a,c,Vd(a),C(a)&31))};Z[164]=function(a){a.f=C(a);var c=U(a);V(a,Bf(a,c,W(a),C(a)&31))};Y[165]=function(a){a.f=C(a);var c=S(a);T(a,Af(a,c,Vd(a),a.C[4]&31))};Z[165]=function(a){a.f=C(a);var c=U(a);V(a,Bf(a,c,W(a),a.C[4]&31))};X[166]=function(a){w(a)};X[167]=function(a){w(a)};Y[168]=function(a){O(a,a.R[5])};Z[168]=function(a){N(a,a.R[5])}; -Y[169]=function(a){B(a,5,y(a,J(a,0)));I(a,2)};Z[169]=function(a){B(a,5,y(a,J(a,0)));I(a,4)};X[170]=function(a){w(a)};Y[171]=function(a){a.f=C(a);192>a.f?Jf(a,a.P(a.f),Wd(a)):Qd(a,Ef(a,Pd(a),Wd(a)&15))};Z[171]=function(a){a.f=C(a);192>a.f?Jf(a,a.P(a.f),W(a)):Sd(a,Ef(a,Rd(a),W(a)&31))};Y[172]=function(a){a.f=C(a);var c=S(a);T(a,yf(a,c,Vd(a),C(a)&31))};Z[172]=function(a){a.f=C(a);var c=U(a);V(a,zf(a,c,W(a),C(a)&31))};Y[173]=function(a){a.f=C(a);var c=S(a);T(a,yf(a,c,Vd(a),a.C[4]&31))}; -Z[173]=function(a){a.f=C(a);var c=U(a);V(a,zf(a,c,W(a),a.C[4]&31))};X[174]=function(a){a.f=C(a);switch(a.f>>3&7){case 5:break;case 6:break;default:w(a)}};Y[175]=function(a){a.f=C(a);var c=R(a)<<16>>16;Xd(a,Ke(a,Wd(a),c))};Z[175]=function(a){a.f=C(a);var c=Jd(a);Yd(a,Oe(a,W(a),c))};X[176]=function(a){a.f=C(a);if(192>a.f){var c=a.P(a.f);lb(a,c,1);var d=ld(a,c)}else d=a.C[a.f<<2&12|a.f>>2&1];Ae(a,a.C[0],d,7);a.Pb()?192>a.f?md(a,c,Td(a)):a.C[a.f<<2&12|a.f>>2&1]=Td(a):a.C[0]=d}; -Y[177]=function(a){a.f=C(a);if(192>a.f){var c=a.P(a.f);lb(a,c,2);var d=y(a,c)}else d=Pd(a);Ae(a,a.l[0],d,15);a.Pb()?192>a.f?mb(a,c,Vd(a)):Qd(a,Vd(a)):a.l[0]=d};Z[177]=function(a){a.f=C(a);if(192>a.f){var c=a.P(a.f);lb(a,c,4);var d=A(a,c)}else d=Rd(a);Ae(a,a.a[0],d,31);a.Pb()?192>a.f?x(a,c,W(a)):Sd(a,W(a)):a.a[0]=d};Y[178]=function(a){a.f=C(a);$f(a,2)};Z[178]=function(a){a.f=C(a);ag(a,2)};Y[179]=function(a){a.f=C(a);192>a.f?If(a,a.P(a.f),Wd(a)):Qd(a,Ff(a,Pd(a),Wd(a)&15))}; -Z[179]=function(a){a.f=C(a);192>a.f?If(a,a.P(a.f),W(a)):Sd(a,Ff(a,Rd(a),W(a)&31))};Y[180]=function(a){a.f=C(a);$f(a,4)};Z[180]=function(a){a.f=C(a);ag(a,4)};Y[181]=function(a){a.f=C(a);$f(a,5)};Z[181]=function(a){a.f=C(a);ag(a,5)};Y[182]=function(a){a.f=C(a);var c=Id(a);Xd(a,c)};Z[182]=function(a){a.f=C(a);var c=Id(a);Yd(a,c)};X[183]=function(a){a.f=C(a);var c=R(a);Yd(a,c)};Y[184]=function(a){a.f=C(a);var c=R(a);Xd(a,Kf(a,c))};Z[184]=function(a){a.f=C(a);var c=Jd(a);Yd(a,Kf(a,c))};X[185]=function(a){w(a)}; -Y[186]=function(a){a.f=C(a);switch(a.f>>3&7){case 4:192>a.f?Gf(a,a.P(a.f),C(a)&15):Cf(a,Pd(a),C(a)&15);break;case 5:192>a.f?Jf(a,a.P(a.f),C(a)&15):Qd(a,Ef(a,Pd(a),C(a)&15));break;case 6:192>a.f?If(a,a.P(a.f),C(a)&15):Qd(a,Ff(a,Pd(a),C(a)&15));break;case 7:192>a.f?Hf(a,a.P(a.f),C(a)&15):Qd(a,Df(a,Pd(a),C(a)&15));break;default:w(a)}}; -Z[186]=function(a){a.f=C(a);switch(a.f>>3&7){case 4:192>a.f?Gf(a,a.P(a.f),C(a)&31):Cf(a,Rd(a),C(a)&31);break;case 5:192>a.f?Jf(a,a.P(a.f),C(a)&31):Sd(a,Ef(a,Rd(a),C(a)&31));break;case 6:192>a.f?If(a,a.P(a.f),C(a)&31):Sd(a,Ff(a,Rd(a),C(a)&31));break;case 7:192>a.f?Hf(a,a.P(a.f),C(a)&31):Sd(a,Df(a,Rd(a),C(a)&31));break;default:w(a)}};Y[187]=function(a){a.f=C(a);192>a.f?Hf(a,a.P(a.f),Wd(a)):Qd(a,Df(a,Pd(a),Wd(a)&15))};Z[187]=function(a){a.f=C(a);192>a.f?Hf(a,a.P(a.f),W(a)):Sd(a,Df(a,Rd(a),W(a)&31))}; -Y[188]=function(a){a.f=C(a);var c=R(a);var d=Vd(a);a.u=2197;a.T=15;0===c?(a.h|=64,c=d):(a.h&=-65,c=a.F=Va(-c&c));Xd(a,c)};Z[188]=function(a){a.f=C(a);var c=Jd(a);var d=W(a);a.u=2197;a.T=31;0===c?(a.h|=64,c=d):(a.h&=-65,c=a.F=Va((-c&c)>>>0));Yd(a,c)};Y[189]=function(a){a.f=C(a);var c=R(a);var d=Vd(a);a.u=2197;a.T=15;0===c?(a.h|=64,c=d):(a.h&=-65,c=a.F=Va(c));Xd(a,c)};Z[189]=function(a){a.f=C(a);var c=Jd(a);var d=W(a);a.u=2197;a.T=31;0===c?(a.h|=64,c=d):(a.h&=-65,c=a.F=Va(c>>>0));Yd(a,c)}; -Y[190]=function(a){a.f=C(a);var c=Id(a)<<24>>24;Xd(a,c)};Z[190]=function(a){a.f=C(a);var c=Id(a)<<24>>24;Yd(a,c)};X[191]=function(a){a.f=C(a);var c=R(a)<<16>>16;Yd(a,c)};X[192]=function(a){a.f=C(a);var c;c=Nd(a);var d=a.f>>1&12|a.f>>5&1,e=a.C[d];a.C[d]=c;c=a.add(c,e,7);Od(a,c)};Y[193]=function(a){a.f=C(a);var c;c=S(a);var d=a.f>>2&14,e=a.l[d];a.l[d]=c;c=a.add(c,e,15);T(a,c)};Z[193]=function(a){a.f=C(a);var c;c=U(a);var d=a.f>>3&7,e=a.a[d];a.a[d]=c;c=a.add(c,e,31);V(a,c)};X[194]=function(a){w(a)}; -X[195]=function(a){w(a)};X[196]=function(a){w(a)};X[197]=function(a){w(a)};X[198]=function(a){w(a)};X[199]=function(a){a.f=C(a);switch(a.f>>3&7){case 1:192<=a.f&&w(a);var c=a.P(a.f);lb(a,c,8);var d=A(a,c),e=A(a,c+4|0);a.a[0]===d&&a.a[2]===e?(a.h|=64,x(a,c,a.a[3]),x(a,c+4|0,a.a[1])):(a.h&=-65,a.a[0]=d,a.a[2]=e);a.u&=-65;break;case 6:d=(c=Qa())?Ta():0;a.Da?Md(a,d):Ld(a,d);a.h&=-2262;a.h|=c;a.u=0;break;default:w(a)}};X[200]=function(a){bg(a,0)};X[201]=function(a){bg(a,1)};X[202]=function(a){bg(a,2)}; -X[203]=function(a){bg(a,3)};X[204]=function(a){bg(a,4)};X[205]=function(a){bg(a,5)};X[206]=function(a){bg(a,6)};X[207]=function(a){bg(a,7)};X[208]=function(a){w(a)};X[209]=function(a){w(a)};X[210]=function(a){w(a)};X[211]=function(a){w(a)};X[212]=function(a){w(a)};X[213]=function(a){w(a)};X[214]=function(a){w(a)};X[215]=function(a){w(a)};X[216]=function(a){w(a)};X[217]=function(a){w(a)};X[218]=function(a){w(a)};X[219]=function(a){w(a)};X[220]=function(a){w(a)};X[221]=function(a){w(a)};X[222]=function(a){w(a)}; -X[223]=function(a){w(a)};X[224]=function(a){w(a)};X[225]=function(a){w(a)};X[226]=function(a){w(a)};X[227]=function(a){w(a)};X[228]=function(a){w(a)};X[229]=function(a){w(a)};X[230]=function(a){w(a)};X[231]=function(a){w(a)};X[232]=function(a){w(a)};X[233]=function(a){w(a)};X[234]=function(a){w(a)};X[235]=function(a){w(a)};X[236]=function(a){w(a)};X[237]=function(a){w(a)};X[238]=function(a){w(a)};X[239]=function(a){w(a)};X[240]=function(a){w(a)};X[241]=function(a){w(a)};X[242]=function(a){w(a)}; -X[243]=function(a){w(a)};X[244]=function(a){w(a)};X[245]=function(a){w(a)};X[246]=function(a){w(a)};X[247]=function(a){w(a)};X[248]=function(a){w(a)};X[249]=function(a){w(a)};X[250]=function(a){w(a)};X[251]=function(a){w(a)};X[252]=function(a){w(a)};X[253]=function(a){w(a)};X[254]=function(a){w(a)};X[255]=function(a){w(a)};var fg=[],gg=[];v.prototype.gh=fg;v.prototype.hh=gg;for(eg=0;256>eg;eg++)X[eg]?fg[eg]=gg[eg]=X[eg]:Y[eg]&&(fg[eg]=Y[eg],gg[eg]=Z[eg]);function bd(a){var c={};a.debug=c;c.Hh=!1;c.Fh=void 0;c.oh=[];c.Ih=!1;c.show=function(a){if("undefined"!==typeof document){var c=document.getElementById("log");if(c){c.textContent+=a+"\n";c.style.display="block";c.scrollTop=1E9;return}}console.log(a)};c.ob=function(){};c.vh=function(){};c.th=function(){};c.Ah=function(){};c.wh=function(){};c.yh=function(){};c.xh=function(){};c.uh=function(){};c.rh=function(){};c.sh=function(){};c.Bh=function(){};c.Eh=function(){};c.Jh=function(){};c.step=function(){}; -c.Gh=function(){};c.qh=function(){};c.S=function(a){a="Unimplemented"+(a?": "+a:"");c.show(a);c.show("Execution stopped");return a};c.Dh=function(){};c.ph=function(){}};var oa=16384;function hg(a){this.b=[];this.m=[];this.D=a;this.o=this.L=0;this.v=function(){};this.g={};this.K=0;na(this,"",-1)}function ia(a,c,d){0==ga(a,c).status?d():a.m.push({id:c,Cf:d})}function ig(a,c){a.o||(a.v=function(){});for(var d=[],e=0;e>8;ka(a,e);return a.b.length-1}function pa(a,c,d){var e=ja(a);e.name=c;e.va=d;e.uid=a.b[d].uid;e.Za=a.b[d].Za;e.Xa.type=128;e.mode=a.b[d].mode&438|32768;ka(a,e);return a.b.length-1}function ma(a,c,d,e,f){var h=ja(a);h.name=c;h.va=d;h.df=e;h.ef=f;h.uid=a.b[d].uid;h.Za=a.b[d].Za;h.Xa.type=192;h.mode=a.b[d].mode&438;ka(a,h);return a.b.length-1} -function la(a,c,d,e){var f=ja(a);f.name=c;f.va=d;f.uid=a.b[d].uid;f.Za=a.b[d].Za;f.Xa.type=160;f.Gd=e;f.mode=40960;ka(a,f);return a.b.length-1}function pg(a,c,d,e){c=pa(a,c,d);d=a.b[c];(a.g[c]=new Uint8Array(e.length)).set(e);d.size=e.length} -function ha(a,c){var d=ga(a,c);if((d.mode&61440)==oa){var e=ga(a,c);if(e.hc){var f=e.va;-1==f&&(f=0);for(var h=0,r=a.b[c].eb;-1!=r;)h+=24+qg(a.b[r].name),r=a.b[r].fb;var h=h+25+26,k=a.g[c]=new Uint8Array(h);e.size=h;h=0;h+=ca(["Q","d","b","s"],[a.b[c].Xa,h+25,a.b[c].mode>>12,"."],k,h);h+=ca(["Q","d","b","s"],[a.b[f].Xa,h+13+8+1+2+2,a.b[f].mode>>12,".."],k,h);for(r=a.b[c].eb;-1!=r;)h+=ca(["Q","d","b","s"],[a.b[r].Xa,h+13+8+1+2+qg(a.b[r].name),a.b[r].mode>>12,a.b[r].name],k,h),r=a.b[r].fb;e.hc=!1}}return 2== -d.status?(lg(a,c),!1):!0}function va(a,c){var d=ga(a,c);4==d.status&&(d.status=-1,delete a.g[c],d.size=0)}function sa(a,c,d,e,f){if(c==e&&d==f)return!0;d=ta(a,c,d);if(-1==d)return!1;var h=ta(a,e,f);-1!=h&&ua(a,h);h=a.b[d];if(a.b[h.va].eb==d)a.b[h.va].eb=h.fb;else{var r=rg(a,d);a.b[r].fb=h.fb}h.va=e;h.name=f;h.Xa.version++;h.fb=a.b[h.va].eb;a.b[h.va].eb=d;a.b[c].hc=!0;return a.b[e].hc=!0} -function ra(a,c,d,e,f){var h=a.b[c],r=a.g[c];!r||r.lengthc||c>a.b.length?0:a.b[c]}function qa(a,c,d){var e=ga(a,c),f=a.g[c];if(d!=e.size&&(a=a.g[c]=new Uint8Array(d),e.size=d,f))for(d=Math.min(f.length,e.size),e=0;e>8&255;d[e++]=f>>16&255;d[e++]=f>>24&255;h+=4;break;case "d":d[e++]=f&255;d[e++]=f>>8&255;d[e++]=f>>16&255;d[e++]=f>>24&255;d[e++]=0;d[e++]=0;d[e++]=0;d[e++]=0;h+=8;break;case "h":d[e++]=f&255;d[e++]=f>>8;h+=2;break;case "b":d[e++]=f;h+=1;break;case "s":var k=e,t=0;d[e++]=0;d[e++]=0;var h=h+2,u;for(u in f)tg(f.charCodeAt(u)).forEach(function(a){d[e++]=a;h+=1;t++});d[k+0]=t&255;d[k+1]=t>>8&255; -break;case "Q":ca(["b","w","d"],[f.type,f.version,f.path],d,e),e+=13,h+=13}return h} -function fa(a,c){for(var d=[],e=0;e>>0);d.push(f);break;case "d":f=c();f+=c()<<8;f+=c()<<16;f+=c()<<24>>>0;c();c();c();c();d.push(f);break;case "h":f=c();d.push(f+(c()<<8));break;case "b":d.push(c());break;case "s":for(var f=c(),f=f+(c()<<8),h="",r=new ug,k=0;kthis.b[0])return this.g=0,this.b[0];break;case 2:if(192==(this.b[0]&224)&&128==(this.b[1]&192))return this.g=0,(this.b[0]&31)<<6|this.b[1]&63}return-1}}function tg(a){if(128>a)return[a];if(2048>a)return[192|a>>6&31,128|a&63]}function qg(a){for(var c=0,d=0;da.charCodeAt(d)?1:2;return c};function vg(a){function c(a){return f(a,!1)}function d(a){return f(a,!0)}function e(){for(var a=Object.keys(k),c,d=0;d>8),r(a&255)):r(a)}function r(a){t.J.send("keyboard-code",a)}var k={},t=this;this.g=!0;var u=new Uint16Array([0,0,0,0,0,0,0,0,14,15,0,0,0,28,0,0,42,29,56,0,58,0,0,0,0,0,0,1,0,0,0,0,57,57417,57425,57423,57415,57419,57416,57421,80,0,0,0,0,82,83,0,11,2,3,4,5,6,7,8,9,10,0,39,0,13,0,0,0,30,48,46,32,18,33,34,35,23,36,37,38,50,49,24,25,16,19,31,20,22,47,17,45,21,44,57435,57436,57437,0,0,82,79,80, -81,75,76,77,71,72,73,0,0,0,0,0,0,59,60,61,62,63,64,65,66,67,68,87,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,39,13,51,12,52,53,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,43,27,40,0,57435,57400,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),z={10:13,32:32,39:222,44:188,45:189,46:190,47:191,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,59:186,61:187,91:219,92:220,93:221,96:192,97:65,98:66,99:67,100:68, -101:69,102:70,103:71,104:72,105:73,106:74,107:75,108:76,109:77,110:78,111:79,112:80,113:81,114:82,115:83,116:84,117:85,118:86,119:87,120:88,121:89,122:90},G={33:49,34:222,35:51,36:52,37:53,38:55,40:57,41:48,42:56,43:187,58:186,60:188,62:190,63:191,64:50,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,94:54,95:189,123:219,124:220,125:221,126:192},F={Escape:1,Digit1:2,Digit2:3,Digit3:4,Digit4:5, -Digit5:6,Digit6:7,Digit7:8,Digit8:9,Digit9:10,Digit0:11,Minus:12,Equal:13,Backspace:14,Tab:15,KeyQ:16,KeyW:17,KeyE:18,KeyR:19,KeyT:20,KeyY:21,KeyU:22,KeyI:23,KeyO:24,KeyP:25,BracketLeft:26,BracketRight:27,Enter:28,ControlLeft:29,KeyA:30,KeyS:31,KeyD:32,KeyF:33,KeyG:34,KeyH:35,KeyJ:36,KeyK:37,KeyL:38,Semicolon:39,Quote:40,Backquote:41,ShiftLeft:42,Backslash:43,KeyZ:44,KeyX:45,KeyC:46,KeyV:47,KeyB:48,KeyN:49,KeyM:50,Comma:51,Period:52,Slash:53,ShiftRight:54,NumpadMultiply:55,AltLeft:56,Space:57,CapsLock:58, -F1:59,F2:60,F3:61,F4:62,F5:63,F6:64,F7:65,F8:66,F9:67,F10:68,NumLock:69,ScrollLock:70,Numpad7:71,Numpad8:72,Numpad9:73,NumpadSubtract:74,Numpad4:75,Numpad5:76,Numpad6:77,NumpadAdd:78,Numpad1:79,Numpad2:80,Numpad3:81,Numpad0:82,NumpadDecimal:83,IntlBackslash:86,F11:87,F12:88,NumpadEnter:57372,ControlRight:57373,NumpadDivide:57397,AltRight:57400,Home:57423,ArrowUp:57416,PageUp:57417,ArrowLeft:57419,ArrowRight:57421,End:57423,ArrowDown:57424,PageDown:57425,Insert:57426,Delete:57427,OSLeft:57435,OSRight:57436, -ContextMenu:57437};this.J=a;this.cb=function(){"undefined"!==typeof window&&(window.removeEventListener("keyup",c,!1),window.removeEventListener("keydown",d,!1),window.removeEventListener("blur",e,!1))};this.ob=function(){"undefined"!==typeof window&&(this.cb(),window.addEventListener("keyup",c,!1),window.addEventListener("keydown",d,!1),window.addEventListener("blur",e,!1))};this.ob();this.b=function(a){a={keyCode:a};f(a,!0);f(a,!1)};this.m=function(a){var c=a.charCodeAt(0);c in z?this.b(z[c]):c in -G?(r(42),this.b(G[c]),r(170)):console.log("ascii -> keyCode not found: ",c,a)}};function wg(a,c){function d(a){if(Ra.enabled&&Ra.b)if("mousemove"===a.type||"touchmove"===a.type)a=!0;else if("mousewheel"===a.type||"DOMMouseScroll"===a.type)a:{for(a=a.target;a.parentNode;){if(a===(c||document.body)){a=!0;break a}a=a.parentNode}a=!1}else a=!a.target||"INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName;else a=!1;return a}function e(a){d(a)&&(a=a.changedTouches)&&a.length&&(a=a[a.length-1],ya=a.clientX,Sa=a.clientY)}function f(){if(G||L||F)Ra.J.send("mouse-click",[!1,!1,!1]), -G=L=F=!1}function h(a){if(Ra.J&&d(a)){var c=0,e=0,f=a.changedTouches;f?f.length&&(f=f[f.length-1],c=f.clientX-ya,e=f.clientY-Sa,ya=f.clientX,Sa=f.clientY,a.preventDefault()):"number"===typeof a.movementX?(c=a.movementX,e=a.movementY):"number"===typeof a.webkitMovementX?(c=a.webkitMovementX,e=a.webkitMovementY):"number"===typeof a.mozMovementX?(c=a.mozMovementX,e=a.mozMovementY):(c=a.clientX-ya,e=a.clientY-Sa,ya=a.clientX,Sa=a.clientY);Ra.J.send("mouse-delta",[.15*c,-(.15*e)])}}function r(a){d(a)&& -a.preventDefault()}function k(a){d(a)&&u(a,!0)}function t(a){d(a)&&u(a,!1)}function u(a,c){Ra.J&&(1===a.which?G=c:2===a.which?L=c:3===a.which?F=c:console.log("Unknown event.which: "+a.which),Ra.J.send("mouse-click",[G,L,F]),a.preventDefault())}function z(a){if(d(a)){var c=a.wheelDelta||-a.detail;0>c?c=-1:0Date.now())){this.m=Date.now();try{this.b=new WebSocket(this.url)}catch(c){this.$e();return}this.b.binaryType="arraybuffer";this.b.onopen=this.bg.bind(this);this.b.onmessage=this.ag.bind(this);this.b.onclose=this.$e.bind(this);this.b.onerror=this.$f.bind(this)}};l.send=function(a){this.b&&1===this.b.readyState?this.b.send(a):(this.g.push(a),128>20)+" MB ...");this.buffer=new ArrayBuffer(a.size);this.onload=void 0}function f(a){this.m=a;this.byteLength=a.size;this.b=256;this.g={};this.onload=void 0}"undefined"===typeof XMLHttpRequest? -Wa=c:Wa=a;Xa=d;Ya=f;Aa=e;d.prototype.load=function(){void 0!==this.byteLength?this.onload&&this.onload({}):a(this.m,{done:function(a,c){a=c.getResponseHeader("Content-Range")||"";(c=a.match(/\/(\d+)\s*$/))?(this.byteLength=+c[1],this.onload&&this.onload({})):console.assert(!1,"Cannot use: "+this.m+". `Range: bytes=...` header not supported (Got `"+a+"`)")}.bind(this),headers:{Range:"bytes=0-0"}})};d.prototype.o=function(a,c){var d=c/this.b;a/=this.b;for(var e=0;e=e);z!==e&&(c.push(this.m.slice(e,z)),e=z);c.push(G);e+=G.length}e!==this.m.size&&c.push(this.m.slice(e));a=new File(c,a);console.assert(a.size===this.m.size);return a}})();function n(a){function c(a,c){switch(a){case "hda":k.Ma=this.Kc.hda=c;break;case "hdb":k.Vd=this.Kc.hdb=c;break;case "cdrom":k.Ka=this.Kc.cdrom=c;break;case "fda":k.Oa=this.Kc.fda=c;break;case "fdb":k.Se=this.Kc.fdb=c;break;case "bios":k.Hc=c.buffer;break;case "vga_bios":k.mh=c.buffer;break;case "initial_state":k.Qc=c.buffer;break;case "fs9p_json":k.We=c.buffer}}function d(a,c){if(c)if(c.get&&c.set&&c.load)t.push({name:a,rc:c});else{c={buffer:c.buffer,async:c.async,url:c.url,size:c.size};if("bios"=== -a||"vga_bios"===a||"initial_state"===a)c.async=!1;c.buffer instanceof ArrayBuffer?(c=new ab(c.buffer),t.push({name:a,rc:c})):c.buffer instanceof File?(void 0===c.async&&(c.async=268435456>c.buffer.size),c=c.async?new Aa(c.buffer):new Ya(c.buffer),t.push({name:a,rc:c})):c.url&&(c.async?(c=new Xa(c.url,c.size),t.push({name:a,rc:c})):t.push({name:a,url:c.url,size:c.size}))}}function e(){k.Qc&&(k.jg=!0);this.J.send("cpu-init",k);setTimeout(function(){k.Qc&&Rc(r.s,k.Qc);setTimeout(function(){k.Zb&&k.We&& -jg(k.Zb,k.We);a.autostart&&this.J.send("cpu-run")}.bind(this),0)}.bind(this),0)}this.pe=!1;var f=Zc(),h=this.J=f[0];this.o=f[1];var r=this.b=new Ka(this.o);this.J.register("emulator-stopped",function(){this.pe=!1},this);this.J.register("emulator-started",function(){this.pe=!0},this);var k={};this.Kc={fda:void 0,fdb:void 0,hda:void 0,hdb:void 0,cdrom:void 0};k.gg=!0;k.bb=a.memory_size||67108864;k.Ca=a.vga_memory_size||8388608;k.Ic=a.boot_order||531;k.Oa=void 0;k.Se=void 0;a.network_relay_url&&(new yg(a.network_relay_url, -h),k.Xf=!0);a.disable_keyboard||(this.g=new vg(h));a.disable_mouse||(this.v=new wg(h,a.screen_container));a.screen_container&&(this.m=new xa(a.screen_container,h));a.serial_container&&new xg(a.serial_container,h);for(var t=[],f="bios vga_bios cdrom hda hdb fda fdb initial_state".split(" "),h=0;hl{s64BQ1g z1#CSRT!NbR4sZylK2Otr0sI+w9=Pp%@CCBIrD@j!`Uvp(wx%r`t!Y2INYkcY3J$=v zMVfY18SMfGfb%C)5AYiB4)6hR4A7=%+HZl@D>QBPR84#2N=>UOhh8%@?Uyq(?J*!; z0q($euLJMvHEr$__kgC;%=2{ul7yu4#jTJAwK;G;PeCnsym5YAMga_khcRS-_8$ zL3d#Ka!s2FoV7yJh69s;$-r&EGT<-38^Fgv?p>O83-J0qn$`tmt<A8;Fd)@9!=W^c(b7!upD><_%rY}Fn}>W z92f&^2lnHh5+9NT7l1ij6B)| z{6paz@O@wja1Zbp@JHZP;2q!ya1!vGjr;*4fC<38z|Vn4fpdp3-hdKd5wIHgCC~!A z1bht4%4gi7e~tqq(Lob{2yh>e9b`NKqt0V&0ULp=^Jx#b7I+?L1EzgT({2UYffK;s z5y%d(8JIB=UIC8*uLG;UjlLR%JOK^BYe4R3WCZvV5WN80fv15cAbKI?fDeHFV;K8D z2~Y{l`L3qrUxe-eE(QJsya@!yYTC`fqd?z_p#x9>+ywj-coJCpJ@5efUIPDsv&Vrm z@CZ;?$QS@t0zU)R1J456fIYx|;NnYBq2o!P0DmT;PcB1`UQQdpVn8o~PLt3PA<6;E zOOa9F3*bwjsSJGt+&vX}p2l1Pv;p@|hpvGCN_YY+x(Xc(+04X4+7P$t_2QCCkf!V+vz$3t)fDQLCE`i-Z2T*!HGExst zK>3fED}kQ^S4TDNhkywj1cv=Y)BXV*07m{4-449|GjL!Icndi2bMiijeggD|z#Vw) zVe|yh=NF7MU@Y)=pwBO%%ddz7E(N9lbAZo*jCG88;7`AYmVmaNc@=mScn>%ZXpbWc zz_Y+>KqugOg82}*@=5ytM@<_C{0c|{hk@h3cbFHx{1fBg&)6z|fuCQX^MB~jUSI6c zURmPMQvB1Z9(aHj?0=^}lh70W|17l2S3U6mwx0iIt*1++DUhZ>ngVGGq$!Z5!2ib- z5F-HF!t|R(Zo^-%xKyK*LS!buhpATu)w>gr|g66sNNRKXYICdJXg|CMD zm93q9vUXQEGgM!ZN`4Y|X=JD{TCFFsc%mh)RAJka{?+61*LbJIiyT_Av$i>$6 zkiYt0M%&!hYp#{njMvQDf`Lb`Gj`T|#sWo~@ta5I%=}Hki#7Y?Ei%k33FamgWfP@# zkR?GPQ+|^^-|vk~W0-NJCix8i+<7j`pV3;GxO@pv#QJ)?kc0)vv!6{-{-0?&zURKGZzP<^RmqqxsD@+$Cr*; z8*)r=hl3L`B13!|mpW_qSJQv`(uX&fzTZ{&W|+r|9EXyEv=iP!OtZ*i7Wt#I%IQ+o zr`@l5OTa97zzsq5PREh9Q?UtR9ZnVz!aE`KYtbUV^*sd1w{iB+>Q{?=8$*L)?OE9^ zzD<+ev39?)GdotjI?pj=*O6U_NbEcc|^eyvN zclD|)XC&9W)>|CgcSg;NlI+{KDl_(xKl@nHWnR-@RCw0Tc2)0lMe+)ERUdWw9%`8? zvaEI0v}i?|U2)P|eascfs+s0-;K5Kr+vFpUZ&Uqa5^QYot>3vMV`}7I@KT{~t_%ju zF-P7;p2nHC`;Fwt-NRohOfLV{_<7zX=hUSlPUBtUMvr5Uajn<5!*9&eW}4qiZjlkp@GwO;^fRY;3a9!bnaG?m)!z{(U%_@W5S?G_)648`go0~lkEpL0;oCSR%dy?Jv227RW=soInORjaD+?*E59Qj@Zp0d@rSi9tt)A9Y z#5N*GRH*!&XKC2_xkR=yq6^;%pINszJb3(4Z@53b{yquO&_Qbsq0+Z>HCp7hMjWF+ z+uV-LpsLhn9O}Q;ls5>ni(k(ArRsx`RoCpR{WYCvlq7nxWeZNB+5HTw>eJ|KZ`H@X zP1~ZAQdN4_n&r!*vppX}!aIzobIEL&?f`l96moc;)=7K1hX~`<*nYPoZam}VrAqJT zh)&3k{_Qdsjn?c}*`D!}Qm{9AXR7efQor$T>?3z{k)z7EEvsKBd63doiIOq>Si4)^ zPmOI!Kixb+_Yz8tE3Jl1R+yfGU1&4EImbV0j<;~nQm3&8U3PGyNL4u7*f~)+9LXuz zt{)q-%oUxw!`L<#t!!R=J@L^8GgH)O?5=rV>q@1p=`gUcb@}jh4a-pBduop3TGEzg zG)bVh_>FQeI?w3roz%>}Uyw06C$(sMpeEMEbKTw*`R1g9=8R6)q%Q`}=rZp-p&!$h zXX^XEyejOOrgsFA|0rlST5x9h?VA0XF{qQ0Xz6b8GKW@zo9J_MNOC~5!i}VNTE7HA zge}KBi$Q{}?opT`)wh!tEq4@b7iMqlVfGtVyRbJwsSC{wwXhd0a9*^`VZC=k1c~@F zjL(b~qbv0Y4i~Mi`K~@t`Db5>5GDK8eazG!(c zxoW_Qgw`DNyUD8YQ?M&q67*YzE%I2fz2S~KPz85Mqa{Ia!X1=46D2`%;^cWL_57b8 z+W4VgF!}nTXFG7z7;Uk3&lF>i^%7M;hLo?qi@Xi_{8*ogfQz>)Sqv$=9a`X7>gKpnL%?@|aZe?{pL$#L7^ldD5CbLX;&>%~dahWmO zTVLk%ZThremtk3NQfHM>=8su^f&ooJ2BKde+GvR#AaZs<9z6B42iKRK(S*!PdXn_| zvRu7=&6Ej_<=<%D$^e+Y$s@hpg1u&eOEs;Q>; zVdMB(SA9v)RofgHxYjY@!myjCa}d;TM~fZFQPnGhu5U*MsFZAswv0)@*bZlDWVbV=VL-E8I;wd`H}E``w}n^{CczB3oI12ozo&Sn{Hg7c|dGzEG*qs4$04k=nMea2hYoG-Ae{2B%wI8)du&);PrKVzSjh>JM*J%+O zB_iZLE#`3*<1xqArNZ+d^>z9^ZY?~kQL08_yR7(T=CP2wJHpzeUOhdpPx1-_9JDLL zPlcI6k%DG3P;1O~7flpwBcB^LXb2X4P*ldSi|uo}%F9h>%*xQ)ec^1qD=X|q8d`g- zl^NJ@fuO0G3q8J#SC+hxk5umds6k`M>~4oK$82Na=_4|BF?kRBYVqu9#!=Ajw0s~Y z#nb@b-R|hbGRre|niGPtkIup_&n@z4v3-H;V}1OF-yCnQaYKOV)khu6N0?W;tJmZ? z%`3bSzq!Jb{hB$=J1O>_C;MnJ+gx?M>3z+-!edPFVCr<2^T*zEn{&M(Y~$>=jpNCW zup|9uh1hrgY*tR4wunRC85QP~T;Hb3!H$|Ww1y)(-RUfRduc)S zT`5*mlahz3?>ebPjwCb5^7hia=nTobd)YwW#u*OBi#%mB6=py#W_jB@-74m3!-G)4 z$`i7PR-e)+@2Imc|BgC?k<~(^1J<(7(Pt&WfT0V6jOTtVzt23tZ$cN1T>4Z$ZJo?L zhRaZMkYZeesEyVNx?bruH7ppH-ad>0nTb);mOKzGajU0?f4dy?x?)`} zYSoNsRi@2q`V7-hMHEXJCio|b z@om!9AEX8Ah36s5rVMFKZ+5SjdQ=_0O?@S>TShCZTh_SK zuq)cE8PqMa?27TeO`kO7P#ZJbhoDe3(VZC?)+nOYGqbHBx?p?LnRcc-c|);dY&A*H zW@SoMTYVd81g%r|v9JD5-7LOWGVn(428K@q!{0p=;FyLHblhr1 zZy2bYy1l;I`-y0jSX6GC^=JeA#2iCm+~YPDd3bgkA+MN1A-}PdReNxp5y~YPYlQL^ zHG5rHR?%|79mCNZ4dq)u|Cq|#lHWC_beb!^C_J*{z_MY5M-G-1-xLZWx#iJeZ;tRB@MDcgBwM6llze4eN@z~Ge#TR#W4|k(@Ty%=t zm|CPadyL}giQ@A1zeuJ^cf5FxGhRHG@OoBJ#q(1>et(eiC5jh6QH?JDPqkC%V%OJe zk52IzQ>W|A`9^X1*DCk_yULl_^{(vYZoPR-tKNJ`YxRmtw8(|RBUTLw^V_%yldH}$ zOWq-e+c;(wZj_ZrBr{4(GAERLkF|%38BPrqN)@&&@xaYD4?Uh78V!3=#!JSLk*`hD zkEg=fYu#tomke_xKQlT%N<=0Jvo9qSp7 zf|EH^3gG5jGfNgV#@njMA}bL6jpQrpDZsR{m?EhR$!_(ik><}7@Ob=q>` z9&+HHY-;;1wI$EP?$71rJYMjYG-e<`M&i&D-3}D2 zfip?bw~X#ZafT7EpB04vT9Y_Qt;?QeQ`(Q)ra4*6)Y>#wBCjE`zO^7#!{#(+bKbAr z8-CZfF)35;0c#wImom+U{n2Zf_A;$+soay3JL}tQa|kc#1SbPb)50E%A+PWGmR9|k zd$lWCe4<+^iF)@yAum)M2W2Plo+}jNy@=<0LJ#qxN^%DZCGC-DUM#F>6wV-GhkVf( zt(XoRm7)t=cXUmsGj#6VV&^u!x>Y@Y@O5RFh<-pM0KLqCZikZN!buN`U_?Rf(Q6 zR1Joz0kxk${!V|y=YYQbg}!ap6V#%w4Cbf8-vQ}-`dUPo3%b&8k?9FMdq5rit8WR4 zOm+N53fa%fIedLk)Oo;oE&JWDOoSa?6epqh{tLEOnI%)dcVByz;hu)$FcA4P9vUI@ z_xpJ4FnW}4*} zdi&+|v4UoNs*$sa_ifx;W&G_d@i4^omHg(Y$=CMj+{nhp2gB=k9@#m3+y3DntgB*K zeq`719sAcIrURGF6OEBub7*EoNj?twn$OB-&CJh!DKZh=(b|MROS2Ab5_2oX!gy5m zJwC^>A?7`S!XwLRna;e~lNioQdS8(I#?hpU>^P+$gnDSzC%Q4lw8)QW%!oIFq1IF< zzK=)tE8peJCe~?UP1aKz?G#5>`_=GnT1zgLZ+F=FzU|vMFC$vfNz6PuCr(FeL{crU z`}#Ism4QBZe7!W*%?0)Xrnuup9!H`mr}*m7l&VBgzl!`sk-xaIJYFHqPXVQx9wkGd}_QCJL%Q;`=TWmYX-yhlksCQ z$E-itnZ~cp+&{l8nT#Fxu$prGv+&dK(C7T$;+WEcCmoT&4d0~|Yd(3WMLuS=nCyc_ z%KBh_eb(gU>$X~%fjx2Bu7ME+^q=kH(e?d$&GRkZ zs);F|7}y?^Hm6XvWX5`VOk{Xf1S{oM-!|DZin9w8vlqLY5p5{x$5YqsuAbNN6mj;Z znLb_%XITeeK=O-(OZYLjb=?NeUt(RJW9%zvuECw+)0R6BD~Xoef0x{yO6psEf63^? zU(|7zP^y=RRUbd;2nQN8*6vlG+VtPeVsc;TCr!yZY69qoRa@slIt4YhNvYcng~e)i3*{5;cHsl}bV-AW&emumj@7 zV|+|TYs6Fiaz5FTL(V&n=BR$zA!U?sh;JUD$hKRcsUA_pS#MT)%#c4iGa!3KGIAP( zz1A&EO^Bi--GLT<(tWtaA3h)DY$g6Cq8lD)mWfOyN}g0ZOjMf8vuY@ne94fdDiQio zSHu%LkZtS`Sz-{WJw)6WmAU3K)zVb`K$<#9g+`)K#Y6@$9B)=FM6#^!N_G2X^v$lo z6}~vj`21jP^Idt_t<{(}XRgbIUe+ac?tzwDa{m)MF`1**HK)=Z$M>^!pAyAra5 zDB=xcB_g>B&hESgG)0H;1yf5B5${lT{$9OSz zAVc5h3uobX4);$^igo1Z@A=r08i6k&d9l9TZ+LE9(1msSM1)R@CGYd{i4OnX-iA1mP7VMfR#o2yjLA2vKdm!ltyXtp{T>crKvP}1tNlxik+53xqekzKK4!-nrj-d1z+bE)l) zrfuYE_?#cBPj788UYlfWQ118LwLPtBi#~7-x%6X>WoPPLqr!vquE}A)-gSfT!4|!1 zzVE?iPfK`EPthN$qASAnlO4%BbzM|1zB0)7nwYKiH93U#gWR_p_TfE0|-` z`4?&*h<#fOEw9o!-J|IZePT2AoEBcBJhisNS1ly&*=JKWJR@2yPF_~)?VJC`Y=C>m zuPw{6_wC}**>0SLmh&BQTX?uWUl@3_pLUILj(KisCrgjHZu2}TW&QSj@W1KA4XsJH zVWr;cMM8W)tr&xD;}wixG1&8=K!YeL7s~kpOc`!b!pOS^`=&mo% zlp(n{%mQSf?6OsQtBes<#tJ9KHi4U++*`ZYhO<}59a+M;9*2rrV6jT{ZCp4Q>jYji z>5gfdK*%Uv_avgjvc#}zn^(9C_9oA7%C}R-lfu}-L_A@%+Lo4>2b77jm2hOMR206T z$KL8oZpn$cu53NB9s6$;<=e=@NjRGHsqLGFFOcfSPKsBQqhsadK;?D%hwkvVZ1+>A z6|)N(TbtO(mj*YSRui>|eb5l5mghMRj7=hhiB9v(C^tH&@TXLGy7yz|I@$b+E|1`vXZY;6#?y zo?_Zr3aL&bg!g8OZ=(l~uQzB+o9^4_k3Q&^N!h3fCm!;;jk)9IWvZ)Zck@5e(BFBUc$wE_toEDNx|yDg+30{Q zN5WVgILzirI4dz(NUS*qiBWV4Z)U&#g8AnSjwir8UofBR)|2jzt3=`_N^UXYj^O=F zc7CNN%t2r4iKcq;fQldAAd+V7m(eZQuCiW7#v3J4?Vjv>ya(xSUvZa}M?VmF*}Oar z!7ght{=i1NCtN+XYh_k!hY+vdYy6kmh&7j&$76{mRE#HjkzcoF!#;i`4?X*w2j zcb`h=(^vYimZD$fhMzt}7TLDp$R6b9DkB9_pVf=C({j@v-=^_4vsmABO z|D>Sow+!uJd~`icTx8tiMex2AL{omB`X(n|)>q@4&9Xv}BzfpGbvfE-wY8%r9ou@^ z9^Ly=Hxj0JwohK-_Vb(aoWT8EJAz@ZPY7zhTG{QEy|BR&Hv4M(5h@!E##&a_?^&{y z$~FLj=ax0?y-e@2{y~~?hdYrasm6`oQ{vDfrOMRqp3$Xmb8=j6o|lsgpX)C=af=#( znxcuyD*xP=mMfm#Y5wR8?}nmJqBA^<&`+Z?*u$#&bVE!y-x#ENwV&^?ZjmPO1+aI> z-VTl6V|h%p7oqakGHuvyX#B>0eP5^PWS2BN09F=OdfDr4Nq%fcpu%B)c5$RI-#(PG~Jl@NXVv;0SAeLo7ec6=TttEOa1-nmbXRMQ(dtGmn90?MDe4@kMH#mXq<3%q(Iw73@0lnIldG z2^Q?o5eAr(WK-cBdgo%Q;xQ@p_g1bd?hs)~Ov6O#j! zBJfMVNIu3$HfAA-_Bj56=8T1bo{BoH=HG%wryBYw0lfCSz%?lw6$4 zVnTnhz(5|0q=i#V_E-_AO8kEz@fQYV$k+D_`QILc)ICEURq~>cqrGrj*jHFtu7>+3 zYPef?v8`&x!s(;E+vVO%h;gNzi8fk>K<( z&kDAvC>q!*^lT`S((@!^=z2Aw*fG;p%)+L8dT48gOI6JL(_%_h%mQ=i^}^$i$tkMh zLqh$Y`Dp9C>S-ZQJ9#ogMNzM6Q_aHDej`!y8>IoJw+ZTXLC@<2>UCkaZnw@>uhUIG z9+${DW@vgsl!$ig0(@BVU_HorJWhD{>V8Od$)LXPq``q1_pSN%4lt3LwU|6O0DN^J z$g2$OSy4o~Q9jPBxZWrqlPDTX4Qe5~lPzXrN-oB?#3b$& zN1;@2RxC89EiiHt#ljDEvOHq-n4wwSTI*C9qg>`>m8qt;bZ82z{n#gGg%?Hx|B^JD z4O`!YFb_^l(@#ri#Cw8&H_AoJ3{A?0~UTcsIV zXkA5fW@v#`ro#EwWh%Vh`W~TumabzIk4mkucEPD_8!esIAAikAY1Q995xr-CjL}b` z6$1~RW_)#8hw%MvaFL=a62G{9FrO`s-Nvhp!hXaEuL9L{n@G&7Uh9irQ7tF5yOog4ovfHLS<>X1lY&*|m@2chTtXG(K zjTj4F%)#goDJ4S4SM@nqdx8&1X`-G$Ui&~n(SyK4Y@(Xd$-S=Z& zoBUXfRiBzad4QL{_P;_7ySol1j~H(^$(Je)-Dch=rKA$E$Ml0^S!%w;n%eK%RGf)- z!W~?T;;07gthFKc1Q$nxz+{5kSNl8k`vj-2wwf+SLtmhQ@-Q7dgkFw^XAuT`8y987 zKFs1ZGkYsqgpPZoC7#qTj~pf0qc=Na?QZKSoSHF$yTHYg1_5qgb*wH*{#?mh3!JzUy>%nzI$aeeXLbp8~li@=R z1}h@x`)LzXt$9(y7z$Z4cagqTwB+N&CZwXzS@A<$qtv4(vW!(;F?7Qh+D!|YyHXc$ z)z)j2`e}-6foN&IQJM?i{1{l#S%oR%n!IjIr6(S(<^ZLm`s|mYTs9yC-bNzq^_1=QPwcQ|%~$&X znHrl(Wj+}F2r_qjk@1~w(>zh;sqW{I6_bdw=T;6TVeELJ`LJK$tyNT;8r@t?X=8O! zqO3$lJ!o)9O{kJu(@oJMJI)i{*SuKm#rWG{lub#El|dl;lU~&5PTH+BzU*B_sC7Xv zHz;{Q^`X=nxMeJDj?VK$H*cezMsd1v9Gl)*=RL+FERJO9twn{$BkzOah@EutK*tzz znWMP$u*Q+$t38J|HNT-lg4TqGA=AdJK0M2Xi^&dr8r-$mbgfg4+3lduLAlsL`UuiD zP0qwZRna5#>A}%*9A!*jF_07?26W3qRlzP1YnP^Sj)^`e{uvx>L3q1{j;hQ>-IJ_B zuT-W*GOAzpCNuhKs8bThbk|ZyEvJ`{*yZgq;l8SYtiJgS1j^=P zMx9pnOS;Ue#dL85(JZQry6f4NI|dK-JT4+IrQ0*BZyBqm4>Tc8x41iaF2~s%t|~O5 zv$)E@;uT%b!Z%vvwRV4q@P%Yu!4dI&)^nI#iI5twIxe(U>hLm9y+NvQujeO&gD0x6 zs>vfSIc`;x(OVOXKzi%8Za=*;uiB^;2l$)nxVJh(3)d%NcUuoo)}B-k$}E>K-cvgi zt66B1uLRU2x?A;_KhCD_rX_syqzPj zr}vl{#6}Vwu2~K6p9Zhk5U^&Rj@buxd;wiO9Ai}hZci~clJ#tGi_t{#4RDiv#UVBC zX%O4k7VFARVwNxm&!k_ZDy;1(D<3xJ!5XhwEbgOdWxIa7-BVDSqDMG?iB-3v_Y77-uYWo73b{7?<5H@@-r;WYOUfu5d7K(LH%`0E?09 zHr$sPvo3RUW;LsdN^&^jJk?y38yy=(^f;QF85y*8vK%o#xs9a>&g|&et)h{Ao5)PB zjnA#E|3!yc;tm%i@o?fK_HD}Q=qsGXC$98+^0Y{$Z&R4kHU_>w?O=xt z@7=Z@N9Ql75aUvsK?nSUZ9${UIB;6Np?1n*JKuNhx4)5(+8vPzU#s1ZPm$XxP5E}d zAD^nPC*>SFWrY*$7gsBU4V~#|3lFXt7c9TMJkk%o(Vpy-?`3-NZJg_j zy)XXPKT!|H_xg3}QcbN(F4deTH)_^Pgt|Z0Yqc>=8E>*jsywJ`i@XzDYp=st>&r;g z-*<_<_H71|*lU+NA=Gh~uWmivUOO`rdGo9-%Ck1%ZA6;AdRNYB598k}Zip&#wOd(N zYcbt8ERIp9H~$Fd1ZS*@SQHZBw>@ZsUX)IY@QO{BC2w1On-XNm6|2l|eX*S=aj~&v z->a7F5l)In2GP-oA9Pz#$q9$zXLGpD`{x)}IlDwV{ESqzr&i zf9@f2B7Fd}&LVYIk{Nb3w?8U!nbh=cw{Y+#H#$2N+c!wfOL@l0XsN$odx5ww{8JhK zV(oX~tTf!I@GH=42l;%DarkCu)w^b|1BKS0eeGDem)J zj6B?`9JR--CXO>>k9Y(8=Gb6iS-@BK4h%Hr1v=g&MC83!G{FLG_de76fYC>P$;qh# z1i^RzM#-1=fD0{!c%a5<_Rd5hB8Yet;eD;PYF9LGt|$B7Ik*Bw`L1*Tzu;IBiU>+)rbxxo3Hj7;=225-N8Dqx3|+M z)s0&br#jS(g}q;y&tkh{7$YBLpt!f{tK4gPi>ej(?7{Dr!Ow1&aKqoD0BjDPQUIiR zo31CL?W9|;(6hOiNm?#@i$$bbYb7B;f?sixq&#cCi1Syti8lCHX@eh1_AYC_1Xjn* zXs||UM6JN@H5F}hdFiqu_6s+AQ639<=_SK2g`oFLG43fb7EL$qQL7nj*z?3T?_1rM zoG6dzwMB--l?vha?I}jTch&jEn}r?dfRo0O=0x!pXrz(sF_vsIieH|jw-hPvy>1Hk z1MJY*+|N6M*#Vc?%{)c=5kgHR8RIF^O)l%2wWpEfJ}OOwY!_n)+ZbGx z$~sL=MMLG##ociUb=2cm^ldJ7z92cdb=J>F=pXr_fy-mou;>J5(*)v`s}5DkUAcf& zFY+oV)U_aH9nbJ%{j4Xh_HkYtr3|aB%?64{&*w#2>+bX0%@lub43P;vmtX#CQnf2G zz_&@4O&RMMVX8isN8=d6C^{KXYiFOD|6a$OXm-gZ^in2aq&3#=>Qm}AO5N3~o!W{lyQi7@HkQO# zYYHiD7_wrz#x088VO-;}SI(ZReRVg0Ck7|gus#qBS*(aK`OVcH6C3kNuX*kDX5dA0 zrZ;xrEd7`(yj;x&)>N4VafkS7Z=?$RXZ(WC)u%3C)i6P7ZbZ#*&d7`H%jIH}S?Xm4 zB`#pGqQnC=TEbX+ZuQG!K%!>}wNZ9l64+HvhzXV_$Yk22c|l{O?f!^GQJ3|cNT6~Z z?6qqPN^M`So%b;sDY87H5^D~XPl?Rq(JY$p+qgjvoTy7=mi6NOv;)r!P8mHjT1X?A zu8+DqPq_$1H<$dIKJ3q}c~zr3bZ|^^EJM8v?2@Ho>gcK}2JruV=LNwAOq?l^J|N$G641|QLxMzR*`!bf?l6gy?;hIIuZtvOX^`6v#BdK!H9wzk zlv=-P!ks4hnkXp4$|c@O?3bjhC6t`X*q{Tq!G?#LSrsEN>+(5wL7Zn|ilWOTt4E#| z5q>|T0aKGizco(q+{#TUOuYlp9O6xBcv3iWE7Jz}XF-%Hnc;IFZE-a}A-UaHB0r@y z{FF)Df3Wnqr;P?QNdP$K2=P(~;o%Df_KdvfEUtT9dA zKc`Y33t^PXRYpVo&fV?jip7ewHGT`SfTL&g0*G|z@l*6!!OScP_1G0QjjDQMG8CPz z?OT8CU}O=Ch?7WXmQEdWqmC$lt5`plA9*OM#~28=Iu`DMLOr{MZwR&SK9)+2w2W9& zMMcRhX1F+N5F!{BUU#G9@3(POL(dDQ%nM|^L??XQ28z+;+`O}fGVF!35U5t{CgU?} zUNz%46y%$>CmE>3Y0+t;jaTJ+1L5!C$n?iEwRo9>4J>`$Q7|(Q*ni(&1rbxkXjhAIOqE}^(e7k8<`4xPu z!n*raD742E&tL6roJti!uG6#~C(S`_e))bxc+Nz*cNLyFRUPba|5wKHD>jU?S{fB; zxt|%nv~ir>mo`fSC8+E8{e9Jm5LU?!h&+ZwO=W4CQeHZXMl+<*HgT_hm4j%m2@RhK zl{N_Dm<5$C(-sr+TZvIdm*_a8C|~o{zRM$4t)_SglOa6A6XoQYW)?0CS7@hWv9A^q|cgwJdUY|84TJkSZ+2i6a zhM!|ZG~`sftRS*&l~jq~gw#ROg!-5hZ(gAt2Nbz6M1VZd^;S8pLX2NbP8CHcrk?h^ z{1o069OL`(6doB|`Ld4BHy3xAD^BQNIwILMakj8h`dea)DMzZKv;Q%0Qn%gIjcjDH zBq)yH5fC{~Ti%bHa(gV-ci-=%dGr%bmQYpxv%9lBm>6gwd<1-#=N`1_h!mZIx4956k2-_YIYK`AqBm>$E=Lc_ zbRAMaBS;~=|7LqX`afu|6kK|4m?`gf$DdE4Yg(NkGNufjJ9=elJaiK7rABnK4sq^7 z3vn0xIa6U0%CrL+;6yTRB^V%q^ogz|pB4FQs+c)x77co=e~F@mPu5!03=iY18vDVM z9H8Qt@QUJFMDX=7L%O%BX2pQqk&$Z~CeVg8LNc?~3>P-aJJNOQJ%RzlQQOcx9IFzc zu_AHb11?Fad`(w|$|lpBg@O$F;Cl4IaitFm_BQmFA-Hk_6~B$&LcO&z@u+5&+8^Pu zHats&*h@Q2vzE5xGQR!Q9la~K?C&*~m7u;O1qcvd{um41ZnJ0v*)y!4Q&QfI#Uq-+ z(uH$s)DU%#n3SCquRhh6#|4pqrgDWtC$p+#uj;>?= zkgp0n&)B!y!_$pl9$KHg3-JyGqgVceo3^(}!?^3YyC>!QQl8i;Jxz34JIIabPLa!f zgwy42AK?u9CR|DInu>hP#LAwd-#MT;q9jv*qs~*Ryfw#Y9mzKrtA1g~!U?|K0uMFov7&u`#Db@$)jb<#8rslz5PY zO+**&Si*f-j23OAx&xrhZ*wFkUoPYZGdB^Wu?>qD3$*J{inZ&CTeXAv96p^?do zYpfdK+7`dVQiyPvVoSC0>df+m&y!^#-O{4?R4T0NqezeL_%c}}tDw0fgJ)xR`NG$FyYkRtO3pMMx{biPUsT8zf5Bl>y&DhBm!|6E*Bbdh zpu*>{x?k@Qd6FTt%5)iZQri59^wg{q+()UH!fi`#?5?RZ^{^P^_9+#Y%W%OSlLe^5 z7-;A4ZJg;C|FG1sBokv(OS#NCAxnyEc5P-<$TQyIyYE&)!_jdQfmtUc8qW^N*@QM7 z=y1-Ekr;hgUbz>>e{)T zvamNL(*aT}ueys|Elu&!Bo^yg+Gd!oC5J6@JGLhMiBhfjj++)%B}&~(`GXpnWN>a4 zYH13&He0}N3+E8m)k!Wj@UN#*&OS)f-riV8IT|s&vfN=U?3BlUBN3S6b8$3 z99#L6T7AgR3JIeiI<0>b>Zv=^lVoD8OiF)J1~kcxV;BF4osx;xCo(!Mp!A8Iw&YY= zU`JMT+Tf%=0kazQnq`V>Dy&R-ur9ZMVC|aY@Ly;9Kacllw!b-obXIV#e zBj_ojV>#-(EDb8{m#5Nlil||cH#)7KeN#rI-({ymu725ZSvcIr1k_D*m7!8)5LsmN z@|&`_|CB5~!2-pW#W{ccnk-HsqE{CEB3Dwkjo}d~*5z2{acqTWPT}ckoKrZwP8OS% z1EBxFrh&bMo9q`Ar)a$6F{=LH z`}M6{{lGuH|N9#@><<+*?=Rlq*}zfbHyA3ou=`>}(x6J6-gk88_vjcxd&n;muz$Ib(i zfs>ohp z$hm#d_8iAH$BtWe$f^Bq%4Eng&hE7wQ^@#A2OBqNxvHnepxfZbhQCVFzyBXRd^Q8; zynt9daZo z^36cLbuz+gdy1LIzT8mVlYl~Bw0(rV0r>RdZXaLNzCKlVE_JBltOERt+D5qYg2zR6mU5r`v}HKTpl;oj$%*EjB{-9=Uwk(ljz3t#f$A{s5> zDLKI9slL_6+-%14=`qjn9paDUTt&ghFUUbcxXt$Z2yg#eM>HD{I;f{GxGiYVIBQoJU*d{8Gc(XBTJc1! zC`UV0x}nm^=zEaj3X?hVb{}ugE#&DNHG2P9&9|YzCmL|X_IY~{$`FK-JqR&$OQ<1K zb9^y%M4GVaXU#?@&JwL>Q;e=vTk-WAbHAZc`A_p=@x_`GT;?2HUaWaRR7a(InK7ayEFb#QK%-I?jZYt?0WRd{!Mwp)Fv{8Rz> zPj+*no8N|_du3D3<2|rmBKg=GznxUGt`lz^-(FZRVIrg4)qYaDUmBY)Pqp%-$y2Gf z`^jJC)i%5Yno!G>i^Sd(S!CRU%=rdDMa`!-E%;=M{w4O=#XEyGT0 z2ATM5%2{kXo%IKq(!-o{>MNPl_fVuKQ5w=rCNFD%JO(= zraMvUkp*I+)LRiMzb0Dh-#iffm4k}vo=B7;aqTB7?19`pOWWKVyH4g|HBm?8Hr#YM zKuB0Ag1}l(I0sYb`onyzWqNSt6~5=UPud*}niI!RBknMiRdm&8<2WAZi-lB6ukJqb z&zNw5C4Lau#&YoGLk}(pM{nZ2VvBp$ozoGu}##PHQy1Fo^b z#d&2r*ehuTvW$4nm7jiAmta$4StlnqGD2aIsD(<#jMMvP{`wqhq4KCutEEfm$A`& zGCJ8wC8IejLXdCYAYE~SOa;R`@ut{b`;T9pDONa;6ILFEwNxoO;-cCOp28RZ|`}p;hph(nQv1m z2VR35a5Ja>R=qEF+5Oqm9ga zzgFum{itL0kj;Xg>|YvR%JLt^dPJ=y5fittnOT=&3h$>*70cZ$F?KQBv>sc5WyqpT zPNpMzmfgQ)r!a=}bJ1R3ytbqgWp!h9V z_}R0`eAaxm2f3uDF7e4}In-cfbWtwqAH@P|L~dE^x~a+XkyHF9a&ST84>I&PPeQq; zoF~ymXA85G$WbnXaq(jLbONqKgX za2fy8peET&COV@xdJx_U+tot!CkIq(eqhBXRCFrH>D zbHkrm=&MTZ&3uJB_FVry#c#YptomwU&`KC|<5~75vC$Ht8UBg5FW`OS{ksY)_@vBE@V>i$YpJ_dUzzm zD5Zu`93F)NHkr$WM@!F?VWhTA%1cosmy}H|l zuIjkFHw72^)!i<1m2zHhN@k{V`|!!F)G%#%hHQi97?ZPTrO!$6I>>4IzPw@C>xurV z!(Cq^Ah;DAjxI{od?>wQ^VPpy*fcRb>Xu5x^%m&$D_+fa(C=drmW$6+h2 zhZ$-AiLPbIb>FB*JgwGa)H8?S8JTGg(%@q3fZT_wjB5iiKp+_g$iVJ9+_8N*Q@Pwp zoLBS5i~3=mvbxjsX4N^S^;!Pqa)L|#%(PfEmFt9ceKLfN;Whuh`QbEwgM5qk#&wd- z9AtBQM?mmEI^xcO@nXTF*y$LkZo3z;e$L5AK`;(Y5-+$E3oaDL$@On>p`vdzACTVv z{sV6E-$?WGzt;Nzy&tH0&*wQsjQJA>r+VL?lzu`Xzaw7MA5(1r_EQn`)SCwh2ZR;@ zn-(%HevKB9k>5ZjpIp`;keM@AX0vk`RUIwFDQDc*MI@#~36!b#>GG)Gn01+2*h6Vf0}KiTueiKJ7{exsYtU9eXb)Ix8myr=t(sI}_zz>96De zsK1VP%hacpMB&F>`Ai*sl(x^8Kb#<{8KdmkxuUnaRiq+8VqdR{6pIuMskio3GW~Dn z8@xq$rReSK9-EB?$PQ` zCyJ6jKe@(Nm&G%GPAlr(s(IiV zNsNQ$hwC|2n7D&QRSZieEnS39jt-Ubg^xf@R?B&~HB>YPuek(|)aJJY%SrBeiS__5 z+|ZOD&bfBc^Zx`+eakE#_EX5#woiXZ26Ix)7b&am3#Q*tE7e)G0x^X8ef}jXN;{YT zi;y9Ii__jaIfrahJ&StW?x{4|%R%%k)kep!Fhkq~}O5;Acn&l!23K<$6Y#x);r0bkSb+GJ7uk;CCDUe4`-lqts04 zZi~F{tzDae#S7k87WCzw1+*}3w|RmHHSWS|DS{}>`6L$2FasuPuM+i#g>4`BI@y;R zvj0XfEYf>jL6;Z1_SdrkGxl&Xg|jBokS=rn90kiFsekA;d5S4u)lX+N2>*yxIBXL$gYIGwD~Mdu0Sht{i@oJS+QNBB-?^qEfCAO zLY!@6glZ@iI~@RyG04gerHouIobt#o7b+_+dP@@#X*w0*{6VY<@sbN6xhVmz9s58k zu@pSG8DW`*bnoRzA=FFZm8#Rog*x+{ax3E|O>cXb(W=3DCZe#Qgvcwu@ zp7DC1Jz0Nru;6NeJ>15|sc2?12={>Nrze}jLm@00`_o_Hskp2(^sDnVO>?VdseT~v z@Frr2j(RMCb1b>#M*UiT%?Wa4P;hA`NtG(SrB(r1|J%l)mKO4}t z(;cTfEciz=g;5oa^gR^`FT&9(RU4t`CY`R=7fQ|r?to=+L>F@-dff;C=D8zbb?^&c ziMN9>2t=~N=h?-BOwXaPXfSo5KRg%O9ZOeCp5OpccU{{oW&n{mAN#KU$V>uPIL7YQ z1Cu41(w0V_M=2V~=Q8?PRxK%smX}M*`7V_&;ejTn>=@?z|E`J+G@*+Uw#ij1Df%s(#+PxWBGR({a9W~BolE@7vi27(F@7e9)Fja09}xA z{vDE@KSbdU3U~5s#xdw~Bh1%1=xgIo#wmHJN&atZ#^<#k(Unag_LuDBizuV=nM@jD zsK*1;Q$*1`NhI~ZQ5D8OY&CTrd~IRPjm=5IeB&q=I#p??z0;$sbBi$8E-t7 zU>rj|$QRr9S(SU@8;AYy*tcL?`2mOu1=6xk{IIq53y=^%2 zd)}Ax(gmuo39M8GP{kOjd2$^BhAN33sG%lMNqKAp#Oe_WNPMH-B~qxKD5@fSH^^*@R_XWjMl-6SIk2&NCkA^@q;^QiCKx*_!*oDn ztxT6wA@~I0&v9b66A_!OOmP`EKbf zZaT$z(X60vo!;-Y_sQSOqL8X@y^yG~>K0O|dlzQs~qxtrEP3rya`Ce??9IIh{$QPX`E0g8ICewD<>LGu6hiZV3o`TE4pQ%3f zQTce$O*XA!d0Qvg$9j!bh!~D#(+9IlE5EcbNMv9Y20aS}tMGgjYZ!PQL!TBDe{jb5 zXSp5yQsvftg~G?q+~&k``zZL2xrr7wC;M3@r+O3m;l(-Jn%GWMPf`4cxkZ=5-4>^;%YjD3dO=MlQC`C=Bdo9OcVBh?(k)~eUH z;NqrAETmR)n5zFNNJS$Tp^4l$>kZ~51ey}$=eQb1Yv6*aE!Hejp ziPkhQ7Tw7%`N#|OdoT&fPMD-W(Y&J{I8?XCpR{8T4)y{R>3No#GXrGRCdJ{s%yc{r zzRf9NIms#!$*(PWDJ7LzB)Gf8+{8q~+QP2>+?hMsC9Y5rrex_`N<^03l!=0%AQI?i zIZGF7X{I+==ede0pn6NMAB8h40u-THDHznSw2IM8hnW=}?H&YfI}zX3m;T%80Mw;i z?3HeHu?{$*I>4GH1FW~fA@~d&+}QY+th^d zrOD*7g*TB|?Jk*$o%BQP3F%ng6^yaWpua5@RNRX%XM;KX zv{CLs&27^OZ<~9YQl>&0sMHq-#7rp!sIMQBUMB{V9#ujeN`Z>`X8@5mw<-33O7H*) zh(Qrim=wGQV41bN%u;1+b6d5dglU95*PxUhzBo$MwO8W40%|a0=rO!;ZJQVkg1_XuEW7s3$E?Vpxw-u z3??L;P#MG$e|(FGI||Nb515} zicHpy>d}=yu<))0&Wlly3yCCS-#-XPT|x3#^CA_kiMObVJCJpf^_3@w@(~%P*eY9} z$;@Rn@3>#eGtQ{eeh2@{DrT!y%TiJ>&8O5#Qa#=C_DT|+tl?*8!tVcCBbbELd2AgmPxUMEP@4D<^%y@ z0_Z07%{H&&tKN|`YIbt!kemv#;?%5vq98-#Acqtr+se43It%&A-9-$PDyXA+s5%On zzv~1koHU=rZ!}wx0(*MgVnH7R3g$s(fF!{wdBM_Lf2wpq_yUWOa=2LUJE?uqn+Agu zE7kfVf2Zk6sM!2i`dqDdZvayQr7UOb3n)>pi?N9*NGG?qBCOWIUvvPMbfg6zS(PkYJCw@gu17CdQo9eAylVMBt=Q6Faw4S&9B$4I( zbA}DH@-#$C{9aKaNOLB8!PC+*$q{bVA${@3~=^5kwuJFrF^HO84! zuY4mB-t~U++E4+s1Cr=0sme)!cbwM4zks#-vwr@0f$sY#(FPu0`Y4C|^32rLAQEA0 z5d-;V@cj;7c?JL7)Oy5+Bd&!$)4`s{5x@=Xoh2mv6pw> z4jw-t+!`6k0|zCZx^MG~Q90G-BR#ogO5K+vPkWz{>&Ckg?wwI0Qo-g3PLNSEaCT|% zS4cCPH$mm!jSERTi?gbn3fawwy=MQk!M z>N)2`Kj>;srze6~?-S#dYd`C?q&@JpwrWx>_{0r%J}X=*?_jFv@zso{`84!7#|v-h zQPwlKqK$GdVLk-ZIGwYQvy2jFa4k1=fCL^MBX)0s_8wh%x-C1A7Z%aCPj3 zRd!wy^0vd$Mmv^_I-H(BBqLmgYsWil(zV|Yrdx)5ZXCDFA{75n77V{)u^BD35s4z3 z>)B1)U%e|G8*YDFlCD*E3#QqcZG8hf?U7H6!{-lg7ijH;@_ReOa#UEOK*m)GxO>oL z`*+DA&}5ICXuKr@yG4@uid0+6IH|*mq*nx()6{W5FtyZ+6=a^z>vi%9dBqjD6ZCr7 zX`sQ)m%cA7dUlW}o5SA|*xZC*WwJL|l6G#V!{>ZW`mM2!pGewkqQXjbFC3b}z|lm> z$tQUy`ucb$>-AyKC&E;}RjnOWYdL-|;Rkj_ySYFd&0`Phf!B#;yc6ER2diab%13|n zMLauP{9qx^*Gqr(4KJcR2aW~4;UY=FW2He=Q(BsLvj0J@&)>!B7{BK8%m<}zySsQP z?Z*~ik8fV!>ki*+p4B*^O=Q+MJ!6}FMJ(6(H%xT;a?$V~xsEpH>=6UH!{kxNljSrs zD1?DNHqYVzeC*sT|LNew{t+Ez5J~>SktA5|Cl#t70=RO0gQR@CV4t#QNgOg+e?KnXPQe_DC)YN)gV>{DmTzP0Y8*V47`mW zw}YQSN=@)p8d7L#L}2?)+;+M2*-Xzs)t+bOD#CAqzU4koS@Xxd;(`0l%Yf82am`1k z%ur$HE#RQ`9T;kXwWt*7r*8@CFP!4F*5~#6{Z6m3_6o@M{z7w+XS73cT~We)inDUA z)v3Qe71ybE-6uW&v4qv`5_Ib%R%%aVLO^iZ=T*=4F@#u8pITVlu;b+*OxME;f1~cjd?sED(b1! z2RY0mP^5yF$uiVP)Cz}#zo6a2ow7?0oWxV}AeOf3-odr5EOp%k2h0F_qfp!C3w|mm zcwP4jUPXbk6U>t;B|k(dXo%1728()PZD}azX>TYV-f-s#2HRm2XT>%0nB-H89I@g>wlnw%M<-W}gocL`>*J>hlN2u7;(b%&Z$Gt{A zZt~gweW;uhfg^uE`PjYAzGc-nzWj4#*4P?-)F&ykGG$Aee|u( z-nKeT#Z73fQE`83v%S^)e)>jvYv~=_aZ_ru*H8~HDYl)$%*~wnP|LezUt>FYnj7)j z@E&NCH+<&5UGz$5K)eUxiUxa2hBe1NP2J~xMx5K*PO*dh8B))ZaedopJ-f;K%xbG2 zzOVXW^W#EuG}t}Qo%ZPsJDZO4W^g}TS^wuOQyHEbEL-yaW4}eHl>=7E>0?upfc}V&J4BgNj_>#T1g9=c=JU@tsIvdf1!r)pf!x|s$sN>N8d@u zS9;wZiuBe#n2~JL>wk;8=D|L=p2KBX_X@FSi7w>pWRm<4aA2Idmir?AWsSmxHgC5U zwYm?JX`F-@H+YR|ySk|aHO-8e_a& zd1CwQF6U z^|QI)uwg@(ITr1s58@)}b>}EjMYNOWVLaUAu;^ys(#&%|u{b1ca7i;P<1JHEbJt{s z<|u~492gG7HqYG4Zu4`}0EZ_LU4(KzkwE6Jy>YbUmrpF13}WQeH+!3aSZq#SD~nAz z<+9cocVbrY0a0adXMyn=%Z8(th?PoCr8MI$Wb|M*ub2Jgw3*s2+YNc47|*OCZ*pec z3l;K=+K%e7uZ2IY*F$g!Q>ShcU#kzowyu4p*L_S~=myQzlLT+#kxM+50x9NKR8TA| zzOJ5a#751=p)52j1KVOb9oAa9uu57dCDoBIwwCIuc{QEQ;|x|jw6%DcW-QAJCf=>h zF?I%yrp!?60(n_8LoJOzm!;8Vj*#|p7^nHd^x2Q-Cnrczz5#<(j?FBM^i_Xz1!Z4c z9EGP^4g?)fDSG{#7u)UnC+)t{<#zu=yI;EI+uEJVsWddpxjCV;-AkB%|Jd%!NZp!T z`#)^=7OUOYNkcET``wS@+TBYIq_K8?pR&8QyAlZPcKnleN3Bt2u|#50!#gg^1s#jc zM(aI{H(14A%0zY#=Dl8*gL_qP}dYxz*4gY`uC9N$6UR+EdsYGbvv)=Q~G-oTfRe>YYFZW_CV=s!Y zBJu(GT&E&)RMZlp?j-6HJ1<5ZVzhsp!nN&?ZROljLjM~V#EN%6Yi-S74sjNkc--O}R zWxbTw%q$eY>D|Q4`iP3g7R$H=@YA0%732qz1nWHZcPv6!Ms9UUju z3NmOZHBc)^Em2}C$RBfLCIzB1iRB}!wRngSco1C1vZ4Qc5&5GvnT~%*uCGUzkjKQ+ ztaO;}J%dwdE7KfB!Cj}3RK;38?zp&oT#z0@I~!r)hf#)L@!qaq0#wy{DKMjQv@zEc z$53klpM_YIW?K~TiwY9YQ2V(+b{fUm!D19XA&5XmB8_-C-@pSyHNCC}u5B87J3Gd! zYzV<(1jxt{?{AbhJLdflyd5jy$*CP9o3ZFvX>sHfU?2cE5r;aUG82u-_B?Ko{Ku{1<*PC*a?Gy{3m0I!{4_p}4g}L&L;b|Xt^rKW z>gJC*)o&D++N6?E;-f{*8ND0fsB9Avz*>@)po^VkR(a=_cg+b9B^<{WY`uco_| zAu2IlxlPVezwNO@%uk^NyGh^Cm*af>74%Gg?H6+h^nY+S$6`y5$;bH3yTLLTMOa^} zVFc7u(>Vf?SP(K=qk7w12*sfa(II-&lr6Q-3~ zG9QwlQR(38U=v0G3)3bg8YEea37E-|0kcXfQ+%DZ{;3L1j0V#~Hml~XYX9bmE(L{d zzM!h!X>H8*Wl^}2S!mV0FO{P147hZmsyqGdHs?M-=iZwbh z6(t6?v2U-s3<K=h6G@5ig)6Q%%)a!`ON^!`yBPU?*SZVLL);!Jph0R$MuzNDX zJvuu((L$7HXAc!bL6~x==DSXH^U&%N)g=r>teeSpYV055GLhb%YW^F!7m$7AjdMxD zQ?~n1`YP<#JefI7Uka~w{VG+1&4*%a-@mCNSj*=3O#&n!=FOLEV|1oc)L)+de=cj*+5@>h%&CONY-~4C6tNmtU%TYNA$}&PVlBT*a`fE{^MDjcw&Fy0|UrLy0E|jwwfU8}o7-WgZx!0@6Xhrk@j|7mf!L zwu#jv*)_gOg(pCi)+BM-EQ}(G3IU_~gHes`Y;?mk_M~S{%kCs)pvB`#ndLjZsIzDS z9XB@$ih-YyW@&9n?Se4;ZT@`>6;=4))4)(xn!4{bkww}eKd;Eo@8xHE1)&C#b~fO4iUQ{%q)%qJ<(;CE@ZH`Ce|CZ$QDiM4sz^o^vReY$n}F{>cb= zlXtptMdU-iChs^4B1hYjHgUvHf0rt{NZYsppZVl)-T)*$kF#<0LBW8JsVu`4=A&6g zG#iiLHkYc1$8a{jt|IPeHdfnN#S;+HoS)Cs51McU#i0$wBhsib5KoH^OB5p08 zaxKC9Aq^Dwoy?Ir(gSQFx2wnxaye(dOK_z;xUYOnYVk3oeefDP)lm2NH!Kzm;709` zUblf_YS2$u{|F95cWi<7%N}@u6?v%IBXgS0{wh@9cu}5_)UpVZvfwh2^XVf$ zz2zrEetOAIPxT7y0yVZv&R;SLqQ0|I ze2}&~8)Y(@CCr4m8}sOhp2xTW2BFSd`4X<`(IQg~t`zcOk z;K&a2v00qO)}+V4!<0ymm3kBv^DWRSrmmn*_$_vr;2kg%ll;Vl4}Ceq?t-SeTwm4Q z=wCmSoWD_FH8;5Z-^FNh!@edSoivR_UAwg!HE|0Sa`rsXE@Hij;fJLuTi5nS)Dw{` zPQ(x$%HEX&>waY3-^)|n1tR5mhgYsJeX}tQt8e8b$_>%^Mev!pPedX}e_=Pe;r8;L zw*RV8E0TpeS@k^>^tkk=c6w{S(d_zDO?8}XbM{C!H?8cUzi__x8ykWo`cIqlBMC3s z8m9Ecl(gWn-5W%(L)C-|krOq-dScBN33{DDeQQ_{@Aw8Kp&RkYJA_9rlTp#^U*dG) z+=k>dn123KlwKWAd$FVTLJfdbeP65zT*zD1^Tj+a;M|C4x%s+QCA^4O=@&#lZ?tZg zlpM&RQtU4OKz%Fc_;DSlRwgxeoKmazHkq9&>()q0P}$S8tM;wz;eG4mTkpfucyQ%O zs1`@0hx)xte!E0W+MzLc+?^mfSZ&8vm{^*1+4RSDleNBefb3Vs-w~6A{=r~XBDjU2 zsO~Zt`j*>0mviB0`;vQ(@etus&(yvhfsfk*r^bkULQ#+!8wHcddR)Vln;J@|c(E;H z*PjGeyklFrA>|(8a>s6eidWR}`>wX)7pvQef{A=kE0o__kO!$xb*Msr^Rp}#XiP{` zOU=7cs^{koYLXq49LI7kS0@o3$tGpum>$=_^R-T#*`l=rKmc2&* z&{EKJe1n1pXW7k1*-eMkKMneY3(Gy~T zQ|lpLG7lgwkDLpRcLpcBR0%gy!p0h+u(u?0Z^N0EcmdR7tEbT4CHaX+XFRmW(mr zLzbg$(p%~d?Rhs;P+}f9g_KKI0he$KObbg^WD&K^LRJ$*bfS$IhJ)GB19n6GoD^9! zF{o@eZ{!F`7&wplfR0<_g=E8If*TOfO2q7U%>&&Z;7tPsTM}@$5TCtfxMJY3*F4X5 z&_8Ie-;`%`^FH3lIDAy*VYwx&ub{|-cT?gSZaqoFJyiR&TuV2Yts&lj+Z@$d7Y8mNcZow}FCM)ew;|oc^?z=Raq=4Xc z6VgK^?KKzBq>2gd`Z1JDpXyuYpi3}17ODSy7_KBIvgUDyUjH={Cp0G&QCXuj1Jk|< zw)P?WjDk!`$W7Jj*MS%0EV*vrC)U41;`ZStdtF`iNbIAo~?;mKyL5|636ZIR9=?s{F34%XTO{#7PxXvDf|lOk!3DSaM@UD z9(0xXL=Ux}(L@0RLqHln$X&WFRX%#NmfHqg}I6y5<`T^%MK zFJfKun}?)Kf2uV1D(QWin@JYJZb{9@S9H5LV# z_t(=R-Wk^aiiHL3Dr744;Y*iWWt&%)vWgI3_QfIn{Ge-rUjJ($eyTHS9!O5s>&3!b z%>yZb{|lEC6rT(JjHq9=Hdcys{X+!kTas<9>xyl;9$(MgY`spj*&{7-w*iMG^6t9g z1m1#=S=AQ{y7ecdQtXrrO*#To^rb7(n49Rk8mp%DZ(a=i6sdIrGb2BV#y(;JG9v4u zfHy6GJuK6ZPC%b(-J@iH6N?XZ0n3T*{`*u9`TUKn2i+adT(Rz_;V! z9gdyp^$E@>Ru2-aMoWV%s9mtSb3K3OK~>rM#!C{VS&2}`ad8#yOtdMQNP1VjE|_F+ zAd{LzZp}^bFAt3SP-^A(a`Ryin23Y5C#|~mU#?S;%HE%)vOd{B){-4FFFC@3=jWcs z?8EeD`KL29PB!gkGX99%(|`r?fY=;e0y;oi`(;;+?VO?!z*gk$n3hSO9*}9UYmwrx zv(ZL(qR7#fhif#g*S$Web2`m$~Mm#JU)a4__eil$G+r8uGmK31Zb*?~41r@YO z(`Qb-DmBCH8lQB#<|xT7Epx7(J-R2ZqL?dZc3B#LoYJx$-O|()mfQgpT?&}m1>hP& zj%B5z%6cZ-ZIp$3bXiY_JuN{r>fyUaLL@I&p7Zt*iDjkZ%g{iXjW)@$c@IrXD=C^i z(@{2YQepR7il)uV&d$!E(4x|r-H`UJDJi;nhE067d9~f5o|2i4jLfpqnfY3kgp_Yc zUSFzGYU&)Ne)vwgUg}9g@Eqp z=%(^OO}eH+RG$MnA_mW_pr$LH=pLieve$j@Vsb0EhL7NU=R~l;n!wj+8Tn~4 zc-lItc-rkHrK3h#&hnC?n6t8E>Zp-bg6$HFqo_;*t5*1w6F8kOaW**Dmw^A;CduqE zsZv^cN$IttEoYySqL}lllBw5@u98V2!8jyG<(OI~L3NUWqzCz2(?EV1f+B~Qaf*$B zjWMA28Rdy3GpE5A!sb&q%|5TzCH`Ksi>4R4OJ)?7xihY{kX#_;RRWs-{qi(d`3C0? zLHPCMOps05hV&nJR-dD140DPW;_kF@lMQ>DZ9aa5Q7a^)p=4)(l<3X*0| z$S+gKKm`)03}}K1!Zhm9O`M6U9vQSCr;y1dj*-gIm#JPzvFjy*^V-Wb+orU{jftBy z*WkGP`auyoNO;HEa;qyDOzk1lLmBI#H^}bo|ZYmb|&#mqGq39JD+%- ze!MbIyV|Y_y%EDVorT&vvyvYAmaJT9-6z;qC$3I(IIgTw>5J?IH&4rn^-hw_S`cD2 zlK%Z?*|aAjd*`^)rLrlOY(`#^O`^ztbE{ z3GozwkF(tT6uRftlom~9WpwH}qI5`K+;(^H9EE`pk0MhMoc`ya-84bWPqMQ`R-XM+iezGGk`XDb+PS zyV;p++SKV&3N_1Z!=117bP7Bz0nhlDClOD9*0a0ash&dPEA8}2Dk7#^VJaO_V_r!~ z{wgIqrxiEqla#TjOd~0gs4691Nl9%~TvlK!Zqz3!V^I^Wltfi2@k&Z+q~fwnSaGAi zXd6{jyOlCldA#xM6og4_QxT;K7mv*|kwi9oB zJ0ZqM8N=HiUE0~BYdi7Ax3g!LcJ}Pj&YoS{i8sETy}GosSC@A7>e^1c@$KXQ9M{f_ zF73?d+D^Rj?d;v9oxQuXvv=2a;*D=-pDyj})1{q#y0#NroTgi-DvK{>7$j?am8Rf|6 zHR%?%{0*sV(`qWAU{g1xb<4PR(k%ruQi(7lyGMFjHzQd~RVRow+B$)yCGk6HL$@a@ z(`q=~;ocdkCs0ElF}ir{^inh;!4j^ zrRPvTIp@Sm&&l}q(sMXVOWO-BDLpOWe^C6$xZ+2u;zwRm{K$V&{K#nWg_jo3Y3E;V z{iwL&N2%gRT~hq0e^UIYc@N!er}d?m7H_wTkD-tpi5T)2ao;T?Sq*kZH>;1Os(@s4 zT@%uU6wJ7$pk!LUjRST;$<5O%wel*(9f|Ts=2ulV%!kdPK8adYIX=6#X?{k(f)Y^r zVyX>E_||gUMu+;QCHl)<(^JbPloY9c>yEAUNpN7U)#!w&+1Xk~@3JEJF>zcQ zA*(Z7Ku2n~TSPncRIx`{iAGzWYphQ+r|T@=80$0E`s7=m@z$rn`V?B9BI{GEc^_9i zm+RPYW2}Jpn8d1&=ebBcd4C&AyR5-V>x$#C#bEI~wl`w&NGnV&Nq<+g z+#aNjhe??H#bCF-l&)n!loV66Jc*I8XQMF1%!q?Y{o?t3k4DSLj%(YmfGr_Ec2qL6 z@|!?@0=x1On0PP!OH1q4P1eo?{(&6A4(RNUc(~N_fBF||^G|-7t|d^P9~NB9`^Ede zeN1HT$iF=PsY=P$R-=Fq*9>Q*FZpwnw;!J0et1Fq;f3vo33GLN2%rU-R)`ggR=SDS znS>T+b$SS(_1W?1lQiLy&LLY{-xyy`ASGf*<09X5WE9)k%;r5bxHMn57NxVMr#&BI zUOca5q?ci#-6jW733^;|SuOegCO%*Marw>*j87^k$ z)X~eP<NosjcRMO(eMGN?aaZ%f0uv{Y`!f@}7T3?n~EJ z^6v%QKj3@x$#m_f%+xN%5eB`i^**Vu_kIETSHZnW=nrp@ktEgC6QNiT@ zw!ANec_07R;&rBz1lE6#b4NH%B>ocoPH`%cP;SXuP<9)d{MFdqzMi~Qubhvh!Ysob z9CSwuEc+ItS>Lh0qeqKUxZpHeTTvq-)_Bui6RN`4Cz2fukLF5#Y0Fq^B@|?hh)K!V0$=Ujjx56l~L~R&X!v_$0PF|JL z;R)^If~Wa-e{(-U24W1EV$txl*%I|;Sl*YTUYF&4HtKa+-lw8ohvh}uUuA{yKFMk| zUMweytk%3c!*}BoF@f2l+khw7nTDwhSs=|Qn*7_1H-?6^ZhpWG z;FQQIM3#>m?epYzBYZ8{l;-SN*WYn{|1_Ud|5=k57%SAcG0CqxkZbH4EHOE%O2k7% zj719^OAI|FsxKOLpTyiTuRFR#-P8QOBXxHy$4^=$x3{`R>5|*~385cKZr)Gk{lCXe zwBnwK)$+L%e-1j8)awIt2Ypf3wAvkL!E9CA*wg;LDE>x9g+~n?N=3)Y?&n%kd`Ai* zN4O(JD)b=Lw?s7@MuvwA*Z!f^PUDS0lbef4yLy|89M`BDxKUn_KI9F3Yli1M>XQfU zi+sm;4=Vu7O=IVf`e-d~OUJa?%z-*oUyR8#duraYU-)xHS{9bsE{;Nd|C4mJ(O`{s6m#!u})8QUuElXtlhI> z5WT)FhboxAMRX?8)6$S*Dvf4X-%9Z}O9VDE&A4D8@jBwoF4ec5R!RH&Oa!2BeFJs6(ph_K+ht`VqEjLYQM!G<0x#<6Npu#a&d z`w$O3B;lJ%VD#*>NKIX^k2luK{Vx+8QDv9ECwdK(Aj1D)W3*$3gr0p?AwWdmHj1LHSZ@%kAn;|1 z|3}Q09@_*XkVKQ%W-US7(2AimH^nxzD6xqsWIcg3AGrLz8%41Ra$zoQNb`w5ZeLqSIP>mTs=DR3eSy$)AVkdksv zFg+KTAl%_!rHNUBf$0smd#=FI6Qd@D9#5Q{^OeZ#B$z)^Xp$wX?17pKY5p|z^2*!< zSl`hyFZ>hLi&6^vVthHTe$iPD@*Y=GOdl!XidoOAd~b^8OaJ5?%GopaEnjj%e@A}g zT*E=i$~ok%9W(2B9xrVvNys_G?%c2WXsY=ZiC(hN;m({xfpH=mjvx_FBBhX17 zL)mTp8h(Q~rLVZYi&5xB&n5VJHjZQ*%zZ$o_&-s*iR`qCRno_qu1PmRxos0k zX_XuqB^I3)b0A;+g#lu`*+yH(w z+IHTZckJF4td!7Z0r*lnaKakSWUG+nXFny{Ve^U5$Dqs~B zS44+Z#6ZlrrO2plye6LHYu6tg!GA}8myEU^aVl2O@B zD76gDMQjwkT5XLDuz$_lCPUKJ97Vrq&~YFVgH%b=qtv?1|^(?|0%G=D&!8^s0z_F(2YauG~%g?D;byH50zIC2bt1hN9 zg47~3*Tz8G(F@*uBstVSIaKP{Cc_d$m7<97K(Z_Cj4Wv=BM7q>u%MfM5cD=B*g3Wx zgQaX4h}}0IO}3pedPN7qXhvrlg1%bEgKUis47Z-&Uwc$0P3@i<2*}jEkTAB_hqTFd z7ruw0LaXg!W8JFB%;byp_$jRxK}a8w47B|D4~i;4X*^w_wwwd#8Aee856~~%>+cg< zzl+-DG@Zht`R>Hf`X+plf!^8+J?!iuJe=pL(dlM0k(UXPBr8s7-YM%jc@o=z(XwuK zLd}H^kny0ol&J|?Tw#tSByz0g!Z4l@)$M0zO5GheZDV~pe^4pC1`%XCFAdK11XpJV ztA-kg&sSyzt46n`d>0d0H8eESc%+8Pv^`SCulxb)KhbzZdKZeLZ&Tn%Q&JwCgz5n4 zu)tAwV0TjLPGc7Kd+n0IxZlx+onrnhn(Pc!yp6$SoKVi`k{AM-1L)SfZAy!V0u%$l zKPDF8TKtyYm0mQ^cpWXBor%*36X{vsh`1b+0M0$%CTtU5D%gSg+bbiUz{j?jZ+xT= zbi+8-2^lLx@N)%c$o3?lHtB#&-0+AM_{mMTuE?7x2|B+fTcEusQ>8ps_N zBdo!DZdVQVmtQ9P$T3BhsAiQB5>*W<>B{k5Y{z&N*x9TC33SIgU@*ShZbeh*IHmtp z<<1KTJ&fVq;5b=Jjz&(2cExfd(>XZ$LuOm3Ckejv9R?Om|sqB^p` z2?yGsILIiGbGzWo9a_+DS1)rRV%p6!pF)mJ6J4=r++~qNg5P$q#~Gf4tV$WjT+mmJ z^)`nc4L5g3S-~0o*ZVR#2scb{h%LlaRBtv+K!$%X5m_XZhCYR0rvpvbM4U+EDc?5% z^V-%4iMECb3A|BgnBZ(Evqy7tG#@96q^QpYNrs8V_>xeCp$Fc`YbZvppQu~@0Vcq0NlcLESrl>Awat~K|7^gTGoPG9NQ*@TM;&nJ9yZWov$hzNV zL=`Okfo+y;tlfN&Q4a=Wp&uKNRbQl(1Hy7d5#DKY0MRHh#XOE9f-ViUoXZAc&Bl6_ zO`s(O&Dfldc?8g;(tTu+1S#fkCEZb#POUe_+w11?Y=PJ2Sxmo|7;UCs!;^x8C)eGa z6nOvUnlGc{ZkD7rqfY!pLkqlsoOf#8clk%JyEz$~7$=DyX!rQ9TQ?yEL#HRv0v4K` zz$Y~{JCRRXXtteCx6tgQlaZcg3zea;VpZ6hS0h)ii>9(!sS>PIiB>ARqzcVWkwV#w zS+OlNaItkM^r!aTpu@|PEA)J<<^@W%E4aj=j$6jQAD{mMvIO-WN)dUQj(oqoD0d=J zZfC^6wX^pm4kZILd5E?lr}=^!)HTW8A=R$Pm4gl1Hr?k6v^#un2&j=I1QpUeeCykE zeqZ3o7ct}%k|xY5$9dOWqVibX=Q$fXTcS3F0!O}#BsGH5oD&%OzzJ!<+s2>Ng2RM8 zV&|+fSf33J1OsmQ4GxvxytyHJgWh_L#b4aJS~dV7`um->kh=)OS!Ag{%DGz0t=8*)%2$7M z2C!VeFFkj)UcU*5ad@*WlFPq7`lD~Dn7)J0hoZSNpxjVPf1NZx!q)G~Z$O_`Vyu!x5Y%8rs}}u%m=TzdXUBEc|a7N&Ff3 zBYNl#dr1`VFo0VlS;k>t!FymCQsjPLCQ$>FR}?w9eXvxt-SpvwOY~lG_%#NP7S_v| zGw9c-UH!Q=>Dzg|DDkEe@BCroOn4H(xx@WKjl(r-ZPos^P_@k}qy7_r((f()q$=!J zr0Qc8mb=iO87i_H?0-}Q_&3L;(ZQjf$RoLo({l2RRY(lzh9gp!D!qO-0aik4v_0FZ zN;5IGueRL3!)@tRJVUnKr7^!$m3M@1ByAwdp5h6FsKU25e#K$e+zrJDajVXn#$V&9 z{w-u6>m{en*a^_ylp+UDIelIs=E?i1hdpxgye;~|);f6(VB0xIN}DgG@-plNA?l40 z2ygAUZ|+C0?(@Fxl?7r&2#p{eb0g?^JJ6`z$7a8rWa@CxBK6rQPqG8;9scf>UWr{u z>{}zf)e(&;T~fJLpu;7P+f>~8reOD_Oc=l2cq1}u`;Y(QTJ8MNB)K6%T_k&(>_16c zxukxjkspp}XG4V!+bf&3Oyz-*Gfs-^@D11~*(6E8kb~Qz;h)xCn1gWX%I|b}L+d?5 zFSl*`L+lu~9@T=8t(E^JRg+`M#STq2D;S@~(@G-(eIs3)rJZK0Nj6uLDzIy)I;I9E zI)f#SV4l6BS9FmWI_?_=*m`KOQKN<|&vkzXRJ+<O4^){?d8k!+BcRD;pVF z^EWJR@f|WV4CWsU9MR?2cvbYon5BBeOWwQ#<{Yf~`UHFbnY_jDNJ^vThVODpEc~=4 zNwCd4OXqznL+KT{Jut81v}_&Td*Ryr&9Oz6FA3ii|B>xqKnkNi@rwp*g(RFbPzt3^ z`p0NO!@fHHbJXs;EN6ctNyP|% z&i<+3mWomsJ`7f%Y`9$e`hUo?j@iW!@1V`j3K`S+1X(U(JuLbF$g3q=q zj)2bKh6Uwk$+Iz5JD2GM10(4d{d?)D+rn~yZ7XP(9;S6p^XH7Qoc&iqgp; z&k2w{<}0{VHT|)RS$kf3$;K)?lti+;i-X*2p@sFi0CaTz=?oDSUC;HR*NM{Oh<%D9A)2hWaicx-J zqD%`qr_!k^vo+79zpxKZhJD+>SYP!uKmAZ~pR$x?G0W=f*=Iq$zOzcl7w{b*Tt78X zXaz?9l{_=@iHSr<&6uk>YEBFssiAWR2aAUCxr%Q8t}|Gab@xDeYyfTC3^6C>nHMYO zy}w_u$a8mh!dzBw{*Yj4*W`#NIE729nV!L@22LV}NFq^1MUZ(9aip8BitJp+wIHO) zAgda^nRq^Wnl^&^!dCPSDR4zQV@xNW)SfsB+qE%pe&AN!_DloqMld_b}h^jRLII>o&1-uIerHV7&y_=ym6zK*Iwi_#wUS4Q4=Y zK(Bj1(#WeQP}Lh8;|*3NY?Dz|D8AIZo;s+q3q8wabi8sFE%a2;|0_0xiWMR6j2aN) zrR!3byOA84eE?G&#%XCxV0Rv#8#rg9zJ$3r)jF#vv&3hgr8IqO z2}4iQ^%r(VtJF&_Wpeh^+;lZpO|YxZjE|(`oKyRO97Xm7niGe-1*z-?uRU^GLp_!n zxBmhEAC$>Rw&Xs6Z^SNCO9IE;;3^j4zj5{XH&3wMfix^Q6#SVJhrYEwgO4=E&Ob-a zxv_upeb-w1yx2jqaX<8#+ZYpj@qOQC9z$q?y!7J8UqZgm+(e~-kdvEa0DO@lLOYPnc z%t_Q|B8W?;I74$>-c#P-lYJygy-TW&)_d>Rot%wo zb-O|ML87tz3R&?7veUTafGn#p4Is8b0G*My%;r0-B#z3 z4PMh8dIVx-Xh;g1p^=38TMD9HzJ2)BQ%f^ zdXANz5xT+_zLlB2ZpyIW+AQOn&;(`K8=7XQZ1X2W6JR6As<#`j{iJl_x;z`R)QOtp z=J%6Q#k{+tVIo()D$K6VQYW$6dU! zj1$j6ugep^bImTj?my`Q)tfFaG*OwC*?OD4b+`Tk=ARmN8y8L*yQM#1qlm*5nmy*E z)%l^>6HkR^7b43Mnw=+=lC4XTd$M~a1<3d0=EqfyUb2NnDrJhl53C#C_cn_L7UxN& znlM~OK+XGhpVEL%El<>;Kt`V9hox85<#HrRMK#NyK*A%4AFO8eUOP0VZ2q)a`yPv3 zaw7Xj$GU>y4aN3#1tZu%P_hgoOH?PyO3L&C&6`oj+*+LM;)Kt}wJsx}VP>*BPxQW> zB91q(+NJp}6Xkzs?ToI6FYGm@k8Ukau^B5J!BXZ_oAIf66V!HnQ@DicSOt(93CshK zz2TRre;4R4Ae_TL6X=$;LxR;=tl0)6tx|*F4CZCv5lYh;)Y$Z#!ATBwQ>U@>d$U{z zj&lG>Qy3M#oeX}@KkdLr(*~K%M^cFFO3b$#ueaun=e*NUR1hi}s}AE32}}RRR@B~5 zbbVWqn=~-uW%}{yFQ3+;F|O94LM>F3)nyZCEy{PRy{D1c%zJRPElJ&?qzU9aR^Zt} zHKWL*dPsV8rvV?eeV|d40Z4j}*U%QXUs~0n1?PF%0-1TF;x8C*lJ|3o%$FZPC`C@S zDF7HLD=p_xm!eD2$B}X1$izV`kx4AKu0-YtT{T{oUW28V-rvt|NgptbHij{eVRWit zw1&EU4%yi|svPRbqIShz%umav)$`0o>?k@d5;&>xc}lO{b&%gq5(hIpa5oiY|4VjL zl+AW+=W+&TMhy-lMkFWzkFA1xjo_c7SO=90_i0UwN}F6-wg&Zx9*QJ-B^+m z%)M5EghW=^WR&d7Wt&m$*oNGIXwpS;$dqeUsEHtC$rZWR`)&~J25Z4NP9F8uGIh{P z!bAQ_oRuz7i~0m7l*Vj7=fkt_OP%L>U$bf9iG*{&2<-Bx)>%BjIR2kh#EzwcUix0> zxde1fJ$yvgloV7v>02lEQ{2EL>LNTpVIpD`g4V&F?-<+v_o6q*mx^9pm;ckin;jPo zl-SLW-=Pw>qc4eRqPT*h+w2=~m=3U;PcaB=9QGbGn6K(DIlIDyCR|Joi9tiVIhE?a zBKRSl{xzvzveR(UR&g57_U^C;h}YM=RZ4^U((8W#oY5~M3;RFjY&YffBk^j9Ct1;l z_gl`sDPQ2jeKNTDD>Ruedbk3h8`HB`^&h5evZ{rG)uKBQZs{-DQ8xz z3nr-wQzn{TPLWUDet-ASgd@LbB6;{Y05m3W6|U)Zg2SAsS50kAl0fFLQlFQv=z0RM zr_+|yN{DdCqRyTeO^iA{QrBGsmxyC0jsz`IY~@vBDKT63@Gjb~Z+S{?Li8<1+f-hZqO3g+W|US+VSlmK&1nuxjp0Qp}-X#(NHYV#{a2 zgC1@tefi2N(Jqo!76|vT3Lc{(U>j>B*U^?9GL97ZYA>ATSFeAHUo%2Pr9r&%dy;Mp z-e7OhBZ=t4jd2KC5=5e=OJMCAn~0)#~-Sgat41vJ%XOzy1Tyr@RYK zG?gTBhHcp>TAcHqk>7BeOuHm;${%N|EdZ=F0gjMb5rr*eU6daM6k>LqFr+7!uB*%^TcGBtm1;~m!Eku2qH#hIXv!3RDY z`@m^`rW`i_!_Ii;>?W1!D`*J02(x4+v!>6QI(3Lv;afPOVzqC@{9#oK7Y|#pe7Ub$ zyGbi6omQrm6;7K}rXo~Tj~uq7V$Fi(^H(eyR$aAtnZHWGtJhTfD()Fp?VInbsJ3FR zteU@U@xozM%UAd`d7+^dl<*2eo-1pm+1XZhi&xy6J#6{PiWMssFRD<Z3KjmNQ2sQxS(PT|R$N#R^UEU;!g@ zSA{krh7-~@@#HPeUg#a8jTl@l5P$UoZA7(i`HJ~>Rp1|SbzZjo8!C|r8+Nrsx>~z_ z#qxUu#3yfXwKi+nl4Z+REz_n}+%(VJLH}I^@CUQzm`9-VA6=eAe@!;|5FB5<=pcwNn+K;3cN!rUb?)h zYK?oIYA2=Np)IbSuZ{37T9`LDd-UoNUKK74pE7%z^}jY}{$fEgw|Dsp_afDFw~vZe z_$n6q-1k&0TI|1P`0(NG&iZOlU+T`H)$YOB zBWX83!w0V(;+|RvhF%Ynu2h{fta@SfVr^;l;x5smQ7Wpdz71TpQWAYzh^#x+mCIKR zlSu^TFY{XyJvvb?oj1{`QZZ&^wuP~kGV`r9N97<(!?0EKl_uWhD+H6J3=6%$uIgb6 zD=QW*srKJv&6H8Yn0NkrDu%7RYyPms%SfoIv~Wd5#WJSUqG5|F7WnUqO&)g^%T=`? z>fq`jY1*{;3o92dt8mZaX{KtObXx4+uz$f3ixT^$X%q9O&eY(Mx~K7KPQJ79OSOVR zlnL32rn+a|JY&+#o86@)MFo?JCl%z+oOJVawazKjpm}Z!w?GAJ{p*Aa#=8aM|1roy z%T9Rb@>D}-d=-xSmWgz-yHFKN~TS-aYXvxzyIxl|2umi zLCezQ9AdL2a1fFiDLRo$6f7Y@TyjWHP%w|U5^bcA1B@*}T(PtL@8hj`17K{Fd%jUZ?9Ijjp6CtaX_s8{pY9H`peFh>@EawK7-)7xZ28J+ z_G|JAP~RfHQ9yKXCy7w7={SkvI8i#We@Z(x_y=W)xLB(4O`g2!a;BqCH(u%pm{)`w>MX=_xHKKPJ zx&I6yH<3DD`i`!Jdy*GgeCztk7Zsdu!u|FJr`Qp4{EF089nt7sfV?WtP^{LWDL(pA zkqpCc5--=O*Zq<#Ru$x?>2<=q%I&7tKlHC;wyq$vGryBz)VyiA-SxW1B#U&t?ghT# z>jBD}1ulg2t)&^M`wU@`FL4Ck=umAet3B2DfHd+EY2?@zJ+zrR6>z0;gqydfiI`KK z2CG5LDX)GvuJb#eao%9}_%lL99Z0fu^BU7##_8~@6pTc|yThuxL2pQr3QP+~_M;^U=;x`|Vf%r?++5nNMszH(K|129>;kay&jFss0qOUf`X3$6dw_t z*qcUR)FI(va(}CKcM{a&x#xcW?;k#T*REa9RjXF5T5Hv+&m`SPfabp~oPrpYLn>`KC9)Tf$e0hc{VMZZ0_ef^}2nv@B6>_ZS6k0 zys)z`AAkmDE{x&0HUAW%p@NZXb@{v;$6_Odu3C^8I+5%S%L)C`MaJAmFt~Jx7?A#j zP{*t8a4sLMv-mNlK_cyOKe&@`=z}xW(XGC;3*Ip=9(hSQ+IbWcC||ldYHsZeo#^Kd zzb$3vhfd(-nWV~nKlFyu`noH26KM7gbTs?YI-7mNLd`yp$t@x^ABbZ8!K8G@FXK3Y zwyeg)3~*P7vJx6Z-b|;pw#N$vE}+0mDZ-PaVz+KOjyzUJ7GMi5EtZl^8)-0M*U`?{ zoReRkI2H4W>d6tz=ix~TPK}RU@B0O}*T2oceZvsVH!>7Uqbh*~njLMZp)Q}B<7lc^ zM{D=#m$H9Ebahtdk2I!q9>1<0!2dZeey&P!=jrn1R6Q^Du{Huf_Y+)V?9oTvf68jV zM<4A>_WTH&v%2io4XxR_Y2BNeo3%8iDr--u7K|NHU$*EO?HClff7YN;3h5?|J#UJ> z*e^%Gzu@%;`YIjSv+m8>%{ubA<~GSbn?nbZND|o!s>J$X+JTsRt6zWdJAIwLKAxkf zwjsA_z*t3@+a;JWPJ(YrFzajy?kA`>j#2u`lX}6zD~fJY{?4Un?#s8No;ani)z`!e zyV5kENSk8`wT-#eGeb%qlkPW<^M;$pfK27rHCH?HV|OE}KdI4Yd=bdeFZmeK+GaYv zJ=b43u(p}sSq>hNtV|^u6&cg^cwN`hbm|ef)Hdo(ax0N;dsiD7cdnoFXlZFwYy#=E zja0WN&BJT8lhkKYQb@izDXdA)_#6rw?C)=O{>k4w+ffd{IjOjb&|jOCqg0sh#Y>@7zIV%AoAx|qwI9~*)z!I2+sJ#B?tFt9uc_T%%cn2(k_0lv(f@_p&>>hq>5OC6>6N_$ zh3ipS&{Q^2Dyu&4Xq(hUB{XHtsoK5%YTaJ@A+?#BOzja8bypa#ft$r6dvtV-T{Mat z_w#!+$HfKv_SucI?t;$llNlDRSx9^W{RJAEd>}^c=G^Lx0rIFCkZT@UXQ}Z1d%j=G zynJ1kxAq3N=Zw{JGhFa1~HOxrV8t1hpDMa zM?XRdAXWoz&9P8B0UCw<9Vgd+v7QM@ikG`n?CehQLWj^jz9%Ls=ZbWsSx5FVfT=k; zx)HI6u9q(87fnYRa;vkLwLCI1RsLJS(cFO(O!2c)`>cn+Q&bKv9bHE@z)U!{we}TS z-jwUFN~?UM_7$E!ISbq?bmC|rBXpuAnC>?=Zx}Y|ws-XCH)2Vei*TSkAaaWCv&|ow zBNy!id;80E&dag!c5_S%Leh|p_cQOBKv*FjZ*_f*&`ju2N_;S&50jw1(R*wP`9ga+ zN~dJ~!ateE)`edg#JwUxa&k8eRSi)Wc-`BN{YMfsrz-1bs`6dUeah2!2hI}ufm*Tt zGp4eR{zia=f;f%QYxnnEYBE%kK`*ukNNWBhQS)Hf0;zc=YoN8`lrG|H#wV+E{_fx? z2v>{2mW^B51ZT1~n@2`-n~tzDFxe|zOm?1+$)xAG-cST|R{~_9#Y2#z=ZLaQG=H)} zI^tl?nyZfd>u%0*`qyDC=+|xs7vJg^O~tR|ZamcHXAG0q?PjcgbBKC(YneBnYTQU@ z$9pVLF1_iD2;B0fOFQ>$nhfV{^}CEloB4W*xnKK=pOH_N+)_G6Yy7oRU9D7y4&5P_ zEy;XAkKH{wJy0+wjz*?U{>bv2Y;XvRb|LBeg=&R8Vz*^drBa(gG&^2Q*i1Z^C2jNT zB(BN~8ov*TWQ<(cBNkmIRT^|pNq@%xw+0ghI>M;&gY6B!Sd=jTKvARW4&Sf*wHRAb zC3Y&P4owxQ+Bizc^+y7pR6b#=$M5;^lr>&iXd>t9DaYhlN}hNMf>M~o20UbugJvo5 zsOo?RMxoO*Lh5oq-$62OjFLQr_lmX^%wZbM-f3wUE!0~Tf34VX?U(||Y0lb#c+U@%P2QJqtIO`#)IJN5y{ zG(MCc=%89cWI`d&Z)y$^DGBhC66!@Xb|u6=GFJ@!;vX|9qcF*7-q6L<#Oig!#PrWl zkOq6nqe9mpdbuQJ5px2uOLY+OH|Ej zhm$&c*EVS%i)|rauSz=-FSF-t!py7L<}>`DNHXk0Pt5$g$6im#9`?w33d~$U zpxP{~y86#qrbCT_Zl**3){YOQ)&qxFwYG6$k_5hm?j@D=`vby zgskaXQhPwuECCSPs*DYsM{oqrsipZWOB+-d${ZtIvTpcE@4&WzSf&{jN(6rO7jfsP#Z>+em=38d@jW$_#r`>T>$ zi}jq?KXv0taQ|bscD%3ij|9f(g!>0aaD+BTK(z5+pyve-3gZ?VK<{IHJ}LHB_SP50 zc62cfW|`r{ufDZG6bah+hJgLWIYhh*Cprv+q@$(MiZ~R`Uu5?oMMo#Mqt8Dmkm%}a z`Jo96%?cPmUHz*ZVfMJd`q9m-k&po~Tk(s%4x1%Gw`!TM%ZQ3#qQx)A82p$vB{|o< z0Ye#Ez$)v0z0s2y27EMtRLd zq#e5jqIFfW^n@GknaLQ`Biv%~epMFlNcX12z) z)e|>`y|Al@?BZ(K7HDfj?uHF*!f*^=gmwb8Jb97nxG2Z1>x)ezr`im)yW)gHNAu0# z9}A@TLpSHRKa3@t=aJKMsIG2tLz2U<*LrhgcNM%gP9x0e7SoZp5OCRj73(tn!Uo1# z=AU%3P`+VyR(Xpzi_SVN;c~VgmeOZ5{02phik}S50<2e^u-hNSF5Wm-A49=sN zb0;aAu`fBToQD(T{BO#+$ie9*KQ1AZ^&hm&{TyR!H%gjgsx*V_uBhZQvzdu5>vv;2 zQ-$+(j&?J5Sx3HtATH;c!z?M~%0$#>4h# zmJKAiP^3!6hl5nE*lxzb4C8>rz~>7g05xIPzs3WSt}@kt=(wZQXL$0L3_=P2y`c>X z{l1>@C7@?2mG5xM0D|Aa(n=$tM!%GUo(JMI242EP1N@<~bXC@eWwbJ5mWuT@fq)@{ z{>lX-{UQO{DT;gFBA@Bb)Ysdtb6@IH0`u`6Op(=cuf++D9X<8JdWpqBACGYD~mEiJE1^q zfgyyym5Efo#S@3K$a8E0TYiY%fI{x)SHPRX#UMU|=V22s%bQ`<1<3&*d?BDU%Vbrm z*&gZYhtp)S$=`doyR?_i-)1^_C!M^~Uz=o#a!CWkV;HX1OmE{YrY;gx&v6Po)8KMS z#qu>UQe+KBI#uxyx#WCbF1U+xp!SN%7c zrf~Ede8$Uwj&2gdVjG*DDe*IjFJpSYB*#hjB;+(*`2k2z9?WJp_vm_Y69$Fkgn^E{ zq9Y&b#!e{Xrz~#l&h(T{z3EF*h{6k0iR$RmOAH|ie5#|hNG@qD4;AqOEYU z(0Mr7DWAng>gfCSVi$M^!&hXb(bq3Ft#MbZ=x*pe|J3>KukQDx&t37uPT_M#5Deca z`^-xncKwI^m99xT@>=ZGo}6w%K-P%d1=U|JXu}D&R+g5d+Nl4u(JAR8&lm+DG#h1} zQ_s>y2dIq_5K{AsMh!TT%#F~E6i^#!tjN;fD$sM{r4Plf6TyVP?zHctFG@+mVNZ2<%lJ6GYLGnZNk9-Hbz0 zu$w_B1!@mU>}bR@n=C-v!GrE*EY$HiRCi|X6Fy-S7(HNmxGwc{#Ell%i+a%Jik$T+ z**aP)aZ5nzggA~h3Xv8P!i0Ec!y|1^x&pJlR!gMaYdB)gUF-6O3A#_aUGZULI5JBB zrjS^1C?+${9h;(~3kCCdc{V0uS&@OWe;h_rL!Tby3ggJ<(jr@sd9BrUDiQ3_I9P3% zf$F6qC*k^9eTj@a$CC_I2ELoMBmR!7P;Me+JYK^cQEM5;fgWuHyHacBFxGX+t$nGs zmG$~)E7Vx>q!5rOSX9t`w?y=++}6sJaOJeF#j9dps=UZh`cS&rO`!aUyrUxrk#yQ9 zADkIqsjJeHWVc(nV7B(bV)YJwme=4vmINvHsKIwPAgHPI@7sO_$sSIZm*aL1rISAn9rlA$pt5Id`vT^priyC~*}a1H1>> z9(ov1^0_yFT`JouPJHNSze{O_k({UI1Op~gc7UeC)SLbytyCiEhqpHCAE0WNmt=q_ z&)%}sq&S6~7cnX|g&Ca^-AAJPj*#Deoh*BOmXODhVOL*IR!B zmfzpm`b+2k|K9pn60N`5o<}`fFU#pzn~!+Tm##NGgZ{|-Vae*Q)x=*FI&_RCZ+g1f zAuGm>+SvHR%Ny`Gb#w#gqy%WAt^jdhUkYL1*3Hk!(e>A&UKBQAjIEnL-E>8jA$s z;n8H(!1SX^b#vmQN zi}dSISCPnwFuG+CaJbs>hQ2LZ_D#_r3*IaN@7)y{?5D;Ej+>2L0;gIJ=@_9han`$bjQRML9d|78mcOHu*6hlc-WYlb5?uI>rc%qV#K}2Hah}C zgr|b?j&z58NOwg>Y%O$ne<`P=O6PmebBF&VegpXYwDO+q4*!(t=dL*4VGVL}+OD*; zk9WE|yhT}OI=mOU!zYw?j=N$Q%#iG3l63j&s9pY*R=LA^+2P$3C@LN5eJ*gLx85Co zL3ueab_76u{FU{D!`m$WO-lQFUvXEwOJwVZR*l2k;tp?8-jCcBTg_%#2BdtK!&=G0 z@CD1o>pp84!Pb|p8+hz+T1(_1Mk$oqVa=B}*RjpcKyR|SELM{8*Bx8|%-56g=uc15 za*F7%vLtniz|-jr43G}k)umXj9^G+T$E3+^iR^7wtF-nj>q8!|XVb21>urfSV!bA! zbB?3Y=2xBUM1QKR4+MCX&njU}Mi zMT^}JvN*e+i|X4y>wBy*CD0d%TSe=8VE;A88eR75C-OQ!-uMx^JbIBgwREr~Y~c$l zwBFPr^CfSRzp5fi)Un2-Kyr9nAUQUGUsL1(DI+D3hZ<#N=h2{}Z+s}U$VUlCk1Df< z@<45i2GnCh?cmT?xljC*et$#UH=|RPOsAk3A1Qdy`j03>M-PcSqWt4fC5!L2k#-&X zOx%tOV||(B)VWRG-On}YYpj<~d2cEmCCO-ASb1nDyb&_==iX$6mE_jLVgMi-U1pbY zw+Fw*nKHvI#u6w%>^&jHhSK(6@b(IMSuYe3xIHH1 zfd)LIcv9(Mvx9ih=G5GkuRy~t7m=cPfna>|@gKMCQlFGEMi<3_#yoA2;7Yq1citf#MU@o5W)c|NPfkM9}Cd8u#)A6L^uLrLfyu%Q7qxwQeYFZVN+cx zFcFnY8UU&j?WYjz+u>`f3nULBE^~(35UEtn2I;sA8()lo0?#3`LL(w@bNEwuRHP)N z70FnXHlp84QGu*lGE}2VD;MQ~5oC$1f-OGYLt-P$S9W=3yVw1dk3S@}k+(a%Ieu~s zIz)uXVWQh@ru&{`|G3-JVsrJSf#KS?6=X;-hg#Js@d$kx2`ElZM3j@&gmoMVo)l!2R;-S&q-r52Vw!{ zl)!7YTv)_Hx|i51nRo~jz2(>}cbMp!|7AY`8vEC1Nar`L{3+$UPgZs&dfYyCzm!#y zYyiuMvwo$Ca8OiUGC+~D{dycJ*eBXsNC!&DZzP({mTfb+4RnJKQt?9Rp47^I^VLJZ z>XNSvqJ@N})}r{-Iy{!0;YKh>7m#YadK6sK5=i^GSkX7`~C_veZCO=JVS4e11~qGgH|Z zGKc|3U0-OZKpNSg(5>iRkrT5uf`p3x`xPA>B3Nz540=JqUz{+6R*t|DU5DV|-NPF1 z$6eDT)!HJsl_;@7N)*oWNn+#JTNiK7uLOIAii=nWSGtTH>@ngT;YKpsXc zMMNSwPr5{0j9jH;dKay~<2`0F`jV)DGA*K$weimW)R=0OZ+0FsXcGN1j@pFJE+(p9{n;BUi?^74ebkc?=P2Hzq zFDuiIz0v}+ZA28@9>+Fhb0}{%0J;n5vn!`g_S<;FGq42AY##DW(?y-+t`H@O`}yVY zAtLd*(+r1EGzHh0wbM*|2h>IO_AXX-$g4KKnS@rNga6`AQ$DaK|Ig5XQf%3|XwlM4 z0zLbXwtY0^RCJ;pNjPW{TdZAXvN3@XF5BR2s*@q2wHi-N-KYS?Oo(JfxZF+n@*sSG z5#XD>PFX6YTGAn-_Ka%dR4g&!2kPi!a^Bm((NqIWP>bs5dZNvw94HRPOlZib2n#5B zIg?;Y19On&N2ZtUU`)>iLqak|M#{u^(CkEb%QBnH)OBx~*!YeCh13BERn7eLf%>*l zv_?n$-v{UHozlZF8lMHH#Iwlg)BNr%E`3}7#GYu1tg3o?PUNiARHUYLhuGRFsyrec>Mm{ZC+S-nTCJ zHg|%FGfH_<%nk`6B_GD6f*%ix3EX^y-XWY=9%x)_`JY` zpcU~7y>?2{NQ0K=6w=JuQe$DxT$6M@EfQX;(960JF5-xUZbkd@jS5?G_oBZy7N-b($sY2fRA#&TGPw3nMM&DOFgO{;N}b5B^G(P7=?9 zY(!TC0(c&*xJ$Ha+et_^yGcDbSZn-o?^<_wk8u>Z(uwcDidino`{_i(Bvd^hw2}N4 zWLvgmSIACHGZ|pQ1u&@93@7jlS$YurSp&bbHphwYYRmCMtd=i{#E0jvCYh(UEl`L^ zGzGP&-5hAe4+!tqMQFSOra3f9M~4ctQobe4sz{@?nxeV-h&&2~B$*K8&veH2UuH(v ztd2V2!;J3?@?i`utt&e9Wx=81#q8`lF*lHS{SuT^S?3!!W+My;Y(HkfkxXIB>9iF< zkRy{&M{o9$JOz=1h|;VB4jB?-Ta_4Mfew7=zBtE%qK{plHtx@&zM=*^yz_sa>2OSm*Cfpx``Uc32ec0LrAtX~upF1_|M(+;DT5i5+Ub@^sn#TKcr zB>Y~sz6b-iV2fR7`F%KAlb&Cmk|;AzYP!?Zv^-JMa?dnsa+sR1PM6A;dJyC2>RLf! zo&qWaH0AAg1+gZn`LQ7$?DW}EiTp)Yupc+jz}Oixn3kJZ(6Pn z+ZaTaAaN}AjU6*S_(hgu3#wsTL?i$Aow9=9g^TKvbhNlIzWNAR7JpoV6|A}FXTX!n zxQ*O)9XTK!jqZ{C1ydfnX)Ex*S-~~&3fQbl1)T-|qY8pOE9mB6r!gYT&1y(9j>4cH z^K%BE(ez{aOM6qx+lQ5k*~n*1os{wx_rlIHO8$4p)%GTS_L z^`=xa$YM$)W4=i&Ds0pw)x!bJ<>Uncm|)K= zm$Z&&O8l7`f2LXM5kw{|u?c;q+y1Fn8Ktc0fB$V1op?x;v{BYLX9WEJ>$u zv1*Q(YU(9rEJJD+vJj6J;LydM4Y-vC&?V5<#L^7&<}zJdBk&o%>CsWKIiG*2} zYGVZkx0*teV6Usz_mQ@@-7{6cu|8c2|IxQar& z@^VTtMn}8Wvm{VvUP1^1>A)g;Y;NSd_u9;tv57A-n-=9vK=R_ujbwb#Ce@)eH6j)? z)(8@8R=S0jFxPVsWw*4M&@(#-e`JSc+cBBf1MyD|!XMjVctBo0v0n)NGaib}Z0$}E z$%xu7&kQ8V!T5)l%oqsnRI!!c%Lym;^N!7xyE%-rwj;&>1wZ*(^Eg;W0kO8&c|B0t z4BTHu87-TSbQ?A?Fta%!8NDUblBF3(&nfm{OF z5;zM}Xg1)z&1MLNx%;_2x(@~dhZ_$=iCae*3ywaYo4Qq?zZukYB0Z$4ZHkSzi<1h9 z5*5rky#kpl;=a;Io#6u}i+YaLR)160n%EGAL`S zc64knU-L~t^4<)eux`3!SkUVsYN9)cVy^zx;s42QCbo@ z-pd^x?I@ibI_`9bdpSzocybMIR~`IrQ&zn*bUeu&{?O zIy7_~ne;yeLpebmI?nm}`#4%lHqPC?N5nvP_+1|T-4)B7BpS+!avfg_-Qg@p>6Fm% zS?;itfX;EjNT?R9 z1;&@wUWZ=}<665=BFiEG8(?asgxmJ;bHg}(T65?`8l8AtO0L?++j!opg-A~&aKA)f zIfb=zA32Ws z%OuCI$Z-(+HuD{NP*o-0L&rOV93l1L?qJiiYe=#cnDai_P>gdBfWiRX@Tx)fE8aw>($s7kUF$;B%FLb48mp4WtD~AC}BBV?d=N zlVg|r%^~xoKz3zw4O`FtHJjGVxKY3y$;b_D& zI0N%G!M9B?Yp*a@;Wx`J2%T`3-VH2`m@NI#L#t>EZhEh`CqxRG;9g9J80rdZ2(T?F zu*qAN_|N zuFe>Y^~Zutc)sqav_zDconXp@(Z;mRaEGVq5Xjg`T^OU%!@1)5^12kmS9;v@ctAv7lNRbBb^OkDS&J%$N%Xd6NRSm1c0xb1XhNDjb;V!5)imUh93Q z*A-ae?d7h(6i{OSH3L$x6>4IGQ^@cWV#%5N#Cr4lWApon`F+&XZH37{fWre9}_N&XULZEBgug$uNy#e5k=RF zmsK6j+QCIMabdb`sN-nR(SyXYG@KOHBl?(FYOtxP{3W!VqQlz*m$SdTSF(?Mjc*b3 zS~Ug9f+NnlI@#+w59?@!lp*;S+xg3`H(w5U>o{g0V)eI12@*F1cE&Cwe^GMX1~e0K ziA{EJN}`HQY*1vG;}$uQ|2^r88^k|iXBWBBx+Zp72NF_t%o=*Yq&g&Epn?UxMVHn9 z9)-VB_6`g~1_OSVJA6=K*5M2cFPUx~QUdsQlmPxMC5Z8+5_)NHBa=b4OL4q=X&h5; z_x1|-V?mXi5cuNO)>`j zcI!C7E8pi2Ptj<)LrN6P+d8dE3X=H1@KghhMr#O`!)rh4WYy6Qgxc_KE^&DxaIurR zhKqGk%Td00%{H%h{A6jW(HOWyFC3!M1lQNw8sU&CRu4;$*EOu&Zso8qO)C*M7;QLR zuoDyxV@JQ4NF=J`+Bs8W_a;rwP6~+i<9^*{j{ow8^k}!O`D(ZO40nA>=O1;4M|Mha z)r*E<{PO&piK0c`i#}C)OAP_?yPx`8uRUxeIC8F+d5nSR>HTKfsHZ-Gp9}~KX-ULsWp~DBG7U1i9zH=K z&?s+XK4m6mr}fmSp0Bd{iqI&!<7L+Es)CW?;prh&$}$(Ysx*z2WS+R5`T$zAowH*Q zmc=-!s(|am6IGtoth|HV;Se0MH!X03O^mz)1Gm7FdGB*h9+7B&0iP;3iBK&YrLhuEZ6=Cu-Xt~ zMADI;)Lht0R@-D*QL(aWq|Rb*aS(I#0!ZV*!`7>;aHeS7;#8kUX?7Xt)%AEm@S}Ed zIPQ^)1l7a4l{+525vO9MoBxits}vKF?I@(@jf_pu(ck~At9`o+Z-K+GKsLZw*ahZ=$)*y2 z`As<;G0q8bl!wWZl9)R^){rZDV8}joH*3E;JlJ7PwFhaVDc|4*rjp<2f7y2rk{B(S zfiUWmtFWzzTX2}sOK@JlZ4|yH%FuN{281P>BR~RNJ~>(Pueq^vz8zG0+=*`hYJg+_ zSmyqXgLXnf=r3#3^C0Cd$+NKNOL5uBR0qs z@nec0|8U|KIG7_x=Ni2331&GIC1--gl)*MiG!u|1$Nqb^*Ackg{orF@S<4GOXorpI z9E;?%fj=_Oi-I z!4c}p&GJM>R^D>G)x>lbhjc=1B~+9yR#OSuqJOiT85b{Dh=<}17Rne&l+b#w>ndqx|oF$FI9`#8^=tfma2K^EI6HAz8&+~mSO~dxW~fR-Q$M*0=m~_h@^>M zs=7#5!z$yUA$1SNL+QHf)bn3B^<2PV&Vo#@2auF zgaCw;Ao@~94+PBSAX7gow*gy}dD?UqEVFePW9@n?H`lF`j)x8uyTkicWz&<{0gl?_ zLRcXtU@W^59S!{NuWxI|N56Gj`?Kdb0{OAe9bT{457n&(;DM>SzFv0RmQU=;?3BNtf_P?uS^GQ$IL;S z=NpV<1(#r0PKOYZps)3?BH|Ej;v1yT)xY5^SoHp9C^>O9qv+{}Y~*LD*e4-c!Q-yh z{;luUHMH&_{C4PMAB0~glUI(#Lig^ALnmFOV`7=1ll=md?;aI8nHoGVPGk1DpUL&B z9kE=wR8&WYNkulH-p3wNWFYZ3lTK`$APlu{>c1-^KfVuM-MSzd8qmG(H%qW_iFpJ) zLj|2R{xIKHrIUpvIX{U3M$%-QVFKze?*UC=AL1@BC15+j9Ag&li4Jjq=}huh&qHB{ z74azqMec5&hgbGM`P5@C~m<`6fSPdWbw zMaoo>VzI$oyZKb=Ve2NR_{03WL%dGO)N>> zHM^895Yj3w7TfQ+>}_@Qds_j!u_r8ho9LeB4-+RBPwCGzhr%&`#6hJPS@ref5>x2J ze%3DbYVQJ_*t2$>;3#eBQSrTtzpdIW&0W>*>8=(HL8$A%q*M!+BUK}Tx2q0RbXT~^ zFAg%r?UuvxJN^d{1)9Lj9;DCw;sP^`>;Lanc7{z@hLKlLjVK^+pZKl6^DzcVJ_<4BGU=~yt$Pi6V2n^|>avki5bj*}uGvApD}o#GmkCH1UASa>b+u-U zm*UpiyiM1V`^nAFq|x5d!K_b;y9hSEaoR!$oG@QvoD%JL8hO#|zkYHv1bX5(k~uhQ zX_6HP?@JdKpKIP061iCXTjCso2o-enx;ioqY{gF`6DF;7 zG`|B|H`cjYM{`tiW1XXQG`}Z#>ulX9FkH#u_5wMO-6_gZ9hoz|-u-hE@cOqVahPXo zfiqiv$K*jqVBXI?n}oRXO5tZ|nmZdyrEL!Pn1+Mn{xMzEk5%lz#lea!6|@Y2Z#r_| zk@MUYlkq*pwu>t*Q=T3So#lA5kz2FJ$a)zKocT7FJzVA04rq2&R>SF$PQ&_T)!D~y z_XmtsVztq-*?Cu_RPNXvBmZ?t@zNGE^*>@?ADJgc4Y=NXwr7z#ay2Uop4IAm#zwBj zh=a&Yr$?rm$iJT+Ilx42=^0shwb*1-XEmQ5InYFIK0T82TxFRmC`KbjY59@}&i{i^ z1bo)U7rW&CRaq~!;b`#!7OJWN4QsBes+(pMgH`MN~ZK;h$wsjteG}dQRLU*J-xNxtBt2XQ5cD@!pR+%DOIs|Qs z_o|~(Tgtst8l*4^6%1mX={#`7!cFVk{!B$(G*8`Op_M(`ajGr>u_)^cA)54p`P_pTBbjySdI4>|(0Rgzv_q1kRE~ z=&_jfqZ+i;)pI@mS|2pBb48}V)}t5i`o)P;S$cuL7P$zYk$Cv^LwN0Yh(r(hC=cx+ zKT=dgii${45h*G{QR~#YH)`LZb&G{nf6ck$wX_|t4c_tEkR7jicE}Kz=^&l|dpony z`dOP^L=QjF)Jnq_>MN47ObPYBbBQ<)OTbJGjQ}3eFF5WY`_fbqbxXiCsy8)VO?g zS#tGa_a97-tp6hQfZu*2^?%>GPjRL6Ev?)2-{*WnENs5nuU)^Gk%Oo3;9%sQZuNp3 zN!hgg9i{RbV$QnIFBwU|5`1R;s_7=eHX4% z^*Wh2k>Xrx#=z+zU$)GUuQx$VpNez!k|qC>>DZZPW~4MxFFWra%#=l)dfCoB1pe8f zm-X94;5`DFZxeWnz?=pGuM#*Y)2flcCG7<2JD@mBHW?7T=_W+v*5@aBMioiahbQ#< zzUgDV3vS-Fek3bG+0%bFQSt?IWQrX-=FK^}%YCN>>?bvKok`+7LBCIaQK!sa`5s^#&9AsJ^P7$^@6>9>9DgL;cloHA0Q2 z{Ij^fVw^fhO;hKp3)J_NSItl})%TT8%~G>ffhtr#P>a?1Epyb!kFIFBsO938qL#~B z7Peg4GOuMp%iNX=)wwO_t4q{nDzoKsZpv7w=BfGWQgxA^(}I<2pk$*FREfTCW_@Vxed~H~CDYaf;2@dA+aeoz+{RojN}y zSBzZNC^fy$+2TRrKD^KO9ov^sh>6l~Tt7l9{vc_o;h^Ts>si5H-Z7f*Dt449QR#K6UHRi--0Zs)qX1ou11*ZjbW#)QVvXhNTTt z!+h$R;j4y^7%sJ4JL29EBS%Q6e`f#8zL^s0{<|S-Ru*exmQSr5RWxewC^gEbxXdWq zm94UUN{^m1I(f7j?Nk0S7mevXMvd{QWoOJiBjpTrhELs=b4gC$9F^l!x1Txh%zkI8 zGkt1#?)==;T$Srn-#hDqv+R1#8armJ9V#BTW?XmOc4+DN)#Eb-G1QMHESWHTf|}q{ zWfK=q^h{I}ed?x31(T8{sYyOnGWn{>8I#pypSm$`cAhg&<@wYdQ!bk_V2YaJQ$L(~ z>D2yH)l{FFaE@1O()pV-ZRRvPH2K``pKFJ@f6qSu?DM`->T{qMB+@2N%VI<<^A zuewrQuWltYLtUkc)op}kg045H+X;Oiw7pR+C*)ICtDDph3C&VV)XnM+LbKI1>K1h; zp#rs3X_=*<`nAfh?jrPUe;1v9k+^2cR%-6_xsrg;#rYSju!JUFGVv0L<8R)yd1|Hk zI{)1H5|ORcrRQC$0uma3+4##Oj=#&NT&{xV>w>8ZBqCd>h370(B_?!5-WBn~=2Ar98ui_fjww|O%)(7k6V?B;0Ws9yM zAzeaxS0@r_94g`(Y>=4mab8sf&dB?EdwjD$J=MXlJn}9CnpK=@&hjY5TH3@q%-q2}D zovY9vpbs)9!;nf5APMIOvA2#`>)x;3hl=lg(+YSjM}eFef79;}mnP-(j0TjW38k6k z-khX0D@Z7spLTOtFOxTOJh(^O-~0f!Nlp&%u_nDn#z{&u-FX6CGr7xKPElMA?gcO) zfTg6Zj-r%?sFQbuq=>n2nhZ<_QZb@UQ?&}{?*Q1fR7wrO+0-okJzE|+l?Pl7s|gb5F|FJ@*Q1-G_-t6w(#|F>94Ji8V4oikgRm#*A1qXA{$zE>SNZt zEp1&WWfF_O%H2q}ekZIB2M0yW1~6-uiAF1(Q|xmmRSo#_Y7j%*Qg00o=|aH`FSnVp z-)ME64^F#qeA`LtQy3)ViUa|mJUwrJ=n$s(JCEuilL9=u&|H& z;8o)tv3_4?l-9xy`)g4dZ(#e=5XiB^>SB82>S;|+~>-4_RIb%GF2i2?jcE+N*1JB8}{S6 z@3A&PjGlj8KrBDB+MYrf=7Q4rXtvejez1EiD(Js;>BjNHYvfI4@}M^rE5cF6r}%jD zvS?ItJhGR8E7ythr01!a$#v@ZRE zk5-FFA$s_iI3C$;ikd$PT@+2V#a{`})y5FgAr_x}49J8?mo&CrL__JN#=EyGxqJ zti>M`bBGySR8b=qYIMhXb4jSd^cqQxYR+jS1* zrh(}D8>m)1-xzJSZHQrNGpb`0+;(nAV*@7qf1y&bKiEStIIt8hd7S}-X+oOLZxp)L z$WGH(bU^9s&q1V95qNNPIey)bT^i#u3nQeKA>6q^FKvrw@Uo?hV_vt4S{1tc7p27XgGFTOGKW%Ix*>>5Vns@U^C&5>#dK!Oi`zlBj6JtmQODZa*}2N@-v^D zrrHc}fi8j-A$er2hlNwR$sh@#u0OpjdplI;*)Mub7$zZgL2IBpeL(|pOIbA!*Ox_T zOE6$c__|~Tv%R9&L@9so%Awdl4VGB^%j9ofDa8MH{*e-KR=EX(8XPZxxW>hC26IS` z4oFf6wHQFyJ~2^qx}SfIm~A9J-CZ)4@vLe8jnB&anMR?VyM$1RFzm#i1Vy%Zx}o^m zB|G%8q1)*6%b(lUj_Ay$IZDqr7wY_3VTQ|fI+f-!oskY}w8LDaGuYvN;IArfPq5@y z%p+0oQEHR9Gv|ORJ=ffr6XU*|XE43zwwzDVO>tQcKWSK)a$OET9_$Bw>EyQW%XyKM z+?Mkk4-Be)%Y&P8#A7TM_?P4|ok={nOy?{SUcFs{5hY%Vg{L|q znh$AJC^kqM0JlLEpdCiLy2)=lP<<^Ez+NOJrRoPlq@2DvxF4DJmF@gIP)0=l=F(Rs;)F!}$c}hHB2G!f zYCGb|cq^-}74LR$(OTLQ{Yu~yZ%eQu0b}zKNQDGaq~6aB5y`ci8=~Tx-l_ZS%YC9+ z)w#s1IaQ3Bg~Znss$RNJ6RH1Y_r1DSn&Q{Db2dd>1g)3X%6(Aay!g0Vb@jpfT{6sCQ=Nb4a~*7emZ<=V78pfNwr6ska43S>KilWZl|ySjQQh#HGSeb znn-iZjX9kpO^lymXM0X?Bh|K7!NipU(6hC%Q=R=Gh*cv(CzAr`{ahS}KPkuIMe4ds zcy(Dfz5KvZHIK9M=HFM=F%oi4QTGzn#UFr;P z$HTukZ-j3&e3Bx+%@5Acw6mq5w-Ym2whcP}l^{pFPxe}4ywvuhs~Fk2pDWDlWimJY zC+vlX$}*F&uiYQ$AKT~cgvw#FLH)JOG)hoQ|K>5kNH9f|%Wc;E9Sp^Jax2WSz>35` zU?pC$#|%VpslRF|F4KW#8b?h0m9TvVvgNRd<=av)2iVupPSC#WsVY6E;RJ67vf(zg z`=!lXSoAXr67N>g03m6y%;jZ-W9v`X*ALLqEkBV3q%dcyGG^#`x*j_cV}?G-Hj^{3 zAmOJ!jq9g+oJ)Zh;8;o;atxGRPHsqw-L)Z za&BTHqF&j7P}kg0==k*|MwRD?ohS1#`qpEVhO$;1TZpa}AJj&fe=#8pH^jFALU2^t zk$J{QBuOToZUXxfe|lNr4yqmzo3!!pJ?zCsxTmnuIm8*}zwFj;9X!^UjU5Rb3am3d zs(Z7w;1eHU+s$v{GzRLVC)=QJM(-^QW8_^@_t}jL+m*?}u{q?-hW-tSq_0i8*hC$@ zhYq{{=A?r_8*2LWDmc&~R?R3*b~cz=v@zxD3&2a~-Iy2BScy_N3pZAsQ0$=*hIqNGxf z7pha7oY*}6yH)V6AT8$gZpJ-Uk~iuO-`>mmelnPmiCxpMy9Z%wi33M>#dyh-2GcSS zV4&-;;S*f|E*nPeKK8^`TJk3k+gFr{Sx&6geEGpKbhF2LF*tu;C7!XkyrR6_=?*`l ztUbLN*AZCy0aaw=v<@E&4@(y!{>v~yF_V`L$IRCP>z{3@8 zSXEGWIW<&g)UTqRXIF_CSmTjV?h09RusN0Bt=-u}ulEu@-rg7B2b)Sg#Z+p|v>W6L zWOx?@&hVb=t~jR`<zfEay~@~JxZ@wKNh->T$#6m%A0>ykS(|UlY!kqqUomdIY&*@JQ-1GH3Z{JeZc)Ki4b5TsW zb)idkNBtEVWtWalWQ4gbCO+Q9KZa~TYx_w-sJ5jz>W8IRN*l?c3TbGt$;mP z`(?H$lxp|Yi!;P2$EI|C@jF}T-q1s*`s|kpovP^BfWmWt#5!_HC{T&!kd1Pc^pSB_ zrz~V76R{iT6mk@M7RKfstO0x^L7upAfXqLq)huUaGR25@o#N;ProCU$aIB37mW+tW z0iN)SY)l?8_JK#t8IB(~tQX{Nx85Dw0&eTCxTRo|{BObGv25zQi>HzeTz`l6bs5}V z)-tC_`K6@npuAF!J6DC&djN`I75kS(U`xH+n}~l)S~bv{RATaS3JK{?k2G?}qP2;3 z+F9h<4tR`*ZM>{Nq{$lEA8Z_Gy>}9W=7C&=DQ!ryKKWV;X%T09bIDLNkoHz)oCW*B z=5HLESFXb~jc^3!-aSyxH#He?OZ}&GAT~2mw_E|KqYk_7;Iu@|X=WLhsVV_CfplvD zcU}T2C?7d?fzD$MY7nZtTd;45^tw>LX5-`XbP;W+v@ zN-{tnkMaucD5OSay-km$pN2~w(m?yf?nf|-CyquS=Vd|)zbrwNu_}GRtV@f6cSx`3 zOa7jFZ}RK%Ri42m*Q|R@B3Bs`A2tZ-dTnz%f_M8UOyaPIfd=A6xiOD9Z-m$Y9#YzA z)6GmN-w;q5!j4j`llw~d;^e4&i+E^A$WP;D?3GQNYX{}z)Gs19OfRPLWUKO<=*nz% zCcTBk84=Ngvj4Z;CPys&R)Zeh1e005)rnvFu3}#s#?Cdn0c`y90n1yZmz^Ww4F{|b zj)YD{+~L4S2xpHHRdb+gv0Zy;DNMDjw?Z)RXoE+$8ebi6Hfvm%vlM<0p5qnx5lIQs zMEh2Wj4#2UAml`uC^w%bh>;^It9lc8A#_W}0H<6Q(WgY%5NwHF7Wnohk1wiY>{Jmyg zHZR6S(Dyjfa(6$@&G_{h)Ehfr1S)F}bfWL0`Al4VC}AdsL@hO^gwd=PNm_*JF*9yv z^%<9*6MR9A-Nc1_-?QtI+Zg3oHKx;hkYth&;!5KW(D(z%v|#=ap$F+AN=1-_nWNdc zh$$$yCa(QRj)wq)#7XIbk}YVrSj-Qiy}oST5i4>m*}1xlCid6NnW#(3Tsw5 z62RhR(a0`PjThqu*;S#D=3?9YwjiZ%F{9jtDcZfQhY)Se+TX2x@$t25)^zUgZ2Giw z&GL?pj@8pqgHB&JYFwylg`dhn@Hcu?3_JYdsS!C<1fDWcvGjl zxBK3mJ9n0OwbowG8qfF7`F>vBilZ&}-E`kgH~Cu|9$(`9^i%JW$3rdc9qlb4hCk`pq2d1YmJC@t0U<)R`~JUjTeT;;89 zC`)appyr*PJl(9OFP~oW-p&$LT-;#NdGd;ji}O5+{~p4Oo43=e`IMJ;iURGwJo$ix zGx5iVlhW1o>pI+S1 z4p`NxofJShWxU8cKdVzcE2Q3@|BIy-X`iW{77&)2r5=y;cXjgzAAHbIrt&D@)XtrV zfAwmuPcfXpjqz+>&NwV@R~Lm@|nL=QXj?VDRS@WI81pILRk_|6UtOa^E%H|>MNt(;^HzToli}6sxm=rpGG$(v|MEhVDv_?qp8%q{LxoN~ z&6%nFdf6XnlU4SfTvb<>i>ZD;vCo6-Lt(gY`7Yb|zOKf^Hm%poZahT#19%_9DVnSt zFh1~dHsjMbVpHlA*5ovn$YD@Qb4wJay%H2teUuXsbc&({>$z7}YV1wpvZvGpP16gP2IK0# j3w}&YL{-oXPq55Q+Z-$_C^5 diff --git a/docs/www/emulator/vgabios.bin b/docs/www/emulator/vgabios.bin deleted file mode 100644 index f3151416fe3a6a091056f7c3a69ee044c8066a44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39424 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

c-1ix_+8ZchvZnz^&l-)5;dZuF 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 CHJc3p diff --git a/docs/www/index.html b/docs/www/index.html index 5234d1f41..ee0a50064 100644 --- a/docs/www/index.html +++ b/docs/www/index.html @@ -523,7 +523,7 @@ minimal_linux_live_28-Jan-2018_src.tar.xz - from GitHub.

  • - minimal_linux_live_28-Jan-2018_src.tar.xz - from this website. + minimal_linux_live_28-Jan-2018_src.tar.xz - from this website.
  • @@ -540,17 +540,17 @@ minimal_linux_live_28-Jan-2018_32-bit_bios.iso - 32-bit ISO image from GitHub.
  • - minimal_linux_live_28-Jan-2018_64-bit_bios.iso - 64-bit ISO image from this website. + minimal_linux_live_28-Jan-2018_64-bit_bios.iso - 64-bit ISO image from this website.
  • - minimal_linux_live_28-Jan-2018_32-bit_bios.iso - 32-bit ISO image from this website. + minimal_linux_live_28-Jan-2018_32-bit_bios.iso - 32-bit ISO image from this website.
  • - You can browse the GitHub releases or browse the download directory in this website where you will find all source archives and pre-built ISO images with support for BIOS, UEFI and mixed BIOS/UEFI. + You can browse the GitHub releases or browse the download directory in this website where you will find all source archives and pre-built ISO images with support for BIOS, UEFI and mixed BIOS/UEFI.