diff --git a/configs/pc/machines/5160/cga/256kb/demo/debugger/machine.xml b/configs/pc/machines/5160/cga/256kb/demo/debugger/machine.xml index 29e33955f..4a487c5f4 100644 --- a/configs/pc/machines/5160/cga/256kb/demo/debugger/machine.xml +++ b/configs/pc/machines/5160/cga/256kb/demo/debugger/machine.xml @@ -1,9 +1,9 @@ - IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive - - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive + + diff --git a/configs/pc/machines/5170/ega/1152kb/rev1/machine.xml b/configs/pc/machines/5170/ega/1152kb/rev1/machine.xml index f6a2fcfb4..dd20efcdf 100644 --- a/configs/pc/machines/5170/ega/1152kb/rev1/machine.xml +++ b/configs/pc/machines/5170/ega/1152kb/rev1/machine.xml @@ -4,7 +4,7 @@ IBM PC AT, 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk - + diff --git a/configs/pc/machines/5170/ega/1152kb/rev3/machine.xml b/configs/pc/machines/5170/ega/1152kb/rev3/machine.xml index c4ade3c9c..bff7f34ec 100644 --- a/configs/pc/machines/5170/ega/1152kb/rev3/machine.xml +++ b/configs/pc/machines/5170/ega/1152kb/rev3/machine.xml @@ -4,7 +4,7 @@ IBM PC AT (Rev 3), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk - + diff --git a/devices/pc/bios/5170/1985-11-15.json b/devices/pc/bios/5170/1985-11-15.json index 677b2b22d..12b43218f 100644 --- a/devices/pc/bios/5170/1985-11-15.json +++ b/devices/pc/bios/5170/1985-11-15.json @@ -1023,4 +1023,4 @@ 0,0,0,0,-822083584,4958953,216530944,-1259812051,1156107052,-773207253,53,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,14703594,791753200,942617905,-1979973579] -,"symbols":{"POST1_TEST01":{"o":80,"s":61440,"c":"TEST.01: 286 PROCESSOR TEST (REAL MODE)"},"POST1_TEST02":{"o":391,"s":61440,"c":"TEST.02: ROM CHECKSUM TEST"},"POST1_TEST03":{"o":419,"s":61440,"c":"TEST.03: VERIFY CMOS SHUTDOWN BYTE"},"POST1_TEST04":{"o":457,"s":61440,"c":"TEST.04: 8254 CHECK TIMER 1 (ALL BITS ON)"},"POST1_TEST05":{"o":503,"s":61440,"c":"TEST.05: 8254 CHECK TIMER 1 (ALL BITS OFF)"},"POST1_TEST06":{"o":541,"s":61440,"c":"TEST.06: 8237 DMA 0 INITIALIZATION"},"POST1_TEST07":{"o":607,"s":61440,"c":"TEST.07: 8237 DMA 1 INITIALIZATION"},"POST1_TEST08":{"o":724,"s":61440,"c":"TEST.08: DMA PAGE REGISTER TEST"},"POST1_TEST09":{"o":807,"s":61440,"c":"TEST.09: STORAGE REFRESH TEST"},"POST1_TEST10":{"o":829,"s":61440,"c":"TEST.10: 8042 INTERFACE TEST"},"POST1_TEST11":{"o":951,"s":61440,"c":"TEST.11: BASE 64K R/W STORAGE TEST"},"POST1_TEST11A":{"o":1494,"s":61440,"c":"TEST.11A: VERIFY GDT/IDT INSTRUCTIONS"},"POST1_TEST12":{"o":1726,"s":61440,"c":"TEST.12: VERIFY CMOS CHECKSUM"},"POST1_TEST13":{"o":1920,"s":61440,"c":"TEST.13: PROTECTED MODE TEST"},"POST1_TEST13A":{"o":2158,"s":61440,"c":"TEST.13A: MEMORY SIZE TEST (ABOVE 1024K)"},"POST1_TEST14":{"o":2713,"s":61440,"c":"TEST.14: INITIALIZE CRT CONTROLLER"},"POST1_TEST15":{"o":2829,"s":61440,"c":"TEST.15: VIDEO LINE TEST"},"POST1_TEST16":{"o":2845,"s":61440,"c":"TEST.16: CRT INTERFACE LINES TEST"},"MFG_BOOT":{"o":3109,"s":61440,"c":"MANUFACTURING BOOT TEST CODE ROUTINE"}}} \ No newline at end of file +,"symbols":{"POST1_TEST01":{"o":80,"s":61440,"c":"TEST.01: 286 PROCESSOR TEST (REAL MODE)"},"POST1_TEST02":{"o":391,"s":61440,"c":"TEST.02: ROM CHECKSUM TEST"},"POST1_TEST03":{"o":419,"s":61440,"c":"TEST.03: VERIFY CMOS SHUTDOWN BYTE"},"POST1_TEST04":{"o":457,"s":61440,"c":"TEST.04: 8254 CHECK TIMER 1 (ALL BITS ON)"},"POST1_TEST05":{"o":503,"s":61440,"c":"TEST.05: 8254 CHECK TIMER 1 (ALL BITS OFF)"},"POST1_TEST06":{"o":541,"s":61440,"c":"TEST.06: 8237 DMA 0 INITIALIZATION"},"POST1_TEST07":{"o":607,"s":61440,"c":"TEST.07: 8237 DMA 1 INITIALIZATION"},"POST1_TEST08":{"o":724,"s":61440,"c":"TEST.08: DMA PAGE REGISTER TEST"},"POST1_TEST09":{"o":807,"s":61440,"c":"TEST.09: STORAGE REFRESH TEST"},"POST1_TEST10":{"o":829,"s":61440,"c":"TEST.10: 8042 INTERFACE TEST"},"POST1_TEST11":{"o":951,"s":61440,"c":"TEST.11: BASE 64K R/W STORAGE TEST"},"POST1_TEST11A":{"o":1494,"s":61440,"c":"TEST.11A: VERIFY GDT/IDT INSTRUCTIONS"},"POST1_TEST12":{"o":1726,"s":61440,"c":"TEST.12: VERIFY CMOS CHECKSUM"},"POST1_TEST13":{"o":1920,"s":61440,"c":"TEST.13: PROTECTED MODE TEST"},"POST1_TEST13A":{"o":2158,"s":61440,"c":"TEST.13A: MEMORY SIZE TEST (ABOVE 1024K)"},"POST1_TEST14":{"o":2713,"s":61440,"c":"TEST.14: INITIALIZE CRT CONTROLLER"},"POST1_TEST15":{"o":2829,"s":61440,"c":"TEST.15: VIDEO LINE TEST"},"POST1_TEST16":{"o":2845,"s":61440,"c":"TEST.16: CRT INTERFACE LINES TEST"},"MFG_BOOT":{"o":3109,"s":61440,"c":"MANUFACTURING BOOT TEST CODE ROUTINE"},"POST2":{"o":3220,"s":61440},"POST2_CHK_HFNUM":{"o":5372,"s":61440,"c":"CHECK FOR SECOND FIXED DISK PRESENT BUT NOT DEFINED"},"POST3":{"o":5749,"s":61440},"POST4":{"o":6469,"s":61440},"CMOS_READ":{"o":6469,"s":61440},"CMOS_WRITE":{"o":6495,"s":61440},"DDS":{"o":6521,"s":61440},"E_MSG":{"o":6529,"s":61440},"ERR_BEEP":{"o":6582,"s":61440},"BEEP":{"o":6644,"s":61440},"WAITF":{"o":6714,"s":61440,"c":"FIXED TIME WAIT (CX = COUNT OF 15.085737us INTERVALS TO WAIT)"},"CONFIG_BAD":{"o":6729,"s":61440},"XPC_BYTE":{"o":6749,"s":61440},"PRT_SEG":{"o":6772,"s":61440},"PROT_PRT":{"o":6793,"s":61440},"ROM_CHECKSUM":{"o":6837,"s":61440},"ROM_CHECK":{"o":6849,"s":61440},"KBD_RESET":{"o":6899,"s":61440},"BLINK_INT":{"o":6942,"s":61440},"SET_TOD":{"o":6956,"s":61440},"POST5":{"o":7230,"s":61440},"POST6":{"o":7867,"s":61440},"XMIT_8042":{"o":8167,"s":61440},"BOOT_STRAP_1":{"o":8232,"s":61440},"DISKETTE_IO_1":{"o":8521,"s":61440},"DISK_RESET":{"o":8656,"s":61440},"SEND_SPEC":{"o":9397,"s":61440},"SETUP_END":{"o":10462,"s":61440},"SETUP_DBL":{"o":10488,"s":61440,"c":"CHECK DOUBLE STEP"},"READ_ID":{"o":10588,"s":61440},"MOTOR_ON":{"o":10655,"s":61440},"NEC_OUTPUT":{"o":10877,"s":61440},"SEEK":{"o":10921,"s":61440},"RESULTS":{"o":11118,"s":61440},"WAIT_INT":{"o":11078,"s":61440},"DISK_INT_1":{"o":11230,"s":61440},"DSKETTE_SETUP":{"o":11253,"s":61440},"DISK_SETUP":{"o":11337,"s":61440},"DISK_IO":{"o":11762,"s":61440},"TST_RDY":{"o":12472,"s":61440,"c":"TEST HARD DISK READY (AH = 0x10)"},"NOT_BUSY":{"o":12892,"s":61440},"CHECK_ST":{"o":12971,"s":61440}}} \ No newline at end of file diff --git a/devices/pc/bios/5170/1985-11-15.map b/devices/pc/bios/5170/1985-11-15.map index 79520b5f8..6f02931aa 100644 --- a/devices/pc/bios/5170/1985-11-15.map +++ b/devices/pc/bios/5170/1985-11-15.map @@ -17,3 +17,70 @@ F000:0B0D @ POST1_TEST15 ; TEST.15: VIDEO LINE TEST F000:0B1D @ POST1_TEST16 ; TEST.16: CRT INTERFACE LINES TEST F000:0C25 @ MFG_BOOT ; MANUFACTURING BOOT TEST CODE ROUTINE +; +; IBM's 11/15/85 ROM BIOS listing shows POST2 located at offset 0C96; it's actual location is 0C94. +; + 0C94 + + F000:0000 @ POST2 + F000:0868 @ POST2_CHK_HFNUM ; CHECK FOR SECOND FIXED DISK PRESENT BUT NOT DEFINED +; +; IBM's 11/15/85 ROM BIOS listing shows POST3 located at offset 1671; it's actual location is 1675. +; + 1675 + + F000:0000 @ POST3 +; +; IBM's 11/15/85 ROM BIOS listing shows POST4 located at offset 1941; it's actual location is 1945. +; + 1945 + + F000:0000 @ POST4 + F000:0000 @ CMOS_READ + F000:001A @ CMOS_WRITE + F000:0034 @ DDS + F000:003C @ E_MSG + F000:0071 @ ERR_BEEP + F000:00AF @ BEEP + F000:00F5 @ WAITF ; FIXED TIME WAIT (CX = COUNT OF 15.085737us INTERVALS TO WAIT) + F000:0104 @ CONFIG_BAD + F000:0118 @ XPC_BYTE + F000:012F @ PRT_SEG + F000:0144 @ PROT_PRT + F000:0170 @ ROM_CHECKSUM + F000:017C @ ROM_CHECK + F000:01AE @ KBD_RESET + F000:01D9 @ BLINK_INT + F000:01E7 @ SET_TOD +; +; IBM's 11/15/85 ROM BIOS listing shows POST5 located at offset 1C38; it's actual location is 1C3E. +; + 1C3E + + F000:0000 @ POST5 +; +; IBM's 11/15/85 ROM BIOS listing shows POST6 located at offset 1EB5; it's actual location is 1EBB. +; + 1EBB + + F000:0000 @ POST6 + F000:012C @ XMIT_8042 + F000:016D @ BOOT_STRAP_1 +; +; IBM's 11/15/85 ROM BIOS listing shows DISKETTE_IO_1 located at offset 2143; it's actual location is 2149. +; + 20E9 + + F000:0060 @ DISKETTE_IO_1 + F000:00E7 @ DISK_RESET + F000:03CC @ SEND_SPEC + F000:07F5 @ SETUP_END + F000:080F @ SETUP_DBL ; CHECK DOUBLE STEP + F000:0873 @ READ_ID + F000:08B6 @ MOTOR_ON + F000:0994 @ NEC_OUTPUT + F000:09C0 @ SEEK + F000:0A85 @ RESULTS + F000:0A5D @ WAIT_INT + F000:0AF5 @ DISK_INT_1 + F000:0B0C @ DSKETTE_SETUP + F000:0B60 @ DISK_SETUP + F000:0D09 @ DISK_IO + 2C69 + + F000:044F @ TST_RDY ; TEST HARD DISK READY (AH = 0x10) + F000:05F3 @ NOT_BUSY + F000:0642 @ CHECK_ST \ No newline at end of file diff --git a/my_modules/pcjs-client/lib/chipset.js b/my_modules/pcjs-client/lib/chipset.js index 190be0cd9..e6149b361 100644 --- a/my_modules/pcjs-client/lib/chipset.js +++ b/my_modules/pcjs-client/lib/chipset.js @@ -53,7 +53,7 @@ if (typeof module !== 'undefined') { * scaleTimers: true to divide timer cycle counts by the CPU's cycle multiplier (default is false) * fdrives: 0-4 floppy drives (default is 2 if no sw1 value provided) * monitor: none|tv|color|mono (default is mono if no sw1 value provided) - * rtcDate: optional RTC date to be used on resets; use the ISO 8601 format; eg: "2011-10-10T14:48:00" + * rtcDate: optional RTC date to be used on resets; use the ISO 8601 format; eg: "2014-10-01T08:00:00-0700" * * The conventions used for the sw1 and sw2 strings are that the left-most character represents DIP switch [1], * the right-most character represents DIP switch [8], and "1" means the DIP switch is ON and "0" means it is OFF. @@ -78,7 +78,7 @@ if (typeof module !== 'undefined') { * * For example, sw1="01110011" indicates that all SW1 DIP switches are ON, except for SW1[1], SW1[5] and SW1[6], * which are OFF. Internally, the order of these bits must reversed (to 11001110) and then inverted (to 00110001) - * to yield the value that the 8255A PPI returns. Reading the final value right-to-left, 00110001 indicates an + * to yield the value that the 8255A PPI returns. Reading the final value right-to-left, 00110001 indicates an * IPL floppy drive, 1X of RAM (where X is 16Kb on a MODEL_5150 and 64Kb on a MODEL_5160), MDA, and 1 floppy drive. * * WARNING: It is possible to set SW1 to indicate more memory than the RAM component has been configured to provide. @@ -247,33 +247,41 @@ function ChipSet(parmsChipSet) Component.subclass(Component, ChipSet); /* - * Supported Models + * Supported Models + * + * Unless otherwise noted, all BIOS references refer to the *original* BIOS released with each model */ -ChipSet.MODEL_5150 = 5150; -ChipSet.MODEL_5160 = 5160; -ChipSet.MODEL_5170 = 5170; +ChipSet.MODEL_5150 = 5150; // used in reference to the 1st 5150 BIOS, dated Apr 24, 1981 +ChipSet.MODEL_5160 = 5160; // used in reference to the 1st 5160 BIOS, dated Nov 8, 1982 +ChipSet.MODEL_5170 = 5170; // used in reference to the 1st 5170 BIOS, dated Jan 10, 1984 +/* + * The following are fake model numbers, used only to document issues/features of note in later BIOS revisions + */ +ChipSet.MODEL_5170_REV2 = 5170.2; // used in reference to the 2nd 5170 BIOS, dated Jun 10, 1985 +ChipSet.MODEL_5170_REV3 = 5170.3; // used in reference to the 3rd 5170 BIOS, dated Nov 15, 1985 /* * Values returned by ChipSet.getSWVideoMonitor() */ -ChipSet.MONITOR = {}; -ChipSet.MONITOR.NONE = 0; -ChipSet.MONITOR.TV = 1; // Composite monitor (lower resolution; no support) -ChipSet.MONITOR.COLOR = 2; // Color Display (5153) -ChipSet.MONITOR.MONO = 3; // Monochrome Display (5151) -ChipSet.MONITOR.EGACOLOR = 4; // Enhanced Color Display (5154) in High-Res Mode -ChipSet.MONITOR.EGAEMULATION = 5; // Enhanced Color Display (5154) in Emulation Mode +ChipSet.MONITOR = { + NONE: 0, + TV: 1, // Composite monitor (lower resolution; no support) + COLOR: 2, // Color Display (5153) + MONO: 3, // Monochrome Display (5151) + EGACOLOR: 4, // Enhanced Color Display (5154) in High-Res Mode + EGAEMULATION: 6 // Enhanced Color Display (5154) in Emulation Mode +}; /* - * Lookup table for converting ChipSet "monitor" parameter into the corresponding SW1 switch bits + * Lookup table for converting ChipSet "monitor" values into the corresponding SW1 switch bits * (they must be shifted left by ChipSet.PPI_SW.MONITOR.SHIFT before OR'ing them into sw1/sw1Init). */ ChipSet.aMonitorSwitches = { - "none": 0x0, - "tv": 0x1, - "color":0x2, - "mono": 0x3, - "ega": 0x0 + "none": 0x0, + "tv": 0x1, + "color": 0x2, + "mono": 0x3, + "ega": 0x0 }; /* @@ -289,92 +297,100 @@ ChipSet.aMonitorSwitches = { * For FDC DMA notes, refer to: http://wiki.osdev.org/ISA_DMA * For general DMA notes, refer to: http://www.freebsd.org/doc/en/books/developers-handbook/dma.html */ -ChipSet.DMA0 = {}; -ChipSet.DMA0.INDEX = 0; -ChipSet.DMA0.PORT_CH0_ADDR = 0x00; // OUT: starting address IN: current address -ChipSet.DMA0.PORT_CH0_COUNT = 0x01; // OUT: starting word count IN: remaining word count -ChipSet.DMA0.PORT_CH1_ADDR = 0x02; // OUT: starting address IN: current address -ChipSet.DMA0.PORT_CH1_COUNT = 0x03; // OUT: starting word count IN: remaining word count -ChipSet.DMA0.PORT_CH2_ADDR = 0x04; // OUT: starting address IN: current address -ChipSet.DMA0.PORT_CH2_COUNT = 0x05; // OUT: starting word count IN: remaining word count -ChipSet.DMA0.PORT_CH3_ADDR = 0x06; // OUT: starting address IN: current address -ChipSet.DMA0.PORT_CH3_COUNT = 0x07; // OUT: starting word count IN: remaining word count -ChipSet.DMA0.PORT_CMD_STATUS = 0x08; // OUT: command register IN: status register -ChipSet.DMA0.PORT_REQUEST = 0x09; -ChipSet.DMA0.PORT_MASK = 0x0A; -ChipSet.DMA0.PORT_MODE = 0x0B; -ChipSet.DMA0.PORT_CLEAR_FF = 0x0C; -ChipSet.DMA0.PORT_MASTER_CLR = 0x0D; -ChipSet.DMA0.PORT_CLEAR_MASK = 0x0E; // TODO: Provide handlers -ChipSet.DMA0.PORT_ALL_MASK = 0x0F; // TODO: Provide handlers -ChipSet.DMA0.PORT_CH2_PAGE = 0x81; // OUT: DMA channel 2 page register -ChipSet.DMA0.PORT_CH3_PAGE = 0x82; // OUT: DMA channel 3 page register -ChipSet.DMA0.PORT_CH1_PAGE = 0x83; // OUT: DMA channel 1 page register -ChipSet.DMA0.PORT_CH0_PAGE = 0x87; // OUT: DMA channel 0 page register (unusable; See "The Inside Out" book, p.246) +ChipSet.DMA0 = { + INDEX: 0, + PORT: { + CH0_ADDR: 0x00, // OUT: starting address IN: current address + CH0_COUNT: 0x01, // OUT: starting word count IN: remaining word count + CH1_ADDR: 0x02, // OUT: starting address IN: current address + CH1_COUNT: 0x03, // OUT: starting word count IN: remaining word count + CH2_ADDR: 0x04, // OUT: starting address IN: current address + CH2_COUNT: 0x05, // OUT: starting word count IN: remaining word count + CH3_ADDR: 0x06, // OUT: starting address IN: current address + CH3_COUNT: 0x07, // OUT: starting word count IN: remaining word count + CMD_STATUS: 0x08, // OUT: command register IN: status register + REQUEST: 0x09, + MASK: 0x0A, + MODE: 0x0B, + CLEAR_FF: 0x0C, + MASTER_CLR: 0x0D, + CLEAR_MASK: 0x0E, // TODO: Provide handlers + ALL_MASK: 0x0F, // TODO: Provide handlers + CH2_PAGE: 0x81, // OUT: DMA channel 2 page register + CH3_PAGE: 0x82, // OUT: DMA channel 3 page register + CH1_PAGE: 0x83, // OUT: DMA channel 1 page register + CH0_PAGE: 0x87 // OUT: DMA channel 0 page register (unusable; See "The Inside Out" book, p.246) + } +}; +ChipSet.DMA1 = { + INDEX: 1, + PORT: { + CH6_PAGE: 0x89, // OUT: DMA channel 6 page register (MODEL_5170) + CH7_PAGE: 0x8A, // OUT: DMA channel 7 page register (MODEL_5170) + CH5_PAGE: 0x8B, // OUT: DMA channel 5 page register (MODEL_5170) + CH4_PAGE: 0x8F, // OUT: DMA channel 4 page register (MODEL_5170; unusable; aka "refresh" page register?) + CH4_ADDR: 0xC0, // OUT: starting address IN: current address + CH4_COUNT: 0xC2, // OUT: starting word count IN: remaining word count + CH5_ADDR: 0xC4, // OUT: starting address IN: current address + CH5_COUNT: 0xC6, // OUT: starting word count IN: remaining word count + CH6_ADDR: 0xC8, // OUT: starting address IN: current address + CH6_COUNT: 0xCA, // OUT: starting word count IN: remaining word count + CH7_ADDR: 0xCC, // OUT: starting address IN: current address + CH7_COUNT: 0xCE, // OUT: starting word count IN: remaining word count + CMD_STATUS: 0xD0, // OUT: command register IN: status register + REQUEST: 0xD2, + MASK: 0xD4, + MODE: 0xD6, + CLEAR_FF: 0xD8, + MASTER_CLR: 0xDA, + CLEAR_MASK: 0xDC, // TODO: Provide handlers + ALL_MASK: 0xDE // TODO: Provide handlers + } +}; -ChipSet.DMA1 = {}; -ChipSet.DMA1.INDEX = 1; -ChipSet.DMA1.PORT_CH6_PAGE = 0x89; // OUT: DMA channel 6 page register (MODEL_5170) -ChipSet.DMA1.PORT_CH7_PAGE = 0x8A; // OUT: DMA channel 7 page register (MODEL_5170) -ChipSet.DMA1.PORT_CH5_PAGE = 0x8B; // OUT: DMA channel 5 page register (MODEL_5170) -ChipSet.DMA1.PORT_CH4_PAGE = 0x8F; // OUT: DMA channel 4 page register (MODEL_5170; unusable; aka "refresh" page register?) -ChipSet.DMA1.PORT_CH4_ADDR = 0xC0; // OUT: starting address IN: current address -ChipSet.DMA1.PORT_CH4_COUNT = 0xC2; // OUT: starting word count IN: remaining word count -ChipSet.DMA1.PORT_CH5_ADDR = 0xC4; // OUT: starting address IN: current address -ChipSet.DMA1.PORT_CH5_COUNT = 0xC6; // OUT: starting word count IN: remaining word count -ChipSet.DMA1.PORT_CH6_ADDR = 0xC8; // OUT: starting address IN: current address -ChipSet.DMA1.PORT_CH6_COUNT = 0xCA; // OUT: starting word count IN: remaining word count -ChipSet.DMA1.PORT_CH7_ADDR = 0xCC; // OUT: starting address IN: current address -ChipSet.DMA1.PORT_CH7_COUNT = 0xCE; // OUT: starting word count IN: remaining word count -ChipSet.DMA1.PORT_CMD_STATUS = 0xD0; // OUT: command register IN: status register -ChipSet.DMA1.PORT_REQUEST = 0xD2; -ChipSet.DMA1.PORT_MASK = 0xD4; -ChipSet.DMA1.PORT_MODE = 0xD6; -ChipSet.DMA1.PORT_CLEAR_FF = 0xD8; -ChipSet.DMA1.PORT_MASTER_CLR = 0xDA; -ChipSet.DMA1.PORT_CLEAR_MASK = 0xDC; // TODO: Provide handlers -ChipSet.DMA1.PORT_ALL_MASK = 0xDE; // TODO: Provide handlers +ChipSet.DMA_CMD = { + M2M_ENABLE: 0x01, + CH0HOLD_ENABLE: 0x02, + CTRL_DISABLE: 0x04, + COMP_TIMING: 0x08, + ROT_PRIORITY: 0x10, + EXT_WRITE_SEL: 0x20, + DREQ_ACTIVE_LO: 0x40, + DACK_ACTIVE_HI: 0x80 +}; -ChipSet.DMA_CMD = {}; -ChipSet.DMA_CMD.M2M_ENABLE = 0x01; -ChipSet.DMA_CMD.CH0HOLD_ENABLE = 0x02; -ChipSet.DMA_CMD.CTRL_DISABLE = 0x04; -ChipSet.DMA_CMD.COMP_TIMING = 0x08; -ChipSet.DMA_CMD.ROT_PRIORITY = 0x10; -ChipSet.DMA_CMD.EXT_WRITE_SEL = 0x20; -ChipSet.DMA_CMD.DREQ_ACTIVE_LO = 0x40; -ChipSet.DMA_CMD.DACK_ACTIVE_HI = 0x80; +ChipSet.DMA_MASK = { + CHANNEL: 0x03, + CHANNEL_SET: 0x04 +}; -ChipSet.DMA_MASK = {}; -ChipSet.DMA_MASK.CHANNEL = 0x03; -ChipSet.DMA_MASK.CHANNEL_SET = 0x04; +ChipSet.DMA_MODE = { + CHANNEL: 0x03, + XFER: 0x0C, + XFER_VERIFY: 0x00, + XFER_WRITE: 0x04, + XFER_READ: 0x08, + AUTOINIT: 0x10, + DECREMENT: 0x20, + MODE: 0xC0, + MODE_DEMAND: 0x00, + MODE_SINGLE: 0x40, + MODE_BLOCK: 0x80, + MODE_CASCADE: 0xC0 +}; -ChipSet.DMA_MODE = {}; -ChipSet.DMA_MODE.CHANNEL = 0x03; -ChipSet.DMA_MODE.XFER = 0x0C; -ChipSet.DMA_MODE.XFER_VERIFY = 0x00; -ChipSet.DMA_MODE.XFER_WRITE = 0x04; -ChipSet.DMA_MODE.XFER_READ = 0x08; -ChipSet.DMA_MODE.AUTOINIT = 0x10; -ChipSet.DMA_MODE.DECREMENT = 0x20; -ChipSet.DMA_MODE.MODE = 0xC0; -ChipSet.DMA_MODE.MODE_DEMAND = 0x00; -ChipSet.DMA_MODE.MODE_SINGLE = 0x40; -ChipSet.DMA_MODE.MODE_BLOCK = 0x80; -ChipSet.DMA_MODE.MODE_CASCADE = 0xC0; - -ChipSet.DMA_FDC = 0x02; // DMA channel assigned to the Floppy Drive Controller (FDC) -ChipSet.DMA_HDC = 0x03; // DMA channel assigned to the Hard Drive Controller (HDC; XTC only) +ChipSet.DMA_FDC = 0x02; // DMA channel assigned to the Floppy Drive Controller (FDC) +ChipSet.DMA_HDC = 0x03; // DMA channel assigned to the Hard Drive Controller (HDC; XTC only) /* * 8259A Programmable Interrupt Controller (PIC) I/O ports * * Internal registers: * - * ICW1 Initialization Command Word 1 (sent to port ChipSet.PIC.PORT_LO) - * ICW2 Initialization Command Word 2 (sent to port ChipSet.PIC.PORT_HI) - * ICW3 Initialization Command Word 3 (sent to port ChipSet.PIC.PORT_HI) - * ICW4 Initialization Command Word 4 (sent to port ChipSet.PIC.PORT_HI) + * ICW1 Initialization Command Word 1 (sent to port ChipSet.PIC_LO) + * ICW2 Initialization Command Word 2 (sent to port ChipSet.PIC_HI) + * ICW3 Initialization Command Word 3 (sent to port ChipSet.PIC_HI) + * ICW4 Initialization Command Word 4 (sent to port ChipSet.PIC_HI) * IMR Interrupt Mask Register * IRR Interrupt Request Register * ISR Interrupt Service Register @@ -397,56 +413,53 @@ ChipSet.DMA_HDC = 0x03; // DMA channel assigned to the Hard Driv * TODO: Consider support for level-triggered PIC interrupts, even though the original IBM PCs * (up through MODEL_5170) used only edge-triggered interrupts. */ -ChipSet.PIC0 = {}; // all models: the "master" PIC -ChipSet.PIC0.INDEX = 0; -ChipSet.PIC0.PORT_LO = 0x20; -ChipSet.PIC0.PORT_HI = 0x21; +ChipSet.PIC0 = { // all models: the "master" PIC + INDEX: 0, + PORT_LO: 0x20, + PORT_HI: 0x21 +}; -ChipSet.PIC1 = {}; // MODEL_5170 and up: the "slave" PIC -ChipSet.PIC1.INDEX = 1; -ChipSet.PIC1.PORT_LO = 0xA0; -ChipSet.PIC1.PORT_HI = 0xA1; +ChipSet.PIC1 = { // MODEL_5170 and up: the "slave" PIC + INDEX: 1, + PORT_LO: 0xA0, + PORT_HI: 0xA1 +}; -ChipSet.PIC_LO = {}; -ChipSet.PIC_LO.ICW1 = 0x10; // set means ICW1 -ChipSet.PIC_LO.ICW1_ICW4 = 0x01; // ICW4 needed (otherwise ICW4 must be sent) -ChipSet.PIC_LO.ICW1_SNGL = 0x02; // single PIC (and therefore no ICW3; otherwise there is another "cascaded" PIC) -ChipSet.PIC_LO.ICW1_ADI = 0x04; // call address interval is 4 (otherwise 8; presumably ignored in 8086/8088 mode) -ChipSet.PIC_LO.ICW1_LTIM = 0x08; // level-triggered interrupt mode (otherwise edge-triggered mode, which is what PCs use) +ChipSet.PIC_LO = { // ChipSet.PIC1.PORT_LO or ChipSet.PIC2.PORT_LO + ICW1: 0x10, // set means ICW1 + ICW1_ICW4: 0x01, // ICW4 needed (otherwise ICW4 must be sent) + ICW1_SNGL: 0x02, // single PIC (and therefore no ICW3; otherwise there is another "cascaded" PIC) + ICW1_ADI: 0x04, // call address interval is 4 (otherwise 8; presumably ignored in 8086/8088 mode) + ICW1_LTIM: 0x08, // level-triggered interrupt mode (otherwise edge-triggered mode, which is what PCs use) + OCW2: 0x00, // bit 3 (PIC_LO.OCW3) and bit 4 (ChipSet.PIC_LO.ICW1) are clear in an OCW2 command byte + OCW2_IR_LVL: 0x07, + OCW2_OP_MASK: 0xE0, // of the following valid OCW2 operations, the first 4 are EOI commands (all have ChipSet.PIC_LO.OCW2_EOI set) + OCW2_EOI: 0x20, // non-specific EOI (end-of-interrupt) + OCW2_EOI_SPEC: 0x60, // specific EOI + OCW2_EOI_ROT: 0xA0, // rotate on non-specific EOI + OCW2_EOI_ROTSPEC: 0xE0, // rotate on specific EOI + OCW2_SET_ROTAUTO: 0x80, // set rotate in automatic EOI mode + OCW2_CLR_ROTAUTO: 0x00, // clear rotate in automatic EOI mode + OCW2_SET_PRI: 0xC0, // bits 0-2 specify the lowest priority interrupt + OCW3: 0x08, // bit 3 (PIC_LO.OCW3) is set and bit 4 (PIC_LO.ICW1) clear in an OCW3 command byte (bit 7 should be clear, too) + OCW3_READ_IRR: 0x02, // read IRR register + OCW3_READ_ISR: 0x03, // read ISR register + OCW3_READ_CMD: 0x03, + OCW3_POLL_CMD: 0x04, // poll + OCW3_SMM_RESET: 0x40, // special mask mode: reset + OCW3_SMM_SET: 0x60, // special mask mode: set + OCW3_SMM_CMD: 0x60 +}; -ChipSet.PIC_HI = {}; -ChipSet.PIC_HI.ICW2_VECTOR = 0xF8; // starting vector number (bits 0-2 are effectively treated as zeros in 8086/8088 mode) - -ChipSet.PIC_HI.ICW4_8086 = 0x01; -ChipSet.PIC_HI.ICW4_AUTO_EOI = 0x02; -ChipSet.PIC_HI.ICW4_MASTER = 0x04; -ChipSet.PIC_HI.ICW4_BUFFERED = 0x08; -ChipSet.PIC_HI.ICW4_FULLY_NESTED= 0x10; - -/* - * Definitions for Operation Command Words (OCW1, OCW2 and OCW3) - */ -ChipSet.PIC_HI.OCW1_IMR = 0xFF; - -ChipSet.PIC_LO.OCW2 = 0x00; // bit 3 (PIC_LO.OCW3) and bit 4 (ChipSet.PIC_LO.ICW1) are clear in an OCW2 command byte -ChipSet.PIC_LO.OCW2_IR_LVL = 0x07; -ChipSet.PIC_LO.OCW2_OP_MASK = 0xE0; // of the following valid OCW2 operations, the first 4 are EOI commands (all have ChipSet.PIC_LO.OCW2_EOI set) -ChipSet.PIC_LO.OCW2_EOI = 0x20; // non-specific EOI (end-of-interrupt) -ChipSet.PIC_LO.OCW2_EOI_SPEC = 0x60; // specific EOI -ChipSet.PIC_LO.OCW2_EOI_ROT = 0xA0; // rotate on non-specific EOI -ChipSet.PIC_LO.OCW2_EOI_ROTSPEC = 0xE0; // rotate on specific EOI -ChipSet.PIC_LO.OCW2_SET_ROTAUTO = 0x80; // set rotate in automatic EOI mode -ChipSet.PIC_LO.OCW2_CLR_ROTAUTO = 0x00; // clear rotate in automatic EOI mode -ChipSet.PIC_LO.OCW2_SET_PRI = 0xC0; // bits 0-2 specify the lowest priority interrupt - -ChipSet.PIC_LO.OCW3 = 0x08; // bit 3 (PIC_LO.OCW3) is set and bit 4 (PIC_LO.ICW1) clear in an OCW3 command byte (bit 7 should be clear, too) -ChipSet.PIC_LO.OCW3_READ_IRR = 0x02; // read IRR register -ChipSet.PIC_LO.OCW3_READ_ISR = 0x03; // read ISR register -ChipSet.PIC_LO.OCW3_READ_CMD = 0x03; -ChipSet.PIC_LO.OCW3_POLL_CMD = 0x04; // poll -ChipSet.PIC_LO.OCW3_SMM_RESET = 0x40; // special mask mode: reset -ChipSet.PIC_LO.OCW3_SMM_SET = 0x60; // special mask mode: set -ChipSet.PIC_LO.OCW3_SMM_CMD = 0x60; +ChipSet.PIC_HI = { // ChipSet.PIC1.PORT_HI or ChipSet.PIC2.PORT_HI + ICW2_VECTOR: 0xF8, // starting vector number (bits 0-2 are effectively treated as zeros in 8086/8088 mode) + ICW4_8086: 0x01, + ICW4_AUTO_EOI: 0x02, + ICW4_MASTER: 0x04, + ICW4_BUFFERED: 0x08, + ICW4_FULLY_NESTED: 0x10, + OCW1_IMR: 0xFF +}; /* * The priorities of IRQs 0-7 are normally high to low, unless the master PIC has been reprogrammed. @@ -465,57 +478,62 @@ ChipSet.PIC_LO.OCW3_SMM_CMD = 0x60; * the master PIC. As a result, the two other system board interrupts, IRQ0 and IRQ1, continue to have the * highest priority, by default. */ -ChipSet.IRQ = {}; -ChipSet.IRQ.TIMER0 = 0x00; -ChipSet.IRQ.KBD = 0x01; -ChipSet.IRQ.SLAVE = 0x02; -ChipSet.IRQ.COM2 = 0x03; -ChipSet.IRQ.COM1 = 0x04; -ChipSet.IRQ.XTC = 0x05; // MODEL_5160 uses this for its HDC; MODEL_5170 designates it for LPT2 -ChipSet.IRQ.FDC = 0x06; -ChipSet.IRQ.LPT1 = 0x07; -ChipSet.IRQ.RTC = 0x08; -ChipSet.IRQ.IRQ2 = 0x09; -ChipSet.IRQ.COPROC = 0x0D; -ChipSet.IRQ.ATC = 0x0E; // MODEL_5170 uses this for its HDC +ChipSet.IRQ = { + TIMER0: 0x00, + KBD: 0x01, + SLAVE: 0x02, + COM2: 0x03, + COM1: 0x04, + XTC: 0x05, // MODEL_5160 uses this for its HDC; MODEL_5170 designates it for LPT2 + FDC: 0x06, + LPT1: 0x07, + RTC: 0x08, + IRQ2: 0x09, + COPROC: 0x0D, + ATC: 0x0E // MODEL_5170 uses this for its HDC +}; /* * 8253 Programmable Interval Timer (PIT) I/O ports */ -ChipSet.TIMER0 = {}; -ChipSet.TIMER0.INDEX = 0; -ChipSet.TIMER0.PORT = 0x40; // used for time-of-day (prior to MODEL_5170) +ChipSet.TIMER0 = { + INDEX: 0, + PORT: 0x40 // used for time-of-day (prior to MODEL_5170) +}; -ChipSet.TIMER1 = {}; -ChipSet.TIMER1.INDEX = 1; -ChipSet.TIMER1.PORT = 0x41; // used for memory refresh +ChipSet.TIMER1 = { + INDEX: 1, + PORT: 0x41 // used for memory refresh +}; -ChipSet.TIMER2 = {}; -ChipSet.TIMER2.INDEX = 2; -ChipSet.TIMER2.PORT = 0x42; // used speaker tone generation +ChipSet.TIMER2 = { + INDEX: 2, + PORT: 0x42 // used speaker tone generation +}; -ChipSet.TIMER_CTRL = {}; -ChipSet.TIMER_CTRL.PORT = 0x43; // write-only control register (use the Read-Back command to get status) -ChipSet.TIMER_CTRL.BCD = 0x01; -ChipSet.TIMER_CTRL.MODE = 0x0E; -ChipSet.TIMER_CTRL.MODE0 = 0x00; // interrupt on terminal count -ChipSet.TIMER_CTRL.MODE1 = 0x02; // programmable one-shot -ChipSet.TIMER_CTRL.MODE2 = 0x04; // rate generator -ChipSet.TIMER_CTRL.MODE3 = 0x06; // square wave generator -ChipSet.TIMER_CTRL.MODE4 = 0x08; // software-triggered strobe -ChipSet.TIMER_CTRL.MODE5 = 0x0A; // hardware-triggered strobe -ChipSet.TIMER_CTRL.RW = 0x30; -ChipSet.TIMER_CTRL.RW_LATCH = 0x00; -ChipSet.TIMER_CTRL.RW_LSB = 0x10; -ChipSet.TIMER_CTRL.RW_MSB = 0x20; -ChipSet.TIMER_CTRL.RW_BOTH = 0x30; -ChipSet.TIMER_CTRL.SC = 0xC0; -ChipSet.TIMER_CTRL.SC_CTR0 = 0x00; -ChipSet.TIMER_CTRL.SC_CTR1 = 0x40; -ChipSet.TIMER_CTRL.SC_CTR2 = 0x80; -ChipSet.TIMER_CTRL.SC_BACK = 0xC0; +ChipSet.TIMER_CTRL = { + PORT: 0x43, // write-only control register (use the Read-Back command to get status) + BCD: 0x01, + MODE: 0x0E, + MODE0: 0x00, // interrupt on terminal count + MODE1: 0x02, // programmable one-shot + MODE2: 0x04, // rate generator + MODE3: 0x06, // square wave generator + MODE4: 0x08, // software-triggered strobe + MODE5: 0x0A, // hardware-triggered strobe + RW: 0x30, + RW_LATCH: 0x00, + RW_LSB: 0x10, + RW_MSB: 0x20, + RW_BOTH: 0x30, + SC: 0xC0, + SC_CTR0: 0x00, + SC_CTR1: 0x40, + SC_CTR2: 0x80, + SC_BACK: 0xC0 +}; -ChipSet.TIMER_TICKS_PER_SEC = 1193181; +ChipSet.TIMER_TICKS_PER_SEC = 1193181; /* * 8255A Programmable Peripheral Interface (PPI) I/O ports, for Cassette/Speaker/Keyboard/SW1/etc @@ -524,88 +542,95 @@ ChipSet.TIMER_TICKS_PER_SEC = 1193181; * and PPI_B.PORT is an OUTPUT port. * * However, the MODEL_5160 ROM BIOS initially writes 0x89 instead, making PPI_A.PORT an OUTPUT port. - * However, I'm guessing that's just some sort of "diagnostic mode" operation, because all it writes - * to PPI_A.PORT are a series of "checkpoint" values (ie, 0x01, 0x02, and 0x03) before updating PPI_CTRL.PORT - * with the usual 0x99. + * I'm guessing that's just part of some "diagnostic mode", because all it writes to PPI_A.PORT are a series + * of "checkpoint" values (ie, 0x01, 0x02, and 0x03) before updating PPI_CTRL.PORT with the usual 0x99. */ -ChipSet.PPI_A = {}; // this.bPPIA -ChipSet.PPI_A.PORT = 0x60; // INPUT: keyboard scan code (PPI_B.CLEAR_KBD must be clear) +ChipSet.PPI_A = { // this.bPPIA + PORT: 0x60 // INPUT: keyboard scan code (PPI_B.CLEAR_KBD must be clear) +}; -ChipSet.PPI_B = {}; // this.bPPIB -ChipSet.PPI_B.PORT = 0x61; // OUTPUT (although it has to be treated as INPUT, too: the keyboard interrupt handler reads it, OR's PPI_B.CLEAR_KBD, writes it, and then rewrites the original read value) -ChipSet.PPI_B.CLK_TIMER2 = 0x01; // ALL: set to enable clock to TIMER2 -ChipSet.PPI_B.SPK_TIMER2 = 0x02; // ALL: set to connect output of TIMER2 to speaker (MODEL_5150: clear for cassette) -ChipSet.PPI_B.ENABLE_SW2 = 0x04; // MODEL_5150: set to enable SW2[1-4] through PPI_C.PORT, clear to enable SW2[5]; MODEL_5160: unused (there is no SW2 switch block on the MODEL_5160 motherboard) -ChipSet.PPI_B.CASS_MOTOR_OFF = 0x08; // MODEL_5150: cassette motor off -ChipSet.PPI_B.ENABLE_SW_HI = 0x08; // MODEL_5160: clear to read SW1[1-4], set to read SW1[5-8] -ChipSet.PPI_B.DISABLE_RW_MEM = 0x10; // ALL: clear to enable RAM parity check, set to disable -ChipSet.PPI_B.DISABLE_IO_CHK = 0x20; // ALL: clear to enable I/O channel check, set to disable -ChipSet.PPI_B.CLK_KBD = 0x40; // ALL: clear to force keyboard clock low -ChipSet.PPI_B.CLEAR_KBD = 0x80; // ALL: clear to enable keyboard scan codes (MODEL_5150: set to enable SW1 through PPI_A.PORT) +ChipSet.PPI_B = { // this.bPPIB + PORT: 0x61, // OUTPUT (although it has to be treated as INPUT, too: the keyboard interrupt handler reads it, OR's PPI_B.CLEAR_KBD, writes it, and then rewrites the original read value) + CLK_TIMER2: 0x01, // ALL: set to enable clock to TIMER2 + SPK_TIMER2: 0x02, // ALL: set to connect output of TIMER2 to speaker (MODEL_5150: clear for cassette) + ENABLE_SW2: 0x04, // MODEL_5150: set to enable SW2[1-4] through PPI_C.PORT, clear to enable SW2[5]; MODEL_5160: unused (there is no SW2 switch block on the MODEL_5160 motherboard) + CASS_MOTOR_OFF: 0x08, // MODEL_5150: cassette motor off + ENABLE_SW_HI: 0x08, // MODEL_5160: clear to read SW1[1-4], set to read SW1[5-8] + DISABLE_RW_MEM: 0x10, // ALL: clear to enable RAM parity check, set to disable + DISABLE_IO_CHK: 0x20, // ALL: clear to enable I/O channel check, set to disable + CLK_KBD: 0x40, // ALL: clear to force keyboard clock low + CLEAR_KBD: 0x80 // ALL: clear to enable keyboard scan codes (MODEL_5150: set to enable SW1 through PPI_A.PORT) +}; -ChipSet.PPI_C = {}; // this.bPPIC -ChipSet.PPI_C.PORT = 0x62; // INPUT (see below) -ChipSet.PPI_C.SW = 0x0F; // MODEL_5150: SW2[1-4] or SW2[5], depending on whether PPI_B.ENABLE_SW2 is set or clear; MODEL_5160: SW1[1-4] or SW1[5-8], depending on whether PPI_B.ENABLE_SW_HI is clear or set -ChipSet.PPI_C.CASS_DATA_IN = 0x10; -ChipSet.PPI_C.TIMER2_OUT = 0x20; -ChipSet.PPI_C.IO_CHANNEL_CHK = 0x40; // used by NMI handler to detect I/O channel errors -ChipSet.PPI_C.RW_PARITY_CHK = 0x80; // used by NMI handler to detect R/W memory parity errors +ChipSet.PPI_C = { // this.bPPIC + PORT: 0x62, // INPUT (see below) + SW: 0x0F, // MODEL_5150: SW2[1-4] or SW2[5], depending on whether PPI_B.ENABLE_SW2 is set or clear; MODEL_5160: SW1[1-4] or SW1[5-8], depending on whether PPI_B.ENABLE_SW_HI is clear or set + CASS_DATA_IN: 0x10, + TIMER2_OUT: 0x20, + IO_CHANNEL_CHK: 0x40, // used by NMI handler to detect I/O channel errors + RW_PARITY_CHK: 0x80 // used by NMI handler to detect R/W memory parity errors +}; -ChipSet.PPI_CTRL = {}; // this.bPPICtrl -ChipSet.PPI_CTRL.PORT = 0x63; // OUTPUT: initialized to 0x99, defining PPI_A and PPI_C as INPUT and PPI_B as OUTPUT -ChipSet.PPI_CTRL.A_IN = 0x10; -ChipSet.PPI_CTRL.B_IN = 0x02; -ChipSet.PPI_CTRL.C_IN_LO = 0x01; -ChipSet.PPI_CTRL.C_IN_HI = 0x08; -ChipSet.PPI_CTRL.B_MODE = 0x04; -ChipSet.PPI_CTRL.A_MODE = 0x60; +ChipSet.PPI_CTRL = { // this.bPPICtrl + PORT: 0x63, // OUTPUT: initialized to 0x99, defining PPI_A and PPI_C as INPUT and PPI_B as OUTPUT + A_IN: 0x10, + B_IN: 0x02, + C_IN_LO: 0x01, + C_IN_HI: 0x08, + B_MODE: 0x04, + A_MODE: 0x60 +}; /* * On the MODEL_5150, the following PPI_SW bits are exposed through PPI_A. * * On the MODEL_5160, either the low or high 4 bits are exposed through PPI_C.SW, if PPI_B.ENABLE_SW_HI is clear or set. */ -ChipSet.PPI_SW = {}; -ChipSet.PPI_SW.FDRIVE = {}; -ChipSet.PPI_SW.FDRIVE.IPL = 0x01; // MODEL_5150: IPL ("Initial Program Load") floppy drive attached; MODEL_5160: "Loop on POST" -ChipSet.PPI_SW.COPROC = 0x02; // MODEL_5150: reserved; MODEL_5160: coprocessor installed -ChipSet.PPI_SW.MEMORY = {}; -ChipSet.PPI_SW.MEMORY.X1 = 0x00; // MODEL_5150: "X" is 16Kb; MODEL_5160: "X" is 64Kb -ChipSet.PPI_SW.MEMORY.X2 = 0x04; -ChipSet.PPI_SW.MEMORY.X3 = 0x08; -ChipSet.PPI_SW.MEMORY.X4 = 0x0C; -ChipSet.PPI_SW.MEMORY.MASK = 0x0C; -ChipSet.PPI_SW.MEMORY.SHIFT = 2; -ChipSet.PPI_SW.MONITOR = {}; -ChipSet.PPI_SW.MONITOR.TV = 0x10; -ChipSet.PPI_SW.MONITOR.COLOR = 0x20; -ChipSet.PPI_SW.MONITOR.MONO = 0x30; -ChipSet.PPI_SW.MONITOR.MASK = 0x30; -ChipSet.PPI_SW.MONITOR.SHIFT = 4; -ChipSet.PPI_SW.FDRIVE.ONE = 0x00; // 1 floppy drive attached (or 0 drives if PPI_SW.FDRIVE_IPL is not set -- MODEL_5150 only) -ChipSet.PPI_SW.FDRIVE.TWO = 0x40; // 2 floppy drives attached -ChipSet.PPI_SW.FDRIVE.THREE = 0x80; // 3 floppy drives attached -ChipSet.PPI_SW.FDRIVE.FOUR = 0xC0; // 4 floppy drives attached -ChipSet.PPI_SW.FDRIVE.MASK = 0xC0; -ChipSet.PPI_SW.FDRIVE.SHIFT = 6; +ChipSet.PPI_SW = { + FDRIVE: { + IPL: 0x01, // MODEL_5150: IPL ("Initial Program Load") floppy drive attached; MODEL_5160: "Loop on POST" + ONE: 0x00, // 1 floppy drive attached (or 0 drives if PPI_SW.FDRIVE_IPL is not set -- MODEL_5150 only) + TWO: 0x40, // 2 floppy drives attached + THREE: 0x80, // 3 floppy drives attached + FOUR: 0xC0, // 4 floppy drives attached + MASK: 0xC0, + SHIFT: 6 + }, + COPROC: 0x02, // MODEL_5150: reserved; MODEL_5160: coprocessor installed + MEMORY: { + X1: 0x00, // MODEL_5150: "X" is 16Kb; MODEL_5160: "X" is 64Kb + X2: 0x04, + X3: 0x08, + X4: 0x0C, + MASK: 0x0C, + SHIFT: 2 + }, + MONITOR: { + TV: 0x10, + COLOR: 0x20, + MONO: 0x30, + MASK: 0x30, + SHIFT: 4 + } +}; /* * 8042 Keyboard Controller I/O ports (MODEL_5170) * - * On the MODEL_5170, port 0x60 is designated KBD_DATA rather than PPI_A, although the BIOS also refers to it + * On the MODEL_5170, port 0x60 is designated KBC.DATA rather than PPI_A, although the BIOS also refers to it * as "PORT_A: 8042 KEYBOARD SCAN/DIAG OUTPUTS"). This is the 8042's output buffer and should be read only when - * KBD_STATUS.OUTBUFF_FULL is set. + * KBC.STATUS.OUTBUFF_FULL is set. * - * Similarly, port 0x61 is designated KBD_RWREG rather than PPI_B; the BIOS also refers to it as "PORT_B: 8042 + * Similarly, port 0x61 is designated KBC.RWREG rather than PPI_B; the BIOS also refers to it as "PORT_B: 8042 * READ WRITE REGISTER", but it is not otherwise discussed in the MODEL_5170 TechRef's 8042 documentation. - * There are brief references to bits 0 and 1 (KBD_RWREG.CLK_TIMER2 and KBD_RWREG.SPK_TIMER2), and the BIOS sets - * bits 2-7 to "DISABLE PARITY CHECKERS" (principally KBD_RWREG.DISABLE_CHK, which are bits 2 and 3); why the BIOS + * There are brief references to bits 0 and 1 (KBC.RWREG.CLK_TIMER2 and KBC.RWREG.SPK_TIMER2), and the BIOS sets + * bits 2-7 to "DISABLE PARITY CHECKERS" (principally KBC.RWREG.DISABLE_CHK, which are bits 2 and 3); why the BIOS * also sets bits 4-7 (or if those bits are even settable) is unclear, since it uses 11111100B rather than defined * constants. * * The bottom line: on a MODEL_5170, port 0x61 is still used for speaker control and parity checking, so we use * the same register (bPPIB) but install different I/O handlers. It's also bi-directional: at one point, the BIOS - * reads KBD_RWREG.REFRESH_BIT (bit 4) to verify that it's alternating. + * reads KBC.RWREG.REFRESH_BIT (bit 4) to verify that it's alternating. * * PPI_C and PPI_CTRL don't seem to be documented or used by the MODEL_5170 BIOS, so I'm assuming they're obsolete. * @@ -618,7 +643,7 @@ ChipSet.PPI_SW.FDRIVE.SHIFT = 6; ChipSet.KBC = { DATA: { // this.b8042OutBuff (PPI_A on previous models, still referred to as "PORT A" by the MODEL_5170 BIOS) PORT: 0x60, - CMD: { // this.b8042CmdData (KBD_DATA.CMD "data bytes" written to port 0x60, after writing a KBD_CMD byte to port 0x64) + CMD: { // this.b8042CmdData (KBC.DATA.CMD "data bytes" written to port 0x60, after writing a KBC.CMD byte to port 0x64) PC_COMPAT: 0x40, // generate IBM PC-compatible scan codes PC_MODE: 0x20, NO_CLOCK: 0x10, // disable keyboard by driving "clock" line low @@ -656,7 +681,7 @@ ChipSet.KBC = { KBD_CLOCK: 0x01, // keyboard clock (input) KBD_DATA: 0x02 // keyboard data (input) }, - RWREG: { // this.bPPIB (since CLK_TIMER2 and SPK_TIMER2 are in both PPI_B and KBD_RWREG) + RWREG: { // this.bPPIB (since CLK_TIMER2 and SPK_TIMER2 are in both PPI_B and KBC.RWREG) PORT: 0x61, CLK_TIMER2: 0x01, // set to enable clock to TIMER2 SPK_TIMER2: 0x02, // set to connect output of TIMER2 to speaker @@ -669,15 +694,15 @@ ChipSet.KBC = { CMD: { // this.b8042InBuff (on write to port 0x64, interpret this as a CMD) PORT: 0x64, READ_CMD: 0x20, - WRITE_CMD: 0x60, // followed by a command byte written to KBD_DATA.PORT (see KBD_DATA.CMD) - SELF_TEST: 0xAA, // self-test (KBD_DATA.SELF_TEST_OK is placed in the output buffer if no errors) + WRITE_CMD: 0x60, // followed by a command byte written to KBC.DATA.PORT (see KBC.DATA.CMD) + SELF_TEST: 0xAA, // self-test (KBC.DATA.SELF_TEST.OK is placed in the output buffer if no errors) INTF_TEST: 0xAB, // interface test DIAG_DUMP: 0xAC, // diagnostic dump DISABLE_KBD: 0xAD, // disable keyboard ENABLE_KBD: 0xAE, // enable keyboard READ_INPORT: 0xC0, // read input port and place data in output buffer (use only if output buffer empty) READ_OUTPORT: 0xD0, // read output port and place data in output buffer (use only if output buffer empty) - WRITE_OUTPORT: 0xD1, // next byte written to KBD_DATA.PORT (port 0x60) is placed in the output port (see KBD_DATA.OUTPUT) + WRITE_OUTPORT: 0xD1, // next byte written to KBC.DATA.PORT (port 0x60) is placed in the output port (see KBC.DATA.OUTPUT) READ_TEST: 0xE0, PULSE_OUTPORT: 0xF0 // this is the 1st of 16 commands (0xF0-0xFF) that pulse bits 0-3 of the output port }, @@ -686,7 +711,7 @@ ChipSet.KBC = { OUTBUFF_FULL: 0x01, INBUFF_FULL: 0x02, // set if the controller has received but not yet read data written to the input buffer (not normally set) SYS_FLAG: 0x04, - CMD_FLAG: 0x08, // set on write to KBD_CMD (port 0x64), clear on write to KBD_DATA (port 0x60) + CMD_FLAG: 0x08, // set on write to KBC.CMD (port 0x64), clear on write to KBC.DATA (port 0x60) NO_INHIBIT: 0x10, XMT_TIMEOUT: 0x20, RCV_TIMEOUT: 0x40, @@ -1018,8 +1043,8 @@ ChipSet.prototype.reset = function() if (this.model >= ChipSet.MODEL_5170) { /* * The 8042 input buffer is treated as a "command byte" when written via port 0x64 and as a "data byte" - * when written via port 0x60. So, whenever the KBD_CMD.WRITE_CMD "command byte" is written to the input - * buffer, the subsequent command data byte is saved in b8042CmdData. Similarly, for KBD_CMD.WRITE_OUTPORT, + * when written via port 0x60. So, whenever the KBC.CMD.WRITE_CMD "command byte" is written to the input + * buffer, the subsequent command data byte is saved in b8042CmdData. Similarly, for KBC.CMD.WRITE_OUTPORT, * the subsequent data byte is saved in b8042OutPort. * * TODO: Consider a UI for the Keyboard INHIBIT switch. By default, our keyboard is never inhibited @@ -1105,13 +1130,13 @@ ChipSet.prototype.initRTCDate = function(sDate) /* * Example of a valid Date string: - * + * * 2014-10-01T08:00:00-0700 - * + * * Example of an INVALID Date string: - * + * * 2014-10-01T08:00:00PST - * + * * In the second example, the Date object is invalid, but it wasn't obvious (to me) how to detect that. * So here's a test from StackOverflow (http://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript). */ @@ -2895,7 +2920,7 @@ ChipSet.prototype.getIRRVector = function(iPIC) * * This process is similar to the search performed by non-specific EOIs, except those apply only to a single * PIC (which is why a slave interrupt must be EOI'ed twice: once for the slave PIC and again for the master), - * whereas here we must search across all PICS. + * whereas here we must search across all PICs. */ var nIRL = pic.bIRLow + 1; while (true) { @@ -3307,7 +3332,7 @@ ChipSet.prototype.updateTimer = function(iTimer, fCycleReset) * For the original MODEL_5170, the number of cycles per tick is approximately 6,000,000 / 1,193,181, * or 5.028575, so we can no longer always divide cycles by 4 with a simple right-shift by 2. The proper * divisor (eg, 4 for MODEL_5150 and MODEL_5160, 5 for MODEL_5170, etc) is nTicksDivisor, which initBus() - * calculates using on the base CPU speed returned by cpu.getCyclesPerSecond(). + * calculates using the base CPU speed returned by cpu.getCyclesPerSecond(). */ var ticks = ((nCycles - timer.nStartCycles) / this.nTicksDivisor) | 0; @@ -3646,8 +3671,8 @@ ChipSet.prototype.in8042OutBuff = function(port, addrFrom) * out8042InBuffData(port, bOut, addrFrom) * * This writes to the 8042's input buffer; using this port (ie, 0x60 instead of 0x64) designates the - * the byte as a KBD_DATA.CMD "data byte". Before clearing KBD_STATUS.CMD_FLAG, however, we see if it's set, - * and then based on the previous KBD_CMD "command byte", we do whatever needs to be done with this "data byte". + * the byte as a KBC.DATA.CMD "data byte". Before clearing KBC.STATUS.CMD_FLAG, however, we see if it's set, + * and then based on the previous KBC.CMD "command byte", we do whatever needs to be done with this "data byte". * * @this {ChipSet} * @param {number} port (0x60) @@ -3662,9 +3687,7 @@ ChipSet.prototype.out8042InBuffData = function(port, bOut, addrFrom) switch (this.b8042InBuff) { case ChipSet.KBC.CMD.WRITE_CMD: - this.b8042CmdData = bOut; - Component.assert(ChipSet.KBC.DATA.CMD.SYS_FLAG === ChipSet.KBC.STATUS.SYS_FLAG); - this.b8042Status = (this.b8042Status & ~ChipSet.KBC.STATUS.SYS_FLAG) | (bOut & ChipSet.KBC.DATA.CMD.SYS_FLAG); + this.set8042CmdData(bOut); break; case ChipSet.KBC.CMD.WRITE_OUTPORT: @@ -3736,7 +3759,7 @@ ChipSet.prototype.out8042InBuffData = function(port, bOut, addrFrom) * error, but "TEST.21" assumes that it is. */ default: - this.b8042CmdData &= ~ChipSet.KBC.DATA.CMD.NO_CLOCK; + this.set8042CmdData(this.b8042CmdData & ~ChipSet.KBC.DATA.CMD.NO_CLOCK); if (this.kbd) this.set8042OutBuff(this.kbd.sendCmd(bOut)); break; } @@ -3757,14 +3780,39 @@ ChipSet.prototype.in8042RWReg = function(port, addrFrom) { /* * Normally, we return whatever was last written to this port, but we do need to mask the - * two upper-most bits (KBD_RWREG.PARITY_ERR), because we never want to report a parity error. + * two upper-most bits (KBC.RWREG.PARITY_ERR), as those are output-only bits used to signal + * parity errors. + * + * Also, "TEST.09" of the MODEL_5170 BIOS expects the REFRESH_BIT to alternate, so we used to + * do this: + * + * this.bPPIB ^= ChipSet.KBC.RWREG.REFRESH_BIT; + * + * However, the MODEL_5170_REV3 BIOS not only checks REFRESH_BIT in "TEST.09", but includes + * an additional test right before "TEST.11A", which requires the bit change "a bit less" + * frequently. + * + * QUESTION: Did IBM throw in this additional REFRESH_BIT test in an attempt to either tie + * their revised BIOS to their own hardware OR to insure that the processor was running at a + * "condoned" speed? Note that this new test sets CX to zero, and at the end of the test + * (@F000:05B8), CX must be in the narrow range of 0xF600 through 0xF9FD. + * + * So now we tie the state of the REFRESH_BIT to bit 6 of the current CPU cycle count, + * effectively toggling the bit after every 64 cycles, or roughly every 4th read, and yielding + * a count of 0xF815 in CX, safely within the required range. I also confirmed that using + * the next highest bit (bit 7) created too much of a delay (CX was 0xF015). + * + * NOTE: the "WAITF" function @F000:1A3A relies on REFRESH_BIT to achieve a "FIXED TIME WAIT", + * where CX is a "COUNT OF 15.085737us INTERVALS TO WAIT". By toggling REFRESH_BIT every 64 + * cycles, on an 8Mhz CPU that can do 8 cycles in 1us, 64 cycles represents 8us, so this might + * be 7us too fast? But I think we're close enough. */ - var b = this.bPPIB & ~ChipSet.KBC.RWREG.PARITY_ERR; - this.messagePort(port, null, addrFrom, "8042_RWREG", ChipSet.MESSAGE_CHIPSET, b); + var b = this.bPPIB & ~(ChipSet.KBC.RWREG.PARITY_ERR | ChipSet.KBC.RWREG.REFRESH_BIT) | ((this.cpu.getCycles() & 0x40)? ChipSet.KBC.RWREG.REFRESH_BIT : 0); /* - * "TEST.09" of the MODEL_5170 BIOS expects the following bit ("REFRESH_BIT") to alternate, so we oblige. + * Thanks to the WAITF function, this has become a very "busy" port, so let's not generate messages + * unless both MESSAGE_CHIPSET *and* MESSAGE_LOG are set. */ - this.bPPIB ^= ChipSet.KBC.RWREG.REFRESH_BIT; + this.messagePort(port, null, addrFrom, "8042_RWREG", ChipSet.MESSAGE_CHIPSET | ChipSet.MESSAGE_LOG, b); return b; }; @@ -3796,14 +3844,14 @@ ChipSet.prototype.in8042Status = function(port, addrFrom) var b = this.b8042Status & 0xff; /* * There's code in the 5170 BIOS (F000:03BF) that writes an 8042 command (0xAA), waits for - * KBD_STATUS.INBUFF_FULL to go clear (which it always is, because we always accept commands - * immediately), then checks KBD_STATUS.OUTBUFF_FULL and performs a "flush" on port 0x60 if - * it's set, then waits for KBD_STATUS.OUTBUFF_FULL *again*. Unfortunately, the "flush" throws + * KBC.STATUS.INBUFF_FULL to go clear (which it always is, because we always accept commands + * immediately), then checks KBC.STATUS.OUTBUFF_FULL and performs a "flush" on port 0x60 if + * it's set, then waits for KBC.STATUS.OUTBUFF_FULL *again*. Unfortunately, the "flush" throws * away our response if we respond immediately. * - * So now when out8042InBuffCmd() has a response, it sets KBD_STATUS.OUTBUFF_DELAY instead - * (which is outside the 0xff range of bits we return); when we see KBD_STATUS.OUTBUFF_DELAY, - * we clear it and set KBD_STATUS.OUTBUFF_FULL, which will be returned on the next read. + * So now when out8042InBuffCmd() has a response, it sets KBC.STATUS.OUTBUFF_DELAY instead + * (which is outside the 0xff range of bits we return); when we see KBC.STATUS.OUTBUFF_DELAY, + * we clear it and set KBC.STATUS.OUTBUFF_FULL, which will be returned on the next read. * * This provides a single poll delay, so that the aforementioned "flush" won't toss our response. * If longer delays are needed down the road, we may need to set a delay count in the upper (hidden) @@ -3820,7 +3868,7 @@ ChipSet.prototype.in8042Status = function(port, addrFrom) * out8042InBuffCmd(port, bOut, addrFrom) * * This writes to the 8042's input buffer; using this port (ie, 0x64 instead of 0x60) designates the - * the byte as a "command byte". We immediately set KBD_STATUS.CMD_FLAG, and then see if we can act upon + * the byte as a "command byte". We immediately set KBC.STATUS.CMD_FLAG, and then see if we can act upon * the command immediately (some commands requires us to wait for a "data byte"). * * @this {ChipSet} @@ -3840,7 +3888,7 @@ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) if (this.b8042InBuff >= ChipSet.KBC.CMD.PULSE_OUTPORT) { bPulseBits = (this.b8042InBuff ^ 0xf); /* - * Now that we have isolated the bit(s) to pulse, map all pulse commands to KBD_CMD.PULSE_OUTPORT + * Now that we have isolated the bit(s) to pulse, map all pulse commands to KBC.CMD.PULSE_OUTPORT */ this.b8042InBuff = ChipSet.KBC.CMD.PULSE_OUTPORT; } @@ -3858,22 +3906,23 @@ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) break; case ChipSet.KBC.CMD.DISABLE_KBD: // 0xAD - this.b8042CmdData |= ChipSet.KBC.DATA.CMD.NO_CLOCK; + this.set8042CmdData(this.b8042CmdData | ChipSet.KBC.DATA.CMD.NO_CLOCK); if (DEBUG) this.messageDebugger("keyboard disabled", ChipSet.MESSAGE_KBD); /* - * TODO: Determine where to honor KBD_DATA.CMD.NO_CLOCK; note that the MODEL_5170 BIOS calls "KBD_RESET" (F000:17D2) - * while the keyboard interface is disabled, yet we must still deliver the Keyboard's CMDRES.BATSUCCESS response code. + * NOTE: The MODEL_5170 BIOS calls "KBD_RESET" (F000:17D2) while the keyboard interface is disabled, + * yet we must still deliver the Keyboard's CMDRES.BATSUCCESS response code? Seems like an odd thing for + * a "disabled interface" to do. */ break; case ChipSet.KBC.CMD.ENABLE_KBD: // 0xAE - this.b8042CmdData &= ~ChipSet.KBC.DATA.CMD.NO_CLOCK; + this.set8042CmdData(this.b8042CmdData & ~ChipSet.KBC.DATA.CMD.NO_CLOCK); if (DEBUG) this.messageDebugger("keyboard re-enabled", ChipSet.MESSAGE_KBD); break; case ChipSet.KBC.CMD.SELF_TEST: // 0xAA if (this.kbd) this.kbd.shiftScanCode(true); - this.b8042CmdData |= ChipSet.KBC.DATA.CMD.NO_CLOCK; + this.set8042CmdData(this.b8042CmdData | ChipSet.KBC.DATA.CMD.NO_CLOCK); if (DEBUG) this.messageDebugger("keyboard disabled on reset", ChipSet.MESSAGE_KBD); this.set8042OutBuff(ChipSet.KBC.DATA.SELF_TEST.OK); this.set8042OutPort(ChipSet.KBC.OUTPORT.NO_RESET | ChipSet.KBC.OUTPORT.A20_ON); @@ -3903,6 +3952,39 @@ ChipSet.prototype.out8042InBuffCmd = function(port, bOut, addrFrom) } }; +/** + * set8042CmdData(b) + * + * @this {ChipSet} + * @param {number} b + */ +ChipSet.prototype.set8042CmdData = function(b) +{ + this.b8042CmdData = b; + Component.assert(ChipSet.KBC.DATA.CMD.SYS_FLAG === ChipSet.KBC.STATUS.SYS_FLAG); + this.b8042Status = (this.b8042Status & ~ChipSet.KBC.STATUS.SYS_FLAG) | (b & ChipSet.KBC.DATA.CMD.SYS_FLAG); + if (this.kbd) { + /* + * This seems to be what the doctor ordered for the MODEL_5170_REV3 BIOS @F000:0A6D, where it + * sends ChipSet.KBC.CMD.WRITE_CMD to port 0x64, followed by 0x4D to port 0x60, which clears NO_CLOCK + * and enables the keyboard. The BIOS then waits for OUTBUFF_FULL to be set, at which point it seems + * to be anticipating an 0xAA response in the output buffer. + * + * And indeed, if we call the original MODEL_5150/MODEL_5160 setEnable() Keyboard interface here, + * and both the data and clock lines have transitioned high (ie, both parameters are true), then it + * will call resetDevice(), generating a Keyboard.CMDRES.BATSUCCESS response. + * + * This agrees with my understanding of what happens when the 8042 toggles the clock line high + * (ie, clears NO_CLOCK): the TechRef's "Basic Assurance Test" section says that when the Keyboard is + * powered on, it performs the BAT, and then when the clock and data lines go high, the keyboard sends + * a completion code (eg, 0xAA for success, or 0xFC or something else for failure). + */ + if (this.kbd.setEnable(!!(b & ChipSet.KBC.DATA.CMD.NO_INHIBIT), !(b & ChipSet.KBC.DATA.CMD.NO_CLOCK))) { + this.set8042OutBuff(this.kbd.readScanCode(true)); + } + } +}; + /** * set8042OutBuff(b) * @@ -3931,7 +4013,7 @@ ChipSet.prototype.set8042OutPort = function(b) if (!(b & ChipSet.KBC.OUTPORT.NO_RESET)) { /* * Bit 0 of the 8042's output port is connected to RESET. Normally, it's "pulsed" with the - * KBD_CMD.PULSE_OUTPORT command, so if a RESET is detected via this command, we should try to + * KBC.CMD.PULSE_OUTPORT command, so if a RESET is detected via this command, we should try to * determine if that's what the caller intended. */ if (DEBUG && DEBUGGER && this.dbg) { diff --git a/my_modules/pcjs-client/lib/debugger.js b/my_modules/pcjs-client/lib/debugger.js index 5fa98bc35..aa3fb91a3 100644 --- a/my_modules/pcjs-client/lib/debugger.js +++ b/my_modules/pcjs-client/lib/debugger.js @@ -2781,6 +2781,7 @@ if (DEBUGGER) { if (iColon < 0) { if (seg != null) { off = this.parseValue(sAddr); + addr = null; } else { addr = this.parseValue(sAddr); } diff --git a/my_modules/pcjs-client/lib/fdc.js b/my_modules/pcjs-client/lib/fdc.js index 7c43e85c6..396e7e390 100644 --- a/my_modules/pcjs-client/lib/fdc.js +++ b/my_modules/pcjs-client/lib/fdc.js @@ -45,7 +45,7 @@ if (typeof module !== 'undefined') { } /* - * FDC Terms + * FDC Terms (see FDC.TERMS) * * C Cylinder Number the current or selected cylinder number * @@ -78,7 +78,7 @@ if (typeof module !== 'undefined') { * * N Number the number of data bytes written in a sector * - * NCN New Cylinder the new cylinder number for a Seek operation + * NCN New Cylinder Number the new cylinder number for a Seek operation * * ND Non-Data Mode indicates an operation in the non-data mode * @@ -185,6 +185,31 @@ Component.subclass(Component, FDC); FDC.DEFAULT_DRIVE_NAME = "Floppy Drive"; +if (DEBUG) { + FDC.TERMS = { + C: "C", // Cylinder Number + D: "D", // Data (eg, pattern to be written to a sector) + H: "H", // Head Address + R: "R", // Record (ie, sector number to be read or written) + N: "N", // Number (ie, number of data bytes to write) + DS: "DS", // Drive Select + SC: "SC", // Sectors per Cylinder + DTL: "DTL", // Data Length + EOT: "EOT", // End of Track + GPL: "GPL", // Gap Length + HLT: "HLT", // Head Load Time + NCN: "NCN", // New Cylinder Number + PCN: "PCN", // Present Cylinder Number + SRT: "SRT", // Stepping Rate + ST0: "ST0", // Status Register 0 + ST1: "ST1", // Status Register 1 + ST2: "ST2", // Status Register 2 + ST3: "ST3" // Status Register 3 + } +} else { + FDC.TERMS = {}; +} + /* * FDC Digital Output Register (DOR) (0x3F2, write-only) * @@ -279,11 +304,11 @@ FDC.REG_CONTROL.RATEUNUSED = 0x03; FDC.REG_DATA.CMD = {}; FDC.REG_DATA.CMD.READ_TRACK = 0x02; FDC.REG_DATA.CMD.SPECIFY = 0x03; -FDC.REG_DATA.CMD.DRIVE_STATUS = 0x04; +FDC.REG_DATA.CMD.SENSE_DRIVE = 0x04; FDC.REG_DATA.CMD.WRITE_DATA = 0x05; FDC.REG_DATA.CMD.READ_DATA = 0x06; FDC.REG_DATA.CMD.RECALIBRATE = 0x07; -FDC.REG_DATA.CMD.INT_STATUS = 0x08; // this command is used to clear the FDC interrupt following the clearing/setting of FDC.REG_OUTPUT.ENABLE +FDC.REG_DATA.CMD.SENSE_INT = 0x08; // this command is used to clear the FDC interrupt following the clearing/setting of FDC.REG_OUTPUT.ENABLE FDC.REG_DATA.CMD.WRITE_DEL_DATA = 0x09; FDC.REG_DATA.CMD.READ_ID = 0x0A; FDC.REG_DATA.CMD.READ_DEL_DATA = 0x0C; @@ -338,18 +363,35 @@ FDC.REG_DATA.RES.ST3 = 0xFF000000; /* * FDC Command Sequences * - * For each command, cbWrite indicates the total number of bytes in the command request sequence, - * including the first (command) byte; cbRead indicates total number of bytes in the response sequence. + * For each command, cbReq indicates the total number of bytes in the command request sequence, + * including the first (command) byte; cbRes indicates total number of bytes in the response sequence. */ -FDC.aCmdSeqs = { - 0x03: {cbWrite: 3, cbRead: 0, name: "SPECIFY"}, - 0x04: {cbWrite: 2, cbRead: 1, name: "DRIVE_STATUS"}, - 0x05: {cbWrite: 9, cbRead: 7, name: "WRITE_DATA"}, - 0x06: {cbWrite: 9, cbRead: 7, name: "READ_DATA"}, - 0x07: {cbWrite: 2, cbRead: 0, name: "RECALIBRATE"}, - 0x08: {cbWrite: 1, cbRead: 2, name: "INT_STATUS"}, - 0x0D: {cbWrite: 6, cbRead: 7, name: "FORMAT"}, - 0x0F: {cbWrite: 3, cbRead: 0, name: "SEEK"} +if (DEBUG) { + FDC.CMDS = { + SPECIFY: "SPECIFY", + SENSE_DRIVE: "SENSE DRIVE", + WRITE_DATA: "WRITE DATA", + READ_DATA: "READ DATA", + RECALIBRATE: "RECALIBRATE", + SENSE_INT: "SENSE INTERRUPT", + READ_ID: "READ ID", + FORMAT: "FORMAT", + SEEK: "SEEK" + } +} else { + FDC.CMDS = {}; +} + +FDC.aCmdInfo = { + 0x03: {cbReq: 3, cbRes: 0, name: FDC.CMDS.SPECIFY}, + 0x04: {cbReq: 2, cbRes: 1, name: FDC.CMDS.SENSE_DRIVE}, + 0x05: {cbReq: 9, cbRes: 7, name: FDC.CMDS.WRITE_DATA}, + 0x06: {cbReq: 9, cbRes: 7, name: FDC.CMDS.READ_DATA}, + 0x07: {cbReq: 2, cbRes: 0, name: FDC.CMDS.RECALIBRATE}, + 0x08: {cbReq: 1, cbRes: 2, name: FDC.CMDS.SENSE_INT}, + 0x0A: {cbReq: 2, cbRes: 7, name: FDC.CMDS.READ_ID}, + 0x0D: {cbReq: 6, cbRes: 7, name: FDC.CMDS.FORMAT}, + 0x0F: {cbReq: 3, cbRes: 0, name: FDC.CMDS.SEEK} }; /* @@ -649,7 +691,7 @@ FDC.prototype.initController = function(data) } /* - * Selected drive (from reOutput), which can only be selected if its motor is on (see regOutput). + * Selected drive (from regOutput), which can only be selected if its motor is on (see regOutput). */ this.iDrive = data[i++]; i++; // unused slot (if reused, bias by +4, since it was formerly a unit #) @@ -806,7 +848,7 @@ FDC.prototype.initDrive = function(drive, iDrive, data) * The next group of properties are set by various FDC command sequences. * * We initialize this.iDrive (above) and drive.bHead and drive.bCylinder (below) to zero, but leave the rest undefined, - * awaiting their first FDC command. We do this because the initial INT_STATUS command returns a PCN, which will also + * awaiting their first FDC command. We do this because the initial SENSE_INT command returns a PCN, which will also * be undefined unless we have at least zeroed both the current drive and the "present" cylinder on that drive. * * Alternatively, I could make PCN a global FDC variable. That may be closer to how the actual hardware operates, @@ -819,7 +861,7 @@ FDC.prototype.initDrive = function(drive, iDrive, data) * * Here's how it works: the BIOS seeks to track 48 (which is fine on an 80-track 1.2Mb high-capacity drive, but 9 tracks * too far on a 40-track 360Kb double-density drive), then seeks to track 10, and then seeks in single-track increments - * up to 10 more times until the DRIVE_STATUS command returns ST3 with the TRACK0 bit set. + * up to 10 more times until the SENSE_DRIVE command returns ST3 with the TRACK0 bit set. * * This implies that SEEK isn't really seeking to a specified cylinder, but rather it is calculating a delta from * the previous cylinder to the specified cylinder, and stepping over that number of tracks. Which means that SEEK @@ -1363,8 +1405,9 @@ FDC.prototype.outFDCOutput = function(port, bOut, addrFrom) * still updating this.iDrive below based on the "drive select" bits in regOutput, we would want * to make sure those bits now match what initController() set. But since we no longer do that * (see below), this is no longer needed either. + * + * bOut = (bOut & ~FDC.REG_OUTPUT.DS) | this.iDrive; */ - // bOut = (bOut & ~FDC.REG_OUTPUT.DS) | this.iDrive; } else if (!(this.regOutput & FDC.REG_OUTPUT.ENABLE)) { /* @@ -1385,14 +1428,14 @@ FDC.prototype.outFDCOutput = function(port, bOut, addrFrom) * with FDC.REG_OUTPUT.ENABLE clear, and then with it set. However, both times, it ALSO loads the last selected * drive number into regOutput's "drive select" bits. * - * If we switched our selected drive to match regOutput, then the ST0 value we returned on an INT_STATUS command + * If we switched our selected drive to match regOutput, then the ST0 value we returned on an SENSE_INT command * following the regOutput reset operation would indicate drive 1 instead of drive 0. But the BIOS requires - * the ST0 result from the INT_STATUS command ALWAYS be 0xC0 (not 0xC1), so the controller must not be propagating + * the ST0 result from the SENSE_INT command ALWAYS be 0xC0 (not 0xC1), so the controller must not be propagating * regOutput's "drive select" bits in the way I originally assumed. + * + * var iDrive = bOut & FDC.REG_OUTPUT.DS; + * if (bOut & (FDC.REG_OUTPUT.MOTOR_D0 << iDrive)) this.iDrive = iDrive; */ - // var iDrive = bOut & FDC.REG_OUTPUT.DS; - // if (bOut & (FDC.REG_OUTPUT.MOTOR_D0 << iDrive)) this.iDrive = iDrive; - this.regOutput = bOut; }; @@ -1455,13 +1498,16 @@ FDC.prototype.outFDCData = function(port, bOut, addrFrom) } var bCmd = this.regDataArray[0]; var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK; - if (FDC.aCmdSeqs[bCmdMasked] !== undefined) { - if (this.regDataTotal >= FDC.aCmdSeqs[bCmdMasked].cbWrite) { + if (FDC.aCmdInfo[bCmdMasked] !== undefined) { + if (this.regDataTotal >= FDC.aCmdInfo[bCmdMasked].cbReq) { this.doCmd(); } return; } - if (DEBUG) this.messageDebugger("unsupported FDC command: " + str.toHexByte(bCmd)); + if (DEBUG) { + this.messageDebugger("unsupported FDC command: " + str.toHexByte(bCmd)); + if (DEBUGGER) this.cpu.haltCPU(); + } }; /** @@ -1524,35 +1570,40 @@ FDC.prototype.doCmd = function() var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK; switch (bCmdMasked) { - case FDC.REG_DATA.CMD.SPECIFY: // 0x03 - this.popSRT(); // SRT and HUT (encodings?) - this.popHLT(); // HLT and ND (encodings?) - this.beginResult(); // no results are provided by this command, and fIRQ should remain false + case FDC.REG_DATA.CMD.SPECIFY: // 0x03 + this.popSRT(); // SRT and HUT (encodings?) + this.popHLT(); // HLT and ND (encodings?) + this.beginResult(); + /* + * No results are provided by this command, and fIRQ should remain false + */ break; - case FDC.REG_DATA.CMD.DRIVE_STATUS: // 0x04 (SENSE DRIVE STATUS) - bDrive = this.popCmd("DS"); + + case FDC.REG_DATA.CMD.SENSE_DRIVE: // 0x04 + bDrive = this.popCmd(FDC.TERMS.DS); bHeadSelect = (bDrive >> 2) & 0x1; this.iDrive = (bDrive & 0x3); drive = this.aDrives[this.iDrive]; this.beginResult(); this.pushST3(drive); break; - case FDC.REG_DATA.CMD.WRITE_DATA: // 0x05 - case FDC.REG_DATA.CMD.READ_DATA: // 0x06 - bDrive = this.popCmd("DS"); + + case FDC.REG_DATA.CMD.WRITE_DATA: // 0x05 + case FDC.REG_DATA.CMD.READ_DATA: // 0x06 + bDrive = this.popCmd(FDC.TERMS.DS); bHeadSelect = (bDrive >> 2) & 0x1; this.iDrive = (bDrive & 0x3); drive = this.aDrives[this.iDrive]; drive.bHead = bHeadSelect; - drive.bCylinder = this.popCmd("C"); // C - bHead = this.popCmd("H"); // H + drive.bCylinder = this.popCmd(FDC.TERMS.C); // C + bHead = this.popCmd(FDC.TERMS.H); // H Component.assert(bHead == bHeadSelect); - drive.bSector = this.popCmd("R"); // R - n = this.popCmd("N"); // N - drive.nBytes = 128 << n; // 0 => 128, 1 => 256, 2 => 512, 3 => 1024 - drive.bSectorEnd = this.popCmd("EOT"); // EOT (final sector number on a cylinder) - this.popCmd("GPL"); // GPL (spacing between sectors, excluding VCO Sync Field; 3) - this.popCmd("DTL"); // DTL (when N is 0, DTL stands for the data length to read out or write into the sector) + drive.bSector = this.popCmd(FDC.TERMS.R); // R + n = this.popCmd(FDC.TERMS.N); // N + drive.nBytes = 128 << n; // 0 => 128, 1 => 256, 2 => 512, 3 => 1024 + drive.bSectorEnd = this.popCmd(FDC.TERMS.EOT); // EOT (final sector number on a cylinder) + this.popCmd(FDC.TERMS.GPL); // GPL (spacing between sectors, excluding VCO Sync Field; 3) + this.popCmd(FDC.TERMS.DTL); // DTL (when N is 0, DTL stands for the data length to read out or write into the sector) if (bCmdMasked == FDC.REG_DATA.CMD.READ_DATA) this.doRead(drive); else @@ -1561,52 +1612,108 @@ FDC.prototype.doCmd = function() this.pushST0(drive); this.pushST1(drive); this.pushST2(drive); - this.pushResult(drive.bCylinder, "C"); - this.pushResult(drive.bHead, "H"); - this.pushResult(drive.bSector, "R"); - this.pushResult(n, "N"); + this.pushResult(drive.bCylinder, FDC.TERMS.C); + this.pushResult(drive.bHead, FDC.TERMS.H); + this.pushResult(drive.bSector, FDC.TERMS.R); + this.pushResult(n, FDC.TERMS.N); fIRQ = true; break; - case FDC.REG_DATA.CMD.RECALIBRATE: // 0x07 - bDrive = this.popCmd("DS"); + + case FDC.REG_DATA.CMD.RECALIBRATE: // 0x07 + bDrive = this.popCmd(FDC.TERMS.DS); this.iDrive = (bDrive & 0x3); drive = this.aDrives[this.iDrive]; drive.bCylinder = drive.bCylinderSeek = 0; drive.resCode = FDC.REG_DATA.RES.SEEK_END | FDC.REG_DATA.RES.TRACK0; - this.beginResult(); // no results provided; this command is typically followed by FDC.REG_DATA.CMD.INT_STATUS + this.beginResult(); // no results provided; this command is typically followed by FDC.REG_DATA.CMD.SENSE_INT fIRQ = true; break; - case FDC.REG_DATA.CMD.INT_STATUS: // 0x08 (SENSE INTERRUPT STATUS) + + case FDC.REG_DATA.CMD.SENSE_INT: // 0x08 drive = this.aDrives[this.iDrive]; - drive.bHead = 0; // this command is documented as ALWAYS returning a head address of 0 in ST0; see pushST0() + drive.bHead = 0; // this command is documented as ALWAYS returning a head address of 0 in ST0; see pushST0() this.beginResult(); this.pushST0(drive); - this.pushResult(drive.bCylinder, "PCN");// no interrupt is generated by this command, so fIRQ should remain false + this.pushResult(drive.bCylinder, FDC.TERMS.PCN); + /* + * For some strange reason, the "DISK_RESET" function in the MODEL_5170_REV3 BIOS resets the + * adapter and then issues FOUR -- that's right, not ONE but FOUR -- SENSE INTERRUPT STATUS commands + * in a row, and expects ST0 to contain a different drive number after each command (first 0, then 1, + * then 2, and finally 3). What makes this doubly weird is SENSE INTERRUPT STATUS (unlike SENSE + * DRIVE STATUS) is a drive-agnostic command. + * + * Didn't the original PC AT "HFCOMBO" controller limit support to TWO diskette drives max? + * And even if the PC AT supported other FDC controllers that DID support up to FOUR diskette drives, + * why should "DISK_RESET" hard-code a 4-drive loop? + * + * Well, whatever. All this head-scratching doesn't change the fact that I apparently have to + * "auto-increment" the internal drive number (this.iDrive) after each SENSE INTERRUPT STATUS command. + */ + this.iDrive = (this.iDrive + 1) & 0x3; + /* + * No interrupt is generated by this command, so fIRQ should remain false. + */ break; - case FDC.REG_DATA.CMD.FORMAT_TRACK: // 0x0D - bDrive = this.popCmd("DS"); + + case FDC.REG_DATA.CMD.READ_ID: // 0x0A + /* + * This command is used by "SETUP_DBL" in the MODEL_5170_REV3 BIOS to determine if a double-density + * (40-track) diskette has been inserted in a high-density (80-track) drive; ie, whether "double stepping" + * is required, since only 40 of the 80 possible "steps" are valid for a double-density diskette. + * + * To start, we'll focus on making this work in the normal case (80-track diskette in 80-track drive). + */ + bDrive = this.popCmd(FDC.TERMS.DS); bHeadSelect = (bDrive >> 2) & 0x1; this.iDrive = (bDrive & 0x3); drive = this.aDrives[this.iDrive]; drive.bHead = bHeadSelect; - n = this.popCmd("N"); // N - drive.nBytes = 128 << n; // 0 => 128, 1 => 256, 2 => 512, 3 => 1024 (bytes/sector) - drive.bSectorEnd = this.popCmd("SC"); // SC (sectors/track) - this.popCmd("GPL"); // GPL (spacing between sectors, excluding VCO Sync Field; 3) - drive.bFiller = this.popCmd("D"); // D (filler byte) + drive.bSector = 1; + n = 0; + drive.resCode = FDC.REG_DATA.RES.NONE; + if (drive.disk && (drive.sector = drive.disk.seek(drive.bCylinder, drive.bHead, drive.bSector))) { + n = drive.sector.length; + } else { + /* + * TODO: Determine the appropriate response code(s) for the possible errors that can occur here. + */ + drive.resCode = FDC.REG_DATA.RES.NO_DATA | FDC.REG_DATA.RES.INCOMPLETE; + } + this.pushST0(drive); + this.pushST1(drive); + this.pushST2(drive); + this.pushResult(drive.bCylinder, FDC.TERMS.C); + this.pushResult(drive.bHead, FDC.TERMS.H); + this.pushResult(drive.bSector, FDC.TERMS.R); + this.pushResult(n, FDC.TERMS.N); + fIRQ = true; + break; + + case FDC.REG_DATA.CMD.FORMAT_TRACK: // 0x0D + bDrive = this.popCmd(FDC.TERMS.DS); + bHeadSelect = (bDrive >> 2) & 0x1; + this.iDrive = (bDrive & 0x3); + drive = this.aDrives[this.iDrive]; + drive.bHead = bHeadSelect; + n = this.popCmd(FDC.TERMS.N); // N + drive.nBytes = 128 << n; // 0 => 128, 1 => 256, 2 => 512, 3 => 1024 (bytes/sector) + drive.bSectorEnd = this.popCmd(FDC.TERMS.SC); // SC (sectors/track) + this.popCmd(FDC.TERMS.GPL); // GPL (spacing between sectors, excluding VCO Sync Field; 3) + drive.bFiller = this.popCmd(FDC.TERMS.D); // D (filler byte) this.doFormat(drive); this.beginResult(); this.pushST0(drive); this.pushST1(drive); this.pushST2(drive); - this.pushResult(drive.bCylinder, "C"); - this.pushResult(drive.bHead, "H"); - this.pushResult(drive.bSector, "R"); - this.pushResult(n, "N"); + this.pushResult(drive.bCylinder, FDC.TERMS.C); + this.pushResult(drive.bHead, FDC.TERMS.H); + this.pushResult(drive.bSector, FDC.TERMS.R); + this.pushResult(n, FDC.TERMS.N); fIRQ = true; break; - case FDC.REG_DATA.CMD.SEEK: // 0x0F - bDrive = this.popCmd("DS"); + + case FDC.REG_DATA.CMD.SEEK: // 0x0F + bDrive = this.popCmd(FDC.TERMS.DS); bHeadSelect = (bDrive >> 2) & 0x1; this.iDrive = (bDrive & 0x3); drive = this.aDrives[this.iDrive]; @@ -1620,7 +1727,7 @@ FDC.prototype.doCmd = function() * allowed to exceed the physical boundaries of the drive (ie, never lower than 0, and never greater * than or equal to nCylinders). */ - bCylinder = this.popCmd("NCN"); + bCylinder = this.popCmd(FDC.TERMS.NCN); drive.bCylinder += bCylinder - drive.bCylinderSeek; if (drive.bCylinder < 0) drive.bCylinder = 0; if (drive.bCylinder >= drive.nCylinders) drive.bCylinder = drive.nCylinders - 1; @@ -1634,11 +1741,15 @@ FDC.prototype.doCmd = function() if (drive.bCylinder == 0) { drive.resCode |= FDC.REG_DATA.RES.TRACK0; } - this.beginResult(); // like FDC.REG_DATA.CMD.RECALIBRATE, no results are provided + this.beginResult(); // like FDC.REG_DATA.CMD.RECALIBRATE, no results are provided fIRQ = true; break; + default: - if (DEBUG) this.messageDebugger("FDC operation unsupported (command=0x: " + str.toHexByte(bCmd) + ")"); + if (DEBUG) { + this.messageDebugger("FDC operation unsupported (command=0x: " + str.toHexByte(bCmd) + ")"); + if (DEBUGGER) this.cpu.haltCPU(); + } break; } @@ -1649,7 +1760,7 @@ FDC.prototype.doCmd = function() * an interrupt is supposed to occur, signaling the beginning of the Result Phase. Once the first byte of the * result has been read, the interrupt is cleared (see inFDCData). * - * TODO: Technically, interrupt request status should be cleared by the FDC.REG_DATA.CMD.INT_STATUS command; in fact, + * TODO: Technically, interrupt request status should be cleared by the FDC.REG_DATA.CMD.SENSE_INT command; in fact, * if that command is issued and no interrupt was pending, then FDC.REG_DATA.RES.INVALID should be returned (via ST0). */ if (this.regOutput & FDC.REG_OUTPUT.INT_ENABLE) { @@ -1672,7 +1783,7 @@ FDC.prototype.popCmd = function(name) var bCmd = this.regDataArray[this.regDataIndex]; if (DEBUG && DEBUGGER && this.dbg && this.dbg.messageEnabled((this.regDataIndex > 0? this.dbg.MESSAGE_PORT : 0) | this.dbg.MESSAGE_FDC)) { var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK; - if (!name && !this.regDataIndex && FDC.aCmdSeqs[bCmdMasked]) name = FDC.aCmdSeqs[bCmdMasked].name; + if (!name && !this.regDataIndex && FDC.aCmdInfo[bCmdMasked]) name = FDC.aCmdInfo[bCmdMasked].name; this.dbg.message("FDC.CMD[" + (name || this.regDataIndex) + "]: 0x" + str.toHexByte(bCmd)); } this.regDataIndex++; @@ -1688,8 +1799,8 @@ FDC.prototype.popCmd = function(name) */ FDC.prototype.popHLT = function() { - this.popCmd("HLT"); - // this.nHLT = this.popCmd("HLT"); + this.popCmd(FDC.TERMS.HLT); + // this.nHLT = this.popCmd(FDC.TERMS.HLT); }; /** @@ -1701,8 +1812,8 @@ FDC.prototype.popHLT = function() */ FDC.prototype.popSRT = function() { - this.popCmd("SRT"); - // this.nSRT = this.popCmd("SRT"); + this.popCmd(FDC.TERMS.SRT); + // this.nSRT = this.popCmd(FDC.TERMS.SRT); }; /** @@ -1736,7 +1847,7 @@ FDC.prototype.pushResult = function(bResult, name) */ FDC.prototype.pushST0 = function(drive) { - this.pushResult(drive.iDrive | (drive.bHead << 2) | (drive.resCode & FDC.REG_DATA.RES.ST0), "ST0"); + this.pushResult(drive.iDrive | (drive.bHead << 2) | (drive.resCode & FDC.REG_DATA.RES.ST0), FDC.TERMS.ST0); }; /** @@ -1747,7 +1858,7 @@ FDC.prototype.pushST0 = function(drive) */ FDC.prototype.pushST1 = function(drive) { - this.pushResult((drive.resCode & FDC.REG_DATA.RES.ST1) >>> 8, "ST1"); + this.pushResult((drive.resCode & FDC.REG_DATA.RES.ST1) >>> 8, FDC.TERMS.ST1); }; /** @@ -1758,7 +1869,7 @@ FDC.prototype.pushST1 = function(drive) */ FDC.prototype.pushST2 = function(drive) { - this.pushResult((drive.resCode & FDC.REG_DATA.RES.ST2) >>> 16, "ST2"); + this.pushResult((drive.resCode & FDC.REG_DATA.RES.ST2) >>> 16, FDC.TERMS.ST2); }; /** @@ -1769,7 +1880,7 @@ FDC.prototype.pushST2 = function(drive) */ FDC.prototype.pushST3 = function(drive) { - this.pushResult((drive.resCode & FDC.REG_DATA.RES.ST3) >>> 24, "ST3"); + this.pushResult((drive.resCode & FDC.REG_DATA.RES.ST3) >>> 24, FDC.TERMS.ST3); }; /** @@ -2120,13 +2231,11 @@ FDC.prototype.intBIOSDiskette = function(addr) var DL = this.cpu.regDX & 0xff; var DH = this.cpu.regDX >> 8; if (this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_FDC) && DL < 0x80) { - this.dbg.message("\nFDC.intBIOS(AH=" + str.toHexByte(AH) + ",D=" + str.toHexByte(DL) + ",C=" + str.toHexByte(CH) + ",H=" + str.toHexByte(DH) + ",S=" + str.toHexByte(CL) + ",N=" + str.toHexByte(AL) + ") at " + str.toHexAddr(addr - this.cpu.segCS.base, this.cpu.segCS.sel)); - // this.cpu.haltCPU(); + this.dbg.message("\nFDC.intBIOS(AH=" + str.toHexByte(AH) + ",drv=" + str.toHexByte(DL) + ",cyl=" + str.toHexByte(CH) + ",hd=" + str.toHexByte(DH) + ",sec=" + str.toHexByte(CL) + ",num=" + str.toHexByte(AL) + ") at " + str.toHexAddr(addr - this.cpu.segCS.base, this.cpu.segCS.sel)); this.cpu.addInterruptReturn(addr, function(fdc, nCycles) { return function onBIOSDisketteReturn(nLevel) { nCycles = fdc.cpu.getCycles() - nCycles; fdc.messageDebugger("FDC.intBIOS(" + nLevel + "): C=" + (fdc.cpu.getCF()? 1 : 0) + " (cycles=" + nCycles + ")"); - // if (DEBUG && nCycles > 10000) fdc.cpu.haltCPU(); }; }(this, this.cpu.getCycles())); } diff --git a/my_modules/pcjs-client/lib/hdc.js b/my_modules/pcjs-client/lib/hdc.js index ec6133173..8eb5706d6 100644 --- a/my_modules/pcjs-client/lib/hdc.js +++ b/my_modules/pcjs-client/lib/hdc.js @@ -1642,6 +1642,27 @@ HDC.prototype.outATCDrvHd = function(port, bOut, addrFrom) { this.messagePort(port, bOut, addrFrom, "DRVHD"); this.regDrvHd = bOut; + /* + * The MODEL_5170_REV3 BIOS (see "POST2_CHK_HF2" @F000:14FC) probes for a 2nd hard drive when the number + * of configured hard drives is something other than 2, using INT 0x13/AH=0x10. This in turn calls the + * BIOS "TST_RDY" function, which selects the drive in this register (see DRIVE_MASK), and then immediately + * expects regStatus to reflect success or failure. + * + * We were always returning success, because no ATC command was actually issued, and so the user would + * always get a spurious CMOS configuration error: "System Options Not Set-(Run SETUP)". + * + * So now we update regStatus here. I'm not sure which status bits are normally set to indicate failure, + * but it should be sufficient to set or clear the READY bit according to whether the drive exists or not. + * + * TODO: Dig into the ATC documentation some more, and determine what other situations, if any, regStatus + * needs to be updated. + */ + var iDrive = (this.regDrvHd & HDC.ATC.DRVHD.DRIVE_MASK? 1 : 0); + if (this.aDrives[iDrive]) { + this.regStatus |= HDC.ATC.STATUS.READY; + } else { + this.regStatus &= ~HDC.ATC.STATUS.READY; + } }; /** @@ -2558,12 +2579,10 @@ HDC.prototype.intBIOSDisk = function(addr) if (DEBUGGER) { if (this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_HDC) && DL >= 0x80) { this.dbg.message("HDC.intBIOSDisk(AX=" + str.toHexWord(this.cpu.regAX) + ",DL=" + str.toHexByte(DL) + ") at " + str.toHexAddr(addr - this.cpu.segCS.base, this.cpu.segCS.sel)); - // this.cpu.haltCPU(); this.cpu.addInterruptReturn(addr, function (hdc, nCycles) { return function onBIOSDiskReturn(nLevel) { nCycles = hdc.cpu.getCycles() - nCycles; hdc.messageDebugger("HDC.intBIOSDisk(" + nLevel + "): C=" + (hdc.cpu.getCF()? 1 : 0) + " (cycles=" + nCycles + ")"); - // if (DEBUG && nCycles > 10000) hdc.cpu.haltCPU(); }; }(this, this.cpu.getCycles())); } diff --git a/my_modules/pcjs-client/lib/keyboard.js b/my_modules/pcjs-client/lib/keyboard.js index 82e1bee5f..77c144b40 100644 --- a/my_modules/pcjs-client/lib/keyboard.js +++ b/my_modules/pcjs-client/lib/keyboard.js @@ -117,14 +117,15 @@ Keyboard.CMD.ECHO = 0xEE; Keyboard.CMD.SETLEDS = 0xED; Keyboard.CMDRES = {}; -Keyboard.CMDRES.RESEND = 0xFE; -Keyboard.CMDRES.ACK = 0xFA; Keyboard.CMDRES.OVERRUN = 0x00; -Keyboard.CMDRES.DIAGFAIL = 0xFD; -Keyboard.CMDRES.BREAKPREFIX = 0xF0; +Keyboard.CMDRES.LOADTEST = 0x65; // this is an undocumented "LOAD MANUFACTURING TEST REQUEST" response code Keyboard.CMDRES.BATSUCCESS = 0xAA; // Basic Assurance Test (BAT) completed successfully -Keyboard.CMDRES.BATFAIL = 0xFC; // Basic Assurance Test (BAT) failed Keyboard.CMDRES.ECHO = 0xEE; +Keyboard.CMDRES.BREAKPREFIX = 0xF0; +Keyboard.CMDRES.ACK = 0xFA; +Keyboard.CMDRES.BATFAIL = 0xFC; // Basic Assurance Test (BAT) failed +Keyboard.CMDRES.DIAGFAIL = 0xFD; +Keyboard.CMDRES.RESEND = 0xFE; /* * Keyboard keyCodes I must pay particular attention to... @@ -587,37 +588,46 @@ Keyboard.prototype.resetDevice = function() }; /** - * setEnable(fEnable, fClock) + * setEnable(fData, fClock) * - * This is the ChipSet's primary interface for controlling "Model F" keyboards (ie, those used with - * MODEL_5150 and MODEL_5160 machines). This function is called from the ChipSet's PPI_B output handler. + * This is the ChipSet's primary interface for toggling keyboard "data" and "clock" lines. + * For MODEL_5150 and MODEL_5160 machines, this function is called from the ChipSet's PPI_B + * output handler. For MODEL_5170 machines, this function is called when selected KBC.CMD + * "data bytes" have been written. * * @this {Keyboard} - * @param {boolean} fEnable is true if the keyboard interface should be enabled - * @param {boolean} fClock is true if the keyboard's simulated clock line should go "high" + * @param {boolean} fData is true if the keyboard simulated data line should be enabled + * @param {boolean} fClock is true if the keyboard's simulated clock line should be enabled + * @return {boolean} true if keyboard was re-enabled, false if not (or no change) */ -Keyboard.prototype.setEnable = function(fEnable, fClock) +Keyboard.prototype.setEnable = function(fData, fClock) { + var fReset = false; if (this.fClock !== fClock) { - if (DEBUG) this.messageDebugger("keyboard clock changing to " + fClock, true); + if (DEBUG) this.messageDebugger("keyboard clock line changing to " + fClock, true); /* - * Toggling the clock line low and then high signals a "reset", which we acknowledge when enabled + * Toggling the clock line low and then high signals a "reset", which we acknowledge once the + * data line is high as well. */ this.fClock = this.fResetOnEnable = fClock; } - if (this.fEnable !== fEnable) { - if (DEBUG) this.messageDebugger("keyboard enable changing to " + fEnable, true); - this.fEnable = fEnable; - if (fEnable) { - if (this.fResetOnEnable) { - this.resetDevice(); - this.fResetOnEnable = false; - } - else { - this.shiftScanCode(); - } + if (this.fData !== fData) { + if (DEBUG) this.messageDebugger("keyboard data line changing to " + fData, true); + this.fData = fData; + /* + * TODO: Review this code; it was added during the early days of MODEL_5150 testing and may not be + * *exactly* what's called for here. + */ + if (fData && !this.fResetOnEnable) { + this.shiftScanCode(); } } + if (this.fData && this.fResetOnEnable) { + this.resetDevice(); + this.fResetOnEnable = false; + fReset = true; + } + return fReset; }; /** @@ -625,7 +635,7 @@ Keyboard.prototype.setEnable = function(fEnable, fClock) * * This is the ChipSet's primary interface for controlling "Model M" keyboards (ie, those used * with MODEL_5170 machines). Commands are delivered through the ChipSet's 8042 Keyboard Controller. - * + * * @this {Keyboard} * @param {number} bCmd should be one of the Keyboard.CMD.* command codes (Model M keyboards only) * @return {number} response should be one of the Keyboard.CMDRES.* response codes, or -1 if unrecognized @@ -708,7 +718,7 @@ Keyboard.prototype.powerUp = function(data, fRepower) if (!fRepower) { /* * TODO: Save/restore support for Keyboard is the barest minimum. In fact, originally, I wasn't - * saving/restoring anything, and that was OK, but if we don't at least re-initialize fClock/fEnable, + * saving/restoring anything, and that was OK, but if we don't at least re-initialize fClock/fData, * we can get a spurious reset following a restore. In an ideal world, we might choose to save/restore * abScanBuffer as well, but realistically, I think it's going to be safer to always start with an * empty buffer--and who's going to notice anyway? @@ -828,7 +838,7 @@ Keyboard.prototype.initState = function(data) var i = 0; if (data === undefined) data = []; this.fClock = data[i++]; - this.fEnable = data[i]; + this.fData = data[i]; return true; }; @@ -843,7 +853,7 @@ Keyboard.prototype.saveState = function() var i = 0; var data = []; data[i++] = this.fClock; - data[i] = this.fEnable; + data[i] = this.fData; return data; }; diff --git a/my_modules/pcjs-client/lib/video.js b/my_modules/pcjs-client/lib/video.js index 8573bcb21..8b899d243 100644 --- a/my_modules/pcjs-client/lib/video.js +++ b/my_modules/pcjs-client/lib/video.js @@ -1968,10 +1968,10 @@ Video.prototype.intBIOSVideo = function(addr) if (DEBUGGER) { if (this.dbg && this.dbg.messageEnabled(this.dbg.MESSAGE_VIDEO)) { this.dbg.message("Video.intBIOS(AX=" + str.toHexWord(this.cpu.regAX) + ") at " + str.toHexAddr(addr - this.cpu.segCS.base, this.cpu.segCS.sel)); - // this.cpu.haltCPU(); this.cpu.addInterruptReturn(addr, function (video, nCycles) { return function onBIOSVideoReturn(nLevel) { - video.intBIOSVideoReturn(nCycles, nLevel); + nCycles = video.cpu.getCycles() - nCycles; + video.messageDebugger("Video.intBIOSReturn(" + nLevel + ") (cycles=" + nCycles + ")"); }; }(this, this.cpu.getCycles())); } @@ -1979,22 +1979,6 @@ Video.prototype.intBIOSVideo = function(addr) return true; }; -/** - * intBIOSVideoReturn(nCycles, nLevel) - * - * @this {Video} - * @param {number} nCycles - * @param {number} nLevel - */ -Video.prototype.intBIOSVideoReturn = function(nCycles, nLevel) -{ - if (DEBUGGER) { - nCycles = this.cpu.getCycles() - nCycles; - this.messageDebugger("Video.intBIOSReturn(" + nLevel + ") (cycles=" + nCycles + ")"); - // if (DEBUG && nCycles > 10000) this.cpu.haltCPU(); - } -}; - /** * setBinding(sHTMLClass, sHTMLType, sBinding, control) * diff --git a/my_modules/pcjs-client/lib/x86cpu.js b/my_modules/pcjs-client/lib/x86cpu.js index 3f27d74e9..389ffe37d 100644 --- a/my_modules/pcjs-client/lib/x86cpu.js +++ b/my_modules/pcjs-client/lib/x86cpu.js @@ -558,7 +558,9 @@ X86CPU.prototype.initProcessor = function() if (this.model >= X86.MODEL_80186) { /* * TODO: I don't go out of my way to make 80186/80188 cycle times accurate, since no IBM PC models used - * those processors; beyond this point, my real priority is the 80286. But we may revisit the 80186 someday. + * those processors; beyond this point, my real priority is the 80286. But we may revisit the 80186 someday; + * instruction handlers that contain "hard-coded" 80286 cycle times include: opINSb, opINSw, opOUTSb, + * opOUTSw, opENTER, and opLEAVE. */ this.nShiftCountMask = 0x1f; // on newer processors, all shift counts are MOD 32 @@ -582,7 +584,7 @@ X86CPU.prototype.initProcessor = function() this.aOps[0xC0] = X86OpXX.opGRP2ab; this.aOps[0xC1] = X86OpXX.opGRP2aw; this.aOps[X86.OPCODE.ENTER] = X86OpXX.opENTER; - this.aOps[X86.OPCODE.ENTER] = X86OpXX.opLEAVE; + this.aOps[X86.OPCODE.LEAVE] = X86OpXX.opLEAVE; this.aOps[0xF1] = X86OpXX.opINT1; X86Grps.aOpGRP4b[0x07] = X86Grps.opGrpInvalid; X86Grps.aOpGRP4w[0x07] = X86Grps.opGrpInvalid; diff --git a/my_modules/pcjs-client/lib/x86opxx.js b/my_modules/pcjs-client/lib/x86opxx.js index 6def231f3..c13d11805 100644 --- a/my_modules/pcjs-client/lib/x86opxx.js +++ b/my_modules/pcjs-client/lib/x86opxx.js @@ -1198,7 +1198,7 @@ var X86OpXX = { /* * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. TODO: Fix this someday. + * low priority. */ var nCycles = 5; @@ -1244,7 +1244,7 @@ var X86OpXX = { /* * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. TODO: Fix this someday. + * low priority. */ var nCycles = 5; @@ -1288,7 +1288,7 @@ var X86OpXX = { /* * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. TODO: Fix this someday. + * low priority. */ var nCycles = 5; @@ -1331,7 +1331,7 @@ var X86OpXX = { /* * NOTE: 5 + 4n is the cycle time for the 80286; the 80186/80188 has different values: 14 cycles for * an unrepeated INS, and 8 + 8n for a repeated INS. However, accurate cycle times for the 80186/80188 is - * low priority. TODO: Fix this someday. + * low priority. */ var nCycles = 5; @@ -2753,7 +2753,7 @@ var X86OpXX = { /* * NOTE: 11 is the minimum cycle time for the 80286; the 80186/80188 has different cycle times: 15, 25 and * 22 + 16 * (bLevel - 1) for bLevel 0, 1 and > 1, respectively. However, accurate cycle times for the 80186/80188 - * is low priority. TODO: Fix this someday. + * is low priority. */ this.nStepCycles -= 11; this.pushWord(this.regBP); @@ -2781,7 +2781,7 @@ var X86OpXX = { this.regBP = this.popWord(); /* * NOTE: 5 is the cycle time for the 80286; the 80186/80188 has a cycle time of 8. However, accurate cycle - * counts for the 80186/80188 is low priority. TODO: Fix this someday. + * counts for the 80186/80188 is low priority. */ this.nStepCycles -= 5; }, diff --git a/versions/pcjs/1.15.4/pc-dbg.js b/versions/pcjs/1.15.4/pc-dbg.js index f87e8ad77..335abc04d 100644 --- a/versions/pcjs/1.15.4/pc-dbg.js +++ b/versions/pcjs/1.15.4/pc-dbg.js @@ -1,118 +1,118 @@ -(function(){var k;function aa(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}function ba(a){var b,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e;aa(a,b)&&!isNaN(e=parseInt(a,b))&&(c=e)}return c} -function l(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function p(a){return l(a,2)}function r(a){return l(a,4)}function ca(a,b){return void 0!==b?r(b)+":"+r(a):l(a)}function da(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ka(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0c&&a.splice(-(c+1),0,b)}function ma(){return Date.now()||+new Date}function na(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var oa=[31,28,31,30,31,30,31,31,30,31,30,31]; -function pa(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=da(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,h=n.responseText,200!=n.status&&(g=n.status||-1),d&&e&&e.call(d,m,h,g,f))});if(c){var q="",t;for(t in c)c.hasOwnProperty(t)&&(q&&(q+="&"),q+=t+"="+encodeURIComponent(c[t]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded"); -n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(h=n.responseText,200!=n.status&&(g=n.status||-1),d&&e&&e.call(d,m,h,g,f),a=[g,h]);return a}function qa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function v(a){window?window.alert(a):console.log(a)}function ra(a){var b=!1;window&&(b=window.confirm(a));return b}function sa(a){window&&window.localStorage.setItem("user",a)} -function ta(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function ua(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=this.Zf?12:14;this.hc=1<>2;this.eb=this.hc-1;this.Ug=(this.se+this.hc)/this.hc|0;this.we=this.Ug-1;this.sd=[];this.td=[];this.Vf=this.Wf=!1;this.Bi();this.Sa()}x(w,Ta); -Ta.prototype.Bi=function(){this.Aa=Array(this.Ug);for(var a=0;a>a.ob;0>this.ob;0>a.ob;0>a.ob].pg(b&a.eb)} -function ab(a,b){var c=b&a.eb,d=(b&a.Jb)>>a.ob;return c!=a.eb?a.Aa[d].Dj(c):a.Aa[d++].pg(c)|a.Aa[d&a.we].pg(0)<<8}function bb(a,b,c){a.Aa[(b&a.Jb)>>a.ob].yg(b&a.eb,c&255)}function cb(a,b,c){var d=b&a.eb;b=(b&a.Jb)>>a.ob;d!=a.eb?a.Aa[b].Mj(d,c&65535):(a.Aa[b++].yg(d,c&255),a.Aa[b&a.we].yg(0,c>>8&255))} -function eb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Wo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.qa[b]>>>a;return 24>a?c&65535:c&255|(this.qa[b+1]&255)<<8},dp:function(a,b){var c=a>>2,d=(a&3)<<3;this.qa[c]=this.qa[c]&~(255<>2,d=(a&3)<<3;24>d?this.qa[c]=this.qa[c]&~(65535<>8);this.jb=!0},Vo:function(a){ob(this.Z, -this.We+a);return this.pg(a)},Xo:function(a){ob(this.Z,this.We+a)||ob(this.Z,this.We+a+1);return this.Dj(a)},ep:function(a,b){pb(this.Z,this.We+a);this.yg(a,b)},gp:function(a,b){pb(this.Z,this.We+a)||pb(this.Z,this.We+a+1);this.Mj(a,b)},save:function(){return this.ia?null:this.qa},restore:function(a){return this.ia?null===a:this.mm==a.length<<2?(this.qa=a,this.jb=!0):!1},Oe:function(a,b){a||(a=[]);void 0===b&&(b=!0);qb(this,a,b);sb(this,a,b)},Vd:function(a,b){b?0===this.gk++&&sb(this,tb):0===this.fk++&& -qb(this,tb)}};function ub(a,b){b?0===--a.gk&&(a.Cc=a.fh?a.vf:a.yg,a.am=a.fh?a.vf:a.Mj):0===--a.fk&&(a.tc=a.pg,a.Ol=a.Dj)}function Ua(a,b,c,d,e){a.S=b;a.Z=c;a.We=d;a.fk=a.gk=0;a.Z&&vb(a.Z,d,e)}function sb(a,b,c){a.Cc=b[2]&&!a.fh?b[2]:a.vf;a.am=b[3]&&!a.fh?b[3]:a.vf;c&&(a.yg=b[2]?b[2]:a.vf,a.Mj=b[3]?b[3]:a.vf)}function qb(a,b,c){a.tc=b[0]?b[0]:a.Ch;a.Ol=b[1]?b[1]:a.Ch;c&&(a.pg=b[0]?b[0]:a.Ch,a.Dj=b[1]?b[1]:a.Ch)} -var nb=[Va.prototype.Uo,Va.prototype.Wo,Va.prototype.dp,Va.prototype.fp],tb=[Va.prototype.Vo,Va.prototype.Xo,Va.prototype.ep,Va.prototype.gp]; -function wb(a,b){w.call(this,"CPU",a,wb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.ph=Math.round(this.Hd/1E4)/100;this.Fe=this.ph*this.Gd;this.Ob=this.Nb=!1;this.ki=a.autoStart;c=Da.autostart;void 0!==c&&(this.ki="true"==c?!0:"false"==c?!1:null);this.bf=!1;this.$f=this.lf=0;this.bg=a.csStart;this.kf=a.csInterval;this.mf=a.csStop;var d=this;this.Wn=function(){d.Me()};this.Sa()}x(w,wb);k=wb.prototype; -k.pc=function(a,b,c,d){this.na=b;this.Z=d;this.Da=a;var e=B(a,"Video");e&&(this.fi=function(){xb(e)},this.Md=function(){e.Md()});this.ka=B(a,"ChipSet");this.Sa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){yb(this);if(!this.restore(a))return!1;zb(this)}else this.reset();this.Z?this.Z.zn():this.ca("No debugger detected")}this.Nb=!0;!Ab(this)&&this.Z&&Bb(this.Z);Cb(this);return!0}; -k.Yb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Ab(a){return!0===a.ki||null===a.ki&&!a.Z&&void 0===a.ta.run?(a.Me(),!0):!1}k.Md=function(){};k.vk=function(){return 0};function zb(a){void 0===a.bg&&(a.bg=0);void 0===a.kf&&(a.kf=-1);void 0===a.mf&&(a.mf=-1);a.bf=0<=a.bg&&0=a.lf&&(a.lf+=a.kf,c=!0);0<=a.mf&&a.mf<=D(a)&&(a.kf=a.mf=-1,zb(a),a.zb(),c=!0);c&&a.ca(D(a)+" cycles: checksum="+l(a.$f))}}function E(a,b,c,d){void 0!==a.ta[b]&&(void 0===d&&(d=4),void 0===c&&(Qa(a,"Register "+b+" is invalid"),a.zb()),c=l(c,d),a.ta[b].innerHTML!=c&&(a.ta[b].innerHTML=c))}k.Zg=function(){};k.fi=function(){}; -k.wb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ta[c]=d;d.onclick=function(){e.Ob?e.zb(!0):e.Me(!0)};a=!0;break;case "reset":this.ta[c]=d;d.onclick=function(){e.Da&&Eb(e.Da)};a=!0;break;case "speed":this.ta[c]=d;a=!0;break;case "setSpeed":this.ta[c]=d,d.onclick=function(){Fb(e,e.Gd<<1,!0)},d.innerHTML=this.Fe.toFixed(2)+"Mhz",a=!0}return a};function Gb(a,b,c){a.Je+=b;c&&(a.Yc=a.A=0)} -function Ib(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ph&&(c=Math.round(c/a.Gd));return c}function yb(a){a.md=0;a.sh=1;a.Je=a.ie=a.Yc=a.A=0;zb(a);Fb(a,1)} -function Fb(a,b,c){void 0!==b&&(0.8>a.md/a.Fe&&(b=1),a.Gd=b,b=a.ph*a.Gd,a.Fe!=b&&(a.Fe=b,b=a.Fe.toFixed(2)+"Mhz",a.ta.setSpeed&&(a.ta.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Md());Gb(a,a.ie);a.ie=0;a.jf=ma();a.Ge=0;Ib(a)} -k.Me=function(a){if(Na(this,!0)){this.Ob||(Fb(this),this.Da&&this.Da.start(this.jf,D(this)),this.Ob=!0,this.ka&&Jb(this.ka),this.ta.run&&(this.ta.run.innerHTML="Halt"),a&&this.Md());this.wj>=this.Hd&&Ib(this,!0);this.eg=0;this.qh=ma();this.Ge&&(a=this.qh-this.Ge,a>this.Ck&&(this.jf+=a,this.jf>this.qh&&(this.jf=this.qh)));try{do{this.uf(this.bf?1:Math.round(this.On/this.sh));var b=this.Yc-this.A;this.ie+=b;this.eg+=b;Gb(this,0,!0);Db(this,b);this.dg-=b;0>=this.dg&&(this.dg+=this.Gk,this.fi());this.cg-= -b;0>=this.cg&&(this.cg+=this.Fk,this.Zg());this.nf-=b;if(0>=this.nf){this.nf+=this.Ii;break}}while(this.Ob)}catch(c){this.zb();Cb(this);this.Da&&this.Da.stop(ma(),D(this));Na(this,!1);Qa(this,c.message);return}b=setTimeout;a=this.Wn;this.Ge=ma();var d=this.Ck;this.eg&&(d=Math.round(d*this.eg/this.Ii));var d=d-(this.Ge-this.qh),e=this.Ge-this.jf;e&&(this.md=Math.round(this.ie/(10*e))/100,864E5<=e&&(this.Je=0,this.ka&&Kb(this.ka,!0),Fb(this)));if(0>d||this.md>13;return this.La=e}if(b&&768>=b)return this.oa=a,this.Nc=c,this.ab=d,this.Mc=(d&24576)>>13,this.La=e}return-1}function Ub(a){return this.La+a} -function Vb(a){return this.La+a}function Qb(a,b,c){return a+b<=this.Nc?this.La+a:Sb.call(this,0,0,c)}function Sb(a,b,c){c||Wb.call(this.S,13,0);return-1}function Rb(a,b,c){return a+b<=this.Nc?this.La+a:Tb.call(this,0,0,c)}function Tb(a,b,c){c||Wb.call(this.S,13,0);return-1}Mb.prototype.save=function(){return[this.oa,this.La,this.Nc,this.ab,this.Mc,this.ug]};Mb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.oa=a[0],this.La=a[1],this.Nc=a[2],this.ab=a[3],this.Mc=a[4],this.ug=a[5])}; -function Nb(a,b){void 0===b&&(b=!!(a.S.ad&1));b?(a.load=Pb,a.Uc=Qb,a.$b=Rb):(a.load=Ob,a.Uc=Ub,a.$b=Vb)} -function Xb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}wb.call(this,a,b);this.Tj=61442;this.Eg=4;this.of=255;this.xj=4;this.aa=5;this.ua=6;this.fa=7;this.ga=8;this.P=9;this.V=11;this.W=12;this.He=4;this.Ik=60;this.Jk=83;this.Vb=3;this.qb=9;this.ic=16;this.wh=1;this.Nk=19;this.Pk=28;this.Rk=16;this.Qk=21;this.Ok=37;this.Lk=2;this.Qi=9;this.Mk=5;this.Kk=33;this.Si=10;this.Ri=8;this.ig=3;this.hg=15;this.el=51;this.fl=1;this.gl=2;this.hl=4;this.dl= -32;this.jl=this.Ti=15;this.Wb=16;this.Xb=4;this.ll=11;this.kl=18;this.il=24;this.Cb=4;this.ml=2;this.Ui=16;this.nl=17;this.Zi=18;this.ol=19;this.Yi=5;this.$i=6;this.tl=2;this.sl=8;this.ql=9;this.bj=this.aj=this.pl=this.rl=10;this.Tk=80;this.Vk=144;this.Sk=86;this.Uk=154;this.Xk=101;this.Zk=165;this.Wk=107;this.Yk=171;this.vl=70;this.xl=113;this.ul=76;this.wl=124;this.al=80;this.cl=128;this.$k=86;this.bl=134;this.kg=3;this.jg=16;this.gj=10;this.fj=8;this.yl=51;this.jc=8;this.zl=17;this.Al=36;this.rc= -11;this.Bl=16;this.lg=10;this.Pb=2;this.Ni=18;this.Oi=9-this.Pb;this.Pi=17-this.Pb;this.Vi=12;this.Wi=9-this.Pb;this.Xi=13-this.Pb;this.cj=18;this.dj=9-this.Pb;this.ej=17-this.Pb;this.hj=15;this.ij=9-this.Pb;this.jj=15-this.Pb;this.nj=11;this.oj=9-this.Pb;this.pj=10-this.Pb;this.Cl=8;this.Fl=12;this.Dl=18;this.El=17;this.Gl=15;this.lj=8;this.kj=20;this.mj=2;this.sj=3;this.mg=9;this.rj=5;this.qj=11;this.uj=4;this.tj=17;this.Hl=11;this.Pa=Yb.slice();80186<=this.Ga&&(this.of=31,this.Pa[15]=F,this.Pa[96]= -Zb,this.Pa[97]=$b,this.Pa[98]=ac,this.Pa[99]=F,this.Pa[100]=F,this.Pa[101]=F,this.Pa[102]=F,this.Pa[103]=F,this.Pa[104]=bc,this.Pa[105]=cc,this.Pa[106]=dc,this.Pa[107]=ec,this.Pa[108]=fc,this.Pa[109]=gc,this.Pa[110]=hc,this.Pa[111]=ic,this.Pa[192]=jc,this.Pa[193]=kc,this.Pa[200]=lc,this.Pa[200]=mc,this.Pa[241]=nc,oc[7]=pc,qc[7]=pc,80286<=this.Ga&&(this.Tj=2,this.Eg=0,this.Pa[15]=rc,this.Pa[99]=sc,this.Pa[84]=tc,this.P=this.ga=this.fa=this.ua=this.aa=this.xj=0,this.W=this.V=1,this.He=3,this.Ik=14, -this.Jk=16,this.Vb=2,this.ic=this.qb=7,this.wh=0,this.Nk=7,this.Pk=13,this.Rk=7,this.Qk=11,this.Ok=16,this.Lk=3,this.Qi=6,this.Mk=2,this.Kk=13,this.Ri=this.Si=5,this.ig=2,this.hg=7,this.el=23,this.fl=0,this.gl=1,this.hl=3,this.dl=17,this.Ti=7,this.jl=11,this.Wb=7,this.Xb=3,this.ll=7,this.kl=11,this.il=15,this.Cb=2,this.ml=3,this.Ui=7,this.ol=this.Zi=this.nl=8,this.$i=this.Yi=4,this.tl=2,this.sl=3,this.ql=5,this.rl=2,this.pl=3,this.aj=5,this.bj=3,this.Tk=14,this.Vk=22,this.Sk=17,this.Uk=25,this.Xk= -17,this.Zk=25,this.Wk=20,this.Yk=28,this.vl=13,this.xl=21,this.ul=16,this.wl=24,this.al=13,this.cl=21,this.$k=16,this.bl=24,this.kg=2,this.jg=7,this.fj=this.gj=5,this.yl=19,this.zl=this.jc=5,this.Al=17,this.rc=3,this.Bl=5,this.lg=3,this.Pb=0,this.Ni=8,this.Oi=5,this.Pi=9,this.Wi=this.Vi=5,this.Xi=4,this.dj=this.cj=5,this.ej=4,this.hj=7,this.ij=5,this.jj=8,this.nj=3,this.oj=4,this.pj=3,this.Fl=this.Cl=11,this.El=this.Dl=15,this.Gl=7,this.lj=5,this.kj=8,this.mj=0,this.sj=2,this.mg=6,this.rj=3,this.qj= -6,this.uj=3,this.Hl=this.tj=5));this.Gg=[];this.Hg=[];this.Wg=0;this.Aa=[];this.se=this.Jb=this.ob=this.eb=this.we=0;this.T=this.xm;this.U=this.ym;this.N=this.Fn;this.O=this.Gn;this.Q=this.bp;this.R=this.cp;uc(this)}x(wb,Xb);k=Xb.prototype;k.Bi=function(a,b,c,d,e){this.Aa=a;this.se=this.Jb=b;this.ob=c;this.eb=d;this.we=e};k.reset=function(){this.Ob&&this.zb();uc(this);yb(this);this.kd=!1}; -function uc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.ed=0;a.re=1023;a.Jc={yj:0,oa:0,ab:0,oh:-1};a.ra=new Mb(a,"CS");a.Qb=new Mb(a,"DS");a.Eb=new Mb(a,"SS");a.bb=new Mb(a,"ES");a.Yl=new Mb(a,"ZERO");vc(a,0,65535);80286<=a.Ga&&(a.Qc=a.Xe=0,a.Ld=new Mb(a,"LDT",!0),a.xg=new Mb(a,"TSS",!0),a.Rb=new Mb(a,"VER",!0),vc(a,65520,61440),a.ra.La=16711680);wc(a,0);xc(a);a.kb=0;a.Db=a.rg=-1;a.Pg=0;a.ha=a.Ka=-1;a.C=a.Qb;a.M=a.Eb;a.$=a.wa=0} -k.vk=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.sa+this.ra.oa+this.Qb.oa+this.Eb.oa+this.bb.oa+yc(this)|0};function zc(a,b,c,d){void 0!==d&&(void 0===a.Gg[b]&&(a.Gg[b]=[]),a.Gg[b].push([c,d]))}function Ac(a,b,c){void 0!==c&&(null==a.Hg[b]&&a.Wg++,a.Hg[b]=c)}function Bc(a,b){var c=a.Hg[b];null!=c&&(c(--a.Wg),delete a.Hg[b])}function xc(a,b){void 0===b&&(b=!!(a.ad&1));Cc=b?Dc:Ec;Nb(a.ra,b);Nb(a.Qb,b);Nb(a.Eb,b);Nb(a.bb,b)} -k.save=function(){var a=new G(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.sa,this.ra.save(),this.Qb.save(),this.Eb.save(),this.bb.save(),yc(this),null!=this.Qc?[this.ad,this.Qc,this.Xe,this.ed,this.re,this.Ld.save(),this.xg.save()]:null]);a.set(2,[this.C.ug,this.M.ug,this.$,this.wa,this.kb,this.ha,this.Ka]);a.set(3,[this.sh,this.Je,this.Gd]);a.set(4,eb(this.na));return a.data()}; -k.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.ra.restore(b[1]);this.Qb.restore(b[2]);this.Eb.restore(b[3]);this.bb.restore(b[4]);wc(this,b[5]);var c=b[6];c&&c.length&&(this.ad=c[0],this.Qc=c[1],this.Xe=c[2],this.ed=c[3],this.re=c[4],this.Ld.restore(c[5]),this.xg.restore(c[6]),xc(this));H(this,b[0]);b=a[2];this.C=Fc(this,b[0]);this.M=Fc(this,b[1]);this.$=b[2];this.wa=b[3];this.kb=b[4];this.ha=b[5];this.Ka= -b[6];b=a[3];this.sh=b[0];this.Je=b[1];Fb(this,b[2]);a:{b=this.na;a=a[4];for(c=0;c>1?128:0} -function Tc(a){return(a.ja^a.ma^a.ja>>1)&a.da>>1?2048:0}function Uc(a){a.Y&=~a.da}function Vc(a){a.ma=a.ja&16|a.ma&-17}function Wc(a){a.Y|=a.da-1}function Xc(a){Sc(a)&&(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function Yc(a){a.ja&=~a.da;a.ma=a.ja&32896|a.ma&-32897}function Zc(a){a.Y|=a.da}function $c(a){a.ma=~(a.ja&16)&16|a.ma&-17}function ad(a){a.Y&=~(a.da-1)}function bd(a){Sc(a)||(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function cd(a){a.ja|=a.da;a.ma=a.ja&32896|a.ma&-32897} -function yc(a){return a.xa&-2262|Oc(a)|Pc(a)|Qc(a)|Rc(a)|Sc(a)|Tc(a)}function wc(a,b){a.da=256;a.Y=a.ja=a.ma=0;b&1&&Zc(a);b&4||(a.ja|=1);b&16&&(a.ma|=16);b&64||Wc(a);b&128&&bd(a);b&2048&&cd(a);a.xa=a.xa&-1793|b&1792|a.Tj;a.xa&256&&(a.kb|=2,a.$|=4)} -k.wb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ta[c]=d;e=!0;break;default:e=wb.prototype.wb.call(this,a,b,c,d)}return e};k.ub=function(a){return this.Aa[(a&this.Jb)>>this.ob].tc(a&this.eb)}; -k.Ia=function(a){var b=a&this.eb;a=(a&this.Jb)>>this.ob;this.A-=this.xj;return b!=this.eb?this.Aa[a].Ol(b):this.Aa[a++].tc(b)|this.Aa[a&this.we].tc(0)<<8};k.bd=function(a,b){this.Aa[(a&this.Jb)>>this.ob].Cc(a&this.eb,b&255)};k.Nd=function(a,b){var c=a&this.eb,d=(a&this.Jb)>>this.ob;this.A-=this.xj;c!=this.eb?this.Aa[d].am(c,b&65535):(this.Aa[d++].Cc(c,b&255),this.Aa[d&this.we].Cc(0,b>>8&255))};k.xm=function(a,b){this.wg=a;this.ha=a.Uc(this.ng=b,0);return this.$&1?0:this.ub(this.ha)}; -k.ym=function(a,b){this.wg=a;this.ha=a.Uc(this.ng=b,1);return this.$&1?0:this.Ia(this.ha)};k.Fn=function(a,b){this.wg=a;this.Ka=this.ha=a.Uc(this.ng=b,0);return this.$&1?0:this.ub(this.ha)};k.Gn=function(a,b){this.wg=a;this.Ka=this.ha=a.Uc(this.ng=b,1);return this.$&1?0:this.Ia(this.ha)};k.bp=function(a){this.$&2||this.bd(this.wg.$b(this.ng,1),a)};k.cp=function(a){this.$&2||this.Nd(this.wg.$b(this.ng,2),a)};k.ea=function(){var a=this.ub(this.Ca);this.Ca=this.ra.La+(this.sa=this.sa+1&65535);return a}; -k.L=function(){var a=this.ub(this.Ca)<<24>>24;this.Ca=this.ra.La+(this.sa=this.sa+1&65535);return a&65535};k.K=function(){var a=this.Ia(this.Ca);this.Ca=this.ra.La+(this.sa=this.sa+2&65535);return a};k.Ja=function(){var a=this.X;this.X=this.X+2&65535;return this.Ia(this.Eb.Uc(a,1))};function J(a,b){var c=a.X=a.X-2&65535;a.Nd(a.Eb.$b(c,1),b)} -k.Zg=function(){E(this,"AX",this.G);E(this,"BX",this.B);E(this,"CX",this.I);E(this,"DX",this.J);E(this,"SP",this.X);E(this,"BP",this.H);E(this,"SI",this.F);E(this,"DI",this.D);E(this,"CS",this.ra.oa);E(this,"DS",this.Qb.oa);E(this,"SS",this.Eb.oa);E(this,"ES",this.bb.oa);E(this,"IP",this.sa);var a=yc(this);E(this,"PS",a);E(this,"C",a&1?1:0,1);E(this,"P",a&4?1:0,1);E(this,"A",a&16?1:0,1);E(this,"Z",a&64?1:0,1);E(this,"S",a&128?1:0,1);E(this,"T",a&256?1:0,1);E(this,"I",a&512?1:0,1);E(this,"D",a&1024? -1:0,1);E(this,"O",a&2048?1:0,1);this.ta.speed&&(this.ta.speed.innerHTML=this.Ob&&this.md?this.md.toFixed(2)+"Mhz":"Stopped")}; -k.uf=function(a){this.oi=!0;this.qm=a&&this.Z&&1this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=a+b)&255}function id(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=this.ma=a|b)&255} -function jd(a,b){this.ma=a^b;this.Y=this.ja=a+b+(this.Y&this.da?1:0);this.da=256;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return this.Y&255}function kd(a,b){this.ma=a^b;this.Y=this.ja=a-b-(this.Y&this.da?1:0);this.da=256;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return this.Y&255}function ld(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=this.ma=a&b)&255} -function md(a,b){this.ma=a^b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=a-b)&255}function nd(a,b){this.da=256;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=this.ma=a^b)&255}function od(a,b){this.ma=a^b;this.da=256;this.Y=this.ja=a-b;this.A-=0>this.Ka?0>this.ha?this.Vb:this.Qi:this.qb;this.$|=2;return a} -function pd(a,b){this.ma=a^b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=a+b)&65535}function qd(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=this.ma=a|b)&65535}function rd(a,b){this.ma=a^b;this.Y=this.ja=a+b+(this.Y&this.da?1:0);this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return this.Y&65535} -function sd(a,b){this.ma=a^b;this.Y=this.ja=a-b-(this.Y&this.da?1:0);this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return this.Y&65535}function td(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=this.ma=a&b)&65535}function ud(a,b){this.ma=a^b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=a-b)&65535} -function vd(a,b){this.da=65536;this.A-=0>this.Ka?0>this.ha?this.Vb:this.qb:this.ic;return(this.Y=this.ja=this.ma=a^b)&65535}function wd(a,b){this.ma=a^b;this.da=65536;this.Y=this.ja=a-b;this.A-=0>this.Ka?0>this.ha?this.Vb:this.Qi:this.qb;this.$|=2;return a}function xd(a,b){this.Y=this.Y&this.da-1|(a&b?this.da:0);(a^a>>1)&b>>1?cd(this):Yc(this)}function yd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;xd.call(this,d,256)}return c} -function zd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;xd.call(this,d,65536)}return c}function Ad(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);xd.call(this,d,256)}return c}function Bd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);xd.call(this,d,65536)}return c} -function Cd(a,b){var c=a;if(b){var d;(d=(b&this.of)%9)?(d=a<>9-d,c=d&255):d=a|(this.Y&this.da?1:0)<<8;xd.call(this,d,256)}return c}function Dd(a,b){var c=a;if(b){var d;(d=(b&this.of)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Y&this.da?1:0)<<16;xd.call(this,d,65536)}return c}function Ed(a,b){var c=a;b&&(c=(b&this.of)%9,c=a>>c|(this.Y&this.da?1:0)<<8-c|a<<9-c,xd.call(this,c,256),c&=255);return c} -function Fd(a,b){var c=a;b&&(c=(b&this.of)%17,c=a>>c|(this.Y&this.da?1:0)<<16-c|a<<17-c,xd.call(this,c,65536),c&=65535);return c}function Gd(a,b){var c=a;b&&(c=8>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.ma=a^this.Y;this.da=256;a=this.Y}return a&255}function Jd(a,b){if(b){var c=16>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.ma=a^this.Y;this.da=65536;a=this.Y}return a&65535}function Kd(a,b){if(b){8>24>>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.ma=a^this.Y;this.da=256;a=this.Y}return a&255} -function Ld(a,b){if(b){16>16>>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.ma=a^this.Y;this.da=65536;a=this.Y}return a&65535}function Md(){this.A-=0>this.ha?2:this.Gl;return 1}function Nd(){var a=this.I&this.of;this.A-=(0>this.ha?this.lj:this.kj)+(a<this.ha?this.lj:this.kj)+(a<this.Ka?this.jc:this.zl;return b},Td,Td,Td,Td,Td,Td,Td],Xd=[function(a,b){this.A-=0>this.Ka?this.rl:this.pl;return b},L,L,L,L,L,L,L],Yd=[yd,Ad,Cd,Ed,Gd,Id,L,Kd],Zd=[zd,Bd,Dd,Fd,Hd,Jd,L,Ld],ae=[function(a,b){b=this.ea();this.Y=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.ha?this.rj:this.qj;this.$|=2;return a},L,function(a){this.A-=0>this.ha?this.kg:this.jg;return a^255},function(a,b){b=0;this.ma=a^b;this.da= -256;this.A-=0>this.ha?this.kg:this.jg;return(this.Y=this.ja=b-a)&255},function(a){this.G=this.Db=(this.Y=(this.G&255)*a)&65535;this.ma=this.ja=this.Y;this.da=256;this.G&65280?(Zc(this),cd(this)):(Uc(this),Yc(this));this.A-=0>this.ha?this.vl:this.ul;this.$|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.Y=this.ma=this.ja=b;this.da=256;127b?(Zc(this),cd(this)):(Uc(this),Yc(this));this.A-=0>this.ha?this.al:this.$k;this.$|=2;return a},function(a){if(!a)return $d.call(this), -a;var b=this.G/a;if(255this.ha?this.Tk:this.Sk;this.$|=2;return a},function(a){if(!a)return $d.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return $d.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.ja=this.ma=this.Y=b|256;this.da=256;this.A-=0>this.ha?this.Xk:this.Wk;this.$|=2;return a}],be=[function(a,b){b=this.K();this.Y=this.ja= -this.ma=a&b;this.da=65536;this.A-=0>this.ha?this.rj:this.qj;this.$|=2;return a},L,function(a){this.A-=0>this.ha?this.kg:this.jg;return a^65535},function(a,b){b=0;this.ma=a^b;this.da=65536;this.A-=0>this.ha?this.kg:this.jg;return(this.Y=this.ja=b-a)&65535},function(a){this.Db=this.G=(this.Y=this.G*a)&65535;this.rg=this.J=this.Y>>16&65535;this.ma=this.ja=this.Y;this.da=65536;this.J?(Zc(this),cd(this)):(Uc(this),Yc(this));this.A-=0>this.ha?this.xl:this.wl;this.$|=2;return a},function(a){var b=(this.G<< -16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.rg=b>>16&65535;this.Y=this.ma=this.ja=b;this.da=65536;32767b?(Zc(this),cd(this)):(Uc(this),Yc(this));this.A-=0>this.ha?this.cl:this.bl;this.$|=2;return a},function(a,b){if(!a)return $d.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return $d.call(this),a;this.Db=this.G=c&65535;this.rg=this.J=b%a&65535;this.ja=this.ma=this.Y=c|65536;this.da=65536;this.A-=0>this.ha?this.Vk:this.Uk;this.$|=2;return a},function(a, -b){if(!a)return $d.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return $d.call(this),a;this.Db=this.G=d&65535;this.rg=this.J=b%c&65535;this.ja=this.ma=this.Y=d|65536;this.da=65536;this.A-=0>this.ha?this.Zk:this.Yk;this.$|=2;return a}],oc=[function(a){this.ma=a;a=(this.ja=a+1)&255;this.Y=a|(this.Y&this.da?1:0)<<8;this.da=256;this.A-=0>this.ha?this.ig:this.hg;return a},function(a){this.ma=a;a=(this.ja=a-1)&255;this.Y=a|(this.Y&this.da?1:0)<<8;this.da= -256;this.A-=0>this.ha?this.ig:this.hg;return a},L,L,L,L,L,L],qc=[function(a){this.ma=a;a=(this.ja=a+1)&65535;this.Y=a|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=0>this.ha?this.ig:this.hg;return a},function(a){this.ma=a;a=(this.ja=a-1)&65535;this.Y=a|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=0>this.ha?this.ig:this.hg;return a},function(a){J(this,this.sa);H(this,a);this.A-=0>this.ha?this.Rk:this.Qk;this.$|=2;return a},function(a){if(0>this.ha)return L.call(this,a);J(this,this.ra.oa);J(this, -this.sa);vc(this,a,this.Ia(this.ha+2));this.A-=this.Ok;this.$|=2;return a},function(a){H(this,a);this.A-=0>this.ha?this.ll:this.kl;this.$|=2;return a},function(a){if(0>this.ha)return L.call(this,a);vc(this,a,this.Ia(this.ha+2));this.A-=this.il;this.$|=2;return a},function(a){var b=a;this.$&512&&(a=a-2&65535,80286>this.Ga&&(b=a));J(this,b);this.A-=0>this.ha?this.rc:this.Bl;this.$|=2;return a},Td],ce=[yd,Ad,Cd,Ed,Gd,Id,L,Kd],de=[zd,Bd,Dd,Fd,Hd,Jd,L,Ld]; -function ee(a,b){this.A-=0>this.Ka?0>this.ha?this.tl:this.sl:this.ql;return b}function fe(){return ee.call(this,0,this.Db)}function ge(a,b){this.Y=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.Ka?0>this.ha?this.sj:this.mg:this.mg;this.$|=2;return a}function he(a,b){this.Y=this.ja=this.ma=a&b;this.da=65536;this.A-=0>this.Ka?0>this.ha?this.sj:this.mg:this.mg;this.$|=2;return a} -function ie(a,b){var c=(b<<16>>16)*(this.ea()<<24>>24);this.Y=this.ma=this.ja=c;this.da=256;32767c?(Zc(this),cd(this)):(Uc(this),Yc(this));this.A-=0>this.ha?21:24;return c&65535}function je(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Y=this.ma=this.ja=c;this.da=65536;32767c?(Zc(this),cd(this)):(Uc(this),Yc(this));this.A-=0>this.ha?21:24;return c&65535}function ke(a){return a}function le(a){if(0>this.ha)return M.call(this),a;this.A-=this.ml;return this.ha} -function me(a,b){if(0>this.ha)return M.call(this),a;Lc(this,this.Ia(this.ha+2));this.A-=this.Ui;return b}function ne(a,b){if(0>this.ha)return M.call(this),a;Nc(this,this.Ia(this.ha+2));this.A-=this.Ui;return b}function oe(a){if(0>this.ha)return F.call(this),a;var b=a<<16>>16,c=this.Ia(this.ha)<<16>>16,d=this.Ia(this.ha+2)<<16>>16;this.A-=this.Kk;if(bd)H(this,this.zh-this.ra.La),ed.call(this,5,null,0);this.$|=2;return a} -function pe(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,ad(this),a;Wc(this);return a}function qe(a,b){this.A-=14+(0>this.ha?0:2);if(0<=this.Rb.load(b,!0)&&this.Rb.Mc>=(this.ra.oa&3)&&this.Rb.Mc>=(b&3))return ad(this),this.Rb.ab&65280;Wc(this);return a}function re(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&0<=this.Rb.load(b,!0)&&(3072==(this.Rb.ab&3072)||this.Rb.Mc>=(this.ra.oa&3))&&this.Rb.Mc>=(b&3))return ad(this),this.Rb.Nc;Wc(this);return a} -function se(a,b){if(0>this.ha){switch(this.Pg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.B=this.B&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.B=this.B&255|a<<8}this.A-=this.uj}else this.Ka=this.ha,this.Q(a),this.A-=this.tj;return b} -function te(a,b){if(0>this.ha){switch(this.Pg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.X=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.uj}else this.Ka=this.ha,this.R(a),this.A-=this.tj;return b}function ed(a,b,c){Gc(this,a)&&(J(this,yc(this)),this.xa&=this.Jc.oh,J(this,this.ra.oa),J(this,this.sa),null!=b&&J(this,b),vc(this,this.Jc.yj,this.Jc.oa),this.A-=this.el+c)} -function $d(){H(this,this.zh-this.ra.La);ed.call(this,0,null,2)}function Wb(a,b){this.Z&&this.Z.message("Fault 0x"+p(a)+(null!=b?" (0x"+r(b)+")":"")+" on opcode 0x"+p($a(this.na,this.Ca))+" at "+ca(this.sa,this.ra.oa));80186<=this.Ga&&(H(this,this.zh-this.ra.La),ed.call(this,a,b,0))}function F(){Wb.call(this,6);this.zb()}function M(){H(this,this.zh-this.ra.La);Qa(this,"Undefined opcode 0x"+p($a(this.na,this.Ca))+" at "+ca(this.sa,this.ra.oa));this.zb()} -function ue(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function ve(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function we(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function xe(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function ye(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function ze(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a} -function Ae(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function Be(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function Ce(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function De(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function Ee(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function Fe(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a} -function Ge(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function He(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function Ie(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function Je(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function Ke(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function Le(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a} -function Me(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Ne(a){a=a.call(this,this.J&255,this.B&255);this.J=this.J&-256|a}function Oe(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a}function Pe(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a}function Qe(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Re(a){a=a.call(this,this.J&255,this.B>>8);this.J=this.J&-256|a} -function Se(a){a=a.call(this,this.B&255,this.G&255);this.B=this.B&-256|a}function Te(a){a=a.call(this,this.B&255,this.I&255);this.B=this.B&-256|a}function Ue(a){a=a.call(this,this.B&255,this.J&255);this.B=this.B&-256|a}function Ve(a){a=a.call(this,this.B&255,this.B&255);this.B=this.B&-256|a}function We(a){a=a.call(this,this.B&255,this.G>>8);this.B=this.B&-256|a}function Xe(a){a=a.call(this,this.B&255,this.I>>8);this.B=this.B&-256|a} -function Ye(a){a=a.call(this,this.B&255,this.J>>8);this.B=this.B&-256|a}function Ze(a){a=a.call(this,this.B&255,this.B>>8);this.B=this.B&-256|a}function $e(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8}function af(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8}function bf(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8}function cf(a){a=a.call(this,this.G>>8,this.B&255);this.G=this.G&255|a<<8} -function df(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8}function ef(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8}function ff(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}function gf(a){a=a.call(this,this.G>>8,this.B>>8);this.G=this.G&255|a<<8}function hf(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8}function jf(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8} -function kf(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}function lf(a){a=a.call(this,this.I>>8,this.B&255);this.I=this.I&255|a<<8}function mf(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8}function nf(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}function of(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8}function pf(a){a=a.call(this,this.I>>8,this.B>>8);this.I=this.I&255|a<<8} -function qf(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8}function rf(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8}function sf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function tf(a){a=a.call(this,this.J>>8,this.B&255);this.J=this.J&255|a<<8}function uf(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}function vf(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8} -function wf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function xf(a){a=a.call(this,this.J>>8,this.B>>8);this.J=this.J&255|a<<8}function yf(a){a=a.call(this,this.B>>8,this.G&255);this.B=this.B&255|a<<8}function zf(a){a=a.call(this,this.B>>8,this.I&255);this.B=this.B&255|a<<8}function Af(a){a=a.call(this,this.B>>8,this.J&255);this.B=this.B&255|a<<8}function Bf(a){a=a.call(this,this.B>>8,this.B&255);this.B=this.B&255|a<<8} -function Cf(a){a=a.call(this,this.B>>8,this.G>>8);this.B=this.B&255|a<<8}function Df(a){a=a.call(this,this.B>>8,this.I>>8);this.B=this.B&255|a<<8}function Ef(a){a=a.call(this,this.B>>8,this.J>>8);this.B=this.B&255|a<<8}function Ff(a){a=a.call(this,this.B>>8,this.B>>8);this.B=this.B&255|a<<8}function Gf(a){this.G=a.call(this,this.G,this.G)}function Hf(a){this.G=a.call(this,this.G,this.I)}function If(a){this.G=a.call(this,this.G,this.J)}function Jf(a){this.G=a.call(this,this.G,this.B)} -function Kf(a){this.G=a.call(this,this.G,this.X)}function Lf(a){this.G=a.call(this,this.G,this.H)}function Mf(a){this.G=a.call(this,this.G,this.F)}function Nf(a){this.G=a.call(this,this.G,this.D)}function Of(a){this.I=a.call(this,this.I,this.G)}function Pf(a){this.I=a.call(this,this.I,this.I)}function Qf(a){this.I=a.call(this,this.I,this.J)}function Rf(a){this.I=a.call(this,this.I,this.B)}function Sf(a){this.I=a.call(this,this.I,this.X)}function Tf(a){this.I=a.call(this,this.I,this.H)} -function Uf(a){this.I=a.call(this,this.I,this.F)}function Vf(a){this.I=a.call(this,this.I,this.D)}function Wf(a){this.J=a.call(this,this.J,this.G)}function Xf(a){this.J=a.call(this,this.J,this.I)}function Yf(a){this.J=a.call(this,this.J,this.J)}function Zf(a){this.J=a.call(this,this.J,this.B)}function $f(a){this.J=a.call(this,this.J,this.X)}function ag(a){this.J=a.call(this,this.J,this.H)}function bg(a){this.J=a.call(this,this.J,this.F)}function cg(a){this.J=a.call(this,this.J,this.D)} -function dg(a){this.B=a.call(this,this.B,this.G)}function eg(a){this.B=a.call(this,this.B,this.I)}function fg(a){this.B=a.call(this,this.B,this.J)}function gg(a){this.B=a.call(this,this.B,this.B)}function hg(a){this.B=a.call(this,this.B,this.X)}function ig(a){this.B=a.call(this,this.B,this.H)}function jg(a){this.B=a.call(this,this.B,this.F)}function kg(a){this.B=a.call(this,this.B,this.D)}function lg(a){this.X=a.call(this,this.X,this.G)}function mg(a){this.X=a.call(this,this.X,this.I)} -function ng(a){this.X=a.call(this,this.X,this.J)}function og(a){this.X=a.call(this,this.X,this.B)}function pg(a){this.X=a.call(this,this.X,this.X)}function qg(a){this.X=a.call(this,this.X,this.H)}function rg(a){this.X=a.call(this,this.X,this.F)}function sg(a){this.X=a.call(this,this.X,this.D)}function tg(a){this.H=a.call(this,this.H,this.G)}function ug(a){this.H=a.call(this,this.H,this.I)}function vg(a){this.H=a.call(this,this.H,this.J)}function wg(a){this.H=a.call(this,this.H,this.B)} -function xg(a){this.H=a.call(this,this.H,this.X)}function yg(a){this.H=a.call(this,this.H,this.H)}function zg(a){this.H=a.call(this,this.H,this.F)}function Ag(a){this.H=a.call(this,this.H,this.D)}function Bg(a){this.F=a.call(this,this.F,this.G)}function Cg(a){this.F=a.call(this,this.F,this.I)}function Dg(a){this.F=a.call(this,this.F,this.J)}function Eg(a){this.F=a.call(this,this.F,this.B)}function Fg(a){this.F=a.call(this,this.F,this.X)}function Gg(a){this.F=a.call(this,this.F,this.H)} -function Hg(a){this.F=a.call(this,this.F,this.F)}function Ig(a){this.F=a.call(this,this.F,this.D)}function Jg(a){this.D=a.call(this,this.D,this.G)}function Kg(a){this.D=a.call(this,this.D,this.I)}function Lg(a){this.D=a.call(this,this.D,this.J)}function Mg(a){this.D=a.call(this,this.D,this.B)}function Ng(a){this.D=a.call(this,this.D,this.X)}function Og(a){this.D=a.call(this,this.D,this.H)}function Pg(a){this.D=a.call(this,this.D,this.F)}function Qg(a){this.D=a.call(this,this.D,this.D)} -var Rg=[function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.G&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.G&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.G&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.G&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.F),this.G&255);this.Q(a);this.A-=this.aa},function(a){a= +(function(){var k,aa,l;function ba(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}function ca(a){var b,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e;ba(a,b)&&!isNaN(e=parseInt(a,b))&&(c=e)}return c} +function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return p(a,2)}function v(a){return p(a,4)}function da(a,b){return void 0!==b?v(b)+":"+v(a):p(a)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ka(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function la(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0c&&a.splice(-(c+1),0,b)}function na(){return Date.now()||+new Date}function oa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var pa=[31,28,31,30,31,30,31,31,30,31,30,31]; +function qa(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,h=n.responseText,200!=n.status&&(g=n.status||-1),d&&e&&e.call(d,m,h,g,f))});if(c){var q="",t;for(t in c)c.hasOwnProperty(t)&&(q&&(q+="&"),q+=t+"="+encodeURIComponent(c[t]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded"); +n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(h=n.responseText,200!=n.status&&(g=n.status||-1),d&&e&&e.call(d,m,h,g,f),a=[g,h]);return a}function ra(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window?window.alert(a):console.log(a)}function sa(a){var b=!1;window&&(b=window.confirm(a));return b}function ta(a){window&&window.localStorage.setItem("user",a)} +function ua(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function va(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=this.ag?12:14;this.gc=1<>2;this.fb=this.gc-1;this.Wg=(this.te+this.gc)/this.gc|0;this.xe=this.Wg-1;this.rd=[];this.sd=[];this.Xf=this.Yf=!1;this.Hi();this.Sa()}y(x,Ua); +Ua.prototype.Hi=function(){this.Aa=Array(this.Wg);for(var a=0;a>a.sb;0>this.sb;0>a.sb;0>a.sb].rg(b&a.fb)} +function bb(a,b){var c=b&a.fb,d=(b&a.Jb)>>a.sb;return c!=a.fb?a.Aa[d].Jj(c):a.Aa[d++].rg(c)|a.Aa[d&a.xe].rg(0)<<8}function cb(a,b,c){a.Aa[(b&a.Jb)>>a.sb].zg(b&a.fb,c&255)}function db(a,b,c){var d=b&a.fb;b=(b&a.Jb)>>a.sb;d!=a.fb?a.Aa[b].Sj(d,c&65535):(a.Aa[b++].zg(d,c&255),a.Aa[b&a.xe].zg(0,c>>8&255))} +function fb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},cp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.qa[b]>>>a;return 24>a?c&65535:c&255|(this.qa[b+1]&255)<<8},kp:function(a,b){var c=a>>2,d=(a&3)<<3;this.qa[c]=this.qa[c]&~(255<>2,d=(a&3)<<3;24>d?this.qa[c]=this.qa[c]&~(65535<>8);this.nb=!0},bp:function(a){pb(this.Z, +this.We+a);return this.rg(a)},dp:function(a){pb(this.Z,this.We+a)||pb(this.Z,this.We+a+1);return this.Jj(a)},lp:function(a,b){qb(this.Z,this.We+a);this.zg(a,b)},np:function(a,b){qb(this.Z,this.We+a)||qb(this.Z,this.We+a+1);this.Sj(a,b)},save:function(){return this.ia?null:this.qa},restore:function(a){return this.ia?null===a:this.tm==a.length<<2?(this.qa=a,this.nb=!0):!1},Oe:function(a,b){a||(a=[]);void 0===b&&(b=!0);rb(this,a,b);sb(this,a,b)},Vd:function(a,b){b?0===this.mk++&&sb(this,ub):0===this.lk++&& +rb(this,ub)}};function vb(a,b){b?0===--a.mk&&(a.Cc=a.ih?a.wf:a.zg,a.fm=a.ih?a.wf:a.Sj):0===--a.lk&&(a.sc=a.rg,a.Tl=a.Jj)}function Va(a,b,c,d,e){a.S=b;a.Z=c;a.We=d;a.lk=a.mk=0;a.Z&&wb(a.Z,d,e)}function sb(a,b,c){a.Cc=b[2]&&!a.ih?b[2]:a.wf;a.fm=b[3]&&!a.ih?b[3]:a.wf;c&&(a.zg=b[2]?b[2]:a.wf,a.Sj=b[3]?b[3]:a.wf)}function rb(a,b,c){a.sc=b[0]?b[0]:a.Fh;a.Tl=b[1]?b[1]:a.Fh;c&&(a.rg=b[0]?b[0]:a.Fh,a.Jj=b[1]?b[1]:a.Fh)} +var ob=[Wa.prototype.ap,Wa.prototype.cp,Wa.prototype.kp,Wa.prototype.mp],ub=[Wa.prototype.bp,Wa.prototype.dp,Wa.prototype.lp,Wa.prototype.np]; +function xb(a,b){x.call(this,"CPU",a,xb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.sh=Math.round(this.Hd/1E4)/100;this.Fe=this.sh*this.Gd;this.Ob=this.Nb=!1;this.qi=a.autoStart;c=Ea.autostart;void 0!==c&&(this.qi="true"==c?!0:"false"==c?!1:null);this.bf=!1;this.bg=this.lf=0;this.dg=a.csStart;this.kf=a.csInterval;this.mf=a.csStop;var d=this;this.co=function(){d.Me()};this.Sa()}y(x,xb);k=xb.prototype; +k.oc=function(a,b,c,d){this.na=b;this.Z=d;this.Da=a;var e=C(a,"Video");e&&(this.li=function(){yb(e)},this.Md=function(){e.Md()});this.ka=C(a,"ChipSet");this.Sa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){zb(this);if(!this.restore(a))return!1;Ab(this)}else this.reset();this.Z?this.Z.Gn():this.ca("No debugger detected")}this.Nb=!0;!Bb(this)&&this.Z&&Cb(this.Z);Db(this);return!0}; +k.Yb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Bb(a){return!0===a.qi||null===a.qi&&!a.Z&&void 0===a.ta.run?(a.Me(),!0):!1}k.Md=function(){};k.Ak=function(){return 0};function Ab(a){void 0===a.dg&&(a.dg=0);void 0===a.kf&&(a.kf=-1);void 0===a.mf&&(a.mf=-1);a.bf=0<=a.dg&&0=a.lf&&(a.lf+=a.kf,c=!0);0<=a.mf&&a.mf<=E(a)&&(a.kf=a.mf=-1,Ab(a),a.Ab(),c=!0);c&&a.ca(E(a)+" cycles: checksum="+p(a.bg))}}function F(a,b,c,d){void 0!==a.ta[b]&&(void 0===d&&(d=4),void 0===c&&(Ra(a,"Register "+b+" is invalid"),a.Ab()),c=p(c,d),a.ta[b].innerHTML!=c&&(a.ta[b].innerHTML=c))}k.ah=function(){};k.li=function(){}; +k.xb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ta[c]=d;d.onclick=function(){e.Ob?e.Ab(!0):e.Me(!0)};a=!0;break;case "reset":this.ta[c]=d;d.onclick=function(){e.Da&&Fb(e.Da)};a=!0;break;case "speed":this.ta[c]=d;a=!0;break;case "setSpeed":this.ta[c]=d,d.onclick=function(){Gb(e,e.Gd<<1,!0)},d.innerHTML=this.Fe.toFixed(2)+"Mhz",a=!0}return a};function Hb(a,b,c){a.Je+=b;c&&(a.Xc=a.A=0)} +function Ib(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.sh&&(c=Math.round(c/a.Gd));return c}function zb(a){a.ld=0;a.vh=1;a.Je=a.je=a.Xc=a.A=0;Ab(a);Gb(a,1)} +function Gb(a,b,c){void 0!==b&&(0.8>a.ld/a.Fe&&(b=1),a.Gd=b,b=a.sh*a.Gd,a.Fe!=b&&(a.Fe=b,b=a.Fe.toFixed(2)+"Mhz",a.ta.setSpeed&&(a.ta.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Md());Hb(a,a.je);a.je=0;a.jf=na();a.Ge=0;Ib(a)} +k.Me=function(a){if(Oa(this,!0)){this.Ob||(Gb(this),this.Da&&this.Da.start(this.jf,E(this)),this.Ob=!0,this.ka&&Jb(this.ka),this.ta.run&&(this.ta.run.innerHTML="Halt"),a&&this.Md());this.Cj>=this.Hd&&Ib(this,!0);this.gg=0;this.th=na();this.Ge&&(a=this.th-this.Ge,a>this.Hk&&(this.jf+=a,this.jf>this.th&&(this.jf=this.th)));try{do{this.vf(this.bf?1:Math.round(this.Vn/this.vh));var b=this.Xc-this.A;this.je+=b;this.gg+=b;Hb(this,0,!0);Eb(this,b);this.fg-=b;0>=this.fg&&(this.fg+=this.Lk,this.li());this.eg-= +b;0>=this.eg&&(this.eg+=this.Kk,this.ah());this.nf-=b;if(0>=this.nf){this.nf+=this.Oi;break}}while(this.Ob)}catch(c){this.Ab();Db(this);this.Da&&this.Da.stop(na(),E(this));Oa(this,!1);Ra(this,c.message);return}b=setTimeout;a=this.co;this.Ge=na();var d=this.Hk;this.gg&&(d=Math.round(d*this.gg/this.Oi));var d=d-(this.Ge-this.th),e=this.Ge-this.jf;e&&(this.ld=Math.round(this.je/(10*e))/100,864E5<=e&&(this.Je=0,this.ka&&Lb(this.ka,!0),Gb(this)));if(0>d||this.ld>13;return this.Na=e}if(b&&768>=b)return this.oa=a,this.Mc=c,this.ab=d,this.Lc=(d&24576)>>13,this.Na=e}return-1}function Vb(a){return this.Na+a} +function Wb(a){return this.Na+a}function Rb(a,b,c){return a+b<=this.Mc?this.Na+a:Tb.call(this,0,0,c)}function Tb(a,b,c){c||Xb.call(this.S,13,0);return-1}function Sb(a,b,c){return a+b<=this.Mc?this.Na+a:Ub.call(this,0,0,c)}function Ub(a,b,c){c||Xb.call(this.S,13,0);return-1}Nb.prototype.save=function(){return[this.oa,this.Na,this.Mc,this.ab,this.Lc,this.vg]};Nb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.oa=a[0],this.Na=a[1],this.Mc=a[2],this.ab=a[3],this.Lc=a[4],this.vg=a[5])}; +function Ob(a,b){void 0===b&&(b=!!(a.S.$c&1));b?(a.load=Qb,a.Tc=Rb,a.$b=Sb):(a.load=Pb,a.Tc=Vb,a.$b=Wb)} +function Yb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}xb.call(this,a,b);this.Zj=61442;this.Gg=4;this.of=255;this.Dj=4;this.aa=5;this.ua=6;this.fa=7;this.ga=8;this.P=9;this.V=11;this.W=12;this.He=4;this.Nk=60;this.Ok=83;this.Vb=3;this.tb=9;this.hc=16;this.zh=1;this.Sk=19;this.Uk=28;this.Wk=16;this.Vk=21;this.Tk=37;this.Qk=2;this.Wi=9;this.Rk=5;this.Pk=33;this.Yi=10;this.Xi=8;this.kg=3;this.jg=15;this.jl=51;this.kl=1;this.ll=2;this.ml=4;this.il= +32;this.ol=this.Zi=15;this.Wb=16;this.Xb=4;this.ql=11;this.pl=18;this.nl=24;this.Cb=4;this.rl=2;this.$i=16;this.sl=17;this.ej=18;this.tl=19;this.dj=5;this.fj=6;this.yl=2;this.xl=8;this.vl=9;this.hj=this.gj=this.ul=this.wl=10;this.Yk=80;this.$k=144;this.Xk=86;this.Zk=154;this.bl=101;this.dl=165;this.al=107;this.cl=171;this.Al=70;this.Cl=113;this.zl=76;this.Bl=124;this.fl=80;this.hl=128;this.el=86;this.gl=134;this.mg=3;this.lg=16;this.mj=10;this.lj=8;this.Dl=51;this.ic=8;this.El=17;this.Fl=36;this.qc= +11;this.Gl=16;this.ng=10;this.Pb=2;this.Ti=18;this.Ui=9-this.Pb;this.Vi=17-this.Pb;this.aj=12;this.bj=9-this.Pb;this.cj=13-this.Pb;this.ij=18;this.jj=9-this.Pb;this.kj=17-this.Pb;this.nj=15;this.oj=9-this.Pb;this.pj=15-this.Pb;this.tj=11;this.uj=9-this.Pb;this.vj=10-this.Pb;this.Hl=8;this.Kl=12;this.Il=18;this.Jl=17;this.Ll=15;this.rj=8;this.qj=20;this.sj=2;this.yj=3;this.og=9;this.xj=5;this.wj=11;this.Aj=4;this.zj=17;this.Ml=11;this.Ra=Zb.slice();80186<=this.Ga&&(this.of=31,this.Ra[15]=G,this.Ra[96]= +$b,this.Ra[97]=ac,this.Ra[98]=bc,this.Ra[99]=G,this.Ra[100]=G,this.Ra[101]=G,this.Ra[102]=G,this.Ra[103]=G,this.Ra[104]=cc,this.Ra[105]=dc,this.Ra[106]=ec,this.Ra[107]=fc,this.Ra[108]=gc,this.Ra[109]=hc,this.Ra[110]=ic,this.Ra[111]=jc,this.Ra[192]=kc,this.Ra[193]=lc,this.Ra[200]=mc,this.Ra[201]=nc,this.Ra[241]=oc,pc[7]=qc,rc[7]=qc,80286<=this.Ga&&(this.Zj=2,this.Gg=0,this.Ra[15]=sc,this.Ra[99]=tc,this.Ra[84]=uc,this.P=this.ga=this.fa=this.ua=this.aa=this.Dj=0,this.W=this.V=1,this.He=3,this.Nk=14, +this.Ok=16,this.Vb=2,this.hc=this.tb=7,this.zh=0,this.Sk=7,this.Uk=13,this.Wk=7,this.Vk=11,this.Tk=16,this.Qk=3,this.Wi=6,this.Rk=2,this.Pk=13,this.Xi=this.Yi=5,this.kg=2,this.jg=7,this.jl=23,this.kl=0,this.ll=1,this.ml=3,this.il=17,this.Zi=7,this.ol=11,this.Wb=7,this.Xb=3,this.ql=7,this.pl=11,this.nl=15,this.Cb=2,this.rl=3,this.$i=7,this.tl=this.ej=this.sl=8,this.fj=this.dj=4,this.yl=2,this.xl=3,this.vl=5,this.wl=2,this.ul=3,this.gj=5,this.hj=3,this.Yk=14,this.$k=22,this.Xk=17,this.Zk=25,this.bl= +17,this.dl=25,this.al=20,this.cl=28,this.Al=13,this.Cl=21,this.zl=16,this.Bl=24,this.fl=13,this.hl=21,this.el=16,this.gl=24,this.mg=2,this.lg=7,this.lj=this.mj=5,this.Dl=19,this.El=this.ic=5,this.Fl=17,this.qc=3,this.Gl=5,this.ng=3,this.Pb=0,this.Ti=8,this.Ui=5,this.Vi=9,this.bj=this.aj=5,this.cj=4,this.jj=this.ij=5,this.kj=4,this.nj=7,this.oj=5,this.pj=8,this.tj=3,this.uj=4,this.vj=3,this.Kl=this.Hl=11,this.Jl=this.Il=15,this.Ll=7,this.rj=5,this.qj=8,this.sj=0,this.yj=2,this.og=6,this.xj=3,this.wj= +6,this.Aj=3,this.Ml=this.zj=5));this.Ig=[];this.Jg=[];this.Yg=0;this.Aa=[];this.te=this.Jb=this.sb=this.fb=this.xe=0;this.T=this.Em;this.U=this.Fm;this.N=this.Mn;this.O=this.Nn;this.Q=this.ip;this.R=this.jp;vc(this)}y(xb,Yb);k=Yb.prototype;k.Hi=function(a,b,c,d,e){this.Aa=a;this.te=this.Jb=b;this.sb=c;this.fb=d;this.xe=e};k.reset=function(){this.Ob&&this.Ab();vc(this);zb(this);this.jd=!1}; +function vc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.$c=65520;a.dd=0;a.se=1023;a.Ic={Ej:0,oa:0,ab:0,rh:-1};a.ra=new Nb(a,"CS");a.Qb=new Nb(a,"DS");a.Eb=new Nb(a,"SS");a.cb=new Nb(a,"ES");a.cm=new Nb(a,"ZERO");wc(a,0,65535);80286<=a.Ga&&(a.Pc=a.Xe=0,a.Ld=new Nb(a,"LDT",!0),a.yg=new Nb(a,"TSS",!0),a.Rb=new Nb(a,"VER",!0),wc(a,65520,61440),a.ra.Na=16711680);xc(a,0);yc(a);a.ob=0;a.Db=a.sg=-1;a.Rg=0;a.ha=a.La=-1;a.C=a.Qb;a.M=a.Eb;a.$=a.wa=0} +k.Ak=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.sa+this.ra.oa+this.Qb.oa+this.Eb.oa+this.cb.oa+zc(this)|0};function Ac(a,b,c,d){void 0!==d&&(void 0===a.Ig[b]&&(a.Ig[b]=[]),a.Ig[b].push([c,d]))}function Bc(a,b,c){void 0!==c&&(null==a.Jg[b]&&a.Yg++,a.Jg[b]=c)}function Cc(a,b){var c=a.Jg[b];null!=c&&(c(--a.Yg),delete a.Jg[b])}function yc(a,b){void 0===b&&(b=!!(a.$c&1));Dc=b?Ec:Fc;Ob(a.ra,b);Ob(a.Qb,b);Ob(a.Eb,b);Ob(a.cb,b)} +k.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.sa,this.ra.save(),this.Qb.save(),this.Eb.save(),this.cb.save(),zc(this),null!=this.Pc?[this.$c,this.Pc,this.Xe,this.dd,this.se,this.Ld.save(),this.yg.save()]:null]);a.set(2,[this.C.vg,this.M.vg,this.$,this.wa,this.ob,this.ha,this.La]);a.set(3,[this.vh,this.Je,this.Gd]);a.set(4,fb(this.na));return a.data()}; +k.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.ra.restore(b[1]);this.Qb.restore(b[2]);this.Eb.restore(b[3]);this.cb.restore(b[4]);xc(this,b[5]);var c=b[6];c&&c.length&&(this.$c=c[0],this.Pc=c[1],this.Xe=c[2],this.dd=c[3],this.se=c[4],this.Ld.restore(c[5]),this.yg.restore(c[6]),yc(this));I(this,b[0]);b=a[2];this.C=Gc(this,b[0]);this.M=Gc(this,b[1]);this.$=b[2];this.wa=b[3];this.ob=b[4];this.ha=b[5];this.La= +b[6];b=a[3];this.vh=b[0];this.Je=b[1];Gb(this,b[2]);a:{b=this.na;a=a[4];for(c=0;c>1?128:0} +function Uc(a){return(a.ja^a.ma^a.ja>>1)&a.da>>1?2048:0}function Vc(a){a.Y&=~a.da}function Wc(a){a.ma=a.ja&16|a.ma&-17}function Xc(a){a.Y|=a.da-1}function Yc(a){Tc(a)&&(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function Zc(a){a.ja&=~a.da;a.ma=a.ja&32896|a.ma&-32897}function $c(a){a.Y|=a.da}function ad(a){a.ma=~(a.ja&16)&16|a.ma&-17}function bd(a){a.Y&=~(a.da-1)}function cd(a){Tc(a)||(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function dd(a){a.ja|=a.da;a.ma=a.ja&32896|a.ma&-32897} +function zc(a){return a.ya&-2262|Pc(a)|Qc(a)|Rc(a)|Sc(a)|Tc(a)|Uc(a)}function xc(a,b){a.da=256;a.Y=a.ja=a.ma=0;b&1&&$c(a);b&4||(a.ja|=1);b&16&&(a.ma|=16);b&64||Xc(a);b&128&&cd(a);b&2048&&dd(a);a.ya=a.ya&-1793|b&1792|a.Zj;a.ya&256&&(a.ob|=2,a.$|=4)} +k.xb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ta[c]=d;e=!0;break;default:e=xb.prototype.xb.call(this,a,b,c,d)}return e};k.vb=function(a){return this.Aa[(a&this.Jb)>>this.sb].sc(a&this.fb)}; +k.Ja=function(a){var b=a&this.fb;a=(a&this.Jb)>>this.sb;this.A-=this.Dj;return b!=this.fb?this.Aa[a].Tl(b):this.Aa[a++].sc(b)|this.Aa[a&this.xe].sc(0)<<8};k.ad=function(a,b){this.Aa[(a&this.Jb)>>this.sb].Cc(a&this.fb,b&255)};k.Nd=function(a,b){var c=a&this.fb,d=(a&this.Jb)>>this.sb;this.A-=this.Dj;c!=this.fb?this.Aa[d].fm(c,b&65535):(this.Aa[d++].Cc(c,b&255),this.Aa[d&this.xe].Cc(0,b>>8&255))};k.Em=function(a,b){this.xg=a;this.ha=a.Tc(this.pg=b,0);return this.$&1?0:this.vb(this.ha)}; +k.Fm=function(a,b){this.xg=a;this.ha=a.Tc(this.pg=b,1);return this.$&1?0:this.Ja(this.ha)};k.Mn=function(a,b){this.xg=a;this.La=this.ha=a.Tc(this.pg=b,0);return this.$&1?0:this.vb(this.ha)};k.Nn=function(a,b){this.xg=a;this.La=this.ha=a.Tc(this.pg=b,1);return this.$&1?0:this.Ja(this.ha)};k.ip=function(a){this.$&2||this.ad(this.xg.$b(this.pg,1),a)};k.jp=function(a){this.$&2||this.Nd(this.xg.$b(this.pg,2),a)};k.ea=function(){var a=this.vb(this.Ca);this.Ca=this.ra.Na+(this.sa=this.sa+1&65535);return a}; +k.L=function(){var a=this.vb(this.Ca)<<24>>24;this.Ca=this.ra.Na+(this.sa=this.sa+1&65535);return a&65535};k.K=function(){var a=this.Ja(this.Ca);this.Ca=this.ra.Na+(this.sa=this.sa+2&65535);return a};k.Ka=function(){var a=this.X;this.X=this.X+2&65535;return this.Ja(this.Eb.Tc(a,1))};function K(a,b){var c=a.X=a.X-2&65535;a.Nd(a.Eb.$b(c,1),b)} +k.ah=function(){F(this,"AX",this.G);F(this,"BX",this.B);F(this,"CX",this.I);F(this,"DX",this.J);F(this,"SP",this.X);F(this,"BP",this.H);F(this,"SI",this.F);F(this,"DI",this.D);F(this,"CS",this.ra.oa);F(this,"DS",this.Qb.oa);F(this,"SS",this.Eb.oa);F(this,"ES",this.cb.oa);F(this,"IP",this.sa);var a=zc(this);F(this,"PS",a);F(this,"C",a&1?1:0,1);F(this,"P",a&4?1:0,1);F(this,"A",a&16?1:0,1);F(this,"Z",a&64?1:0,1);F(this,"S",a&128?1:0,1);F(this,"T",a&256?1:0,1);F(this,"I",a&512?1:0,1);F(this,"D",a&1024? +1:0,1);F(this,"O",a&2048?1:0,1);this.ta.speed&&(this.ta.speed.innerHTML=this.Ob&&this.ld?this.ld.toFixed(2)+"Mhz":"Stopped")}; +k.vf=function(a){this.ui=!0;this.xm=a&&this.Z&&1this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=a+b)&255}function jd(a,b){this.da=256;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=this.ma=a|b)&255} +function kd(a,b){this.ma=a^b;this.Y=this.ja=a+b+(this.Y&this.da?1:0);this.da=256;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return this.Y&255}function ld(a,b){this.ma=a^b;this.Y=this.ja=a-b-(this.Y&this.da?1:0);this.da=256;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return this.Y&255}function md(a,b){this.da=256;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=this.ma=a&b)&255} +function nd(a,b){this.ma=a^b;this.da=256;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=a-b)&255}function od(a,b){this.da=256;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=this.ma=a^b)&255}function pd(a,b){this.ma=a^b;this.da=256;this.Y=this.ja=a-b;this.A-=0>this.La?0>this.ha?this.Vb:this.Wi:this.tb;this.$|=2;return a} +function qd(a,b){this.ma=a^b;this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=a+b)&65535}function rd(a,b){this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=this.ma=a|b)&65535}function sd(a,b){this.ma=a^b;this.Y=this.ja=a+b+(this.Y&this.da?1:0);this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return this.Y&65535} +function td(a,b){this.ma=a^b;this.Y=this.ja=a-b-(this.Y&this.da?1:0);this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return this.Y&65535}function ud(a,b){this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=this.ma=a&b)&65535}function vd(a,b){this.ma=a^b;this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=a-b)&65535} +function wd(a,b){this.da=65536;this.A-=0>this.La?0>this.ha?this.Vb:this.tb:this.hc;return(this.Y=this.ja=this.ma=a^b)&65535}function xd(a,b){this.ma=a^b;this.da=65536;this.Y=this.ja=a-b;this.A-=0>this.La?0>this.ha?this.Vb:this.Wi:this.tb;this.$|=2;return a}function yd(a,b){this.Y=this.Y&this.da-1|(a&b?this.da:0);(a^a>>1)&b>>1?dd(this):Zc(this)}function zd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;yd.call(this,d,256)}return c} +function Ad(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;yd.call(this,d,65536)}return c}function Bd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);yd.call(this,d,256)}return c}function Cd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);yd.call(this,d,65536)}return c} +function Dd(a,b){var c=a;if(b){var d;(d=(b&this.of)%9)?(d=a<>9-d,c=d&255):d=a|(this.Y&this.da?1:0)<<8;yd.call(this,d,256)}return c}function Ed(a,b){var c=a;if(b){var d;(d=(b&this.of)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Y&this.da?1:0)<<16;yd.call(this,d,65536)}return c}function Fd(a,b){var c=a;b&&(c=(b&this.of)%9,c=a>>c|(this.Y&this.da?1:0)<<8-c|a<<9-c,yd.call(this,c,256),c&=255);return c} +function Gd(a,b){var c=a;b&&(c=(b&this.of)%17,c=a>>c|(this.Y&this.da?1:0)<<16-c|a<<17-c,yd.call(this,c,65536),c&=65535);return c}function Hd(a,b){var c=a;b&&(c=8>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.ma=a^this.Y;this.da=256;a=this.Y}return a&255}function Kd(a,b){if(b){var c=16>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.ma=a^this.Y;this.da=65536;a=this.Y}return a&65535}function Ld(a,b){if(b){8>24>>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.ma=a^this.Y;this.da=256;a=this.Y}return a&255} +function Md(a,b){if(b){16>16>>b-1;this.Y=this.ja=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.ma=a^this.Y;this.da=65536;a=this.Y}return a&65535}function Nd(){this.A-=0>this.ha?2:this.Ll;return 1}function Od(){var a=this.I&this.of;this.A-=(0>this.ha?this.rj:this.qj)+(a<this.ha?this.rj:this.qj)+(a<this.La?this.ic:this.El;return b},Rd,Rd,Rd,Rd,Rd,Rd,Rd],Yd=[function(a,b){this.A-=0>this.La?this.wl:this.ul;return b},M,M,M,M,M,M,M],Zd=[zd,Bd,Dd,Fd,Hd,Jd,M,Ld],$d=[Ad,Cd,Ed,Gd,Id,Kd,M,Md],be=[function(a,b){b=this.ea();this.Y=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.ha?this.xj:this.wj;this.$|=2;return a},M,function(a){this.A-=0>this.ha?this.mg:this.lg;return a^255},function(a,b){b=0;this.ma=a^b;this.da= +256;this.A-=0>this.ha?this.mg:this.lg;return(this.Y=this.ja=b-a)&255},function(a){this.G=this.Db=(this.Y=(this.G&255)*a)&65535;this.ma=this.ja=this.Y;this.da=256;this.G&65280?($c(this),dd(this)):(Vc(this),Zc(this));this.A-=0>this.ha?this.Al:this.zl;this.$|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.Y=this.ma=this.ja=b;this.da=256;127b?($c(this),dd(this)):(Vc(this),Zc(this));this.A-=0>this.ha?this.fl:this.el;this.$|=2;return a},function(a){if(!a)return ae.call(this), +a;var b=this.G/a;if(255this.ha?this.Yk:this.Xk;this.$|=2;return a},function(a){if(!a)return ae.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return ae.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.ja=this.ma=this.Y=b|256;this.da=256;this.A-=0>this.ha?this.bl:this.al;this.$|=2;return a}],ce=[function(a,b){b=this.K();this.Y=this.ja= +this.ma=a&b;this.da=65536;this.A-=0>this.ha?this.xj:this.wj;this.$|=2;return a},M,function(a){this.A-=0>this.ha?this.mg:this.lg;return a^65535},function(a,b){b=0;this.ma=a^b;this.da=65536;this.A-=0>this.ha?this.mg:this.lg;return(this.Y=this.ja=b-a)&65535},function(a){this.Db=this.G=(this.Y=this.G*a)&65535;this.sg=this.J=this.Y>>16&65535;this.ma=this.ja=this.Y;this.da=65536;this.J?($c(this),dd(this)):(Vc(this),Zc(this));this.A-=0>this.ha?this.Cl:this.Bl;this.$|=2;return a},function(a){var b=(this.G<< +16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.sg=b>>16&65535;this.Y=this.ma=this.ja=b;this.da=65536;32767b?($c(this),dd(this)):(Vc(this),Zc(this));this.A-=0>this.ha?this.hl:this.gl;this.$|=2;return a},function(a,b){if(!a)return ae.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return ae.call(this),a;this.Db=this.G=c&65535;this.sg=this.J=b%a&65535;this.ja=this.ma=this.Y=c|65536;this.da=65536;this.A-=0>this.ha?this.$k:this.Zk;this.$|=2;return a},function(a, +b){if(!a)return ae.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return ae.call(this),a;this.Db=this.G=d&65535;this.sg=this.J=b%c&65535;this.ja=this.ma=this.Y=d|65536;this.da=65536;this.A-=0>this.ha?this.dl:this.cl;this.$|=2;return a}],pc=[function(a){this.ma=a;a=(this.ja=a+1)&255;this.Y=a|(this.Y&this.da?1:0)<<8;this.da=256;this.A-=0>this.ha?this.kg:this.jg;return a},function(a){this.ma=a;a=(this.ja=a-1)&255;this.Y=a|(this.Y&this.da?1:0)<<8;this.da= +256;this.A-=0>this.ha?this.kg:this.jg;return a},M,M,M,M,M,M],rc=[function(a){this.ma=a;a=(this.ja=a+1)&65535;this.Y=a|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=0>this.ha?this.kg:this.jg;return a},function(a){this.ma=a;a=(this.ja=a-1)&65535;this.Y=a|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=0>this.ha?this.kg:this.jg;return a},function(a){K(this,this.sa);I(this,a);this.A-=0>this.ha?this.Wk:this.Vk;this.$|=2;return a},function(a){if(0>this.ha)return M.call(this,a);K(this,this.ra.oa);K(this, +this.sa);wc(this,a,this.Ja(this.ha+2));this.A-=this.Tk;this.$|=2;return a},function(a){I(this,a);this.A-=0>this.ha?this.ql:this.pl;this.$|=2;return a},function(a){if(0>this.ha)return M.call(this,a);wc(this,a,this.Ja(this.ha+2));this.A-=this.nl;this.$|=2;return a},function(a){var b=a;this.$&512&&(a=a-2&65535,80286>this.Ga&&(b=a));K(this,b);this.A-=0>this.ha?this.qc:this.Gl;this.$|=2;return a},Rd],de=[zd,Bd,Dd,Fd,Hd,Jd,M,Ld],ee=[Ad,Cd,Ed,Gd,Id,Kd,M,Md]; +function fe(a,b){this.A-=0>this.La?0>this.ha?this.yl:this.xl:this.vl;return b}function ge(){return fe.call(this,0,this.Db)}function he(a,b){this.Y=this.ja=this.ma=a&b;this.da=256;this.A-=0>this.La?0>this.ha?this.yj:this.og:this.og;this.$|=2;return a}function ie(a,b){this.Y=this.ja=this.ma=a&b;this.da=65536;this.A-=0>this.La?0>this.ha?this.yj:this.og:this.og;this.$|=2;return a} +function je(a,b){var c=(b<<16>>16)*(this.ea()<<24>>24);this.Y=this.ma=this.ja=c;this.da=256;32767c?($c(this),dd(this)):(Vc(this),Zc(this));this.A-=0>this.ha?21:24;return c&65535}function ke(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.Y=this.ma=this.ja=c;this.da=65536;32767c?($c(this),dd(this)):(Vc(this),Zc(this));this.A-=0>this.ha?21:24;return c&65535}function le(a){return a}function me(a){if(0>this.ha)return N.call(this),a;this.A-=this.rl;return this.ha} +function ne(a,b){if(0>this.ha)return N.call(this),a;Jc(this,this.Ja(this.ha+2));this.A-=this.$i;return b}function oe(a,b){if(0>this.ha)return N.call(this),a;Oc(this,this.Ja(this.ha+2));this.A-=this.$i;return b}function pe(a){if(0>this.ha)return G.call(this),a;var b=a<<16>>16,c=this.Ja(this.ha)<<16>>16,d=this.Ja(this.ha+2)<<16>>16;this.A-=this.Pk;if(bd)I(this,this.Ch-this.ra.Na),fd.call(this,5,null,0);this.$|=2;return a} +function qe(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,bd(this),a;Xc(this);return a}function re(a,b){this.A-=14+(0>this.ha?0:2);if(0<=this.Rb.load(b,!0)&&this.Rb.Lc>=(this.ra.oa&3)&&this.Rb.Lc>=(b&3))return bd(this),this.Rb.ab&65280;Xc(this);return a}function se(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&0<=this.Rb.load(b,!0)&&(3072==(this.Rb.ab&3072)||this.Rb.Lc>=(this.ra.oa&3))&&this.Rb.Lc>=(b&3))return bd(this),this.Rb.Mc;Xc(this);return a} +function te(a,b){if(0>this.ha){switch(this.Rg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.B=this.B&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.B=this.B&255|a<<8}this.A-=this.Aj}else this.La=this.ha,this.Q(a),this.A-=this.zj;return b} +function ue(a,b){if(0>this.ha){switch(this.Rg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.X=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.Aj}else this.La=this.ha,this.R(a),this.A-=this.zj;return b}function fd(a,b,c){Hc(this,a)&&(K(this,zc(this)),this.ya&=this.Ic.rh,K(this,this.ra.oa),K(this,this.sa),null!=b&&K(this,b),wc(this,this.Ic.Ej,this.Ic.oa),this.A-=this.jl+c)} +function ae(){I(this,this.Ch-this.ra.Na);fd.call(this,0,null,2)}function Xb(a,b){this.Z&&this.Z.message("Fault 0x"+r(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+r(ab(this.na,this.Ca))+" at "+da(this.sa,this.ra.oa));80186<=this.Ga&&(I(this,this.Ch-this.ra.Na),fd.call(this,a,b,0))}function G(){Xb.call(this,6);this.Ab()}function N(){I(this,this.Ch-this.ra.Na);Ra(this,"Undefined opcode 0x"+r(ab(this.na,this.Ca))+" at "+da(this.sa,this.ra.oa));this.Ab()} +function ve(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function we(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function xe(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function ye(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function ze(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function Ae(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a} +function Be(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function Ce(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function De(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function Ee(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function Fe(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function Ge(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a} +function He(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function Ie(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function Je(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function Ke(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function Le(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function Me(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a} +function Ne(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Oe(a){a=a.call(this,this.J&255,this.B&255);this.J=this.J&-256|a}function Pe(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a}function Qe(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a}function Re(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Se(a){a=a.call(this,this.J&255,this.B>>8);this.J=this.J&-256|a} +function Te(a){a=a.call(this,this.B&255,this.G&255);this.B=this.B&-256|a}function Ue(a){a=a.call(this,this.B&255,this.I&255);this.B=this.B&-256|a}function Ve(a){a=a.call(this,this.B&255,this.J&255);this.B=this.B&-256|a}function We(a){a=a.call(this,this.B&255,this.B&255);this.B=this.B&-256|a}function Xe(a){a=a.call(this,this.B&255,this.G>>8);this.B=this.B&-256|a}function Ye(a){a=a.call(this,this.B&255,this.I>>8);this.B=this.B&-256|a} +function Ze(a){a=a.call(this,this.B&255,this.J>>8);this.B=this.B&-256|a}function $e(a){a=a.call(this,this.B&255,this.B>>8);this.B=this.B&-256|a}function af(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8}function bf(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8}function cf(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8}function df(a){a=a.call(this,this.G>>8,this.B&255);this.G=this.G&255|a<<8} +function ef(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8}function ff(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8}function gf(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}function hf(a){a=a.call(this,this.G>>8,this.B>>8);this.G=this.G&255|a<<8}function jf(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8}function kf(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8} +function lf(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}function mf(a){a=a.call(this,this.I>>8,this.B&255);this.I=this.I&255|a<<8}function nf(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8}function of(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}function pf(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8}function qf(a){a=a.call(this,this.I>>8,this.B>>8);this.I=this.I&255|a<<8} +function rf(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8}function sf(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8}function tf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function uf(a){a=a.call(this,this.J>>8,this.B&255);this.J=this.J&255|a<<8}function vf(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}function wf(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8} +function xf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function yf(a){a=a.call(this,this.J>>8,this.B>>8);this.J=this.J&255|a<<8}function zf(a){a=a.call(this,this.B>>8,this.G&255);this.B=this.B&255|a<<8}function Af(a){a=a.call(this,this.B>>8,this.I&255);this.B=this.B&255|a<<8}function Bf(a){a=a.call(this,this.B>>8,this.J&255);this.B=this.B&255|a<<8}function Cf(a){a=a.call(this,this.B>>8,this.B&255);this.B=this.B&255|a<<8} +function Df(a){a=a.call(this,this.B>>8,this.G>>8);this.B=this.B&255|a<<8}function Ef(a){a=a.call(this,this.B>>8,this.I>>8);this.B=this.B&255|a<<8}function Ff(a){a=a.call(this,this.B>>8,this.J>>8);this.B=this.B&255|a<<8}function Gf(a){a=a.call(this,this.B>>8,this.B>>8);this.B=this.B&255|a<<8}function Hf(a){this.G=a.call(this,this.G,this.G)}function If(a){this.G=a.call(this,this.G,this.I)}function Jf(a){this.G=a.call(this,this.G,this.J)}function Kf(a){this.G=a.call(this,this.G,this.B)} +function Lf(a){this.G=a.call(this,this.G,this.X)}function Mf(a){this.G=a.call(this,this.G,this.H)}function Nf(a){this.G=a.call(this,this.G,this.F)}function Of(a){this.G=a.call(this,this.G,this.D)}function Pf(a){this.I=a.call(this,this.I,this.G)}function Qf(a){this.I=a.call(this,this.I,this.I)}function Rf(a){this.I=a.call(this,this.I,this.J)}function Sf(a){this.I=a.call(this,this.I,this.B)}function Tf(a){this.I=a.call(this,this.I,this.X)}function Uf(a){this.I=a.call(this,this.I,this.H)} +function Vf(a){this.I=a.call(this,this.I,this.F)}function Wf(a){this.I=a.call(this,this.I,this.D)}function Xf(a){this.J=a.call(this,this.J,this.G)}function Yf(a){this.J=a.call(this,this.J,this.I)}function Zf(a){this.J=a.call(this,this.J,this.J)}function $f(a){this.J=a.call(this,this.J,this.B)}function ag(a){this.J=a.call(this,this.J,this.X)}function bg(a){this.J=a.call(this,this.J,this.H)}function cg(a){this.J=a.call(this,this.J,this.F)}function dg(a){this.J=a.call(this,this.J,this.D)} +function eg(a){this.B=a.call(this,this.B,this.G)}function fg(a){this.B=a.call(this,this.B,this.I)}function gg(a){this.B=a.call(this,this.B,this.J)}function hg(a){this.B=a.call(this,this.B,this.B)}function ig(a){this.B=a.call(this,this.B,this.X)}function jg(a){this.B=a.call(this,this.B,this.H)}function kg(a){this.B=a.call(this,this.B,this.F)}function lg(a){this.B=a.call(this,this.B,this.D)}function mg(a){this.X=a.call(this,this.X,this.G)}function ng(a){this.X=a.call(this,this.X,this.I)} +function og(a){this.X=a.call(this,this.X,this.J)}function pg(a){this.X=a.call(this,this.X,this.B)}function qg(a){this.X=a.call(this,this.X,this.X)}function rg(a){this.X=a.call(this,this.X,this.H)}function sg(a){this.X=a.call(this,this.X,this.F)}function tg(a){this.X=a.call(this,this.X,this.D)}function ug(a){this.H=a.call(this,this.H,this.G)}function vg(a){this.H=a.call(this,this.H,this.I)}function wg(a){this.H=a.call(this,this.H,this.J)}function xg(a){this.H=a.call(this,this.H,this.B)} +function yg(a){this.H=a.call(this,this.H,this.X)}function zg(a){this.H=a.call(this,this.H,this.H)}function Ag(a){this.H=a.call(this,this.H,this.F)}function Bg(a){this.H=a.call(this,this.H,this.D)}function Cg(a){this.F=a.call(this,this.F,this.G)}function Dg(a){this.F=a.call(this,this.F,this.I)}function Eg(a){this.F=a.call(this,this.F,this.J)}function Fg(a){this.F=a.call(this,this.F,this.B)}function Gg(a){this.F=a.call(this,this.F,this.X)}function Hg(a){this.F=a.call(this,this.F,this.H)} +function Ig(a){this.F=a.call(this,this.F,this.F)}function Jg(a){this.F=a.call(this,this.F,this.D)}function Kg(a){this.D=a.call(this,this.D,this.G)}function Lg(a){this.D=a.call(this,this.D,this.I)}function Mg(a){this.D=a.call(this,this.D,this.J)}function Ng(a){this.D=a.call(this,this.D,this.B)}function Og(a){this.D=a.call(this,this.D,this.X)}function Pg(a){this.D=a.call(this,this.D,this.H)}function Qg(a){this.D=a.call(this,this.D,this.F)}function Rg(a){this.D=a.call(this,this.D,this.D)} +var Sg=[function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.G&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.G&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.G&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.G&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.F),this.G&255);this.Q(a);this.A-=this.aa},function(a){a= a.call(this,this.N(this.C,this.D),this.G&255);this.Q(a);this.A-=this.aa},function(a){a=a.call(this,this.N(this.C,this.K()),this.G&255);this.Q(a);this.A-=this.ua},function(a){a=a.call(this,this.N(this.C,this.B),this.G&255);this.Q(a);this.A-=this.aa},function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.I&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.I&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.F& 65535),this.I&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.I&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.F),this.I&255);this.Q(a);this.A-=this.aa},function(a){a=a.call(this,this.N(this.C,this.D),this.I&255);this.Q(a);this.A-=this.aa},function(a){a=a.call(this,this.N(this.C,this.K()),this.I&255);this.Q(a);this.A-=this.ua},function(a){a=a.call(this,this.N(this.C,this.B),this.I&255);this.Q(a);this.A-=this.aa},function(a){a= a.call(this,this.N(this.C,this.B+this.F&65535),this.J&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.J&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.J&255);this.Q(a);this.A-=this.ga},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.J&255);this.Q(a);this.A-=this.fa},function(a){a=a.call(this,this.N(this.C,this.F),this.J&255);this.Q(a);this.A-=this.aa},function(a){a=a.call(this,this.N(this.C, @@ -150,7 +150,7 @@ this.V},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.I>>8 this.V},function(a){a=a.call(this,this.N(this.C,this.B+this.D+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.W},function(a){a=a.call(this,this.N(this.M,this.H+this.F+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.W},function(a){a=a.call(this,this.N(this.M,this.H+this.D+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.D+this.K()&65535),this.J>>8); this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.M,this.H+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.F+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.C,this.B+this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.W},function(a){a=a.call(this,this.N(this.M,this.H+this.F+this.K()& 65535),this.B>>8);this.Q(a);this.A-=this.W},function(a){a=a.call(this,this.N(this.M,this.H+this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.M,this.H+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.K()& -65535),this.B>>8);this.Q(a);this.A-=this.P},ue,Ce,Ke,Se,$e,hf,qf,yf,ve,De,Le,Te,af,jf,rf,zf,we,Ee,Me,Ue,bf,kf,sf,Af,xe,Fe,Ne,Ve,cf,lf,tf,Bf,ye,Ge,Oe,We,df,mf,uf,Cf,ze,He,Pe,Xe,ef,nf,vf,Df,Ae,Ie,Qe,Ye,ff,of,wf,Ef,Be,Je,Re,Ze,gf,pf,xf,Ff],Sg=[function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.G);this.R(a);this.A-=this.fa},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.G);this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.G); +65535),this.B>>8);this.Q(a);this.A-=this.P},ve,De,Le,Te,af,jf,rf,zf,we,Ee,Me,Ue,bf,kf,sf,Af,xe,Fe,Ne,Ve,cf,lf,tf,Bf,ye,Ge,Oe,We,df,mf,uf,Cf,ze,He,Pe,Xe,ef,nf,vf,Df,Ae,Ie,Qe,Ye,ff,of,wf,Ef,Be,Je,Re,Ze,gf,pf,xf,Ff,Ce,Ke,Se,$e,hf,qf,yf,Gf],Tg=[function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.G);this.R(a);this.A-=this.fa},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.G);this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.G); this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+this.D&65535),this.G);this.R(a);this.A-=this.fa},function(a){a=a.call(this,this.O(this.C,this.F),this.G);this.R(a);this.A-=this.aa},function(a){a=a.call(this,this.O(this.C,this.D),this.G);this.R(a);this.A-=this.aa},function(a){a=a.call(this,this.O(this.C,this.K()),this.G);this.R(a);this.A-=this.ua},function(a){a=a.call(this,this.O(this.C,this.B),this.G);this.R(a);this.A-=this.aa},function(a){a=a.call(this,this.O(this.C,this.B+ this.F&65535),this.I);this.R(a);this.A-=this.fa},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.I);this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.I);this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+this.D&65535),this.I);this.R(a);this.A-=this.fa},function(a){a=a.call(this,this.O(this.C,this.F),this.I);this.R(a);this.A-=this.aa},function(a){a=a.call(this,this.O(this.C,this.D),this.I);this.R(a);this.A-=this.aa}, function(a){a=a.call(this,this.O(this.C,this.K()),this.I);this.R(a);this.A-=this.ua},function(a){a=a.call(this,this.O(this.C,this.B),this.I);this.R(a);this.A-=this.aa},function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.J);this.R(a);this.A-=this.fa},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.J);this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.J);this.R(a);this.A-=this.ga},function(a){a=a.call(this,this.O(this.M,this.H+ @@ -187,7 +187,7 @@ this.F+this.K()&65535),this.H);this.R(a);this.A-=this.W},function(a){a=a.call(th 65535),this.H);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.F+this.K()&65535),this.F);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.C,this.B+this.D+this.K()&65535),this.F);this.R(a);this.A-=this.W},function(a){a=a.call(this,this.O(this.M,this.H+this.F+this.K()&65535),this.F);this.R(a);this.A-=this.W},function(a){a=a.call(this,this.O(this.M,this.H+this.D+this.K()&65535),this.F);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.C,this.F+ this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.D+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.M,this.H+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.F+this.K()&65535),this.D);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.C,this.B+this.D+this.K()& 65535),this.D);this.R(a);this.A-=this.W},function(a){a=a.call(this,this.O(this.M,this.H+this.F+this.K()&65535),this.D);this.R(a);this.A-=this.W},function(a){a=a.call(this,this.O(this.M,this.H+this.D+this.K()&65535),this.D);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.C,this.F+this.K()&65535),this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.D+this.K()&65535),this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.M,this.H+this.K()&65535), -this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.D);this.R(a);this.A-=this.P},Gf,Of,Wf,dg,lg,tg,Bg,Jg,Hf,Pf,Xf,eg,mg,ug,Cg,Kg,If,Qf,Yf,fg,ng,vg,Dg,Lg,Jf,Rf,Zf,gg,og,wg,Eg,Mg,Kf,Sf,$f,hg,pg,xg,Fg,Ng,Lf,Tf,ag,ig,qg,yg,Gg,Og,Mf,Uf,bg,jg,rg,zg,Hg,Pg,Nf,Vf,cg,kg,sg,Ag,Ig,Qg],Tg=[function(a){a=a.call(this,this.G&255,this.T(this.C,this.B+this.F&65535));this.G=this.G&-256|a;this.A-=this.fa},function(a){a=a.call(this,this.G&255,this.T(this.C,this.B+this.D& +this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.D);this.R(a);this.A-=this.P},Hf,Pf,Xf,eg,mg,ug,Cg,Kg,If,Qf,Yf,fg,ng,vg,Dg,Lg,Jf,Rf,Zf,gg,og,wg,Eg,Mg,Kf,Sf,$f,hg,pg,xg,Fg,Ng,Lf,Tf,ag,ig,qg,yg,Gg,Og,Mf,Uf,bg,jg,rg,zg,Hg,Pg,Nf,Vf,cg,kg,sg,Ag,Ig,Qg,Of,Wf,dg,lg,tg,Bg,Jg,Rg],Ug=[function(a){a=a.call(this,this.G&255,this.T(this.C,this.B+this.F&65535));this.G=this.G&-256|a;this.A-=this.fa},function(a){a=a.call(this,this.G&255,this.T(this.C,this.B+this.D& 65535));this.G=this.G&-256|a;this.A-=this.ga},function(a){a=a.call(this,this.G&255,this.T(this.M,this.H+this.F&65535));this.G=this.G&-256|a;this.A-=this.ga},function(a){a=a.call(this,this.G&255,this.T(this.M,this.H+this.D&65535));this.G=this.G&-256|a;this.A-=this.fa},function(a){a=a.call(this,this.G&255,this.T(this.C,this.F));this.G=this.G&-256|a;this.A-=this.aa},function(a){a=a.call(this,this.G&255,this.T(this.C,this.D));this.G=this.G&-256|a;this.A-=this.aa},function(a){a=a.call(this,this.G&255, this.T(this.C,this.K()));this.G=this.G&-256|a;this.A-=this.ua},function(a){a=a.call(this,this.G&255,this.T(this.C,this.B));this.G=this.G&-256|a;this.A-=this.aa},function(a){a=a.call(this,this.I&255,this.T(this.C,this.B+this.F&65535));this.I=this.I&-256|a;this.A-=this.fa},function(a){a=a.call(this,this.I&255,this.T(this.C,this.B+this.D&65535));this.I=this.I&-256|a;this.A-=this.ga},function(a){a=a.call(this,this.I&255,this.T(this.M,this.H+this.F&65535));this.I=this.I&-256|a;this.A-=this.ga},function(a){a= a.call(this,this.I&255,this.T(this.M,this.H+this.D&65535));this.I=this.I&-256|a;this.A-=this.fa},function(a){a=a.call(this,this.I&255,this.T(this.C,this.F));this.I=this.I&-256|a;this.A-=this.aa},function(a){a=a.call(this,this.I&255,this.T(this.C,this.D));this.I=this.I&-256|a;this.A-=this.aa},function(a){a=a.call(this,this.I&255,this.T(this.C,this.K()));this.I=this.I&-256|a;this.A-=this.ua},function(a){a=a.call(this,this.I&255,this.T(this.C,this.B));this.I=this.I&-256|a;this.A-=this.aa},function(a){a= @@ -230,7 +230,7 @@ a.call(this,this.I>>8,this.T(this.C,this.D+this.K()&65535));this.I=this.I&255|a< this.D+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.W},function(a){a=a.call(this,this.J>>8,this.T(this.M,this.H+this.F+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.W},function(a){a=a.call(this,this.J>>8,this.T(this.M,this.H+this.D+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.J>>8,this.T(this.C,this.F+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.T(this.C,this.D+this.K()&65535));this.J=this.J& 255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.T(this.M,this.H+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.T(this.C,this.B+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.T(this.C,this.B+this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.B>>8,this.T(this.C,this.B+this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.W},function(a){a= a.call(this,this.B>>8,this.T(this.M,this.H+this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.W},function(a){a=a.call(this,this.B>>8,this.T(this.M,this.H+this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.B>>8,this.T(this.C,this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.T(this.C,this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.T(this.M, -this.H+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.T(this.C,this.B+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff],N=[function(a){this.G=a.call(this,this.G,this.U(this.C,this.B+this.F&65535));this.A-=this.fa},function(a){this.G=a.call(this,this.G, +this.H+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.T(this.C,this.B+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf],O=[function(a){this.G=a.call(this,this.G,this.U(this.C,this.B+this.F&65535));this.A-=this.fa},function(a){this.G=a.call(this,this.G, this.U(this.C,this.B+this.D&65535));this.A-=this.ga},function(a){this.G=a.call(this,this.G,this.U(this.M,this.H+this.F&65535));this.A-=this.ga},function(a){this.G=a.call(this,this.G,this.U(this.M,this.H+this.D&65535));this.A-=this.fa},function(a){this.G=a.call(this,this.G,this.U(this.C,this.F));this.A-=this.aa},function(a){this.G=a.call(this,this.G,this.U(this.C,this.D));this.A-=this.aa},function(a){this.G=a.call(this,this.G,this.U(this.C,this.K()));this.A-=this.ua},function(a){this.G=a.call(this, this.G,this.U(this.C,this.B));this.A-=this.aa},function(a){this.I=a.call(this,this.I,this.U(this.C,this.B+this.F&65535));this.A-=this.fa},function(a){this.I=a.call(this,this.I,this.U(this.C,this.B+this.D&65535));this.A-=this.ga},function(a){this.I=a.call(this,this.I,this.U(this.M,this.H+this.F&65535));this.A-=this.ga},function(a){this.I=a.call(this,this.I,this.U(this.M,this.H+this.D&65535));this.A-=this.fa},function(a){this.I=a.call(this,this.I,this.U(this.C,this.F));this.A-=this.aa},function(a){this.I= a.call(this,this.I,this.U(this.C,this.D));this.A-=this.aa},function(a){this.I=a.call(this,this.I,this.U(this.C,this.K()));this.A-=this.ua},function(a){this.I=a.call(this,this.I,this.U(this.C,this.B));this.A-=this.aa},function(a){this.J=a.call(this,this.J,this.U(this.C,this.B+this.F&65535));this.A-=this.fa},function(a){this.J=a.call(this,this.J,this.U(this.C,this.B+this.D&65535));this.A-=this.ga},function(a){this.J=a.call(this,this.J,this.U(this.M,this.H+this.F&65535));this.A-=this.ga},function(a){this.J= @@ -265,7 +265,7 @@ a.call(this,this.H,this.U(this.C,this.B+this.F+this.K()&65535));this.A-=this.V}, this.U(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.H=a.call(this,this.H,this.U(this.M,this.H+this.K()&65535));this.A-=this.P},function(a){this.H=a.call(this,this.H,this.U(this.C,this.B+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.U(this.C,this.B+this.F+this.K()&65535));this.A-=this.V},function(a){this.F=a.call(this,this.F,this.U(this.C,this.B+this.D+this.K()&65535));this.A-=this.W},function(a){this.F=a.call(this,this.F,this.U(this.M,this.H+this.F+ this.K()&65535));this.A-=this.W},function(a){this.F=a.call(this,this.F,this.U(this.M,this.H+this.D+this.K()&65535));this.A-=this.V},function(a){this.F=a.call(this,this.F,this.U(this.C,this.F+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.U(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.U(this.M,this.H+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.U(this.C,this.B+this.K()&65535));this.A-=this.P},function(a){this.D= a.call(this,this.D,this.U(this.C,this.B+this.F+this.K()&65535));this.A-=this.V},function(a){this.D=a.call(this,this.D,this.U(this.C,this.B+this.D+this.K()&65535));this.A-=this.W},function(a){this.D=a.call(this,this.D,this.U(this.M,this.H+this.F+this.K()&65535));this.A-=this.W},function(a){this.D=a.call(this,this.D,this.U(this.M,this.H+this.D+this.K()&65535));this.A-=this.V},function(a){this.D=a.call(this,this.D,this.U(this.C,this.F+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D, -this.U(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.U(this.M,this.H+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.U(this.C,this.B+this.K()&65535));this.A-=this.P},Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg],Ug=[function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.F&65535), +this.U(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.U(this.M,this.H+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.U(this.C,this.B+this.K()&65535));this.A-=this.P},Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg],Vg=[function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.F&65535), b.call(this));this.Q(c);this.A-=this.fa},function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.D&65535),b.call(this));this.Q(c);this.A-=this.ga},function(a,b){var c=a[0].call(this,this.N(this.M,this.H+this.F&65535),b.call(this));this.Q(c);this.A-=this.ga},function(a,b){var c=a[0].call(this,this.N(this.M,this.H+this.D&65535),b.call(this));this.Q(c);this.A-=this.fa},function(a,b){var c=a[0].call(this,this.N(this.C,this.F),b.call(this));this.Q(c);this.A-=this.aa},function(a,b){var c=a[0].call(this, this.N(this.C,this.D),b.call(this));this.Q(c);this.A-=this.aa},function(a,b){var c=a[0].call(this,this.N(this.C,this.K()),b.call(this));this.Q(c);this.A-=this.ua},function(a,b){var c=a[0].call(this,this.N(this.C,this.B),b.call(this));this.Q(c);this.A-=this.aa},function(a,b){var c=a[1].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.fa},function(a,b){var c=a[1].call(this,this.N(this.C,this.B+this.D&65535),b.call(this));this.Q(c);this.A-=this.ga},function(a,b){var c= a[1].call(this,this.N(this.M,this.H+this.F&65535),b.call(this));this.Q(c);this.A-=this.ga},function(a,b){var c=a[1].call(this,this.N(this.M,this.H+this.D&65535),b.call(this));this.Q(c);this.A-=this.fa},function(a,b){var c=a[1].call(this,this.N(this.C,this.F),b.call(this));this.Q(c);this.A-=this.aa},function(a,b){var c=a[1].call(this,this.N(this.C,this.D),b.call(this));this.Q(c);this.A-=this.aa},function(a,b){var c=a[1].call(this,this.N(this.C,this.K()),b.call(this));this.Q(c);this.A-=this.ua},function(a, @@ -318,7 +318,7 @@ this.G&255|c<<8},function(a,b){var c=a[3].call(this,this.I>>8,b.call(this));this c},function(a,b){var c=a[5].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a, b){var c=a[5].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c= a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this, -this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8}],Vg=[function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.fa},function(a, +this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8}],Wg=[function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.fa},function(a, b){var c=a[0].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ga},function(a,b){var c=a[0].call(this,this.O(this.M,this.H+this.F&65535),b.call(this));this.R(c);this.A-=this.ga},function(a,b){var c=a[0].call(this,this.O(this.M,this.H+this.D&65535),b.call(this));this.R(c);this.A-=this.fa},function(a,b){var c=a[0].call(this,this.O(this.C,this.F),b.call(this));this.R(c);this.A-=this.aa},function(a,b){var c=a[0].call(this,this.O(this.C,this.D),b.call(this));this.R(c); this.A-=this.aa},function(a,b){var c=a[0].call(this,this.O(this.C,this.K()),b.call(this));this.R(c);this.A-=this.ua},function(a,b){var c=a[0].call(this,this.O(this.C,this.B),b.call(this));this.R(c);this.A-=this.aa},function(a,b){var c=a[1].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.fa},function(a,b){var c=a[1].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ga},function(a,b){var c=a[1].call(this,this.O(this.M,this.H+this.F&65535), b.call(this));this.R(c);this.A-=this.ga},function(a,b){var c=a[1].call(this,this.O(this.M,this.H+this.D&65535),b.call(this));this.R(c);this.A-=this.fa},function(a,b){var c=a[1].call(this,this.O(this.C,this.F),b.call(this));this.R(c);this.A-=this.aa},function(a,b){var c=a[1].call(this,this.O(this.C,this.D),b.call(this));this.R(c);this.A-=this.aa},function(a,b){var c=a[1].call(this,this.O(this.C,this.K()),b.call(this));this.R(c);this.A-=this.ua},function(a,b){var c=a[1].call(this,this.O(this.C,this.B), @@ -368,372 +368,372 @@ this.G,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))}, a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.B=a[4].call(this,this.B,b.call(this))},function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))}, function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.B=a[5].call(this,this.B,b.call(this))},function(a,b){this.X=a[5].call(this,this.X,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J, b.call(this))},function(a,b){this.B=a[6].call(this,this.B,b.call(this))},function(a,b){this.$|=512;this.X=a[6].call(this,this.X,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a, -b){this.B=a[7].call(this,this.B,b.call(this))},function(a,b){this.X=a[7].call(this,this.X,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],Xg=[function(){var a=this.ea();16>(a&56)&&(this.$|=1);Vg[a].call(this,Cc,Sd)},function(){var a=this.ea();a&16||(this.$|=1);Vg[a].call(this,Wg,Sd)},function(){N[this.ea()].call(this,qe)},function(){N[this.ea()].call(this,re)}, -M,M,M,M,M,M,M,F,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M, -M],Dc=[function(){this.A-=2+(0>this.ha?0:1);return this.Ld.oa},function(){this.A-=2+(0>this.ha?0:1);return this.xg.oa},function(a){this.$|=2;this.Ld.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.xg.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.A-=14+(0>this.ha?0:2);if(0<=this.Rb.load(a,!0)&&2048!=(this.Rb.ab&2560)&&(3072==(this.Rb.ab&3072)||this.Rb.Mc>=(this.ra.oa&3)&&this.Rb.Mc>=(a&3)))return ad(this),a;Wc(this);return a},function(a){this.$|=2; -this.A-=14+(0>this.ha?0:2);if(0<=this.Rb.load(a,!0)&&512==(this.Rb.ab&2560)&&this.Rb.Mc>=(this.ra.oa&3)&&this.Rb.Mc>=(a&3))return ad(this),a;Wc(this);return a},L,L],Ec=[pc,pc,pc,pc,pc,pc,L,L],Cc=Ec,Wg=[function(a){0>this.ha?F.call(this):(this.Nd(this.ha+2,this.Qc),this.bd(this.ha+4,this.Qc>>16),a=this.Xe-this.Qc,this.A-=11);return a},function(a){0>this.ha?F.call(this):(this.Nd(this.ha+2,this.ed),this.bd(this.ha+4,this.ed>>16),a=this.re-this.ed,this.A-=12);return a},function(a){0>this.ha?F.call(this): -(this.Qc=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.Xe=this.Qc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ha?F.call(this):(this.ed=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.re=this.ed+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.ad},L,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ha?0:3);this.ad&1&&xc(this,!0);this.$|=2;return a},L];function rc(){Xg[this.ea()].call(this)}function tc(){J(this,this.X);this.A-=this.rc} -function Zb(){var a=this.X;J(this,this.G);J(this,this.I);J(this,this.J);J(this,this.B);J(this,a);J(this,this.H);J(this,this.F);J(this,this.D);this.A-=this.Al}function $b(){this.D=this.Ja();this.F=this.Ja();this.H=this.Ja();this.X+=2;this.B=this.Ja();this.J=this.Ja();this.I=this.Ja();this.G=this.Ja();this.A-=this.yl}function ac(){N[this.ea()].call(this,oe)}function sc(){Sg[this.ea()].call(this,pe)}function bc(){J(this,this.K());this.A-=this.rc}function cc(){N[this.ea()].call(this,je)} -function dc(){J(this,this.ea());this.A-=this.rc}function ec(){N[this.ea()].call(this,ie)}function fc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=hb(this.na,this.J,this.Ca-b-1);this.bd(this.bb.$b(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.$|=256)}} -function gc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=hb(this.na,this.J,d)|hb(this.na,this.J,d)<<8;this.Nd(this.bb.$b(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.$|=256)}} -function hc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.ub(this.Qb.Uc(this.F,0));this.F=this.F+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;lb(this.na,this.J,d,this.Ca-b-1);a&&(I(this,-2),this.$|=256)}} -function ic(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ia(this.Qb.Uc(this.F,1));this.F=this.F+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ca-b-1;lb(this.na,this.J,d&255,b);lb(this.na,this.J,d>>8,b);a&&(I(this,-2),this.$|=256)}}function Yg(){var a=this.L();Tc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function Zg(){var a=this.L();Tc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)} -function $g(){var a=this.L();Oc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function ah(){var a=this.L();Oc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)}function bh(){var a=this.L();Rc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function ch(){var a=this.L();Rc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)}function dh(){var a=this.L();Oc(this)||Rc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb} -function eh(){var a=this.L();Oc(this)||Rc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)}function fh(){var a=this.L();Sc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function gh(){var a=this.L();Sc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)}function hh(){var a=this.L();Pc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function ih(){var a=this.L();Pc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)} -function jh(){var a=this.L();!Sc(this)!=!Tc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function kh(){var a=this.L();!Sc(this)==!Tc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function lh(){var a=this.L();Rc(this)||!Sc(this)!=!Tc(this)?(H(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function mh(){var a=this.L();Rc(this)||!Sc(this)!=!Tc(this)?this.A-=this.Xb:(H(this,this.sa+a),this.A-=this.Wb)} -function nh(){Ug[this.ea()].call(this,Ud,this.ea);this.A-=0>this.Ka?1:this.wh}function jc(){Ug[this.ea()].call(this,ce,Rd)}function kc(){Vg[this.ea()].call(this,de,Rd)}function oh(){var a=this.K();H(this,this.Ja());this.X=this.X+a&65535;this.A-=this.Fl}function ph(){H(this,this.Ja());this.A-=this.Cl} -function lc(){var a=this.K(),b=this.ea()&31;this.A-=11;J(this,this.H);var c=this.X;if(0>8,c,d=Qc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.Y=a);this.da=65536;c&&(this.Y|=this.da);d?$c(this):Vc(this);this.A-=this.He},function(){Rg[this.ea()].call(this,od)},function(){Sg[this.ea()].call(this,wd)},function(){Tg[this.ea()].call(this,od)},function(){N[this.ea()].call(this,wd)},function(){this.G=this.G&-256|od.call(this,this.G&255,this.ea());this.A--},function(){this.G=wd.call(this,this.G,this.K());this.A--},function(){this.$|= -20;this.C=this.M=this.Qb;this.A-=this.Pb},function(){var a=this.G&255,b=this.G>>8,c,d=Qc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.Y=a);this.da=65536;c&&(this.Y|=this.da);d?$c(this):Vc(this);this.A-=this.He},function(){this.ma=this.G;this.G=(this.ja=this.G+1)&65535;this.Y=this.G|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.I;this.I=(this.ja=this.I+1)&65535;this.Y=this.I|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.J; +b){this.B=a[7].call(this,this.B,b.call(this))},function(a,b){this.X=a[7].call(this,this.X,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],Yg=[function(){var a=this.ea();16>(a&56)&&(this.$|=1);Wg[a].call(this,Dc,Qd)},function(){var a=this.ea();a&16||(this.$|=1);Wg[a].call(this,Xg,Qd)},function(){O[this.ea()].call(this,re)},function(){O[this.ea()].call(this,se)}, +N,N,N,N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, +N],Ec=[function(){this.A-=2+(0>this.ha?0:1);return this.Ld.oa},function(){this.A-=2+(0>this.ha?0:1);return this.yg.oa},function(a){this.$|=2;this.Ld.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.yg.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.A-=14+(0>this.ha?0:2);if(0<=this.Rb.load(a,!0)&&2048!=(this.Rb.ab&2560)&&(3072==(this.Rb.ab&3072)||this.Rb.Lc>=(this.ra.oa&3)&&this.Rb.Lc>=(a&3)))return bd(this),a;Xc(this);return a},function(a){this.$|=2; +this.A-=14+(0>this.ha?0:2);if(0<=this.Rb.load(a,!0)&&512==(this.Rb.ab&2560)&&this.Rb.Lc>=(this.ra.oa&3)&&this.Rb.Lc>=(a&3))return bd(this),a;Xc(this);return a},M,M],Fc=[qc,qc,qc,qc,qc,qc,M,M],Dc=Fc,Xg=[function(a){0>this.ha?G.call(this):(this.Nd(this.ha+2,this.Pc),this.ad(this.ha+4,this.Pc>>16),a=this.Xe-this.Pc,this.A-=11);return a},function(a){0>this.ha?G.call(this):(this.Nd(this.ha+2,this.dd),this.ad(this.ha+4,this.dd>>16),a=this.se-this.dd,this.A-=12);return a},function(a){0>this.ha?G.call(this): +(this.Pc=this.Ja(this.ha+2)|this.vb(this.ha+4)<<16,this.Xe=this.Pc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ha?G.call(this):(this.dd=this.Ja(this.ha+2)|this.vb(this.ha+4)<<16,this.se=this.dd+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.$c},M,function(a){this.$c=this.$c&65520|a&-65521;this.A-=3+(0>this.ha?0:3);this.$c&1&&yc(this,!0);this.$|=2;return a},M];function sc(){Yg[this.ea()].call(this)}function uc(){K(this,this.X);this.A-=this.qc} +function $b(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.Fl}function ac(){this.D=this.Ka();this.F=this.Ka();this.H=this.Ka();this.X+=2;this.B=this.Ka();this.J=this.Ka();this.I=this.Ka();this.G=this.Ka();this.A-=this.Dl}function bc(){O[this.ea()].call(this,pe)}function tc(){Tg[this.ea()].call(this,qe)}function cc(){K(this,this.K());this.A-=this.qc}function dc(){O[this.ea()].call(this,ke)} +function ec(){K(this,this.ea());this.A-=this.qc}function fc(){O[this.ea()].call(this,je)}function gc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=ib(this.na,this.J,this.Ca-b-1);this.ad(this.cb.$b(this.D,0),d);this.D=this.D+(this.ya&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}} +function hc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=ib(this.na,this.J,d)|ib(this.na,this.J,d)<<8;this.Nd(this.cb.$b(this.D,1),d);this.D=this.D+(this.ya&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}} +function ic(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.vb(this.Qb.Tc(this.F,0));this.F=this.F+(this.ya&1024?-1:1)&65535;this.A-=c;this.I-=b;mb(this.na,this.J,d,this.Ca-b-1);a&&(J(this,-2),this.$|=256)}} +function jc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ja(this.Qb.Tc(this.F,1));this.F=this.F+(this.ya&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ca-b-1;mb(this.na,this.J,d&255,b);mb(this.na,this.J,d>>8,b);a&&(J(this,-2),this.$|=256)}}function Zg(){var a=this.L();Uc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function $g(){var a=this.L();Uc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)} +function ah(){var a=this.L();Pc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function bh(){var a=this.L();Pc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)}function ch(){var a=this.L();Sc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function dh(){var a=this.L();Sc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)}function eh(){var a=this.L();Pc(this)||Sc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb} +function fh(){var a=this.L();Pc(this)||Sc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)}function gh(){var a=this.L();Tc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function hh(){var a=this.L();Tc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)}function ih(){var a=this.L();Qc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function jh(){var a=this.L();Qc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)} +function kh(){var a=this.L();!Tc(this)!=!Uc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function lh(){var a=this.L();!Tc(this)==!Uc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function mh(){var a=this.L();Sc(this)||!Tc(this)!=!Uc(this)?(I(this,this.sa+a),this.A-=this.Wb):this.A-=this.Xb}function nh(){var a=this.L();Sc(this)||!Tc(this)!=!Uc(this)?this.A-=this.Xb:(I(this,this.sa+a),this.A-=this.Wb)} +function oh(){Vg[this.ea()].call(this,Sd,this.ea);this.A-=0>this.La?1:this.zh}function kc(){Vg[this.ea()].call(this,de,Pd)}function lc(){Wg[this.ea()].call(this,ee,Pd)}function ph(){var a=this.K();I(this,this.Ka());this.X=this.X+a&65535;this.A-=this.Kl}function qh(){I(this,this.Ka());this.A-=this.Hl} +function mc(){var a=this.K(),b=this.ea()&31;this.A-=11;K(this,this.H);var c=this.X;if(0>8,c,d=Rc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.Y=a);this.da=65536;c&&(this.Y|=this.da);d?ad(this):Wc(this);this.A-=this.He},function(){Sg[this.ea()].call(this,pd)},function(){Tg[this.ea()].call(this,xd)},function(){Ug[this.ea()].call(this,pd)},function(){O[this.ea()].call(this,xd)},function(){this.G=this.G&-256|pd.call(this,this.G&255,this.ea());this.A--},function(){this.G=xd.call(this,this.G,this.K());this.A--},function(){this.$|= +20;this.C=this.M=this.Qb;this.A-=this.Pb},function(){var a=this.G&255,b=this.G>>8,c,d=Rc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.Y=a);this.da=65536;c&&(this.Y|=this.da);d?ad(this):Wc(this);this.A-=this.He},function(){this.ma=this.G;this.G=(this.ja=this.G+1)&65535;this.Y=this.G|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.I;this.I=(this.ja=this.I+1)&65535;this.Y=this.I|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.J; this.J=(this.ja=this.J+1)&65535;this.Y=this.J|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.B;this.B=(this.ja=this.B+1)&65535;this.Y=this.B|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.X;this.X=(this.ja=this.X+1)&65535;this.Y=this.X|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.H;this.H=(this.ja=this.H+1)&65535;this.Y=this.H|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.F;this.F=(this.ja= this.F+1)&65535;this.Y=this.F|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.D;this.D=(this.ja=this.D+1)&65535;this.Y=this.D|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.G;this.G=(this.ja=this.G-1)&65535;this.Y=this.G|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.I;this.I=(this.ja=this.I-1)&65535;this.Y=this.I|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.J;this.J=(this.ja=this.J-1)&65535; this.Y=this.J|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.B;this.B=(this.ja=this.B-1)&65535;this.Y=this.B|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.X;this.X=(this.ja=this.X-1)&65535;this.Y=this.X|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.H;this.H=(this.ja=this.H-1)&65535;this.Y=this.H|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.F;this.F=(this.ja=this.F-1)&65535;this.Y=this.F| -(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){this.ma=this.D;this.D=(this.ja=this.D-1)&65535;this.Y=this.D|(this.Y&this.da?1:0)<<16;this.da=65536;this.A-=2},function(){J(this,this.G);this.A-=this.rc},function(){J(this,this.I);this.A-=this.rc},function(){J(this,this.J);this.A-=this.rc},function(){J(this,this.B);this.A-=this.rc},function(){J(this,this.X-2&65535);this.A-=this.rc},function(){J(this,this.H);this.A-=this.rc},function(){J(this,this.F);this.A-=this.rc},function(){J(this,this.D); -this.A-=this.rc},function(){this.G=this.Ja();this.A-=this.jc},function(){this.I=this.Ja();this.A-=this.jc},function(){this.J=this.Ja();this.A-=this.jc},function(){this.B=this.Ja();this.A-=this.jc},function(){this.X=this.Ja();this.A-=this.jc},function(){this.H=this.Ja();this.A-=this.jc},function(){this.F=this.Ja();this.A-=this.jc},function(){this.D=this.Ja();this.A-=this.jc},Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,function(){Vg[this.ea()].call(this, -Vd,this.K);this.A-=0>this.Ka?1:this.wh},nh,function(){Vg[this.ea()].call(this,Vd,this.L);this.A-=0>this.Ka?1:this.wh},function(){Rg[this.ea()].call(this,ge)},function(){Sg[this.ea()].call(this,he)},function(){Tg[this.Pg=this.ea()].call(this,se)},function(){N[this.Pg=this.ea()].call(this,te)},function(){this.$|=1;Rg[this.ea()].call(this,ee)},function(){this.$|=1;Sg[this.ea()].call(this,ee)},function(){Tg[this.ea()].call(this,ee)},function(){N[this.ea()].call(this,ee)},function(){var a=this.ea();switch((a& -56)>>3){case 0:this.Db=this.bb.oa;break;case 1:this.Db=this.ra.oa;break;case 2:this.Db=this.Eb.oa;break;case 3:this.Db=this.Qb.oa;break;default:M.call(this);return}this.$|=1;Sg[a].call(this,fe)},function(){this.$|=1;this.C=this.M=this.Yl;N[this.ea()].call(this,le)},function(){var a,b=this.ea(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Ga){F.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.X;break;case 5:a=this.H;break; -case 6:a=this.F;break;case 7:a=this.D}}N[b].call(this,ee);switch(c){case 0:Nc(this,this.G);this.G=a;break;case 1:Hc(this,this.I);this.I=a;break;case 2:Mc(this,this.J);this.J=a;break;case 3:Lc(this,this.B);this.B=a;break;case 4:Nc(this,this.X);this.X=a;break;case 5:Hc(this,this.H);this.H=a;break;case 6:Mc(this,this.F);this.F=a;break;case 7:Lc(this,this.D),this.D=a}},function(){this.$|=1;Vg[this.ea()].call(this,Wd,this.Ja)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-= -3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.X;this.X=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Mk},function(){var a=this.K(),b=this.K();J(this, -this.ra.oa);J(this,this.sa);vc(this,a,b);this.A-=this.Pk},function(){M.call(this)},function(){J(this,yc(this));this.A-=this.rc},function(){wc(this,this.Ja());this.A-=this.jc},function(){var a=this.G>>8;a&1?Zc(this):Uc(this);a&4?Pc(this)||(this.ja^=1):Pc(this)&&(this.ja^=1);a&16?$c(this):Vc(this);a&64?ad(this):Wc(this);a&128?bd(this):Xc(this);this.A-=this.Cb},function(){this.G=this.G&255|(yc(this)&213)<<8;this.A-=this.Cb},function(){this.G=this.G&-256|this.T(this.C,this.K());this.A-=this.aj},function(){this.G= -this.U(this.C,this.K());this.A-=this.aj},function(){var a=this.K(),b=this.G;this.bd(this.C.$b(a,0),b);this.A-=this.bj},function(){var a=this.K(),b=this.G;this.Nd(this.C.$b(a,1),b);this.A-=this.bj},function(){var a=1,b=0,c=this.cj;this.wa&192&&(a=this.I,b=1,c=this.ej,this.wa&256||(this.A-=this.dj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.bd(this.bb.$b(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(I(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a= -1,b=0,c=this.cj;this.wa&192&&(a=this.I,b=1,c=this.ej,this.wa&256||(this.A-=this.dj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.Nd(this.bb.$b(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(I(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.Ni;this.wa&192&&(a=this.I,b=1,c=this.Pi,this.wa&256||(this.A-=this.Oi));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.bb,this.D);od.call(this,e,f);this.F=this.F+d&65535; -this.D=this.D+d&65535;this.A-=c-this.qb;this.I-=b;a&&Rc(this)==(this.wa&64)&&(I(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.Ni;this.wa&192&&(a=this.I,b=1,c=this.Pi,this.wa&256||(this.A-=this.Oi));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F),f=this.O(this.bb,this.D);wd.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.qb;this.I-=b;a&&Rc(this)==(this.wa&64)&&(I(this,this.wa&16?-3:-2),this.$|=256)}},function(){this.Y=this.ja=this.ma=this.G&255& -this.ea();this.da=256;this.A-=this.He},function(){this.Y=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.He},function(){var a=1,b=0,c=this.nj;this.wa&192&&(a=this.I,b=1,c=this.pj,this.wa&256||(this.A-=this.oj));if(a--){var d=this.G;this.bd(this.bb.$b(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.nj;this.wa&192&&(a=this.I,b=1,c=this.pj,this.wa&256||(this.A-=this.oj));if(a--){var d=this.G;this.Nd(this.bb.$b(this.D, -1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Vi;this.wa&192&&(a=this.I,b=1,c=this.Xi,this.wa&256||(this.A-=this.Wi));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(I(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.Vi;this.wa&192&&(a=this.I,b=1,c=this.Xi,this.wa&256||(this.A-=this.Wi));a--&&(this.G=this.U(this.C,this.F),this.F=this.F+(this.xa& -1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(I(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.hj;this.wa&192&&(a=this.I,b=1,c=this.jj,this.wa&256||(this.A-=this.ij));a--&&(od.call(this,this.G&255,this.N(this.bb,this.D)),this.D=this.D+(this.xa&1024?-1:1)&65535,this.A-=c-this.qb,this.I-=b,a&&Rc(this)==(this.wa&64)&&(I(this,-2),this.$|=256))},function(){var a=1,b=0,c=this.hj;this.wa&192&&(a=this.I,b=1,c=this.jj,this.wa&256||(this.A-=this.ij));a--&&(wd.call(this,this.G,this.O(this.bb, -this.D)),this.D=this.D+(this.xa&1024?-2:2)&65535,this.A-=c-this.qb,this.I-=b,a&&Rc(this)==(this.wa&64)&&(I(this,-2),this.$|=256))},function(){this.G=this.G&-256|this.ea();this.A-=this.Cb},function(){this.I=this.I&-256|this.ea();this.A-=this.Cb},function(){this.J=this.J&-256|this.ea();this.A-=this.Cb},function(){this.B=this.B&-256|this.ea();this.A-=this.Cb},function(){this.G=this.G&255|this.ea()<<8;this.A-=this.Cb},function(){this.I=this.I&255|this.ea()<<8;this.A-=this.Cb},function(){this.J=this.J& -255|this.ea()<<8;this.A-=this.Cb},function(){this.B=this.B&255|this.ea()<<8;this.A-=this.Cb},function(){this.G=this.K();this.A-=this.Cb},function(){this.I=this.K();this.A-=this.Cb},function(){this.J=this.K();this.A-=this.Cb},function(){this.B=this.K();this.A-=this.Cb},function(){this.X=this.K();this.A-=this.Cb},function(){this.H=this.K();this.A-=this.Cb},function(){this.F=this.K();this.A-=this.Cb},function(){this.D=this.K();this.A-=this.Cb},oh,ph,oh,ph,function(){N[this.ea()].call(this,ne)},function(){N[this.ea()].call(this, -me)},function(){this.$|=1;Ug[this.ea()].call(this,Xd,this.ea)},function(){this.$|=1;Vg[this.ea()].call(this,Xd,this.K)},qh,rh,qh,rh,function(){ed.call(this,3,null,this.fl)},function(){var a=this.ea(),b;a:{b=this.Gg[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.da=256;this.A-=this.Ik},function(){this.G=this.G&-256|(Oc(this)?255:0);this.A-=2},function(){this.G=this.G&-256|this.T(this.C,this.B+ -(this.G&255)&65535);this.A-=this.Hl},sh,sh,sh,sh,sh,sh,sh,sh,function(){var a=this.L();(this.I=this.I-1&65535)&&this.Y&this.da-1?(H(this,this.sa+a),this.A-=this.ol):this.A-=this.Yi},function(){var a=this.L();!(this.I=this.I-1&65535)||this.Y&this.da-1?this.A-=this.$i:(H(this,this.sa+a),this.A-=this.Zi)},function(){var a=this.L();(this.I=this.I-1&65535)?(H(this,this.sa+a),this.A-=this.nl):this.A-=this.Yi},function(){var a=this.L();this.I?this.A-=this.$i:(H(this,this.sa+a),this.A-=this.Zi)},function(){var a= -this.ea();this.G=this.G&-256|hb(this.na,a,this.Ca-2);this.A-=this.Si},function(){var a=this.ea();this.G=hb(this.na,a,this.Ca-1)|hb(this.na,a+1&65535,this.Ca-2)<<8;this.A-=this.Si},function(){var a=this.ea();lb(this.na,a,this.G&255,this.Ca-2);this.A-=this.gj},function(){var a=this.ea();lb(this.na,a,this.G&255,this.Ca-2);lb(this.na,a+1&65535,this.G>>8,this.Ca-2);this.A-=this.gj},function(){var a=this.K();J(this,this.sa);H(this,this.sa+a);this.A-=this.Nk},function(){var a=this.K();H(this,this.sa+a); -this.A-=this.Ti},function(){vc(this,this.K(),this.K());this.A-=this.jl},function(){var a=this.L();H(this,this.sa+a);this.A-=this.Ti},function(){this.G=this.G&-256|hb(this.na,this.J,this.Ca-1);this.A-=this.Ri},function(){this.G=hb(this.na,this.J,this.Ca-1)|hb(this.na,this.J+1&65535,this.Ca-1)<<8;this.A-=this.Ri},function(){lb(this.na,this.J,this.G&255,this.Ca-1);this.A-=this.fj},function(){lb(this.na,this.J,this.G&255,this.Ca-1);lb(this.na,this.J+1&65535,this.G>>8,this.Ca-1);this.A-=this.fj},th,th, -function(){this.$|=132;this.A-=this.Pb},function(){this.$|=68;this.A-=this.Pb},function(){this.kb|=4;this.A-=2;this.Z&&1=zh&&(this.Lf=this.Mf=2);this.hh=a.scaleTimers||!1;this.ap=a.rtcDate;this.rk=!1;a.sound&&window&&"webkitAudioContext"in window&& -(this.ci=new webkitAudioContext);this.reset();this.Sa()}x(w,O);var uh=5150,zh=5170,Ah={none:0,tv:1,color:2,mono:3,ega:0},yh={Mh:1},wh=12,xh={lp:16,hp:32,jm:48,yf:48,zf:4};yh.ONE=0;yh.mp=64;yh.kp=128;yh.ip=192;yh.yf=192;yh.zf=6;k=O.prototype; -k.wb=function(a,b,c,d){switch(c){case "sw1":return this.ta[c]=d,Bh(this,c,d,this.Zb,{0:this.Ga==uh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==uh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==uh)return this.ta[c]=d,Bh(this,c,d,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ta[c]=d,!0}return!1}; -k.pc=function(a,b,c,d){this.na=b;this.S=c;this.Z=d;this.Da=a;this.pb=B(a,"Keyboard");this.Il=Math.round(c.Hd/1193181);gb(b,this,Ch);kb(b,this,Dh);this.Gab;b++){var c=13>=b?Lh(e,b):e.pa[b];a&&(a+="\n");a+="CMOS[0x"+p(b)+"]: 0x"+p(c)}e.Z.message(a)})}zc(c,26,this,this.Bn)};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0}; -k.reset=function(){var a;this.cd=this.Zb;this.Pe=this.ne;Mh(this);this.$a=Array(this.Lf);for(a=0;a=zh){this.ib=16;this.vd=0;this.Ec=16;this.Mg=0;this.te=160;512<=Qh(this)&&(this.te|=16);3==Rh(this)&&(this.te|=64);this.Wh=3;this.If=0;this.Ig=Array(7);this.ue=0;this.pa||(this.pa=Array(64)); -Sh(this,this.ap);for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.cd&(xh.yf|2|yh.Mh|yh.yf);this.pa[16]=Th(this,0)<<4|Th(this,1);Uh(this)}}; -function Sh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ca("CMOS date invalid ("+b+"), using "+c)):b&&a.ca("CMOS date: "+c);a.pa[0]=c.getSeconds();a.pa[1]=0;a.pa[2]=c.getMinutes();a.pa[3]=0;a.pa[4]=c.getHours();a.pa[5]=0;a.pa[6]=c.getDay()+1;a.pa[7]=c.getDate();a.pa[8]=c.getMonth()+1;c=c.getFullYear();a.pa[9]=c%100;c/=100;a.pa[50]=c%10|c/10<<4;a.ag=-1;a.pa[10]=38;a.pa[11]=2;a.pa[12]=0;a.pa[13]=128} -function Lh(a,b){var c=a.pa[b];if(10>b){var d=!1;4!=b&&5!=b||a.pa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.pa[11]&4||(d&&128c;c++)b+=a.pa[c];a.pa[47]=b&255;a.pa[46]=b>>8} -k.save=function(){var a=new G(this);a.set(0,[this.Zb,this.ne,this.cd,this.Pe]);for(var b=[],c=0;c=zh&&(a.set(5,[this.ib,this.vd,this.Ec,this.Mg,this.te,this.Wh]),a.set(6,[this.If,this.Ig,this.ue,this.pa,this.ag]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.Zb=b[0];this.ne=b[1];this.cd=b[2];this.Pe=b[3];b=a[1];this.$a=Array(this.Lf);for(c=0;c>2)+1)*a.En+32*((b?a.ne:a.Pe)&15)}function Xh(a,b){var c=b?a.Zb:a.cd;return a.Ga!=uh||c&yh.Mh?((c&yh.yf)>>yh.zf)+1:0}function Th(a,b){return b>xh.zf} -function Bh(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=A(c,"pcjs-bitCell");c=null;for(g=0;g>2].Hb[b&3],c,d,e)}function fi(a,b,c){b=a.$a[b>>2].Hb[b&3];b.Yg&&b.wi&&b.yh?(c&&(b.$g=c),b.Fd||fd(a,b,!0)):c&&c(!0)} -function fd(a,b,c){c&&(b.count=b.ac[1]<<8|b.ac[0],b.bm=b.mode&12,b.sk=b.kd=!1);for(var d=!1;0<=b.count&&(c=b.Sg<<16|b.Sb[1]<<8|b.Sb[0],4==b.bm?(d=!0,function(c){b.wi.call(b.Yg,b.yh,-1,function(f,g){0>f&&(b.sk||(b.sk=!0),f=255);b.Fd||bb(a.na,c,f);(d=g)&&setTimeout(function(){mi(b)||fd(a,b)},0)})}(c)):8==b.bm?(c=$a(a.na,c),0>b.wi.call(b.Yg,b.yh,c)&&(b.kd=!0)):b.kd=!0),!d&&!mi(b););} -function mi(a){if(!a.kd&&0<=--a.count&&(a.mode&32?(a.Sb[0]--,0>a.Sb[0]&&(a.Sb[0]=255,a.Sb[1]--,0>a.Sb[1]&&(a.Sb[1]=255))):(a.Sb[0]++,255>3,e=a.sb[d];e.Kb|=1<<(b&7);e.fg=c||0;1==d&&(a.sb[0].Kb|=4);pi(a,d)} -function si(a,b){var c=b>>3,d=a.sb[c],e=1<<(b&7);d.Kb&e&&(d.Kb&=~e,1!=c||d.Kb||(a.sb[0].Kb&=-5),pi(a,c))}function dd(a,b){void 0===b&&(b=0);var c=-1,d=a.sb[b];if(d.fg)c=-2,d.fg--;else for(var e=d.Kb&((d.Fc|d.wd)^255),f=d.ve+1;;){var f=f&7,g=1<>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Ib[a];e.sg=b;e.mode=d;e.dk=c;e.Ic=[0,0];e.ac=[0,0];e.Rf=[0,0];e.ld=!1;e.Uf=!1;e.cf=!1;ui(this,a);0==a&&si(this,0);2==a&&255==this.sb[0].wd&&77==this.fc&&(a=this.Ib[0],a.Wc[0]=a.Ic[0],a.Wc[1]=a.Ic[1],a.ke=D(this.S,this.hh))}else Kh(this,a),b=this.Ib[a],b.Rf[0]=b.ac[0],b.Rf[1]=b.ac[1],b.Uf=!0,ui(this,a)}}; -function wi(a,b){var c=a.Ib[b],d=c.Ic[1]<<8|c.Ic[0];d||(d=1==c.hd?256:65536);return d}function ui(a,b){var c=a.Ib[b];c.be=32==c.sg?1:0;c.hd=48==c.sg?2:1} -function Kh(a,b,c){var d=a.Ib[b];if(d.cf&&(2!=b||a.fc&1)){var e=D(a.S,a.hh),f=(e-d.ke)/a.Il|0;0>f&&(d.ke=e,f=0);var g=wi(a,b),h=a.Ib[b],m=h.Wc[1]<<8|h.Wc[0];m||(m=1==h.hd?256:65536);h=m-f;0==d.mode?(0>=h&&(h=0),h||(d.ld=!0,d.cf=!1,b||P(a,0))):4==d.mode?(d.ld=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Wc[0]=h&255,d.Wc[1]=h>>8,d.ke=e,!b&&d.ld&&P(a,0))):6==d.mode&&(h-=f,0>=h&&(d.ld=!d.ld,h=g+h,0>=h&&(h=g),d.Wc[0]=h&255,d.Wc[1]=h>>8,d.ke=e,!b&&d.ld&&P(a,0)));d.ac[0]=h&255;d.ac[1]=h>>8;c&&(a.ke=0)}return d} -function Kb(a,b){for(var c=0;c=zh){var c=0,d=a.S.Hd,e=D(a.S,a.hh);if(0<=a.ag&&(c=e-a.ag,Math.floor(c/d)&&60<=++a.pa[0]&&(a.pa[0]=0,60<=++a.pa[2]&&(a.pa[2]=0,24<=++a.pa[4])))){a.pa[4]=0;a.pa[6]=a.pa[6]%7+1;var f=a.pa[9],g=oa[a.pa[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.pa[7]>g&&(a.pa[7]=1,12<++a.pa[8]&&(a.pa[8]=1,a.pa[9]=(a.pa[9]+1)%100))}a.ag=e-c%d}} -k.nn=function(a,b){var c=this.Rg;this.Kf&16&&(this.fc&128?c=this.cd:this.pb&&(c=xi(this.pb)));this.ba(a,null,b,"PPI_A",O.Ta,c);return c};k.Go=function(a,b,c){this.ba(a,b,c,"PPI_A",O.Ta);this.Rg=b};k.on=function(a,b){var c=this.fc;this.ba(a,null,b,"PPI_B",O.Ta,c);return c};k.Ho=function(a,b,c){this.ba(a,b,c,"PPI_B",O.Ta);yi(this,b);this.pb&&(a=this.pb,c=b&128?!1:!0,b=b&64?!0:!1,a.ni!==b&&(a.ni=a.pk=b),a.pi!==c&&(a.pi=c))&&(a.pk?(zi(a),a.pk=!1):Ai(a))}; -function yi(a,b){var c=!!(b&2),d=!!(a.fc&2);a.fc=b;c!=d&&Jb(a,c)}k.pn=function(a,b){var c=0,c=this.Ga==uh?this.fc&4?c|this.Pe&15:c|this.Pe>>4&1:this.fc&8?c|this.cd>>4:c|this.cd&15;this.fc&1&&Kh(this,2).ld&&(c=this.fc&2?c|32:c|16);this.ba(a,null,b,"PPI_C",O.Qj|O.Ta,c);return c};k.Io=function(a,b,c){this.ba(a,b,c,"PPI_C",O.Ta);this.Yh=b};k.qn=function(a,b){var c=this.Kf;this.ba(a,null,b,"PPI_CTRL",O.Ta,c);return c};k.Jo=function(a,b,c){this.ba(a,b,c,"PPI_CTRL",O.Ta);this.Kf=b}; -k.Dm=function(a,b){var c=this.Mg;this.ba(a,null,b,"8042_OUTBUFF",O.Ta,c);this.ib&=-258;var d=this.pb&&xi(this.pb,!0);d&&Bi(this,d);return c};k.Zn=function(a,b,c){this.ba(a,b,c,"8042_INBUF.DATA",O.Ta);if(this.ib&8)switch(this.vd){case 96:this.Ec=b;this.ib=this.ib&-5|b&4;break;case 209:Ci(this,b);break;default:if(this.Ec&=-17,this.pb){a=-1;switch(b){case 255:a=250,zi(this.pb)}Bi(this,a)}}this.vd=b;this.ib&=-9};k.Em=function(a,b){var c=this.fc&-193;this.ba(a,null,b,"8042_RWREG",O.Ta,c);this.fc^=16;return c}; -k.$n=function(a,b,c){this.ba(a,b,c,"8042_RWREG",O.Ta);yi(this,b)};k.Fm=function(a,b){this.ba(a,null,b,"8042_STATUS",O.Ta,this.ib);var c=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return c}; -k.Yn=function(a,b,c){this.ba(a,b,c,"8042_INBUFF.CMD",O.Ta);this.vd=b;this.ib|=8;a=0;240<=this.vd&&(a=this.vd^15,this.vd=240);switch(this.vd){case 192:Bi(this,this.te);break;case 173:this.Ec|=16;break;case 174:this.Ec&=-17;break;case 170:this.pb&&Ai(this.pb,!0);this.Ec|=16;Bi(this,85);Ci(this,3);break;case 224:Bi(this,this.Ec&16?0:1);break;case 240:a&1&&uc(this.S)}};function Bi(a,b){0<=b&&(a.Mg=b,a.ib&=-2,a.ib|=256)}function Ci(a,b){a.Wh=b;Wa(a.na,!!(b&2));b&1||uc(a.S)} -k.Tm=function(a,b){this.ba(a,null,b,"CMOS_ADDR",O.Ta,this.ue);return this.ue};k.oo=function(a,b,c){this.ba(a,b,c,"CMOS_ADDR",O.Ta);this.ue=b;this.Qg=b&128?0:128};k.Um=function(a,b){var c=this.ue&63,d=13>=c?Lh(this,c):this.pa[c];this.ba(a,null,b,"CMOS_DATA["+p(c)+"]",O.Ta,d);return d}; -k.po=function(a,b,c){var d=this.ue&63;this.ba(a,b,c,"CMOS_DATA["+p(d)+"]",O.Ta);a=this.pa;13>=d&&10>d&&(c=!1,this.pa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.ln=function(a,b){this.ba(a,null,b,"MFG_DATA",O.Ta,this.If);return this.If};k.Do=function(a,b,c){this.ba(a,b,c,"MFG_DATA",O.Ta);this.If=b};k.Fo=function(a,b,c){this.ba(a,b,c,"NMI",O.Ta);this.Qg=b}; -k.Bn=function(a){var b=this.S.G>>8;this.Z&&K(this.Z,this.Z.Ta)&&(this.Z.message("ChipSet.intBIOSRTC(AH="+p(b)+") at "+ca(a-this.S.ra.La,this.S.ra.oa)),Ac(this.S,a,function(a,d){return function(e){d=D(a.S)-d;var f="C="+(Oc(a.S)?1:0),g=a.S.J&255,h=a.S.J>>8,m=a.S.J&255,n=a.S.J>>8;if(2==b||3==b)f+=" CH(hour)="+r(h)+" CL(min)="+p(g)+" DH(sec)="+p(n);else if(4==b||5==b)f+=" CX(year)="+r(a.S.I)+" DH(month)="+p(n)+" DL(day)="+p(m);a.Fa("ChipSet.intBIOSRTC("+e+"): "+f+" (cycles="+d+")")}}(this,D(this.S)))); -return!0};function vh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.xb[c++]=f[b]>>16&255,this.xb[c++]=f[b]>>24&255;else this.xb=d;this.Sh=d.symbols;if(!this.xb.length){v("Empty ROM: "+a);return}if(1==this.xb.length){v(this.xb[0]);return}}catch(g){this.Ha("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.xb=Array(a.length),d=0;dthis.Kg?21:23,c=a.pa[b]|a.pa[b+1]<<8,c=c+(this.Od>>10);a.pa[b]=c&255;a.pa[b+1]=c>>8;Uh(a)}}else v("No RAM allocated")}; -za(function(){for(var a=A(window.document,"pcjs","ram"),b=0;ba.yc.length){if(!(!d&&!a.Rh[c]||d&&a.Rh[c])){a.Rh[c]=d;a.Fa("scan code "+p(b)+" buffered");a.yc.push(b);1==a.yc.length&&a.ka&&P(a.ka,1);for(var e in Oi)if(Oi[e]==c){(c=a.ta["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.yc.length&&a.yc.push(255),a.Fa("scan code buffer overflow")}function Ti(a,b){var c=b?a.Kn:a.Jn;a.S&&a.S.md&&(c/=a.S.md);return c} -function Ui(a,b){!a.Le||void 0!==b&&b==a.Le||(clearTimeout(a.rd[a.Le]),Vi(a,a.Le,!1))} -function Qi(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Nl=f);240==f+224?(a.Ea&=-2,c&&(a.Ea|=1),f+=224,e=!1):241==f+224?(a.Ea&=-5,c&&(a.Ea|=4),f+=224,e=!1):242==f+224?(a.Ea&=-9,c&&(a.Ea|=8),f+=224,e=!1):244==f+224?(a.Ea&=-17,c&&(a.Ea|=16),f+=224,d=Ri(a,f)):91==f?(a.Ea&=-33,c&&(a.Ea|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Ea&12)&&(f=254),d=c?!Ri(a,f):!1):void 0!==Q[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Ea&=-33,a.ok||f!=a.Nl||Ui(a));void 0===d&&(d=!Vi(a,f,c));return d} -function Ri(a,b,c){var d=!1;Ui(a,b);Vi(a,b,!0)&&(c?Vi(a,b,!1):(c=!1,a.rd[b]&&(clearTimeout(a.rd[b]),c=!0),c=Ti(a,c),a.rd[a.Le=b]=setTimeout(function(a){return function(){Vi(a,b,!1)}}(a),c)),d=!0);return d} -function Vi(a,b,c){var d=!1;c||(a.rd[b]=null,a.Le==b&&(a.Le=0));var e=Q[b];void 0===e&&1<=b&&26>=b&&(e=Q[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Ea&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Ea&17||(d=42):224==f?a.Ea&18||(d=54):241==f?a.Ea&4||(d=29):242==f&&(a.Ea&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(gj)];this.Z=a.Z;this.type=e[0];this.port=e[1];this.fe=b;this.cb=e[2];this.uc=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.cb&&(this.uc=Math.min(this.Tc>>2,32768));this.mc=c[0];this.zc=c[1];this.Ze=c[2];this.tf=c[3];this.oc=c[4]&255;this.kh=c[4]>>8&255;this.dc=c[5];this.Di=gj;this.Lg=hj;if(5==b){this.Di=ij;this.Lg=jj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), -0,0,0,Array(9),0,this.Tc,Array(this.Tc>>2),771,0,4294967295,0,4294967295,0,4294967295,0]);this.jd=b[0];this.Bd=b[1];this.Rd=b[2];this.Th=kj;this.Lh=b[3];this.Yf=b[4];this.jh=b[5];this.Dd=b[6];this.Bf=b[7];this.Vh=lj;this.xi=b[8];this.yi=b[9];this.Cd=b[10];this.qe=b[11];this.Uh=mj;this.vb=b[12];d=this.Tc>>2;if((this.fd=b[14])&&this.fd.length>8&255)} -var V=[,,function(a){a+=this.offset;return(this.ia.vb=this.qa[a])>>this.ia.vj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.qa[b]>>8:this.qa[b])&255}];V[16]=function(a){a+=this.offset;a=this.qa[a];for(var b=this.ia.Fi&this.ia.Gi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};V[512]=function(a,b){var c=a+this.offset,d;d=this.qa[c]&~this.ia.gb|(b|b<<8|b<<16|b<<24)&this.ia.gb;d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)}; -V[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.nd|b<<8-this.ia.nd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.je|this.ia.Ie;d=d&this.ia.gb|this.qa[c]&~this.ia.gb;d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)}; -V[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.nd|b<<8-this.ia.nd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.je|this.ia.Ie;d&=this.ia.vb;d=d&this.ia.gb|this.qa[c]&~this.ia.gb;d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)}; -V[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.nd|b<<8-this.ia.nd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.je|this.ia.Ie;d|=this.ia.vb;d=d&this.ia.gb|this.qa[c]&~this.ia.gb;d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)}; -V[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.nd|b<<8-this.ia.nd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.je|this.ia.Ie;d^=this.ia.vb;d=d&this.ia.gb|this.qa[c]&~this.ia.gb;d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)};V[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.gb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.qa[d]&~c;c=c&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[d]!=c&&(this.qa[d]=c,this.jb=!0)}; -V[4096]=function(a){a+=this.offset;var b=this.qa[a]&~this.ia.gb|this.ia.vb&this.ia.gb;this.qa[a]!=b&&(this.qa[a]=b,this.jb=!0)};V[8192]=function(a,b){var c=a+this.offset,d=dj[b&15],d=d&this.ia.gb|this.qa[c]&~this.ia.gb,d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)};V[24576]=function(a,b){var c=a+this.offset,d=dj[b&15],d=d&this.ia.vb,d=d&this.ia.gb|this.qa[c]&~this.ia.gb,d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)}; -V[40960]=function(a,b){var c=a+this.offset,d=dj[b&15],d=d|this.ia.vb,d=d&this.ia.gb|this.qa[c]&~this.ia.gb,d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)};V[57344]=function(a,b){var c=a+this.offset,d=dj[b&15],d=d^this.ia.vb,d=d&this.ia.gb|this.qa[c]&~this.ia.gb,d=d&this.ia.lb|this.ia.vb&~this.ia.lb;this.qa[c]!=d&&(this.qa[c]=d,this.jb=!0)}; -function pj(a){var b=[];if(void 0!==a.fe){b[0]=a.mc;b[1]=a.zc;b[2]=a.Ze;b[3]=a.tf;b[4]=a.oc|a.kh<<8;b[5]=a.dc;if(5==a.fe){var c=[];c[0]=a.jd;c[1]=a.Bd;c[2]=a.Rd;c[3]=a.Lh;c[4]=a.Yf;c[5]=a.jh;c[6]=a.Dd;c[7]=a.Bf;c[8]=a.xi;c[9]=a.yi;c[10]=a.Cd;c[11]=a.qe;c[12]=a.vb;c[13]=a.Tc;var d;a:if(d=a.fd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=m;h=n}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var n=l(b.cb+a)+":",q=0;8>q&&athis.La?1:this.zh},oh,function(){Wg[this.ea()].call(this,Wd,this.L);this.A-=0>this.La?1:this.zh},function(){Sg[this.ea()].call(this,he)},function(){Tg[this.ea()].call(this,ie)},function(){Ug[this.Rg=this.ea()].call(this,te)},function(){O[this.Rg=this.ea()].call(this,ue)},function(){this.$|=1;Sg[this.ea()].call(this,fe)},function(){this.$|=1;Tg[this.ea()].call(this,fe)},function(){Ug[this.ea()].call(this,fe)},function(){O[this.ea()].call(this,fe)},function(){var a=this.ea();switch((a& +56)>>3){case 0:this.Db=this.cb.oa;break;case 1:this.Db=this.ra.oa;break;case 2:this.Db=this.Eb.oa;break;case 3:this.Db=this.Qb.oa;break;default:N.call(this);return}this.$|=1;Tg[a].call(this,ge)},function(){this.$|=1;this.C=this.M=this.cm;O[this.ea()].call(this,me)},function(){var a,b=this.ea(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Ga){G.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.X;break;case 5:a=this.H;break; +case 6:a=this.F;break;case 7:a=this.D}}O[b].call(this,fe);switch(c){case 0:Oc(this,this.G);this.G=a;break;case 1:Ic(this,this.I);this.I=a;break;case 2:Kc(this,this.J);this.J=a;break;case 3:Jc(this,this.B);this.B=a;break;case 4:Oc(this,this.X);this.X=a;break;case 5:Ic(this,this.H);this.H=a;break;case 6:Kc(this,this.F);this.F=a;break;case 7:Jc(this,this.D),this.D=a}},function(){this.$|=1;Wg[this.ea()].call(this,Xd,this.Ka)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-= +3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.X;this.X=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Rk},function(){var a=this.K(),b=this.K();K(this, +this.ra.oa);K(this,this.sa);wc(this,a,b);this.A-=this.Uk},function(){N.call(this)},function(){K(this,zc(this));this.A-=this.qc},function(){xc(this,this.Ka());this.A-=this.ic},function(){var a=this.G>>8;a&1?$c(this):Vc(this);a&4?Qc(this)||(this.ja^=1):Qc(this)&&(this.ja^=1);a&16?ad(this):Wc(this);a&64?bd(this):Xc(this);a&128?cd(this):Yc(this);this.A-=this.Cb},function(){this.G=this.G&255|(zc(this)&213)<<8;this.A-=this.Cb},function(){this.G=this.G&-256|this.T(this.C,this.K());this.A-=this.gj},function(){this.G= +this.U(this.C,this.K());this.A-=this.gj},function(){var a=this.K(),b=this.G;this.ad(this.C.$b(a,0),b);this.A-=this.hj},function(){var a=this.K(),b=this.G;this.Nd(this.C.$b(a,1),b);this.A-=this.hj},function(){var a=1,b=0,c=this.ij;this.wa&192&&(a=this.I,b=1,c=this.kj,this.wa&256||(this.A-=this.jj));if(a--){var d=this.ya&1024?-1:1,e=this.T(this.C,this.F);this.ad(this.cb.$b(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a= +1,b=0,c=this.ij;this.wa&192&&(a=this.I,b=1,c=this.kj,this.wa&256||(this.A-=this.jj));if(a--){var d=this.ya&1024?-2:2,e=this.U(this.C,this.F);this.Nd(this.cb.$b(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.Ti;this.wa&192&&(a=this.I,b=1,c=this.Vi,this.wa&256||(this.A-=this.Ui));if(a--){var d=this.ya&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.cb,this.D);pd.call(this,e,f);this.F=this.F+d&65535; +this.D=this.D+d&65535;this.A-=c-this.tb;this.I-=b;a&&Sc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.Ti;this.wa&192&&(a=this.I,b=1,c=this.Vi,this.wa&256||(this.A-=this.Ui));if(a--){var d=this.ya&1024?-2:2,e=this.U(this.C,this.F),f=this.O(this.cb,this.D);xd.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.tb;this.I-=b;a&&Sc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){this.Y=this.ja=this.ma=this.G&255& +this.ea();this.da=256;this.A-=this.He},function(){this.Y=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.He},function(){var a=1,b=0,c=this.tj;this.wa&192&&(a=this.I,b=1,c=this.vj,this.wa&256||(this.A-=this.uj));if(a--){var d=this.G;this.ad(this.cb.$b(this.D,0),d);this.D=this.D+(this.ya&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.tj;this.wa&192&&(a=this.I,b=1,c=this.vj,this.wa&256||(this.A-=this.uj));if(a--){var d=this.G;this.Nd(this.cb.$b(this.D, +1),d);this.D=this.D+(this.ya&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.aj;this.wa&192&&(a=this.I,b=1,c=this.cj,this.wa&256||(this.A-=this.bj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.ya&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.aj;this.wa&192&&(a=this.I,b=1,c=this.cj,this.wa&256||(this.A-=this.bj));a--&&(this.G=this.U(this.C,this.F),this.F=this.F+(this.ya& +1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.nj;this.wa&192&&(a=this.I,b=1,c=this.pj,this.wa&256||(this.A-=this.oj));a--&&(pd.call(this,this.G&255,this.N(this.cb,this.D)),this.D=this.D+(this.ya&1024?-1:1)&65535,this.A-=c-this.tb,this.I-=b,a&&Sc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){var a=1,b=0,c=this.nj;this.wa&192&&(a=this.I,b=1,c=this.pj,this.wa&256||(this.A-=this.oj));a--&&(xd.call(this,this.G,this.O(this.cb, +this.D)),this.D=this.D+(this.ya&1024?-2:2)&65535,this.A-=c-this.tb,this.I-=b,a&&Sc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){this.G=this.G&-256|this.ea();this.A-=this.Cb},function(){this.I=this.I&-256|this.ea();this.A-=this.Cb},function(){this.J=this.J&-256|this.ea();this.A-=this.Cb},function(){this.B=this.B&-256|this.ea();this.A-=this.Cb},function(){this.G=this.G&255|this.ea()<<8;this.A-=this.Cb},function(){this.I=this.I&255|this.ea()<<8;this.A-=this.Cb},function(){this.J=this.J& +255|this.ea()<<8;this.A-=this.Cb},function(){this.B=this.B&255|this.ea()<<8;this.A-=this.Cb},function(){this.G=this.K();this.A-=this.Cb},function(){this.I=this.K();this.A-=this.Cb},function(){this.J=this.K();this.A-=this.Cb},function(){this.B=this.K();this.A-=this.Cb},function(){this.X=this.K();this.A-=this.Cb},function(){this.H=this.K();this.A-=this.Cb},function(){this.F=this.K();this.A-=this.Cb},function(){this.D=this.K();this.A-=this.Cb},ph,qh,ph,qh,function(){O[this.ea()].call(this,oe)},function(){O[this.ea()].call(this, +ne)},function(){this.$|=1;Vg[this.ea()].call(this,Yd,this.ea)},function(){this.$|=1;Wg[this.ea()].call(this,Yd,this.K)},rh,sh,rh,sh,function(){fd.call(this,3,null,this.kl)},function(){var a=this.ea(),b;a:{b=this.Ig[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.da=256;this.A-=this.Nk},function(){this.G=this.G&-256|(Pc(this)?255:0);this.A-=2},function(){this.G=this.G&-256|this.T(this.C,this.B+ +(this.G&255)&65535);this.A-=this.Ml},th,th,th,th,th,th,th,th,function(){var a=this.L();(this.I=this.I-1&65535)&&this.Y&this.da-1?(I(this,this.sa+a),this.A-=this.tl):this.A-=this.dj},function(){var a=this.L();!(this.I=this.I-1&65535)||this.Y&this.da-1?this.A-=this.fj:(I(this,this.sa+a),this.A-=this.ej)},function(){var a=this.L();(this.I=this.I-1&65535)?(I(this,this.sa+a),this.A-=this.sl):this.A-=this.dj},function(){var a=this.L();this.I?this.A-=this.fj:(I(this,this.sa+a),this.A-=this.ej)},function(){var a= +this.ea();this.G=this.G&-256|ib(this.na,a,this.Ca-2);this.A-=this.Yi},function(){var a=this.ea();this.G=ib(this.na,a,this.Ca-1)|ib(this.na,a+1&65535,this.Ca-2)<<8;this.A-=this.Yi},function(){var a=this.ea();mb(this.na,a,this.G&255,this.Ca-2);this.A-=this.mj},function(){var a=this.ea();mb(this.na,a,this.G&255,this.Ca-2);mb(this.na,a+1&65535,this.G>>8,this.Ca-2);this.A-=this.mj},function(){var a=this.K();K(this,this.sa);I(this,this.sa+a);this.A-=this.Sk},function(){var a=this.K();I(this,this.sa+a); +this.A-=this.Zi},function(){wc(this,this.K(),this.K());this.A-=this.ol},function(){var a=this.L();I(this,this.sa+a);this.A-=this.Zi},function(){this.G=this.G&-256|ib(this.na,this.J,this.Ca-1);this.A-=this.Xi},function(){this.G=ib(this.na,this.J,this.Ca-1)|ib(this.na,this.J+1&65535,this.Ca-1)<<8;this.A-=this.Xi},function(){mb(this.na,this.J,this.G&255,this.Ca-1);this.A-=this.lj},function(){mb(this.na,this.J,this.G&255,this.Ca-1);mb(this.na,this.J+1&65535,this.G>>8,this.Ca-1);this.A-=this.lj},uh,uh, +function(){this.$|=132;this.A-=this.Pb},function(){this.$|=68;this.A-=this.Pb},function(){this.ob|=4;this.A-=2;this.Z&&1=Ah&&(this.Nf=this.Of=2);this.kh=a.scaleTimers||!1;this.hp=a.rtcDate;this.wk=!1;a.sound&&window&&"webkitAudioContext"in window&& +(this.ii=new webkitAudioContext);this.reset();this.Sa()}y(x,P);var vh=5150,Ah=5170,Bh={none:0,tv:1,color:2,mono:3,ega:0},zh={Rh:1,ONE:0,Mp:64,Kp:128,tp:192,Af:192,Bf:6},xh=12,yh={Lp:16,op:32,qm:48,Af:48,Bf:4};k=P.prototype; +k.xb=function(a,b,c,d){switch(c){case "sw1":return this.ta[c]=d,Ch(this,c,d,this.Zb,{0:this.Ga==vh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==vh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==vh)return this.ta[c]=d,Ch(this,c,d,this.oe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ta[c]=d,!0}return!1}; +k.oc=function(a,b,c,d){this.na=b;this.S=c;this.Z=d;this.Da=a;this.bb=C(a,"Keyboard");this.Nl=Math.round(c.Hd/1193181);hb(b,this,Dh);lb(b,this,Eh);this.Gab;b++){var c=13>=b?Mh(e,b):e.pa[b];a&&(a+="\n");a+="CMOS[0x"+r(b)+"]: 0x"+r(c)}e.Z.message(a)})}Ac(c,26,this,this.In)};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0}; +k.reset=function(){var a;this.bd=this.Zb;this.Pe=this.oe;Nh(this);this.$a=Array(this.Nf);for(a=0;a=Ah){this.lb=16;this.ud=0;this.Wd=16;this.Og=0;this.ue=160;512<=Rh(this)&&(this.ue|=16);3==Sh(this)&&(this.ue|=64);this.bi=3;this.Kf=0;this.Kg=Array(7);this.ve=0;this.pa||(this.pa=Array(64)); +Th(this,this.hp);for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.bd&(yh.Af|2|zh.Rh|zh.Af);this.pa[16]=Uh(this,0)<<4|Uh(this,1);Vh(this)}}; +function Th(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ca("CMOS date invalid ("+b+"), using "+c)):b&&a.ca("CMOS date: "+c);a.pa[0]=c.getSeconds();a.pa[1]=0;a.pa[2]=c.getMinutes();a.pa[3]=0;a.pa[4]=c.getHours();a.pa[5]=0;a.pa[6]=c.getDay()+1;a.pa[7]=c.getDate();a.pa[8]=c.getMonth()+1;c=c.getFullYear();a.pa[9]=c%100;c/=100;a.pa[50]=c%10|c/10<<4;a.cg=-1;a.pa[10]=38;a.pa[11]=2;a.pa[12]=0;a.pa[13]=128} +function Mh(a,b){var c=a.pa[b];if(10>b){var d=!1;4!=b&&5!=b||a.pa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.pa[11]&4||(d&&128c;c++)b+=a.pa[c];a.pa[47]=b&255;a.pa[46]=b>>8} +k.save=function(){var a=new H(this);a.set(0,[this.Zb,this.oe,this.bd,this.Pe]);for(var b=[],c=0;c=Ah&&(a.set(5,[this.lb,this.ud,this.Wd,this.Og,this.ue,this.bi]),a.set(6,[this.Kf,this.Kg,this.ve,this.pa,this.cg]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.Zb=b[0];this.oe=b[1];this.bd=b[2];this.Pe=b[3];b=a[1];this.$a=Array(this.Nf);for(c=0;c>2)+1)*a.Ln+32*((b?a.oe:a.Pe)&15)}function Yh(a,b){var c=b?a.Zb:a.bd;return a.Ga!=vh||c&zh.Rh?((c&zh.Af)>>zh.Bf)+1:0}function Uh(a,b){return b>yh.Bf} +function Ch(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(g=0;g>2].Hb[b&3],c,d,e)}function gi(a,b,c){b=a.$a[b>>2].Hb[b&3];b.$g&&b.Ci&&b.Bh?(c&&(b.bh=c),b.Fd||gd(a,b,!0)):c&&c(!0)} +function gd(a,b,c){c&&(b.count=b.ac[1]<<8|b.ac[0],b.gm=b.mode&12,b.xk=b.jd=!1);for(var d=!1;0<=b.count&&(c=b.Ug<<16|b.Sb[1]<<8|b.Sb[0],4==b.gm?(d=!0,function(c){b.Ci.call(b.$g,b.Bh,-1,function(f,g){0>f&&(b.xk||(b.xk=!0),f=255);b.Fd||cb(a.na,c,f);(d=g)&&setTimeout(function(){ni(b)||gd(a,b)},0)})}(c)):8==b.gm?(c=ab(a.na,c),0>b.Ci.call(b.$g,b.Bh,c)&&(b.jd=!0)):b.jd=!0),!d&&!ni(b););} +function ni(a){if(!a.jd&&0<=--a.count&&(a.mode&32?(a.Sb[0]--,0>a.Sb[0]&&(a.Sb[0]=255,a.Sb[1]--,0>a.Sb[1]&&(a.Sb[1]=255))):(a.Sb[0]++,255>3,e=a.ub[d];e.Kb|=1<<(b&7);e.hg=c||0;1==d&&(a.ub[0].Kb|=4);qi(a,d)} +function ti(a,b){var c=b>>3,d=a.ub[c],e=1<<(b&7);d.Kb&e&&(d.Kb&=~e,1!=c||d.Kb||(a.ub[0].Kb&=-5),qi(a,c))}function ed(a,b){void 0===b&&(b=0);var c=-1,d=a.ub[b];if(d.hg)c=-2,d.hg--;else for(var e=d.Kb&((d.Ec|d.vd)^255),f=d.we+1;;){var f=f&7,g=1<>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Ib[a];e.tg=b;e.mode=d;e.jk=c;e.Hc=[0,0];e.ac=[0,0];e.Tf=[0,0];e.kd=!1;e.Wf=!1;e.cf=!1;vi(this,a);0==a&&ti(this,0);2==a&&255==this.ub[0].vd&&77==this.yc&&(a=this.Ib[0],a.Vc[0]=a.Hc[0],a.Vc[1]=a.Hc[1],a.le=E(this.S,this.kh))}else Lh(this,a),b=this.Ib[a],b.Tf[0]=b.ac[0],b.Tf[1]=b.ac[1],b.Wf=!0,vi(this,a)}}; +function xi(a,b){var c=a.Ib[b],d=c.Hc[1]<<8|c.Hc[0];d||(d=1==c.gd?256:65536);return d}function vi(a,b){var c=a.Ib[b];c.ce=32==c.tg?1:0;c.gd=48==c.tg?2:1} +function Lh(a,b,c){var d=a.Ib[b];if(d.cf&&(2!=b||a.yc&1)){var e=E(a.S,a.kh),f=(e-d.le)/a.Nl|0;0>f&&(d.le=e,f=0);var g=xi(a,b),h=a.Ib[b],m=h.Vc[1]<<8|h.Vc[0];m||(m=1==h.gd?256:65536);h=m-f;0==d.mode?(0>=h&&(h=0),h||(d.kd=!0,d.cf=!1,b||Q(a,0))):4==d.mode?(d.kd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Vc[0]=h&255,d.Vc[1]=h>>8,d.le=e,!b&&d.kd&&Q(a,0))):6==d.mode&&(h-=f,0>=h&&(d.kd=!d.kd,h=g+h,0>=h&&(h=g),d.Vc[0]=h&255,d.Vc[1]=h>>8,d.le=e,!b&&d.kd&&Q(a,0)));d.ac[0]=h&255;d.ac[1]=h>>8;c&&(a.le=0)}return d} +function Lb(a,b){for(var c=0;c=Ah){var c=0,d=a.S.Hd,e=E(a.S,a.kh);if(0<=a.cg&&(c=e-a.cg,Math.floor(c/d)&&60<=++a.pa[0]&&(a.pa[0]=0,60<=++a.pa[2]&&(a.pa[2]=0,24<=++a.pa[4])))){a.pa[4]=0;a.pa[6]=a.pa[6]%7+1;var f=a.pa[9],g=pa[a.pa[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.pa[7]>g&&(a.pa[7]=1,12<++a.pa[8]&&(a.pa[8]=1,a.pa[9]=(a.pa[9]+1)%100))}a.cg=e-c%d}} +k.un=function(a,b){var c=this.Tg;this.Mf&16&&(this.yc&128?c=this.bd:this.bb&&(c=yi(this.bb)));this.ba(a,null,b,"PPI_A",P.Ta,c);return c};k.No=function(a,b,c){this.ba(a,b,c,"PPI_A",P.Ta);this.Tg=b};k.vn=function(a,b){var c=this.yc;this.ba(a,null,b,"PPI_B",P.Ta,c);return c};k.Oo=function(a,b,c){this.ba(a,b,c,"PPI_B",P.Ta);zi(this,b);this.bb&&Ai(this.bb,b&128?!1:!0,b&64?!0:!1)};function zi(a,b){var c=!!(b&2),d=!!(a.yc&2);a.yc=b;c!=d&&Jb(a,c)} +k.wn=function(a,b){var c=0,c=this.Ga==vh?this.yc&4?c|this.Pe&15:c|this.Pe>>4&1:this.yc&8?c|this.bd>>4:c|this.bd&15;this.yc&1&&Lh(this,2).kd&&(c=this.yc&2?c|32:c|16);this.ba(a,null,b,"PPI_C",P.Wj|P.Ta,c);return c};k.Po=function(a,b,c){this.ba(a,b,c,"PPI_C",P.Ta);this.di=b};k.xn=function(a,b){var c=this.Mf;this.ba(a,null,b,"PPI_CTRL",P.Ta,c);return c};k.Qo=function(a,b,c){this.ba(a,b,c,"PPI_CTRL",P.Ta);this.Mf=b}; +k.Km=function(a,b){var c=this.Og;this.ba(a,null,b,"8042_OUTBUFF",P.Ta,c);this.lb&=-258;var d=this.bb&&yi(this.bb,!0);d&&Bi(this,d);return c};k.ho=function(a,b,c){this.ba(a,b,c,"8042_INBUF.DATA",P.Ta);if(this.lb&8)switch(this.ud){case 96:Ci(this,b);break;case 209:Di(this,b);break;default:if(Ci(this,this.Wd&-17),this.bb){a=-1;switch(b){case 255:a=250,Ei(this.bb)}Bi(this,a)}}this.ud=b;this.lb&=-9};k.Lm=function(a,b){var c=this.yc&-209|(E(this.S)&64?16:0);this.ba(a,null,b,"8042_RWREG",P.Ta|P.nm,c);return c}; +k.io=function(a,b,c){this.ba(a,b,c,"8042_RWREG",P.Ta);zi(this,b)};k.Mm=function(a,b){this.ba(a,null,b,"8042_STATUS",P.Ta,this.lb);var c=this.lb&255;this.lb&256&&(this.lb|=1,this.lb&=-257);return c}; +k.fo=function(a,b,c){this.ba(a,b,c,"8042_INBUFF.CMD",P.Ta);this.ud=b;this.lb|=8;a=0;240<=this.ud&&(a=this.ud^15,this.ud=240);switch(this.ud){case 192:Bi(this,this.ue);break;case 173:Ci(this,this.Wd|16);break;case 174:Ci(this,this.Wd&-17);break;case 170:this.bb&&Fi(this.bb,!0);Ci(this,this.Wd|16);Bi(this,85);Di(this,3);break;case 224:Bi(this,this.Wd&16?0:1);break;case 240:a&1&&vc(this.S)}};function Ci(a,b){a.Wd=b;a.lb=a.lb&-5|b&4;a.bb&&Ai(a.bb,!!(b&8),!(b&16))&&Bi(a,yi(a.bb,!0))} +function Bi(a,b){0<=b&&(a.Og=b,a.lb&=-2,a.lb|=256)}function Di(a,b){a.bi=b;Xa(a.na,!!(b&2));b&1||vc(a.S)}k.$m=function(a,b){this.ba(a,null,b,"CMOS_ADDR",P.Ta,this.ve);return this.ve};k.vo=function(a,b,c){this.ba(a,b,c,"CMOS_ADDR",P.Ta);this.ve=b;this.Sg=b&128?0:128};k.an=function(a,b){var c=this.ve&63,d=13>=c?Mh(this,c):this.pa[c];this.ba(a,null,b,"CMOS_DATA["+r(c)+"]",P.Ta,d);return d}; +k.wo=function(a,b,c){var d=this.ve&63;this.ba(a,b,c,"CMOS_DATA["+r(d)+"]",P.Ta);a=this.pa;13>=d&&10>d&&(c=!1,this.pa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.sn=function(a,b){this.ba(a,null,b,"MFG_DATA",P.Ta,this.Kf);return this.Kf};k.Ko=function(a,b,c){this.ba(a,b,c,"MFG_DATA",P.Ta);this.Kf=b};k.Mo=function(a,b,c){this.ba(a,b,c,"NMI",P.Ta);this.Sg=b}; +k.In=function(a){var b=this.S.G>>8;this.Z&&L(this.Z,this.Z.Ta)&&(this.Z.message("ChipSet.intBIOSRTC(AH="+r(b)+") at "+da(a-this.S.ra.Na,this.S.ra.oa)),Bc(this.S,a,function(a,d){return function(e){d=E(a.S)-d;var f="C="+(Pc(a.S)?1:0),g=a.S.J&255,h=a.S.J>>8,m=a.S.J&255,n=a.S.J>>8;if(2==b||3==b)f+=" CH(hour)="+v(h)+" CL(min)="+r(g)+" DH(sec)="+r(n);else if(4==b||5==b)f+=" CX(year)="+v(a.S.I)+" DH(month)="+r(n)+" DL(day)="+r(m);a.Fa("ChipSet.intBIOSRTC("+e+"): "+f+" (cycles="+d+")")}}(this,E(this.S)))); +return!0};function wh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.Yh=d.symbols;if(!this.yb.length){w("Empty ROM: "+a);return}if(1==this.yb.length){w(this.yb[0]);return}}catch(g){this.Ha("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;dthis.Mg?21:23,c=a.pa[b]|a.pa[b+1]<<8,c=c+(this.Od>>10);a.pa[b]=c&255;a.pa[b+1]=c>>8;Vh(a)}}else w("No RAM allocated")}; +Aa(function(){for(var a=B(window.document,"pcjs","ram"),b=0;ba.xc.length){if(!(!d&&!a.Xh[c]||d&&a.Xh[c])){a.Xh[c]=d;a.Fa("scan code "+r(b)+" buffered");a.xc.push(b);1==a.xc.length&&a.ka&&Q(a.ka,1);for(var e in Ni)if(Ni[e]==c){(c=a.ta["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.xc.length&&a.xc.push(255),a.Fa("scan code buffer overflow")}function Wi(a,b){var c=b?a.Rn:a.Qn;a.S&&a.S.ld&&(c/=a.S.ld);return c} +function Xi(a,b){!a.Le||void 0!==b&&b==a.Le||(clearTimeout(a.qd[a.Le]),Yi(a,a.Le,!1))} +function Ti(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Sl=f);240==f+224?(a.Ea&=-2,c&&(a.Ea|=1),f+=224,e=!1):241==f+224?(a.Ea&=-5,c&&(a.Ea|=4),f+=224,e=!1):242==f+224?(a.Ea&=-9,c&&(a.Ea|=8),f+=224,e=!1):244==f+224?(a.Ea&=-17,c&&(a.Ea|=16),f+=224,d=Ui(a,f)):91==f?(a.Ea&=-33,c&&(a.Ea|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Ea&12)&&(f=254),d=c?!Ui(a,f):!1):void 0!==R[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Ea&=-33,a.uk||f!=a.Sl||Xi(a));void 0===d&&(d=!Yi(a,f,c));return d} +function Ui(a,b,c){var d=!1;Xi(a,b);Yi(a,b,!0)&&(c?Yi(a,b,!1):(c=!1,a.qd[b]&&(clearTimeout(a.qd[b]),c=!0),c=Wi(a,c),a.qd[a.Le=b]=setTimeout(function(a){return function(){Yi(a,b,!1)}}(a),c)),d=!0);return d} +function Yi(a,b,c){var d=!1;c||(a.qd[b]=null,a.Le==b&&(a.Le=0));var e=R[b];void 0===e&&1<=b&&26>=b&&(e=R[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Ea&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Ea&17||(d=42):224==f?a.Ea&18||(d=54):241==f?a.Ea&4||(d=29):242==f&&(a.Ea&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(jj)];this.Z=a.Z;this.type=e[0];this.port=e[1];this.ge=b;this.eb=e[2];this.tc=e[3];this.Sc=d||e[4];65536<=this.Sc&&720896<=this.eb&&(this.tc=Math.min(this.Sc>>2,32768));this.lc=c[0];this.zc=c[1];this.Ze=c[2];this.uf=c[3];this.nc=c[4]&255;this.nh=c[4]>>8&255;this.dc=c[5];this.Ji=jj;this.Ng=kj;if(5==b){this.Ji=lj;this.Ng=mj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), +0,0,0,Array(9),0,this.Sc,Array(this.Sc>>2),771,0,4294967295,0,4294967295,0,4294967295,0]);this.hd=b[0];this.Bd=b[1];this.Rd=b[2];this.Zh=nj;this.Oh=b[3];this.$f=b[4];this.mh=b[5];this.Dd=b[6];this.Df=b[7];this.ai=oj;this.Di=b[8];this.Ei=b[9];this.Cd=b[10];this.re=b[11];this.$h=pj;this.wb=b[12];d=this.Sc>>2;if((this.ed=b[14])&&this.ed.length>8&255)} +var W=[,,function(a){a+=this.offset;return(this.ia.wb=this.qa[a])>>this.ia.Bj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.qa[b]>>8:this.qa[b])&255}];W[16]=function(a){a+=this.offset;a=this.qa[a];for(var b=this.ia.Li&this.ia.Mi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};W[512]=function(a,b){var c=a+this.offset,d;d=this.qa[c]&~this.ia.ib|(b|b<<8|b<<16|b<<24)&this.ia.ib;d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; +W[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.ke|this.ia.Ie;d=d&this.ia.ib|this.qa[c]&~this.ia.ib;d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; +W[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.ke|this.ia.Ie;d&=this.ia.wb;d=d&this.ia.ib|this.qa[c]&~this.ia.ib;d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; +W[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.ke|this.ia.Ie;d|=this.ia.wb;d=d&this.ia.ib|this.qa[c]&~this.ia.ib;d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; +W[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.md|b<<8-this.ia.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.ke|this.ia.Ie;d^=this.ia.wb;d=d&this.ia.ib|this.qa[c]&~this.ia.ib;d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)};W[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.ib&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.qa[d]&~c;c=c&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[d]!=c&&(this.qa[d]=c,this.nb=!0)}; +W[4096]=function(a){a+=this.offset;var b=this.qa[a]&~this.ia.ib|this.ia.wb&this.ia.ib;this.qa[a]!=b&&(this.qa[a]=b,this.nb=!0)};W[8192]=function(a,b){var c=a+this.offset,d=gj[b&15],d=d&this.ia.ib|this.qa[c]&~this.ia.ib,d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)};W[24576]=function(a,b){var c=a+this.offset,d=gj[b&15],d=d&this.ia.wb,d=d&this.ia.ib|this.qa[c]&~this.ia.ib,d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; +W[40960]=function(a,b){var c=a+this.offset,d=gj[b&15],d=d|this.ia.wb,d=d&this.ia.ib|this.qa[c]&~this.ia.ib,d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)};W[57344]=function(a,b){var c=a+this.offset,d=gj[b&15],d=d^this.ia.wb,d=d&this.ia.ib|this.qa[c]&~this.ia.ib,d=d&this.ia.pb|this.ia.wb&~this.ia.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; +function sj(a){var b=[];if(void 0!==a.ge){b[0]=a.lc;b[1]=a.zc;b[2]=a.Ze;b[3]=a.uf;b[4]=a.nc|a.nh<<8;b[5]=a.dc;if(5==a.ge){var c=[];c[0]=a.hd;c[1]=a.Bd;c[2]=a.Rd;c[3]=a.Oh;c[4]=a.$f;c[5]=a.mh;c[6]=a.Dd;c[7]=a.Df;c[8]=a.Di;c[9]=a.Ei;c[10]=a.Cd;c[11]=a.re;c[12]=a.wb;c[13]=a.Sc;var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=m;h=n}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.eb+a)+":",q=0;8>q&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),cb(this.na,b,c|d<<8);xb(this,!0)}};function xj(a){a.la.Yf&1?(a.Sc=a.ai,a.yb=a.la):(a.Sc=a.la,a.yb=a.Xg)}k.save=function(){var a=new G(this);a.set(0,pj(this.ai));a.set(1,pj(this.Xg));a.set(2,[this.he,this.od,this.Jd]);a.set(3,pj(this.la));return a.data()}; -k.restore=function(a){var b=a[2];this.he=b[0];this.od=b[1];this.Jd=b[2];this.Ba=null;this.Sc=this.ai=new ej(this,1,a[0]);this.yb=this.Xg=new ej(this,3,a[1]);this.la=new ej(this,5,a[3],this.Tc);this.la.mc&&xj(this);yj(this);if(!Aj(this))return!1;Bj(this);return!0}; -k.Un=function(a,b,c){if(c)this.Ha("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){v("Empty font ROM image: "+a);return}if(1==d.length){v(d[0]);return}if(8192==d.length)Hi(this,d,[0,6144]);else{this.Ha("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ha("Font ROM data error: "+e.message);return}this.Sa()}}; -function Cj(a,b){if(1==b)return a.ud[0]=T[0],a.ud[1]=T[7],a.ud;if(2==b){var c=a.Ba.Ze;if(a.Ba===a.la){var d=a.la.Rd[0],c=d&7;d&16&&(c|=8);18!=a.la.Rd[1]&&(c|=32)}a.ud[0]=T[c&15];c=c&32?bj:aj;for(d=0;drb||!ia?rb:8,Pd=Ii.createImageData(n.kc,n.lc),Fa=0;256>Fa;Fa++){for(db= -0;db=rb-2,el=Ic[db>(8<=Hb&&176<=Fa&&223>=Fa?7:Hb)?s:Od;Fj(Pd,Ji,Ki,Li);z&&Fj(Pd,Ji+1,Ki,Li)}Ii.putImageData(Pd,(Fa&15)*n.kc,(Fa>>4)*n.lc)}n.Te[u]="#"+p(s[0])+p(s[1])+p(s[2]);n.Vj[u]=s;n.Oh[u]=Jc;n=!0}}a.Td[b]=t;return n}function Gj(a){0a.ze&&(a.ze=0):a.ze=-1} -function Bj(a){if(a.Ub){for(var b=10;15>=b;b++)if(null==a.Ba.dc[b])return;var c=a.Ba.dc[10],b=c&31,d=a.Ba.dc[11]&31,e=a.Ba.dc[9]&31,f=!1;a.Ba===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Hj(a);else{c=a.Ba.dc[15]+((a.Ba.dc[14]&63)<<8);a.Lc!=c&&(Hj(a),a.Lc=c);d=d-b+1;if(a.cm!=b||a.kk!=d)a.cm=b,a.kk=d;a.ce=e+1;Gj(a)}}} -function Hj(a){if(0<=a.Lc){if(void 0!==a.ec){var b=a.ec[a.Lc];if(b&131072){var b=b&-131073,c=a.Lc%a.Bb,d=Math.floor(a.Lc/a.Bb);a.Ub&&a.Td[a.Ub]&&(a.$e&&Ij(a,c,d,b,a.$e),Ij(a,c,d,b));a.ec[a.Lc]=b}}a.Lc=-1}} -function Jj(a){var b;a=a.Ba;var c=a.qe[5];if(null!=c){b=2;var d=512,e=a.qe[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.nd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Oe=function(a){var b=this.Ba;null!=a&&b&&a!=b.rh&&(b.Ih(a),this.na.Ih(b.cb,b.uc,b.Ff))}; -function Aj(a,b){var c,d=a.Jd,e=a.Ba;if(e)if(1==e.fe)d=Wi;else if(5==e.fe){var d=null,f=e.Tc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Jj(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||(d-=1)):(d=e.zc&1?3:1,e.zc&4&&(d-= -1)));else a.Jd=null,null==d&&(d=a.od);if(!zj(a,d,b))return!1;a.Oe(c);return!0} -function zj(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.lm=0;a.Jd=b;b=a.Ba||(b==Wi?a.Sc:a.yb);if(b!=a.Ba||b.cb!=a.cb||b.uc!=a.uc){Hj(a);if(a.cb){if(!Za(a.na,a.cb,a.uc))return!1;a.Ba&&(a.Ba.mc=!1)}a.Ba=b;b.mc=!0;a.cb=b.cb;a.uc=b.uc;if(!Xa(a.na,b.cb,b.uc,!1,b===a.la?b:null))return!1}a.Ub=0;a.Bb=a.uh;a.sc=a.Ji;a.Ei=S[Wi][2];b=0;var d=S[a.Jd];d&&(a.Bb=d[0],a.sc=d[1],a.Ei=d[2],b=d[3]||0,a.Ub=d[4],4==a.he&&a.Ba===a.la&&3==a.Ub&&(7==a.la.dc[9]?a.sc=43:a.Ub=5));a.Ek=a.Bb*a.sc;a.th=a.Ek/a.Ei;a.bi=(a.th<<1)+b;a.hk= -b?a.bi+b>>1:0;13<=a.Jd&&(a.th<<=1);a.Td.length&&(a.yd=Math.floor(a.xd/a.Bb),a.zd=Math.floor(a.de/a.sc),a.Ub?(b=a.Td[a.Ub],d=a.Td[a.Ub<<1],a.tm&&80==a.Bb?d&&a.yd>=3*d.kc>>2&&(a.Ub<<=1,b=d):(d&&a.yd>=d.kc&&(a.Ub<<=1,b=d),b&&(a.yd=b.kc,a.zd=b.lc)),a.Sf=a.Tf=0,b&&(a.Sf=a.Bb*b.kc,a.Tf=a.sc*b.lc)):(a.yd=a.zd=1,a.Sf=a.Bb,a.Tf=a.sc),a.nh=a.Vc.createImageData(a.Sf,a.Tf),a.Ye=window.document.createElement("canvas"),a.Ye.width=a.Sf,a.Ye.height=a.Tf,a.$e=a.Ye.getContext("2d"),a.Nj=a.Oj=0,a.di=a.xd,a.ei=a.de, -b=a.xd-a.Bb*a.yd,d=a.de-a.sc*a.zd,0>1,a.di-=b),0>1,a.ei-=d),b||d)&&(a.Vc.fillStyle=a.Mb.style.backgroundColor,a.Vc.fillRect(0,0,a.xd,a.de));!1!==c?xb(a,!0):Kj(a,!0)}return!0}function Fj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Kj(a,b){var c;if(b){if(c=a.th,void 0===a.ec||a.ec.length!=c)a.ec=Array(c)}else{if(void 0===a.ec)return;c=a.ec.length}for(var d=0;d>8;d=g&15;var h=a.Td[a.Ub];h.Af&&(d=h.Af[d]);var m=g>>4&15;h.Af&&(m=h.Af[m]);e?(b*=h.kc,c*=h.lc,e.fillStyle=h.Te[m],e.fillRect(b,c,h.kc,h.lc)):(b=b*a.yd+a.Nj,c=c*a.zd+a.Oj,a.Vc.fillStyle=h.Te[m],a.Vc.fillRect(b,c,a.yd,a.zd));g&256&&(m=(f&15)*h.kc,f=(f>>4)*h.lc,e?e.drawImage(h.Oh[d],m,f,h.kc,h.lc,b,c,h.kc,h.lc):a.Vc.drawImage(h.Oh[d],m,f,h.kc,h.lc,b,c,a.yd,a.zd));g&512&&(f=a.cm,g=a.kk,e?(a.ce&&a.ce!==h.lc&&(f=Math.floor(f*h.lc/a.ce),g=Math.floor(g*h.lc/a.ce)), -e.fillStyle=h.Te[d],e.fillRect(b,c+f,h.kc,g)):(a.ce&&a.ce!==a.zd&&(f=Math.floor(f*a.zd/a.ce),g=Math.floor(g*a.zd/a.ce)),a.Vc.fillStyle=h.Te[d],a.Vc.fillRect(b,c+f,a.yd,g)))} -function xb(a,b){if(a.Nb){var c=!1;a.Ba&&(a.Ba===a.la?a.la.Bd&32&&(c=!0):a.Ba.zc&8&&(c=!0));if(c||b){if(b)Kj(a,!0);else if(void 0===a.ec)return;var d=!1;!(b||++a.lm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.Ek,c=a.Ba.cb,g=c+a.Ba.uc,h=(a.Ba.dc[12]<<8)+a.Ba.dc[13];a.Ub&&(h<<=1);var c=c+h,m=a.bi;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.na,n=!0,q=c>>h.ob;0a.Lc)return;e=a.Lc;f=e+1}}if(a.Ub){if(a.Td[a.Ub]){d= -0;h=a.ye=0;m=1048575;a.Ba.zc&32&&(h=32768,m&=~h,a.ze&2||(m&=-65537));for(c+=e<<1;c>8| -(t&255)<<8;s=h;var rb=16;q>=m))>>(rb-=m);Fj(a.nh,q++,u,n[Od])}q>C&&(C=q);u=ja&&(ja=u+1)}e+=2;g++;if(q>=a.Bb){q=0;u+=2;if(u>a.sc)break;u==a.sc&&(u=1,e=c+a.hk)}}zia;ia++)ja=C&2155905152, -0>ja&&(ja=-ja),ja=U[ja]||0,Fj(a.nh,h++,m,g[ja]),C<<=1;h>q&&(q=h);m=z&&(z=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.sc))break}n>2),c=this.la.Lh&-17|(this.Ng&1<f&&(f=0);f%b.Hi>b.Nn&&(d|=1);f%=b.Hk;f>b.Qn&&(d|=8);b.Mi=e-f;b===a.la?(d|=b.tf&48^48,b.jd=!1):d=(b.tf^=9)|240;b.tf=d;a.ba(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Fa=function(a,b){this.Z&&(b||K(this.Z,this.Z.Dg))&&this.Z.message(a)};k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Dg,e)}; -var rj={948:R.prototype.hn,949:R.prototype.gn,952:R.prototype.jn,954:R.prototype.kn,980:R.prototype.Qm,981:R.prototype.Pm,984:R.prototype.Rm,985:R.prototype.Om,986:R.prototype.Sm},sj={948:R.prototype.Bo,949:R.prototype.Ao,952:R.prototype.Co,980:R.prototype.mo,981:R.prototype.lo,984:R.prototype.no,985:R.prototype.ko},tj={960:R.prototype.Ak,961:R.prototype.Ak,962:R.prototype.un,964:R.prototype.tn,965:R.prototype.sn,970:R.prototype.an,972:R.prototype.$m,974:R.prototype.Zm,975:R.prototype.Ym},uj={954:R.prototype.Ll, -960:R.prototype.Kl,961:R.prototype.Kl,962:R.prototype.Eo,964:R.prototype.Lo,965:R.prototype.Ko,970:R.prototype.wo,972:R.prototype.vo,974:R.prototype.uo,975:R.prototype.to,986:R.prototype.Ll}; -za(function(){for(var a=A(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new R(d,e,f);Ma(d,c)}}); -function W(a){this.xk=a.adapter;switch(this.xk){case 1:this.Cj=1016;this.gg=4;break;case 2:this.Cj=760;this.gg=3;break;default:v("Unrecognized serial adapter #"+this.xk);return}this.ae=null;w.call(this,"SerialPort",a,W);var b=a.binding,c;a=Qj;b&&(void 0===c&&(c="Panel"),(c=La(c,this.id))&&(b=c.ta[b])&&this.wb(null,null,a,b))}x(w,W);var Qj="buffer";k=W.prototype;k.Yj=function(a,b){return a==this.lh?(this.Bk=b,this):null}; -k.wb=function(a,b,c,d){var e=this;switch(c){case Qj:return this.ta[c]=this.ae=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Rj(e,[b]))},d.onkeypress=function(a){a=a||window.event;Rj(e,[a.which||a.keyCode])},!0}return!1};k.pc=function(a,b,c,d){this.na=b;this.S=c;this.Z=d;this.ka=B(a,"ChipSet");d&&Ih(d,W);gb(b,this,Sj,this.Cj);kb(b,this,Tj,this.Cj);this.Sa()}; -k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ge()};k.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.Zh;c[b++]=this.bk;c[b++]=this.Qe;c[b++]=this.Og;c[b++]=this.Xd;c[b++]=this.Rc;c[b++]=this.gd;c[b++]=this.Gc;c[b++]=this.$j;c[b]=this.Df;a.set(0,c);return a.data()};k.restore=function(a){return this.ge(a[0])}; -k.ge=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Zh=a[b++];this.bk=a[b++];this.Qe=a[b++];this.Og=a[b++];this.Xd=a[b++];this.Rc=a[b++];this.gd=a[b++];this.Gc=a[b++];this.$j=a[b++];this.Df=a[b];return!0};function Rj(a,b){a.Df=a.Df.concat(b);Uj(a)}function Uj(a){0>8:this.Og;this.ba(a,null,b,this.Rc&128?"DLM":"IER",c);return c};k.cn=function(a,b){var c=this.Xd;this.ba(a,null,b,"IIR",c);return c};k.dn=function(a,b){var c=this.Rc;this.ba(a,null,b,"LCR",c);return c};k.fn=function(a,b){var c=this.gd;this.ba(a,null,b,"MCR",c);return c}; -k.en=function(a,b){var c=this.Gc;this.ba(a,null,b,"LSR",c);return c};k.mn=function(a,b){var c=this.$j;this.ba(a,null,b,"MSR",c);return c};k.Mo=function(a,b,c){this.ba(a,b,c,this.Rc&128?"DLL":"THR");this.Rc&128?this.Qe=this.Qe&-256|b:(this.bk=b,this.Gc&=-97,this.ae?(13!=b&&(8==b?this.ae.value=this.ae.value.slice(0,-1):(this.ae.value+=String.fromCharCode(b),this.ae.scrollTop=this.ae.scrollHeight)),a=!0):a=!1,a&&(this.Gc|=96))}; -k.xo=function(a,b,c){this.ba(a,b,c,this.Rc&128?"DLM":"IER");this.Rc&128?this.Qe=this.Qe&255|b<<8:this.Og=b};k.yo=function(a,b,c){this.ba(a,b,c,"LCR");this.Rc=b}; -k.zo=function(a,b,c){var d=this.gd;this.ba(a,b,c,"MCR");this.gd=b;this.Bk&&(d^b)&3&&(a=this.Bk,b=this.gd,(c=3==(b&3))?a.mc||(d=!1,a.gd&2||(a.reset(),a.Fa("serial mouse reset"),d=!0),a.gd&1||(a.Fa("serial mouse ID requested"),d=!0),d&&(Rj(a.Of,[77]),a.Fa("serial mouse ID sent")),Vj(a,a.Mb),a.mc=c):a.mc&&(a.Fa("serial mouse inactive"),Wj(a.Mb),a.mc=c),a.gd=b)};k.Fa=function(a){this.Z&&K(this.Z,this.Z.Sj)&&this.Z.message(a)};k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Sj,e)}; -var Sj={0:W.prototype.rn,1:W.prototype.bn,2:W.prototype.cn,3:W.prototype.dn,4:W.prototype.fn,5:W.prototype.en,6:W.prototype.mn},Tj={0:W.prototype.Mo,1:W.prototype.xo,3:W.prototype.yo,4:W.prototype.zo};za(function(){for(var a=A(window.document,"pcjs","serial"),b=0;ba.zg||0>a.Ag)a.zg=b.clientX,a.Ag=b.clientY;a.wf=b.clientX-a.zg;a.xf=b.clientY-a.Ag;(a.wf||a.xf)&&Yj(a,null,b.clientX,b.clientY);a.zg=b.clientX;a.Ag=b.clientY}},!1),b.addEventListener("mousedown",function(b){Zj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Zj(a,b.button,!1)},!1),a.mi=!0),b.style.cursor="none")}function Wj(a){a&&(a.style.cursor="auto")} -function Zj(a,b,c){if(a.mc&&a.S&&a.S.Ob)switch(b){case 0:a.dh!=c&&(a.dh=c,Yj(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.eh!=c&&(a.eh=c,Yj(a,"mouse button2 "+(c?"dn":"up")))}}function Yj(a,b,c,d){var e=64|(a.dh?32:0)|(a.eh?16:0)|(a.xf&192)>>4|(a.wf&192)>>6,f=a.wf&63,g=a.xf&63;a.Fa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+p(e)+","+p(f)+","+p(g)+"]");Rj(a.Of,[e,f,g]);a.wf=a.xf=0}k.Fa=function(a){this.Z&&K(this.Z,this.Z.hm)&&this.Z.message(a)}; -za(function(){for(var a=A(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Ac+":"+this.qc+":"+this.$c+":"+this.Tb,a+="&machine="+this.ia.ff(),a+="&user="+this.ia.ee(),d=qa()+"/api/v1/disk?"+a,this.si=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"): --1!==b.indexOf("/",b.length-1)&&(c="dir"),d=qa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.df?"":d)+"&format=json"));pa(d,!0,null,this,this.Rn,b)}; -k.Rn=function(a,b,c,d){var e=null;this.ef=!1;var f=0>c&&this.Da&&!this.Da.Nb;if(this.si)c?this.Ha('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.Ha('Unable to load disk "'+this.Kd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&&'["'!= -b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)v(h[0]);else{for(b=a=0;b>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var t=m.data;if(void 0===t){var s=m.bytes;if(void 0!==s&&s.length){for(var f=n<<2,u=s.length;ub&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function jk(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f=a.Xc+a.Hc&&(a.Hc+=f-(a.Xc+a.Hc)+1):(a.Xc=f,a.Hc=1);d[f]=d[f]&~(255<=this.hb.length||m>=this.hb[h].length||n>=this.hb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e= -g[f++];f=g[f++];g=e+f.length;h=this.hb[h][m][n];for(m=h.data.length;mb&&this.Ha("unable to restore disk '"+this.Kd+": "+c);return b};k.Fa=function(a){this.Z&&K(this.Z,this.Z.em)&&this.Z.message(a)}; -function kk(a){w.call(this,"FDC",a,kk);this.dmaRead=this.gi;this.dmaWrite=this.hi;this.dmaFormat=this.nm;this.Ke=null;if(a.autoMount&&(this.Ke=a.autoMount,"string"==typeof this.Ke))try{this.Ke=eval("("+a.autoMount+")")}catch(b){v("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ke=null}this.vc=[];this.Ed();this.Gf()||this.Sa()}x(w,kk); -var lk={3:{$d:3,Be:0,name:"SPECIFY"},4:{$d:2,Be:1,name:"DRIVE_STATUS"},5:{$d:9,Be:7,name:"WRITE_DATA"},6:{$d:9,Be:7,name:"READ_DATA"},7:{$d:2,Be:0,name:"RECALIBRATE"},8:{$d:1,Be:2,name:"INT_STATUS"},13:{$d:6,Be:7,name:"FORMAT"},15:{$d:3,Be:0,name:"SEEK"}};k=kk.prototype; -k.wb=function(a,b,c,d){switch(c){case "listDisks":return this.ta[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.ta.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){v("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d=''+d+"");c.innerHTML= -d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.ta[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||mk(a,c)}}(this,d),!0;case "loadDrive":return this.ta[c]=d,d.onclick=function(a){return function(){var b,c=a.ta.listDisks,d=a.ta.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.va.restore(f)&&(e=!1);e&&a.va&&void 0!==a.Va&&(a.Ra=a.va.seek(a.tb,a.Ma,a.Qa));return e};k.Jj=function(){for(var a=0,b=[],c=0;ca.Ac&&(this.Ha('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ab)),b=null);b&&(a.va=b,a.Ul=c,a.Ne=d,tk(this,c,d,b),this.me|=128,this.Ha('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ab),a.Ee));a.Ee&&(a.Ee=!1,--this.xe||this.Sa());mk(this,a.Ab)}; -function mk(a,b){if(0<=b&&b=this.Ya&&(this.za&=-81,this.mb=this.Ya=0);return c}; -k.ro=function(a,b,c){this.ba(a,b,c,"DATA["+this.Ya+"]");this.Ya=lk[a].$d){b=!1;this.mb=0;var d;a=this.Oa()&31;switch(a){case 3:this.Oa("SRT");this.Oa("HLT");this.Lb();break;case 4:c=this.Oa("DS");this.Ab=c&3;d=this.ya[this.Ab];this.Lb();this.rb((d.Za&4278190080)>>>24,"ST3");break;case 5:case 6:c=this.Oa("DS");this.Ab=c&3;d=this.ya[this.Ab];d.Ma=c>>2&1;d.tb=this.Oa("C");this.Oa("H");d.Qa=this.Oa("R");b=this.Oa("N"); -d.Wa=128<>>8,"ST1");this.rb((d.Za&16711680)>>>16,"ST2");this.rb(d.tb,"C");this.rb(d.Ma,"H");this.rb(d.Qa,"R");this.rb(b,"N");b=!0;break;case 7:c=this.Oa("DS");this.Ab=c&3;d=this.ya[this.Ab];d.tb=d.Wd=0;d.Za=268435488;this.Lb();b=!0;break;case 8:d=this.ya[this.Ab];d.Ma=0;this.Lb();uk(this,d);this.rb(d.tb,"PCN");break;case 13:c=this.Oa("DS");this.Ab=c&3;d=this.ya[this.Ab];d.Ma=c>> -2&1;b=this.Oa("N");d.Wa=128<>>8,"ST1");this.rb((d.Za&16711680)>>>16,"ST2");this.rb(d.tb,"C");this.rb(d.Ma,"H");this.rb(d.Qa,"R");this.rb(b,"N");b=!0;break;case 15:c=this.Oa("DS"),this.Ab=c&3,d=this.ya[this.Ab],d.Ma=c>>2&1,a=this.Oa("NCN"),d.tb+=a-d.Wd,0>d.tb&&(d.tb=0),d.tb>=d.Ac&&(d.tb=d.Ac-1),d.Wd=a,d.Za=32,0==d.tb&&(d.Za|=268435456),this.Lb(),b=!0}0b?this.tc(a,c):c(-1,!1)};k.hi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1}; -k.nm=function(a,b){return void 0!==b&&0<=b?this.Lj(a,b):-1};k.ii=function(a){a.Za=72;a.va&&(a.Ra=null,a.Za=0,this.ka&&(li(this.ka,2,this,"dmaRead",a),fi(this.ka,2)))};k.ji=function(a){a.Za=72;a.va&&(a.va.ef?a.Za=576:(a.Ra=null,a.Za=0,this.ka&&(li(this.ka,2,this,"dmaWrite",a),fi(this.ka,2))))};k.lk=function(a){a.Za=72;a.va&&(a.Ra=null,a.Za=0,this.ka&&(a.Ae=0,a.xc=Array(4),a.Hf=!0,a.Nf=0,li(this.ka,2,this,"dmaFormat",a),fi(this.ka,2),a.Hf=!1))}; -k.tc=function(a,b){var c=-1;if(!a.Za&&a.va){do{if(a.Ra&&0<=(c=jk(a.Ra,a.Va++)))break;a.Ra=a.va.seek(a.tb,a.Ma,a.Qa);if(!a.Ra){a.Za=1088;break}a.Va=0;this.Ef(a)}while(1)}b(c,!1)};k.Cc=function(a,b){if(a.Za||!a.va)return-1;do{if(a.Ra&&a.va.write(a.Ra,a.Va++,b))break;a.Ra=a.va.seek(a.tb,a.Ma,a.Qa);if(!a.Ra){a.Za=8256;b=-1;break}a.Va=0;this.Ef(a)}while(1);return b};k.Ef=function(a){a.Qa++;a.Qa>=a.$c+1&&(a.Qa=1,a.Ma++,a.Ma>=a.qc&&(a.Ma=0,a.tb++))}; -k.Lj=function(a,b){if(a.Za)return-1;a.xc[a.Ae++]=b;if(a.Ae==a.xc.length){a.tb=a.xc[0];a.Ma=a.xc[1];a.Qa=a.xc[2];a.Wa=128<this.Cc(a,a.Zj))return-1;a.Nf++}a.Nf>=a.Yd&&(b=-1);return b}; -k.Ci=function(a){var b=this.S.G&255,c=this.S.G>>8,d=this.S.I&255,e=this.S.I>>8,f=this.S.J&255,g=this.S.J>>8;this.Z&&K(this.Z,this.Z.Bg)&&128>f&&(this.Z.message("\nFDC.intBIOS(AH="+p(c)+",D="+p(f)+",C="+p(e)+",H="+p(g)+",S="+p(d)+",N="+p(b)+") at "+ca(a-this.S.ra.La,this.S.ra.oa)),Ac(this.S,a,function(a,b){return function(c){b=D(a.S)-b;a.Fa("FDC.intBIOS("+c+"): C="+(Oc(a.S)?1:0)+" (cycles="+b+")")}}(this,D(this.S))));return!0};k.Fa=function(a){this.Z&&K(this.Z,this.Z.Bg)&&this.Z.message(a)}; -k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Bg,e)};var pk={1012:kk.prototype.Xm,1013:kk.prototype.Vm,1015:kk.prototype.Wm},qk={1010:kk.prototype.so,1013:kk.prototype.ro,1015:kk.prototype.qo};za(function(){for(var a=A(window.document,"pcjs","fdc"),b=0;b=e&&(this.pf|=(f.type&3)<<(1-e<<1))}return d}; -k.Hj=function(){var a=0,b=[];this.De?(b[a++]=this.le,b[a++]=this.Tl,b[a++]=this.Fh,b[a++]=this.Gh,b[a++]=this.Eh,b[a++]=this.Dh,b[a++]=this.qg,b[a++]=this.za,b[a++]=this.Ej):(b[a++]=this.pf,b[a++]=this.za,b[a++]=this.cc,b[a++]=this.mb,b[a++]=this.Ya,b[a++]=this.Sl,b[a++]=this.Rl,b[a++]=this.Ql,b[a++]=this.gf);b[a]=this.Jj();return b}; -k.Ai=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.Ab=a;b.errorCode=d[f++];b.Zl=d[f++];b.df=d[f++];b.Ue=d[f++];b.Ve=d[f++];b.Ma=d[f++];b.qc=d[f++];b.Qd=d[f++];b.Qa=d[f++];b.Yd=d[f++];b.Wa=d[f++];b.Tg=this.De?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.ee()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===vk[this.Xf][b.type])b.type=this.Am;c=vk[this.Xf][b.type]; -b.$c=c[2]||17;b.Tb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.pa)){var h=e.pa[18],h=a?h&240|c:h&15|c<<4;e.pa&&(e.pa[18]=h,Uh(e))}void 0===b.va&&(b.va=null,this.Ha("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Ak(this,b);b.Va=d[f++];b.Ra=null;b.va&&(a=d[f],void 0!==a&&0>b.va.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Ra=b.va.seek(b.Qd,b.Ma,b.Qa+b.Tg)));return g};k.Jj=function(){for(var a=0,b=[],c=0;c=this.Ya&&(this.mb=this.Ya=0,this.za&=-15);return c}; -k.Oo=function(a,b,c){this.ba(a,b,c,"DATA["+this.Ya+"]");this.Ya=a&&(this.za|=2,this.za&=-2,Bk(this))};k.yn=function(a,b){var c=this.za;this.ba(a,null,b,"STATUS",c);this.mb=this.Na.Tb){var e=this;this.tc(this.Na,function(a){0<=a?e.ka&&P(e.ka,14):(e.za=1,e.le=16)},!1)}else this.za=80;d||this.ba(a,null,b,"DATA",c);return c}; -k.eo=function(a,b,c){this.Na&&0!=this.Na.Va||this.ba(a,b,c,"DATA");this.Na&&this.Na.Wa>=this.Na.Tb&&(0>this.Cc(this.Na,b)?(this.za=1,this.le=16):this.Na.Va==this.Na.Tb&&(this.Na.Wa-=this.Na.Tb,this.ka&&P(this.ka,14),this.Na.Wa>=this.Na.Tb||(this.za=80)))};k.Km=function(a,b){var c=this.le;this.ba(a,null,b,"ERROR",c);return c};k.jo=function(a,b,c){this.ba(a,b,c,"WPREC");this.Tl=b};k.Lm=function(a,b){var c=this.Fh;this.ba(a,null,b,"SECCNT",c);return c}; -k.ho=function(a,b,c){this.ba(a,b,c,"SECCNT");this.Fh=b};k.Mm=function(a,b){var c=this.Gh;this.ba(a,null,b,"SECNUM",c);return c};k.io=function(a,b,c){this.ba(a,b,c,"SECNUM");this.Gh=b};k.Hm=function(a,b){var c=this.Eh;this.ba(a,null,b,"CYLLO",c);return c};k.co=function(a,b,c){this.ba(a,b,c,"CYLLO");this.Eh=b};k.Gm=function(a,b){var c=this.Dh;this.ba(a,null,b,"CYLHI",c);return c};k.bo=function(a,b,c){this.ba(a,b,c,"CYLHI");this.Dh=b};k.Jm=function(a,b){var c=this.qg;this.ba(a,null,b,"DRVHD",c);return c}; -k.fo=function(a,b,c){this.ba(a,b,c,"DRVHD");this.qg=b};k.Nm=function(a,b){var c=this.za;this.ba(a,null,b,"STATUS",c);return c};k.ao=function(a,b,c){this.ba(a,b,c,"COMMAND");this.Ej=b;this.ka&&si(this.ka,14);Ck(this)}; -function Ck(a){var b=!1,c=a.Ej,d=a.qg&16?1:0,e=a.qg&15,f=a.Eh|(a.Dh&3)<<8,g=a.Gh,h=a.Fh;a.Na=null;a.le=0;a.za=80;(d=a.ya[d])?(d.Qd=f,d.Ma=e,d.Qa=g,d.Wa=h*d.Tb,c=144<=c?c:c&240,d.Ra=null,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.tc(d,function(b){0<=b&&a.ka?(P(a.ka,14),a.za=136):(a.za=1,a.le=16)},!1);break;case 48:a.ka?(P(a.ka,14),a.za=136):(a.za=1,a.le=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.le=1;b=!0;break;case 145:d.qc=e+1,d.$c=h,b=!0}b&&a.ka&&P(a.ka,14)} -function Bk(a){a.mb=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,g=a.Oa(),h=a.Oa(),m=g<<2&768|h,n=g&63,q=a.Oa(),t=a.Oa(),s=a.ya[e];s&&(s.Qd=m,s.Ma=f,s.Qa=n,s.Wa=q*s.Tb);switch(b){case 3:a.Lb(s?s.errorCode:4);a.rb(c);a.rb(g);a.rb(h);a.rb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)s&&cb?this.tc(a,c):c(-1,!1)}; -k.hi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.om=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va=a.$c+b&&(a.Qa=b,a.Ma++,a.Ma>=a.qc&&(a.Ma=0,a.Qd++))}; -k.Lj=function(a,b){if(a.errorCode)return-1;a.xc[a.Ae++]=b;if(a.Ae==a.xc.length){a.Qd=a.xc[0];a.Ma=a.xc[1];a.Qa=a.xc[2];a.Wa=128<this.Cc(a,a.Zj))return-1;a.Nf++}a.Nf>=a.Yd&&(b=-1);return b}; -k.An=function(a){var b=this.S.J&255;!(this.S.G>>8)&&128>8)||(a=!this.ka)||(a=!(this.ka.sb[0].wd&64));return a?!0:!1}; -k.Fa=function(a){this.Z&&K(this.Z,this.Z.Nh)&&this.Z.message(a)};k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Nh,e)}; -var xk={800:X.prototype.xn,801:X.prototype.yn,802:X.prototype.wn},wk={496:X.prototype.Im,497:X.prototype.Km,498:X.prototype.Lm,499:X.prototype.Mm,500:X.prototype.Hm,501:X.prototype.Gm,502:X.prototype.Jm,503:X.prototype.Nm},zk={800:X.prototype.Oo,801:X.prototype.Ro,802:X.prototype.Qo,803:X.prototype.Po,807:X.prototype.zj,811:X.prototype.zj,815:X.prototype.zj},yk={496:X.prototype.eo,497:X.prototype.jo,498:X.prototype.ho,499:X.prototype.io,500:X.prototype.co,501:X.prototype.bo,502:X.prototype.fo,503:X.prototype.ao}; -za(function(){for(var a=A(window.document,"pcjs","hdc"),b=0;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),db(this.na,b,c|d<<8);yb(this,!0)}};function Aj(a){a.la.$f&1?(a.Rc=a.gi,a.zb=a.la):(a.Rc=a.la,a.zb=a.Zg)}k.save=function(){var a=new H(this);a.set(0,sj(this.gi));a.set(1,sj(this.Zg));a.set(2,[this.ie,this.nd,this.Jd]);a.set(3,sj(this.la));return a.data()}; +k.restore=function(a){var b=a[2];this.ie=b[0];this.nd=b[1];this.Jd=b[2];this.Ba=null;this.Rc=this.gi=new hj(this,1,a[0]);this.zb=this.Zg=new hj(this,3,a[1]);this.la=new hj(this,5,a[3],this.Sc);this.la.lc&&Aj(this);Bj(this);if(!Dj(this))return!1;Ej(this);return!0}; +k.ao=function(a,b,c){if(c)this.Ha("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Ki(this,d,[0,6144]);else{this.Ha("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ha("Font ROM data error: "+e.message);return}this.Sa()}}; +function Fj(a,b){if(1==b)return a.td[0]=U[0],a.td[1]=U[7],a.td;if(2==b){var c=a.Ba.Ze;if(a.Ba===a.la){var d=a.la.Rd[0],c=d&7;d&16&&(c|=8);18!=a.la.Rd[1]&&(c|=32)}a.td[0]=U[c&15];c=c&32?ej:dj;for(d=0;dtb||!ia?tb:8,Ud=Oi.createImageData(n.jc,n.kc),Ga=0;256>Ga;Ga++){for(eb= +0;eb=tb-2,kl=Lc[eb>(8<=Kb&&176<=Ga&&223>=Ga?7:Kb)?s:Td;Ij(Ud,Pi,Qi,Ri);A&&Ij(Ud,Pi+1,Qi,Ri)}Oi.putImageData(Ud,(Ga&15)*n.jc,(Ga>>4)*n.kc)}n.Te[u]="#"+r(s[0])+r(s[1])+r(s[2]);n.ak[u]=s;n.Uh[u]=Mc;n=!0}}a.Td[b]=t;return n}function Jj(a){0a.Ae&&(a.Ae=0):a.Ae=-1} +function Ej(a){if(a.Ub){for(var b=10;15>=b;b++)if(null==a.Ba.dc[b])return;var c=a.Ba.dc[10],b=c&31,d=a.Ba.dc[11]&31,e=a.Ba.dc[9]&31,f=!1;a.Ba===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Kj(a);else{c=a.Ba.dc[15]+((a.Ba.dc[14]&63)<<8);a.Kc!=c&&(Kj(a),a.Kc=c);d=d-b+1;if(a.hm!=b||a.qk!=d)a.hm=b,a.qk=d;a.de=e+1;Jj(a)}}} +function Kj(a){if(0<=a.Kc){if(void 0!==a.ec){var b=a.ec[a.Kc];if(b&131072){var b=b&-131073,c=a.Kc%a.Bb,d=Math.floor(a.Kc/a.Bb);a.Ub&&a.Td[a.Ub]&&(a.$e&&Lj(a,c,d,b,a.$e),Lj(a,c,d,b));a.ec[a.Kc]=b}}a.Kc=-1}} +function Mj(a){var b;a=a.Ba;var c=a.re[5];if(null!=c){b=2;var d=512,e=a.re[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.md=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Oe=function(a){var b=this.Ba;null!=a&&b&&a!=b.uh&&(b.Lh(a),this.na.Lh(b.eb,b.tc,b.Hf))}; +function Dj(a,b){var c,d=a.Jd,e=a.Ba;if(e)if(1==e.ge)d=Zi;else if(5==e.ge){var d=null,f=e.Sc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Mj(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||(d-=1)):(d=e.zc&1?3:1,e.zc&4&&(d-= +1)));else a.Jd=null,null==d&&(d=a.nd);if(!Cj(a,d,b))return!1;a.Oe(c);return!0} +function Cj(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.sm=0;a.Jd=b;b=a.Ba||(b==Zi?a.Rc:a.zb);if(b!=a.Ba||b.eb!=a.eb||b.tc!=a.tc){Kj(a);if(a.eb){if(!$a(a.na,a.eb,a.tc))return!1;a.Ba&&(a.Ba.lc=!1)}a.Ba=b;b.lc=!0;a.eb=b.eb;a.tc=b.tc;if(!Ya(a.na,b.eb,b.tc,!1,b===a.la?b:null))return!1}a.Ub=0;a.Bb=a.xh;a.rc=a.Pi;a.Ki=T[Zi][2];b=0;var d=T[a.Jd];d&&(a.Bb=d[0],a.rc=d[1],a.Ki=d[2],b=d[3]||0,a.Ub=d[4],4==a.ie&&a.Ba===a.la&&3==a.Ub&&(7==a.la.dc[9]?a.rc=43:a.Ub=5));a.Jk=a.Bb*a.rc;a.wh=a.Jk/a.Ki;a.hi=(a.wh<<1)+b;a.nk= +b?a.hi+b>>1:0;13<=a.Jd&&(a.wh<<=1);a.Td.length&&(a.yd=Math.floor(a.xd/a.Bb),a.zd=Math.floor(a.ee/a.rc),a.Ub?(b=a.Td[a.Ub],d=a.Td[a.Ub<<1],a.Am&&80==a.Bb?d&&a.yd>=3*d.jc>>2&&(a.Ub<<=1,b=d):(d&&a.yd>=d.jc&&(a.Ub<<=1,b=d),b&&(a.yd=b.jc,a.zd=b.kc)),a.Uf=a.Vf=0,b&&(a.Uf=a.Bb*b.jc,a.Vf=a.rc*b.kc)):(a.yd=a.zd=1,a.Uf=a.Bb,a.Vf=a.rc),a.qh=a.Uc.createImageData(a.Uf,a.Vf),a.Ye=window.document.createElement("canvas"),a.Ye.width=a.Uf,a.Ye.height=a.Vf,a.$e=a.Ye.getContext("2d"),a.Tj=a.Uj=0,a.ji=a.xd,a.ki=a.ee, +b=a.xd-a.Bb*a.yd,d=a.ee-a.rc*a.zd,0>1,a.ji-=b),0>1,a.ki-=d),b||d)&&(a.Uc.fillStyle=a.Mb.style.backgroundColor,a.Uc.fillRect(0,0,a.xd,a.ee));!1!==c?yb(a,!0):Nj(a,!0)}return!0}function Ij(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Nj(a,b){var c;if(b){if(c=a.wh,void 0===a.ec||a.ec.length!=c)a.ec=Array(c)}else{if(void 0===a.ec)return;c=a.ec.length}for(var d=0;d>8;d=g&15;var h=a.Td[a.Ub];h.Cf&&(d=h.Cf[d]);var m=g>>4&15;h.Cf&&(m=h.Cf[m]);e?(b*=h.jc,c*=h.kc,e.fillStyle=h.Te[m],e.fillRect(b,c,h.jc,h.kc)):(b=b*a.yd+a.Tj,c=c*a.zd+a.Uj,a.Uc.fillStyle=h.Te[m],a.Uc.fillRect(b,c,a.yd,a.zd));g&256&&(m=(f&15)*h.jc,f=(f>>4)*h.kc,e?e.drawImage(h.Uh[d],m,f,h.jc,h.kc,b,c,h.jc,h.kc):a.Uc.drawImage(h.Uh[d],m,f,h.jc,h.kc,b,c,a.yd,a.zd));g&512&&(f=a.hm,g=a.qk,e?(a.de&&a.de!==h.kc&&(f=Math.floor(f*h.kc/a.de),g=Math.floor(g*h.kc/a.de)), +e.fillStyle=h.Te[d],e.fillRect(b,c+f,h.jc,g)):(a.de&&a.de!==a.zd&&(f=Math.floor(f*a.zd/a.de),g=Math.floor(g*a.zd/a.de)),a.Uc.fillStyle=h.Te[d],a.Uc.fillRect(b,c+f,a.yd,g)))} +function yb(a,b){if(a.Nb){var c=!1;a.Ba&&(a.Ba===a.la?a.la.Bd&32&&(c=!0):a.Ba.zc&8&&(c=!0));if(c||b){if(b)Nj(a,!0);else if(void 0===a.ec)return;var d=!1;!(b||++a.sm&15)&&0<=a.Ae&&(a.Ae++,d=!0);var e=0,f=a.Jk,c=a.Ba.eb,g=c+a.Ba.tc,h=(a.Ba.dc[12]<<8)+a.Ba.dc[13];a.Ub&&(h<<=1);var c=c+h,m=a.hi;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.na,n=!0,q=c>>h.sb;0a.Kc)return;e=a.Kc;f=e+1}}if(a.Ub){if(a.Td[a.Ub]){d= +0;h=a.ze=0;m=1048575;a.Ba.zc&32&&(h=32768,m&=~h,a.Ae&2||(m&=-65537));for(c+=e<<1;c>8| +(t&255)<<8;s=h;var tb=16;q>=m))>>(tb-=m);Ij(a.qh,q++,u,n[Td])}q>D&&(D=q);u=ja&&(ja=u+1)}e+=2;g++;if(q>=a.Bb){q=0;u+=2;if(u>a.rc)break;u==a.rc&&(u=1,e=c+a.nk)}}Aia;ia++)ja=D&2155905152, +0>ja&&(ja=-ja),ja=V[ja]||0,Ij(a.qh,h++,m,g[ja]),D<<=1;h>q&&(q=h);m=A&&(A=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.rc))break}n>2),c=this.la.Oh&-17|(this.Pg&1<f&&(f=0);f%b.Ni>b.Un&&(d|=1);f%=b.Mk;f>b.Xn&&(d|=8);b.Si=e-f;b===a.la?(d|=b.uf&48^48,b.hd=!1):d=(b.uf^=9)|240;b.uf=d;a.ba(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Fa=function(a,b){this.Z&&(b||L(this.Z,this.Z.Eg))&&this.Z.message(a)};k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Eg,e)}; +var uj={948:S.prototype.pn,949:S.prototype.on,952:S.prototype.qn,954:S.prototype.rn,980:S.prototype.Xm,981:S.prototype.Wm,984:S.prototype.Ym,985:S.prototype.Vm,986:S.prototype.Zm},vj={948:S.prototype.Io,949:S.prototype.Ho,952:S.prototype.Jo,980:S.prototype.to,981:S.prototype.so,984:S.prototype.uo,985:S.prototype.ro},wj={960:S.prototype.Fk,961:S.prototype.Fk,962:S.prototype.Bn,964:S.prototype.An,965:S.prototype.zn,970:S.prototype.hn,972:S.prototype.gn,974:S.prototype.fn,975:S.prototype.en},xj={954:S.prototype.Ql, +960:S.prototype.Pl,961:S.prototype.Pl,962:S.prototype.Lo,964:S.prototype.So,965:S.prototype.Ro,970:S.prototype.Do,972:S.prototype.Co,974:S.prototype.Bo,975:S.prototype.Ao,986:S.prototype.Ql}; +Aa(function(){for(var a=B(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; +e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new S(d,e,f);Na(d,c)}}); +function X(a){this.Ck=a.adapter;switch(this.Ck){case 1:this.Ij=1016;this.ig=4;break;case 2:this.Ij=760;this.ig=3;break;default:w("Unrecognized serial adapter #"+this.Ck);return}this.be=null;x.call(this,"SerialPort",a,X);var b=a.binding,c;a=Tj;b&&(void 0===c&&(c="Panel"),(c=Ma(c,this.id))&&(b=c.ta[b])&&this.xb(null,null,a,b))}y(x,X);var Tj="buffer";k=X.prototype;k.dk=function(a,b){return a==this.oh?(this.Gk=b,this):null}; +k.xb=function(a,b,c,d){var e=this;switch(c){case Tj:return this.ta[c]=this.be=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Uj(e,[b]))},d.onkeypress=function(a){a=a||window.event;Uj(e,[a.which||a.keyCode])},!0}return!1};k.oc=function(a,b,c,d){this.na=b;this.S=c;this.Z=d;this.ka=C(a,"ChipSet");d&&Jh(d,X);hb(b,this,Vj,this.Ij);lb(b,this,Wj,this.Ij);this.Sa()}; +k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.he()};k.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.ei;c[b++]=this.hk;c[b++]=this.Qe;c[b++]=this.Qg;c[b++]=this.Yd;c[b++]=this.Qc;c[b++]=this.fd;c[b++]=this.Fc;c[b++]=this.fk;c[b]=this.Ff;a.set(0,c);return a.data()};k.restore=function(a){return this.he(a[0])}; +k.he=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ei=a[b++];this.hk=a[b++];this.Qe=a[b++];this.Qg=a[b++];this.Yd=a[b++];this.Qc=a[b++];this.fd=a[b++];this.Fc=a[b++];this.fk=a[b++];this.Ff=a[b];return!0};function Uj(a,b){a.Ff=a.Ff.concat(b);Xj(a)}function Xj(a){0>8:this.Qg;this.ba(a,null,b,this.Qc&128?"DLM":"IER",c);return c};k.kn=function(a,b){var c=this.Yd;this.ba(a,null,b,"IIR",c);return c};k.ln=function(a,b){var c=this.Qc;this.ba(a,null,b,"LCR",c);return c};k.nn=function(a,b){var c=this.fd;this.ba(a,null,b,"MCR",c);return c}; +k.mn=function(a,b){var c=this.Fc;this.ba(a,null,b,"LSR",c);return c};k.tn=function(a,b){var c=this.fk;this.ba(a,null,b,"MSR",c);return c};k.To=function(a,b,c){this.ba(a,b,c,this.Qc&128?"DLL":"THR");this.Qc&128?this.Qe=this.Qe&-256|b:(this.hk=b,this.Fc&=-97,this.be?(13!=b&&(8==b?this.be.value=this.be.value.slice(0,-1):(this.be.value+=String.fromCharCode(b),this.be.scrollTop=this.be.scrollHeight)),a=!0):a=!1,a&&(this.Fc|=96))}; +k.Eo=function(a,b,c){this.ba(a,b,c,this.Qc&128?"DLM":"IER");this.Qc&128?this.Qe=this.Qe&255|b<<8:this.Qg=b};k.Fo=function(a,b,c){this.ba(a,b,c,"LCR");this.Qc=b}; +k.Go=function(a,b,c){var d=this.fd;this.ba(a,b,c,"MCR");this.fd=b;this.Gk&&(d^b)&3&&(a=this.Gk,b=this.fd,(c=3==(b&3))?a.lc||(d=!1,a.fd&2||(a.reset(),a.Fa("serial mouse reset"),d=!0),a.fd&1||(a.Fa("serial mouse ID requested"),d=!0),d&&(Uj(a.Qf,[77]),a.Fa("serial mouse ID sent")),Yj(a,a.Mb),a.lc=c):a.lc&&(a.Fa("serial mouse inactive"),Zj(a.Mb),a.lc=c),a.fd=b)};k.Fa=function(a){this.Z&&L(this.Z,this.Z.Yj)&&this.Z.message(a)};k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Yj,e)}; +var Vj={0:X.prototype.yn,1:X.prototype.jn,2:X.prototype.kn,3:X.prototype.ln,4:X.prototype.nn,5:X.prototype.mn,6:X.prototype.tn},Wj={0:X.prototype.To,1:X.prototype.Eo,3:X.prototype.Fo,4:X.prototype.Go};Aa(function(){for(var a=B(window.document,"pcjs","serial"),b=0;ba.Ag||0>a.Bg)a.Ag=b.clientX,a.Bg=b.clientY;a.xf=b.clientX-a.Ag;a.yf=b.clientY-a.Bg;(a.xf||a.yf)&&bk(a,null,b.clientX,b.clientY);a.Ag=b.clientX;a.Bg=b.clientY}},!1),b.addEventListener("mousedown",function(b){ck(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){ck(a,b.button,!1)},!1),a.si=!0),b.style.cursor="none")}function Zj(a){a&&(a.style.cursor="auto")} +function ck(a,b,c){if(a.lc&&a.S&&a.S.Ob)switch(b){case 0:a.fh!=c&&(a.fh=c,bk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.gh!=c&&(a.gh=c,bk(a,"mouse button2 "+(c?"dn":"up")))}}function bk(a,b,c,d){var e=64|(a.fh?32:0)|(a.gh?16:0)|(a.yf&192)>>4|(a.xf&192)>>6,f=a.xf&63,g=a.yf&63;a.Fa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]");Uj(a.Qf,[e,f,g]);a.xf=a.yf=0}k.Fa=function(a){this.Z&&L(this.Z,this.Z.om)&&this.Z.message(a)}; +Aa(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Ac+":"+this.pc+":"+this.Zc+":"+this.Tb,a+="&machine="+this.ia.ff(),a+="&user="+this.ia.fe(),d=ra()+"/api/v1/disk?"+a,this.xi=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"): +-1!==b.indexOf("/",b.length-1)&&(c="dir"),d=ra()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.df?"":d)+"&format=json"));qa(d,!0,null,this,this.Yn,b)}; +k.Yn=function(a,b,c,d){var e=null;this.ef=!1;var f=0>c&&this.Da&&!this.Da.Nb;if(this.xi)c?this.Ha('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.Ha('Unable to load disk "'+this.Kd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&&'["'!= +b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{for(b=a=0;b>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var t=m.data;if(void 0===t){var s=m.bytes;if(void 0!==s&&s.length){for(var f=n<<2,u=s.length;ub&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function mk(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} +k.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Gc?f=a.Wc+a.Gc&&(a.Gc+=f-(a.Wc+a.Gc)+1):(a.Wc=f,a.Gc=1);d[f]=d[f]&~(255<=this.kb.length||m>=this.kb[h].length||n>=this.kb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e= +g[f++];f=g[f++];g=e+f.length;h=this.kb[h][m][n];for(m=h.data.length;mb&&this.Ha("unable to restore disk '"+this.Kd+": "+c);return b};k.Fa=function(a){this.Z&&L(this.Z,this.Z.km)&&this.Z.message(a)}; +function nk(a){x.call(this,"FDC",a,nk);this.dmaRead=this.mi;this.dmaWrite=this.ni;this.dmaFormat=this.um;this.Ke=null;if(a.autoMount&&(this.Ke=a.autoMount,"string"==typeof this.Ke))try{this.Ke=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ke=null}this.uc=[];this.Ed();this.If()||this.Sa()}y(x,nk);l={};aa={}; +var ok={3:{wd:3,ae:0,name:aa.Ep},4:{wd:2,ae:1,name:aa.Cp},5:{wd:9,ae:7,name:aa.Np},6:{wd:9,ae:7,name:aa.xp},7:{wd:2,ae:0,name:aa.zp},8:{wd:1,ae:2,name:aa.Dp},10:{wd:2,ae:7,name:aa.yp},13:{wd:6,ae:7,name:aa.sp},15:{wd:3,ae:0,name:aa.Bp}};k=nk.prototype; +k.xb=function(a,b,c,d){switch(c){case "listDisks":return this.ta[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.ta.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){w("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d=''+d+"");c.innerHTML= +d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.ta[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||pk(a,c)}}(this,d),!0;case "loadDrive":return this.ta[c]=d,d.onclick=function(a){return function(){var b,c=a.ta.listDisks,d=a.ta.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.va.restore(f)&&(e=!1);e&&a.va&&void 0!==a.Va&&(a.Qa=a.va.seek(a.mb,a.Ia,a.Ma));return e};k.Pj=function(){for(var a=0,b=[],c=0;ca.Ac&&(this.Ha('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b&&(a.va=b,a.Zl=c,a.Ne=d,wk(this,c,d,b),this.ne|=128,this.Ha('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.Ee));a.Ee&&(a.Ee=!1,--this.ye||this.Sa());pk(this,a.gb)}; +function pk(a,b){if(0<=b&&b=this.Ya&&(this.za&=-81,this.qb=this.Ya=0);return c}; +k.yo=function(a,b,c){this.ba(a,b,c,"DATA["+this.Ya+"]");this.Ya=ok[a].wd){b=!1;this.qb=0;var d;a=this.Oa()&31;switch(a){case 3:this.Oa(l.Fp);this.Oa(l.up);this.Lb();break;case 4:c=this.Oa(l.zf);this.gb=c&3;d=this.xa[this.gb];this.Lb();this.jb((d.Za&4278190080)>>>24,l.Jp);break;case 5:case 6:c=this.Oa(l.zf);this.gb=c&3;d=this.xa[this.gb];d.Ia=c>>2&1;d.mb=this.Oa(l.Ph);this.Oa(l.Qh);d.Ma=this.Oa(l.Th);b=this.Oa(l.Fg); +d.Wa=128<>2&1;d.Ma=1;b=0;d.Za=0;d.va&& +(d.Qa=d.va.seek(d.mb,d.Ia,d.Ma))?b=d.Qa.length:d.Za=1088;xk(this,d);yk(this,d);zk(this,d);this.jb(d.mb,l.Ph);this.jb(d.Ia,l.Qh);this.jb(d.Ma,l.Th);this.jb(b,l.Fg);b=!0;break;case 13:c=this.Oa(l.zf);this.gb=c&3;d=this.xa[this.gb];d.Ia=c>>2&1;b=this.Oa(l.Fg);d.Wa=128<>2&1,a=this.Oa(l.vp),d.mb+=a-d.Xd,0>d.mb&&(d.mb=0),d.mb>=d.Ac&&(d.mb=d.Ac-1),d.Xd=a,d.Za=32,0==d.mb&&(d.Za|=268435456),this.Lb(),b=!0}0>>8,l.Hp)}function zk(a,b){a.jb((b.Za&16711680)>>>16,l.Ip)}k.mi=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};k.ni=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.um=function(a,b){return void 0!==b&&0<=b?this.Rj(a,b):-1};k.oi=function(a){a.Za=72;a.va&&(a.Qa=null,a.Za=0,this.ka&&(mi(this.ka,2,this,"dmaRead",a),gi(this.ka,2)))}; +k.pi=function(a){a.Za=72;a.va&&(a.va.ef?a.Za=576:(a.Qa=null,a.Za=0,this.ka&&(mi(this.ka,2,this,"dmaWrite",a),gi(this.ka,2))))};k.rk=function(a){a.Za=72;a.va&&(a.Qa=null,a.Za=0,this.ka&&(a.Be=0,a.wc=Array(4),a.Jf=!0,a.Pf=0,mi(this.ka,2,this,"dmaFormat",a),gi(this.ka,2),a.Jf=!1))};k.sc=function(a,b){var c=-1;if(!a.Za&&a.va){do{if(a.Qa&&0<=(c=mk(a.Qa,a.Va++)))break;a.Qa=a.va.seek(a.mb,a.Ia,a.Ma);if(!a.Qa){a.Za=1088;break}a.Va=0;this.Gf(a)}while(1)}b(c,!1)}; +k.Cc=function(a,b){if(a.Za||!a.va)return-1;do{if(a.Qa&&a.va.write(a.Qa,a.Va++,b))break;a.Qa=a.va.seek(a.mb,a.Ia,a.Ma);if(!a.Qa){a.Za=8256;b=-1;break}a.Va=0;this.Gf(a)}while(1);return b};k.Gf=function(a){a.Ma++;a.Ma>=a.Zc+1&&(a.Ma=1,a.Ia++,a.Ia>=a.pc&&(a.Ia=0,a.mb++))};k.Rj=function(a,b){if(a.Za)return-1;a.wc[a.Be++]=b;if(a.Be==a.wc.length){a.mb=a.wc[0];a.Ia=a.wc[1];a.Ma=a.wc[2];a.Wa=128<this.Cc(a,a.ek))return-1;a.Pf++}a.Pf>=a.Zd&&(b=-1);return b}; +k.Ii=function(a){var b=this.S.G&255,c=this.S.G>>8,d=this.S.I&255,e=this.S.I>>8,f=this.S.J&255,g=this.S.J>>8;this.Z&&L(this.Z,this.Z.Cg)&&128>f&&(this.Z.message("\nFDC.intBIOS(AH="+r(c)+",drv="+r(f)+",cyl="+r(e)+",hd="+r(g)+",sec="+r(d)+",num="+r(b)+") at "+da(a-this.S.ra.Na,this.S.ra.oa)),Bc(this.S,a,function(a,b){return function(c){b=E(a.S)-b;a.Fa("FDC.intBIOS("+c+"): C="+(Pc(a.S)?1:0)+" (cycles="+b+")")}}(this,E(this.S))));return!0};k.Fa=function(a){this.Z&&L(this.Z,this.Z.Cg)&&this.Z.message(a)}; +k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Cg,e)};var sk={1012:nk.prototype.dn,1013:nk.prototype.bn,1015:nk.prototype.cn},tk={1010:nk.prototype.zo,1013:nk.prototype.yo,1015:nk.prototype.xo};Aa(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b=e&&(this.pf|=(f.type&3)<<(1-e<<1))}return d}; +k.Nj=function(){var a=0,b=[];this.De?(b[a++]=this.me,b[a++]=this.Yl,b[a++]=this.Ih,b[a++]=this.Jh,b[a++]=this.Hh,b[a++]=this.Gh,b[a++]=this.qf,b[a++]=this.za,b[a++]=this.Kj):(b[a++]=this.pf,b[a++]=this.za,b[a++]=this.cc,b[a++]=this.qb,b[a++]=this.Ya,b[a++]=this.Xl,b[a++]=this.Wl,b[a++]=this.Vl,b[a++]=this.gf);b[a]=this.Pj();return b}; +k.Gi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.gb=a;b.errorCode=d[f++];b.dm=d[f++];b.df=d[f++];b.Ue=d[f++];b.Ve=d[f++];b.Ia=d[f++];b.pc=d[f++];b.Qd=d[f++];b.Ma=d[f++];b.Zd=d[f++];b.Wa=d[f++];b.Vg=this.De?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.fe()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Ak[this.Zf][b.type])b.type=this.Hm;c=Ak[this.Zf][b.type]; +b.Zc=c[2]||17;b.Tb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.pa)){var h=e.pa[18],h=a?h&240|c:h&15|c<<4;e.pa&&(e.pa[18]=h,Vh(e))}void 0===b.va&&(b.va=null,this.Ha("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Fk(this,b);b.Va=d[f++];b.Qa=null;b.va&&(a=d[f],void 0!==a&&0>b.va.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Qa=b.va.seek(b.Qd,b.Ia,b.Ma+b.Vg)));return g};k.Pj=function(){for(var a=0,b=[],c=0;c=this.Ya&&(this.qb=this.Ya=0,this.za&=-15);return c}; +k.Vo=function(a,b,c){this.ba(a,b,c,"DATA["+this.Ya+"]");this.Ya=a&&(this.za|=2,this.za&=-2,Gk(this))};k.Fn=function(a,b){var c=this.za;this.ba(a,null,b,"STATUS",c);this.qb=this.Pa.Tb){var e=this;this.sc(this.Pa,function(a){0<=a?e.ka&&Q(e.ka,14):(e.za=1,e.me=16)},!1)}else this.za=80;d||this.ba(a,null,b,"DATA",c);return c}; +k.mo=function(a,b,c){this.Pa&&0!=this.Pa.Va||this.ba(a,b,c,"DATA");this.Pa&&this.Pa.Wa>=this.Pa.Tb&&(0>this.Cc(this.Pa,b)?(this.za=1,this.me=16):this.Pa.Va==this.Pa.Tb&&(this.Pa.Wa-=this.Pa.Tb,this.ka&&Q(this.ka,14),this.Pa.Wa>=this.Pa.Tb||(this.za=80)))};k.Rm=function(a,b){var c=this.me;this.ba(a,null,b,"ERROR",c);return c};k.qo=function(a,b,c){this.ba(a,b,c,"WPREC");this.Yl=b};k.Sm=function(a,b){var c=this.Ih;this.ba(a,null,b,"SECCNT",c);return c}; +k.oo=function(a,b,c){this.ba(a,b,c,"SECCNT");this.Ih=b};k.Tm=function(a,b){var c=this.Jh;this.ba(a,null,b,"SECNUM",c);return c};k.po=function(a,b,c){this.ba(a,b,c,"SECNUM");this.Jh=b};k.Om=function(a,b){var c=this.Hh;this.ba(a,null,b,"CYLLO",c);return c};k.lo=function(a,b,c){this.ba(a,b,c,"CYLLO");this.Hh=b};k.Nm=function(a,b){var c=this.Gh;this.ba(a,null,b,"CYLHI",c);return c};k.ko=function(a,b,c){this.ba(a,b,c,"CYLHI");this.Gh=b};k.Qm=function(a,b){var c=this.qf;this.ba(a,null,b,"DRVHD",c);return c}; +k.no=function(a,b,c){this.ba(a,b,c,"DRVHD");this.qf=b;this.za=this.xa[this.qf&16?1:0]?this.za|64:this.za&-65};k.Um=function(a,b){var c=this.za;this.ba(a,null,b,"STATUS",c);return c};k.jo=function(a,b,c){this.ba(a,b,c,"COMMAND");this.Kj=b;this.ka&&ti(this.ka,14);Hk(this)}; +function Hk(a){var b=!1,c=a.Kj,d=a.qf&16?1:0,e=a.qf&15,f=a.Hh|(a.Gh&3)<<8,g=a.Jh,h=a.Ih;a.Pa=null;a.me=0;a.za=80;(d=a.xa[d])?(d.Qd=f,d.Ia=e,d.Ma=g,d.Wa=h*d.Tb,c=144<=c?c:c&240,d.Qa=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.sc(d,function(b){0<=b&&a.ka?(Q(a.ka,14),a.za=136):(a.za=1,a.me=16)},!1);break;case 48:a.ka?(Q(a.ka,14),a.za=136):(a.za=1,a.me=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.me=1;b=!0;break;case 145:d.pc=e+1,d.Zc=h,b=!0}b&&a.ka&&Q(a.ka,14)} +function Gk(a){a.qb=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,g=a.Oa(),h=a.Oa(),m=g<<2&768|h,n=g&63,q=a.Oa(),t=a.Oa(),s=a.xa[e];s&&(s.Qd=m,s.Ia=f,s.Ma=n,s.Wa=q*s.Tb);switch(b){case 3:a.Lb(s?s.errorCode:4);a.jb(c);a.jb(g);a.jb(h);a.jb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)s&&cb?this.sc(a,c):c(-1,!1)}; +k.ni=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.vm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va=a.Zc+b&&(a.Ma=b,a.Ia++,a.Ia>=a.pc&&(a.Ia=0,a.Qd++))}; +k.Rj=function(a,b){if(a.errorCode)return-1;a.wc[a.Be++]=b;if(a.Be==a.wc.length){a.Qd=a.wc[0];a.Ia=a.wc[1];a.Ma=a.wc[2];a.Wa=128<this.Cc(a,a.ek))return-1;a.Pf++}a.Pf>=a.Zd&&(b=-1);return b}; +k.Hn=function(a){var b=this.S.J&255;!(this.S.G>>8)&&128>8)||(a=!this.ka)||(a=!(this.ka.ub[0].vd&64));return a?!0:!1}; +k.Fa=function(a){this.Z&&L(this.Z,this.Z.Sh)&&this.Z.message(a)};k.ba=function(a,b,c,d,e){this.Z&&this.Z.ba(this,a,b,c,d,this.Z.Sh,e)}; +var Ck={800:Y.prototype.En,801:Y.prototype.Fn,802:Y.prototype.Dn},Bk={496:Y.prototype.Pm,497:Y.prototype.Rm,498:Y.prototype.Sm,499:Y.prototype.Tm,500:Y.prototype.Om,501:Y.prototype.Nm,502:Y.prototype.Qm,503:Y.prototype.Um},Ek={800:Y.prototype.Vo,801:Y.prototype.Yo,802:Y.prototype.Xo,803:Y.prototype.Wo,807:Y.prototype.Fj,811:Y.prototype.Fj,815:Y.prototype.Fj},Dk={496:Y.prototype.mo,497:Y.prototype.qo,498:Y.prototype.oo,499:Y.prototype.po,500:Y.prototype.lo,501:Y.prototype.ko,502:Y.prototype.no,503:Y.prototype.jo}; +Aa(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b) from STDIN with echo",2:"write character () from STDAUX",4:"write character () from STDIN without echo",9:"write $-terminated string ()",11:"get STDIN status", +[3,1],[2,1],[69],[189],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[115,4145],[116,4145],[114,4145],[83,4145],[74,8289,4097],[74,10339,4097],[131,4097,4193],[131,4097,6243],[17,4148],[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[131,6755,4193],[131,6755,6243],[111,15],[0],[141,15],[142,15],[71],[23],[200,12417],[201,12420],[19],[177],[21],[179],[20],[178],[202,12417],[203,12420]],Sk={0:[205,12419],1:[206,12419],2:[100,37027,4243],3:[117,37027,4243]}, +Tk=[[[6,12417,4097],[129,12417,4097],[5,12417,4097],[149,12417,4097],[7,12417,4097],[183,12417,4097],[190,12417,4097],[24,4225,4097]],[[6,12420,4100],[129,12420,4100],[5,12420,4100],[149,12420,4100],[7,12420,4100],[183,12420,4100],[190,12420,4100],[24,4228,4100]],[[6,12420,4098],[129,12420,4098],[5,12420,4098],[149,12420,4098],[7,12420,4098],[183,12420,4098],[190,12420,4098],[24,4228,4098]],[[145,45185,4097],[146,45185,4097],[139,45185,4097],[140,45185,4097],[169,45185,4097],[171,45185,4097],Z,[148, +45185,4097]],[[145,45188,4097],[146,45188,4097],[139,45188,4097],[140,45188,4097],[169,45188,4097],[171,45188,4097],Z,[148,45188,4097]],[[145,12417,4113],[146,12417,4113],[139,12417,4113],[140,12417,4113],[169,12417,4113],[171,12417,4113],Z,[148,12417,4113]],[[145,12420,4113],[146,12420,4113],[139,12420,4113],[140,12420,4113],[169,12420,4113],[171,12420,4113],Z,[148,12420,4113]],[[145,12417,4449],[146,12417,4449],[139,12417,4449],[140,12417,4449],[169,12417,4449],[171,12417,4449],Z,[148,12417,4449]], +[[145,12420,4449],[146,12420,4449],[139,12420,4449],[140,12420,4449],[169,12420,4449],[171,12420,4449],Z,[148,12420,4449]],[[184,4225,4097],Z,[128,12417],[126,12417],[125,4225],[73,12417],[32,4225],[72,12417]],[[184,4228,4100],Z,[128,12420],[126,12420],[125,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],Z,Z,Z,Z,Z,Z],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[136,4228],Z],[],[[174,8323],[182,8323],[109,4227],[119,4227],[185,4227],[186,4227],Z,Z],[[168,8323],[173, +8323],[106,4227],[108,4227],[175,8323],Z,[110,4227],Z]],Uk={0:"terminate program",1:"read character (AL>) from STDIN with echo",2:"write character () from STDAUX",4:"write character () from STDIN without echo",9:"write $-terminated string ()",11:"get STDIN status", 12:"flush buffer and read STDIN",13:"disk reset",14:"select default drive ()", 26:"set disk transfer area address (DTACX, mon>DH, day>DL)",43:"set system date (yearCH, min>CL, sec>DH, hundredths>DL)",45:"set system time (hourES:BX)",48:"get DOS version (major>AL, minor>AH)",49:"terminate and stay resident", 50:"get drive parameter block (DPB>DS:BX) for drive () of InDOS flag",53:"get address (ES:BX>) of interrupt vector () for drive ()",78:"find first matching file ()",82:"get system variables (ES:BX>)",83:"translate BPB ()",84:"get verify flag (AL>)",85:"create child PSP at segment () and time (CX>)",88:"get/set (AL=0/1) memory allocation strategy",89:"get extended error information",90:"create temporary file (>8;if(K(this,this.fm)){var c=Pk[b],c=c?": "+c.replace(/\((<|>)/g,"("):"";this.message("INT 0x21: AH="+p(b)+" at "+ca(a-this.S.ra.La,this.S.ra.oa)+c)}return!0};k.zn=function(){this.ca("Type ? for list of debugger commands")};function Gk(a){var b;if(1>c.ob],!1)}a.Sd=["read"];if(void 0!==a.Pc)for(b=1;b>c.ob],!0);a.Pc=["write"]}k.Vd=function(a,b,c){if(!Zk(this,a,b)){b[2]=Z(this,b);b[3]=c;a.push(b);if(a!=this.Gb){var d=this.na,e=Z(this,b);d.Aa[e>>d.ob].Vd(e&d.eb,a==this.Pc)}c||this.ca("breakpoint enabled: "+$(b)+" ("+a[0]+")");Gk(this);return!0}return!1}; -function Zk(a,b,c,d){var e=!1;c=Z(a,c);for(var f=1;f>d.ob],b==a.Pc));g[3]||a.ca("breakpoint cleared: "+$(g)+" ("+b[0]+")");Gk(a);break}a.ca("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function $k(a,b){for(var c=1;c=b&&f>g.ob].Vd(f&g.eb,d==a.Pc)}}}function Vk(a,b){if(void 0!==b)Wk(a,b,a.Gb,!0),a.nc=0;else for(var c=1;c=Ik.length&&(m=a.ub(b,1),g=Ok[h-Ik.length][m>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",t=g[f];if(void 0!==t){var s=t&15;if(0!=s&&15!=s){var u=t&240;if(128<=u)if(0>m&&(m=a.ub(b,1)),160<=u)q=m>>3&7,176==(t&240)?q+=16:3<=(t&15)&&(q+=8),q=Jk[q];else{if(128<=u){var q=a,z=t,s=b,C="",u=m>>6,C=m&7;3>u?(z=void 0,u||6!=C?(C=Kk[C],1==u?(z= -q.ub(s,1),z&128?(z=z<<24>>24,C+="-"+p(-z)):C+="+"+p(z)):2==u&&(z=q.Ia(s,2),C+="+"+r(z))):(z=q.Ia(s,2),C=r(z)),C="["+C+"]"):C=Jk[C+(1==(z&15)?0:8)];q=C}}else if(16==u)q="1";else if(0==u){q=a;u=t;s=b;z=" ";switch(u&15){case 1:u&12288&&(z=p(q.ub(s,1)));break;case 2:z=r(q.ub(s,1)<<24>>24);break;case 3:case 4:z=r(q.Ia(s,2));break;case 6:u=q.Ia(s,2);q=q.Ia(s,2);z=$([u,q,void 0]);break;default:z="imm("+r(u)+")"}q=z}else 32==u?q="["+r(a.Ia(b,2))+"]":48==u?(1==s?(q=a.ub(b,1),q=q<<24>>24):q=a.Ia(b,2),q=b[0]+ -q&65535,q=bl(a,[q,b[1],void 0])[0]||r(q)):96==u?q=Jk[(t&3840)>>8]:112==u?q=Jk[((t&3840)>>8)+16]:64==u?q="DS:[SI]":80==u&&(q="ES:[DI]");q.length||(q="type("+r(t)+")");0>>4),f[0]=h,f[1]=m,void 0!==n.p&&(f[2]=n.p));break}}}if(f&&f.length)return f;f=b.indexOf(":");0>f?null!=e?c=il(a,b):d=il(a,b):(e=il(a,b.substring(0,f)),c=il(a,b.substring(f+1)),d=null)}return[c, -e,d]} -function il(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.S.G;break;case "BX":d=a.S.B;break;case "CX":d=a.S.I;break;case "DX":d=a.S.J;break;case "SI":d=a.S.F;break;case "DI":d=a.S.D;break;case "BP":d=a.S.H;break;case "SP":d=a.S.X;break;case "CS":d=a.S.ra.oa;break;case "DS":d=a.S.Qb.oa;break;case "ES":d=a.S.bb.oa;break;case "SS":d=a.S.Eb.oa;break;case "IP":d=a.S.sa;break;default:d=ba(b),void 0===d&&a.ca("invalid "+(c?c:"value")+": "+b)}else a.ca("missing "+(c?c:"value"));return d} -function Fi(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.ca("out of data at address "+$(b)),q=!0):(a.bd(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}} -function Tk(a,b,c){if(b&&"?"==b[1])a.ca("\nregister commands:"),a.ca("\tr\t\tdisplay all registers"),a.ca("\tr [target=#]\tmodify target register"),a.ca("supported targets:"),a.ca("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1) and time (CX>)",88:"get/set (AL=0/1) memory allocation strategy",89:"get extended error information",90:"create temporary file (>8;if(L(this,this.lm)){var c=Uk[b],c=c?": "+c.replace(/\((<|>)/g,"("):"";this.message("INT 0x21: AH="+r(b)+" at "+da(a-this.S.ra.Na,this.S.ra.oa)+c)}return!0};k.Gn=function(){this.ca("Type ? for list of debugger commands")};function Lk(a){var b;if(1>c.sb],!1)}a.Sd=["read"];if(void 0!==a.Oc)for(b=1;b>c.sb],!0);a.Oc=["write"]}k.Vd=function(a,b,c){if(!el(this,a,b)){b[2]=cl(this,b);b[3]=c;a.push(b);if(a!=this.Gb){var d=this.na,e=cl(this,b);d.Aa[e>>d.sb].Vd(e&d.fb,a==this.Oc)}c||this.ca("breakpoint enabled: "+$(b)+" ("+a[0]+")");Lk(this);return!0}return!1}; +function el(a,b,c,d){var e=!1;c=cl(a,c);for(var f=1;f>d.sb],b==a.Oc));g[3]||a.ca("breakpoint cleared: "+$(g)+" ("+b[0]+")");Lk(a);break}a.ca("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function fl(a,b){for(var c=1;c=b&&f>g.sb].Vd(f&g.fb,d==a.Oc)}}}function $k(a,b){if(void 0!==b)al(a,b,a.Gb,!0),a.mc=0;else for(var c=1;c=Nk.length&&(m=a.vb(b,1),g=Tk[h-Nk.length][m>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",t=g[f];if(void 0!==t){var s=t&15;if(0!=s&&15!=s){var u=t&240;if(128<=u)if(0>m&&(m=a.vb(b,1)),160<=u)q=m>>3&7,176==(t&240)?q+=16:3<=(t&15)&&(q+=8),q=Ok[q];else{if(128<=u){var q=a,A=t,s=b,D="",u=m>>6,D=m&7;3>u?(A=void 0,u||6!=D?(D=Pk[D],1==u?(A= +q.vb(s,1),A&128?(A=A<<24>>24,D+="-"+r(-A)):D+="+"+r(A)):2==u&&(A=q.Ja(s,2),D+="+"+v(A))):(A=q.Ja(s,2),D=v(A)),D="["+D+"]"):D=Ok[D+(1==(A&15)?0:8)];q=D}}else if(16==u)q="1";else if(0==u){q=a;u=t;s=b;A=" ";switch(u&15){case 1:u&12288&&(A=r(q.vb(s,1)));break;case 2:A=v(q.vb(s,1)<<24>>24);break;case 3:case 4:A=v(q.Ja(s,2));break;case 6:u=q.Ja(s,2);q=q.Ja(s,2);A=$([u,q,void 0]);break;default:A="imm("+v(u)+")"}q=A}else 32==u?q="["+v(a.Ja(b,2))+"]":48==u?(1==s?(q=a.vb(b,1),q=q<<24>>24):q=a.Ja(b,2),q=b[0]+ +q&65535,q=hl(a,[q,b[1],void 0])[0]||v(q)):96==u?q=Ok[(t&3840)>>8]:112==u?q=Ok[((t&3840)>>8)+16]:64==u?q="DS:[SI]":80==u&&(q="ES:[DI]");q.length||(q="type("+v(t)+")");0>>4),d[0]=g,d[1]=h,void 0!==m.p&&(d[2]=m.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=ol(a,b),d=null):d=ol(a,b):(e=ol(a,b.substring(0,d)),c=ol(a,b.substring(d+1)),d= +null)}return[c,e,d]} +function ol(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.S.G;break;case "BX":d=a.S.B;break;case "CX":d=a.S.I;break;case "DX":d=a.S.J;break;case "SI":d=a.S.F;break;case "DI":d=a.S.D;break;case "BP":d=a.S.H;break;case "SP":d=a.S.X;break;case "CS":d=a.S.ra.oa;break;case "DS":d=a.S.Qb.oa;break;case "ES":d=a.S.cb.oa;break;case "SS":d=a.S.Eb.oa;break;case "IP":d=a.S.sa;break;default:d=ca(b),void 0===d&&a.ca("invalid "+(c?c:"value")+": "+b)}else a.ca("missing "+(c?c:"value"));return d} +function Ii(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.ca("out of data at address "+$(b)),q=!0):(a.ad(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}} +function Yk(a,b,c){if(b&&"?"==b[1])a.ca("\nregister commands:"),a.ca("\tr\t\tdisplay all registers"),a.ca("\tr [target=#]\tmodify target register"),a.ca("supported targets:"),a.ca("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1c||"z">>4),(d=h[f].l)&&(f=d),a.ca(ca(n,m)+" "+f)));else{for(n in a.fb)if(h==a.fb[n].Xa){a.fb[n].tk(m);break a}f=hl(a,h,2);if(null!=f[0])if("ds"==g)if(c=Xk(a,f[0]),null!=c.oa){f="selector="+r(f[0])+" limit="+r(c.Nc)+" base="+l(c.La);if(c.ab){f+=" access="+r(c.ab);if(c.ab& +break;case "BP":a.S.H=b&65535;break;case "SI":a.S.F=b&65535;break;case "DI":a.S.D=b&65535;break;case "DS":Jc(a.S,b);break;case "ES":Oc(a.S,b);break;case "SS":Kc(a.S,b);break;case "CS":d=!0;Ic(a.S,b);a.Dc=[a.S.sa,a.S.ra.oa,void 0];break;case "IP":d=!0;I(a.S,b);a.Dc=[a.S.sa,a.S.ra.oa,void 0];break;case "C":b?$c(a.S):Vc(a.S);break;case "P":b?(f=a.S,Qc(f)||(f.ja^=1)):(f=a.S,Qc(f)&&(f.ja^=1));break;case "A":b?ad(a.S):Wc(a.S);break;case "Z":b?bd(a.S):Xc(a.S);break;case "S":b?cd(a.S):Yc(a.S);break;case "I":b? +(f=a.S,f.ya|=512):(f=a.S,f.ya&=-513);break;case "D":b?(f=a.S,f.ya|=1024):(f=a.S,f.ya&=-1025);break;case "V":b?dd(a.S):Zc(a.S);break;default:a.ca("unknown register: "+f);return}Db(a.S);a.ca("updated registers:")}}f=e;void 0===f&&(f=!!(a.S.$c&1));e="AX="+v(a.S.G)+" BX="+v(a.S.B)+" CX="+v(a.S.I)+" DX="+v(a.S.J)+" SP="+v(a.S.X)+" BP="+v(a.S.H)+" SI="+v(a.S.F)+" DI="+v(a.S.D)+"\n";e+=ll(a.S.Qb,f)+" "+ll(a.S.cb,f)+" "+ll(a.S.Eb,f);e=e+(f?"\n":" ")+(ll(a.S.ra,f)+" IP="+v(a.S.sa)+il(a,"V")+il(a,"D")+il(a, +"I")+il(a,"T")+il(a,"S")+il(a,"Z")+il(a,"A")+il(a,"P")+il(a,"C"));f&&(f=a.na,e+=" MS="+v(a.S.$c)+"\n"+ml("LD",a.S.Ld.oa,a.S.Ld.Na,a.S.Ld.Mc)+" "+ml("GD",null,a.S.Pc,a.S.Xe)+" "+ml("ID",null,a.S.dd,a.S.se)+" TR="+v(a.S.yg.oa)+" A20="+(f.te==f.Jb?"ON":"OFF"));a.ca((c?"":"\n")+e);d&&(a.Dc=[a.S.sa,a.S.ra.oa,void 0],Zk(a,$(a.Dc)))}}function sl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;va(b,function(){return Oa(a,!0)&&a.vf(e,d,!1)},function(){Db(a.S);Oa(a,!1)})} +function Zk(a,b,c,d){b=nl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.na.te];if(void 0!==c){e=nl(a,c,1);if(null==e[0]||e[0]c||"z">>4),(d=h[f].l)&&(f=d),a.ca(da(n,m)+" "+f)));else{for(n in a.hb)if(h==a.hb[n].Xa){a.hb[n].yk(m);break a}f=nl(a,h,2);if(null!=f[0])if("ds"==g)if(c=bl(a,f[0]),null!=c.oa){f="selector="+v(f[0])+" limit="+v(c.Mc)+" base="+p(c.Na);if(c.ab){f+=" access="+v(c.ab);if(c.ab& 4096)c.ab&2048?(f=f+"code:"+(c.ab&512?"readable,":"execonly,"),f+=c.ab&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.ab&512?"writeable,":"readonly,",f+=c.ab&1024?"expand down,":"expand up,"),f+=c.ab&256?"accessed":"not accessed";else switch(f+="type:",c.ab&7936){case 256:f+="tss";break;case 512:f+="ldt";break;case 768:f+="tss(busy)";break;case 1024:f+="call";break;case 1280:f+="task";break;case 1536:f+="int";break;case 1792:f+="trap";break;default:f+="unknown"}f+=",dpl"+(c.ab>>13&24576);f+= -c.ab&32768?",present":",not present"}a.ca(f)}else a.ca("invalid selector: "+r(f[0]));else{c=0;void 0!==m&&("l"==m.charAt(0)&&(m=m.substr(1)),c=parseInt(m,10));n="";c||(c=8);for(m=0;mt;t++){var s=a.ub(f,1);"dw"==g?t&1&&(d+=r(q|s<<8)+(7==t?" - ":" ")):d+=p(s)+(7==t?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=h+" "+d+" "+e}n&&a.ca(n);a.Uj=f}}}break;case "e":f=c[1];if(void 0===f)a.ca("missing address");else if(f=hl(a,f,2),null!=f[0])for(g= -2;gh.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=n,0>g&&(null!=h[h.length- -1][1]?g+=h.length:(n=g+n,g=0)),void 0!==m&&a.ca(n+" instructions earlier:");c&&g!=a.hf;){m=h[g];if(null==m[1])break;m=[m[0],m[1],m[2]];a.ca(al(a,m,"history",-n));++g==h.length&&(g=0);a.Jl=--n;c--}10==c&&(a.ca("no "+f+"history available"),a.Jl=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=il(a,f),void 0!==f&&(c=hb(a.na,f),a.ca(r(f)+": "+p(c)))):(a.ca("\ninput commands:"),a.ca("\ti [p]\tread port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "l":ll(a,c);break;case "m":a:{f= -null;h=c[1];"?"==h&&(h=void 0);if(void 0!==h){n=0;if("all"==h)n=4294967295,h=null;else if("on"==h)f=!0,h=null;else if("off"==h)f=!1,h=null;else{for(g in a.fb)if(h==a.fb[g].Xa){n=a.fb[g].Ua;f=!!(a.gc&n);break}if(!n){a.ca("unknown message category: "+h);break a}}n&&("on"==c[2]?(a.gc|=n,f=!0):"off"==c[2]&&(a.gc&=~n,f=!1))}c=0;n="";for(g in a.fb)if(!h||h==a.fb[g].Xa)if(m=!!(a.gc&a.fb[g].Ua),null===f||f==m)n&&(n+=","),++c%10||(n+="\n\t"),n+=a.fb[g].Xa;void 0===h&&a.ca("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off"); -a.ca((null!==f?f?"messages on: ":"messages off: ":"message categories:\n\t")+(n||"none"))}break;case "o":f=c[1];c=c[2];f&&"?"!=f?(f=il(a,f,"port #"),c=il(a,c),void 0!==f&&void 0!==c&&lb(a.na,f,c)):(a.ca("\noutput commands:"),a.ca("\to [p] [d]\twrite data [d] to port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "p":case "pr":f="pr"==c[0]?1:0;c=1+f;if(a.nc)a.ca("step in progress");else{h=!1;n=[a.S.sa,a.S.ra.oa,void 0];do switch(g=!1,a.ub(n)){case 38:case 46:case 54:case 62:case 240:Yk(n, -1);g=!0;break;case 204:case 206:a.nc=c;Yk(n,1);break;case 205:case 224:case 225:case 226:a.nc=c;Yk(n,2);break;case 232:a.nc=c;Yk(n,3);break;case 154:a.nc=c;Yk(n,5);break;case 255:a.nc=0<=al(a,n).indexOf("CALL")?c:0;break;case 243:case 242:Yk(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.nc=c,Yk(n,1))}while(g);a.nc?(a.Vd(a.Gb,n,!0),a.Me()||(a.S.Md(),a.nc=0)):ml(a,f?"tr":"t")}break;case "r":Tk(a,c);break;case "t":case "tr":ml(a,c[0], -c[1]);break;case "u":Uk(a,c[1],c[2],8);break;case "x":a:if(void 0===c[1]||"?"==c[1])a.ca("\nexecution options:"),a.ca("\tcs int #\tset checksum cycle interval to #"),a.ca("\tcs start #\tset checksum cycle start count to #"),a.ca("\tcs stop #\tset checksum cycle stop count to #"),a.ca("\tsp #\t\tset speed multiplier to #");else switch(c[1]){case "cs":void 0!==c[3]&&(m=parseInt(c[3],10));switch(c[2]){case "int":a.S.kf=m;break;case "start":a.S.bg=m;break;case "stop":a.S.mf=m;break;default:a.ca("unknown cs option"); -break a}void 0!==m&&zb(a.S);a.ca("checksums "+(a.S.bf?"enabled":"disabled"));break;case "sp":void 0!==c[2]&&Fb(a.S,parseInt(c[2],10));a.ca("target speed: "+(a.S.Fe.toFixed(2)+"Mhz")+" ("+a.S.Gd+"x)");break;default:a.ca("unknown option: "+c[1])}break;case "?":f="commands:";for(h in Hk)f+="\n"+h+" ".substr(0,7-h.length)+Hk[h];1sl){if(d.load(this.vg)){this.sf=new G(this,"1.15.4","failsafe");this.sf.load()&&(wl(this,d),a=2);this.sf.set("timestamp",na());ql(this.sf);var e=this.Bc&&!this.ih;if(1==a||ra("Click OK to restore previous PCjs machine state.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=g?(this.Ha("Error: "+g),"unable to verify user"== -g&&(sa(""),this.Oc=null)):this.ca(f+": "+g),pl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&vl(this,c?d:null)}else 2==a&&d.clear()}else vl(this);delete this.vg;delete this.Kh}e=Ja(this.id);for(f=0;fa[1];a=a[2];this.Nb=!0;this.nk||(this.ca("PCjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.nk=!0);this.S&&xl(this,this.S,b,c,a);this.qk&&(wl(this,b),b.clear());!c&&this.sf&&(this.sf.clear(),delete this.sf)}; -function wl(a,b){if(ra("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.ee(),d=b.toString(),e={app:"PCjs",ver:"1.15.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;pa("http://www.pcjs.org/api/v1/report",!0,e)}} -function nl(a,b,c){var d,e="none",f=new G(a,"1.15.4"),g=new G(a,"1.15.4","validate"),h=na();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.15.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.S&&a.S.Yb&&(c&&a.S.zb(),d=a.S.Yb(b,c),"object"===typeof d&&f.set(a.S.id,d),c&&(a.S.Nb=!1,!1===d&&(e=null)));for(var h=Ja(a.id),m=0;m/g;f=g.exec(a);){var h=f[2],m=pa(h),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var h=q[0],t,s=/( [a-z]+=)(['"])(.*?)\2/g;t=s.exec(m);)h=0>h.indexOf(t[1])?h.replace(">",t[0]+">"):h.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);q[0]!=h&&(n=n.replace(q[0],h))}else throw c="missing <"+f[1]+"> in "+h, +c.ab&32768?",present":",not present"}a.ca(f)}else a.ca("invalid selector: "+v(f[0]));else{c=0;void 0!==m&&("l"==m.charAt(0)&&(m=m.substr(1)),c=parseInt(m,10));n="";c||(c=8);for(m=0;mt;t++){var s=a.vb(f,1);"dw"==g?t&1&&(d+=v(q|s<<8)+(7==t?" - ":" ")):d+=r(s)+(7==t?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=h+" "+d+" "+e}n&&a.ca(n);a.$j=f}}}break;case "e":f=c[1];if(void 0===f)a.ca("missing address");else if(f=nl(a,f,2),null!=f[0])for(g= +2;gh.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=n,0>g&&(null!=h[h.length- +1][1]?g+=h.length:(n=g+n,g=0)),void 0!==m&&a.ca(n+" instructions earlier:");c&&g!=a.hf;){m=h[g];if(null==m[1])break;m=[m[0],m[1],m[2]];a.ca(gl(a,m,"history",-n));++g==h.length&&(g=0);a.Ol=--n;c--}10==c&&(a.ca("no "+f+"history available"),a.Ol=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=ol(a,f),void 0!==f&&(c=ib(a.na,f),a.ca(v(f)+": "+r(c)))):(a.ca("\ninput commands:"),a.ca("\ti [p]\tread port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "l":rl(a,c);break;case "m":a:{f= +null;h=c[1];"?"==h&&(h=void 0);if(void 0!==h){n=0;if("all"==h)n=4294967295,h=null;else if("on"==h)f=!0,h=null;else if("off"==h)f=!1,h=null;else{for(g in a.hb)if(h==a.hb[g].Xa){n=a.hb[g].Ua;f=!!(a.fc&n);break}if(!n){a.ca("unknown message category: "+h);break a}}n&&("on"==c[2]?(a.fc|=n,f=!0):"off"==c[2]&&(a.fc&=~n,f=!1))}c=0;n="";for(g in a.hb)if(!h||h==a.hb[g].Xa)if(m=!!(a.fc&a.hb[g].Ua),null===f||f==m)n&&(n+=","),++c%10||(n+="\n\t"),n+=a.hb[g].Xa;void 0===h&&a.ca("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off"); +a.ca((null!==f?f?"messages on: ":"messages off: ":"message categories:\n\t")+(n||"none"))}break;case "o":f=c[1];c=c[2];f&&"?"!=f?(f=ol(a,f,"port #"),c=ol(a,c),void 0!==f&&void 0!==c&&mb(a.na,f,c)):(a.ca("\noutput commands:"),a.ca("\to [p] [d]\twrite data [d] to port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "p":case "pr":f="pr"==c[0]?1:0;c=1+f;if(a.mc)a.ca("step in progress");else{h=!1;n=[a.S.sa,a.S.ra.oa,void 0];do switch(g=!1,a.vb(n)){case 38:case 46:case 54:case 62:case 240:dl(n, +1);g=!0;break;case 204:case 206:a.mc=c;dl(n,1);break;case 205:case 224:case 225:case 226:a.mc=c;dl(n,2);break;case 232:a.mc=c;dl(n,3);break;case 154:a.mc=c;dl(n,5);break;case 255:a.mc=0<=gl(a,n).indexOf("CALL")?c:0;break;case 243:case 242:dl(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.mc=c,dl(n,1))}while(g);a.mc?(a.Vd(a.Gb,n,!0),a.Me()||(a.S.Md(),a.mc=0)):sl(a,f?"tr":"t")}break;case "r":Yk(a,c);break;case "t":case "tr":sl(a,c[0], +c[1]);break;case "u":Zk(a,c[1],c[2],8);break;case "x":a:if(void 0===c[1]||"?"==c[1])a.ca("\nexecution options:"),a.ca("\tcs int #\tset checksum cycle interval to #"),a.ca("\tcs start #\tset checksum cycle start count to #"),a.ca("\tcs stop #\tset checksum cycle stop count to #"),a.ca("\tsp #\t\tset speed multiplier to #");else switch(c[1]){case "cs":void 0!==c[3]&&(m=parseInt(c[3],10));switch(c[2]){case "int":a.S.kf=m;break;case "start":a.S.dg=m;break;case "stop":a.S.mf=m;break;default:a.ca("unknown cs option"); +break a}void 0!==m&&Ab(a.S);a.ca("checksums "+(a.S.bf?"enabled":"disabled"));break;case "sp":void 0!==c[2]&&Gb(a.S,parseInt(c[2],10));a.ca("target speed: "+(a.S.Fe.toFixed(2)+"Mhz")+" ("+a.S.Gd+"x)");break;default:a.ca("unknown option: "+c[1])}break;case "?":f="commands:";for(h in Mk)f+="\n"+h+" ".substr(0,7-h.length)+Mk[h];1yl){if(d.load(this.wg)){this.tf=new H(this,"1.15.4","failsafe");this.tf.load()&&(Cl(this,d),a=2);this.tf.set("timestamp",oa());wl(this.tf);var e=this.Bc&&!this.lh;if(1==a||sa("Click OK to restore previous PCjs machine state.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=g?(this.Ha("Error: "+g),"unable to verify user"== +g&&(ta(""),this.Nc=null)):this.ca(f+": "+g),vl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Bl(this,c?d:null)}else 2==a&&d.clear()}else Bl(this);delete this.wg;delete this.Nh}e=Ka(this.id);for(f=0;fa[1];a=a[2];this.Nb=!0;this.tk||(this.ca("PCjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.tk=!0);this.S&&Dl(this,this.S,b,c,a);this.vk&&(Cl(this,b),b.clear());!c&&this.tf&&(this.tf.clear(),delete this.tf)}; +function Cl(a,b){if(sa("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.fe(),d=b.toString(),e={app:"PCjs",ver:"1.15.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;qa("http://www.pcjs.org/api/v1/report",!0,e)}} +function tl(a,b,c){var d,e="none",f=new H(a,"1.15.4"),g=new H(a,"1.15.4","validate"),h=oa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.15.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.S&&a.S.Yb&&(c&&a.S.Ab(),d=a.S.Yb(b,c),"object"===typeof d&&f.set(a.S.id,d),c&&(a.S.Nb=!1,!1===d&&(e=null)));for(var h=Ka(a.id),m=0;m/g;f=g.exec(a);){var h=f[2],m=qa(h),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var h=q[0],t,s=/( [a-z]+=)(['"])(.*?)\2/g;t=s.exec(m);)h=0>h.indexOf(t[1])?h.replace(">",t[0]+">"):h.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);q[0]!=h&&(n=n.replace(q[0],h))}else throw c="missing <"+f[1]+"> in "+h, Error(c);}n=n.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(f[0],n);g.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml");else throw Error("unrecognized XML: "+ (255=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ca(a){return h(a,2)}function da(a,b){return void 0!==b?h(b,4)+":"+h(a,4):h(a)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(){return Date.now()||+new Date}function ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ka=[31,28,31,30,31,30,31,31,30,31,30,31]; -function p(a,b,c,d,e,f){b=!!b;var l=0,k=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f))});if(c){var q="",s;for(s in c)c.hasOwnProperty(s)&&(q&&(q+="&"),q+=s+"="+encodeURIComponent(c[s]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded"); -n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f),a=[l,k]);return a}function la(){return"http://"+(window?window.location.host:"www.pcjs.org")}function t(a){window?window.alert(a):console.log(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}function na(a){window&&window.localStorage.setItem("user",a)} -function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var pa={init:[],show:[],exit:[]},qa=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){pa.init.push(a)}function ta(a){if(qa)for(var b=0;b=this.ff?12:14;this.nc=1<>2;this.$a=this.nc-1;this.Xf=(this.Me+this.nc)/this.nc|0;this.Od=this.Xf-1;this.Kf=[];this.Lf=[];this.Ch();this.Oa()}y(v,Ia);Ia.prototype.Ch=function(){this.ya=Array(this.Xf);for(var a=0;a>a.Ib;0>this.Ib;0>a.Ib;0>a.Ib].Ei(b&a.$a)}function Pa(a,b){var c=b&a.$a,d=(b&a.vb)>>a.Ib;return c!=a.$a?a.ya[d].vn(c):a.ya[d++].Ei(c)|a.ya[d&a.Od].Ei(0)<<8} -function Ra(a,b,c){a.ya[(b&a.vb)>>a.Ib].Mi(b&a.$a,c&255)}function Sa(a,b,c){var d=b&a.$a;b=(b&a.vb)>>a.Ib;d!=a.$a?a.ya[b].Fn(d,c&65535):(a.ya[b++].Mi(d,c&255),a.ya[b&a.Od].Mi(0,c>>8&255))}function Ta(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},wn:function(a){var b=a>>2;a=(a&3)<<3;var c=this.la[b]>>>a;return 24>a?c&65535:c&255|(this.la[b+1]&255)<<8},Dn:function(a,b){var c=a>>2,d=(a&3)<<3;this.la[c]=this.la[c]&~(255<>2,d=(a&3)<<3;24>d?this.la[c]=this.la[c]&~(65535<>8);this.Ua=!0},save:function(){return this.ea? -null:this.la},restore:function(a){return this.ea?null===a:this.Xk==a.length<<2?(this.la=a,this.Ua=!0):!1},fe:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.vc=c[0]?c[0]:this.Bg;this.un=c[1]?c[1]:this.Bg;b&&(this.Ei=c[0]?c[0]:this.Bg,this.vn=c[1]?c[1]:this.Bg);c=a;this.xc=c[2]&&!this.ij?c[2]:this.Mg;this.En=c[3]&&!this.ij?c[3]:this.Mg;b&&(this.Mi=c[2]?c[2]:this.Mg,this.Fn=c[3]?c[3]:this.Mg)}};var Ya=[Ja.prototype.tn,Ja.prototype.wn,Ja.prototype.Dn,Ja.prototype.Gn]; -function Za(a,b){v.call(this,"CPU",a,Za);var c=a.multiplier||1;this.cd=a.cycles||b;this.xd=c;this.ng=Math.round(this.cd/1E4)/100;this.we=this.ng*this.xd;this.rc=this.zb=!1;this.jh=a.autoStart;c=va.autostart;void 0!==c&&(this.jh="true"==c?!0:"false"==c?!1:null);this.eg=!1;this.sg=this.ye=0;this.tg=a.csStart;this.hf=a.csInterval;this.jf=a.csStop;var d=this;this.xm=function(){$a(d)};this.Oa()}y(v,Za);g=Za.prototype; -g.gc=function(a,b,c,d){this.ma=b;this.Ha=d;this.Fa=a;var e=C(a,"Video");e&&(this.bf=function(){ab(e)},this.De=function(){e.De()});this.ga=C(a,"ChipSet");this.Oa()};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Sb=function(a,b){if(!b){if(a&&this.restore){bb(this);if(!this.restore(a))return!1;cb(this)}else this.reset();this.Tb("No debugger detected")}this.zb=!0;!db(this)&&this.Ha&&this.Ha.Rn();this.bf();this.af();return!0}; -g.Jb=function(a){this.zb=!1;return a&&this.save?this.save():!0};function db(a){return!0===a.jh||null===a.jh&&void 0===a.oa.run?($a(a),!0):!1}g.De=function(){};g.oj=function(){return 0};function cb(a){void 0===a.tg&&(a.tg=0);void 0===a.hf&&(a.hf=-1);void 0===a.jf&&(a.jf=-1);a.eg=0<=a.tg&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ng&&(c=Math.round(c/a.xd));return c}function bb(a){a.Lc=0;a.qg=1;a.be=a.Ad=a.bd=a.A=0;cb(a);hb(a,1)} -function hb(a,b,c){void 0!==b&&(0.8>a.Lc/a.we&&(b=1),a.xd=b,b=a.ng*a.xd,a.we!=b&&(a.we=b,b=a.we.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.Tb("target speed: "+b)),c&&a.De());ib(a,a.Ad);a.Ad=0;a.xe=ia();a.Zd=0;jb(a)} -function $a(a,b){if(Da(a,!0)){a.rc||(hb(a),a.Fa&&a.Fa.start(a.xe,kb(a)),a.rc=!0,a.ga&&lb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.De());a.xi>=a.cd&&jb(a,!0);a.nf=0;a.pg=ia();if(a.Zd){var c=a.pg-a.Zd;c>a.uj&&(a.xe+=c,a.xe>a.pg&&(a.xe=a.pg))}try{do{a.Pk(a.eg?1:Math.round(a.qm/a.qg));var d=a.bd-a.A;a.Ad+=d;a.nf+=d;ib(a,0,!0);var c=a,e=d;if(c.eg){var f=!1;c.sg=c.sg+c.oj()|0;c.ye-=e;0>=c.ye&&(c.ye+=c.hf,f=!0);0<=c.jf&&c.jf<=kb(c)&&(c.hf=c.jf=-1,cb(c),fb(c),f=!0);f&&c.Tb(kb(c)+" cycles: checksum="+ -h(c.sg))}a.lf-=d;0>=a.lf&&(a.lf+=a.yj,a.bf());a.kf-=d;0>=a.kf&&(a.kf+=a.xj,a.af());a.mf-=d;if(0>=a.mf){a.mf+=a.Jh;break}}while(a.rc)}catch(l){fb(a);a.bf();a.af();a.Fa&&a.Fa.stop(ia(),kb(a));Da(a,!1);Fa(a,l.message);return}d=setTimeout;c=a.xm;a.Zd=ia();e=a.uj;a.nf&&(e=Math.round(e*a.nf/a.Jh));e-=a.Zd-a.pg;if(f=a.Zd-a.xe)a.Lc=Math.round(a.Ad/(10*f))/100,864E5<=f&&(a.be=0,a.ga&&mb(a.ga,!0),hb(a));if(0>e||a.Lc>13;return this.eb=e}if(b&&768>=b)return this.ua=a,this.$c=c,this.kc=d,this.uc=(d&24576)>>13,this.eb=e}return-1} -function xb(a){return this.eb+a}function yb(a){return this.eb+a}function tb(a,b,c){return a+b<=this.$c?this.eb+a:vb.call(this,0,0,c)}function vb(a,b,c){c||zb.call(this.ja,13,0);return-1}function ub(a,b,c){return a+b<=this.$c?this.eb+a:wb.call(this,0,0,c)}function wb(a,b,c){c||zb.call(this.ja,13,0);return-1}ob.prototype.save=function(){return[this.ua,this.eb,this.$c,this.kc,this.uc,this.Gg]}; -ob.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.eb=a[1],this.$c=a[2],this.kc=a[3],this.uc=a[4],this.Gg=a[5])};function pb(a,b){void 0===b&&(b=!!(a.ja.ed&1));b?(a.load=sb,a.Jc=tb,a.Ob=ub):(a.load=rb,a.Jc=xb,a.Ob=yb)} -function Ab(a){this.Da=a.model||8088;var b=0;switch(this.Da){default:case 8088:b=4772727;break;case 80286:b=6E6}Za.call(this,a,b);this.Qi=61442;this.If=4;this.ze=255;this.yi=4;this.Z=5;this.na=6;this.ba=7;this.ca=8;this.P=9;this.U=11;this.V=12;this.$d=4;this.Aj=60;this.Bj=83;this.Bb=3;this.bb=9;this.Qb=16;this.wg=1;this.Fj=19;this.Hj=28;this.Jj=16;this.Ij=21;this.Gj=37;this.Dj=2;this.Rh=9;this.Ej=5;this.Cj=33;this.Th=10;this.Sh=8;this.rf=3;this.qf=15;this.Xj=51;this.Yj=1;this.Zj=2;this.$j=4;this.Wj= -32;this.bk=this.Uh=15;this.Cb=16;this.Db=4;this.dk=11;this.ck=18;this.ak=24;this.mb=4;this.ek=2;this.Vh=16;this.fk=17;this.$h=18;this.gk=19;this.Zh=5;this.ai=6;this.lk=2;this.kk=8;this.ik=9;this.ci=this.bi=this.hk=this.jk=10;this.Lj=80;this.Nj=144;this.Kj=86;this.Mj=154;this.Pj=101;this.Rj=165;this.Oj=107;this.Qj=171;this.nk=70;this.pk=113;this.mk=76;this.ok=124;this.Tj=80;this.Vj=128;this.Sj=86;this.Uj=134;this.tf=3;this.sf=16;this.hi=10;this.gi=8;this.qk=51;this.Rb=8;this.rk=17;this.sk=36;this.$b= -11;this.tk=16;this.uf=10;this.rb=2;this.Oh=18;this.Ph=9-this.rb;this.Qh=17-this.rb;this.Wh=12;this.Xh=9-this.rb;this.Yh=13-this.rb;this.di=18;this.ei=9-this.rb;this.fi=17-this.rb;this.ii=15;this.ji=9-this.rb;this.ki=15-this.rb;this.oi=11;this.pi=9-this.rb;this.qi=10-this.rb;this.uk=8;this.xk=12;this.vk=18;this.wk=17;this.yk=15;this.mi=8;this.li=20;this.ni=2;this.ti=3;this.vf=9;this.si=5;this.ri=11;this.vi=4;this.ui=17;this.zk=11;this.Ka=Bb.slice();80186<=this.Da&&(this.ze=31,this.Ka[15]=F,this.Ka[96]= -Cb,this.Ka[97]=Db,this.Ka[98]=Eb,this.Ka[99]=F,this.Ka[100]=F,this.Ka[101]=F,this.Ka[102]=F,this.Ka[103]=F,this.Ka[104]=Fb,this.Ka[105]=Gb,this.Ka[106]=Hb,this.Ka[107]=Ib,this.Ka[108]=Jb,this.Ka[109]=Kb,this.Ka[110]=Lb,this.Ka[111]=Mb,this.Ka[192]=Nb,this.Ka[193]=Ob,this.Ka[200]=Pb,this.Ka[200]=Qb,this.Ka[241]=Rb,Sb[7]=Tb,Ub[7]=Tb,80286<=this.Da&&(this.Qi=2,this.If=0,this.Ka[15]=Vb,this.Ka[99]=Wb,this.Ka[84]=Xb,this.P=this.ca=this.ba=this.na=this.Z=this.yi=0,this.V=this.U=1,this.$d=3,this.Aj=14,this.Bj= -16,this.Bb=2,this.Qb=this.bb=7,this.wg=0,this.Fj=7,this.Hj=13,this.Jj=7,this.Ij=11,this.Gj=16,this.Dj=3,this.Rh=6,this.Ej=2,this.Cj=13,this.Sh=this.Th=5,this.rf=2,this.qf=7,this.Xj=23,this.Yj=0,this.Zj=1,this.$j=3,this.Wj=17,this.Uh=7,this.bk=11,this.Cb=7,this.Db=3,this.dk=7,this.ck=11,this.ak=15,this.mb=2,this.ek=3,this.Vh=7,this.gk=this.$h=this.fk=8,this.ai=this.Zh=4,this.lk=2,this.kk=3,this.ik=5,this.jk=2,this.hk=3,this.bi=5,this.ci=3,this.Lj=14,this.Nj=22,this.Kj=17,this.Mj=25,this.Pj=17,this.Rj= -25,this.Oj=20,this.Qj=28,this.nk=13,this.pk=21,this.mk=16,this.ok=24,this.Tj=13,this.Vj=21,this.Sj=16,this.Uj=24,this.tf=2,this.sf=7,this.gi=this.hi=5,this.qk=19,this.rk=this.Rb=5,this.sk=17,this.$b=3,this.tk=5,this.uf=3,this.rb=0,this.Oh=8,this.Ph=5,this.Qh=9,this.Xh=this.Wh=5,this.Yh=4,this.ei=this.di=5,this.fi=4,this.ii=7,this.ji=5,this.ki=8,this.oi=3,this.pi=4,this.qi=3,this.xk=this.uk=11,this.wk=this.vk=15,this.yk=7,this.mi=5,this.li=8,this.ni=0,this.ti=2,this.vf=6,this.si=3,this.ri=6,this.vi= -3,this.zk=this.ui=5));this.Uk=[];this.Ri=[];this.Yg=0;this.ya=[];this.Me=this.vb=this.Ib=this.$a=this.Od=0;this.S=this.gl;this.T=this.hl;this.N=this.im;this.O=this.jm;this.Q=this.Bn;this.R=this.Cn;Yb(this)}y(Za,Ab);g=Ab.prototype;g.Ch=function(a,b,c,d,e){this.ya=a;this.Me=this.vb=b;this.Ib=c;this.$a=d;this.Od=e};g.reset=function(){this.rc&&fb(this);Yb(this);bb(this);this.Xc=!1}; -function Yb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Sc=0;a.me=1023;a.qc={zi:0,ua:0,kc:0,mg:-1};a.Ea=new ob(a,"CS");a.bc=new ob(a,"DS");a.Ub=new ob(a,"SS");a.gb=new ob(a,"ES");a.Nk=new ob(a,"ZERO");Zb(a,0,65535);80286<=a.Da&&(a.Rc=a.Le=0,a.Ce=new ob(a,"LDT",!0),a.Ig=new ob(a,"TSS",!0),a.sb=new ob(a,"VER",!0),Zb(a,65520,61440),a.Ea.eb=16711680);$b(a,0);ac(a);a.Va=0;a.nb=a.Af=-1;a.Tf=0;a.da=a.Ba=-1;a.C=a.bc;a.M=a.Ub;a.Y=a.pa=0} -g.oj=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.qa+this.Ea.ua+this.bc.ua+this.Ub.ua+this.gb.ua+bc(this)|0};function cc(a,b){var c=a.Ri[b];null!=c&&(c(--a.Yg),delete a.Ri[b])}function ac(a,b){void 0===b&&(b=!!(a.ed&1));dc=b?ec:fc;pb(a.Ea,b);pb(a.bc,b);pb(a.Ub,b);pb(a.gb,b)} -g.save=function(){var a=new G(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.qa,this.Ea.save(),this.bc.save(),this.Ub.save(),this.gb.save(),bc(this),null!=this.Rc?[this.ed,this.Rc,this.Le,this.Sc,this.me,this.Ce.save(),this.Ig.save()]:null]);a.set(2,[this.C.Gg,this.M.Gg,this.Y,this.pa,this.Va,this.da,this.Ba]);a.set(3,[this.qg,this.be,this.xd]);a.set(4,Ta(this.ma));return a.data()}; -g.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.Ea.restore(b[1]);this.bc.restore(b[2]);this.Ub.restore(b[3]);this.gb.restore(b[4]);$b(this,b[5]);var c=b[6];c&&c.length&&(this.ed=c[0],this.Rc=c[1],this.Le=c[2],this.Sc=c[3],this.me=c[4],this.Ce.restore(c[5]),this.Ig.restore(c[6]),ac(this));H(this,b[0]);b=a[2];this.C=gc(this,b[0]);this.M=gc(this,b[1]);this.Y=b[2];this.pa=b[3];this.Va=b[4];this.da=b[5];this.Ba= -b[6];b=a[3];this.qg=b[0];this.be=b[1];hb(this,b[2]);a:{b=this.ma;a=a[4];for(c=0;c>1?128:0} -function uc(a){return(a.fa^a.ha^a.fa>>1)&a.$>>1?2048:0}function vc(a){a.W&=~a.$}function wc(a){a.ha=a.fa&16|a.ha&-17}function xc(a){a.W|=a.$-1}function yc(a){a.fa&=~a.$;a.ha=a.fa&32896|a.ha&-32897}function zc(a){a.W|=a.$}function Ac(a){a.ha=~(a.fa&16)&16|a.ha&-17}function Bc(a){a.W&=~(a.$-1)}function Cc(a){tc(a)||(a.fa^=a.$>>1|a.$>>2,a.ha^=32896)}function Dc(a){a.fa|=a.$;a.ha=a.fa&32896|a.ha&-32897}function bc(a){return a.Ga&-2262|pc(a)|qc(a)|rc(a)|sc(a)|tc(a)|uc(a)} -function $b(a,b){a.$=256;a.W=a.fa=a.ha=0;b&1&&zc(a);b&4||(a.fa|=1);b&16&&(a.ha|=16);b&64||xc(a);b&128&&Cc(a);b&2048&&Dc(a);a.Ga=a.Ga&-1793|b&1792|a.Qi;a.Ga&256&&(a.Va|=2,a.Y|=4)} -g.tb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.oa[c]=d;e=!0;break;default:e=Za.prototype.tb.call(this,a,b,c,d)}return e};function Ec(a,b){return a.ya[(b&a.vb)>>a.Ib].vc(b&a.$a)} -function E(a,b){var c=b&a.$a,d=(b&a.vb)>>a.Ib;a.A-=a.yi;return c!=a.$a?a.ya[d].un(c):a.ya[d++].vc(c)|a.ya[d&a.Od].vc(0)<<8}function Fc(a,b,c){a.ya[(b&a.vb)>>a.Ib].xc(b&a.$a,c&255)}function Gc(a,b,c){var d=b&a.$a;b=(b&a.vb)>>a.Ib;a.A-=a.yi;d!=a.$a?a.ya[b].En(d,c&65535):(a.ya[b++].xc(d,c&255),a.ya[b&a.Od].xc(0,c>>8&255))}g.gl=function(a,b){this.Ef=a;this.da=a.Jc(this.wf=b,0);return this.Y&1?0:Ec(this,this.da)};g.hl=function(a,b){this.Ef=a;this.da=a.Jc(this.wf=b,1);return this.Y&1?0:E(this,this.da)}; -g.im=function(a,b){this.Ef=a;this.Ba=this.da=a.Jc(this.wf=b,0);return this.Y&1?0:Ec(this,this.da)};g.jm=function(a,b){this.Ef=a;this.Ba=this.da=a.Jc(this.wf=b,1);return this.Y&1?0:E(this,this.da)};g.Bn=function(a){this.Y&2||Fc(this,this.Ef.Ob(this.wf,1),a)};g.Cn=function(a){this.Y&2||Gc(this,this.Ef.Ob(this.wf,2),a)};g.aa=function(){var a=Ec(this,this.Ca);this.Ca=this.Ea.eb+(this.qa=this.qa+1&65535);return a}; -g.L=function(){var a=Ec(this,this.Ca)<<24>>24;this.Ca=this.Ea.eb+(this.qa=this.qa+1&65535);return a&65535};g.K=function(){var a=E(this,this.Ca);this.Ca=this.Ea.eb+(this.qa=this.qa+2&65535);return a};g.Aa=function(){var a=this.X;this.X=this.X+2&65535;return E(this,this.Ub.Jc(a,1))};function J(a,b){var c=a.X=a.X-2&65535;Gc(a,a.Ub.Ob(c,1),b)} -g.af=function(){D(this,"AX",this.G);D(this,"BX",this.B);D(this,"CX",this.I);D(this,"DX",this.J);D(this,"SP",this.X);D(this,"BP",this.H);D(this,"SI",this.F);D(this,"DI",this.D);D(this,"CS",this.Ea.ua);D(this,"DS",this.bc.ua);D(this,"SS",this.Ub.ua);D(this,"ES",this.gb.ua);D(this,"IP",this.qa);var a=bc(this);D(this,"PS",a);D(this,"C",a&1?1:0,1);D(this,"P",a&4?1:0,1);D(this,"A",a&16?1:0,1);D(this,"Z",a&64?1:0,1);D(this,"S",a&128?1:0,1);D(this,"T",a&256?1:0,1);D(this,"I",a&512?1:0,1);D(this,"D",a&1024? -1:0,1);D(this,"O",a&2048?1:0,1);this.oa.speed&&(this.oa.speed.innerHTML=this.rc&&this.Lc?this.Lc.toFixed(2)+"Mhz":"Stopped")}; -g.Pk=function(a){this.nh=!0;this.bd=this.A=a;this.ga&&mb(this.ga);a||!this.Ha||this.Ha.Pn(this.Ha.Jn)||(this.Y|=4);do{if(a=this.Y&240)this.pa|=a;else if(this.zg=this.Ca,this.da=this.Ba=-1,this.C=this.bc,this.M=this.Ub,this.pa=this.Y&256,this.Va){a:{if(!(this.Y&4))if(this.Va&1&&this.Ga&512){if(a=Hc(this.ga),-1<=a&&(this.Va&=-2,0<=a)){this.Va&=-5;Ic.call(this,a,null,11);break a}}else if(this.Va&2){this.Va&=-3;Ic.call(this,1,null,11);break a}if(a=this.Va&8){a=this.ga;for(var b=!1,c=0;cthis.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a+b)&255} -function Lc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a|b)&255}function Mc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&255}function Nc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&255} -function Oc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a&b)&255}function Pc(a,b){this.ha=a^b;this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a-b)&255}function Qc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a^b)&255}function Rc(a,b){this.ha=a^b;this.$=256;this.W=this.fa=a-b;this.A-=0>this.Ba?0>this.da?this.Bb:this.Rh:this.bb;this.Y|=2;return a} -function Sc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a+b)&65535}function Tc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a|b)&65535}function Uc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&65535} -function Vc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&65535}function Wc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a&b)&65535}function Xc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a-b)&65535} -function Yc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a^b)&65535}function Zc(a,b){this.ha=a^b;this.$=65536;this.W=this.fa=a-b;this.A-=0>this.Ba?0>this.da?this.Bb:this.Rh:this.bb;this.Y|=2;return a}function $c(a,b){this.W=this.W&this.$-1|(a&b?this.$:0);(a^a>>1)&b>>1?Dc(this):yc(this)}function ad(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;$c.call(this,d,256)}return c} -function bd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;$c.call(this,d,65536)}return c}function cd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);$c.call(this,d,256)}return c}function dd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);$c.call(this,d,65536)}return c}function ed(a,b){var c=a;if(b){var d;(d=(b&this.ze)%9)?(d=a<>9-d,c=d&255):d=a|(this.W&this.$?1:0)<<8;$c.call(this,d,256)}return c} -function fd(a,b){var c=a;if(b){var d;(d=(b&this.ze)%17)?(d=a<>17-d,c=d&65535):d=a|(this.W&this.$?1:0)<<16;$c.call(this,d,65536)}return c}function jd(a,b){var c=a;b&&(c=(b&this.ze)%9,c=a>>c|(this.W&this.$?1:0)<<8-c|a<<9-c,$c.call(this,c,256),c&=255);return c}function kd(a,b){var c=a;b&&(c=(b&this.ze)%17,c=a>>c|(this.W&this.$?1:0)<<16-c|a<<17-c,$c.call(this,c,65536),c&=65535);return c} -function ld(a,b){var c=a;b&&(c=8>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255} -function od(a,b){if(b){var c=16>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535}function pd(a,b){if(b){8>24>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255}function qd(a,b){if(b){16>16>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535} -function rd(){this.A-=0>this.da?2:this.yk;return 1}function sd(){var a=this.I&this.ze;this.A-=(0>this.da?this.mi:this.li)+(a<this.da?this.mi:this.li)+(a<this.Ba?this.Rb:this.rk;return b},vd,vd,vd,vd,vd,vd,vd],zd=[function(a,b){this.A-=0>this.Ba?this.jk:this.hk;return b},K,K,K,K,K,K,K],Ad=[ad,cd,ed,jd,ld,nd,K,pd],Bd=[bd,dd,fd,kd,md,od,K,qd],Dd=[function(a,b){b=this.aa();this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.da?this.si:this.ri;this.Y|=2;return a},K,function(a){this.A-=0>this.da?this.tf:this.sf;return a^255},function(a,b){b=0;this.ha=a^b;this.$=256; -this.A-=0>this.da?this.tf:this.sf;return(this.W=this.fa=b-a)&255},function(a){this.G=this.nb=(this.W=(this.G&255)*a)&65535;this.ha=this.fa=this.W;this.$=256;this.G&65280?(zc(this),Dc(this)):(vc(this),yc(this));this.A-=0>this.da?this.nk:this.mk;this.Y|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.nb=b&65535;this.W=this.ha=this.fa=b;this.$=256;127b?(zc(this),Dc(this)):(vc(this),yc(this));this.A-=0>this.da?this.Tj:this.Sj;this.Y|=2;return a},function(a){if(!a)return Cd.call(this), -a;var b=this.G/a;if(255this.da?this.Lj:this.Kj;this.Y|=2;return a},function(a){if(!a)return Cd.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Cd.call(this),a;this.nb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.fa=this.ha=this.W=b|256;this.$=256;this.A-=0>this.da?this.Pj:this.Oj;this.Y|=2;return a}],Ed=[function(a,b){b=this.K();this.W=this.fa=this.ha= -a&b;this.$=65536;this.A-=0>this.da?this.si:this.ri;this.Y|=2;return a},K,function(a){this.A-=0>this.da?this.tf:this.sf;return a^65535},function(a,b){b=0;this.ha=a^b;this.$=65536;this.A-=0>this.da?this.tf:this.sf;return(this.W=this.fa=b-a)&65535},function(a){this.nb=this.G=(this.W=this.G*a)&65535;this.Af=this.J=this.W>>16&65535;this.ha=this.fa=this.W;this.$=65536;this.J?(zc(this),Dc(this)):(vc(this),yc(this));this.A-=0>this.da?this.pk:this.ok;this.Y|=2;return a},function(a){var b=(this.G<<16>>16)* -(a<<16>>16);this.G=this.nb=b&65535;this.J=this.Af=b>>16&65535;this.W=this.ha=this.fa=b;this.$=65536;32767b?(zc(this),Dc(this)):(vc(this),yc(this));this.A-=0>this.da?this.Vj:this.Uj;this.Y|=2;return a},function(a,b){if(!a)return Cd.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Cd.call(this),a;this.nb=this.G=c&65535;this.Af=this.J=b%a&65535;this.fa=this.ha=this.W=c|65536;this.$=65536;this.A-=0>this.da?this.Nj:this.Mj;this.Y|=2;return a},function(a,b){if(!a)return Cd.call(this), -a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Cd.call(this),a;this.nb=this.G=d&65535;this.Af=this.J=b%c&65535;this.fa=this.ha=this.W=d|65536;this.$=65536;this.A-=0>this.da?this.Rj:this.Qj;this.Y|=2;return a}],Sb=[function(a){this.ha=a;a=(this.fa=a+1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.rf:this.qf;return a},function(a){this.ha=a;a=(this.fa=a-1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.rf:this.qf; -return a},K,K,K,K,K,K],Ub=[function(a){this.ha=a;a=(this.fa=a+1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.rf:this.qf;return a},function(a){this.ha=a;a=(this.fa=a-1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.rf:this.qf;return a},function(a){J(this,this.qa);H(this,a);this.A-=0>this.da?this.Jj:this.Ij;this.Y|=2;return a},function(a){if(0>this.da)return K.call(this,a);J(this,this.Ea.ua);J(this,this.qa);Zb(this,a,E(this,this.da+2));this.A-= -this.Gj;this.Y|=2;return a},function(a){H(this,a);this.A-=0>this.da?this.dk:this.ck;this.Y|=2;return a},function(a){if(0>this.da)return K.call(this,a);Zb(this,a,E(this,this.da+2));this.A-=this.ak;this.Y|=2;return a},function(a){var b=a;this.Y&512&&(a=a-2&65535,80286>this.Da&&(b=a));J(this,b);this.A-=0>this.da?this.$b:this.tk;this.Y|=2;return a},vd],Fd=[ad,cd,ed,jd,ld,nd,K,pd],Gd=[bd,dd,fd,kd,md,od,K,qd];function Hd(a,b){this.A-=0>this.Ba?0>this.da?this.lk:this.kk:this.ik;return b} -function Id(){return Hd.call(this,0,this.nb)}function Jd(a,b){this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.Ba?0>this.da?this.ti:this.vf:this.vf;this.Y|=2;return a}function Kd(a,b){this.W=this.fa=this.ha=a&b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.ti:this.vf:this.vf;this.Y|=2;return a}function Ld(a,b){var c=(b<<16>>16)*(this.aa()<<24>>24);this.W=this.ha=this.fa=c;this.$=256;32767c?(zc(this),Dc(this)):(vc(this),yc(this));this.A-=0>this.da?21:24;return c&65535} -function Md(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.W=this.ha=this.fa=c;this.$=65536;32767c?(zc(this),Dc(this)):(vc(this),yc(this));this.A-=0>this.da?21:24;return c&65535}function Nd(a){return a}function Od(a){if(0>this.da)return M.call(this),a;this.A-=this.ek;return this.da}function Pd(a,b){if(0>this.da)return M.call(this),a;mc(this,E(this,this.da+2));this.A-=this.Vh;return b} -function Qd(a,b){if(0>this.da)return M.call(this),a;oc(this,E(this,this.da+2));this.A-=this.Vh;return b}function Rd(a){if(0>this.da)return F.call(this),a;var b=a<<16>>16,c=E(this,this.da)<<16>>16,d=E(this,this.da+2)<<16>>16;this.A-=this.Cj;if(bd)H(this,this.zg-this.Ea.eb),Ic.call(this,5,null,0);this.Y|=2;return a}function Sd(a,b){this.A-=10+(0>this.da?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bc(this),a;xc(this);return a} -function Td(a,b){this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(b,!0)&&this.sb.uc>=(this.Ea.ua&3)&&this.sb.uc>=(b&3))return Bc(this),this.sb.kc&65280;xc(this);return a}function Ud(a,b){this.A-=14+(0>this.da?0:2);if(b&65528&&0<=this.sb.load(b,!0)&&(3072==(this.sb.kc&3072)||this.sb.uc>=(this.Ea.ua&3))&&this.sb.uc>=(b&3))return Bc(this),this.sb.$c;xc(this);return a} -function Vd(a,b){if(0>this.da){switch(this.Tf&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.B=this.B&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.B=this.B&255|a<<8}this.A-=this.vi}else this.Ba=this.da,this.Q(a),this.A-=this.ui;return b} -function Wd(a,b){if(0>this.da){switch(this.Tf&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.X=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.vi}else this.Ba=this.da,this.R(a),this.A-=this.ui;return b}function Ic(a,b,c){hc(this,a)&&(J(this,bc(this)),this.Ga&=this.qc.mg,J(this,this.Ea.ua),J(this,this.qa),null!=b&&J(this,b),Zb(this,this.qc.zi,this.qc.ua),this.A-=this.Xj+c)} -function Cd(){H(this,this.zg-this.Ea.eb);Ic.call(this,0,null,2)}function zb(a,b){this.Ha&&this.Ha.message("Fault 0x"+ca(a)+(null!=b?" (0x"+h(b,4)+")":"")+" on opcode 0x"+ca(Oa(this.ma,this.Ca))+" at "+da(this.qa,this.Ea.ua));80186<=this.Da&&(H(this,this.zg-this.Ea.eb),Ic.call(this,a,b,0))}function F(){zb.call(this,6);fb(this)}function M(){H(this,this.zg-this.Ea.eb);Fa(this,"Undefined opcode 0x"+ca(Oa(this.ma,this.Ca))+" at "+da(this.qa,this.Ea.ua));fb(this)} -function Xd(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function Yd(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function Zd(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function $d(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function ae(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function be(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a} -function ce(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function de(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function ee(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function fe(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function ge(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function he(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a} -function ie(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function je(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function ke(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function le(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function me(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function ne(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a} -function oe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function pe(a){a=a.call(this,this.J&255,this.B&255);this.J=this.J&-256|a}function qe(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a}function re(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a}function se(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function te(a){a=a.call(this,this.J&255,this.B>>8);this.J=this.J&-256|a} -function ue(a){a=a.call(this,this.B&255,this.G&255);this.B=this.B&-256|a}function ve(a){a=a.call(this,this.B&255,this.I&255);this.B=this.B&-256|a}function we(a){a=a.call(this,this.B&255,this.J&255);this.B=this.B&-256|a}function xe(a){a=a.call(this,this.B&255,this.B&255);this.B=this.B&-256|a}function ye(a){a=a.call(this,this.B&255,this.G>>8);this.B=this.B&-256|a}function ze(a){a=a.call(this,this.B&255,this.I>>8);this.B=this.B&-256|a} -function Ae(a){a=a.call(this,this.B&255,this.J>>8);this.B=this.B&-256|a}function Be(a){a=a.call(this,this.B&255,this.B>>8);this.B=this.B&-256|a}function Ce(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8}function De(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8}function Ee(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8}function Fe(a){a=a.call(this,this.G>>8,this.B&255);this.G=this.G&255|a<<8} -function Ge(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8}function He(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8}function Ie(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}function Je(a){a=a.call(this,this.G>>8,this.B>>8);this.G=this.G&255|a<<8}function Ke(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8}function Le(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8} -function Me(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}function Ne(a){a=a.call(this,this.I>>8,this.B&255);this.I=this.I&255|a<<8}function Oe(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8}function Pe(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}function Qe(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8}function Re(a){a=a.call(this,this.I>>8,this.B>>8);this.I=this.I&255|a<<8} -function Se(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8}function Te(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8}function Ue(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function Ve(a){a=a.call(this,this.J>>8,this.B&255);this.J=this.J&255|a<<8}function We(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}function Xe(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8} -function Ye(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function Ze(a){a=a.call(this,this.J>>8,this.B>>8);this.J=this.J&255|a<<8}function $e(a){a=a.call(this,this.B>>8,this.G&255);this.B=this.B&255|a<<8}function af(a){a=a.call(this,this.B>>8,this.I&255);this.B=this.B&255|a<<8}function bf(a){a=a.call(this,this.B>>8,this.J&255);this.B=this.B&255|a<<8}function cf(a){a=a.call(this,this.B>>8,this.B&255);this.B=this.B&255|a<<8} -function df(a){a=a.call(this,this.B>>8,this.G>>8);this.B=this.B&255|a<<8}function ef(a){a=a.call(this,this.B>>8,this.I>>8);this.B=this.B&255|a<<8}function ff(a){a=a.call(this,this.B>>8,this.J>>8);this.B=this.B&255|a<<8}function gf(a){a=a.call(this,this.B>>8,this.B>>8);this.B=this.B&255|a<<8}function hf(a){this.G=a.call(this,this.G,this.G)}function jf(a){this.G=a.call(this,this.G,this.I)}function kf(a){this.G=a.call(this,this.G,this.J)}function lf(a){this.G=a.call(this,this.G,this.B)} -function mf(a){this.G=a.call(this,this.G,this.X)}function nf(a){this.G=a.call(this,this.G,this.H)}function of(a){this.G=a.call(this,this.G,this.F)}function pf(a){this.G=a.call(this,this.G,this.D)}function qf(a){this.I=a.call(this,this.I,this.G)}function rf(a){this.I=a.call(this,this.I,this.I)}function sf(a){this.I=a.call(this,this.I,this.J)}function tf(a){this.I=a.call(this,this.I,this.B)}function uf(a){this.I=a.call(this,this.I,this.X)}function vf(a){this.I=a.call(this,this.I,this.H)} -function wf(a){this.I=a.call(this,this.I,this.F)}function xf(a){this.I=a.call(this,this.I,this.D)}function yf(a){this.J=a.call(this,this.J,this.G)}function zf(a){this.J=a.call(this,this.J,this.I)}function Af(a){this.J=a.call(this,this.J,this.J)}function Bf(a){this.J=a.call(this,this.J,this.B)}function Cf(a){this.J=a.call(this,this.J,this.X)}function Df(a){this.J=a.call(this,this.J,this.H)}function Ef(a){this.J=a.call(this,this.J,this.F)}function Ff(a){this.J=a.call(this,this.J,this.D)} -function Gf(a){this.B=a.call(this,this.B,this.G)}function Hf(a){this.B=a.call(this,this.B,this.I)}function If(a){this.B=a.call(this,this.B,this.J)}function Jf(a){this.B=a.call(this,this.B,this.B)}function Kf(a){this.B=a.call(this,this.B,this.X)}function Lf(a){this.B=a.call(this,this.B,this.H)}function Mf(a){this.B=a.call(this,this.B,this.F)}function Nf(a){this.B=a.call(this,this.B,this.D)}function Of(a){this.X=a.call(this,this.X,this.G)}function Pf(a){this.X=a.call(this,this.X,this.I)} -function Qf(a){this.X=a.call(this,this.X,this.J)}function Rf(a){this.X=a.call(this,this.X,this.B)}function Sf(a){this.X=a.call(this,this.X,this.X)}function Tf(a){this.X=a.call(this,this.X,this.H)}function Uf(a){this.X=a.call(this,this.X,this.F)}function Vf(a){this.X=a.call(this,this.X,this.D)}function Wf(a){this.H=a.call(this,this.H,this.G)}function Xf(a){this.H=a.call(this,this.H,this.I)}function Yf(a){this.H=a.call(this,this.H,this.J)}function Zf(a){this.H=a.call(this,this.H,this.B)} -function $f(a){this.H=a.call(this,this.H,this.X)}function ag(a){this.H=a.call(this,this.H,this.H)}function bg(a){this.H=a.call(this,this.H,this.F)}function cg(a){this.H=a.call(this,this.H,this.D)}function dg(a){this.F=a.call(this,this.F,this.G)}function eg(a){this.F=a.call(this,this.F,this.I)}function fg(a){this.F=a.call(this,this.F,this.J)}function gg(a){this.F=a.call(this,this.F,this.B)}function hg(a){this.F=a.call(this,this.F,this.X)}function ig(a){this.F=a.call(this,this.F,this.H)} -function jg(a){this.F=a.call(this,this.F,this.F)}function kg(a){this.F=a.call(this,this.F,this.D)}function lg(a){this.D=a.call(this,this.D,this.G)}function mg(a){this.D=a.call(this,this.D,this.I)}function ng(a){this.D=a.call(this,this.D,this.J)}function og(a){this.D=a.call(this,this.D,this.B)}function pg(a){this.D=a.call(this,this.D,this.X)}function qg(a){this.D=a.call(this,this.D,this.H)}function rg(a){this.D=a.call(this,this.D,this.F)}function sg(a){this.D=a.call(this,this.D,this.D)} -var tg=[function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.G&255);this.Q(a);this.A-=this.Z},function(a){a= +(function(){var g,ca,h;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function da(a){return p(a,2)}function ea(a,b){return void 0!==b?p(b,4)+":"+p(a,4):p(a)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0":">",'"':""","'":"'"};function ia(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function ja(){return Date.now()||+new Date}function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var la=[31,28,31,30,31,30,31,31,30,31,30,31]; +function t(a,b,c,d,e,f){b=!!b;var l=0,k=null,m=fa(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f))});if(c){var q="",s;for(s in c)c.hasOwnProperty(s)&&(q&&(q+="&"),q+=s+"="+encodeURIComponent(c[s]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded"); +n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f),a=[l,k]);return a}function ma(){return"http://"+(window?window.location.host:"www.pcjs.org")}function u(a){window?window.alert(a):console.log(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}function oa(a){window&&window.localStorage.setItem("user",a)} +function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var qa={init:[],show:[],exit:[]},ra=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){qa.init.push(a)}function ua(a){if(ra)for(var b=0;b=this.hf?12:14;this.mc=1<>2;this.eb=this.mc-1;this.Zf=(this.Oe+this.mc)/this.mc|0;this.Pd=this.Zf-1;this.Mf=[];this.Nf=[];this.Ih();this.Pa()}z(w,Ja);Ja.prototype.Ih=function(){this.ya=Array(this.Zf);for(var a=0;a>a.Ib;0>this.Ib;0>a.Ib;0>a.Ib].Ki(b&a.eb)}function Qa(a,b){var c=b&a.eb,d=(b&a.vb)>>a.Ib;return c!=a.eb?a.ya[d].Bn(c):a.ya[d++].Ki(c)|a.ya[d&a.Pd].Ki(0)<<8} +function Sa(a,b,c){a.ya[(b&a.vb)>>a.Ib].Si(b&a.eb,c&255)}function Ta(a,b,c){var d=b&a.eb;b=(b&a.vb)>>a.Ib;d!=a.eb?a.ya[b].Ln(d,c&65535):(a.ya[b++].Si(d,c&255),a.ya[b&a.Pd].Si(0,c>>8&255))}function Ua(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},Cn:function(a){var b=a>>2;a=(a&3)<<3;var c=this.la[b]>>>a;return 24>a?c&65535:c&255|(this.la[b+1]&255)<<8},Jn:function(a,b){var c=a>>2,d=(a&3)<<3;this.la[c]=this.la[c]&~(255<>2,d=(a&3)<<3;24>d?this.la[c]=this.la[c]&~(65535<>8);this.Xa=!0},save:function(){return this.ea? +null:this.la},restore:function(a){return this.ea?null===a:this.cl==a.length<<2?(this.la=a,this.Xa=!0):!1},fe:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.uc=c[0]?c[0]:this.Eg;this.An=c[1]?c[1]:this.Eg;b&&(this.Ki=c[0]?c[0]:this.Eg,this.Bn=c[1]?c[1]:this.Eg);c=a;this.wc=c[2]&&!this.oj?c[2]:this.Pg;this.Kn=c[3]&&!this.oj?c[3]:this.Pg;b&&(this.Si=c[2]?c[2]:this.Pg,this.Ln=c[3]?c[3]:this.Pg)}};var Za=[Ka.prototype.zn,Ka.prototype.Cn,Ka.prototype.Jn,Ka.prototype.Mn]; +function $a(a,b){w.call(this,"CPU",a,$a);var c=a.multiplier||1;this.cd=a.cycles||b;this.yd=c;this.qg=Math.round(this.cd/1E4)/100;this.we=this.qg*this.yd;this.qc=this.zb=!1;this.ph=a.autoStart;c=wa.autostart;void 0!==c&&(this.ph="true"==c?!0:"false"==c?!1:null);this.gg=!1;this.vg=this.ye=0;this.wg=a.csStart;this.kf=a.csInterval;this.lf=a.csStop;var d=this;this.Dm=function(){ab(d)};this.Pa()}z(w,$a);g=$a.prototype; +g.gc=function(a,b,c,d){this.ma=b;this.Ja=d;this.Ga=a;var e=D(a,"Video");e&&(this.df=function(){bb(e)},this.Ee=function(){e.Ee()});this.ga=D(a,"ChipSet");this.Pa()};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Rb=function(a,b){if(!b){if(a&&this.restore){cb(this);if(!this.restore(a))return!1;db(this)}else this.reset();this.Sb("No debugger detected")}this.zb=!0;!eb(this)&&this.Ja&&this.Ja.to();this.df();this.cf();return!0}; +g.Jb=function(a){this.zb=!1;return a&&this.save?this.save():!0};function eb(a){return!0===a.ph||null===a.ph&&void 0===a.oa.run?(ab(a),!0):!1}g.Ee=function(){};g.tj=function(){return 0};function db(a){void 0===a.wg&&(a.wg=0);void 0===a.kf&&(a.kf=-1);void 0===a.lf&&(a.lf=-1);a.gg=0<=a.wg&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.qg&&(c=Math.round(c/a.yd));return c}function cb(a){a.Kc=0;a.tg=1;a.be=a.Bd=a.bd=a.A=0;db(a);ib(a,1)} +function ib(a,b,c){void 0!==b&&(0.8>a.Kc/a.we&&(b=1),a.yd=b,b=a.qg*a.yd,a.we!=b&&(a.we=b,b=a.we.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.Sb("target speed: "+b)),c&&a.Ee());jb(a,a.Bd);a.Bd=0;a.xe=ja();a.Zd=0;kb(a)} +function ab(a,b){if(Ea(a,!0)){a.qc||(ib(a),a.Ga&&a.Ga.start(a.xe,lb(a)),a.qc=!0,a.ga&&mb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Ee());a.Di>=a.cd&&kb(a,!0);a.pf=0;a.sg=ja();if(a.Zd){var c=a.sg-a.Zd;c>a.zj&&(a.xe+=c,a.xe>a.sg&&(a.xe=a.sg))}try{do{a.Uk(a.gg?1:Math.round(a.wm/a.tg));var d=a.bd-a.A;a.Bd+=d;a.pf+=d;jb(a,0,!0);var c=a,e=d;if(c.gg){var f=!1;c.vg=c.vg+c.tj()|0;c.ye-=e;0>=c.ye&&(c.ye+=c.kf,f=!0);0<=c.lf&&c.lf<=lb(c)&&(c.kf=c.lf=-1,db(c),fb(c),f=!0);f&&c.Sb(lb(c)+" cycles: checksum="+ +p(c.vg))}a.nf-=d;0>=a.nf&&(a.nf+=a.Dj,a.df());a.mf-=d;0>=a.mf&&(a.mf+=a.Cj,a.cf());a.of-=d;if(0>=a.of){a.of+=a.Ph;break}}while(a.qc)}catch(l){fb(a);a.df();a.cf();a.Ga&&a.Ga.stop(ja(),lb(a));Ea(a,!1);Ga(a,l.message);return}d=setTimeout;c=a.Dm;a.Zd=ja();e=a.zj;a.pf&&(e=Math.round(e*a.pf/a.Ph));e-=a.Zd-a.sg;if(f=a.Zd-a.xe)a.Kc=Math.round(a.Bd/(10*f))/100,864E5<=f&&(a.be=0,a.ga&&nb(a.ga,!0),ib(a));if(0>e||a.Kc>13;return this.gb=e}if(b&&768>=b)return this.ua=a,this.$c=c,this.kc=d,this.tc=(d&24576)>>13,this.gb=e}return-1} +function yb(a){return this.gb+a}function zb(a){return this.gb+a}function ub(a,b,c){return a+b<=this.$c?this.gb+a:wb.call(this,0,0,c)}function wb(a,b,c){c||Ab.call(this.ia,13,0);return-1}function vb(a,b,c){return a+b<=this.$c?this.gb+a:xb.call(this,0,0,c)}function xb(a,b,c){c||Ab.call(this.ia,13,0);return-1}pb.prototype.save=function(){return[this.ua,this.gb,this.$c,this.kc,this.tc,this.Jg]}; +pb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.gb=a[1],this.$c=a[2],this.kc=a[3],this.tc=a[4],this.Jg=a[5])};function qb(a,b){void 0===b&&(b=!!(a.ia.ed&1));b?(a.load=sb,a.Ic=ub,a.Nb=vb):(a.load=rb,a.Ic=yb,a.Nb=zb)} +function Bb(a){this.Da=a.model||8088;var b=0;switch(this.Da){default:case 8088:b=4772727;break;case 80286:b=6E6}$a.call(this,a,b);this.Wi=61442;this.Kf=4;this.ze=255;this.Ei=4;this.Z=5;this.na=6;this.ba=7;this.ca=8;this.P=9;this.U=11;this.V=12;this.$d=4;this.Fj=60;this.Gj=83;this.Bb=3;this.fb=9;this.Pb=16;this.zg=1;this.Kj=19;this.Mj=28;this.Oj=16;this.Nj=21;this.Lj=37;this.Ij=2;this.Xh=9;this.Jj=5;this.Hj=33;this.Zh=10;this.Yh=8;this.tf=3;this.sf=15;this.bk=51;this.ck=1;this.dk=2;this.ek=4;this.ak= +32;this.gk=this.$h=15;this.Cb=16;this.Db=4;this.ik=11;this.hk=18;this.fk=24;this.mb=4;this.jk=2;this.ai=16;this.kk=17;this.fi=18;this.lk=19;this.ei=5;this.gi=6;this.qk=2;this.pk=8;this.nk=9;this.ii=this.hi=this.mk=this.ok=10;this.Qj=80;this.Sj=144;this.Pj=86;this.Rj=154;this.Uj=101;this.Wj=165;this.Tj=107;this.Vj=171;this.sk=70;this.uk=113;this.rk=76;this.tk=124;this.Yj=80;this.$j=128;this.Xj=86;this.Zj=134;this.vf=3;this.uf=16;this.ni=10;this.mi=8;this.vk=51;this.Qb=8;this.wk=17;this.xk=36;this.Zb= +11;this.yk=16;this.wf=10;this.rb=2;this.Uh=18;this.Vh=9-this.rb;this.Wh=17-this.rb;this.bi=12;this.ci=9-this.rb;this.di=13-this.rb;this.ji=18;this.ki=9-this.rb;this.li=17-this.rb;this.oi=15;this.pi=9-this.rb;this.qi=15-this.rb;this.ui=11;this.vi=9-this.rb;this.wi=10-this.rb;this.zk=8;this.Ck=12;this.Ak=18;this.Bk=17;this.Dk=15;this.si=8;this.ri=20;this.ti=2;this.zi=3;this.xf=9;this.yi=5;this.xi=11;this.Bi=4;this.Ai=17;this.Ek=11;this.Na=Cb.slice();80186<=this.Da&&(this.ze=31,this.Na[15]=G,this.Na[96]= +Db,this.Na[97]=Eb,this.Na[98]=Fb,this.Na[99]=G,this.Na[100]=G,this.Na[101]=G,this.Na[102]=G,this.Na[103]=G,this.Na[104]=Gb,this.Na[105]=Hb,this.Na[106]=Ib,this.Na[107]=Jb,this.Na[108]=Kb,this.Na[109]=Lb,this.Na[110]=Mb,this.Na[111]=Nb,this.Na[192]=Ob,this.Na[193]=Pb,this.Na[200]=Qb,this.Na[201]=Rb,this.Na[241]=Sb,Tb[7]=Ub,Vb[7]=Ub,80286<=this.Da&&(this.Wi=2,this.Kf=0,this.Na[15]=Wb,this.Na[99]=Xb,this.Na[84]=Yb,this.P=this.ca=this.ba=this.na=this.Z=this.Ei=0,this.V=this.U=1,this.$d=3,this.Fj=14,this.Gj= +16,this.Bb=2,this.Pb=this.fb=7,this.zg=0,this.Kj=7,this.Mj=13,this.Oj=7,this.Nj=11,this.Lj=16,this.Ij=3,this.Xh=6,this.Jj=2,this.Hj=13,this.Yh=this.Zh=5,this.tf=2,this.sf=7,this.bk=23,this.ck=0,this.dk=1,this.ek=3,this.ak=17,this.$h=7,this.gk=11,this.Cb=7,this.Db=3,this.ik=7,this.hk=11,this.fk=15,this.mb=2,this.jk=3,this.ai=7,this.lk=this.fi=this.kk=8,this.gi=this.ei=4,this.qk=2,this.pk=3,this.nk=5,this.ok=2,this.mk=3,this.hi=5,this.ii=3,this.Qj=14,this.Sj=22,this.Pj=17,this.Rj=25,this.Uj=17,this.Wj= +25,this.Tj=20,this.Vj=28,this.sk=13,this.uk=21,this.rk=16,this.tk=24,this.Yj=13,this.$j=21,this.Xj=16,this.Zj=24,this.vf=2,this.uf=7,this.mi=this.ni=5,this.vk=19,this.wk=this.Qb=5,this.xk=17,this.Zb=3,this.yk=5,this.wf=3,this.rb=0,this.Uh=8,this.Vh=5,this.Wh=9,this.ci=this.bi=5,this.di=4,this.ki=this.ji=5,this.li=4,this.oi=7,this.pi=5,this.qi=8,this.ui=3,this.vi=4,this.wi=3,this.Ck=this.zk=11,this.Bk=this.Ak=15,this.Dk=7,this.si=5,this.ri=8,this.ti=0,this.zi=2,this.xf=6,this.yi=3,this.xi=6,this.Bi= +3,this.Ek=this.Ai=5));this.$k=[];this.Xi=[];this.eh=0;this.ya=[];this.Oe=this.vb=this.Ib=this.eb=this.Pd=0;this.S=this.ml;this.T=this.nl;this.N=this.om;this.O=this.pm;this.Q=this.Hn;this.R=this.In;Zb(this)}z($a,Bb);g=Bb.prototype;g.Ih=function(a,b,c,d,e){this.ya=a;this.Oe=this.vb=b;this.Ib=c;this.eb=d;this.Pd=e};g.reset=function(){this.qc&&fb(this);Zb(this);cb(this);this.Xc=!1}; +function Zb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Rc=0;a.me=1023;a.pc={Fi:0,ua:0,kc:0,pg:-1};a.Ea=new pb(a,"CS");a.ac=new pb(a,"DS");a.Tb=new pb(a,"SS");a.ib=new pb(a,"ES");a.Sk=new pb(a,"ZERO");$b(a,0,65535);80286<=a.Da&&(a.Qc=a.Ne=0,a.De=new pb(a,"LDT",!0),a.Lg=new pb(a,"TSS",!0),a.sb=new pb(a,"VER",!0),$b(a,65520,61440),a.Ea.gb=16711680);ac(a,0);bc(a);a.Ya=0;a.nb=a.Bf=-1;a.Vf=0;a.da=a.Ba=-1;a.C=a.ac;a.M=a.Tb;a.Y=a.pa=0} +g.tj=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.qa+this.Ea.ua+this.ac.ua+this.Tb.ua+this.ib.ua+cc(this)|0};function dc(a,b){var c=a.Xi[b];null!=c&&(c(--a.eh),delete a.Xi[b])}function bc(a,b){void 0===b&&(b=!!(a.ed&1));ec=b?fc:gc;qb(a.Ea,b);qb(a.ac,b);qb(a.Tb,b);qb(a.ib,b)} +g.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.qa,this.Ea.save(),this.ac.save(),this.Tb.save(),this.ib.save(),cc(this),null!=this.Qc?[this.ed,this.Qc,this.Ne,this.Rc,this.me,this.De.save(),this.Lg.save()]:null]);a.set(2,[this.C.Jg,this.M.Jg,this.Y,this.pa,this.Ya,this.da,this.Ba]);a.set(3,[this.tg,this.be,this.yd]);a.set(4,Ua(this.ma));return a.data()}; +g.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.Ea.restore(b[1]);this.ac.restore(b[2]);this.Tb.restore(b[3]);this.ib.restore(b[4]);ac(this,b[5]);var c=b[6];c&&c.length&&(this.ed=c[0],this.Qc=c[1],this.Ne=c[2],this.Rc=c[3],this.me=c[4],this.De.restore(c[5]),this.Lg.restore(c[6]),bc(this));I(this,b[0]);b=a[2];this.C=hc(this,b[0]);this.M=hc(this,b[1]);this.Y=b[2];this.pa=b[3];this.Ya=b[4];this.da=b[5];this.Ba= +b[6];b=a[3];this.tg=b[0];this.be=b[1];ib(this,b[2]);a:{b=this.ma;a=a[4];for(c=0;c>1?128:0} +function vc(a){return(a.fa^a.ha^a.fa>>1)&a.$>>1?2048:0}function wc(a){a.W&=~a.$}function xc(a){a.ha=a.fa&16|a.ha&-17}function yc(a){a.W|=a.$-1}function zc(a){a.fa&=~a.$;a.ha=a.fa&32896|a.ha&-32897}function Ac(a){a.W|=a.$}function Bc(a){a.ha=~(a.fa&16)&16|a.ha&-17}function Cc(a){a.W&=~(a.$-1)}function Dc(a){uc(a)||(a.fa^=a.$>>1|a.$>>2,a.ha^=32896)}function Ec(a){a.fa|=a.$;a.ha=a.fa&32896|a.ha&-32897}function cc(a){return a.Ia&-2262|qc(a)|rc(a)|sc(a)|tc(a)|uc(a)|vc(a)} +function ac(a,b){a.$=256;a.W=a.fa=a.ha=0;b&1&&Ac(a);b&4||(a.fa|=1);b&16&&(a.ha|=16);b&64||yc(a);b&128&&Dc(a);b&2048&&Ec(a);a.Ia=a.Ia&-1793|b&1792|a.Wi;a.Ia&256&&(a.Ya|=2,a.Y|=4)} +g.tb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.oa[c]=d;e=!0;break;default:e=$a.prototype.tb.call(this,a,b,c,d)}return e};function Fc(a,b){return a.ya[(b&a.vb)>>a.Ib].uc(b&a.eb)} +function F(a,b){var c=b&a.eb,d=(b&a.vb)>>a.Ib;a.A-=a.Ei;return c!=a.eb?a.ya[d].An(c):a.ya[d++].uc(c)|a.ya[d&a.Pd].uc(0)<<8}function Gc(a,b,c){a.ya[(b&a.vb)>>a.Ib].wc(b&a.eb,c&255)}function Hc(a,b,c){var d=b&a.eb;b=(b&a.vb)>>a.Ib;a.A-=a.Ei;d!=a.eb?a.ya[b].Kn(d,c&65535):(a.ya[b++].wc(d,c&255),a.ya[b&a.Pd].wc(0,c>>8&255))}g.ml=function(a,b){this.Ff=a;this.da=a.Ic(this.yf=b,0);return this.Y&1?0:Fc(this,this.da)};g.nl=function(a,b){this.Ff=a;this.da=a.Ic(this.yf=b,1);return this.Y&1?0:F(this,this.da)}; +g.om=function(a,b){this.Ff=a;this.Ba=this.da=a.Ic(this.yf=b,0);return this.Y&1?0:Fc(this,this.da)};g.pm=function(a,b){this.Ff=a;this.Ba=this.da=a.Ic(this.yf=b,1);return this.Y&1?0:F(this,this.da)};g.Hn=function(a){this.Y&2||Gc(this,this.Ff.Nb(this.yf,1),a)};g.In=function(a){this.Y&2||Hc(this,this.Ff.Nb(this.yf,2),a)};g.aa=function(){var a=Fc(this,this.Ca);this.Ca=this.Ea.gb+(this.qa=this.qa+1&65535);return a}; +g.L=function(){var a=Fc(this,this.Ca)<<24>>24;this.Ca=this.Ea.gb+(this.qa=this.qa+1&65535);return a&65535};g.K=function(){var a=F(this,this.Ca);this.Ca=this.Ea.gb+(this.qa=this.qa+2&65535);return a};g.Aa=function(){var a=this.X;this.X=this.X+2&65535;return F(this,this.Tb.Ic(a,1))};function K(a,b){var c=a.X=a.X-2&65535;Hc(a,a.Tb.Nb(c,1),b)} +g.cf=function(){E(this,"AX",this.G);E(this,"BX",this.B);E(this,"CX",this.I);E(this,"DX",this.J);E(this,"SP",this.X);E(this,"BP",this.H);E(this,"SI",this.F);E(this,"DI",this.D);E(this,"CS",this.Ea.ua);E(this,"DS",this.ac.ua);E(this,"SS",this.Tb.ua);E(this,"ES",this.ib.ua);E(this,"IP",this.qa);var a=cc(this);E(this,"PS",a);E(this,"C",a&1?1:0,1);E(this,"P",a&4?1:0,1);E(this,"A",a&16?1:0,1);E(this,"Z",a&64?1:0,1);E(this,"S",a&128?1:0,1);E(this,"T",a&256?1:0,1);E(this,"I",a&512?1:0,1);E(this,"D",a&1024? +1:0,1);E(this,"O",a&2048?1:0,1);this.oa.speed&&(this.oa.speed.innerHTML=this.qc&&this.Kc?this.Kc.toFixed(2)+"Mhz":"Stopped")}; +g.Uk=function(a){this.th=!0;this.bd=this.A=a;this.ga&&nb(this.ga);a||!this.Ja||this.Ja.ro(this.Ja.Un)||(this.Y|=4);do{if(a=this.Y&240)this.pa|=a;else if(this.Cg=this.Ca,this.da=this.Ba=-1,this.C=this.ac,this.M=this.Tb,this.pa=this.Y&256,this.Ya){a:{if(!(this.Y&4))if(this.Ya&1&&this.Ia&512){if(a=Ic(this.ga),-1<=a&&(this.Ya&=-2,0<=a)){this.Ya&=-5;Jc.call(this,a,null,11);break a}}else if(this.Ya&2){this.Ya&=-3;Jc.call(this,1,null,11);break a}if(a=this.Ya&8){a=this.ga;for(var b=!1,c=0;cthis.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=a+b)&255} +function Mc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=this.ha=a|b)&255}function Nc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return this.W&255}function Oc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return this.W&255} +function Pc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=this.ha=a&b)&255}function Qc(a,b){this.ha=a^b;this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=a-b)&255}function Rc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=this.ha=a^b)&255}function Sc(a,b){this.ha=a^b;this.$=256;this.W=this.fa=a-b;this.A-=0>this.Ba?0>this.da?this.Bb:this.Xh:this.fb;this.Y|=2;return a} +function Tc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=a+b)&65535}function Uc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=this.ha=a|b)&65535}function Vc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return this.W&65535} +function Wc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return this.W&65535}function Xc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=this.ha=a&b)&65535}function Yc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=a-b)&65535} +function Zc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.fb:this.Pb;return(this.W=this.fa=this.ha=a^b)&65535}function $c(a,b){this.ha=a^b;this.$=65536;this.W=this.fa=a-b;this.A-=0>this.Ba?0>this.da?this.Bb:this.Xh:this.fb;this.Y|=2;return a}function ad(a,b){this.W=this.W&this.$-1|(a&b?this.$:0);(a^a>>1)&b>>1?Ec(this):zc(this)}function bd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;ad.call(this,d,256)}return c} +function cd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;ad.call(this,d,65536)}return c}function dd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);ad.call(this,d,256)}return c}function ed(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);ad.call(this,d,65536)}return c}function fd(a,b){var c=a;if(b){var d;(d=(b&this.ze)%9)?(d=a<>9-d,c=d&255):d=a|(this.W&this.$?1:0)<<8;ad.call(this,d,256)}return c} +function gd(a,b){var c=a;if(b){var d;(d=(b&this.ze)%17)?(d=a<>17-d,c=d&65535):d=a|(this.W&this.$?1:0)<<16;ad.call(this,d,65536)}return c}function hd(a,b){var c=a;b&&(c=(b&this.ze)%9,c=a>>c|(this.W&this.$?1:0)<<8-c|a<<9-c,ad.call(this,c,256),c&=255);return c}function id(a,b){var c=a;b&&(c=(b&this.ze)%17,c=a>>c|(this.W&this.$?1:0)<<16-c|a<<17-c,ad.call(this,c,65536),c&=65535);return c} +function jd(a,b){var c=a;b&&(c=8>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255} +function pd(a,b){if(b){var c=16>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535}function qd(a,b){if(b){8>24>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255}function rd(a,b){if(b){16>16>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535} +function sd(){this.A-=0>this.da?2:this.Dk;return 1}function td(){var a=this.I&this.ze;this.A-=(0>this.da?this.si:this.ri)+(a<this.da?this.si:this.ri)+(a<this.Ba?this.Qb:this.wk;return b},wd,wd,wd,wd,wd,wd,wd],Ad=[function(a,b){this.A-=0>this.Ba?this.ok:this.mk;return b},L,L,L,L,L,L,L],Bd=[bd,dd,fd,hd,jd,od,L,qd],Cd=[cd,ed,gd,id,kd,pd,L,rd],Ed=[function(a,b){b=this.aa();this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.da?this.yi:this.xi;this.Y|=2;return a},L,function(a){this.A-=0>this.da?this.vf:this.uf;return a^255},function(a,b){b=0;this.ha=a^b;this.$=256; +this.A-=0>this.da?this.vf:this.uf;return(this.W=this.fa=b-a)&255},function(a){this.G=this.nb=(this.W=(this.G&255)*a)&65535;this.ha=this.fa=this.W;this.$=256;this.G&65280?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.sk:this.rk;this.Y|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.nb=b&65535;this.W=this.ha=this.fa=b;this.$=256;127b?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.Yj:this.Xj;this.Y|=2;return a},function(a){if(!a)return Dd.call(this), +a;var b=this.G/a;if(255this.da?this.Qj:this.Pj;this.Y|=2;return a},function(a){if(!a)return Dd.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Dd.call(this),a;this.nb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.fa=this.ha=this.W=b|256;this.$=256;this.A-=0>this.da?this.Uj:this.Tj;this.Y|=2;return a}],Fd=[function(a,b){b=this.K();this.W=this.fa=this.ha= +a&b;this.$=65536;this.A-=0>this.da?this.yi:this.xi;this.Y|=2;return a},L,function(a){this.A-=0>this.da?this.vf:this.uf;return a^65535},function(a,b){b=0;this.ha=a^b;this.$=65536;this.A-=0>this.da?this.vf:this.uf;return(this.W=this.fa=b-a)&65535},function(a){this.nb=this.G=(this.W=this.G*a)&65535;this.Bf=this.J=this.W>>16&65535;this.ha=this.fa=this.W;this.$=65536;this.J?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.uk:this.tk;this.Y|=2;return a},function(a){var b=(this.G<<16>>16)* +(a<<16>>16);this.G=this.nb=b&65535;this.J=this.Bf=b>>16&65535;this.W=this.ha=this.fa=b;this.$=65536;32767b?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.$j:this.Zj;this.Y|=2;return a},function(a,b){if(!a)return Dd.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Dd.call(this),a;this.nb=this.G=c&65535;this.Bf=this.J=b%a&65535;this.fa=this.ha=this.W=c|65536;this.$=65536;this.A-=0>this.da?this.Sj:this.Rj;this.Y|=2;return a},function(a,b){if(!a)return Dd.call(this), +a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Dd.call(this),a;this.nb=this.G=d&65535;this.Bf=this.J=b%c&65535;this.fa=this.ha=this.W=d|65536;this.$=65536;this.A-=0>this.da?this.Wj:this.Vj;this.Y|=2;return a}],Tb=[function(a){this.ha=a;a=(this.fa=a+1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.tf:this.sf;return a},function(a){this.ha=a;a=(this.fa=a-1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.tf:this.sf; +return a},L,L,L,L,L,L],Vb=[function(a){this.ha=a;a=(this.fa=a+1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.tf:this.sf;return a},function(a){this.ha=a;a=(this.fa=a-1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.tf:this.sf;return a},function(a){K(this,this.qa);I(this,a);this.A-=0>this.da?this.Oj:this.Nj;this.Y|=2;return a},function(a){if(0>this.da)return L.call(this,a);K(this,this.Ea.ua);K(this,this.qa);$b(this,a,F(this,this.da+2));this.A-= +this.Lj;this.Y|=2;return a},function(a){I(this,a);this.A-=0>this.da?this.ik:this.hk;this.Y|=2;return a},function(a){if(0>this.da)return L.call(this,a);$b(this,a,F(this,this.da+2));this.A-=this.fk;this.Y|=2;return a},function(a){var b=a;this.Y&512&&(a=a-2&65535,80286>this.Da&&(b=a));K(this,b);this.A-=0>this.da?this.Zb:this.yk;this.Y|=2;return a},wd],Gd=[bd,dd,fd,hd,jd,od,L,qd],Hd=[cd,ed,gd,id,kd,pd,L,rd];function Id(a,b){this.A-=0>this.Ba?0>this.da?this.qk:this.pk:this.nk;return b} +function Jd(){return Id.call(this,0,this.nb)}function Kd(a,b){this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.Ba?0>this.da?this.zi:this.xf:this.xf;this.Y|=2;return a}function Ld(a,b){this.W=this.fa=this.ha=a&b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.zi:this.xf:this.xf;this.Y|=2;return a}function Md(a,b){var c=(b<<16>>16)*(this.aa()<<24>>24);this.W=this.ha=this.fa=c;this.$=256;32767c?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?21:24;return c&65535} +function Nd(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.W=this.ha=this.fa=c;this.$=65536;32767c?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?21:24;return c&65535}function Od(a){return a}function Pd(a){if(0>this.da)return N.call(this),a;this.A-=this.jk;return this.da}function Qd(a,b){if(0>this.da)return N.call(this),a;kc(this,F(this,this.da+2));this.A-=this.ai;return b} +function Rd(a,b){if(0>this.da)return N.call(this),a;pc(this,F(this,this.da+2));this.A-=this.ai;return b}function Sd(a){if(0>this.da)return G.call(this),a;var b=a<<16>>16,c=F(this,this.da)<<16>>16,d=F(this,this.da+2)<<16>>16;this.A-=this.Hj;if(bd)I(this,this.Cg-this.Ea.gb),Jc.call(this,5,null,0);this.Y|=2;return a}function Td(a,b){this.A-=10+(0>this.da?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Cc(this),a;yc(this);return a} +function Ud(a,b){this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(b,!0)&&this.sb.tc>=(this.Ea.ua&3)&&this.sb.tc>=(b&3))return Cc(this),this.sb.kc&65280;yc(this);return a}function Vd(a,b){this.A-=14+(0>this.da?0:2);if(b&65528&&0<=this.sb.load(b,!0)&&(3072==(this.sb.kc&3072)||this.sb.tc>=(this.Ea.ua&3))&&this.sb.tc>=(b&3))return Cc(this),this.sb.$c;yc(this);return a} +function Wd(a,b){if(0>this.da){switch(this.Vf&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.B=this.B&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.B=this.B&255|a<<8}this.A-=this.Bi}else this.Ba=this.da,this.Q(a),this.A-=this.Ai;return b} +function Xd(a,b){if(0>this.da){switch(this.Vf&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.X=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.Bi}else this.Ba=this.da,this.R(a),this.A-=this.Ai;return b}function Jc(a,b,c){ic(this,a)&&(K(this,cc(this)),this.Ia&=this.pc.pg,K(this,this.Ea.ua),K(this,this.qa),null!=b&&K(this,b),$b(this,this.pc.Fi,this.pc.ua),this.A-=this.bk+c)} +function Dd(){I(this,this.Cg-this.Ea.gb);Jc.call(this,0,null,2)}function Ab(a,b){this.Ja&&this.Ja.message("Fault 0x"+da(a)+(null!=b?" (0x"+p(b,4)+")":"")+" on opcode 0x"+da(Pa(this.ma,this.Ca))+" at "+ea(this.qa,this.Ea.ua));80186<=this.Da&&(I(this,this.Cg-this.Ea.gb),Jc.call(this,a,b,0))}function G(){Ab.call(this,6);fb(this)}function N(){I(this,this.Cg-this.Ea.gb);Ga(this,"Undefined opcode 0x"+da(Pa(this.ma,this.Ca))+" at "+ea(this.qa,this.Ea.ua));fb(this)} +function Yd(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function Zd(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function $d(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function ae(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function be(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function ce(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a} +function de(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function ee(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function fe(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function ge(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function he(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function ie(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a} +function je(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function ke(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function le(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function me(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function ne(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function oe(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a} +function pe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function qe(a){a=a.call(this,this.J&255,this.B&255);this.J=this.J&-256|a}function re(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a}function se(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a}function te(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function ue(a){a=a.call(this,this.J&255,this.B>>8);this.J=this.J&-256|a} +function ve(a){a=a.call(this,this.B&255,this.G&255);this.B=this.B&-256|a}function we(a){a=a.call(this,this.B&255,this.I&255);this.B=this.B&-256|a}function xe(a){a=a.call(this,this.B&255,this.J&255);this.B=this.B&-256|a}function ye(a){a=a.call(this,this.B&255,this.B&255);this.B=this.B&-256|a}function ze(a){a=a.call(this,this.B&255,this.G>>8);this.B=this.B&-256|a}function Ae(a){a=a.call(this,this.B&255,this.I>>8);this.B=this.B&-256|a} +function Be(a){a=a.call(this,this.B&255,this.J>>8);this.B=this.B&-256|a}function Ce(a){a=a.call(this,this.B&255,this.B>>8);this.B=this.B&-256|a}function De(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8}function Ee(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8}function Fe(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8}function Ge(a){a=a.call(this,this.G>>8,this.B&255);this.G=this.G&255|a<<8} +function He(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8}function Ie(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8}function Je(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}function Ke(a){a=a.call(this,this.G>>8,this.B>>8);this.G=this.G&255|a<<8}function Le(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8}function Me(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8} +function Ne(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}function Oe(a){a=a.call(this,this.I>>8,this.B&255);this.I=this.I&255|a<<8}function Pe(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8}function Qe(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}function Re(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8}function Se(a){a=a.call(this,this.I>>8,this.B>>8);this.I=this.I&255|a<<8} +function Te(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8}function Ue(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8}function Ve(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function We(a){a=a.call(this,this.J>>8,this.B&255);this.J=this.J&255|a<<8}function Xe(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}function Ye(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8} +function Ze(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function $e(a){a=a.call(this,this.J>>8,this.B>>8);this.J=this.J&255|a<<8}function af(a){a=a.call(this,this.B>>8,this.G&255);this.B=this.B&255|a<<8}function bf(a){a=a.call(this,this.B>>8,this.I&255);this.B=this.B&255|a<<8}function cf(a){a=a.call(this,this.B>>8,this.J&255);this.B=this.B&255|a<<8}function df(a){a=a.call(this,this.B>>8,this.B&255);this.B=this.B&255|a<<8} +function ef(a){a=a.call(this,this.B>>8,this.G>>8);this.B=this.B&255|a<<8}function ff(a){a=a.call(this,this.B>>8,this.I>>8);this.B=this.B&255|a<<8}function gf(a){a=a.call(this,this.B>>8,this.J>>8);this.B=this.B&255|a<<8}function hf(a){a=a.call(this,this.B>>8,this.B>>8);this.B=this.B&255|a<<8}function jf(a){this.G=a.call(this,this.G,this.G)}function kf(a){this.G=a.call(this,this.G,this.I)}function lf(a){this.G=a.call(this,this.G,this.J)}function mf(a){this.G=a.call(this,this.G,this.B)} +function nf(a){this.G=a.call(this,this.G,this.X)}function of(a){this.G=a.call(this,this.G,this.H)}function pf(a){this.G=a.call(this,this.G,this.F)}function qf(a){this.G=a.call(this,this.G,this.D)}function rf(a){this.I=a.call(this,this.I,this.G)}function sf(a){this.I=a.call(this,this.I,this.I)}function tf(a){this.I=a.call(this,this.I,this.J)}function uf(a){this.I=a.call(this,this.I,this.B)}function vf(a){this.I=a.call(this,this.I,this.X)}function wf(a){this.I=a.call(this,this.I,this.H)} +function xf(a){this.I=a.call(this,this.I,this.F)}function yf(a){this.I=a.call(this,this.I,this.D)}function zf(a){this.J=a.call(this,this.J,this.G)}function Af(a){this.J=a.call(this,this.J,this.I)}function Bf(a){this.J=a.call(this,this.J,this.J)}function Cf(a){this.J=a.call(this,this.J,this.B)}function Df(a){this.J=a.call(this,this.J,this.X)}function Ef(a){this.J=a.call(this,this.J,this.H)}function Ff(a){this.J=a.call(this,this.J,this.F)}function Gf(a){this.J=a.call(this,this.J,this.D)} +function Hf(a){this.B=a.call(this,this.B,this.G)}function If(a){this.B=a.call(this,this.B,this.I)}function Jf(a){this.B=a.call(this,this.B,this.J)}function Kf(a){this.B=a.call(this,this.B,this.B)}function Lf(a){this.B=a.call(this,this.B,this.X)}function Mf(a){this.B=a.call(this,this.B,this.H)}function Nf(a){this.B=a.call(this,this.B,this.F)}function Of(a){this.B=a.call(this,this.B,this.D)}function Pf(a){this.X=a.call(this,this.X,this.G)}function Qf(a){this.X=a.call(this,this.X,this.I)} +function Rf(a){this.X=a.call(this,this.X,this.J)}function Sf(a){this.X=a.call(this,this.X,this.B)}function Tf(a){this.X=a.call(this,this.X,this.X)}function Uf(a){this.X=a.call(this,this.X,this.H)}function Vf(a){this.X=a.call(this,this.X,this.F)}function Wf(a){this.X=a.call(this,this.X,this.D)}function Xf(a){this.H=a.call(this,this.H,this.G)}function Yf(a){this.H=a.call(this,this.H,this.I)}function Zf(a){this.H=a.call(this,this.H,this.J)}function $f(a){this.H=a.call(this,this.H,this.B)} +function ag(a){this.H=a.call(this,this.H,this.X)}function bg(a){this.H=a.call(this,this.H,this.H)}function cg(a){this.H=a.call(this,this.H,this.F)}function dg(a){this.H=a.call(this,this.H,this.D)}function eg(a){this.F=a.call(this,this.F,this.G)}function fg(a){this.F=a.call(this,this.F,this.I)}function gg(a){this.F=a.call(this,this.F,this.J)}function hg(a){this.F=a.call(this,this.F,this.B)}function ig(a){this.F=a.call(this,this.F,this.X)}function jg(a){this.F=a.call(this,this.F,this.H)} +function kg(a){this.F=a.call(this,this.F,this.F)}function lg(a){this.F=a.call(this,this.F,this.D)}function mg(a){this.D=a.call(this,this.D,this.G)}function ng(a){this.D=a.call(this,this.D,this.I)}function og(a){this.D=a.call(this,this.D,this.J)}function pg(a){this.D=a.call(this,this.D,this.B)}function qg(a){this.D=a.call(this,this.D,this.X)}function rg(a){this.D=a.call(this,this.D,this.H)}function sg(a){this.D=a.call(this,this.D,this.F)}function tg(a){this.D=a.call(this,this.D,this.D)} +var ug=[function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.G&255);this.Q(a);this.A-=this.Z},function(a){a= a.call(this,this.N(this.C,this.D),this.G&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.K()),this.G&255);this.Q(a);this.A-=this.na},function(a){a=a.call(this,this.N(this.C,this.B),this.G&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.I&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.I&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F& 65535),this.I&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.I&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.I&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.D),this.I&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.K()),this.I&255);this.Q(a);this.A-=this.na},function(a){a=a.call(this,this.N(this.C,this.B),this.I&255);this.Q(a);this.A-=this.Z},function(a){a= a.call(this,this.N(this.C,this.B+this.F&65535),this.J&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.J&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.J&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.J&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.J&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C, @@ -140,7 +140,7 @@ this.U},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.I>>8 this.U},function(a){a=a.call(this,this.N(this.C,this.B+this.D+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.F+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.D+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.U},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.D+this.K()&65535),this.J>>8); this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.M,this.H+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.F+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.U},function(a){a=a.call(this,this.N(this.C,this.B+this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.F+this.K()& 65535),this.B>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.U},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.M,this.H+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.K()& -65535),this.B>>8);this.Q(a);this.A-=this.P},Xd,ee,me,ue,Ce,Ke,Se,$e,Yd,fe,ne,ve,De,Le,Te,af,Zd,ge,oe,we,Ee,Me,Ue,bf,$d,he,pe,xe,Fe,Ne,Ve,cf,ae,ie,qe,ye,Ge,Oe,We,df,be,je,re,ze,He,Pe,Xe,ef,ce,ke,se,Ae,Ie,Qe,Ye,ff,de,le,te,Be,Je,Re,Ze,gf],N=[function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.G);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.G);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.G); +65535),this.B>>8);this.Q(a);this.A-=this.P},Yd,fe,ne,ve,De,Le,Te,af,Zd,ge,oe,we,Ee,Me,Ue,bf,$d,he,pe,xe,Fe,Ne,Ve,cf,ae,ie,qe,ye,Ge,Oe,We,df,be,je,re,ze,He,Pe,Xe,ef,ce,ke,se,Ae,Ie,Qe,Ye,ff,de,le,te,Be,Je,Re,Ze,gf,ee,me,ue,Ce,Ke,Se,$e,hf],O=[function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.G);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.G);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.G); this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.D&65535),this.G);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.F),this.G);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.D),this.G);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.K()),this.G);this.R(a);this.A-=this.na},function(a){a=a.call(this,this.O(this.C,this.B),this.G);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.B+ this.F&65535),this.I);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.I);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.I);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.D&65535),this.I);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.F),this.I);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.D),this.I);this.R(a);this.A-=this.Z}, function(a){a=a.call(this,this.O(this.C,this.K()),this.I);this.R(a);this.A-=this.na},function(a){a=a.call(this,this.O(this.C,this.B),this.I);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.J);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.J);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.J);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+ @@ -177,7 +177,7 @@ this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.D+ this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.F+this.K()&65535),this.F);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.B+this.D+this.K()&65535),this.F);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.F+this.K()&65535),this.F);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.D+this.K()&65535),this.F);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.F+this.K()&65535),this.F); this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.D+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.M,this.H+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.F+this.K()&65535),this.D);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.B+this.D+this.K()&65535),this.D);this.R(a); this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.F+this.K()&65535),this.D);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.D+this.K()&65535),this.D);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.F+this.K()&65535),this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.D+this.K()&65535),this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.M,this.H+this.K()&65535),this.D);this.R(a);this.A-= -this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.D);this.R(a);this.A-=this.P},hf,qf,yf,Gf,Of,Wf,dg,lg,jf,rf,zf,Hf,Pf,Xf,eg,mg,kf,sf,Af,If,Qf,Yf,fg,ng,lf,tf,Bf,Jf,Rf,Zf,gg,og,mf,uf,Cf,Kf,Sf,$f,hg,pg,nf,vf,Df,Lf,Tf,ag,ig,qg,of,wf,Ef,Mf,Uf,bg,jg,rg,pf,xf,Ff,Nf,Vf,cg,kg,sg],ug=[function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.F&65535));this.G=this.G&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.D&65535));this.G=this.G&-256| +this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.D);this.R(a);this.A-=this.P},jf,rf,zf,Hf,Pf,Xf,eg,mg,kf,sf,Af,If,Qf,Yf,fg,ng,lf,tf,Bf,Jf,Rf,Zf,gg,og,mf,uf,Cf,Kf,Sf,$f,hg,pg,nf,vf,Df,Lf,Tf,ag,ig,qg,of,wf,Ef,Mf,Uf,bg,jg,rg,pf,xf,Ff,Nf,Vf,cg,kg,sg,qf,yf,Gf,Of,Wf,dg,lg,tg],vg=[function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.F&65535));this.G=this.G&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.D&65535));this.G=this.G&-256| a;this.A-=this.ca},function(a){a=a.call(this,this.G&255,this.S(this.M,this.H+this.F&65535));this.G=this.G&-256|a;this.A-=this.ca},function(a){a=a.call(this,this.G&255,this.S(this.M,this.H+this.D&65535));this.G=this.G&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.G&255,this.S(this.C,this.F));this.G=this.G&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.G&255,this.S(this.C,this.D));this.G=this.G&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.G&255,this.S(this.C,this.K()));this.G= this.G&-256|a;this.A-=this.na},function(a){a=a.call(this,this.G&255,this.S(this.C,this.B));this.G=this.G&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.I&255,this.S(this.C,this.B+this.F&65535));this.I=this.I&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.I&255,this.S(this.C,this.B+this.D&65535));this.I=this.I&-256|a;this.A-=this.ca},function(a){a=a.call(this,this.I&255,this.S(this.M,this.H+this.F&65535));this.I=this.I&-256|a;this.A-=this.ca},function(a){a=a.call(this,this.I&255,this.S(this.M, this.H+this.D&65535));this.I=this.I&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.I&255,this.S(this.C,this.F));this.I=this.I&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.I&255,this.S(this.C,this.D));this.I=this.I&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.I&255,this.S(this.C,this.K()));this.I=this.I&-256|a;this.A-=this.na},function(a){a=a.call(this,this.I&255,this.S(this.C,this.B));this.I=this.I&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.J&255,this.S(this.C, @@ -220,7 +220,7 @@ this.P},function(a){a=a.call(this,this.G>>8,this.S(this.C,this.D+this.K()&65535) this.V},function(a){a=a.call(this,this.J>>8,this.S(this.M,this.H+this.F+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.J>>8,this.S(this.M,this.H+this.D+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.U},function(a){a=a.call(this,this.J>>8,this.S(this.C,this.F+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.S(this.C,this.D+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>> 8,this.S(this.M,this.H+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.S(this.C,this.B+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.U},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.B>>8,this.S(this.M,this.H+this.F+this.K()& 65535));this.B=this.B&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.B>>8,this.S(this.M,this.H+this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.U},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.S(this.M,this.H+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P}, -function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},Xd,Yd,Zd,$d,ae,be,ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf],O=[function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.G= +function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},Yd,Zd,$d,ae,be,ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf],P=[function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.G= a.call(this,this.G,this.T(this.M,this.H+this.F&65535));this.A-=this.ca},function(a){this.G=a.call(this,this.G,this.T(this.M,this.H+this.D&65535));this.A-=this.ba},function(a){this.G=a.call(this,this.G,this.T(this.C,this.F));this.A-=this.Z},function(a){this.G=a.call(this,this.G,this.T(this.C,this.D));this.A-=this.Z},function(a){this.G=a.call(this,this.G,this.T(this.C,this.K()));this.A-=this.na},function(a){this.G=a.call(this,this.G,this.T(this.C,this.B));this.A-=this.Z},function(a){this.I=a.call(this, this.I,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.I=a.call(this,this.I,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.I=a.call(this,this.I,this.T(this.M,this.H+this.F&65535));this.A-=this.ca},function(a){this.I=a.call(this,this.I,this.T(this.M,this.H+this.D&65535));this.A-=this.ba},function(a){this.I=a.call(this,this.I,this.T(this.C,this.F));this.A-=this.Z},function(a){this.I=a.call(this,this.I,this.T(this.C,this.D));this.A-=this.Z},function(a){this.I= a.call(this,this.I,this.T(this.C,this.K()));this.A-=this.na},function(a){this.I=a.call(this,this.I,this.T(this.C,this.B));this.A-=this.Z},function(a){this.J=a.call(this,this.J,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.J=a.call(this,this.J,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.J=a.call(this,this.J,this.T(this.M,this.H+this.F&65535));this.A-=this.ca},function(a){this.J=a.call(this,this.J,this.T(this.M,this.H+this.D&65535));this.A-=this.ba}, @@ -255,7 +255,7 @@ a.call(this,this.H,this.T(this.C,this.B+this.D+this.K()&65535));this.A-=this.V}, this.H+this.K()&65535));this.A-=this.P},function(a){this.H=a.call(this,this.H,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.C,this.B+this.F+this.K()&65535));this.A-=this.U},function(a){this.F=a.call(this,this.F,this.T(this.C,this.B+this.D+this.K()&65535));this.A-=this.V},function(a){this.F=a.call(this,this.F,this.T(this.M,this.H+this.F+this.K()&65535));this.A-=this.V},function(a){this.F=a.call(this,this.F,this.T(this.M,this.H+this.D+this.K()& 65535));this.A-=this.U},function(a){this.F=a.call(this,this.F,this.T(this.C,this.F+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.M,this.H+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.B+this.F+this.K()&65535));this.A-=this.U},function(a){this.D= a.call(this,this.D,this.T(this.C,this.B+this.D+this.K()&65535));this.A-=this.V},function(a){this.D=a.call(this,this.D,this.T(this.M,this.H+this.F+this.K()&65535));this.A-=this.V},function(a){this.D=a.call(this,this.D,this.T(this.M,this.H+this.D+this.K()&65535));this.A-=this.U},function(a){this.D=a.call(this,this.D,this.T(this.C,this.F+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.M, -this.H+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg],vg=[function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.D& +this.H+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg],wg=[function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.D& 65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,this.N(this.M,this.H+this.F&65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,this.N(this.M,this.H+this.D&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.N(this.C,this.F),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.N(this.C,this.D),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.N(this.C, this.K()),b.call(this));this.Q(c);this.A-=this.na},function(a,b){var c=a[0].call(this,this.N(this.C,this.B),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[1].call(this,this.N(this.C,this.B+this.D&65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=a[1].call(this,this.N(this.M,this.H+this.F&65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c= a[1].call(this,this.N(this.M,this.H+this.D&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[1].call(this,this.N(this.C,this.F),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.N(this.C,this.D),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.N(this.C,this.K()),b.call(this));this.Q(c);this.A-=this.na},function(a,b){var c=a[1].call(this,this.N(this.C,this.B),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c= @@ -308,7 +308,7 @@ this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(th 255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this)); this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J& 255|c<<8},function(a,b){var c=a[6].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<< -8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8}],wg=[function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[0].call(this, +8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.B>>8,b.call(this));this.B=this.B&255|c<<8}],xg=[function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[0].call(this, this.O(this.M,this.H+this.F&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,this.O(this.M,this.H+this.D&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.O(this.C,this.F),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.O(this.C,this.D),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.O(this.C,this.K()),b.call(this));this.R(c);this.A-=this.na},function(a,b){var c= a[0].call(this,this.O(this.C,this.B),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[1].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[1].call(this,this.O(this.M,this.H+this.F&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[1].call(this,this.O(this.M,this.H+this.D&65535),b.call(this));this.R(c); this.A-=this.ba},function(a,b){var c=a[1].call(this,this.O(this.C,this.F),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.O(this.C,this.D),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.O(this.C,this.K()),b.call(this));this.R(c);this.A-=this.na},function(a,b){var c=a[1].call(this,this.O(this.C,this.B),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[2].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c); @@ -358,271 +358,272 @@ a[3].call(this,this.B,b.call(this))},function(a,b){this.X=a[3].call(this,this.X, function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.B=a[5].call(this,this.B,b.call(this))},function(a,b){this.X=a[5].call(this,this.X, b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.B=a[6].call(this,this.B,b.call(this))},function(a,b){this.Y|=512;this.X=a[6].call(this,this.X,b.call(this))},function(a, b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.B=a[7].call(this,this.B,b.call(this))},function(a,b){this.X=a[7].call(this,this.X,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))}, -function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],yg=[function(){var a=this.aa();16>(a&56)&&(this.Y|=1);wg[a].call(this,dc,ud)},function(){var a=this.aa();a&16||(this.Y|=1);wg[a].call(this,xg,ud)},function(){O[this.aa()].call(this,Td)},function(){O[this.aa()].call(this,Ud)},M,M,M,M,M,M,M,F,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M, -M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M],ec=[function(){this.A-=2+(0>this.da?0:1);return this.Ce.ua},function(){this.A-=2+(0>this.da?0:1);return this.Ig.ua},function(a){this.Y|=2;this.Ce.load(a);this.A-= -17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.Ig.load(a);this.A-=17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(a,!0)&&2048!=(this.sb.kc&2560)&&(3072==(this.sb.kc&3072)||this.sb.uc>=(this.Ea.ua&3)&&this.sb.uc>=(a&3)))return Bc(this),a;xc(this);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(a,!0)&&512==(this.sb.kc&2560)&&this.sb.uc>=(this.Ea.ua&3)&&this.sb.uc>=(a&3))return Bc(this),a;xc(this);return a},K,K], -fc=[Tb,Tb,Tb,Tb,Tb,Tb,K,K],dc=fc,xg=[function(a){0>this.da?F.call(this):(Gc(this,this.da+2,this.Rc),Fc(this,this.da+4,this.Rc>>16),a=this.Le-this.Rc,this.A-=11);return a},function(a){0>this.da?F.call(this):(Gc(this,this.da+2,this.Sc),Fc(this,this.da+4,this.Sc>>16),a=this.me-this.Sc,this.A-=12);return a},function(a){0>this.da?F.call(this):(this.Rc=E(this,this.da+2)|Ec(this,this.da+4)<<16,this.Le=this.Rc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?F.call(this):(this.Sc=E(this,this.da+2)| -Ec(this,this.da+4)<<16,this.me=this.Sc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},K,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&ac(this,!0);this.Y|=2;return a},K];function Vb(){yg[this.aa()].call(this)}function Xb(){J(this,this.X);this.A-=this.$b}function Cb(){var a=this.X;J(this,this.G);J(this,this.I);J(this,this.J);J(this,this.B);J(this,a);J(this,this.H);J(this,this.F);J(this,this.D);this.A-=this.sk} -function Db(){this.D=this.Aa();this.F=this.Aa();this.H=this.Aa();this.X+=2;this.B=this.Aa();this.J=this.Aa();this.I=this.Aa();this.G=this.Aa();this.A-=this.qk}function Eb(){O[this.aa()].call(this,Rd)}function Wb(){N[this.aa()].call(this,Sd)}function Fb(){J(this,this.K());this.A-=this.$b}function Gb(){O[this.aa()].call(this,Md)}function Hb(){J(this,this.aa());this.A-=this.$b}function Ib(){O[this.aa()].call(this,Ld)} -function Jb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Va(this.ma,this.J,this.Ca-b-1);Fc(this,this.gb.Ob(this.D,0),d);this.D=this.D+(this.Ga&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.Y|=256)}} -function Kb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=Va(this.ma,this.J,d)|Va(this.ma,this.J,d)<<8;Gc(this,this.gb.Ob(this.D,1),d);this.D=this.D+(this.Ga&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.Y|=256)}} -function Lb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Ec(this,this.bc.Jc(this.F,0));this.F=this.F+(this.Ga&1024?-1:1)&65535;this.A-=c;this.I-=b;Xa(this.ma,this.J,d,this.Ca-b-1);a&&(I(this,-2),this.Y|=256)}} -function Mb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=E(this,this.bc.Jc(this.F,1));this.F=this.F+(this.Ga&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ca-b-1;Xa(this.ma,this.J,d&255,b);Xa(this.ma,this.J,d>>8,b);a&&(I(this,-2),this.Y|=256)}}function zg(){var a=this.L();uc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Ag(){var a=this.L();uc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)} -function Bg(){var a=this.L();pc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Cg(){var a=this.L();pc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)}function Dg(){var a=this.L();sc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Eg(){var a=this.L();sc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)}function Fg(){var a=this.L();pc(this)||sc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db} -function Gg(){var a=this.L();pc(this)||sc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)}function Hg(){var a=this.L();tc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Ig(){var a=this.L();tc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)}function Jg(){var a=this.L();qc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Kg(){var a=this.L();qc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)} -function Lg(){var a=this.L();!tc(this)!=!uc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Mg(){var a=this.L();!tc(this)==!uc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Ng(){var a=this.L();sc(this)||!tc(this)!=!uc(this)?(H(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Og(){var a=this.L();sc(this)||!tc(this)!=!uc(this)?this.A-=this.Db:(H(this,this.qa+a),this.A-=this.Cb)} -function Pg(){vg[this.aa()].call(this,wd,this.aa);this.A-=0>this.Ba?1:this.wg}function Nb(){vg[this.aa()].call(this,Fd,td)}function Ob(){wg[this.aa()].call(this,Gd,td)}function Qg(){var a=this.K();H(this,this.Aa());this.X=this.X+a&65535;this.A-=this.xk}function Rg(){H(this,this.Aa());this.A-=this.uk} -function Pb(){var a=this.K(),b=this.aa()&31;this.A-=11;J(this,this.H);var c=this.X;if(0>8,c,d=rc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Ac(this):wc(this);this.A-=this.$d},function(){tg[this.aa()].call(this,Rc)},function(){N[this.aa()].call(this,Zc)},function(){ug[this.aa()].call(this,Rc)},function(){O[this.aa()].call(this,Zc)},function(){this.G=this.G&-256|Rc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Zc.call(this,this.G,this.K());this.A--},function(){this.Y|= -20;this.C=this.M=this.bc;this.A-=this.rb},function(){var a=this.G&255,b=this.G>>8,c,d=rc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Ac(this):wc(this);this.A-=this.$d},function(){this.ha=this.G;this.G=(this.fa=this.G+1)&65535;this.W=this.G|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.I;this.I=(this.fa=this.I+1)&65535;this.W=this.I|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.J; +function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],zg=[function(){var a=this.aa();16>(a&56)&&(this.Y|=1);xg[a].call(this,ec,vd)},function(){var a=this.aa();a&16||(this.Y|=1);xg[a].call(this,yg,vd)},function(){P[this.aa()].call(this,Ud)},function(){P[this.aa()].call(this,Vd)},N,N,N,N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, +N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],fc=[function(){this.A-=2+(0>this.da?0:1);return this.De.ua},function(){this.A-=2+(0>this.da?0:1);return this.Lg.ua},function(a){this.Y|=2;this.De.load(a);this.A-= +17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.Lg.load(a);this.A-=17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(a,!0)&&2048!=(this.sb.kc&2560)&&(3072==(this.sb.kc&3072)||this.sb.tc>=(this.Ea.ua&3)&&this.sb.tc>=(a&3)))return Cc(this),a;yc(this);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(a,!0)&&512==(this.sb.kc&2560)&&this.sb.tc>=(this.Ea.ua&3)&&this.sb.tc>=(a&3))return Cc(this),a;yc(this);return a},L,L], +gc=[Ub,Ub,Ub,Ub,Ub,Ub,L,L],ec=gc,yg=[function(a){0>this.da?G.call(this):(Hc(this,this.da+2,this.Qc),Gc(this,this.da+4,this.Qc>>16),a=this.Ne-this.Qc,this.A-=11);return a},function(a){0>this.da?G.call(this):(Hc(this,this.da+2,this.Rc),Gc(this,this.da+4,this.Rc>>16),a=this.me-this.Rc,this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Qc=F(this,this.da+2)|Fc(this,this.da+4)<<16,this.Ne=this.Qc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Rc=F(this,this.da+2)| +Fc(this,this.da+4)<<16,this.me=this.Rc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},L,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&bc(this,!0);this.Y|=2;return a},L];function Wb(){zg[this.aa()].call(this)}function Yb(){K(this,this.X);this.A-=this.Zb}function Db(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.xk} +function Eb(){this.D=this.Aa();this.F=this.Aa();this.H=this.Aa();this.X+=2;this.B=this.Aa();this.J=this.Aa();this.I=this.Aa();this.G=this.Aa();this.A-=this.vk}function Fb(){P[this.aa()].call(this,Sd)}function Xb(){O[this.aa()].call(this,Td)}function Gb(){K(this,this.K());this.A-=this.Zb}function Hb(){P[this.aa()].call(this,Nd)}function Ib(){K(this,this.aa());this.A-=this.Zb}function Jb(){P[this.aa()].call(this,Md)} +function Kb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Wa(this.ma,this.J,this.Ca-b-1);Gc(this,this.ib.Nb(this.D,0),d);this.D=this.D+(this.Ia&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}} +function Lb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=Wa(this.ma,this.J,d)|Wa(this.ma,this.J,d)<<8;Hc(this,this.ib.Nb(this.D,1),d);this.D=this.D+(this.Ia&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}} +function Mb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Fc(this,this.ac.Ic(this.F,0));this.F=this.F+(this.Ia&1024?-1:1)&65535;this.A-=c;this.I-=b;Ya(this.ma,this.J,d,this.Ca-b-1);a&&(J(this,-2),this.Y|=256)}} +function Nb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=F(this,this.ac.Ic(this.F,1));this.F=this.F+(this.Ia&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ca-b-1;Ya(this.ma,this.J,d&255,b);Ya(this.ma,this.J,d>>8,b);a&&(J(this,-2),this.Y|=256)}}function Ag(){var a=this.L();vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Bg(){var a=this.L();vc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)} +function Cg(){var a=this.L();qc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Dg(){var a=this.L();qc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Eg(){var a=this.L();tc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Fg(){var a=this.L();tc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Gg(){var a=this.L();qc(this)||tc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db} +function Hg(){var a=this.L();qc(this)||tc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Ig(){var a=this.L();uc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Jg(){var a=this.L();uc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Kg(){var a=this.L();rc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Lg(){var a=this.L();rc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)} +function Mg(){var a=this.L();!uc(this)!=!vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Ng(){var a=this.L();!uc(this)==!vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Og(){var a=this.L();tc(this)||!uc(this)!=!vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Pg(){var a=this.L();tc(this)||!uc(this)!=!vc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)} +function Qg(){wg[this.aa()].call(this,xd,this.aa);this.A-=0>this.Ba?1:this.zg}function Ob(){wg[this.aa()].call(this,Gd,ud)}function Pb(){xg[this.aa()].call(this,Hd,ud)}function Rg(){var a=this.K();I(this,this.Aa());this.X=this.X+a&65535;this.A-=this.Ck}function Sg(){I(this,this.Aa());this.A-=this.zk} +function Qb(){var a=this.K(),b=this.aa()&31;this.A-=11;K(this,this.H);var c=this.X;if(0>8,c,d=sc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Bc(this):xc(this);this.A-=this.$d},function(){ug[this.aa()].call(this,Sc)},function(){O[this.aa()].call(this,$c)},function(){vg[this.aa()].call(this,Sc)},function(){P[this.aa()].call(this,$c)},function(){this.G=this.G&-256|Sc.call(this,this.G&255,this.aa());this.A--},function(){this.G=$c.call(this,this.G,this.K());this.A--},function(){this.Y|= +20;this.C=this.M=this.ac;this.A-=this.rb},function(){var a=this.G&255,b=this.G>>8,c,d=sc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Bc(this):xc(this);this.A-=this.$d},function(){this.ha=this.G;this.G=(this.fa=this.G+1)&65535;this.W=this.G|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.I;this.I=(this.fa=this.I+1)&65535;this.W=this.I|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.J; this.J=(this.fa=this.J+1)&65535;this.W=this.J|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.B;this.B=(this.fa=this.B+1)&65535;this.W=this.B|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.X;this.X=(this.fa=this.X+1)&65535;this.W=this.X|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.H;this.H=(this.fa=this.H+1)&65535;this.W=this.H|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.F;this.F=(this.fa=this.F+ 1)&65535;this.W=this.F|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.D;this.D=(this.fa=this.D+1)&65535;this.W=this.D|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.G;this.G=(this.fa=this.G-1)&65535;this.W=this.G|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.I;this.I=(this.fa=this.I-1)&65535;this.W=this.I|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.J;this.J=(this.fa=this.J-1)&65535;this.W=this.J| (this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.B;this.B=(this.fa=this.B-1)&65535;this.W=this.B|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.X;this.X=(this.fa=this.X-1)&65535;this.W=this.X|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.H;this.H=(this.fa=this.H-1)&65535;this.W=this.H|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.F;this.F=(this.fa=this.F-1)&65535;this.W=this.F|(this.W&this.$?1:0)<< -16;this.$=65536;this.A-=2},function(){this.ha=this.D;this.D=(this.fa=this.D-1)&65535;this.W=this.D|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){J(this,this.G);this.A-=this.$b},function(){J(this,this.I);this.A-=this.$b},function(){J(this,this.J);this.A-=this.$b},function(){J(this,this.B);this.A-=this.$b},function(){J(this,this.X-2&65535);this.A-=this.$b},function(){J(this,this.H);this.A-=this.$b},function(){J(this,this.F);this.A-=this.$b},function(){J(this,this.D);this.A-=this.$b},function(){this.G= -this.Aa();this.A-=this.Rb},function(){this.I=this.Aa();this.A-=this.Rb},function(){this.J=this.Aa();this.A-=this.Rb},function(){this.B=this.Aa();this.A-=this.Rb},function(){this.X=this.Aa();this.A-=this.Rb},function(){this.H=this.Aa();this.A-=this.Rb},function(){this.F=this.Aa();this.A-=this.Rb},function(){this.D=this.Aa();this.A-=this.Rb},zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,function(){wg[this.aa()].call(this,xd,this.K);this.A-=0>this.Ba? -1:this.wg},Pg,function(){wg[this.aa()].call(this,xd,this.L);this.A-=0>this.Ba?1:this.wg},function(){tg[this.aa()].call(this,Jd)},function(){N[this.aa()].call(this,Kd)},function(){ug[this.Tf=this.aa()].call(this,Vd)},function(){O[this.Tf=this.aa()].call(this,Wd)},function(){this.Y|=1;tg[this.aa()].call(this,Hd)},function(){this.Y|=1;N[this.aa()].call(this,Hd)},function(){ug[this.aa()].call(this,Hd)},function(){O[this.aa()].call(this,Hd)},function(){var a=this.aa();switch((a&56)>>3){case 0:this.nb= -this.gb.ua;break;case 1:this.nb=this.Ea.ua;break;case 2:this.nb=this.Ub.ua;break;case 3:this.nb=this.bc.ua;break;default:M.call(this);return}this.Y|=1;N[a].call(this,Id)},function(){this.Y|=1;this.C=this.M=this.Nk;O[this.aa()].call(this,Od)},function(){var a,b=this.aa(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Da){F.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.X;break;case 5:a=this.H;break;case 6:a=this.F;break; -case 7:a=this.D}}O[b].call(this,Hd);switch(c){case 0:oc(this,this.G);this.G=a;break;case 1:ic(this,this.I);this.I=a;break;case 2:nc(this,this.J);this.J=a;break;case 3:mc(this,this.B);this.B=a;break;case 4:oc(this,this.X);this.X=a;break;case 5:ic(this,this.H);this.H=a;break;case 6:nc(this,this.F);this.F=a;break;case 7:mc(this,this.D),this.D=a}},function(){this.Y|=1;wg[this.aa()].call(this,yd,this.Aa)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a= -this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.X;this.X=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Ej},function(){var a=this.K(),b=this.K();J(this,this.Ea.ua);J(this,this.qa); -Zb(this,a,b);this.A-=this.Hj},function(){M.call(this)},function(){J(this,bc(this));this.A-=this.$b},function(){$b(this,this.Aa());this.A-=this.Rb},function(){var a=this.G>>8;a&1?zc(this):vc(this);a&4?qc(this)||(this.fa^=1):qc(this)&&(this.fa^=1);a&16?Ac(this):wc(this);a&64?Bc(this):xc(this);a&128?Cc(this):tc(this)&&(this.fa^=this.$>>1|this.$>>2,this.ha^=32896);this.A-=this.mb},function(){this.G=this.G&255|(bc(this)&213)<<8;this.A-=this.mb},function(){this.G=this.G&-256|this.S(this.C,this.K());this.A-= -this.bi},function(){this.G=this.T(this.C,this.K());this.A-=this.bi},function(){var a=this.K(),b=this.G;Fc(this,this.C.Ob(a,0),b);this.A-=this.ci},function(){var a=this.K(),b=this.G;Gc(this,this.C.Ob(a,1),b);this.A-=this.ci},function(){var a=1,b=0,c=this.di;this.pa&192&&(a=this.I,b=1,c=this.fi,this.pa&256||(this.A-=this.ei));if(a--){var d=this.Ga&1024?-1:1,e=this.S(this.C,this.F);Fc(this,this.gb.Ob(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(I(this,this.pa&16?-3: --2),this.Y|=256)}},function(){var a=1,b=0,c=this.di;this.pa&192&&(a=this.I,b=1,c=this.fi,this.pa&256||(this.A-=this.ei));if(a--){var d=this.Ga&1024?-2:2,e=this.T(this.C,this.F);Gc(this,this.gb.Ob(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(I(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Oh;this.pa&192&&(a=this.I,b=1,c=this.Qh,this.pa&256||(this.A-=this.Ph));if(a--){var d=this.Ga&1024?-1:1,e=this.S(this.C,this.F),f=this.N(this.gb,this.D);Rc.call(this, -e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.bb;this.I-=b;a&&sc(this)==(this.pa&64)&&(I(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Oh;this.pa&192&&(a=this.I,b=1,c=this.Qh,this.pa&256||(this.A-=this.Ph));if(a--){var d=this.Ga&1024?-2:2,e=this.T(this.C,this.F),f=this.O(this.gb,this.D);Zc.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.bb;this.I-=b;a&&sc(this)==(this.pa&64)&&(I(this,this.pa&16?-3:-2),this.Y|=256)}},function(){this.W= -this.fa=this.ha=this.G&255&this.aa();this.$=256;this.A-=this.$d},function(){this.W=this.fa=this.ha=this.G&this.K();this.$=65536;this.A-=this.$d},function(){var a=1,b=0,c=this.oi;this.pa&192&&(a=this.I,b=1,c=this.qi,this.pa&256||(this.A-=this.pi));if(a--){var d=this.G;Fc(this,this.gb.Ob(this.D,0),d);this.D=this.D+(this.Ga&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.oi;this.pa&192&&(a=this.I,b=1,c=this.qi,this.pa&256||(this.A-=this.pi));if(a--){var d= -this.G;Gc(this,this.gb.Ob(this.D,1),d);this.D=this.D+(this.Ga&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(I(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Wh;this.pa&192&&(a=this.I,b=1,c=this.Yh,this.pa&256||(this.A-=this.Xh));a--&&(this.G=this.G&-256|this.S(this.C,this.F),this.F=this.F+(this.Ga&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(I(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.Wh;this.pa&192&&(a=this.I,b=1,c=this.Yh,this.pa&256||(this.A-=this.Xh));a--&&(this.G=this.T(this.C, -this.F),this.F=this.F+(this.Ga&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(I(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.ii;this.pa&192&&(a=this.I,b=1,c=this.ki,this.pa&256||(this.A-=this.ji));a--&&(Rc.call(this,this.G&255,this.N(this.gb,this.D)),this.D=this.D+(this.Ga&1024?-1:1)&65535,this.A-=c-this.bb,this.I-=b,a&&sc(this)==(this.pa&64)&&(I(this,-2),this.Y|=256))},function(){var a=1,b=0,c=this.ii;this.pa&192&&(a=this.I,b=1,c=this.ki,this.pa&256||(this.A-=this.ji));a--&&(Zc.call(this, -this.G,this.O(this.gb,this.D)),this.D=this.D+(this.Ga&1024?-2:2)&65535,this.A-=c-this.bb,this.I-=b,a&&sc(this)==(this.pa&64)&&(I(this,-2),this.Y|=256))},function(){this.G=this.G&-256|this.aa();this.A-=this.mb},function(){this.I=this.I&-256|this.aa();this.A-=this.mb},function(){this.J=this.J&-256|this.aa();this.A-=this.mb},function(){this.B=this.B&-256|this.aa();this.A-=this.mb},function(){this.G=this.G&255|this.aa()<<8;this.A-=this.mb},function(){this.I=this.I&255|this.aa()<<8;this.A-=this.mb},function(){this.J= -this.J&255|this.aa()<<8;this.A-=this.mb},function(){this.B=this.B&255|this.aa()<<8;this.A-=this.mb},function(){this.G=this.K();this.A-=this.mb},function(){this.I=this.K();this.A-=this.mb},function(){this.J=this.K();this.A-=this.mb},function(){this.B=this.K();this.A-=this.mb},function(){this.X=this.K();this.A-=this.mb},function(){this.H=this.K();this.A-=this.mb},function(){this.F=this.K();this.A-=this.mb},function(){this.D=this.K();this.A-=this.mb},Qg,Rg,Qg,Rg,function(){O[this.aa()].call(this,Qd)}, -function(){O[this.aa()].call(this,Pd)},function(){this.Y|=1;vg[this.aa()].call(this,zd,this.aa)},function(){this.Y|=1;wg[this.aa()].call(this,zd,this.K)},Sg,Tg,Sg,Tg,function(){Ic.call(this,3,null,this.Yj)},function(){var a=this.aa(),b;a:{b=this.Uk[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.$=256;this.A-=this.Aj},function(){this.G=this.G&-256|(pc(this)?255:0);this.A-=2},function(){this.G= -this.G&-256|this.S(this.C,this.B+(this.G&255)&65535);this.A-=this.zk},Ug,Ug,Ug,Ug,Ug,Ug,Ug,Ug,function(){var a=this.L();(this.I=this.I-1&65535)&&this.W&this.$-1?(H(this,this.qa+a),this.A-=this.gk):this.A-=this.Zh},function(){var a=this.L();!(this.I=this.I-1&65535)||this.W&this.$-1?this.A-=this.ai:(H(this,this.qa+a),this.A-=this.$h)},function(){var a=this.L();(this.I=this.I-1&65535)?(H(this,this.qa+a),this.A-=this.fk):this.A-=this.Zh},function(){var a=this.L();this.I?this.A-=this.ai:(H(this,this.qa+ -a),this.A-=this.$h)},function(){var a=this.aa();this.G=this.G&-256|Va(this.ma,a,this.Ca-2);this.A-=this.Th},function(){var a=this.aa();this.G=Va(this.ma,a,this.Ca-1)|Va(this.ma,a+1&65535,this.Ca-2)<<8;this.A-=this.Th},function(){var a=this.aa();Xa(this.ma,a,this.G&255,this.Ca-2);this.A-=this.hi},function(){var a=this.aa();Xa(this.ma,a,this.G&255,this.Ca-2);Xa(this.ma,a+1&65535,this.G>>8,this.Ca-2);this.A-=this.hi},function(){var a=this.K();J(this,this.qa);H(this,this.qa+a);this.A-=this.Fj},function(){var a= -this.K();H(this,this.qa+a);this.A-=this.Uh},function(){Zb(this,this.K(),this.K());this.A-=this.bk},function(){var a=this.L();H(this,this.qa+a);this.A-=this.Uh},function(){this.G=this.G&-256|Va(this.ma,this.J,this.Ca-1);this.A-=this.Sh},function(){this.G=Va(this.ma,this.J,this.Ca-1)|Va(this.ma,this.J+1&65535,this.Ca-1)<<8;this.A-=this.Sh},function(){Xa(this.ma,this.J,this.G&255,this.Ca-1);this.A-=this.gi},function(){Xa(this.ma,this.J,this.G&255,this.Ca-1);Xa(this.ma,this.J+1&65535,this.G>>8,this.Ca- -1);this.A-=this.gi},Vg,Vg,function(){this.Y|=132;this.A-=this.rb},function(){this.Y|=68;this.A-=this.rb},function(){this.Va|=4;this.A-=2;this.Ga&512||fb(this)},function(){pc(this)?vc(this):zc(this);this.A-=2},function(){this.nb=-1;vg[this.aa()].call(this,Dd,ud);0<=this.nb&&(this.G=this.nb)},function(){this.nb=-1;wg[this.aa()].call(this,Ed,ud);0<=this.nb&&(this.G=this.nb,this.J=this.Af)},function(){this.W&=~this.$;this.A-=2},function(){this.W|=this.$;this.A-=2},function(){this.Ga&=-513;this.A-=this.Dj}, -function(){this.Ga|=512;this.Y|=4;this.A-=2},function(){this.Ga&=-1025;this.A-=2},function(){this.Ga|=1024;this.A-=2},function(){vg[this.aa()].call(this,Sb,ud)},function(){wg[this.aa()].call(this,Ub,ud)}]; -function P(a){v.call(this,"ChipSet",a,P);this.Da=a.model;this.Da=void 0!==this.Da?parseInt(this.Da,10):Wg;this.Eb=0;var b=a.sw1;if(b)this.Eb=Xg(b,Yg|Zg.Tk);else if(b=a.fdrives||2,this.Eb|=Q.Ng,b--,this.Eb|=(b&3)<=$g&&(this.Te=this.Ue=2);this.gg=a.scaleTimers||!1;this.An=a.rtcDate;this.lj=!1;a.sound&&window&&"webkitAudioContext"in window&& -(this.ah=new webkitAudioContext);this.reset();this.Oa()}y(v,P);var Wg=5150,$g=5170,ah={none:0,tv:1,color:2,mono:3,ega:0},Q={Ng:1},Yg=12,Zg={Ln:16,Hn:32,Tk:48,He:48,Ie:4};Q.ONE=0;Q.Mn=64;Q.Kn=128;Q.In=192;Q.He=192;Q.Ie=6;g=P.prototype; -g.tb=function(a,b,c,d){switch(c){case "sw1":return this.oa[c]=d,bh(this,c,d,this.Eb,{0:this.Da==Wg?"Bootable Floppy Drive":"Loop on POST",1:this.Da==Wg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Da==Wg)return this.oa[c]=d,bh(this,c,d,this.Fd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.oa[c]=d,!0}return!1}; -g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.Fa=a;this.ab=C(a,"Keyboard");this.Ak=Math.round(c.cd/1193181);Ua(b,this,ch);Wa(b,this,dh);this.Da<$g?(Ua(b,this,eh),Wa(b,this,fh)):(Ua(b,this,gh),Wa(b,this,hh))};g.Sb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0}; -g.reset=function(){var a;this.Hc=this.Eb;this.ge=this.Fd;ih(this);this.va=Array(this.Te);for(a=0;a=$g){this.Za=16;this.Tc=0;this.lc=16;this.Pf=0;this.Ld=160;512<=mh(this)&&(this.Ld|=16);3==nh(this)&&(this.Ld|=64);this.Tg=3;this.Sf=0;this.Hb=Array(7);this.ne=0;this.ka||(this.ka=Array(64)); -oh(this,this.An);for(a=14;46>a;a++)void 0===this.ka[a]&&(this.ka[a]=0);this.ka[20]=this.Hc&(Zg.He|2|Q.Ng|Q.He);this.ka[16]=ph(this,0)<<4|ph(this,1);qh(this)}}; -function oh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Tb("CMOS date invalid ("+b+"), using "+c)):b&&a.Tb("CMOS date: "+c);a.ka[0]=c.getSeconds();a.ka[1]=0;a.ka[2]=c.getMinutes();a.ka[3]=0;a.ka[4]=c.getHours();a.ka[5]=0;a.ka[6]=c.getDay()+1;a.ka[7]=c.getDate();a.ka[8]=c.getMonth()+1;c=c.getFullYear();a.ka[9]=c%100;c/=100;a.ka[50]=c%10|c/10<<4;a.gf=-1;a.ka[10]=38;a.ka[11]=2;a.ka[12]=0;a.ka[13]=128} -function qh(a){for(var b=0,c=16;46>c;c++)b+=a.ka[c];a.ka[47]=b&255;a.ka[46]=b>>8} -g.save=function(){var a=new G(this);a.set(0,[this.Eb,this.Fd,this.Hc,this.ge]);for(var b=[],c=0;c=$g&&(a.set(5,[this.Za,this.Tc,this.lc,this.Pf,this.Ld,this.Tg]),a.set(6,[this.Sf,this.Hb,this.ne,this.ka,this.gf]));return a.data()}; -g.restore=function(a){var b,c;b=a[0];this.Eb=b[0];this.Fd=b[1];this.Hc=b[2];this.ge=b[3];b=a[1];this.va=Array(this.Te);for(c=0;c>2)+1)*a.hm+32*((b?a.Fd:a.ge)&15)}function th(a,b){var c=b?a.Eb:a.Hc;return a.Da!=Wg||c&Q.Ng?((c&Q.He)>>Q.Ie)+1:0}function ph(a,b){return b>Zg.Ie} -function bh(a,b,c,d,e){for(var f="",l=1;8>=l;l++){var k="pcjs-bitCell";l||(k+=" pcjs-bitCellLeft");f+='
'+l+"
\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(l=0;l>2].Ja[b&3],c,d,e)}function Ch(a,b,c){b=a.va[b>>2].Ja[b&3];b.Zf&&b.wh&&b.yg?(c&&(b.$f=c),b.ad||Jc(a,b,!0)):c&&c(!0)} -function Jc(a,b,c){c&&(b.count=b.Pb[1]<<8|b.Pb[0],b.Rk=b.mode&12,b.mj=b.Xc=!1);for(var d=!1;0<=b.count&&(c=b.zc<<16|b.ub[1]<<8|b.ub[0],4==b.Rk?(d=!0,function(c){b.wh.call(b.Zf,b.yg,-1,function(f,l){0>f&&(b.mj||(b.mj=!0),f=255);b.ad||Ra(a.ma,c,f);(d=l)&&setTimeout(function(){Fh(b)||Jc(a,b)},0)})}(c)):8==b.Rk?(c=Oa(a.ma,c),0>b.wh.call(b.Zf,b.yg,c)&&(b.Xc=!0)):b.Xc=!0),!d&&!Fh(b););} -function Fh(a){if(!a.Xc&&0<=--a.count&&(a.mode&32?(a.ub[0]--,0>a.ub[0]&&(a.ub[0]=255,a.ub[1]--,0>a.ub[1]&&(a.ub[1]=255))):(a.ub[0]++,255>3,e=a.ob[d];e.wb|=1<<(b&7);e.of=c||0;1==d&&(a.ob[0].wb|=4);Ih(a,d)}function Kh(a,b){var c=b>>3,d=a.ob[c],e=1<<(b&7);d.wb&e&&(d.wb&=~e,1!=c||d.wb||(a.ob[0].wb&=-5),Ih(a,c))} -function Hc(a,b){void 0===b&&(b=0);var c=-1,d=a.ob[b];if(d.of)c=-2,d.of--;else for(var e=d.wb&((d.yc|d.md)^255),f=d.Md+1;;){var f=f&7,l=1<>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var l=this.Gb[c];l.Bf=f;l.mode=e;l.aj=d;l.pc=[0,0];l.Pb=[0,0];l.Ye=[0,0];l.Kc=!1;l.cf=!1;l.qe=!1;Qh(this,c);0==c&&Kh(this,0);2==c&&255==this.ob[0].md&&77==this.Mb&&(c=this.Gb[0],c.Dc[0]=c.pc[0],c.Dc[1]=c.pc[1],c.Cd=kb(this.ja,this.gg))}else Rh(this,c),d=this.Gb[c],d.Ye[0]=d.Pb[0],d.Ye[1]=d.Pb[1],d.cf=!0,Qh(this,c)}};function Th(a,b){var c=a.Gb[b],d=c.pc[1]<<8|c.pc[0];d||(d=1==c.Ud?256:65536);return d} -function Qh(a,b){var c=a.Gb[b];c.rd=32==c.Bf?1:0;c.Ud=48==c.Bf?2:1} -function Rh(a,b,c){var d=a.Gb[b];if(d.qe&&(2!=b||a.Mb&1)){var e=kb(a.ja,a.gg),f=(e-d.Cd)/a.Ak|0;0>f&&(d.Cd=e,f=0);var l=Th(a,b),k=a.Gb[b],m=k.Dc[1]<<8|k.Dc[0];m||(m=1==k.Ud?256:65536);k=m-f;0==d.mode?(0>=k&&(k=0),k||(d.Kc=!0,d.qe=!1,b||R(a,0))):4==d.mode?(d.Kc=1!=k,0>=k&&(k=l+k,0>=k&&(k=l),d.Dc[0]=k&255,d.Dc[1]=k>>8,d.Cd=e,!b&&d.Kc&&R(a,0))):6==d.mode&&(k-=f,0>=k&&(d.Kc=!d.Kc,k=l+k,0>=k&&(k=l),d.Dc[0]=k&255,d.Dc[1]=k>>8,d.Cd=e,!b&&d.Kc&&R(a,0)));d.Pb[0]=k&255;d.Pb[1]=k>>8;c&&(a.Cd=0)}return d} -function mb(a,b){for(var c=0;c=$g){var c=0,d=a.ja.cd,e=kb(a.ja,a.gg);if(0<=a.gf&&(c=e-a.gf,Math.floor(c/d)&&60<=++a.ka[0]&&(a.ka[0]=0,60<=++a.ka[2]&&(a.ka[2]=0,24<=++a.ka[4])))){a.ka[4]=0;a.ka[6]=a.ka[6]%7+1;var f=a.ka[9],l=ka[a.ka[8]-1];28==l&&0===f%4&&(f%100||0===f%400)&&l++;++a.ka[7]>l&&(a.ka[7]=1,12<++a.ka[8]&&(a.ka[8]=1,a.ka[9]=(a.ka[9]+1)%100))}a.gf=e-c%d}}g.Wl=function(){var a=this.Vf;this.Se&16&&(this.Mb&128?a=this.Hc:this.ab&&(a=Uh(this.ab)));return a}; -g.fn=function(a,b){this.Vf=b};g.Xl=function(){return this.Mb};g.gn=function(a,b){Vh(this,b);if(this.ab){var c=this.ab,d=b&128?!1:!0,e=b&64?!0:!1;c.mh!==e&&(c.mh=c.jj=e);c.oh!==d&&(c.oh=d)&&(c.jj?(Wh(c),c.jj=!1):Xh(c))}};function Vh(a,b){var c=!!(b&2),d=!!(a.Mb&2);a.Mb=b;c!=d&&lb(a,c)}g.Yl=function(){var a=0,a=this.Da==Wg?this.Mb&4?a|this.ge&15:a|this.ge>>4&1:this.Mb&8?a|this.Hc>>4:a|this.Hc&15;this.Mb&1&&Rh(this,2).Kc&&(a=this.Mb&2?a|32:a|16);return a};g.hn=function(a,b){this.Vg=b};g.Zl=function(){return this.Se}; -g.jn=function(a,b){this.Se=b};g.ml=function(){var a=this.Pf;this.Za&=-258;var b=this.ab&&Uh(this.ab,!0);b&&Yh(this,b);return a};g.Am=function(a,b){if(this.Za&8)switch(this.Tc){case 96:this.lc=b;this.Za=this.Za&-5|b&4;break;case 209:Zh(this,b);break;default:if(this.lc&=-17,this.ab){var c=-1;switch(b){case 255:c=250,Wh(this.ab)}Yh(this,c)}}this.Tc=b;this.Za&=-9};g.nl=function(){var a=this.Mb&-193;this.Mb^=16;return a};g.Bm=function(a,b){Vh(this,b)}; -g.ol=function(){var a=this.Za&255;this.Za&256&&(this.Za|=1,this.Za&=-257);return a};g.zm=function(a,b){this.Tc=b;this.Za|=8;var c=0;240<=this.Tc&&(c=this.Tc^15,this.Tc=240);switch(this.Tc){case 192:Yh(this,this.Ld);break;case 173:this.lc|=16;break;case 174:this.lc&=-17;break;case 170:this.ab&&Xh(this.ab,!0);this.lc|=16;Yh(this,85);Zh(this,3);break;case 224:Yh(this,this.lc&16?0:1);break;case 240:c&1&&Yb(this.ja)}};function Yh(a,b){0<=b&&(a.Pf=b,a.Za&=-2,a.Za|=256)} -function Zh(a,b){a.Tg=b;Ka(a.ma,!!(b&2));b&1||Yb(a.ja)}g.Cl=function(){return this.ne};g.Om=function(a,b){this.ne=b;this.Uf=b&128?0:128};g.Dl=function(){var a=this.ne&63;if(13>=a){var b=this.ka[a];if(10>a){var c=!1;4!=a&&5!=a||this.ka[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.ka[11]&4||(c&&128=c){if(e=b,10>c){var f=!1;this.ka[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};g.Ul=function(){return this.Sf};g.cn=function(a,b){this.Sf=b};g.en=function(a,b){this.Uf=b};function Xg(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.hb[c++]=f[b]>>16&255,this.hb[c++]=f[b]>>24&255;else this.hb=d;this.Sg=d.symbols;if(!this.hb.length){t("Empty ROM: "+a);return}if(1==this.hb.length){t(this.hb[0]);return}}catch(l){this.xa("ROM data error: "+ -l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.hb=Array(a.length),d=0;dthis.Of?21:23,c=a.ka[b]|a.ka[b+1]<<8,c=c+(this.gd>>10);a.ka[b]=c&255;a.ka[b+1]=c>>8;qh(a)}}else t("No RAM allocated")}; -u(function(){for(var a=B(window.document,"pcjs","ram"),b=0;bthis.Ba? +1:this.zg},Qg,function(){xg[this.aa()].call(this,yd,this.L);this.A-=0>this.Ba?1:this.zg},function(){ug[this.aa()].call(this,Kd)},function(){O[this.aa()].call(this,Ld)},function(){vg[this.Vf=this.aa()].call(this,Wd)},function(){P[this.Vf=this.aa()].call(this,Xd)},function(){this.Y|=1;ug[this.aa()].call(this,Id)},function(){this.Y|=1;O[this.aa()].call(this,Id)},function(){vg[this.aa()].call(this,Id)},function(){P[this.aa()].call(this,Id)},function(){var a=this.aa();switch((a&56)>>3){case 0:this.nb= +this.ib.ua;break;case 1:this.nb=this.Ea.ua;break;case 2:this.nb=this.Tb.ua;break;case 3:this.nb=this.ac.ua;break;default:N.call(this);return}this.Y|=1;O[a].call(this,Jd)},function(){this.Y|=1;this.C=this.M=this.Sk;P[this.aa()].call(this,Pd)},function(){var a,b=this.aa(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Da){G.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.X;break;case 5:a=this.H;break;case 6:a=this.F;break; +case 7:a=this.D}}P[b].call(this,Id);switch(c){case 0:pc(this,this.G);this.G=a;break;case 1:jc(this,this.I);this.I=a;break;case 2:lc(this,this.J);this.J=a;break;case 3:kc(this,this.B);this.B=a;break;case 4:pc(this,this.X);this.X=a;break;case 5:jc(this,this.H);this.H=a;break;case 6:lc(this,this.F);this.F=a;break;case 7:kc(this,this.D),this.D=a}},function(){this.Y|=1;xg[this.aa()].call(this,zd,this.Aa)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a= +this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.X;this.X=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Jj},function(){var a=this.K(),b=this.K();K(this,this.Ea.ua);K(this,this.qa); +$b(this,a,b);this.A-=this.Mj},function(){N.call(this)},function(){K(this,cc(this));this.A-=this.Zb},function(){ac(this,this.Aa());this.A-=this.Qb},function(){var a=this.G>>8;a&1?Ac(this):wc(this);a&4?rc(this)||(this.fa^=1):rc(this)&&(this.fa^=1);a&16?Bc(this):xc(this);a&64?Cc(this):yc(this);a&128?Dc(this):uc(this)&&(this.fa^=this.$>>1|this.$>>2,this.ha^=32896);this.A-=this.mb},function(){this.G=this.G&255|(cc(this)&213)<<8;this.A-=this.mb},function(){this.G=this.G&-256|this.S(this.C,this.K());this.A-= +this.hi},function(){this.G=this.T(this.C,this.K());this.A-=this.hi},function(){var a=this.K(),b=this.G;Gc(this,this.C.Nb(a,0),b);this.A-=this.ii},function(){var a=this.K(),b=this.G;Hc(this,this.C.Nb(a,1),b);this.A-=this.ii},function(){var a=1,b=0,c=this.ji;this.pa&192&&(a=this.I,b=1,c=this.li,this.pa&256||(this.A-=this.ki));if(a--){var d=this.Ia&1024?-1:1,e=this.S(this.C,this.F);Gc(this,this.ib.Nb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.pa&16?-3: +-2),this.Y|=256)}},function(){var a=1,b=0,c=this.ji;this.pa&192&&(a=this.I,b=1,c=this.li,this.pa&256||(this.A-=this.ki));if(a--){var d=this.Ia&1024?-2:2,e=this.T(this.C,this.F);Hc(this,this.ib.Nb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Uh;this.pa&192&&(a=this.I,b=1,c=this.Wh,this.pa&256||(this.A-=this.Vh));if(a--){var d=this.Ia&1024?-1:1,e=this.S(this.C,this.F),f=this.N(this.ib,this.D);Sc.call(this, +e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.fb;this.I-=b;a&&tc(this)==(this.pa&64)&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Uh;this.pa&192&&(a=this.I,b=1,c=this.Wh,this.pa&256||(this.A-=this.Vh));if(a--){var d=this.Ia&1024?-2:2,e=this.T(this.C,this.F),f=this.O(this.ib,this.D);$c.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.fb;this.I-=b;a&&tc(this)==(this.pa&64)&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){this.W= +this.fa=this.ha=this.G&255&this.aa();this.$=256;this.A-=this.$d},function(){this.W=this.fa=this.ha=this.G&this.K();this.$=65536;this.A-=this.$d},function(){var a=1,b=0,c=this.ui;this.pa&192&&(a=this.I,b=1,c=this.wi,this.pa&256||(this.A-=this.vi));if(a--){var d=this.G;Gc(this,this.ib.Nb(this.D,0),d);this.D=this.D+(this.Ia&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.ui;this.pa&192&&(a=this.I,b=1,c=this.wi,this.pa&256||(this.A-=this.vi));if(a--){var d= +this.G;Hc(this,this.ib.Nb(this.D,1),d);this.D=this.D+(this.Ia&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.bi;this.pa&192&&(a=this.I,b=1,c=this.di,this.pa&256||(this.A-=this.ci));a--&&(this.G=this.G&-256|this.S(this.C,this.F),this.F=this.F+(this.Ia&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.bi;this.pa&192&&(a=this.I,b=1,c=this.di,this.pa&256||(this.A-=this.ci));a--&&(this.G=this.T(this.C, +this.F),this.F=this.F+(this.Ia&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.oi;this.pa&192&&(a=this.I,b=1,c=this.qi,this.pa&256||(this.A-=this.pi));a--&&(Sc.call(this,this.G&255,this.N(this.ib,this.D)),this.D=this.D+(this.Ia&1024?-1:1)&65535,this.A-=c-this.fb,this.I-=b,a&&tc(this)==(this.pa&64)&&(J(this,-2),this.Y|=256))},function(){var a=1,b=0,c=this.oi;this.pa&192&&(a=this.I,b=1,c=this.qi,this.pa&256||(this.A-=this.pi));a--&&($c.call(this, +this.G,this.O(this.ib,this.D)),this.D=this.D+(this.Ia&1024?-2:2)&65535,this.A-=c-this.fb,this.I-=b,a&&tc(this)==(this.pa&64)&&(J(this,-2),this.Y|=256))},function(){this.G=this.G&-256|this.aa();this.A-=this.mb},function(){this.I=this.I&-256|this.aa();this.A-=this.mb},function(){this.J=this.J&-256|this.aa();this.A-=this.mb},function(){this.B=this.B&-256|this.aa();this.A-=this.mb},function(){this.G=this.G&255|this.aa()<<8;this.A-=this.mb},function(){this.I=this.I&255|this.aa()<<8;this.A-=this.mb},function(){this.J= +this.J&255|this.aa()<<8;this.A-=this.mb},function(){this.B=this.B&255|this.aa()<<8;this.A-=this.mb},function(){this.G=this.K();this.A-=this.mb},function(){this.I=this.K();this.A-=this.mb},function(){this.J=this.K();this.A-=this.mb},function(){this.B=this.K();this.A-=this.mb},function(){this.X=this.K();this.A-=this.mb},function(){this.H=this.K();this.A-=this.mb},function(){this.F=this.K();this.A-=this.mb},function(){this.D=this.K();this.A-=this.mb},Rg,Sg,Rg,Sg,function(){P[this.aa()].call(this,Rd)}, +function(){P[this.aa()].call(this,Qd)},function(){this.Y|=1;wg[this.aa()].call(this,Ad,this.aa)},function(){this.Y|=1;xg[this.aa()].call(this,Ad,this.K)},Tg,Ug,Tg,Ug,function(){Jc.call(this,3,null,this.ck)},function(){var a=this.aa(),b;a:{b=this.$k[a];if(void 0!==b)for(var c=0;c>8)*a+this.G&255;this.$=256;this.A-=this.Fj},function(){this.G=this.G&-256|(qc(this)?255:0);this.A-=2},function(){this.G= +this.G&-256|this.S(this.C,this.B+(this.G&255)&65535);this.A-=this.Ek},Vg,Vg,Vg,Vg,Vg,Vg,Vg,Vg,function(){var a=this.L();(this.I=this.I-1&65535)&&this.W&this.$-1?(I(this,this.qa+a),this.A-=this.lk):this.A-=this.ei},function(){var a=this.L();!(this.I=this.I-1&65535)||this.W&this.$-1?this.A-=this.gi:(I(this,this.qa+a),this.A-=this.fi)},function(){var a=this.L();(this.I=this.I-1&65535)?(I(this,this.qa+a),this.A-=this.kk):this.A-=this.ei},function(){var a=this.L();this.I?this.A-=this.gi:(I(this,this.qa+ +a),this.A-=this.fi)},function(){var a=this.aa();this.G=this.G&-256|Wa(this.ma,a,this.Ca-2);this.A-=this.Zh},function(){var a=this.aa();this.G=Wa(this.ma,a,this.Ca-1)|Wa(this.ma,a+1&65535,this.Ca-2)<<8;this.A-=this.Zh},function(){var a=this.aa();Ya(this.ma,a,this.G&255,this.Ca-2);this.A-=this.ni},function(){var a=this.aa();Ya(this.ma,a,this.G&255,this.Ca-2);Ya(this.ma,a+1&65535,this.G>>8,this.Ca-2);this.A-=this.ni},function(){var a=this.K();K(this,this.qa);I(this,this.qa+a);this.A-=this.Kj},function(){var a= +this.K();I(this,this.qa+a);this.A-=this.$h},function(){$b(this,this.K(),this.K());this.A-=this.gk},function(){var a=this.L();I(this,this.qa+a);this.A-=this.$h},function(){this.G=this.G&-256|Wa(this.ma,this.J,this.Ca-1);this.A-=this.Yh},function(){this.G=Wa(this.ma,this.J,this.Ca-1)|Wa(this.ma,this.J+1&65535,this.Ca-1)<<8;this.A-=this.Yh},function(){Ya(this.ma,this.J,this.G&255,this.Ca-1);this.A-=this.mi},function(){Ya(this.ma,this.J,this.G&255,this.Ca-1);Ya(this.ma,this.J+1&65535,this.G>>8,this.Ca- +1);this.A-=this.mi},Wg,Wg,function(){this.Y|=132;this.A-=this.rb},function(){this.Y|=68;this.A-=this.rb},function(){this.Ya|=4;this.A-=2;this.Ia&512||fb(this)},function(){qc(this)?wc(this):Ac(this);this.A-=2},function(){this.nb=-1;wg[this.aa()].call(this,Ed,vd);0<=this.nb&&(this.G=this.nb)},function(){this.nb=-1;xg[this.aa()].call(this,Fd,vd);0<=this.nb&&(this.G=this.nb,this.J=this.Bf)},function(){this.W&=~this.$;this.A-=2},function(){this.W|=this.$;this.A-=2},function(){this.Ia&=-513;this.A-=this.Ij}, +function(){this.Ia|=512;this.Y|=4;this.A-=2},function(){this.Ia&=-1025;this.A-=2},function(){this.Ia|=1024;this.A-=2},function(){wg[this.aa()].call(this,Tb,vd)},function(){xg[this.aa()].call(this,Vb,vd)}]; +function Q(a){w.call(this,"ChipSet",a,Q);this.Da=a.model;this.Da=void 0!==this.Da?parseInt(this.Da,10):Xg;this.Eb=0;var b=a.sw1;if(b)this.Eb=Yg(b,Zg|$g.Zk);else if(b=a.fdrives||2,this.Eb|=ah.Sg,b--,this.Eb|=(b&3)<=bh&&(this.Ve=this.We=2);this.jg=a.scaleTimers||!1;this.Gn=a.rtcDate;this.qj=!1;a.sound&&window&&"webkitAudioContext"in window&& +(this.hh=new webkitAudioContext);this.reset();this.Pa()}z(w,Q);var Xg=5150,bh=5170,ch={none:0,tv:1,color:2,mono:3,ega:0},ah={Sg:1,ONE:0,no:64,lo:128,Sn:192,Je:192,Ke:6},Zg=12,$g={mo:16,Nn:32,Zk:48,Je:48,Ke:4};g=Q.prototype; +g.tb=function(a,b,c,d){switch(c){case "sw1":return this.oa[c]=d,dh(this,c,d,this.Eb,{0:this.Da==Xg?"Bootable Floppy Drive":"Loop on POST",1:this.Da==Xg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Da==Xg)return this.oa[c]=d,dh(this,c,d,this.Gd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.oa[c]=d,!0}return!1}; +g.gc=function(a,b,c,d){this.ma=b;this.ia=c;this.Ja=d;this.Ga=a;this.Qa=D(a,"Keyboard");this.Fk=Math.round(c.cd/1193181);Va(b,this,eh);Xa(b,this,fh);this.Da=bh){this.bb=16;this.Sc=0;this.kd=16;this.Rf=0;this.Md=160;512<=oh(this)&&(this.Md|=16);3==ph(this)&&(this.Md|=64);this.Zg=3;this.Uf=0;this.Hb=Array(7);this.ne=0;this.ka||(this.ka=Array(64)); +qh(this,this.Gn);for(a=14;46>a;a++)void 0===this.ka[a]&&(this.ka[a]=0);this.ka[20]=this.Gc&($g.Je|2|ah.Sg|ah.Je);this.ka[16]=rh(this,0)<<4|rh(this,1);sh(this)}}; +function qh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Sb("CMOS date invalid ("+b+"), using "+c)):b&&a.Sb("CMOS date: "+c);a.ka[0]=c.getSeconds();a.ka[1]=0;a.ka[2]=c.getMinutes();a.ka[3]=0;a.ka[4]=c.getHours();a.ka[5]=0;a.ka[6]=c.getDay()+1;a.ka[7]=c.getDate();a.ka[8]=c.getMonth()+1;c=c.getFullYear();a.ka[9]=c%100;c/=100;a.ka[50]=c%10|c/10<<4;a.jf=-1;a.ka[10]=38;a.ka[11]=2;a.ka[12]=0;a.ka[13]=128} +function sh(a){for(var b=0,c=16;46>c;c++)b+=a.ka[c];a.ka[47]=b&255;a.ka[46]=b>>8} +g.save=function(){var a=new H(this);a.set(0,[this.Eb,this.Gd,this.Gc,this.ge]);for(var b=[],c=0;c=bh&&(a.set(5,[this.bb,this.Sc,this.kd,this.Rf,this.Md,this.Zg]),a.set(6,[this.Uf,this.Hb,this.ne,this.ka,this.jf]));return a.data()}; +g.restore=function(a){var b,c;b=a[0];this.Eb=b[0];this.Gd=b[1];this.Gc=b[2];this.ge=b[3];b=a[1];this.va=Array(this.Ve);for(c=0;c>2)+1)*a.nm+32*((b?a.Gd:a.ge)&15)}function vh(a,b){var c=b?a.Eb:a.Gc;return a.Da!=Xg||c&ah.Sg?((c&ah.Je)>>ah.Ke)+1:0}function rh(a,b){return b>$g.Ke} +function dh(a,b,c,d,e){for(var f="",l=1;8>=l;l++){var k="pcjs-bitCell";l||(k+=" pcjs-bitCellLeft");f+='
'+l+"
\n"}c.innerHTML=f;b=C(c,"pcjs-bitCell");c=null;for(l=0;l>2].Ma[b&3],c,d,e)}function Eh(a,b,c){b=a.va[b>>2].Ma[b&3];b.ag&&b.Ch&&b.Bg?(c&&(b.bg=c),b.ad||Kc(a,b,!0)):c&&c(!0)} +function Kc(a,b,c){c&&(b.count=b.Ob[1]<<8|b.Ob[0],b.Wk=b.mode&12,b.rj=b.Xc=!1);for(var d=!1;0<=b.count&&(c=b.yc<<16|b.ub[1]<<8|b.ub[0],4==b.Wk?(d=!0,function(c){b.Ch.call(b.ag,b.Bg,-1,function(f,l){0>f&&(b.rj||(b.rj=!0),f=255);b.ad||Sa(a.ma,c,f);(d=l)&&setTimeout(function(){Hh(b)||Kc(a,b)},0)})}(c)):8==b.Wk?(c=Pa(a.ma,c),0>b.Ch.call(b.ag,b.Bg,c)&&(b.Xc=!0)):b.Xc=!0),!d&&!Hh(b););} +function Hh(a){if(!a.Xc&&0<=--a.count&&(a.mode&32?(a.ub[0]--,0>a.ub[0]&&(a.ub[0]=255,a.ub[1]--,0>a.ub[1]&&(a.ub[1]=255))):(a.ub[0]++,255>3,e=a.ob[d];e.wb|=1<<(b&7);e.qf=c||0;1==d&&(a.ob[0].wb|=4);Kh(a,d)}function Mh(a,b){var c=b>>3,d=a.ob[c],e=1<<(b&7);d.wb&e&&(d.wb&=~e,1!=c||d.wb||(a.ob[0].wb&=-5),Kh(a,c))} +function Ic(a,b){void 0===b&&(b=0);var c=-1,d=a.ob[b];if(d.qf)c=-2,d.qf--;else for(var e=d.wb&((d.xc|d.nd)^255),f=d.Nd+1;;){var f=f&7,l=1<>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var l=this.Gb[c];l.Cf=f;l.mode=e;l.gj=d;l.oc=[0,0];l.Ob=[0,0];l.$e=[0,0];l.Jc=!1;l.ef=!1;l.qe=!1;Oh(this,c);0==c&&Mh(this,0);2==c&&255==this.ob[0].nd&&77==this.fc&&(c=this.Gb[0],c.Cc[0]=c.oc[0],c.Cc[1]=c.oc[1],c.Dd=lb(this.ia,this.jg))}else Ph(this,c),d=this.Gb[c],d.$e[0]=d.Ob[0],d.$e[1]=d.Ob[1],d.ef=!0,Oh(this,c)}};function Vh(a,b){var c=a.Gb[b],d=c.oc[1]<<8|c.oc[0];d||(d=1==c.Ud?256:65536);return d} +function Oh(a,b){var c=a.Gb[b];c.sd=32==c.Cf?1:0;c.Ud=48==c.Cf?2:1} +function Ph(a,b,c){var d=a.Gb[b];if(d.qe&&(2!=b||a.fc&1)){var e=lb(a.ia,a.jg),f=(e-d.Dd)/a.Fk|0;0>f&&(d.Dd=e,f=0);var l=Vh(a,b),k=a.Gb[b],m=k.Cc[1]<<8|k.Cc[0];m||(m=1==k.Ud?256:65536);k=m-f;0==d.mode?(0>=k&&(k=0),k||(d.Jc=!0,d.qe=!1,b||R(a,0))):4==d.mode?(d.Jc=1!=k,0>=k&&(k=l+k,0>=k&&(k=l),d.Cc[0]=k&255,d.Cc[1]=k>>8,d.Dd=e,!b&&d.Jc&&R(a,0))):6==d.mode&&(k-=f,0>=k&&(d.Jc=!d.Jc,k=l+k,0>=k&&(k=l),d.Cc[0]=k&255,d.Cc[1]=k>>8,d.Dd=e,!b&&d.Jc&&R(a,0)));d.Ob[0]=k&255;d.Ob[1]=k>>8;c&&(a.Dd=0)}return d} +function nb(a,b){for(var c=0;c=bh){var c=0,d=a.ia.cd,e=lb(a.ia,a.jg);if(0<=a.jf&&(c=e-a.jf,Math.floor(c/d)&&60<=++a.ka[0]&&(a.ka[0]=0,60<=++a.ka[2]&&(a.ka[2]=0,24<=++a.ka[4])))){a.ka[4]=0;a.ka[6]=a.ka[6]%7+1;var f=a.ka[9],l=la[a.ka[8]-1];28==l&&0===f%4&&(f%100||0===f%400)&&l++;++a.ka[7]>l&&(a.ka[7]=1,12<++a.ka[8]&&(a.ka[8]=1,a.ka[9]=(a.ka[9]+1)%100))}a.jf=e-c%d}}g.bm=function(){var a=this.Xf;this.Ue&16&&(this.fc&128?a=this.Gc:this.Qa&&(a=Wh(this.Qa)));return a}; +g.mn=function(a,b){this.Xf=b};g.cm=function(){return this.fc};g.nn=function(a,b){Xh(this,b);this.Qa&&Yh(this.Qa,b&128?!1:!0,b&64?!0:!1)};function Xh(a,b){var c=!!(b&2),d=!!(a.fc&2);a.fc=b;c!=d&&mb(a,c)}g.dm=function(){var a=0,a=this.Da==Xg?this.fc&4?a|this.ge&15:a|this.ge>>4&1:this.fc&8?a|this.Gc>>4:a|this.Gc&15;this.fc&1&&Ph(this,2).Jc&&(a=this.fc&2?a|32:a|16);return a};g.on=function(a,b){this.ah=b};g.em=function(){return this.Ue};g.pn=function(a,b){this.Ue=b}; +g.sl=function(){var a=this.Rf;this.bb&=-258;var b=this.Qa&&Wh(this.Qa,!0);b&&Zh(this,b);return a};g.Gm=function(a,b){if(this.bb&8)switch(this.Sc){case 96:$h(this,b);break;case 209:ai(this,b);break;default:if($h(this,this.kd&-17),this.Qa){var c=-1;switch(b){case 255:c=250,bi(this.Qa)}Zh(this,c)}}this.Sc=b;this.bb&=-9};g.tl=function(){return this.fc&-209|(lb(this.ia)&64?16:0)};g.Hm=function(a,b){Xh(this,b)};g.ul=function(){var a=this.bb&255;this.bb&256&&(this.bb|=1,this.bb&=-257);return a}; +g.Fm=function(a,b){this.Sc=b;this.bb|=8;var c=0;240<=this.Sc&&(c=this.Sc^15,this.Sc=240);switch(this.Sc){case 192:Zh(this,this.Md);break;case 173:$h(this,this.kd|16);break;case 174:$h(this,this.kd&-17);break;case 170:this.Qa&&ci(this.Qa,!0);$h(this,this.kd|16);Zh(this,85);ai(this,3);break;case 224:Zh(this,this.kd&16?0:1);break;case 240:c&1&&Zb(this.ia)}};function $h(a,b){a.kd=b;a.bb=a.bb&-5|b&4;a.Qa&&Yh(a.Qa,!!(b&8),!(b&16))&&Zh(a,Wh(a.Qa,!0))}function Zh(a,b){0<=b&&(a.Rf=b,a.bb&=-2,a.bb|=256)} +function ai(a,b){a.Zg=b;La(a.ma,!!(b&2));b&1||Zb(a.ia)}g.Il=function(){return this.ne};g.Um=function(a,b){this.ne=b;this.Wf=b&128?0:128};g.Jl=function(){var a=this.ne&63;if(13>=a){var b=this.ka[a];if(10>a){var c=!1;4!=a&&5!=a||this.ka[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.ka[11]&4||(c&&128=c){if(e=b,10>c){var f=!1;this.ka[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};g.$l=function(){return this.Uf};g.jn=function(a,b){this.Uf=b};g.ln=function(a,b){this.Wf=b};function Yg(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.jb[c++]=f[b]>>16&255,this.jb[c++]=f[b]>>24&255;else this.jb=d;this.Yg=d.symbols;if(!this.jb.length){u("Empty ROM: "+a);return}if(1==this.jb.length){u(this.jb[0]);return}}catch(l){this.xa("ROM data error: "+ +l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.jb=Array(a.length),d=0;dthis.Qf?21:23,c=a.ka[b]|a.ka[b+1]<<8,c=c+(this.gd>>10);a.ka[b]=c&255;a.ka[b+1]=c>>8;sh(a)}}else u("No RAM allocated")}; +v(function(){for(var a=C(window.document,"pcjs","ram"),b=0;ba.fc.length){if(!(!d&&!a.Rg[c]||d&&a.Rg[c])){a.Rg[c]=d;a.fc.push(b);1==a.fc.length&&a.ga&&R(a.ga,1);for(var e in fi)if(fi[e]==c){(c=a.oa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.fc.length&&a.fc.push(255)}function ki(a,b){var c=b?a.nm:a.mm;a.ja&&a.ja.Lc&&(c/=a.ja.Lc);return c}function li(a,b){!a.de||void 0!==b&&b==a.de||(clearTimeout(a.Pc[a.de]),mi(a,a.de,!1))} -function hi(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Ek=f);240==f+224?(a.wa&=-2,c&&(a.wa|=1),f+=224,e=!1):241==f+224?(a.wa&=-5,c&&(a.wa|=4),f+=224,e=!1):242==f+224?(a.wa&=-9,c&&(a.wa|=8),f+=224,e=!1):244==f+224?(a.wa&=-17,c&&(a.wa|=16),f+=224,d=ii(a,f)):91==f?(a.wa&=-33,c&&(a.wa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.wa&12)&&(f=254),d=c?!ii(a,f):!1):void 0!==S[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.wa&=-33,a.cl||f!=a.Ek||li(a));void 0===d&&(d=!mi(a,f,c));return d} -function ii(a,b,c){var d=!1;li(a,b);mi(a,b,!0)&&(c?mi(a,b,!1):(c=!1,a.Pc[b]&&(clearTimeout(a.Pc[b]),c=!0),c=ki(a,c),a.Pc[a.de=b]=setTimeout(function(a){return function(){mi(a,b,!1)}}(a),c)),d=!0);return d} -function mi(a,b,c){var d=!1;c||(a.Pc[b]=null,a.de==b&&(a.de=0));var e=S[b];void 0===e&&1<=b&&26>=b&&(e=S[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.wa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.wa&17||(d=42):224==f?a.wa&18||(d=54):241==f?a.wa&4||(d=29):242==f&&(a.wa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(yi)];this.jg=b;this.Ya=e[2];this.cc=e[3];this.Bc=d||e[4];65536<=this.Bc&&720896<=this.Ya&&(this.cc=Math.min(this.Bc>>2,32768));this.Yb=c[0];this.hc=c[1];this.We=c[2];this.Ff=c[3];this.sc=c[4]&255;this.ig=c[4]>>8&255;this.Vb=c[5];this.Eh=yi;if(5==b){this.Eh=zi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,this.Bc,Array(this.Bc>>2),771,0,4294967295, -0,4294967295,0,4294967295,0]);this.ud=b[0];this.Yd=b[1];this.Hd=b[2];this.Li=b[3];this.og=b[4];this.uh=b[5];this.ve=b[6];this.Mf=b[7];this.xh=b[8];this.yh=b[9];this.ue=b[10];this.je=b[11];this.kb=b[12];d=this.Bc>>2;if((this.Kd=b[14])&&this.Kd.length>8&255)}var Y=[,,function(a){a+=this.offset;return(this.ea.kb=this.la[a])>>this.ea.wi&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.la[b]>>8:this.la[b])&255}]; -Y[16]=function(a){a+=this.offset;a=this.la[a];for(var b=this.ea.Gh&this.ea.Hh,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.la[c]&~this.ea.Sa|(b|b<<8|b<<16|b<<24)&this.ea.Sa;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)}; -Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.ae;d=d&this.ea.Sa|this.la[c]&~this.ea.Sa;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)}; -Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.ae;d&=this.ea.kb;d=d&this.ea.Sa|this.la[c]&~this.ea.Sa;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)}; -Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.ae;d|=this.ea.kb;d=d&this.ea.Sa|this.la[c]&~this.ea.Sa;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)}; -Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.ae;d^=this.ea.kb;d=d&this.ea.Sa|this.la[c]&~this.ea.Sa;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.Sa&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.la[d]&~c;c=c&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[d]!=c&&(this.la[d]=c,this.Ua=!0)}; -Y[4096]=function(a){a+=this.offset;var b=this.la[a]&~this.ea.Sa|this.ea.kb&this.ea.Sa;this.la[a]!=b&&(this.la[a]=b,this.Ua=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=vi[b&15],d=d&this.ea.Sa|this.la[c]&~this.ea.Sa,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=vi[b&15],d=d&this.ea.kb,d=d&this.ea.Sa|this.la[c]&~this.ea.Sa,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)}; -Y[40960]=function(a,b){var c=a+this.offset,d=vi[b&15],d=d|this.ea.kb,d=d&this.ea.Sa|this.la[c]&~this.ea.Sa,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=vi[b&15],d=d^this.ea.kb,d=d&this.ea.Sa|this.la[c]&~this.ea.Sa,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Ua=!0)}; -function Ci(a){var b=[];if(void 0!==a.jg){b[0]=a.Yb;b[1]=a.hc;b[2]=a.We;b[3]=a.Ff;b[4]=a.sc|a.ig<<8;b[5]=a.Vb;if(5==a.jg){var c=[];c[0]=a.ud;c[1]=a.Yd;c[2]=a.Hd;c[3]=a.Li;c[4]=a.og;c[5]=a.uh;c[6]=a.ve;c[7]=a.Mf;c[8]=a.xh;c[9]=a.yh;c[10]=a.ue;c[11]=a.je;c[12]=a.kb;c[13]=a.Bc;var d;a:if(d=a.Kd){var e=0,f=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var k=l;k>1;f[e++]=m;k=n}if(f.lengtha.ec.length){if(!(!d&&!a.Xg[c]||d&&a.Xg[c])){a.Xg[c]=d;a.ec.push(b);1==a.ec.length&&a.ga&&R(a.ga,1);for(var e in ji)if(ji[e]==c){(c=a.oa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.ec.length&&a.ec.push(255)}function oi(a,b){var c=b?a.tm:a.sm;a.ia&&a.ia.Kc&&(c/=a.ia.Kc);return c}function pi(a,b){!a.de||void 0!==b&&b==a.de||(clearTimeout(a.Oc[a.de]),qi(a,a.de,!1))} +function li(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Jk=f);240==f+224?(a.wa&=-2,c&&(a.wa|=1),f+=224,e=!1):241==f+224?(a.wa&=-5,c&&(a.wa|=4),f+=224,e=!1):242==f+224?(a.wa&=-9,c&&(a.wa|=8),f+=224,e=!1):244==f+224?(a.wa&=-17,c&&(a.wa|=16),f+=224,d=mi(a,f)):91==f?(a.wa&=-33,c&&(a.wa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.wa&12)&&(f=254),d=c?!mi(a,f):!1):void 0!==S[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.wa&=-33,a.il||f!=a.Jk||pi(a));void 0===d&&(d=!qi(a,f,c));return d} +function mi(a,b,c){var d=!1;pi(a,b);qi(a,b,!0)&&(c?qi(a,b,!1):(c=!1,a.Oc[b]&&(clearTimeout(a.Oc[b]),c=!0),c=oi(a,c),a.Oc[a.de=b]=setTimeout(function(a){return function(){qi(a,b,!1)}}(a),c)),d=!0);return d} +function qi(a,b,c){var d=!1;c||(a.Oc[b]=null,a.de==b&&(a.de=0));var e=S[b];void 0===e&&1<=b&&26>=b&&(e=S[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.wa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.wa&17||(d=42):224==f?a.wa&18||(d=54):241==f?a.wa&4||(d=29):242==f&&(a.wa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;cc.length)c=[!1,0,null,null,0,Array(Ci)];this.mg=b;this.ab=e[2];this.bc=e[3];this.Ac=d||e[4];65536<=this.Ac&&720896<=this.ab&&(this.bc=Math.min(this.Ac>>2,32768));this.Xb=c[0];this.hc=c[1];this.Ye=c[2];this.Gf=c[3];this.rc=c[4]&255;this.lg=c[4]>>8&255;this.Ub=c[5];this.Kh=Ci;if(5==b){this.Kh=Di;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,this.Ac,Array(this.Ac>>2),771,0,4294967295, +0,4294967295,0,4294967295,0]);this.vd=b[0];this.Yd=b[1];this.Id=b[2];this.Ri=b[3];this.rg=b[4];this.Ah=b[5];this.ve=b[6];this.Of=b[7];this.Dh=b[8];this.Eh=b[9];this.ue=b[10];this.je=b[11];this.kb=b[12];d=this.Ac>>2;if((this.Ld=b[14])&&this.Ld.length>8&255)}var Y=[,,function(a){a+=this.offset;return(this.ea.kb=this.la[a])>>this.ea.Ci&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.la[b]>>8:this.la[b])&255}]; +Y[16]=function(a){a+=this.offset;a=this.la[a];for(var b=this.ea.Mh&this.ea.Nh,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.la[c]&~this.ea.Ua|(b|b<<8|b<<16|b<<24)&this.ea.Ua;d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)}; +Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Lc|b<<8-this.ea.Lc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Cd|this.ea.ae;d=d&this.ea.Ua|this.la[c]&~this.ea.Ua;d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)}; +Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Lc|b<<8-this.ea.Lc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Cd|this.ea.ae;d&=this.ea.kb;d=d&this.ea.Ua|this.la[c]&~this.ea.Ua;d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)}; +Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Lc|b<<8-this.ea.Lc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Cd|this.ea.ae;d|=this.ea.kb;d=d&this.ea.Ua|this.la[c]&~this.ea.Ua;d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)}; +Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Lc|b<<8-this.ea.Lc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Cd|this.ea.ae;d^=this.ea.kb;d=d&this.ea.Ua|this.la[c]&~this.ea.Ua;d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.Ua&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.la[d]&~c;c=c&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[d]!=c&&(this.la[d]=c,this.Xa=!0)}; +Y[4096]=function(a){a+=this.offset;var b=this.la[a]&~this.ea.Ua|this.ea.kb&this.ea.Ua;this.la[a]!=b&&(this.la[a]=b,this.Xa=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=zi[b&15],d=d&this.ea.Ua|this.la[c]&~this.ea.Ua,d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=zi[b&15],d=d&this.ea.kb,d=d&this.ea.Ua|this.la[c]&~this.ea.Ua,d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)}; +Y[40960]=function(a,b){var c=a+this.offset,d=zi[b&15],d=d|this.ea.kb,d=d&this.ea.Ua|this.la[c]&~this.ea.Ua,d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=zi[b&15],d=d^this.ea.kb,d=d&this.ea.Ua|this.la[c]&~this.ea.Ua,d=d&this.ea.Za|this.ea.kb&~this.ea.Za;this.la[c]!=d&&(this.la[c]=d,this.Xa=!0)}; +function Gi(a){var b=[];if(void 0!==a.mg){b[0]=a.Xb;b[1]=a.hc;b[2]=a.Ye;b[3]=a.Gf;b[4]=a.rc|a.lg<<8;b[5]=a.Ub;if(5==a.mg){var c=[];c[0]=a.vd;c[1]=a.Yd;c[2]=a.Id;c[3]=a.Ri;c[4]=a.rg;c[5]=a.Ah;c[6]=a.ve;c[7]=a.Of;c[8]=a.Dh;c[9]=a.Eh;c[10]=a.ue;c[11]=a.je;c[12]=a.kb;c[13]=a.Ac;var d;a:if(d=a.Ld){var e=0,f=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var k=l;k>1;f[e++]=m;k=n}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Sa(this.ma,b,c|d<<8);ab(this,!0)}};function Ji(a){a.ia.og&1?(a.Ac=a.Zg,a.Nb=a.ia):(a.Ac=a.ia,a.Nb=a.Yf)}g.save=function(){var a=new G(this);a.set(0,Ci(this.Zg));a.set(1,Ci(this.Yf));a.set(2,[this.zd,this.Nc,this.yd]);a.set(3,Ci(this.ia));return a.data()}; -g.restore=function(a){var b=a[2];this.zd=b[0];this.Nc=b[1];this.yd=b[2];this.za=null;this.Ac=this.Zg=new wi(this,1,a[0]);this.Nb=this.Yf=new wi(this,3,a[1]);this.ia=new wi(this,5,a[3],this.Bc);this.ia.Yb&&Ji(this);Ki(this);if(!Mi(this))return!1;Ni(this);return!0}; -g.vm=function(a,b,c){if(c)this.xa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){t("Empty font ROM image: "+a);return}if(1==d.length){t(d[0]);return}if(8192==d.length)ci(this,d,[0,6144]);else{this.xa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.xa("Font ROM data error: "+e.message);return}this.Oa()}}; -function Oi(a,b){if(1==b)return a.Qc[0]=W[0],a.Qc[1]=W[7],a.Qc;if(2==b){var c=a.za.We;if(a.za===a.ia){var d=a.ia.Hd[0],c=d&7;d&16&&(c|=8);18!=a.ia.Hd[1]&&(c|=32)}a.Qc[0]=W[c&15];c=c&32?ti:si;for(d=0;deb||!aa?eb:8,hd=Lh.createImageData(n.Wb,n.Xb),ra=0;256>ra;ra++){for(Qa= -0;Qa=eb-2,Nj=jc[Qa>(8<=qb&&176<=ra&&223>=ra?7:qb)?r:gd;Ri(hd,Mh,Nh,Oh);L&&Ri(hd,Mh+1,Nh,Oh)}Lh.putImageData(hd,(ra&15)*n.Wb,(ra>>4)*n.Xb)}n.ie[x]="#"+ca(r[0])+ca(r[1])+ca(r[2]);n.Si[x]=r;n.Og[x]=kc;n=!0}}a.jd[b]=s;return n}function Si(a){0a.Rd&&(a.Rd=0):a.Rd=-1} -function Ni(a){if(a.Ab){for(var b=10;15>=b;b++)if(null==a.za.Vb[b])return;var c=a.za.Vb[10],b=c&31,d=a.za.Vb[11]&31,e=a.za.Vb[9]&31,f=!1;a.za===a.ia&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Ti(a);else{c=a.za.Vb[15]+((a.za.Vb[14]&63)<<8);a.tc!=c&&(Ti(a),a.tc=c);d=d-b+1;if(a.Sk!=b||a.ej!=d)a.Sk=b,a.ej=d;a.sd=e+1;Si(a)}}} -function Ti(a){if(0<=a.tc){if(void 0!==a.Lb){var b=a.Lb[a.tc];if(b&131072){var b=b&-131073,c=a.tc%a.lb,d=Math.floor(a.tc/a.lb);a.Ab&&a.jd[a.Ab]&&(a.pe&&Ui(a,c,d,b,a.pe),Ui(a,c,d,b));a.Lb[a.tc]=b}}a.tc=-1}} -function Vi(a){var b;a=a.za;var c=a.je[5];if(null!=c){b=2;var d=512,e=a.je[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Mc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}g.fe=function(a){var b=this.za;null!=a&&b&&a!=b.Dh&&(b.Jg(a),this.ma.Jg(b.Ya,b.cc,b.Oe))}; -function Mi(a,b){var c,d=a.yd,e=a.za;if(e)if(1==e.jg)d=ni;else if(5==e.jg){var d=null,f=e.Bc>>2,l=32768f&&(d=c?13:14):c&&(d-=2));c=Vi(a)}}else e.hc&8&&(e.hc&2?(d=e.hc&16?6:5,e.hc&4||(d-=1)):(d=e.hc&1?3:1,e.hc&4&&(d-= -1)));else a.yd=null,null==d&&(d=a.Nc);if(!Li(a,d,b))return!1;a.fe(c);return!0} -function Li(a,b,c){if(null!=b&&(b!=a.yd||c)){a.Wk=0;a.yd=b;b=a.za||(b==ni?a.Ac:a.Nb);if(b!=a.za||b.Ya!=a.Ya||b.cc!=a.cc){Ti(a);if(a.Ya){if(!Na(a.ma,a.Ya,a.cc))return!1;a.za&&(a.za.Yb=!1)}a.za=b;b.Yb=!0;a.Ya=b.Ya;a.cc=b.cc;if(!La(a.ma,b.Ya,b.cc,!1,b===a.ia?b:null))return!1}a.Ab=0;a.lb=a.ug;a.ac=a.Kh;a.Fh=U[ni][2];b=0;var d=U[a.yd];d&&(a.lb=d[0],a.ac=d[1],a.Fh=d[2],b=d[3]||0,a.Ab=d[4],4==a.zd&&a.za===a.ia&&3==a.Ab&&(7==a.ia.Vb[9]?a.ac=43:a.Ab=5));a.wj=a.lb*a.ac;a.rg=a.wj/a.Fh;a.$g=(a.rg<<1)+b;a.cj= -b?a.$g+b>>1:0;13<=a.yd&&(a.rg<<=1);a.jd.length&&(a.Vc=Math.floor(a.Uc/a.lb),a.Wc=Math.floor(a.td/a.ac),a.Ab?(b=a.jd[a.Ab],d=a.jd[a.Ab<<1],a.dl&&80==a.lb?d&&a.Vc>=3*d.Wb>>2&&(a.Ab<<=1,b=d):(d&&a.Vc>=d.Wb&&(a.Ab<<=1,b=d),b&&(a.Vc=b.Wb,a.Wc=b.Xb)),a.Ze=a.$e=0,b&&(a.Ze=a.lb*b.Wb,a.$e=a.ac*b.Xb)):(a.Vc=a.Wc=1,a.Ze=a.lb,a.$e=a.ac),a.lg=a.Cc.createImageData(a.Ze,a.$e),a.oe=window.document.createElement("canvas"),a.oe.width=a.Ze,a.oe.height=a.$e,a.pe=a.oe.getContext("2d"),a.Oi=a.Pi=0,a.dh=a.Uc,a.eh=a.td, -b=a.Uc-a.lb*a.Vc,d=a.td-a.ac*a.Wc,0>1,a.dh-=b),0>1,a.eh-=d),b||d)&&(a.Cc.fillStyle=a.qb.style.backgroundColor,a.Cc.fillRect(0,0,a.Uc,a.td));!1!==c?ab(a,!0):Wi(a,!0)}return!0}function Ri(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Wi(a,b){var c;if(b){if(c=a.rg,void 0===a.Lb||a.Lb.length!=c)a.Lb=Array(c)}else{if(void 0===a.Lb)return;c=a.Lb.length}for(var d=0;d>8;d=l&15;var k=a.jd[a.Ab];k.Je&&(d=k.Je[d]);var m=l>>4&15;k.Je&&(m=k.Je[m]);e?(b*=k.Wb,c*=k.Xb,e.fillStyle=k.ie[m],e.fillRect(b,c,k.Wb,k.Xb)):(b=b*a.Vc+a.Oi,c=c*a.Wc+a.Pi,a.Cc.fillStyle=k.ie[m],a.Cc.fillRect(b,c,a.Vc,a.Wc));l&256&&(m=(f&15)*k.Wb,f=(f>>4)*k.Xb,e?e.drawImage(k.Og[d],m,f,k.Wb,k.Xb,b,c,k.Wb,k.Xb):a.Cc.drawImage(k.Og[d],m,f,k.Wb,k.Xb,b,c,a.Vc,a.Wc));l&512&&(f=a.Sk,l=a.ej,e?(a.sd&&a.sd!==k.Xb&&(f=Math.floor(f*k.Xb/a.sd),l=Math.floor(l*k.Xb/a.sd)), -e.fillStyle=k.ie[d],e.fillRect(b,c+f,k.Wb,l)):(a.sd&&a.sd!==a.Wc&&(f=Math.floor(f*a.Wc/a.sd),l=Math.floor(l*a.Wc/a.sd)),a.Cc.fillStyle=k.ie[d],a.Cc.fillRect(b,c+f,a.Vc,l)))} -function ab(a,b){if(a.zb){var c=!1;a.za&&(a.za===a.ia?a.ia.Yd&32&&(c=!0):a.za.hc&8&&(c=!0));if(c||b){if(b)Wi(a,!0);else if(void 0===a.Lb)return;var d=!1;!(b||++a.Wk&15)&&0<=a.Rd&&(a.Rd++,d=!0);var e=0,f=a.wj,c=a.za.Ya,l=c+a.za.cc,k=(a.za.Vb[12]<<8)+a.za.Vb[13];a.Ab&&(k<<=1);var c=c+k,m=a.$g;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(k=!b){for(var k=a.ma,n=!0,q=c>>k.Ib;0a.tc)return;e=a.tc;f=e+1}}if(a.Ab){if(a.jd[a.Ab]){d= -0;k=a.Qd=0;m=1048575;a.za.hc&32&&(k=32768,m&=~k,a.Rd&2||(m&=-65537));for(c+=e<<1;c>8| -(s&255)<<8;r=k;var eb=16;q>=m))>>(eb-=m);Ri(a.lg,q++,x,n[gd])}q>V&&(V=q);x=ba&&(ba=x+1)}e+=2;l++;if(q>=a.lb){q=0;x+=2;if(x>a.ac)break;x==a.ac&&(x=1,e=c+a.cj)}}Laa;aa++)ba=V&2155905152, -0>ba&&(ba=-ba),ba=X[ba]||0,Ri(a.lg,k++,m,l[ba]),V<<=1;k>q&&(q=k);m=L&&(L=m+1)}e++;if(k>=a.lb&&(k=0,++m>a.ac))break}n>2),a=this.ia.Li&-17|(this.Qf&1<e&&(e=0);e%b.Ih>b.pm&&(c|=1);e%=b.zj;e>b.rm&&(c|=8);b.Nh=d-e;b===a.ia?(c|=b.Ff&48^48,b.ud=!1):c=(b.Ff^=9)|240;return b.Ff=c} -var Di={948:T.prototype.Rl,949:T.prototype.Ql,952:T.prototype.Sl,954:T.prototype.Tl,980:T.prototype.zl,981:T.prototype.yl,984:T.prototype.Al,985:T.prototype.xl,986:T.prototype.Bl},Ei={948:T.prototype.an,949:T.prototype.$m,952:T.prototype.bn,980:T.prototype.Mm,981:T.prototype.Lm,984:T.prototype.Nm,985:T.prototype.Km},Fi={960:T.prototype.sj,961:T.prototype.sj,962:T.prototype.cm,964:T.prototype.bm,965:T.prototype.am,970:T.prototype.Kl,972:T.prototype.Jl,974:T.prototype.Il,975:T.prototype.Hl},Gi={954:T.prototype.Ck, -960:T.prototype.Bk,961:T.prototype.Bk,962:T.prototype.dn,964:T.prototype.ln,965:T.prototype.kn,970:T.prototype.Wm,972:T.prototype.Vm,974:T.prototype.Um,975:T.prototype.Tm,986:T.prototype.Ck}; -u(function(){for(var a=B(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new T(d,e,f);A(d,c)}}); -function Z(a){this.pj=a.adapter;switch(this.pj){case 1:this.Di=1016;this.pf=4;break;case 2:this.Di=760;this.pf=3;break;default:t("Unrecognized serial adapter #"+this.pj);return}this.qd=null;v.call(this,"SerialPort",a,Z);var b=a.binding,c;a=$i;b&&(void 0===c&&(c="Panel"),(c=Ca(c,this.id))&&(b=c.oa[b])&&this.tb(null,null,a,b))}y(v,Z);var $i="buffer";g=Z.prototype;g.Vi=function(a,b){return a==this.Ah?(this.tj=b,this):null}; -g.tb=function(a,b,c,d){var e=this;switch(c){case $i:return this.oa[c]=this.qd=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),aj(e,[b]))},d.onkeypress=function(a){a=a||window.event;aj(e,[a.which||a.keyCode])},!0}return!1};g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.ga=C(a,"ChipSet");Ua(b,this,bj,this.Di);Wa(b,this,cj,this.Di);this.Oa()}; -g.Sb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.wd()};g.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.Wg;c[b++]=this.Zi;c[b++]=this.he;c[b++]=this.Rf;c[b++]=this.ld;c[b++]=this.Nd;c[b++]=this.Ic;c[b++]=this.mc;c[b++]=this.Xi;c[b]=this.Ke;a.set(0,c);return a.data()};g.restore=function(a){return this.wd(a[0])}; -g.wd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Wg=a[b++];this.Zi=a[b++];this.he=a[b++];this.Rf=a[b++];this.ld=a[b++];this.Nd=a[b++];this.Ic=a[b++];this.mc=a[b++];this.Xi=a[b++];this.Ke=a[b];return!0};function aj(a,b){a.Ke=a.Ke.concat(b);dj(a)}function dj(a){0>8:this.Rf};g.Ml=function(){return this.ld};g.Nl=function(){return this.Nd};g.Pl=function(){return this.Ic};g.Ol=function(){return this.mc};g.Vl=function(){return this.Xi}; -g.mn=function(a,b){if(this.Nd&128)this.he=this.he&-256|b;else{this.Zi=b;this.mc&=-97;var c;this.qd?(13!=b&&(8==b?this.qd.value=this.qd.value.slice(0,-1):(this.qd.value+=String.fromCharCode(b),this.qd.scrollTop=this.qd.scrollHeight)),c=!0):c=!1;c&&(this.mc|=96)}};g.Xm=function(a,b){this.Nd&128?this.he=this.he&255|b<<8:this.Rf=b};g.Ym=function(a,b){this.Nd=b}; -g.Zm=function(a,b){var c=this.Ic;this.Ic=b;if(this.tj&&(c^b)&3){var c=this.tj,d=this.Ic,e=3==(d&3);if(e){if(!c.Yb){var f=!1;c.Ic&2||(c.reset(),f=!0);c.Ic&1||(f=!0);f&&aj(c.Xe,[77]);ej(c,c.qb);c.Yb=e}}else c.Yb&&(fj(c.qb),c.Yb=e);c.Ic=d}};var bj={0:Z.prototype.$l,1:Z.prototype.Ll,2:Z.prototype.Ml,3:Z.prototype.Nl,4:Z.prototype.Pl,5:Z.prototype.Ol,6:Z.prototype.Vl},cj={0:Z.prototype.mn,1:Z.prototype.Xm,3:Z.prototype.Ym,4:Z.prototype.Zm}; -u(function(){for(var a=B(window.document,"pcjs","serial"),b=0;ba.Gf||0>a.Hf)a.Gf=b.clientX,a.Hf=b.clientY;a.Fe=b.clientX-a.Gf;a.Ge=b.clientY-a.Hf;(a.Fe||a.Ge)&&hj(a);a.Gf=b.clientX;a.Hf=b.clientY}},!1),b.addEventListener("mousedown",function(b){ij(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){ij(a,b.button,!1)},!1),a.lh=!0),b.style.cursor="none")}function fj(a){a&&(a.style.cursor="auto")} -function ij(a,b,c){if(a.Yb&&a.ja&&a.ja.rc)switch(b){case 0:a.cg!=c&&(a.cg=c,hj(a));break;case 2:a.dg!=c&&(a.dg=c,hj(a))}}function hj(a){aj(a.Xe,[64|(a.cg?32:0)|(a.dg?16:0)|(a.Ge&192)>>4|(a.Fe&192)>>6,a.Fe&63,a.Ge&63]);a.Fe=a.Ge=0}u(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.ic+":"+this.Zb+":"+this.Gc+":"+this.yb,a+="&machine="+this.ea.te(),a+="&user="+this.ea.vd(),d=la()+"/api/v1/disk?"+a,this.rh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"): --1!==b.indexOf("/",b.length-1)&&(c="dir"),d=la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.re?"":d)+"&format=json"));p(d,!0,null,this,this.sm,b)}; -g.sm=function(a,b,c,d){var e=null;this.se=!1;var f=0>c&&this.Fa&&!this.Fa.zb;if(this.rh)c?this.xa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Yc=!0,e=this);else if(c)this.xa('Unable to load disk "'+this.fd+'" (error '+c+")",f);else try{if(0l&&0b.indexOf("0x")&&'["'!= -b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(k.length)if(1==k.length)t(k[0]);else{for(b=a=0;b>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var s=m.data;if(void 0===s){var r=m.bytes;if(void 0!==r&&r.length){for(var f=n<<2,x=r.length;xb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=l>>16&255;c[d++]=l>>24&255}return c}function rj(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} -g.write=function(a,b,c){if(this.se)return!1;if(b>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.oc?f=a.Fc+a.oc&&(a.oc+=f-(a.Fc+a.oc)+1):(a.Fc=f,a.oc=1);d[f]=d[f]&~(255<=this.Fb.length||m>=this.Fb[k].length||n>=this.Fb[k][m].length){c="sector "+k+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.se){c="unable to modify write-protected disk";b=-1;break}e= -l[f++];f=l[f++];l=e+f.length;k=this.Fb[k][m][n];for(m=k.data.length;mb&&this.xa("unable to restore disk '"+this.fd+": "+c);return b}; -function sj(a){v.call(this,"FDC",a,sj);this.dmaRead=this.fh;this.dmaWrite=this.gh;this.dmaFormat=this.Yk;this.ce=null;if(a.autoMount&&(this.ce=a.autoMount,"string"==typeof this.ce))try{this.ce=eval("("+a.autoMount+")")}catch(b){t("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ce=null}this.dc=[];this.Zc();this.Pe()||this.Oa()}y(v,sj); -var tj={3:{pd:3,Td:0,name:"SPECIFY"},4:{pd:2,Td:1,name:"DRIVE_STATUS"},5:{pd:9,Td:7,name:"WRITE_DATA"},6:{pd:9,Td:7,name:"READ_DATA"},7:{pd:2,Td:0,name:"RECALIBRATE"},8:{pd:1,Td:2,name:"INT_STATUS"},13:{pd:6,Td:7,name:"FORMAT"},15:{pd:3,Td:0,name:"SEEK"}};g=sj.prototype; -g.tb=function(a,b,c,d){switch(c){case "listDisks":return this.oa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.oa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){t("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d=''+d+"");c.innerHTML= -d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.oa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||uj(a,c)}}(this,d),!0;case "loadDrive":return this.oa[c]=d,d.onclick=function(a){return function(){var b,c=a.oa.listDisks,d=a.oa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.ra.restore(f)&&(e=!1);e&&a.ra&&void 0!==a.Ra&&(a.Ma=a.ra.seek(a.ib,a.La,a.Pa));return e};g.Ji=function(){for(var a=0,b=[],c=0;ca.ic&&(this.xa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.jb)),b=null);b&&(a.ra=b,a.Kk=c,a.ee=d,Bj(this,c,d,b),this.Ed|=128,this.xa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.jb),a.Xd));a.Xd&&(a.Xd=!1,--this.Pd||this.Oa());uj(this,a.jb)}; -function uj(a,b){if(0<=b&&b=this.Ta&&(this.ta&=-81,this.fb=this.Ta=0);return a}; -g.Rm=function(a,b){this.Ta=tj[c].pd){var d=!1;this.fb=0;var e,f,c=this.Ia()&31;switch(c){case 3:this.Ia("SRT");this.Ia("HLT");this.pb();break;case 4:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];this.pb();this.cb((e.Qa&4278190080)>>>24,"ST3");break;case 5:case 6:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];e.La=f>>2&1;e.ib=this.Ia("C");this.Ia("H");e.Pa=this.Ia("R");d=this.Ia("N");e.Xa=128<>>8,"ST1");this.cb((e.Qa&16711680)>>>16,"ST2");this.cb(e.ib,"C");this.cb(e.La,"H");this.cb(e.Pa,"R");this.cb(d,"N");d=!0;break;case 7:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];e.ib=e.kd=0;e.Qa=268435488;this.pb();d=!0;break;case 8:e=this.sa[this.jb];e.La=0;this.pb();Cj(this,e);this.cb(e.ib,"PCN");break;case 13:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];e.La=f>>2&1;d=this.Ia("N");e.Xa=128<>>8,"ST1");this.cb((e.Qa&16711680)>>>16,"ST2");this.cb(e.ib,"C");this.cb(e.La,"H");this.cb(e.Pa,"R");this.cb(d,"N");d=!0;break;case 15:f=this.Ia("DS"),this.jb=f&3,e=this.sa[this.jb],e.La=f>>2&1,c=this.Ia("NCN"),e.ib+=c-e.kd,0>e.ib&&(e.ib=0),e.ib>=e.ic&&(e.ib=e.ic-1),e.kd=c,e.Qa=32,0==e.ib&&(e.Qa|=268435456),this.pb(),d=!0}0b?this.vc(a,c):c(-1,!1)};g.gh=function(a,b){return void 0!==b&&0<=b?this.xc(a,b):-1};g.Yk=function(a,b){return void 0!==b&&0<=b?this.Ni(a,b):-1}; -g.hh=function(a){a.Qa=72;a.ra&&(a.Ma=null,a.Qa=0,this.ga&&(Eh(this.ga,2,this,"dmaRead",a),Ch(this.ga,2)))};g.ih=function(a){a.Qa=72;a.ra&&(a.ra.se?a.Qa=576:(a.Ma=null,a.Qa=0,this.ga&&(Eh(this.ga,2,this,"dmaWrite",a),Ch(this.ga,2))))};g.fj=function(a){a.Qa=72;a.ra&&(a.Ma=null,a.Qa=0,this.ga&&(a.Sd=0,a.ec=Array(4),a.Qe=!0,a.Ve=0,Eh(this.ga,2,this,"dmaFormat",a),Ch(this.ga,2),a.Qe=!1))}; -g.vc=function(a,b){var c=-1;if(!a.Qa&&a.ra){do{if(a.Ma&&0<=(c=rj(a.Ma,a.Ra++)))break;a.Ma=a.ra.seek(a.ib,a.La,a.Pa);if(!a.Ma){a.Qa=1088;break}a.Ra=0;this.Ne(a)}while(1)}b(c,!1)};g.xc=function(a,b){if(a.Qa||!a.ra)return-1;do{if(a.Ma&&a.ra.write(a.Ma,a.Ra++,b))break;a.Ma=a.ra.seek(a.ib,a.La,a.Pa);if(!a.Ma){a.Qa=8256;b=-1;break}a.Ra=0;this.Ne(a)}while(1);return b};g.Ne=function(a){a.Pa++;a.Pa>=a.Gc+1&&(a.Pa=1,a.La++,a.La>=a.Zb&&(a.La=0,a.ib++))}; -g.Ni=function(a,b){if(a.Qa)return-1;a.ec[a.Sd++]=b;if(a.Sd==a.ec.length){a.ib=a.ec[0];a.La=a.ec[1];a.Pa=a.ec[2];a.Xa=128<this.xc(a,a.Wi))return-1;a.Ve++}a.Ve>=a.nd&&(b=-1);return b};var xj={1012:sj.prototype.Gl,1013:sj.prototype.El,1015:sj.prototype.Fl},yj={1010:sj.prototype.Sm,1013:sj.prototype.Rm,1015:sj.prototype.Qm};u(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b=e&&(this.yf|=(f.type&3)<<(1-e<<1))}return d}; -g.Hi=function(){var a=0,b=[];this.Wd?(b[a++]=this.Dd,b[a++]=this.Jk,b[a++]=this.Eg,b[a++]=this.Fg,b[a++]=this.Dg,b[a++]=this.Cg,b[a++]=this.zf,b[a++]=this.ta,b[a++]=this.Fi):(b[a++]=this.yf,b[a++]=this.ta,b[a++]=this.Kb,b[a++]=this.fb,b[a++]=this.Ta,b[a++]=this.Ik,b[a++]=this.Hk,b[a++]=this.Gk,b[a++]=this.df);b[a]=this.Ji();return b}; -g.Bh=function(a,b,c,d,e){var f=0,l=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.jb=a;b.errorCode=d[f++];b.Ok=d[f++];b.re=d[f++];b.ke=d[f++];b.le=d[f++];b.La=d[f++];b.Zb=d[f++];b.Gd=d[f++];b.Pa=d[f++];b.nd=d[f++];b.Xa=d[f++];b.Wf=this.Wd?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.vd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Dj[this.ef][b.type])b.type=this.jl;c=Dj[this.ef][b.type]; -b.Gc=c[2]||17;b.yb=c[3]||512;if(e&&this.ga&&(e=this.ga,c=b.type,e.ka)){var k=e.ka[18],k=a?k&240|c:k&15|c<<4;e.ka&&(e.ka[18]=k,qh(e))}void 0===b.ra&&(b.ra=null,this.xa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Ij(this,b);b.Ra=d[f++];b.Ma=null;b.ra&&(a=d[f],void 0!==a&&0>b.ra.restore(a)&&(l=!1),l&&void 0!==b.Ra&&(b.Ma=b.ra.seek(b.Gd,b.La,b.Pa+b.Wf)));return l};g.Ji=function(){for(var a=0,b=[],c=0;c=this.Ta&&(this.fb=this.Ta=0,this.ta&=-15);return a};g.on=function(a,b){this.Ta=c&&(this.ta|=2,this.ta&=-2,Jj(this))};g.gm=function(){var a=this.ta;this.fb=this.Na.yb){var b=this;this.vc(this.Na,function(a){0<=a?b.ga&&R(b.ga,14):(b.ta=1,b.Dd=16)},!1)}else this.ta=80;return a}; -g.Fm=function(a,b){this.Na&&this.Na.Xa>=this.Na.yb&&(0>this.xc(this.Na,b)?(this.ta=1,this.Dd=16):this.Na.Ra==this.Na.yb&&(this.Na.Xa-=this.Na.yb,this.ga&&R(this.ga,14),this.Na.Xa>=this.Na.yb||(this.ta=80)))};g.tl=function(){return this.Dd};g.Jm=function(a,b){this.Jk=b};g.ul=function(){return this.Eg};g.Hm=function(a,b){this.Eg=b};g.vl=function(){return this.Fg};g.Im=function(a,b){this.Fg=b};g.ql=function(){return this.Dg};g.Em=function(a,b){this.Dg=b};g.pl=function(){return this.Cg}; -g.Dm=function(a,b){this.Cg=b};g.sl=function(){return this.zf};g.Gm=function(a,b){this.zf=b};g.wl=function(){return this.ta};g.Cm=function(a,b){this.Fi=b;this.ga&&Kh(this.ga,14);Kj(this)}; -function Kj(a){var b=!1,c=a.Fi,d=a.zf&16?1:0,e=a.zf&15,f=a.Dg|(a.Cg&3)<<8,l=a.Fg,k=a.Eg;a.Na=null;a.Dd=0;a.ta=80;(d=a.sa[d])?(d.Gd=f,d.La=e,d.Pa=l,d.Xa=k*d.yb,c=144<=c?c:c&240,d.Ma=null,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.vc(d,function(b){0<=b&&a.ga?(R(a.ga,14),a.ta=136):(a.ta=1,a.Dd=16)},!1);break;case 48:a.ga?(R(a.ga,14),a.ta=136):(a.ta=1,a.Dd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Dd=1;b=!0;break;case 145:d.Zb=e+1,d.Gc=k,b=!0}b&&a.ga&&R(a.ga,14)} -function Jj(a){a.fb=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,l=a.Ia(),k=a.Ia(),m=l<<2&768|k,n=l&63,q=a.Ia(),s=a.Ia(),r=a.sa[e];r&&(r.Gd=m,r.La=f,r.Pa=n,r.Xa=q*r.yb);switch(b){case 3:a.pb(r?r.errorCode:4);a.cb(c);a.cb(l);a.cb(k);a.cb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)r&&cb?this.vc(a,c):c(-1,!1)}; -g.gh=function(a,b){return void 0!==b&&0<=b?this.xc(a,b):-1};g.Zk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ra=a.Gc+b&&(a.Pa=b,a.La++,a.La>=a.Zb&&(a.La=0,a.Gd++))}; -g.Ni=function(a,b){if(a.errorCode)return-1;a.ec[a.Sd++]=b;if(a.Sd==a.ec.length){a.Gd=a.ec[0];a.La=a.ec[1];a.Pa=a.ec[2];a.Xa=128<this.xc(a,a.Wi))return-1;a.Ve++}a.Ve>=a.nd&&(b=-1);return b}; -var Fj={800:$.prototype.fm,801:$.prototype.gm,802:$.prototype.em},Ej={496:$.prototype.rl,497:$.prototype.tl,498:$.prototype.ul,499:$.prototype.vl,500:$.prototype.ql,501:$.prototype.pl,502:$.prototype.sl,503:$.prototype.wl},Hj={800:$.prototype.on,801:$.prototype.rn,802:$.prototype.qn,803:$.prototype.pn,807:$.prototype.Ai,811:$.prototype.Ai,815:$.prototype.Ai},Gj={496:$.prototype.Fm,497:$.prototype.Jm,498:$.prototype.Hm,499:$.prototype.Im,500:$.prototype.Em,501:$.prototype.Dm,502:$.prototype.Gm,503:$.prototype.Cm}; -u(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;bSj){if(d.load(this.Df)){this.Ee=new G(this,"1.15.4","failsafe");this.Ee.load()&&(Wj(this,d),a=2);this.Ee.set("timestamp",ja());Qj(this.Ee);var e=this.jc&&!this.hg;if(1==a||ma("Click OK to restore previous PCjs machine state.")){if(c=d.parse()){var f=d.get("code"),l=d.get("data");f&&("ok"==f?d.load(l):("error"==f&&"no machine state"!=l?(this.xa("Error: "+l),"unable to verify user"== -l&&(na(""),this.wc=null)):this.Tb(f+": "+l),Pj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Vj(this,c?d:null)}else 2==a&&d.clear()}else Vj(this);delete this.Df;delete this.Lg}e=Aa(this.id);for(f=0;fa[1];a=a[2];this.zb=!0;this.hj||(this.Tb("PCjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.hj=!0);this.ja&&Xj(this,this.ja,b,c,a);this.kj&&(Wj(this,b),b.clear());!c&&this.Ee&&(this.Ee.clear(),delete this.Ee)}; -function Wj(a,b){if(ma("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.vd(),d=b.toString(),e={app:"PCjs",ver:"1.15.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;p("http://www.pcjs.org/api/v1/report",!0,e)}} -function Yj(a,b,c){var d,e="none",f=new G(a,"1.15.4"),l=new G(a,"1.15.4","validate"),k=ja();l.set("timestamp",k);f.set("timestamp",k);f.set("version","1.15.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ja&&a.ja.Jb&&(c&&fb(a.ja),d=a.ja.Jb(b,c),"object"===typeof d&&f.set(a.ja.id,d),c&&(a.ja.zb=!1,!1===d&&(e=null)));for(var k=Aa(a.id),m=0;m/g;f=l.exec(a);){var k=f[2],m=p(k),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var k=q[0],s,r=/( [a-z]+=)(['"])(.*?)\2/g;s=r.exec(m);)k=0>k.indexOf(s[1])?k.replace(">",s[0]+">"):k.replace(new RegExp(s[1]+"(['\"])(.*?)\\1"),s[0]);q[0]!=k&&(n=n.replace(q[0],k))}else throw c="missing <"+f[1]+"> in "+k,Error(c); +g.reset=function(){var a=!0,b=0;this.ga&&(b=ph(this.ga));var c=!1;if(this.Da)switch(this.Da){case "ega":var c=!0,d=ti[this.Sf];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Ad!==b&&(this.Ad=b,a=!0);this.za=null;this.zc=this.fh=new Ai(this,1);this.Mb=this.$f=new Ai(this,3);c?(this.ja=new Ai(this,5,null,this.Ac),Ni(this)):this.ja=new Ai;Oi(this);this.zd=null;this.Mc=3==b?ri:3;this.Sd=this.sc=-1;this.Rd=0;Pi(this,this.Mc);if(this.za.ab&&a){a=this.za.ab+this.gh;for(b=this.za.ab;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),Ta(this.ma,b,c|d<<8);bb(this,!0)}};function Ni(a){a.ja.rg&1?(a.zc=a.fh,a.Mb=a.ja):(a.zc=a.ja,a.Mb=a.$f)}g.save=function(){var a=new H(this);a.set(0,Gi(this.fh));a.set(1,Gi(this.$f));a.set(2,[this.Ad,this.Mc,this.zd]);a.set(3,Gi(this.ja));return a.data()}; +g.restore=function(a){var b=a[2];this.Ad=b[0];this.Mc=b[1];this.zd=b[2];this.za=null;this.zc=this.fh=new Ai(this,1,a[0]);this.Mb=this.$f=new Ai(this,3,a[1]);this.ja=new Ai(this,5,a[3],this.Ac);this.ja.Xb&&Ni(this);Oi(this);if(!Qi(this))return!1;Ri(this);return!0}; +g.Bm=function(a,b,c){if(c)this.xa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){u("Empty font ROM image: "+a);return}if(1==d.length){u(d[0]);return}if(8192==d.length)gi(this,d,[0,6144]);else{this.xa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.xa("Font ROM data error: "+e.message);return}this.Pa()}}; +function Si(a,b){if(1==b)return a.Pc[0]=W[0],a.Pc[1]=W[7],a.Pc;if(2==b){var c=a.za.Ye;if(a.za===a.ja){var d=a.ja.Id[0],c=d&7;d&16&&(c|=8);18!=a.ja.Id[1]&&(c|=32)}a.Pc[0]=W[c&15];c=c&32?xi:wi;for(d=0;dgb||!aa?gb:8,md=Rh.createImageData(n.Vb,n.Wb),sa=0;256>sa;sa++){for(Ra= +0;Ra=gb-2,Tj=mc[Ra>(8<=tb&&176<=sa&&223>=sa?7:tb)?r:ld;Vi(md,Sh,Th,Uh);M&&Vi(md,Sh+1,Th,Uh)}Rh.putImageData(md,(sa&15)*n.Vb,(sa>>4)*n.Wb)}n.ie[y]="#"+da(r[0])+da(r[1])+da(r[2]);n.Yi[y]=r;n.Ug[y]=nc;n=!0}}a.jd[b]=s;return n}function Wi(a){0a.Sd&&(a.Sd=0):a.Sd=-1} +function Ri(a){if(a.Ab){for(var b=10;15>=b;b++)if(null==a.za.Ub[b])return;var c=a.za.Ub[10],b=c&31,d=a.za.Ub[11]&31,e=a.za.Ub[9]&31,f=!1;a.za===a.ja&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Xi(a);else{c=a.za.Ub[15]+((a.za.Ub[14]&63)<<8);a.sc!=c&&(Xi(a),a.sc=c);d=d-b+1;if(a.Xk!=b||a.kj!=d)a.Xk=b,a.kj=d;a.td=e+1;Wi(a)}}} +function Xi(a){if(0<=a.sc){if(void 0!==a.Lb){var b=a.Lb[a.sc];if(b&131072){var b=b&-131073,c=a.sc%a.lb,d=Math.floor(a.sc/a.lb);a.Ab&&a.jd[a.Ab]&&(a.pe&&Yi(a,c,d,b,a.pe),Yi(a,c,d,b));a.Lb[a.sc]=b}}a.sc=-1}} +function Zi(a){var b;a=a.za;var c=a.je[5];if(null!=c){b=2;var d=512,e=a.je[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Lc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}g.fe=function(a){var b=this.za;null!=a&&b&&a!=b.Jh&&(b.Mg(a),this.ma.Mg(b.ab,b.bc,b.Qe))}; +function Qi(a,b){var c,d=a.zd,e=a.za;if(e)if(1==e.mg)d=ri;else if(5==e.mg){var d=null,f=e.Ac>>2,l=32768f&&(d=c?13:14):c&&(d-=2));c=Zi(a)}}else e.hc&8&&(e.hc&2?(d=e.hc&16?6:5,e.hc&4||(d-=1)):(d=e.hc&1?3:1,e.hc&4&&(d-= +1)));else a.zd=null,null==d&&(d=a.Mc);if(!Pi(a,d,b))return!1;a.fe(c);return!0} +function Pi(a,b,c){if(null!=b&&(b!=a.zd||c)){a.bl=0;a.zd=b;b=a.za||(b==ri?a.zc:a.Mb);if(b!=a.za||b.ab!=a.ab||b.bc!=a.bc){Xi(a);if(a.ab){if(!Oa(a.ma,a.ab,a.bc))return!1;a.za&&(a.za.Xb=!1)}a.za=b;b.Xb=!0;a.ab=b.ab;a.bc=b.bc;if(!Ma(a.ma,b.ab,b.bc,!1,b===a.ja?b:null))return!1}a.Ab=0;a.lb=a.xg;a.$b=a.Qh;a.Lh=U[ri][2];b=0;var d=U[a.zd];d&&(a.lb=d[0],a.$b=d[1],a.Lh=d[2],b=d[3]||0,a.Ab=d[4],4==a.Ad&&a.za===a.ja&&3==a.Ab&&(7==a.ja.Ub[9]?a.$b=43:a.Ab=5));a.Bj=a.lb*a.$b;a.ug=a.Bj/a.Lh;a.gh=(a.ug<<1)+b;a.ij= +b?a.gh+b>>1:0;13<=a.zd&&(a.ug<<=1);a.jd.length&&(a.Vc=Math.floor(a.Uc/a.lb),a.Wc=Math.floor(a.ud/a.$b),a.Ab?(b=a.jd[a.Ab],d=a.jd[a.Ab<<1],a.jl&&80==a.lb?d&&a.Vc>=3*d.Vb>>2&&(a.Ab<<=1,b=d):(d&&a.Vc>=d.Vb&&(a.Ab<<=1,b=d),b&&(a.Vc=b.Vb,a.Wc=b.Wb)),a.af=a.bf=0,b&&(a.af=a.lb*b.Vb,a.bf=a.$b*b.Wb)):(a.Vc=a.Wc=1,a.af=a.lb,a.bf=a.$b),a.og=a.Bc.createImageData(a.af,a.bf),a.oe=window.document.createElement("canvas"),a.oe.width=a.af,a.oe.height=a.bf,a.pe=a.oe.getContext("2d"),a.Ui=a.Vi=0,a.jh=a.Uc,a.kh=a.ud, +b=a.Uc-a.lb*a.Vc,d=a.ud-a.$b*a.Wc,0>1,a.jh-=b),0>1,a.kh-=d),b||d)&&(a.Bc.fillStyle=a.qb.style.backgroundColor,a.Bc.fillRect(0,0,a.Uc,a.ud));!1!==c?bb(a,!0):$i(a,!0)}return!0}function Vi(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function $i(a,b){var c;if(b){if(c=a.ug,void 0===a.Lb||a.Lb.length!=c)a.Lb=Array(c)}else{if(void 0===a.Lb)return;c=a.Lb.length}for(var d=0;d>8;d=l&15;var k=a.jd[a.Ab];k.Le&&(d=k.Le[d]);var m=l>>4&15;k.Le&&(m=k.Le[m]);e?(b*=k.Vb,c*=k.Wb,e.fillStyle=k.ie[m],e.fillRect(b,c,k.Vb,k.Wb)):(b=b*a.Vc+a.Ui,c=c*a.Wc+a.Vi,a.Bc.fillStyle=k.ie[m],a.Bc.fillRect(b,c,a.Vc,a.Wc));l&256&&(m=(f&15)*k.Vb,f=(f>>4)*k.Wb,e?e.drawImage(k.Ug[d],m,f,k.Vb,k.Wb,b,c,k.Vb,k.Wb):a.Bc.drawImage(k.Ug[d],m,f,k.Vb,k.Wb,b,c,a.Vc,a.Wc));l&512&&(f=a.Xk,l=a.kj,e?(a.td&&a.td!==k.Wb&&(f=Math.floor(f*k.Wb/a.td),l=Math.floor(l*k.Wb/a.td)), +e.fillStyle=k.ie[d],e.fillRect(b,c+f,k.Vb,l)):(a.td&&a.td!==a.Wc&&(f=Math.floor(f*a.Wc/a.td),l=Math.floor(l*a.Wc/a.td)),a.Bc.fillStyle=k.ie[d],a.Bc.fillRect(b,c+f,a.Vc,l)))} +function bb(a,b){if(a.zb){var c=!1;a.za&&(a.za===a.ja?a.ja.Yd&32&&(c=!0):a.za.hc&8&&(c=!0));if(c||b){if(b)$i(a,!0);else if(void 0===a.Lb)return;var d=!1;!(b||++a.bl&15)&&0<=a.Sd&&(a.Sd++,d=!0);var e=0,f=a.Bj,c=a.za.ab,l=c+a.za.bc,k=(a.za.Ub[12]<<8)+a.za.Ub[13];a.Ab&&(k<<=1);var c=c+k,m=a.gh;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(k=!b){for(var k=a.ma,n=!0,q=c>>k.Ib;0a.sc)return;e=a.sc;f=e+1}}if(a.Ab){if(a.jd[a.Ab]){d= +0;k=a.Rd=0;m=1048575;a.za.hc&32&&(k=32768,m&=~k,a.Sd&2||(m&=-65537));for(c+=e<<1;c>8| +(s&255)<<8;r=k;var gb=16;q>=m))>>(gb-=m);Vi(a.og,q++,y,n[ld])}q>V&&(V=q);y=ba&&(ba=y+1)}e+=2;l++;if(q>=a.lb){q=0;y+=2;if(y>a.$b)break;y==a.$b&&(y=1,e=c+a.ij)}}Maa;aa++)ba=V&2155905152, +0>ba&&(ba=-ba),ba=X[ba]||0,Vi(a.og,k++,m,l[ba]),V<<=1;k>q&&(q=k);m=M&&(M=m+1)}e++;if(k>=a.lb&&(k=0,++m>a.$b))break}n>2),a=this.ja.Ri&-17|(this.Sf&1<e&&(e=0);e%b.Oh>b.vm&&(c|=1);e%=b.Ej;e>b.xm&&(c|=8);b.Th=d-e;b===a.ja?(c|=b.Gf&48^48,b.vd=!1):c=(b.Gf^=9)|240;return b.Gf=c} +var Hi={948:T.prototype.Xl,949:T.prototype.Wl,952:T.prototype.Yl,954:T.prototype.Zl,980:T.prototype.Fl,981:T.prototype.El,984:T.prototype.Gl,985:T.prototype.Dl,986:T.prototype.Hl},Ii={948:T.prototype.gn,949:T.prototype.fn,952:T.prototype.hn,980:T.prototype.Sm,981:T.prototype.Rm,984:T.prototype.Tm,985:T.prototype.Qm},Ji={960:T.prototype.xj,961:T.prototype.xj,962:T.prototype.im,964:T.prototype.hm,965:T.prototype.gm,970:T.prototype.Ql,972:T.prototype.Pl,974:T.prototype.Ol,975:T.prototype.Nl},Ki={954:T.prototype.Hk, +960:T.prototype.Gk,961:T.prototype.Gk,962:T.prototype.kn,964:T.prototype.rn,965:T.prototype.qn,970:T.prototype.bn,972:T.prototype.an,974:T.prototype.$m,975:T.prototype.Zm,986:T.prototype.Hk}; +v(function(){for(var a=C(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; +e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new T(d,e,f);B(d,c)}}); +function Z(a){this.uj=a.adapter;switch(this.uj){case 1:this.Ji=1016;this.rf=4;break;case 2:this.Ji=760;this.rf=3;break;default:u("Unrecognized serial adapter #"+this.uj);return}this.rd=null;w.call(this,"SerialPort",a,Z);var b=a.binding,c;a=dj;b&&(void 0===c&&(c="Panel"),(c=Da(c,this.id))&&(b=c.oa[b])&&this.tb(null,null,a,b))}z(w,Z);var dj="buffer";g=Z.prototype;g.aj=function(a,b){return a==this.Gh?(this.yj=b,this):null}; +g.tb=function(a,b,c,d){var e=this;switch(c){case dj:return this.oa[c]=this.rd=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),ej(e,[b]))},d.onkeypress=function(a){a=a||window.event;ej(e,[a.which||a.keyCode])},!0}return!1};g.gc=function(a,b,c,d){this.ma=b;this.ia=c;this.Ja=d;this.ga=D(a,"ChipSet");Va(b,this,fj,this.Ji);Xa(b,this,gj,this.Ji);this.Pa()}; +g.Rb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.xd()};g.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.bh;c[b++]=this.ej;c[b++]=this.he;c[b++]=this.Tf;c[b++]=this.md;c[b++]=this.Od;c[b++]=this.Hc;c[b++]=this.lc;c[b++]=this.cj;c[b]=this.Me;a.set(0,c);return a.data()};g.restore=function(a){return this.xd(a[0])}; +g.xd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.bh=a[b++];this.ej=a[b++];this.he=a[b++];this.Tf=a[b++];this.md=a[b++];this.Od=a[b++];this.Hc=a[b++];this.lc=a[b++];this.cj=a[b++];this.Me=a[b];return!0};function ej(a,b){a.Me=a.Me.concat(b);hj(a)}function hj(a){0>8:this.Tf};g.Sl=function(){return this.md};g.Tl=function(){return this.Od};g.Vl=function(){return this.Hc};g.Ul=function(){return this.lc};g.am=function(){return this.cj}; +g.sn=function(a,b){if(this.Od&128)this.he=this.he&-256|b;else{this.ej=b;this.lc&=-97;var c;this.rd?(13!=b&&(8==b?this.rd.value=this.rd.value.slice(0,-1):(this.rd.value+=String.fromCharCode(b),this.rd.scrollTop=this.rd.scrollHeight)),c=!0):c=!1;c&&(this.lc|=96)}};g.cn=function(a,b){this.Od&128?this.he=this.he&255|b<<8:this.Tf=b};g.dn=function(a,b){this.Od=b}; +g.en=function(a,b){var c=this.Hc;this.Hc=b;if(this.yj&&(c^b)&3){var c=this.yj,d=this.Hc,e=3==(d&3);if(e){if(!c.Xb){var f=!1;c.Hc&2||(c.reset(),f=!0);c.Hc&1||(f=!0);f&&ej(c.Ze,[77]);ij(c,c.qb);c.Xb=e}}else c.Xb&&(jj(c.qb),c.Xb=e);c.Hc=d}};var fj={0:Z.prototype.fm,1:Z.prototype.Rl,2:Z.prototype.Sl,3:Z.prototype.Tl,4:Z.prototype.Vl,5:Z.prototype.Ul,6:Z.prototype.am},gj={0:Z.prototype.sn,1:Z.prototype.cn,3:Z.prototype.dn,4:Z.prototype.en}; +v(function(){for(var a=C(window.document,"pcjs","serial"),b=0;ba.Hf||0>a.If)a.Hf=b.clientX,a.If=b.clientY;a.Ge=b.clientX-a.Hf;a.He=b.clientY-a.If;(a.Ge||a.He)&&lj(a);a.Hf=b.clientX;a.If=b.clientY}},!1),b.addEventListener("mousedown",function(b){mj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){mj(a,b.button,!1)},!1),a.rh=!0),b.style.cursor="none")}function jj(a){a&&(a.style.cursor="auto")} +function mj(a,b,c){if(a.Xb&&a.ia&&a.ia.qc)switch(b){case 0:a.eg!=c&&(a.eg=c,lj(a));break;case 2:a.fg!=c&&(a.fg=c,lj(a))}}function lj(a){ej(a.Ze,[64|(a.eg?32:0)|(a.fg?16:0)|(a.He&192)>>4|(a.Ge&192)>>6,a.Ge&63,a.He&63]);a.Ge=a.He=0}v(function(){for(var a=C(window.document,"pcjs","mouse"),b=0;bb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.ic+":"+this.Yb+":"+this.Fc+":"+this.yb,a+="&machine="+this.ea.te(),a+="&user="+this.ea.wd(),d=ma()+"/api/v1/disk?"+a,this.wh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"): +-1!==b.indexOf("/",b.length-1)&&(c="dir"),d=ma()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.re?"":d)+"&format=json"));t(d,!0,null,this,this.ym,b)}; +g.ym=function(a,b,c,d){var e=null;this.se=!1;var f=0>c&&this.Ga&&!this.Ga.zb;if(this.wh)c?this.xa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Yc=!0,e=this);else if(c)this.xa('Unable to load disk "'+this.fd+'" (error '+c+")",f);else try{if(0l&&0b.indexOf("0x")&&'["'!= +b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(k.length)if(1==k.length)u(k[0]);else{for(b=a=0;b>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var s=m.data;if(void 0===s){var r=m.bytes;if(void 0!==r&&r.length){for(var f=n<<2,y=r.length;yb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=l>>16&255;c[d++]=l>>24&255}return c}function vj(a,b){var c=-1;if(b>2,c=(d>((b&3)<<3)&255;return c} +g.write=function(a,b,c){if(this.se)return!1;if(b>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.nc?f=a.Ec+a.nc&&(a.nc+=f-(a.Ec+a.nc)+1):(a.Ec=f,a.nc=1);d[f]=d[f]&~(255<=this.Fb.length||m>=this.Fb[k].length||n>=this.Fb[k][m].length){c="sector "+k+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.se){c="unable to modify write-protected disk";b=-1;break}e= +l[f++];f=l[f++];l=e+f.length;k=this.Fb[k][m][n];for(m=k.data.length;mb&&this.xa("unable to restore disk '"+this.fd+": "+c);return b}; +function wj(a){w.call(this,"FDC",a,wj);this.dmaRead=this.lh;this.dmaWrite=this.mh;this.dmaFormat=this.dl;this.ce=null;if(a.autoMount&&(this.ce=a.autoMount,"string"==typeof this.ce))try{this.ce=eval("("+a.autoMount+")")}catch(b){u("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ce=null}this.cc=[];this.Zc();this.Re()||this.Pa()}z(w,wj);h={};ca={}; +var xj={3:{Tc:3,qd:0,name:ca.eo},4:{Tc:2,qd:1,name:ca.bo},5:{Tc:9,qd:7,name:ca.oo},6:{Tc:9,qd:7,name:ca.Xn},7:{Tc:2,qd:0,name:ca.Zn},8:{Tc:1,qd:2,name:ca.co},10:{Tc:2,qd:7,name:ca.Yn},13:{Tc:6,qd:7,name:ca.Rn},15:{Tc:3,qd:0,name:ca.ao}};g=wj.prototype; +g.tb=function(a,b,c,d){switch(c){case "listDisks":return this.oa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.oa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){u("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d=''+d+"");c.innerHTML= +d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.oa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||yj(a,c)}}(this,d),!0;case "loadDrive":return this.oa[c]=d,d.onclick=function(a){return function(){var b,c=a.oa.listDisks,d=a.oa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&ba.ra.restore(f)&&(e=!1);e&&a.ra&&void 0!==a.Ta&&(a.Ka=a.ra.seek(a.cb,a.Fa,a.La));return e};g.Pi=function(){for(var a=0,b=[],c=0;ca.ic&&(this.xa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Sa)),b=null);b&&(a.ra=b,a.Pk=c,a.ee=d,Fj(this,c,d,b),this.Fd|=128,this.xa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Sa),a.Xd));a.Xd&&(a.Xd=!1,--this.Qd||this.Pa());yj(this,a.Sa)}; +function yj(a,b){if(0<=b&&b=this.Wa&&(this.sa&=-81,this.hb=this.Wa=0);return a}; +g.Xm=function(a,b){this.Wa=xj[c].Tc){var d=!1;this.hb=0;var e,f,c=this.Ha()&31;switch(c){case 3:this.Ha(h.fo);this.Ha(h.Tn);this.pb();break;case 4:f=this.Ha(h.Ie);this.Sa=f&3;e=this.ta[this.Sa];this.pb();this.Va((e.Ra&4278190080)>>>24,h.ko);break;case 5:case 6:f=this.Ha(h.Ie);this.Sa=f&3;e=this.ta[this.Sa];e.Fa=f>>2&1;e.cb=this.Ha(h.Qg);this.Ha(h.Rg);e.La=this.Ha(h.Tg);d=this.Ha(h.Jf);e.$a=128<>2&1;e.La=1;d=0;e.Ra=0;e.ra&&(e.Ka=e.ra.seek(e.cb,e.Fa,e.La))? +d=e.Ka.length:e.Ra=1088;Gj(this,e);Hj(this,e);Ij(this,e);this.Va(e.cb,h.Qg);this.Va(e.Fa,h.Rg);this.Va(e.La,h.Tg);this.Va(d,h.Jf);d=!0;break;case 13:f=this.Ha(h.Ie);this.Sa=f&3;e=this.ta[this.Sa];e.Fa=f>>2&1;d=this.Ha(h.Jf);e.$a=128<>2&1,c=this.Ha(h.Vn), +e.cb+=c-e.ld,0>e.cb&&(e.cb=0),e.cb>=e.ic&&(e.cb=e.ic-1),e.ld=c,e.Ra=32,0==e.cb&&(e.Ra|=268435456),this.pb(),d=!0}0>>8,h.io)}function Ij(a,b){a.Va((b.Ra&16711680)>>>16,h.jo)}g.lh=function(a,b,c){void 0===b||0>b?this.uc(a,c):c(-1,!1)};g.mh=function(a,b){return void 0!==b&&0<=b?this.wc(a,b):-1};g.dl=function(a,b){return void 0!==b&&0<=b?this.Ti(a,b):-1};g.nh=function(a){a.Ra=72;a.ra&&(a.Ka=null,a.Ra=0,this.ga&&(Gh(this.ga,2,this,"dmaRead",a),Eh(this.ga,2)))}; +g.oh=function(a){a.Ra=72;a.ra&&(a.ra.se?a.Ra=576:(a.Ka=null,a.Ra=0,this.ga&&(Gh(this.ga,2,this,"dmaWrite",a),Eh(this.ga,2))))};g.lj=function(a){a.Ra=72;a.ra&&(a.Ka=null,a.Ra=0,this.ga&&(a.Td=0,a.dc=Array(4),a.Se=!0,a.Xe=0,Gh(this.ga,2,this,"dmaFormat",a),Eh(this.ga,2),a.Se=!1))};g.uc=function(a,b){var c=-1;if(!a.Ra&&a.ra){do{if(a.Ka&&0<=(c=vj(a.Ka,a.Ta++)))break;a.Ka=a.ra.seek(a.cb,a.Fa,a.La);if(!a.Ka){a.Ra=1088;break}a.Ta=0;this.Pe(a)}while(1)}b(c,!1)}; +g.wc=function(a,b){if(a.Ra||!a.ra)return-1;do{if(a.Ka&&a.ra.write(a.Ka,a.Ta++,b))break;a.Ka=a.ra.seek(a.cb,a.Fa,a.La);if(!a.Ka){a.Ra=8256;b=-1;break}a.Ta=0;this.Pe(a)}while(1);return b};g.Pe=function(a){a.La++;a.La>=a.Fc+1&&(a.La=1,a.Fa++,a.Fa>=a.Yb&&(a.Fa=0,a.cb++))};g.Ti=function(a,b){if(a.Ra)return-1;a.dc[a.Td++]=b;if(a.Td==a.dc.length){a.cb=a.dc[0];a.Fa=a.dc[1];a.La=a.dc[2];a.$a=128<this.wc(a,a.bj))return-1;a.Xe++}a.Xe>=a.od&&(b=-1);return b}; +var Bj={1012:wj.prototype.Ml,1013:wj.prototype.Kl,1015:wj.prototype.Ll},Cj={1010:wj.prototype.Ym,1013:wj.prototype.Xm,1015:wj.prototype.Wm};v(function(){for(var a=C(window.document,"pcjs","fdc"),b=0;b=e&&(this.Af|=(f.type&3)<<(1-e<<1))}return d}; +g.Ni=function(){var a=0,b=[];this.Wd?(b[a++]=this.Ed,b[a++]=this.Ok,b[a++]=this.Hg,b[a++]=this.Ig,b[a++]=this.Gg,b[a++]=this.Fg,b[a++]=this.Ae,b[a++]=this.sa,b[a++]=this.Li):(b[a++]=this.Af,b[a++]=this.sa,b[a++]=this.Kb,b[a++]=this.hb,b[a++]=this.Wa,b[a++]=this.Nk,b[a++]=this.Mk,b[a++]=this.Lk,b[a++]=this.ff);b[a]=this.Pi();return b}; +g.Hh=function(a,b,c,d,e){var f=0,l=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.Sa=a;b.errorCode=d[f++];b.Tk=d[f++];b.re=d[f++];b.ke=d[f++];b.le=d[f++];b.Fa=d[f++];b.Yb=d[f++];b.Hd=d[f++];b.La=d[f++];b.od=d[f++];b.$a=d[f++];b.Yf=this.Wd?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.wd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Jj[this.gf][b.type])b.type=this.pl;c=Jj[this.gf][b.type]; +b.Fc=c[2]||17;b.yb=c[3]||512;if(e&&this.ga&&(e=this.ga,c=b.type,e.ka)){var k=e.ka[18],k=a?k&240|c:k&15|c<<4;e.ka&&(e.ka[18]=k,sh(e))}void 0===b.ra&&(b.ra=null,this.xa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Oj(this,b);b.Ta=d[f++];b.Ka=null;b.ra&&(a=d[f],void 0!==a&&0>b.ra.restore(a)&&(l=!1),l&&void 0!==b.Ta&&(b.Ka=b.ra.seek(b.Hd,b.Fa,b.La+b.Yf)));return l};g.Pi=function(){for(var a=0,b=[],c=0;c=this.Wa&&(this.hb=this.Wa=0,this.sa&=-15);return a};g.un=function(a,b){this.Wa=c&&(this.sa|=2,this.sa&=-2,Pj(this))};g.mm=function(){var a=this.sa;this.hb=this.Oa.yb){var b=this;this.uc(this.Oa,function(a){0<=a?b.ga&&R(b.ga,14):(b.sa=1,b.Ed=16)},!1)}else this.sa=80;return a}; +g.Lm=function(a,b){this.Oa&&this.Oa.$a>=this.Oa.yb&&(0>this.wc(this.Oa,b)?(this.sa=1,this.Ed=16):this.Oa.Ta==this.Oa.yb&&(this.Oa.$a-=this.Oa.yb,this.ga&&R(this.ga,14),this.Oa.$a>=this.Oa.yb||(this.sa=80)))};g.zl=function(){return this.Ed};g.Pm=function(a,b){this.Ok=b};g.Al=function(){return this.Hg};g.Nm=function(a,b){this.Hg=b};g.Bl=function(){return this.Ig};g.Om=function(a,b){this.Ig=b};g.wl=function(){return this.Gg};g.Km=function(a,b){this.Gg=b};g.vl=function(){return this.Fg}; +g.Jm=function(a,b){this.Fg=b};g.yl=function(){return this.Ae};g.Mm=function(a,b){this.Ae=b;this.sa=this.ta[this.Ae&16?1:0]?this.sa|64:this.sa&-65};g.Cl=function(){return this.sa};g.Im=function(a,b){this.Li=b;this.ga&&Mh(this.ga,14);Qj(this)}; +function Qj(a){var b=!1,c=a.Li,d=a.Ae&16?1:0,e=a.Ae&15,f=a.Gg|(a.Fg&3)<<8,l=a.Ig,k=a.Hg;a.Oa=null;a.Ed=0;a.sa=80;(d=a.ta[d])?(d.Hd=f,d.Fa=e,d.La=l,d.$a=k*d.yb,c=144<=c?c:c&240,d.Ka=null,d.errorCode=0,a.Oa=d):c=-1;switch(c&240){case 32:a.uc(d,function(b){0<=b&&a.ga?(R(a.ga,14),a.sa=136):(a.sa=1,a.Ed=16)},!1);break;case 48:a.ga?(R(a.ga,14),a.sa=136):(a.sa=1,a.Ed=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Ed=1;b=!0;break;case 145:d.Yb=e+1,d.Fc=k,b=!0}b&&a.ga&&R(a.ga,14)} +function Pj(a){a.hb=0;var b=a.Ha(),c=a.Ha(),d=c&32,e=d>>5,f=c&31,l=a.Ha(),k=a.Ha(),m=l<<2&768|k,n=l&63,q=a.Ha(),s=a.Ha(),r=a.ta[e];r&&(r.Hd=m,r.Fa=f,r.La=n,r.$a=q*r.yb);switch(b){case 3:a.pb(r?r.errorCode:4);a.Va(c);a.Va(l);a.Va(k);a.Va(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ha());)r&&cb?this.uc(a,c):c(-1,!1)}; +g.mh=function(a,b){return void 0!==b&&0<=b?this.wc(a,b):-1};g.el=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta=a.Fc+b&&(a.La=b,a.Fa++,a.Fa>=a.Yb&&(a.Fa=0,a.Hd++))}; +g.Ti=function(a,b){if(a.errorCode)return-1;a.dc[a.Td++]=b;if(a.Td==a.dc.length){a.Hd=a.dc[0];a.Fa=a.dc[1];a.La=a.dc[2];a.$a=128<this.wc(a,a.bj))return-1;a.Xe++}a.Xe>=a.od&&(b=-1);return b}; +var Lj={800:$.prototype.lm,801:$.prototype.mm,802:$.prototype.km},Kj={496:$.prototype.xl,497:$.prototype.zl,498:$.prototype.Al,499:$.prototype.Bl,500:$.prototype.wl,501:$.prototype.vl,502:$.prototype.yl,503:$.prototype.Cl},Nj={800:$.prototype.un,801:$.prototype.xn,802:$.prototype.wn,803:$.prototype.vn,807:$.prototype.Gi,811:$.prototype.Gi,815:$.prototype.Gi},Mj={496:$.prototype.Lm,497:$.prototype.Pm,498:$.prototype.Nm,499:$.prototype.Om,500:$.prototype.Km,501:$.prototype.Jm,502:$.prototype.Mm,503:$.prototype.Im}; +v(function(){for(var a=C(window.document,"pcjs","hdc"),b=0;bYj){if(d.load(this.Ef)){this.Fe=new H(this,"1.15.4","failsafe");this.Fe.load()&&(ck(this,d),a=2);this.Fe.set("timestamp",ka());Wj(this.Fe);var e=this.jc&&!this.kg;if(1==a||na("Click OK to restore previous PCjs machine state.")){if(c=d.parse()){var f=d.get("code"),l=d.get("data");f&&("ok"==f?d.load(l):("error"==f&&"no machine state"!=l?(this.xa("Error: "+l),"unable to verify user"== +l&&(oa(""),this.vc=null)):this.Sb(f+": "+l),Vj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&bk(this,c?d:null)}else 2==a&&d.clear()}else bk(this);delete this.Ef;delete this.Og}e=Ba(this.id);for(f=0;fa[1];a=a[2];this.zb=!0;this.nj||(this.Sb("PCjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons \nLicense: GPL version 3 or later "),this.nj=!0);this.ia&&dk(this,this.ia,b,c,a);this.pj&&(ck(this,b),b.clear());!c&&this.Fe&&(this.Fe.clear(),delete this.Fe)}; +function ck(a,b){if(na("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.wd(),d=b.toString(),e={app:"PCjs",ver:"1.15.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;t("http://www.pcjs.org/api/v1/report",!0,e)}} +function ek(a,b,c){var d,e="none",f=new H(a,"1.15.4"),l=new H(a,"1.15.4","validate"),k=ka();l.set("timestamp",k);f.set("timestamp",k);f.set("version","1.15.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ia&&a.ia.Jb&&(c&&fb(a.ia),d=a.ia.Jb(b,c),"object"===typeof d&&f.set(a.ia.id,d),c&&(a.ia.zb=!1,!1===d&&(e=null)));for(var k=Ba(a.id),m=0;m/g;f=l.exec(a);){var k=f[2],m=t(k),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var k=q[0],s,r=/( [a-z]+=)(['"])(.*?)\2/g;s=r.exec(m);)k=0>k.indexOf(s[1])?k.replace(">",s[0]+">"):k.replace(new RegExp(s[1]+"(['\"])(.*?)\\1"),s[0]);q[0]!=k&&(n=n.replace(q[0],k))}else throw c="missing <"+f[1]+"> in "+k,Error(c); }n=n.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(f[0],n);l.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml");else throw Error("unrecognized XML: "+ (255