From 02a6205cc162a76fa78dd041f20f55d717741352 Mon Sep 17 00:00:00 2001 From: jchimene Date: Sat, 31 Dec 2022 13:15:25 -0700 Subject: [PATCH 1/7] RTX2001A simulator --- RTX2001A/CREDITS | 4 + RTX2001A/makefile | 155 + RTX2001A/rom.ini | 16384 ++++++++++++++++++++++++++++ RTX2001A/sim_defs.h | 1 + RTX2001A/simh.ini | 21 + RTX2001A/src/hp3k_defs.h | 132 + RTX2001A/src/rtx2001a_ab.c | 530 + RTX2001A/src/rtx2001a_ab.h | 71 + RTX2001A/src/rtx2001a_cpu.c | 363 + RTX2001A/src/rtx2001a_debug.h | 90 + RTX2001A/src/rtx2001a_decode.c | 638 ++ RTX2001A/src/rtx2001a_decode.h | 166 + RTX2001A/src/rtx2001a_defs.h | 54 + RTX2001A/src/rtx2001a_execute.c | 1454 +++ RTX2001A/src/rtx2001a_execute.h | 125 + RTX2001A/src/rtx2001a_mb.c | 222 + RTX2001A/src/rtx2001a_mb.h | 78 + RTX2001A/src/rtx2001a_psb.c | 69 + RTX2001A/src/rtx2001a_psb.h | 47 + RTX2001A/src/rtx2001a_registers.h | 513 + RTX2001A/src/rtx2001a_rsb.c | 85 + RTX2001A/src/rtx2001a_rsb.h | 66 + RTX2001A/src/rtx2001a_sys.c | 224 + 23 files changed, 21492 insertions(+) create mode 100644 RTX2001A/CREDITS create mode 100644 RTX2001A/makefile create mode 100644 RTX2001A/rom.ini create mode 120000 RTX2001A/sim_defs.h create mode 100644 RTX2001A/simh.ini create mode 100644 RTX2001A/src/hp3k_defs.h create mode 100644 RTX2001A/src/rtx2001a_ab.c create mode 100644 RTX2001A/src/rtx2001a_ab.h create mode 100644 RTX2001A/src/rtx2001a_cpu.c create mode 100644 RTX2001A/src/rtx2001a_debug.h create mode 100644 RTX2001A/src/rtx2001a_decode.c create mode 100644 RTX2001A/src/rtx2001a_decode.h create mode 100644 RTX2001A/src/rtx2001a_defs.h create mode 100644 RTX2001A/src/rtx2001a_execute.c create mode 100644 RTX2001A/src/rtx2001a_execute.h create mode 100644 RTX2001A/src/rtx2001a_mb.c create mode 100644 RTX2001A/src/rtx2001a_mb.h create mode 100644 RTX2001A/src/rtx2001a_psb.c create mode 100644 RTX2001A/src/rtx2001a_psb.h create mode 100644 RTX2001A/src/rtx2001a_registers.h create mode 100644 RTX2001A/src/rtx2001a_rsb.c create mode 100644 RTX2001A/src/rtx2001a_rsb.h create mode 100644 RTX2001A/src/rtx2001a_sys.c diff --git a/RTX2001A/CREDITS b/RTX2001A/CREDITS new file mode 100644 index 000000000..9f11c376a --- /dev/null +++ b/RTX2001A/CREDITS @@ -0,0 +1,4 @@ +This project would not be possible without the original development at Harris Semiconductor +of +o The RTX2000 simulator by Phil Koopman Jr. 9/x/90 +o The APPFORTH hex image by Rick VanNorman Fri 06-01-1990 \ No newline at end of file diff --git a/RTX2001A/makefile b/RTX2001A/makefile new file mode 100644 index 000000000..5f002d5b6 --- /dev/null +++ b/RTX2001A/makefile @@ -0,0 +1,155 @@ +# RTX-2001A +RTX2001AD = ${SIMHD}/RTX2001A/ +RTX2001AD_SRC = ${RTX2001AD}src/ + +RTX2001A_SRC = \ + ${RTX2001AD_SRC}rtx2001a_registers.h \ + ${RTX2001AD_SRC}rtx2001a_defs.h \ + ${RTX2001AD_SRC}rtx2001a_debug.h \ + ${RTX2001AD_SRC}rtx2001a_cpu.c \ + ${RTX2001AD_SRC}rtx2001a_sys.c \ + ${RTX2001AD_SRC}rtx2001a_decode.c \ + ${RTX2001AD_SRC}rtx2001a_decode.h \ + ${RTX2001AD_SRC}rtx2001a_execute.c \ + ${RTX2001AD_SRC}rtx2001a_execute.h \ + ${RTX2001AD_SRC}rtx2001a_ab.c \ + ${RTX2001AD_SRC}rtx2001a_ab.h \ + ${RTX2001AD_SRC}rtx2001a_mb.c \ + ${RTX2001AD_SRC}rtx2001a_mb.h \ + ${RTX2001AD_SRC}rtx2001a_psb.c \ + ${RTX2001AD_SRC}rtx2001a_psb.h \ + ${RTX2001AD_SRC}rtx2001a_rsb.c \ + ${RTX2001AD_SRC}rtx2001a_rsb.h + +# rtx2001a lib +RTX2001A_LIB = rtx2001a.a + +${RTX2001AD}${RTX2001A_LIB} : ${SIM} ${RTX2001A_SRC} + ${GCC} -c -fPIC ${CC_STD} -U__STRICT_ANSI__ ${CFLAGS_G} \ + ${CFLAGS_O} ${CFLAGS_GIT} ${CFLAGS_I} \ + -DSIM_COMPILER="${COMPILER_NAME}" -DSIM_VERSION_MODE="${SIM_VERSION_MODE}" \ + -DSIM_BUILD_TOOL=simh-makefile ${OS_CCDEFS} ${ROMS_OPT} ${SIM} ${RTX2001A_SRC} + ar vrcs ${RTX2001AD}${RTX2001A_LIB} rtx2001a_*.o sim_*.o + +# rtx2001a +rtx2001a : ${BIN}rtx2001a${EXE} + +# ${STUB_OPT} +${BIN}rtx2001a${EXE} : ${SIMH_LIB} ${RTX2001AD}${RTX2001A_LIB} + ${MKDIRBIN} + ${CC} scp.o ${SIMH_LIB} ${RTX2001AD}${RTX2001A_LIB} ${CC_OUTSPEC} ${LDFLAGS} + +# tests +OS_CCDEFS_TEST = ${OS_CCDEFS} +OS_CCDEFS_TEST += -Wall +OS_CCDEFS_TEST += -Wextra +OS_CCDEFS_TEST += -Wpointer-arith +OS_CCDEFS_TEST += -Wcast-align +OS_CCDEFS_TEST += -Wwrite-strings +OS_CCDEFS_TEST += -Wswitch-default +OS_CCDEFS_TEST += -Wunreachable-code +OS_CCDEFS_TEST += -Winit-self +OS_CCDEFS_TEST += -Wmissing-field-initializers +OS_CCDEFS_TEST += -Wno-unknown-pragmas +OS_CCDEFS_TEST += -Wstrict-prototypes +OS_CCDEFS_TEST += -Wundef +OS_CCDEFS_TEST += -Wold-style-definition + +UNITYD_SRC=../Unity/src/ + +RTX2001AD_TEST = ${RTX2001AD}test/ + +RTX2001A_TEST_MB_SRC = \ + ${RTX2001AD_TEST}test_mb.c \ + ${RTX2001AD_TEST}test_mb_long_store_fetch.c \ + ${RTX2001AD_TEST}test_mb_byte_store_fetch.c \ + ${RTX2001AD_TEST}test_mb_store_fetch.c \ + ${RTX2001AD_TEST}scp_stub.c \ + $(UNITYD_SRC)unity.c + +RTX2001A_TEST_AB_SRC = \ + ${RTX2001AD_TEST}test_ab.c \ + ${RTX2001AD_TEST}test_ab_gstore.c \ + ${RTX2001AD_TEST}test_ab_gfetch.c \ + ${RTX2001AD_TEST}scp_stub.c \ + $(UNITYD_SRC)unity.c + +RTX2001A_TEST_PSB_SRC = \ + ${RTX2001AD_TEST}test_psb.c \ + ${RTX2001AD_TEST}scp_stub.c \ + $(UNITYD_SRC)unity.c + +RTX2001A_TEST_RSB_SRC = \ + ${RTX2001AD_TEST}test_rsb.c \ + ${RTX2001AD_TEST}scp_stub.c \ + $(UNITYD_SRC)unity.c + +RTX2001A_TEST_DECODE_SRC = \ + ${RTX2001AD_TEST}test_decode.c \ + ${RTX2001AD_TEST}scp_stub.c \ + $(UNITYD_SRC)unity.c + +RTX2001A_TEST_EXECUTE_SRC = \ + ${RTX2001AD_TEST}test_execute.c \ + ${RTX2001AD_TEST}scp_stub.c \ + $(UNITYD_SRC)unity.c + +rtx2001a_test : \ + ${BIN}test_mb${EXE} \ + ${BIN}test_ab${EXE} \ + ${BIN}test_psb${EXE} \ + ${BIN}test_rsb${EXE} \ + ${BIN}test_decode${EXE} \ + ${BIN}test_execute${EXE} + +${BIN}test_mb${EXE} : ${RTX2001AD}${RTX2001A_LIB} ${RTX2001A_TEST_MB_SRC} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} -I${UNITYD_SRC} -I${RTX2001AD_SRC} \ + ${RTX2001A_TEST_MB_SRC} \ + ${LDFLAGS} \ + ${RTX2001AD}${RTX2001A_LIB} \ + ${CC_OUTSPEC} + +${BIN}test_ab${EXE} : ${RTX2001AD}${RTX2001A_LIB} ${RTX2001A_TEST_AB_SRC} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} -I${UNITYD_SRC} -I${RTX2001AD_SRC} \ + ${RTX2001A_TEST_AB_SRC} \ + ${LDFLAGS} \ + ${RTX2001AD}${RTX2001A_LIB} \ + ${CC_OUTSPEC} + +${BIN}test_psb${EXE} : ${RTX2001AD}${RTX2001A_LIB} ${RTX2001A_TEST_PSB_SRC} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} -I${UNITYD_SRC} -I${RTX2001AD_SRC} \ + ${RTX2001A_TEST_PSB_SRC} \ + ${LDFLAGS} \ + ${RTX2001AD}${RTX2001A_LIB} \ + ${CC_OUTSPEC} + +${BIN}test_rsb${EXE} : ${RTX2001AD}${RTX2001A_LIB} ${RTX2001A_TEST_RSB_SRC} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} -I${UNITYD_SRC} -I${RTX2001AD_SRC} \ + ${RTX2001A_TEST_RSB_SRC} \ + ${LDFLAGS} \ + ${RTX2001AD}${RTX2001A_LIB} \ + ${CC_OUTSPEC} + +${BIN}test_decode${EXE} : ${RTX2001AD}${RTX2001A_LIB} ${RTX2001A_TEST_DECODE_SRC} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} -I${UNITYD_SRC} -I${RTX2001AD_SRC} \ + ${RTX2001A_TEST_DECODE_SRC} \ + ${LDFLAGS} \ + ${RTX2001AD}${RTX2001A_LIB} \ + ${CC_OUTSPEC} + +${BIN}test_execute${EXE} : ${RTX2001AD}${RTX2001A_LIB} ${RTX2001A_TEST_EXECUTE_SRC} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} -I${UNITYD_SRC} -I${RTX2001AD_SRC} \ + ${RTX2001A_TEST_EXECUTE_SRC} \ + ${LDFLAGS} \ + ${RTX2001AD}${RTX2001A_LIB} \ + ${CC_OUTSPEC} + +# clean +rtx2001a_clean: + ${RM} -rf ${BIN} ${SIMH}/*.o ${RTX2001AD}$(RTX2001A_LIB) diff --git a/RTX2001A/rom.ini b/RTX2001A/rom.ini new file mode 100644 index 000000000..5b7ce5358 --- /dev/null +++ b/RTX2001A/rom.ini @@ -0,0 +1,16384 @@ +dep 0 17 +dep 1 5D +dep 2 FF +dep 3 FF +dep 4 FF +dep 5 FF +dep 6 FF +dep 7 FF +dep 8 FF +dep 9 FF +dep A FF +dep B FF +dep C FF +dep D FF +dep E FF +dep F FF +dep 10 FF +dep 11 FF +dep 12 FF +dep 13 FF +dep 14 FF +dep 15 FF +dep 16 FF +dep 17 FF +dep 18 FF +dep 19 FF +dep 1A FF +dep 1B FF +dep 1C FF +dep 1D FF +dep 1E FF +dep 1F FF +dep 20 AE +dep 21 80 +dep 22 BE +dep 23 01 +dep 24 AE +dep 25 80 +dep 26 BE +dep 27 81 +dep 28 AE +dep 29 80 +dep 2A BE +dep 2B 81 +dep 2C BE +dep 2D A7 +dep 2E BE +dep 2F 01 +dep 30 BE +dep 31 01 +dep 32 B8 +dep 33 C1 +dep 34 A0 +dep 35 C0 +dep 36 BE +dep 37 00 +dep 38 AE +dep 39 80 +dep 3A BE +dep 3B 81 +dep 3C AA +dep 3D 40 +dep 3E 88 +dep 3F 22 +dep 40 EE +dep 41 00 +dep 42 BE +dep 43 A7 +dep 44 B0 +dep 45 01 +dep 46 B0 +dep 47 01 +dep 48 B8 +dep 49 C2 +dep 4A BE +dep 4B A7 +dep 4C BE +dep 4D 01 +dep 4E AE +dep 4F 80 +dep 50 A0 +dep 51 C1 +dep 52 88 +dep 53 3A +dep 54 B8 +dep 55 80 +dep 56 A0 +dep 57 C0 +dep 58 BC +dep 59 80 +dep 5A BE +dep 5B 01 +dep 5C B4 +dep 5D 80 +dep 5E B8 +dep 5F C1 +dep 60 AC +dep 61 44 +dep 62 A0 +dep 63 01 +dep 64 88 +dep 65 37 +dep 66 AE +dep 67 40 +dep 68 B0 +dep 69 01 +dep 6A B8 +dep 6B C2 +dep 6C BE +dep 6D A7 +dep 6E BE +dep 6F 81 +dep 70 EE +dep 71 00 +dep 72 BE +dep 73 A7 +dep 74 B8 +dep 75 80 +dep 76 A0 +dep 77 C0 +dep 78 B4 +dep 79 81 +dep 7A AE +dep 7B C0 +dep 7C B4 +dep 7D 80 +dep 7E AC +dep 7F 44 +dep 80 A0 +dep 81 01 +dep 82 88 +dep 83 46 +dep 84 AE +dep 85 40 +dep 86 B0 +dep 87 01 +dep 88 B8 +dep 89 C2 +dep 8A BE +dep 8B A7 +dep 8C BE +dep 8D 81 +dep 8E EE +dep 8F 00 +dep 90 BE +dep 91 A7 +dep 92 A0 +dep 93 20 +dep 94 DE +dep 95 20 +dep 96 FF +dep 97 FE +dep 98 00 +dep 99 00 +dep 9A 85 +dep 9B 46 +dep 9C 45 +dep 9D 4E +dep 9E 43 +dep 9F 45 +dep A0 DE +dep A1 20 +dep A2 FF +dep A3 FC +dep A4 00 +dep A5 98 +dep A6 85 +dep A7 56 +dep A8 4C +dep A9 49 +dep AA 4E +dep AB 4B +dep AC DE +dep AD 20 +dep AE FF +dep AF FA +dep B0 00 +dep B1 00 +dep B2 82 +dep B3 64 +dep B4 41 +dep B5 20 +dep B6 DE +dep B7 20 +dep B8 FF +dep B9 F8 +dep BA 00 +dep BB 00 +dep BC 85 +dep BD 53 +dep BE 54 +dep BF 41 +dep C0 54 +dep C1 45 +dep C2 DE +dep C3 20 +dep C4 FF +dep C5 F6 +dep C6 DE +dep C7 20 +dep C8 FF +dep C9 F4 +dep CA DE +dep CB 20 +dep CC FF +dep CD F2 +dep CE DE +dep CF 20 +dep D0 FF +dep D1 F0 +dep D2 DE +dep D3 20 +dep D4 FF +dep D5 EE +dep D6 DE +dep D7 20 +dep D8 FF +dep D9 EC +dep DA DE +dep DB 20 +dep DC FF +dep DD EA +dep DE DE +dep DF 20 +dep E0 FF +dep E1 E8 +dep E2 DE +dep E3 20 +dep E4 FF +dep E5 E6 +dep E6 DE +dep E7 20 +dep E8 FF +dep E9 E4 +dep EA 00 +dep EB 00 +dep EC 84 +dep ED 42 +dep EE 41 +dep EF 53 +dep F0 45 +dep F1 20 +dep F2 DE +dep F3 20 +dep F4 FF +dep F5 E2 +dep F6 DE +dep F7 20 +dep F8 FF +dep F9 E0 +dep FA DE +dep FB 20 +dep FC FF +dep FD DE +dep FE DE +dep FF 20 +dep 100 FF +dep 101 DC +dep 102 DE +dep 103 20 +dep 104 FF +dep 105 DA +dep 106 DE +dep 107 20 +dep 108 FF +dep 109 D8 +dep 10A DE +dep 10B 20 +dep 10C FF +dep 10D D6 +dep 10E DE +dep 10F 20 +dep 110 FF +dep 111 D4 +dep 112 DE +dep 113 20 +dep 114 FF +dep 115 D2 +dep 116 DE +dep 117 20 +dep 118 FF +dep 119 D0 +dep 11A DE +dep 11B 20 +dep 11C FF +dep 11D CE +dep 11E DE +dep 11F 20 +dep 120 FF +dep 121 CC +dep 122 DE +dep 123 20 +dep 124 FF +dep 125 CA +dep 126 00 +dep 127 BA +dep 128 84 +dep 129 23 +dep 12A 4F +dep 12B 55 +dep 12C 54 +dep 12D 20 +dep 12E DE +dep 12F 20 +dep 130 FF +dep 131 C8 +dep 132 01 +dep 133 26 +dep 134 84 +dep 135 23 +dep 136 54 +dep 137 49 +dep 138 42 +dep 139 20 +dep 13A DE +dep 13B 20 +dep 13C FF +dep 13D C6 +dep 13E 00 +dep 13F A4 +dep 140 83 +dep 141 3E +dep 142 49 +dep 143 4E +dep 144 DE +dep 145 20 +dep 146 FF +dep 147 C4 +dep 148 01 +dep 149 32 +dep 14A 87 +dep 14B 43 +dep 14C 4F +dep 14D 4E +dep 14E 54 +dep 14F 45 +dep 150 58 +dep 151 54 +dep 152 DE +dep 153 20 +dep 154 FF +dep 155 C2 +dep 156 01 +dep 157 48 +dep 158 87 +dep 159 43 +dep 15A 55 +dep 15B 52 +dep 15C 52 +dep 15D 45 +dep 15E 4E +dep 15F 54 +dep 160 DE +dep 161 20 +dep 162 FF +dep 163 C0 +dep 164 00 +dep 165 00 +dep 166 81 +dep 167 48 +dep 168 DE +dep 169 20 +dep 16A FF +dep 16B BE +dep 16C 00 +dep 16D B0 +dep 16E 84 +dep 16F 4C +dep 170 41 +dep 171 53 +dep 172 54 +dep 173 20 +dep 174 DE +dep 175 20 +dep 176 FF +dep 177 BC +dep 178 01 +dep 179 56 +dep 17A 84 +dep 17B 53 +dep 17C 50 +dep 17D 41 +dep 17E 4E +dep 17F 20 +dep 180 DE +dep 181 20 +dep 182 FF +dep 183 BA +dep 184 00 +dep 185 00 +dep 186 84 +dep 187 27 +dep 188 54 +dep 189 49 +dep 18A 42 +dep 18B 20 +dep 18C DE +dep 18D 20 +dep 18E FF +dep 18F 36 +dep 190 DE +dep 191 20 +dep 192 FE +dep 193 B2 +dep 194 DE +dep 195 20 +dep 196 FE +dep 197 72 +dep 198 01 +dep 199 6C +dep 19A 87 +dep 19B 3C +dep 19C 66 +dep 19D 6F +dep 19E 72 +dep 19F 74 +dep 1A0 68 +dep 1A1 3E +dep 1A2 DE +dep 1A3 20 +dep 1A4 FE +dep 1A5 62 +dep 1A6 00 +dep 1A7 00 +dep 1A8 8B +dep 1A9 49 +dep 1AA 4E +dep 1AB 54 +dep 1AC 2D +dep 1AD 56 +dep 1AE 45 +dep 1AF 43 +dep 1B0 54 +dep 1B1 4F +dep 1B2 52 +dep 1B3 53 +dep 1B4 DE +dep 1B5 20 +dep 1B6 FC +dep 1B7 00 +dep 1B8 01 +dep 1B9 78 +dep 1BA 88 +dep 1BB 23 +dep 1BC 54 +dep 1BD 48 +dep 1BE 52 +dep 1BF 45 +dep 1C0 41 +dep 1C1 44 +dep 1C2 53 +dep 1C3 20 +dep 1C4 DE +dep 1C5 20 +dep 1C6 00 +dep 1C7 08 +dep 1C8 01 +dep 1C9 B8 +dep 1CA 84 +dep 1CB 43 +dep 1CC 45 +dep 1CD 4C +dep 1CE 4C +dep 1CF 20 +dep 1D0 DE +dep 1D1 20 +dep 1D2 00 +dep 1D3 02 +dep 1D4 00 +dep 1D5 EA +dep 1D6 82 +dep 1D7 42 +dep 1D8 4C +dep 1D9 20 +dep 1DA DE +dep 1DB 20 +dep 1DC 00 +dep 1DD 20 +dep 1DE 01 +dep 1DF 98 +dep 1E0 85 +dep 1E1 4C +dep 1E2 49 +dep 1E3 4E +dep 1E4 4B +dep 1E5 53 +dep 1E6 BE +dep 1E7 27 +dep 1E8 37 +dep 1E9 3A +dep 1EA 35 +dep 1EB 58 +dep 1EC 38 +dep 1ED 0C +dep 1EE 37 +dep 1EF 4C +dep 1F0 37 +dep 1F1 F0 +dep 1F2 37 +dep 1F3 D4 +dep 1F4 37 +dep 1F5 60 +dep 1F6 37 +dep 1F7 84 +dep 1F8 01 +dep 1F9 64 +dep 1FA 82 +dep 1FB 30 +dep 1FC 3D +dep 1FD 20 +dep 1FE 89 +dep 1FF 01 +dep 200 BE +dep 201 60 +dep 202 BF +dep 203 60 +dep 204 01 +dep 205 F8 +dep 206 83 +dep 207 30 +dep 208 3C +dep 209 3E +dep 20A 89 +dep 20B 07 +dep 20C BF +dep 20D 60 +dep 20E BE +dep 20F 60 +dep 210 00 +dep 211 00 +dep 212 81 +dep 213 3D +dep 214 AA +dep 215 40 +dep 216 89 +dep 217 0D +dep 218 BE +dep 219 60 +dep 21A BF +dep 21B 60 +dep 21C 01 +dep 21D DE +dep 21E 82 +dep 21F 3C +dep 220 3E +dep 221 20 +dep 222 AA +dep 223 40 +dep 224 89 +dep 225 14 +dep 226 BF +dep 227 60 +dep 228 BE +dep 229 60 +dep 22A 01 +dep 22B 84 +dep 22C 84 +dep 22D 3F +dep 22E 44 +dep 22F 55 +dep 230 50 +dep 231 20 +dep 232 A0 +dep 233 C0 +dep 234 89 +dep 235 1C +dep 236 A0 +dep 237 E0 +dep 238 A0 +dep 239 20 +dep 23A 01 +dep 23B A6 +dep 23C 83 +dep 23D 41 +dep 23E 42 +dep 23F 53 +dep 240 A0 +dep 241 C1 +dep 242 89 +dep 243 23 +dep 244 BC +dep 245 E0 +dep 246 A0 +dep 247 20 +dep 248 01 +dep 249 3E +dep 24A 81 +dep 24B 3E +dep 24C AA +dep 24D C1 +dep 24E 89 +dep 24F 29 +dep 250 AF +dep 251 61 +dep 252 A4 +dep 253 61 +dep 254 02 +dep 255 1C +dep 256 81 +dep 257 3C +dep 258 AA +dep 259 C1 +dep 25A 89 +dep 25B 2F +dep 25C AE +dep 25D 61 +dep 25E AC +dep 25F 61 +dep 260 02 +dep 261 54 +dep 262 82 +dep 263 3C +dep 264 3D +dep 265 20 +dep 266 AA +dep 267 C1 +dep 268 89 +dep 269 36 +dep 26A AE +dep 26B 61 +dep 26C A4 +dep 26D 41 +dep 26E A1 +dep 26F 20 +dep 270 02 +dep 271 48 +dep 272 82 +dep 273 3E +dep 274 3D +dep 275 20 +dep 276 AA +dep 277 C1 +dep 278 89 +dep 279 3E +dep 27A AF +dep 27B 61 +dep 27C AC +dep 27D 41 +dep 27E A1 +dep 27F 20 +dep 280 01 +dep 281 C8 +dep 282 85 +dep 283 43 +dep 284 45 +dep 285 4C +dep 286 4C +dep 287 2B +dep 288 B8 +dep 289 E2 +dep 28A 02 +dep 28B 80 +dep 28C 85 +dep 28D 43 +dep 28E 45 +dep 28F 4C +dep 290 4C +dep 291 53 +dep 292 A0 +dep 293 22 +dep 294 01 +dep 295 D4 +dep 296 83 +dep 297 52 +dep 298 4F +dep 299 54 +dep 29A BE +dep 29B 81 +dep 29C AE +dep 29D 80 +dep 29E BE +dep 29F 01 +dep 2A0 AE +dep 2A1 A0 +dep 2A2 02 +dep 2A3 10 +dep 2A4 84 +dep 2A5 2D +dep 2A6 52 +dep 2A7 4F +dep 2A8 54 +dep 2A9 20 +dep 2AA AE +dep 2AB 80 +dep 2AC BE +dep 2AD 81 +dep 2AE AE +dep 2AF 80 +dep 2B0 BE +dep 2B1 01 +dep 2B2 A0 +dep 2B3 20 +dep 2B4 02 +dep 2B5 8A +dep 2B6 82 +dep 2B7 2B +dep 2B8 21 +dep 2B9 20 +dep 2BA A0 +dep 2BB C0 +dep 2BC BE +dep 2BD 81 +dep 2BE E8 +dep 2BF 80 +dep 2C0 BE +dep 2C1 01 +dep 2C2 EE +dep 2C3 A0 +dep 2C4 02 +dep 2C5 A2 +dep 2C6 82 +dep 2C7 55 +dep 2C8 3C +dep 2C9 20 +dep 2CA AC +dep 2CB 44 +dep 2CC A1 +dep 2CD 21 +dep 2CE 02 +dep 2CF C4 +dep 2D0 82 +dep 2D1 55 +dep 2D2 3E +dep 2D3 20 +dep 2D4 A4 +dep 2D5 44 +dep 2D6 A1 +dep 2D7 21 +dep 2D8 02 +dep 2D9 04 +dep 2DA 82 +dep 2DB 30 +dep 2DC 3E +dep 2DD 20 +dep 2DE BE +dep 2DF 40 +dep 2E0 01 +dep 2E1 26 +dep 2E2 A0 +dep 2E3 20 +dep 2E4 02 +dep 2E5 2A +dep 2E6 86 +dep 2E7 57 +dep 2E8 49 +dep 2E9 54 +dep 2EA 48 +dep 2EB 49 +dep 2EC 4E +dep 2ED 20 +dep 2EE AE +dep 2EF C0 +dep 2F0 AC +dep 2F1 40 +dep 2F2 BE +dep 2F3 81 +dep 2F4 AC +dep 2F5 40 +dep 2F6 BE +dep 2F7 01 +dep 2F8 01 +dep 2F9 65 +dep 2FA A0 +dep 2FB 20 +dep 2FC 02 +dep 2FD 60 +dep 2FE 84 +dep 2FF 54 +dep 300 55 +dep 301 43 +dep 302 4B +dep 303 20 +dep 304 AE +dep 305 80 +dep 306 AE +dep 307 E0 +dep 308 02 +dep 309 B4 +dep 30A 86 +dep 30B 43 +dep 30C 59 +dep 30D 43 +dep 30E 4C +dep 30F 45 +dep 310 53 +dep 311 20 +dep 312 BE +dep 313 81 +dep 314 99 +dep 315 8A +dep 316 A0 +dep 317 20 +dep 318 02 +dep 319 E4 +dep 31A 83 +dep 31B 4F +dep 31C 46 +dep 31D 46 +dep 31E BE +dep 31F 40 +dep 320 AE +dep 321 80 +dep 322 EE +dep 323 A0 +dep 324 03 +dep 325 18 +dep 326 82 +dep 327 4F +dep 328 4E +dep 329 20 +dep 32A BF +dep 32B 40 +dep 32C AE +dep 32D 80 +dep 32E EE +dep 32F A0 +dep 330 02 +dep 331 FC +dep 332 85 +dep 333 44 +dep 334 44 +dep 335 52 +dep 336 4F +dep 337 50 +dep 338 AE +dep 339 40 +dep 33A AE +dep 33B 60 +dep 33C 03 +dep 33D 30 +dep 33E 84 +dep 33F 44 +dep 340 44 +dep 341 55 +dep 342 50 +dep 343 20 +dep 344 AE +dep 345 C0 +dep 346 AE +dep 347 E0 +dep 348 03 +dep 349 3C +dep 34A 85 +dep 34B 44 +dep 34C 53 +dep 34D 57 +dep 34E 41 +dep 34F 50 +dep 350 01 +dep 351 4D +dep 352 BE +dep 353 81 +dep 354 01 +dep 355 4D +dep 356 BE +dep 357 01 +dep 358 A0 +dep 359 20 +dep 35A 03 +dep 35B 48 +dep 35C 85 +dep 35D 44 +dep 35E 4F +dep 35F 56 +dep 360 45 +dep 361 52 +dep 362 BE +dep 363 81 +dep 364 BE +dep 365 81 +dep 366 01 +dep 367 A2 +dep 368 BE +dep 369 01 +dep 36A BE +dep 36B 01 +dep 36C 01 +dep 36D A8 +dep 36E A0 +dep 36F 20 +dep 370 03 +dep 371 5A +dep 372 84 +dep 373 44 +dep 374 52 +dep 375 4F +dep 376 54 +dep 377 20 +dep 378 BE +dep 379 81 +dep 37A BE +dep 37B 81 +dep 37C 01 +dep 37D A8 +dep 37E BE +dep 37F 01 +dep 380 BE +dep 381 01 +dep 382 01 +dep 383 A8 +dep 384 A0 +dep 385 20 +dep 386 03 +dep 387 70 +dep 388 82 +dep 389 44 +dep 38A 40 +dep 38B 20 +dep 38C E9 +dep 38D 42 +dep 38E EE +dep 38F 00 +dep 390 AE +dep 391 A0 +dep 392 03 +dep 393 86 +dep 394 82 +dep 395 44 +dep 396 21 +dep 397 20 +dep 398 E9 +dep 399 C2 +dep 39A EE +dep 39B A0 +dep 39C 03 +dep 39D 92 +dep 39E 82 +dep 39F 44 +dep 3A0 2B +dep 3A1 20 +dep 3A2 BE +dep 3A3 81 +dep 3A4 AE +dep 3A5 80 +dep 3A6 BE +dep 3A7 81 +dep 3A8 A8 +dep 3A9 40 +dep 3AA BE +dep 3AB 01 +dep 3AC B9 +dep 3AD 81 +dep 3AE A0 +dep 3AF 20 +dep 3B0 03 +dep 3B1 9C +dep 3B2 82 +dep 3B3 44 +dep 3B4 2D +dep 3B5 20 +dep 3B6 BE +dep 3B7 81 +dep 3B8 AE +dep 3B9 80 +dep 3BA BE +dep 3BB 81 +dep 3BC AC +dep 3BD 40 +dep 3BE BE +dep 3BF 01 +dep 3C0 B5 +dep 3C1 81 +dep 3C2 A0 +dep 3C3 20 +dep 3C4 03 +dep 3C5 B0 +dep 3C6 82 +dep 3C7 44 +dep 3C8 3C +dep 3C9 20 +dep 3CA 01 +dep 3CB DB +dep 3CC A0 +dep 3CD 61 +dep 3CE 03 +dep 3CF C4 +dep 3D0 87 +dep 3D1 44 +dep 3D2 4E +dep 3D3 45 +dep 3D4 47 +dep 3D5 41 +dep 3D6 54 +dep 3D7 45 +dep 3D8 AE +dep 3D9 80 +dep 3DA BC +dep 3DB C0 +dep 3DC AE +dep 3DD 80 +dep 3DE BD +dep 3DF E0 +dep 3E0 03 +dep 3E1 CE +dep 3E2 83 +dep 3E3 44 +dep 3E4 30 +dep 3E5 3D +dep 3E6 A6 +dep 3E7 40 +dep 3E8 00 +dep 3E9 FF +dep 3EA A0 +dep 3EB 20 +dep 3EC 03 +dep 3ED E0 +dep 3EE 82 +dep 3EF 44 +dep 3F0 3D +dep 3F1 20 +dep 3F2 AE +dep 3F3 80 +dep 3F4 BE +dep 3F5 81 +dep 3F6 AA +dep 3F7 40 +dep 3F8 AE +dep 3F9 80 +dep 3FA BA +dep 3FB 81 +dep 3FC 01 +dep 3FD F3 +dep 3FE A0 +dep 3FF 20 +dep 400 03 +dep 401 EC +dep 402 83 +dep 403 44 +dep 404 3C +dep 405 3E +dep 406 01 +dep 407 F9 +dep 408 A1 +dep 409 20 +dep 40A 04 +dep 40B 00 +dep 40C 83 +dep 40D 44 +dep 40E 30 +dep 40F 3C +dep 410 A0 +dep 411 61 +dep 412 04 +dep 413 0A +dep 414 83 +dep 415 44 +dep 416 55 +dep 417 3C +dep 418 01 +dep 419 4D +dep 41A 01 +dep 41B A2 +dep 41C 01 +dep 41D 0A +dep 41E 88 +dep 41F 15 +dep 420 01 +dep 421 55 +dep 422 01 +dep 423 EC +dep 424 01 +dep 425 D1 +dep 426 A0 +dep 427 01 +dep 428 90 +dep 429 18 +dep 42A AE +dep 42B 80 +dep 42C 01 +dep 42D 65 +dep 42E A0 +dep 42F 40 +dep 430 A0 +dep 431 60 +dep 432 04 +dep 433 12 +dep 434 84 +dep 435 44 +dep 436 41 +dep 437 42 +dep 438 53 +dep 439 20 +dep 43A A0 +dep 43B C1 +dep 43C 88 +dep 43D 20 +dep 43E 01 +dep 43F EC +dep 440 A0 +dep 441 20 +dep 442 04 +dep 443 32 +dep 444 84 +dep 445 44 +dep 446 4D +dep 447 41 +dep 448 58 +dep 449 20 +dep 44A 01 +dep 44B B1 +dep 44C 01 +dep 44D B1 +dep 44E 01 +dep 44F E5 +dep 450 88 +dep 451 2A +dep 452 01 +dep 453 A8 +dep 454 01 +dep 455 9C +dep 456 A0 +dep 457 20 +dep 458 04 +dep 459 42 +dep 45A 84 +dep 45B 44 +dep 45C 4D +dep 45D 49 +dep 45E 4E +dep 45F 20 +dep 460 01 +dep 461 B1 +dep 462 01 +dep 463 B1 +dep 464 01 +dep 465 E5 +dep 466 A1 +dep 467 00 +dep 468 88 +dep 469 36 +dep 46A 01 +dep 46B A8 +dep 46C 01 +dep 46D 9C +dep 46E A0 +dep 46F 20 +dep 470 04 +dep 471 58 +dep 472 82 +dep 473 44 +dep 474 3E +dep 475 20 +dep 476 01 +dep 477 A8 +dep 478 01 +dep 479 E5 +dep 47A A0 +dep 47B 20 +dep 47C 03 +dep 47D 08 +dep 47E 85 +dep 47F 43 +dep 480 4D +dep 481 4F +dep 482 56 +dep 483 45 +dep 484 BE +dep 485 81 +dep 486 90 +dep 487 49 +dep 488 BE +dep 489 81 +dep 48A F9 +dep 48B 41 +dep 48C AE +dep 48D 80 +dep 48E BE +dep 48F 01 +dep 490 F9 +dep 491 C1 +dep 492 98 +dep 493 44 +dep 494 01 +dep 495 9C +dep 496 A0 +dep 497 20 +dep 498 04 +dep 499 7C +dep 49A 86 +dep 49B 43 +dep 49C 4D +dep 49D 4F +dep 49E 56 +dep 49F 45 +dep 4A0 3E +dep 4A1 20 +dep 4A2 A0 +dep 4A3 C0 +dep 4A4 BE +dep 4A5 81 +dep 4A6 A8 +dep 4A7 40 +dep 4A8 B4 +dep 4A9 C1 +dep 4AA AE +dep 4AB 80 +dep 4AC B8 +dep 4AD 80 +dep 4AE B4 +dep 4AF C1 +dep 4B0 AE +dep 4B1 80 +dep 4B2 BE +dep 4B3 01 +dep 4B4 BE +dep 4B5 81 +dep 4B6 90 +dep 4B7 61 +dep 4B8 BE +dep 4B9 81 +dep 4BA F5 +dep 4BB 41 +dep 4BC AE +dep 4BD 80 +dep 4BE BE +dep 4BF 01 +dep 4C0 F5 +dep 4C1 C1 +dep 4C2 98 +dep 4C3 5C +dep 4C4 01 +dep 4C5 9C +dep 4C6 A0 +dep 4C7 20 +dep 4C8 02 +dep 4C9 70 +dep 4CA 84 +dep 4CB 46 +dep 4CC 49 +dep 4CD 4C +dep 4CE 4C +dep 4CF 20 +dep 4D0 AE +dep 4D1 80 +dep 4D2 01 +dep 4D3 19 +dep 4D4 88 +dep 4D5 71 +dep 4D6 BE +dep 4D7 81 +dep 4D8 AE +dep 4D9 80 +dep 4DA BE +dep 4DB 01 +dep 4DC B4 +dep 4DD C1 +dep 4DE BE +dep 4DF 82 +dep 4E0 F8 +dep 4E1 C1 +dep 4E2 01 +dep 4E3 9C +dep 4E4 A0 +dep 4E5 20 +dep 4E6 02 +dep 4E7 CE +dep 4E8 85 +dep 4E9 45 +dep 4EA 52 +dep 4EB 41 +dep 4EC 53 +dep 4ED 45 +dep 4EE BE +dep 4EF 40 +dep 4F0 02 +dep 4F1 68 +dep 4F2 A0 +dep 4F3 20 +dep 4F4 02 +dep 4F5 94 +dep 4F6 85 +dep 4F7 42 +dep 4F8 4C +dep 4F9 41 +dep 4FA 4E +dep 4FB 4B +dep 4FC 00 +dep 4FD ED +dep 4FE 02 +dep 4FF 68 +dep 500 A0 +dep 501 20 +dep 502 A0 +dep 503 C1 +dep 504 88 +dep 505 85 +dep 506 BC +dep 507 C0 +dep 508 BE +dep 509 61 +dep 50A BE +dep 50B 60 +dep 50C A0 +dep 50D C1 +dep 50E 88 +dep 50F 8A +dep 510 01 +dep 511 EC +dep 512 BE +dep 513 61 +dep 514 BE +dep 515 60 +dep 516 04 +dep 517 70 +dep 518 85 +dep 519 44 +dep 51A 53 +dep 51B 51 +dep 51C 52 +dep 51D 54 +dep 51E DE +dep 51F 00 +dep 520 80 +dep 521 00 +dep 522 BE +dep 523 86 +dep 524 BE +dep 525 40 +dep 526 BE +dep 527 84 +dep 528 A0 +dep 529 0A +dep 52A A5 +dep 52B 1A +dep 52C BE +dep 52D 4D +dep 52E BE +dep 52F 82 +dep 530 A5 +dep 531 5A +dep 532 A5 +dep 533 58 +dep 534 AE +dep 535 60 +dep 536 04 +dep 537 98 +dep 538 84 +dep 539 53 +dep 53A 51 +dep 53B 52 +dep 53C 54 +dep 53D 20 +dep 53E BE +dep 53F 40 +dep 540 02 +dep 541 8F +dep 542 A0 +dep 543 20 +dep 544 04 +dep 545 E6 +dep 546 82 +dep 547 4D +dep 548 2A +dep 549 20 +dep 54A B0 +dep 54B 97 +dep 54C BE +dep 54D 16 +dep 54E BE +dep 54F 37 +dep 550 05 +dep 551 44 +dep 552 83 +dep 553 55 +dep 554 4D +dep 555 2A +dep 556 B0 +dep 557 96 +dep 558 BE +dep 559 16 +dep 55A BE +dep 55B 37 +dep 55C 04 +dep 55D F4 +dep 55E 81 +dep 55F 2A +dep 560 B0 +dep 561 96 +dep 562 BE +dep 563 16 +dep 564 BE +dep 565 17 +dep 566 AE +dep 567 60 +dep 568 05 +dep 569 50 +dep 56A 86 +dep 56B 55 +dep 56C 4D +dep 56D 2F +dep 56E 4D +dep 56F 4F +dep 570 44 +dep 571 20 +dep 572 BE +dep 573 84 +dep 574 A0 +dep 575 0A +dep 576 A4 +dep 577 1A +dep 578 BE +dep 579 4D +dep 57A BE +dep 57B 82 +dep 57C A4 +dep 57D 5A +dep 57E A4 +dep 57F 58 +dep 580 AE +dep 581 A0 +dep 582 05 +dep 583 5C +dep 584 85 +dep 585 2A +dep 586 2F +dep 587 4D +dep 588 4F +dep 589 44 +dep 58A 02 +dep 58B 81 +dep 58C BE +dep 58D 81 +dep 58E BE +dep 58F 81 +dep 590 02 +dep 591 A5 +dep 592 02 +dep 593 86 +dep 594 BE +dep 595 00 +dep 596 AE +dep 597 80 +dep 598 BE +dep 599 81 +dep 59A 02 +dep 59B B9 +dep 59C BE +dep 59D 01 +dep 59E BE +dep 59F 01 +dep 5A0 BE +dep 5A1 84 +dep 5A2 B4 +dep 5A3 80 +dep 5A4 88 +dep 5A5 DC +dep 5A6 AE +dep 5A7 C0 +dep 5A8 88 +dep 5A9 DB +dep 5AA B8 +dep 5AB C1 +dep 5AC AE +dep 5AD 80 +dep 5AE BE +dep 5AF 04 +dep 5B0 AE +dep 5B1 80 +dep 5B2 AC +dep 5B3 40 +dep 5B4 AE +dep 5B5 80 +dep 5B6 BC +dep 5B7 C0 +dep 5B8 BE +dep 5B9 01 +dep 5BA 88 +dep 5BB E1 +dep 5BC AE +dep 5BD 80 +dep 5BE BC +dep 5BF C0 +dep 5C0 AE +dep 5C1 80 +dep 5C2 A0 +dep 5C3 20 +dep 5C4 05 +dep 5C5 16 +dep 5C6 A6 +dep 5C7 44 +dep 5C8 55 +dep 5C9 50 +dep 5CA 5F +dep 5CB 30 +dep 5CC 3C +dep 5CD 20 +dep 5CE A0 +dep 5CF E1 +dep 5D0 05 +dep 5D1 68 +dep 5D2 8B +dep 5D3 55 +dep 5D4 4D +dep 5D5 2F +dep 5D6 4D +dep 5D7 4F +dep 5D8 44 +dep 5D9 2F +dep 5DA 53 +dep 5DB 57 +dep 5DC 41 +dep 5DD 50 +dep 5DE BE +dep 5DF 84 +dep 5E0 A0 +dep 5E1 0A +dep 5E2 A4 +dep 5E3 1A +dep 5E4 A4 +dep 5E5 5A +dep 5E6 A4 +dep 5E7 5A +dep 5E8 A4 +dep 5E9 5A +dep 5EA A4 +dep 5EB 5A +dep 5EC A4 +dep 5ED 5A +dep 5EE A4 +dep 5EF 5A +dep 5F0 A4 +dep 5F1 5A +dep 5F2 A4 +dep 5F3 5A +dep 5F4 A4 +dep 5F5 5A +dep 5F6 A4 +dep 5F7 5A +dep 5F8 A4 +dep 5F9 5A +dep 5FA A4 +dep 5FB 5A +dep 5FC A4 +dep 5FD 5A +dep 5FE A4 +dep 5FF 5A +dep 600 A4 +dep 601 58 +dep 602 A0 +dep 603 20 +dep 604 03 +dep 605 24 +dep 606 84 +dep 607 2F +dep 608 4D +dep 609 4F +dep 60A 44 +dep 60B 20 +dep 60C A0 +dep 60D C1 +dep 60E 89 +dep 60F 17 +dep 610 BC +dep 611 C0 +dep 612 BE +dep 613 81 +dep 614 A0 +dep 615 C1 +dep 616 89 +dep 617 12 +dep 618 BC +dep 619 C0 +dep 61A BE +dep 61B 40 +dep 61C BE +dep 61D 01 +dep 61E 02 +dep 61F EF +dep 620 BC +dep 621 C0 +dep 622 AE +dep 623 A0 +dep 624 BE +dep 625 40 +dep 626 BE +dep 627 01 +dep 628 02 +dep 629 EF +dep 62A AE +dep 62B 80 +dep 62C BC +dep 62D E0 +dep 62E BE +dep 62F 81 +dep 630 A0 +dep 631 C1 +dep 632 89 +dep 633 21 +dep 634 BC +dep 635 C0 +dep 636 BE +dep 637 40 +dep 638 BE +dep 639 01 +dep 63A 02 +dep 63B EF +dep 63C BC +dep 63D C0 +dep 63E AE +dep 63F 80 +dep 640 BC +dep 641 E0 +dep 642 BE +dep 643 40 +dep 644 BE +dep 645 01 +dep 646 02 +dep 647 EF +dep 648 AE +dep 649 A0 +dep 64A 05 +dep 64B D0 +dep 64C 83 +dep 64D 4D +dep 64E 4F +dep 64F 44 +dep 650 03 +dep 651 06 +dep 652 AE +dep 653 60 +dep 654 05 +dep 655 82 +dep 656 82 +dep 657 2A +dep 658 2F +dep 659 20 +dep 65A 02 +dep 65B C5 +dep 65C A0 +dep 65D 60 +dep 65E 06 +dep 65F 04 +dep 660 81 +dep 661 2F +dep 662 03 +dep 663 06 +dep 664 A0 +dep 665 60 +dep 666 06 +dep 667 4A +dep 668 83 +dep 669 4D +dep 66A 49 +dep 66B 4E +dep 66C 01 +dep 66D A2 +dep 66E 01 +dep 66F 26 +dep 670 89 +dep 671 3A +dep 672 A0 +dep 673 60 +dep 674 AE +dep 675 60 +dep 676 06 +dep 677 66 +dep 678 83 +dep 679 4D +dep 67A 41 +dep 67B 58 +dep 67C 01 +dep 67D A2 +dep 67E 01 +dep 67F 2C +dep 680 89 +dep 681 42 +dep 682 A0 +dep 683 60 +dep 684 AE +dep 685 60 +dep 686 A0 +dep 687 02 +dep 688 A0 +dep 689 02 +dep 68A A0 +dep 68B 02 +dep 68C A0 +dep 68D 02 +dep 68E A0 +dep 68F 02 +dep 690 A0 +dep 691 02 +dep 692 A0 +dep 693 02 +dep 694 A0 +dep 695 22 +dep 696 A0 +dep 697 07 +dep 698 A0 +dep 699 07 +dep 69A A0 +dep 69B 07 +dep 69C A0 +dep 69D 07 +dep 69E A0 +dep 69F 07 +dep 6A0 A0 +dep 6A1 07 +dep 6A2 A0 +dep 6A3 07 +dep 6A4 A0 +dep 6A5 27 +dep 6A6 02 +dep 6A7 3A +dep 6A8 89 +dep 6A9 69 +dep 6AA 6E +dep 6AB 69 +dep 6AC 74 +dep 6AD 2D +dep 6AE 38 +dep 6AF 32 +dep 6B0 35 +dep 6B1 30 +dep 6B2 A0 +dep 6B3 20 +dep 6B4 06 +dep 6B5 54 +dep 6B6 84 +dep 6B7 52 +dep 6B8 43 +dep 6B9 56 +dep 6BA 3F +dep 6BB 20 +dep 6BC BE +dep 6BD 3A +dep 6BE 02 +dep 6BF D8 +dep 6C0 84 +dep 6C1 58 +dep 6C2 4D +dep 6C3 54 +dep 6C4 3F +dep 6C5 20 +dep 6C6 BF +dep 6C7 60 +dep 6C8 06 +dep 6C9 B4 +dep 6CA 83 +dep 6CB 52 +dep 6CC 43 +dep 6CD 56 +dep 6CE 03 +dep 6CF 5E +dep 6D0 89 +dep 6D1 67 +dep 6D2 BE +dep 6D3 39 +dep 6D4 06 +dep 6D5 BE +dep 6D6 83 +dep 6D7 58 +dep 6D8 4D +dep 6D9 54 +dep 6DA 03 +dep 6DB 63 +dep 6DC 89 +dep 6DD 6D +dep 6DE BE +dep 6DF B9 +dep 6E0 05 +dep 6E1 36 +dep 6E2 84 +dep 6E3 23 +dep 6E4 52 +dep 6E5 43 +dep 6E6 56 +dep 6E7 20 +dep 6E8 03 +dep 6E9 67 +dep 6EA 03 +dep 6EB 67 +dep 6EC 03 +dep 6ED 43 +dep 6EE A8 +dep 6EF 60 +dep 6F0 06 +dep 6F1 E0 +dep 6F2 84 +dep 6F3 23 +dep 6F4 58 +dep 6F5 4D +dep 6F6 54 +dep 6F7 20 +dep 6F8 A0 +dep 6F9 C0 +dep 6FA 03 +dep 6FB 6D +dep 6FC 03 +dep 6FD 4B +dep 6FE 03 +dep 6FF 6D +dep 700 A0 +dep 701 20 +dep 702 06 +dep 703 C8 +dep 704 84 +dep 705 52 +dep 706 43 +dep 707 56 +dep 708 53 +dep 709 20 +dep 70A 01 +dep 70B 19 +dep 70C 89 +dep 70D 91 +dep 70E BE +dep 70F 40 +dep 710 AE +dep 711 80 +dep 712 BE +dep 713 81 +dep 714 BE +dep 715 81 +dep 716 03 +dep 717 67 +dep 718 AE +dep 719 C0 +dep 71A FE +dep 71B 80 +dep 71C B8 +dep 71D C1 +dep 71E 00 +dep 71F 17 +dep 720 07 +dep 721 16 +dep 722 AE +dep 723 60 +dep 724 06 +dep 725 D4 +dep 726 84 +dep 727 58 +dep 728 4D +dep 729 54 +dep 72A 53 +dep 72B 20 +dep 72C 01 +dep 72D 19 +dep 72E 89 +dep 72F A2 +dep 730 BE +dep 731 40 +dep 732 AE +dep 733 80 +dep 734 BE +dep 735 81 +dep 736 BE +dep 737 81 +dep 738 A0 +dep 739 C0 +dep 73A FE +dep 73B 00 +dep 73C 03 +dep 73D 6D +dep 73E B8 +dep 73F C1 +dep 740 00 +dep 741 17 +dep 742 07 +dep 743 38 +dep 744 AE +dep 745 60 +dep 746 06 +dep 747 F0 +dep 748 83 +dep 749 43 +dep 74A 4D +dep 74B 44 +dep 74C BE +dep 74D 40 +dep 74E 03 +dep 74F 6D +dep 750 03 +dep 751 6D +dep 752 A0 +dep 753 20 +dep 754 A0 +dep 755 C0 +dep 756 00 +dep 757 FF +dep 758 89 +dep 759 AF +dep 75A 00 +dep 75B ED +dep 75C A6 +dep 75D 40 +dep 75E A0 +dep 75F 20 +dep 760 07 +dep 761 46 +dep 762 83 +dep 763 4B +dep 764 45 +dep 765 59 +dep 766 00 +dep 767 67 +dep 768 EE +dep 769 00 +dep 76A BE +dep 76B 87 +dep 76C A0 +dep 76D 20 +dep 76E 06 +dep 76F 76 +dep 770 84 +dep 771 45 +dep 772 4D +dep 773 49 +dep 774 54 +dep 775 20 +dep 776 03 +dep 777 AA +dep 778 00 +dep 779 69 +dep 77A EE +dep 77B 00 +dep 77C BE +dep 77D 87 +dep 77E BE +dep 77F 41 +dep 780 00 +dep 781 97 +dep 782 01 +dep 783 5D +dep 784 A0 +dep 785 20 +dep 786 07 +dep 787 60 +dep 788 84 +dep 789 4B +dep 78A 45 +dep 78B 59 +dep 78C 3F +dep 78D 20 +dep 78E 00 +dep 78F 63 +dep 790 EE +dep 791 00 +dep 792 BE +dep 793 87 +dep 794 A0 +dep 795 20 +dep 796 07 +dep 797 6E +dep 798 85 +dep 799 45 +dep 79A 4D +dep 79B 49 +dep 79C 54 +dep 79D 3F +dep 79E 00 +dep 79F 65 +dep 7A0 EE +dep 7A1 00 +dep 7A2 BE +dep 7A3 87 +dep 7A4 A0 +dep 7A5 20 +dep 7A6 07 +dep 7A7 86 +dep 7A8 82 +dep 7A9 43 +dep 7AA 52 +dep 7AB 20 +dep 7AC BE +dep 7AD 4D +dep 7AE 03 +dep 7AF BB +dep 7B0 BE +dep 7B1 4A +dep 7B2 03 +dep 7B3 BB +dep 7B4 BE +dep 7B5 40 +dep 7B6 00 +dep 7B7 97 +dep 7B8 EE +dep 7B9 A0 +dep 7BA 05 +dep 7BB C4 +dep 7BC 84 +dep 7BD 54 +dep 7BE 59 +dep 7BF 50 +dep 7C0 45 +dep 7C1 20 +dep 7C2 BE +dep 7C3 81 +dep 7C4 91 +dep 7C5 E6 +dep 7C6 F9 +dep 7C7 41 +dep 7C8 AE +dep 7C9 80 +dep 7CA 03 +dep 7CB BB +dep 7CC 99 +dep 7CD E3 +dep 7CE AE +dep 7CF 60 +dep 7D0 07 +dep 7D1 A6 +dep 7D2 85 +dep 7D3 53 +dep 7D4 50 +dep 7D5 41 +dep 7D6 43 +dep 7D7 45 +dep 7D8 00 +dep 7D9 ED +dep 7DA 03 +dep 7DB BB +dep 7DC A0 +dep 7DD 20 +dep 7DE 07 +dep 7DF D0 +dep 7E0 86 +dep 7E1 53 +dep 7E2 50 +dep 7E3 41 +dep 7E4 43 +dep 7E5 45 +dep 7E6 53 +dep 7E7 20 +dep 7E8 BE +dep 7E9 40 +dep 7EA 03 +dep 7EB 3E +dep 7EC BE +dep 7ED 81 +dep 7EE 91 +dep 7EF F9 +dep 7F0 03 +dep 7F1 EC +dep 7F2 99 +dep 7F3 F8 +dep 7F4 A0 +dep 7F5 20 +dep 7F6 07 +dep 7F7 24 +dep 7F8 84 +dep 7F9 48 +dep 7FA 45 +dep 7FB 52 +dep 7FC 45 +dep 7FD 20 +dep 7FE 00 +dep 7FF B4 +dep 800 EE +dep 801 20 +dep 802 07 +dep 803 F6 +dep 804 83 +dep 805 50 +dep 806 41 +dep 807 44 +dep 808 03 +dep 809 FF +dep 80A D8 +dep 80B A0 +dep 80C 00 +dep 80D 80 +dep 80E 03 +dep 80F FF +dep 810 D8 +dep 811 A0 +dep 812 04 +dep 813 00 +dep 814 07 +dep 815 BA +dep 816 83 +dep 817 54 +dep 818 49 +dep 819 42 +dep 81A 00 +dep 81B C6 +dep 81C EE +dep 81D 20 +dep 81E 06 +dep 81F A6 +dep 820 85 +dep 821 41 +dep 822 4C +dep 823 49 +dep 824 47 +dep 825 4E +dep 826 03 +dep 827 FF +dep 828 B2 +dep 829 C1 +dep 82A 00 +dep 82B B4 +dep 82C 01 +dep 82D 5D +dep 82E A0 +dep 82F 20 +dep 830 07 +dep 831 96 +dep 832 84 +dep 833 45 +dep 834 56 +dep 835 45 +dep 836 4E +dep 837 20 +dep 838 A0 +dep 839 C0 +dep 83A B2 +dep 83B C1 +dep 83C A8 +dep 83D 60 +dep 83E 08 +dep 83F 14 +dep 840 87 +dep 841 44 +dep 842 45 +dep 843 43 +dep 844 49 +dep 845 4D +dep 846 41 +dep 847 4C +dep 848 BE +dep 849 4A +dep 84A 00 +dep 84B 79 +dep 84C EE +dep 84D A0 +dep 84E 08 +dep 84F 02 +dep 850 83 +dep 851 48 +dep 852 45 +dep 853 58 +dep 854 BE +dep 855 50 +dep 856 00 +dep 857 79 +dep 858 EE +dep 859 A0 +dep 85A 07 +dep 85B 02 +dep 85C 86 +dep 85D 42 +dep 85E 49 +dep 85F 4E +dep 860 41 +dep 861 52 +dep 862 59 +dep 863 20 +dep 864 BE +dep 865 42 +dep 866 00 +dep 867 79 +dep 868 EE +dep 869 A0 +dep 86A 07 +dep 86B DE +dep 86C 85 +dep 86D 43 +dep 86E 4F +dep 86F 55 +dep 870 4E +dep 871 54 +dep 872 F9 +dep 873 41 +dep 874 AE +dep 875 A0 +dep 876 06 +dep 877 5E +dep 878 87 +dep 879 2F +dep 87A 53 +dep 87B 54 +dep 87C 52 +dep 87D 49 +dep 87E 4E +dep 87F 47 +dep 880 01 +dep 881 4D +dep 882 AE +dep 883 C0 +dep 884 A8 +dep 885 40 +dep 886 01 +dep 887 55 +dep 888 AC +dep 889 60 +dep 88A 08 +dep 88B 6A +dep 88C 84 +dep 88D 53 +dep 88E 4B +dep 88F 49 +dep 890 50 +dep 891 20 +dep 892 BE +dep 893 81 +dep 894 A0 +dep 895 C0 +dep 896 88 +dep 897 55 +dep 898 AE +dep 899 C0 +dep 89A FE +dep 89B 00 +dep 89C B4 +dep 89D 80 +dep 89E 88 +dep 89F 52 +dep 8A0 B0 +dep 8A1 01 +dep 8A2 A0 +dep 8A3 20 +dep 8A4 BE +dep 8A5 41 +dep 8A6 04 +dep 8A7 40 +dep 8A8 90 +dep 8A9 4A +dep 8AA B0 +dep 8AB 01 +dep 8AC A0 +dep 8AD 20 +dep 8AE 08 +dep 8AF 8A +dep 8B0 84 +dep 8B1 53 +dep 8B2 43 +dep 8B3 41 +dep 8B4 4E +dep 8B5 20 +dep 8B6 BE +dep 8B7 81 +dep 8B8 A0 +dep 8B9 C0 +dep 8BA 88 +dep 8BB 68 +dep 8BC AE +dep 8BD C0 +dep 8BE FE +dep 8BF 00 +dep 8C0 BE +dep 8C1 00 +dep 8C2 01 +dep 8C3 0A +dep 8C4 88 +dep 8C5 65 +dep 8C6 B0 +dep 8C7 01 +dep 8C8 A0 +dep 8C9 20 +dep 8CA BE +dep 8CB 41 +dep 8CC 04 +dep 8CD 40 +dep 8CE 90 +dep 8CF 5C +dep 8D0 B0 +dep 8D1 01 +dep 8D2 A0 +dep 8D3 20 +dep 8D4 08 +dep 8D5 30 +dep 8D6 89 +dep 8D7 2D +dep 8D8 54 +dep 8D9 52 +dep 8DA 41 +dep 8DB 49 +dep 8DC 4C +dep 8DD 49 +dep 8DE 4E +dep 8DF 47 +dep 8E0 01 +dep 8E1 A2 +dep 8E2 01 +dep 8E3 A2 +dep 8E4 00 +dep 8E5 ED +dep 8E6 04 +dep 8E7 49 +dep 8E8 A0 +dep 8E9 C0 +dep 8EA 88 +dep 8EB 7B +dep 8EC 01 +dep 8ED A8 +dep 8EE 01 +dep 8EF 9C +dep 8F0 00 +dep 8F1 ED +dep 8F2 04 +dep 8F3 5B +dep 8F4 90 +dep 8F5 71 +dep 8F6 01 +dep 8F7 9C +dep 8F8 A0 +dep 8F9 40 +dep 8FA AC +dep 8FB 60 +dep 8FC 08 +dep 8FD 4E +dep 8FE 85 +dep 8FF 50 +dep 900 4C +dep 901 41 +dep 902 43 +dep 903 45 +dep 904 01 +dep 905 A2 +dep 906 FE +dep 907 80 +dep 908 B8 +dep 909 C1 +dep 90A AE +dep 90B 80 +dep 90C 02 +dep 90D 42 +dep 90E A0 +dep 90F 20 +dep 910 08 +dep 911 1E +dep 912 86 +dep 913 41 +dep 914 50 +dep 915 50 +dep 916 45 +dep 917 4E +dep 918 44 +dep 919 20 +dep 91A BE +dep 91B 81 +dep 91C BE +dep 91D 00 +dep 91E 04 +dep 91F 39 +dep 920 A8 +dep 921 40 +dep 922 AE +dep 923 C0 +dep 924 BE +dep 925 00 +dep 926 F8 +dep 927 80 +dep 928 BE +dep 929 01 +dep 92A FE +dep 92B 80 +dep 92C AE +dep 92D 80 +dep 92E 02 +dep 92F 42 +dep 930 A0 +dep 931 20 +dep 932 08 +dep 933 D4 +dep 934 85 +dep 935 55 +dep 936 50 +dep 937 50 +dep 938 45 +dep 939 52 +dep 93A A0 +dep 93B C0 +dep 93C DE +dep 93D 00 +dep 93E 00 +dep 93F 61 +dep 940 DE +dep 941 00 +dep 942 00 +dep 943 7A +dep 944 B8 +dep 945 C1 +dep 946 01 +dep 947 77 +dep 948 88 +dep 949 A7 +dep 94A D4 +dep 94B 80 +dep 94C 00 +dep 94D 20 +dep 94E A0 +dep 94F 20 +dep 950 08 +dep 951 AE +dep 952 87 +dep 953 43 +dep 954 4F +dep 955 4D +dep 956 50 +dep 957 41 +dep 958 52 +dep 959 45 +dep 95A BE +dep 95B 81 +dep 95C 90 +dep 95D BE +dep 95E AE +dep 95F C0 +dep 960 FE +dep 961 00 +dep 962 04 +dep 963 9D +dep 964 AE +dep 965 C0 +dep 966 FE +dep 967 00 +dep 968 04 +dep 969 9D +dep 96A 01 +dep 96B 11 +dep 96C 88 +dep 96D BA +dep 96E 01 +dep 96F 9C +dep 970 B0 +dep 971 01 +dep 972 BE +dep 973 60 +dep 974 AE +dep 975 80 +dep 976 B8 +dep 977 C1 +dep 978 AE +dep 979 80 +dep 97A B8 +dep 97B C1 +dep 97C 98 +dep 97D AF +dep 97E 01 +dep 97F 9C +dep 980 BF +dep 981 60 +dep 982 BE +dep 983 01 +dep 984 04 +dep 985 39 +dep 986 01 +dep 987 A2 +dep 988 A8 +dep 989 40 +dep 98A 04 +dep 98B 1C +dep 98C BE +dep 98D A7 +dep 98E BE +dep 98F 01 +dep 990 04 +dep 991 39 +dep 992 01 +dep 993 A2 +dep 994 03 +dep 995 E1 +dep 996 A8 +dep 997 40 +dep 998 04 +dep 999 1C +dep 99A BE +dep 99B A7 +dep 99C 08 +dep 99D FC +dep 99E 84 +dep 99F 48 +dep 9A0 4F +dep 9A1 4C +dep 9A2 44 +dep 9A3 20 +dep 9A4 BF +dep 9A5 40 +dep 9A6 00 +dep 9A7 8F +dep 9A8 01 +dep 9A9 5D +dep 9AA 00 +dep 9AB 8F +dep 9AC EE +dep 9AD 00 +dep 9AE FE +dep 9AF A0 +dep 9B0 08 +dep 9B1 3E +dep 9B2 85 +dep 9B3 44 +dep 9B4 49 +dep 9B5 47 +dep 9B6 49 +dep 9B7 54 +dep 9B8 A0 +dep 9B9 C0 +dep 9BA BE +dep 9BB 49 +dep 9BC 01 +dep 9BD 26 +dep 9BE B2 +dep 9BF C7 +dep 9C0 A8 +dep 9C1 40 +dep 9C2 D8 +dep 9C3 A0 +dep 9C4 00 +dep 9C5 30 +dep 9C6 09 +dep 9C7 50 +dep 9C8 84 +dep 9C9 53 +dep 9CA 49 +dep 9CB 47 +dep 9CC 4E +dep 9CD 20 +dep 9CE A0 +dep 9CF 01 +dep 9D0 88 +dep 9D1 EC +dep 9D2 DE +dep 9D3 00 +dep 9D4 00 +dep 9D5 2D +dep 9D6 04 +dep 9D7 D2 +dep 9D8 A0 +dep 9D9 20 +dep 9DA 09 +dep 9DB B0 +dep 9DC 82 +dep 9DD 3C +dep 9DE 23 +dep 9DF 20 +dep 9E0 04 +dep 9E1 04 +dep 9E2 00 +dep 9E3 8F +dep 9E4 EE +dep 9E5 A0 +dep 9E6 09 +dep 9E7 C6 +dep 9E8 81 +dep 9E9 23 +dep 9EA BE +dep 9EB 40 +dep 9EC 00 +dep 9ED 79 +dep 9EE EE +dep 9EF 00 +dep 9F0 A0 +dep 9F1 C0 +dep 9F2 BE +dep 9F3 81 +dep 9F4 02 +dep 9F5 B9 +dep 9F6 BE +dep 9F7 01 +dep 9F8 AE +dep 9F9 80 +dep 9FA BE +dep 9FB 81 +dep 9FC 02 +dep 9FD B9 +dep 9FE AE +dep 9FF 80 +dep A00 BE +dep A01 01 +dep A02 AE +dep A03 80 +dep A04 04 +dep A05 DC +dep A06 04 +dep A07 D2 +dep A08 A0 +dep A09 20 +dep A0A 09 +dep A0B E6 +dep A0C 82 +dep A0D 23 +dep A0E 53 +dep A0F 20 +dep A10 04 +dep A11 F5 +dep A12 01 +dep A13 A2 +dep A14 01 +dep A15 F3 +dep A16 89 +dep A17 08 +dep A18 A0 +dep A19 20 +dep A1A 0A +dep A1B 0A +dep A1C 82 +dep A1D 23 +dep A1E 3E +dep A1F 20 +dep A20 01 +dep A21 9C +dep A22 00 +dep A23 8F +dep A24 EE +dep A25 00 +dep A26 04 +dep A27 04 +dep A28 AE +dep A29 C0 +dep A2A AC +dep A2B 60 +dep A2C BE +dep A2D 40 +dep A2E 04 +dep A2F F0 +dep A30 04 +dep A31 F5 +dep A32 04 +dep A33 F5 +dep A34 05 +dep A35 10 +dep A36 03 +dep A37 E1 +dep A38 03 +dep A39 EC +dep A3A A0 +dep A3B 20 +dep A3C 09 +dep A3D 9C +dep A3E 84 +dep A3F 28 +dep A40 64 +dep A41 2E +dep A42 29 +dep A43 20 +dep A44 01 +dep A45 82 +dep A46 02 +dep A47 1D +dep A48 04 +dep A49 F0 +dep A4A 05 +dep A4B 08 +dep A4C 01 +dep A4D 4D +dep A4E 04 +dep A4F E7 +dep A50 05 +dep A51 10 +dep A52 A0 +dep A53 20 +dep A54 09 +dep A55 DA +dep A56 82 +dep A57 44 +dep A58 2E +dep A59 20 +dep A5A 05 +dep A5B 22 +dep A5C 03 +dep A5D E1 +dep A5E 03 +dep A5F EC +dep A60 A0 +dep A61 20 +dep A62 04 +dep A63 C8 +dep A64 81 +dep A65 2E +dep A66 A0 +dep A67 C1 +dep A68 05 +dep A69 2D +dep A6A A0 +dep A6B 20 +dep A6C 09 +dep A6D 32 +dep A6E 82 +dep A6F 55 +dep A70 2E +dep A71 20 +dep A72 BE +dep A73 40 +dep A74 05 +dep A75 2D +dep A76 A0 +dep A77 20 +dep A78 0A +dep A79 54 +dep A7A 83 +dep A7B 44 +dep A7C 2E +dep A7D 52 +dep A7E BE +dep A7F 81 +dep A80 05 +dep A81 22 +dep A82 BE +dep A83 01 +dep A84 AE +dep A85 C0 +dep A86 AC +dep A87 40 +dep A88 03 +dep A89 F4 +dep A8A 03 +dep A8B E1 +dep A8C A0 +dep A8D 20 +dep A8E 0A +dep A8F 6C +dep A90 83 +dep A91 55 +dep A92 2E +dep A93 52 +dep A94 BE +dep A95 40 +dep A96 AE +dep A97 80 +dep A98 05 +dep A99 3F +dep A9A A0 +dep A9B 20 +dep A9C 08 +dep A9D 76 +dep A9E 81 +dep A9F 3F +dep AA0 EE +dep AA1 00 +dep AA2 05 +dep AA3 33 +dep AA4 A0 +dep AA5 20 +dep AA6 09 +dep AA7 10 +dep AA8 85 +dep AA9 41 +dep AAA 42 +dep AAB 4F +dep AAC 52 +dep AAD 54 +dep AAE 00 +dep AAF 6D +dep AB0 EE +dep AB1 00 +dep AB2 BE +dep AB3 87 +dep AB4 A0 +dep AB5 20 +dep AB6 89 +dep AB7 64 +dep AB8 03 +dep AB9 FF +dep ABA 04 +dep ABB 39 +dep ABC 03 +dep ABD E1 +dep ABE 03 +dep ABF EC +dep AC0 BE +dep AC1 01 +dep AC2 04 +dep AC3 39 +dep AC4 03 +dep AC5 E1 +dep AC6 05 +dep AC7 57 +dep AC8 BE +dep AC9 01 +dep ACA 04 +dep ACB 39 +dep ACC A8 +dep ACD 40 +dep ACE 04 +dep ACF 1C +dep AD0 BE +dep AD1 A7 +dep AD2 0A +dep AD3 3C +dep AD4 84 +dep AD5 68 +dep AD6 75 +dep AD7 68 +dep AD8 3F +dep AD9 20 +dep ADA 00 +dep ADB FF +dep ADC 05 +dep ADD 5B +dep ADE 01 +dep ADF 3F +dep AE0 A0 +dep AE1 20 +dep AE2 0A +dep AE3 8E +dep AE4 86 +dep AE5 2D +dep AE6 44 +dep AE7 49 +dep AE8 47 +dep AE9 49 +dep AEA 54 +dep AEB 20 +dep AEC BE +dep AED 81 +dep AEE A0 +dep AEF C0 +dep AF0 DE +dep AF1 00 +dep AF2 00 +dep AF3 39 +dep AF4 01 +dep AF5 26 +dep AF6 89 +dep AF7 82 +dep AF8 A0 +dep AF9 C0 +dep AFA DE +dep AFB 00 +dep AFC 00 +dep AFD 40 +dep AFE 01 +dep AFF 26 +dep B00 B2 +dep B01 C7 +dep B02 AC +dep B03 40 +dep B04 D4 +dep B05 80 +dep B06 00 +dep B07 30 +dep B08 A0 +dep B09 C0 +dep B0A BE +dep B0B 01 +dep B0C 01 +dep B0D 65 +dep B0E A0 +dep B0F 20 +dep B10 0A +dep B11 1A +dep B12 87 +dep B13 43 +dep B14 4F +dep B15 4E +dep B16 56 +dep B17 45 +dep B18 52 +dep B19 54 +dep B1A B8 +dep B1B C1 +dep B1C A0 +dep B1D C0 +dep B1E BE +dep B1F 81 +dep B20 FE +dep B21 00 +dep B22 04 +dep B23 9D +dep B24 00 +dep B25 79 +dep B26 EE +dep B27 00 +dep B28 05 +dep B29 76 +dep B2A 89 +dep B2B A2 +dep B2C AE +dep B2D 80 +dep B2E 00 +dep B2F 79 +dep B30 EE +dep B31 00 +dep B32 02 +dep B33 AB +dep B34 AE +dep B35 40 +dep B36 01 +dep B37 4D +dep B38 00 +dep B39 79 +dep B3A EE +dep B3B 00 +dep B3C 02 +dep B3D AB +dep B3E 01 +dep B3F D1 +dep B40 BE +dep B41 01 +dep B42 91 +dep B43 8D +dep B44 AE +dep B45 40 +dep B46 BE +dep B47 01 +dep B48 A0 +dep B49 20 +dep B4A 0A +dep B4B D2 +dep B4C 86 +dep B4D 28 +dep B4E 56 +dep B4F 41 +dep B50 4C +dep B51 3F +dep B52 29 +dep B53 20 +dep B54 04 +dep B55 04 +dep B56 B4 +dep B57 C1 +dep B58 AE +dep B59 C0 +dep B5A AC +dep B5B 40 +dep B5C 01 +dep B5D 82 +dep B5E BE +dep B5F 81 +dep B60 02 +dep B61 42 +dep B62 00 +dep B63 ED +dep B64 04 +dep B65 04 +dep B66 B4 +dep B67 C1 +dep B68 A0 +dep B69 C0 +dep B6A 00 +dep B6B 7F +dep B6C EE +dep B6D 80 +dep B6E FE +dep B6F 80 +dep B70 BE +dep B71 40 +dep B72 BE +dep B73 40 +dep B74 BE +dep B75 01 +dep B76 A0 +dep B77 C0 +dep B78 FE +dep B79 00 +dep B7A DE +dep B7B 00 +dep B7C 00 +dep B7D 2D +dep B7E 01 +dep B7F 0A +dep B80 A0 +dep B81 C0 +dep B82 BE +dep B83 81 +dep B84 AC +dep B85 40 +dep B86 B4 +dep B87 C1 +dep B88 05 +dep B89 8D +dep B8A A0 +dep B8B C0 +dep B8C FE +dep B8D 00 +dep B8E A0 +dep B8F C0 +dep B90 DE +dep B91 00 +dep B92 00 +dep B93 3A +dep B94 01 +dep B95 0A +dep B96 AE +dep B97 80 +dep B98 DE +dep B99 00 +dep B9A 00 +dep B9B 2C +dep B9C DE +dep B9D 00 +dep B9E 00 +dep B9F 2F +dep BA0 B8 +dep BA1 C1 +dep BA2 01 +dep BA3 77 +dep BA4 A6 +dep BA5 40 +dep BA6 89 +dep BA7 D8 +dep BA8 A0 +dep BA9 C0 +dep BAA 00 +dep BAB 7F +dep BAC EE +dep BAD 80 +dep BAE 91 +dep BAF C4 +dep BB0 BE +dep BB1 01 +dep BB2 AE +dep BB3 80 +dep BB4 BE +dep BB5 81 +dep BB6 89 +dep BB7 DD +dep BB8 01 +dep BB9 EC +dep BBA 04 +dep BBB 04 +dep BBC B4 +dep BBD C1 +dep BBE 00 +dep BBF 7F +dep BC0 E4 +dep BC1 80 +dep BC2 B4 +dep BC3 C1 +dep BC4 00 +dep BC5 7F +dep BC6 EE +dep BC7 80 +dep BC8 BE +dep BC9 01 +dep BCA 04 +dep BCB 04 +dep BCC B4 +dep BCD C1 +dep BCE 01 +dep BCF 0A +dep BD0 89 +dep BD1 F2 +dep BD2 00 +dep BD3 7F +dep BD4 EE +dep BD5 00 +dep BD6 A0 +dep BD7 01 +dep BD8 89 +dep BD9 F0 +dep BDA AE +dep BDB 40 +dep BDC BE +dep BDD 41 +dep BDE 91 +dep BDF F1 +dep BE0 BE +dep BE1 42 +dep BE2 91 +dep BE3 F4 +dep BE4 01 +dep BE5 9C +dep BE6 BE +dep BE7 40 +dep BE8 A0 +dep BE9 20 +dep BEA 0A +dep BEB 62 +dep BEC 84 +dep BED 56 +dep BEE 41 +dep BEF 4C +dep BF0 3F +dep BF1 20 +dep BF2 00 +dep BF3 79 +dep BF4 EE +dep BF5 00 +dep BF6 BE +dep BF7 81 +dep BF8 AE +dep BF9 C0 +dep BFA FE +dep BFB 00 +dep BFC DE +dep BFD 00 +dep BFE 00 +dep BFF 24 +dep C00 01 +dep C01 0A +dep C02 88 +dep C03 06 +dep C04 04 +dep C05 2A +dep C06 BE +dep C07 41 +dep C08 04 +dep C09 40 +dep C0A 90 +dep C0B 19 +dep C0C AE +dep C0D C0 +dep C0E FE +dep C0F 00 +dep C10 DE +dep C11 00 +dep C12 00 +dep C13 23 +dep C14 01 +dep C15 0A +dep C16 88 +dep C17 10 +dep C18 04 +dep C19 24 +dep C1A BE +dep C1B 41 +dep C1C 04 +dep C1D 40 +dep C1E 90 +dep C1F 19 +dep C20 AE +dep C21 C0 +dep C22 FE +dep C23 00 +dep C24 DE +dep C25 00 +dep C26 00 +dep C27 25 +dep C28 01 +dep C29 0A +dep C2A 88 +dep C2B 19 +dep C2C 04 +dep C2D 32 +dep C2E BE +dep C2F 41 +dep C30 04 +dep C31 40 +dep C32 05 +dep C33 AA +dep C34 BE +dep C35 01 +dep C36 00 +dep C37 79 +dep C38 EE +dep C39 A0 +dep C3A 0B +dep C3B 4A +dep C3C 84 +dep C3D 50 +dep C3E 49 +dep C3F 43 +dep C40 4B +dep C41 20 +dep C42 BE +dep C43 04 +dep C44 BE +dep C45 81 +dep C46 BE +dep C47 06 +dep C48 BE +dep C49 81 +dep C4A BE +dep C4B 84 +dep C4C 04 +dep C4D 07 +dep C4E BE +dep C4F 04 +dep C50 BE +dep C51 82 +dep C52 E9 +dep C53 C2 +dep C54 B4 +dep C55 C2 +dep C56 A0 +dep C57 C0 +dep C58 BE +dep C59 86 +dep C5A BE +dep C5B 04 +dep C5C BE +dep C5D 82 +dep C5E E5 +dep C5F 42 +dep C60 AE +dep C61 40 +dep C62 BE +dep C63 06 +dep C64 EE +dep C65 00 +dep C66 BE +dep C67 01 +dep C68 BE +dep C69 86 +dep C6A BE +dep C6B 01 +dep C6C BE +dep C6D A4 +dep C6E 08 +dep C6F 5A +dep C70 84 +dep C71 52 +dep C72 4F +dep C73 4C +dep C74 4C +dep C75 20 +dep C76 01 +dep C77 19 +dep C78 88 +dep C79 55 +dep C7A BE +dep C7B 04 +dep C7C BE +dep C7D 81 +dep C7E BE +dep C7F 06 +dep C80 BE +dep C81 81 +dep C82 BE +dep C83 84 +dep C84 04 +dep C85 07 +dep C86 BE +dep C87 04 +dep C88 BE +dep C89 82 +dep C8A E9 +dep C8B C2 +dep C8C B4 +dep C8D C2 +dep C8E A0 +dep C8F C0 +dep C90 BE +dep C91 86 +dep C92 B4 +dep C93 C2 +dep C94 BE +dep C95 04 +dep C96 B4 +dep C97 C1 +dep C98 BE +dep C99 82 +dep C9A E5 +dep C9B 42 +dep C9C AE +dep C9D 40 +dep C9E BE +dep C9F 06 +dep CA0 EE +dep CA1 00 +dep CA2 BE +dep CA3 01 +dep CA4 BE +dep CA5 86 +dep CA6 BE +dep CA7 01 +dep CA8 BE +dep CA9 84 +dep CAA A0 +dep CAB 20 +dep CAC 0A +dep CAD 78 +dep CAE 85 +dep CAF 44 +dep CB0 45 +dep CB1 50 +dep CB2 54 +dep CB3 48 +dep CB4 BE +dep CB5 40 +dep CB6 B8 +dep CB7 89 +dep CB8 D2 +dep CB9 80 +dep CBA 00 +dep CBB FF +dep CBC B4 +dep CBD E3 +dep CBE 0A +dep CBF 9C +dep CC0 86 +dep CC1 3F +dep CC2 53 +dep CC3 54 +dep CC4 41 +dep CC5 43 +dep CC6 4B +dep CC7 20 +dep CC8 06 +dep CC9 5A +dep CCA A0 +dep CCB 01 +dep CCC 05 +dep CCD 5B +dep CCE 10 +dep CCF 53 +dep CD0 74 +dep CD1 61 +dep CD2 63 +dep CD3 6B +dep CD4 20 +dep CD5 75 +dep CD6 6E +dep CD7 64 +dep CD8 65 +dep CD9 72 +dep CDA 66 +dep CDB 6C +dep CDC 6F +dep CDD 77 +dep CDE 20 +dep CDF 20 +dep CE0 A0 +dep CE1 20 +dep CE2 0C +dep CE3 BE +dep CE4 85 +dep CE5 3F +dep CE6 43 +dep CE7 4F +dep CE8 4D +dep CE9 50 +dep CEA 00 +dep CEB 61 +dep CEC EE +dep CED 00 +dep CEE 00 +dep CEF FF +dep CF0 05 +dep CF1 5B +dep CF2 13 +dep CF3 69 +dep CF4 73 +dep CF5 20 +dep CF6 63 +dep CF7 6F +dep CF8 6D +dep CF9 70 +dep CFA 69 +dep CFB 6C +dep CFC 61 +dep CFD 74 +dep CFE 69 +dep CFF 6F +dep D00 6E +dep D01 20 +dep D02 6F +dep D03 6E +dep D04 6C +dep D05 79 +dep D06 A0 +dep D07 20 +dep D08 0B +dep D09 EA +dep D0A 82 +dep D0B 2E +dep D0C 53 +dep D0D 20 +dep D0E 06 +dep D0F 64 +dep D10 03 +dep D11 D6 +dep D12 06 +dep D13 5A +dep D14 BE +dep D15 81 +dep D16 90 +dep D17 8F +dep D18 BE +dep D19 00 +dep D1A 06 +dep D1B 21 +dep D1C 05 +dep D1D 39 +dep D1E 98 +dep D1F 8C +dep D20 04 +dep D21 C7 +dep D22 05 +dep D23 3C +dep D24 74 +dep D25 6F +dep D26 70 +dep D27 20 +dep D28 A0 +dep D29 20 +dep D2A 0C +dep D2B AC +dep D2C 86 +dep D2D 4C +dep D2E 3E +dep D2F 4E +dep D30 41 +dep D31 4D +dep D32 45 +dep D33 20 +dep D34 B8 +dep D35 E2 +dep D36 0D +dep D37 08 +dep D38 85 +dep D39 3E +dep D3A 43 +dep D3B 4F +dep D3C 44 +dep D3D 45 +dep D3E 06 +dep D3F 9A +dep D40 04 +dep D41 39 +dep D42 B2 +dep D43 DF +dep D44 A8 +dep D45 40 +dep D46 04 +dep D47 1C +dep D48 A0 +dep D49 20 +dep D4A 0D +dep D4B 36 +dep D4C 85 +dep D4D 3E +dep D4E 4E +dep D4F 41 +dep D50 4D +dep D51 45 +dep D52 B4 +dep D53 C1 +dep D54 A0 +dep D55 C0 +dep D56 FE +dep D57 00 +dep D58 D2 +dep D59 80 +dep D5A 00 +dep D5B 80 +dep D5C 88 +dep D5D A9 +dep D5E A0 +dep D5F C0 +dep D60 B2 +dep D61 C1 +dep D62 AC +dep D63 60 +dep D64 0D +dep D65 4A +dep D66 85 +dep D67 3E +dep D68 4C +dep D69 49 +dep D6A 4E +dep D6B 4B +dep D6C 06 +dep D6D A9 +dep D6E B4 +dep D6F E2 +dep D70 0D +dep D71 64 +dep D72 83 +dep D73 3E +dep D74 74 +dep D75 61 +dep D76 00 +dep D77 5B +dep D78 E4 +dep D79 A0 +dep D7A 0C +dep D7B 3A +dep D7C 88 +dep D7D 50 +dep D7E 52 +dep D7F 45 +dep D80 56 +dep D81 49 +dep D82 4F +dep D83 55 +dep D84 53 +dep D85 20 +dep D86 00 +dep D87 BA +dep D88 EE +dep D89 00 +dep D8A 06 +dep D8B 9A +dep D8C A0 +dep D8D 20 +dep D8E 0A +dep D8F E2 +dep D90 83 +dep D91 55 +dep D92 53 +dep D93 45 +dep D94 00 +dep D95 BA +dep D96 EE +dep D97 00 +dep D98 06 +dep D99 9F +dep D9A EE +dep D9B A0 +dep D9C 04 +dep D9D 0D +dep D9E 00 +dep D9F 9D +dep DA0 EE +dep DA1 20 +dep DA2 06 +dep DA3 CE +dep DA4 00 +dep DA5 A2 +dep DA6 EE +dep DA7 00 +dep DA8 04 +dep DA9 40 +dep DAA A0 +dep DAB 20 +dep DAC 88 +dep DAD D8 +dep DAE B8 +dep DAF C1 +dep DB0 00 +dep DB1 A2 +dep DB2 01 +dep DB3 5D +dep DB4 A0 +dep DB5 20 +dep DB6 0C +dep DB7 E2 +dep DB8 84 +dep DB9 57 +dep DBA 4F +dep DBB 52 +dep DBC 44 +dep DBD 20 +dep DBE BE +dep DBF 81 +dep DC0 06 +dep DC1 D1 +dep DC2 AE +dep DC3 C0 +dep DC4 BE +dep DC5 01 +dep DC6 AE +dep DC7 80 +dep DC8 BE +dep DC9 81 +dep DCA BE +dep DCB 81 +dep DCC BE +dep DCD 00 +dep DCE 04 +dep DCF 49 +dep DD0 AE +dep DD1 C0 +dep DD2 AE +dep DD3 80 +dep DD4 BE +dep DD5 01 +dep DD6 04 +dep DD7 5B +dep DD8 AE +dep DD9 C0 +dep DDA B4 +dep DDB 81 +dep DDC AE +dep DDD 80 +dep DDE 06 +dep DDF D6 +dep DE0 AE +dep DE1 C0 +dep DE2 AC +dep DE3 40 +dep DE4 03 +dep DE5 FF +dep DE6 A0 +dep DE7 C0 +dep DE8 BE +dep DE9 81 +dep DEA 01 +dep DEB A2 +dep DEC FE +dep DED 80 +dep DEE B8 +dep DEF C1 +dep DF0 AE +dep DF1 80 +dep DF2 02 +dep DF3 42 +dep DF4 00 +dep DF5 ED +dep DF6 BE +dep DF7 00 +dep DF8 04 +dep DF9 39 +dep DFA A8 +dep DFB 40 +dep DFC FE +dep DFD 80 +dep DFE BE +dep DFF 01 +dep E00 A0 +dep E01 20 +dep E02 B8 +dep E03 C1 +dep E04 FE +dep E05 00 +dep E06 B2 +dep E07 C7 +dep E08 A0 +dep E09 02 +dep E0A B8 +dep E0B C2 +dep E0C BE +dep E0D 50 +dep E0E 03 +dep E0F 28 +dep E10 A0 +dep E11 20 +dep E12 AE +dep E13 C0 +dep E14 FE +dep E15 00 +dep E16 AE +dep E17 C0 +dep E18 FE +dep E19 00 +dep E1A B2 +dep E1B DF +dep E1C 01 +dep E1D 11 +dep E1E 89 +dep E1F 12 +dep E20 01 +dep E21 9C +dep E22 BE +dep E23 60 +dep E24 B8 +dep E25 C1 +dep E26 AE +dep E27 80 +dep E28 04 +dep E29 39 +dep E2A 04 +dep E2B AD +dep E2C A0 +dep E2D 20 +dep E2E A0 +dep E2F C0 +dep E30 07 +dep E31 01 +dep E32 01 +dep E33 4D +dep E34 A8 +dep E35 40 +dep E36 EE +dep E37 00 +dep E38 A0 +dep E39 C0 +dep E3A 89 +dep E3B 32 +dep E3C AE +dep E3D C0 +dep E3E AE +dep E3F C0 +dep E40 06 +dep E41 9A +dep E42 07 +dep E43 09 +dep E44 89 +dep E45 30 +dep E46 A0 +dep E47 40 +dep E48 A0 +dep E49 C0 +dep E4A 06 +dep E4B 9F +dep E4C AE +dep E4D 80 +dep E4E 06 +dep E4F 9A +dep E50 FE +dep E51 00 +dep E52 D2 +dep E53 80 +dep E54 00 +dep E55 40 +dep E56 89 +dep E57 2E +dep E58 BE +dep E59 41 +dep E5A 91 +dep E5B 2F +dep E5C BF +dep E5D 40 +dep E5E A0 +dep E5F 20 +dep E60 EE +dep E61 00 +dep E62 91 +dep E63 1C +dep E64 A0 +dep E65 20 +dep E66 0D +dep E67 70 +dep E68 84 +dep E69 46 +dep E6A 49 +dep E6B 4E +dep E6C 44 +dep E6D 20 +dep E6E A0 +dep E6F C0 +dep E70 FE +dep E71 00 +dep E72 A0 +dep E73 C0 +dep E74 89 +dep E75 50 +dep E76 BE +dep E77 5F +dep E78 03 +dep E79 36 +dep E7A AE +dep E7B C0 +dep E7C FE +dep E7D 80 +dep E7E 00 +dep E7F A9 +dep E80 EE +dep E81 00 +dep E82 AE +dep E83 80 +dep E84 07 +dep E85 17 +dep E86 A0 +dep E87 C0 +dep E88 89 +dep E89 46 +dep E8A A0 +dep E8B 20 +dep E8C 00 +dep E8D A9 +dep E8E EE +dep E8F 00 +dep E90 00 +dep E91 D1 +dep E92 01 +dep E93 11 +dep E94 89 +dep E95 4F +dep E96 AE +dep E97 40 +dep E98 00 +dep E99 D1 +dep E9A AE +dep E9B 80 +dep E9C 07 +dep E9D 17 +dep E9E A0 +dep E9F 20 +dep EA0 A0 +dep EA1 20 +dep EA2 0D +dep EA3 B6 +dep EA4 81 +dep EA5 27 +dep EA6 00 +dep EA7 ED +dep EA8 06 +dep EA9 DF +dep EAA 07 +dep EAB 37 +dep EAC 05 +dep EAD 6D +dep EAE A0 +dep EAF 20 +dep EB0 A0 +dep EB1 C0 +dep EB2 03 +dep EB3 FF +dep EB4 A8 +dep EB5 40 +dep EB6 FE +dep EB7 20 +dep EB8 00 +dep EB9 79 +dep EBA EE +dep EBB 00 +dep EBC BE +dep EBD 81 +dep EBE 04 +dep EBF 24 +dep EC0 04 +dep EC1 F0 +dep EC2 00 +dep EC3 ED +dep EC4 04 +dep EC5 D2 +dep EC6 01 +dep EC7 19 +dep EC8 89 +dep EC9 6B +dep ECA A0 +dep ECB C0 +dep ECC DA +dep ECD 80 +dep ECE 00 +dep ECF 40 +dep ED0 04 +dep ED1 D2 +dep ED2 A0 +dep ED3 C0 +dep ED4 91 +dep ED5 6E +dep ED6 03 +dep ED7 B3 +dep ED8 BE +dep ED9 40 +dep EDA 05 +dep EDB 08 +dep EDC DE +dep EDD 00 +dep EDE 00 +dep EDF 7E +dep EE0 04 +dep EE1 D2 +dep EE2 05 +dep EE3 10 +dep EE4 AE +dep EE5 80 +dep EE6 AE +dep EE7 C0 +dep EE8 04 +dep EE9 04 +dep EEA B8 +dep EEB C2 +dep EEC AE +dep EED 80 +dep EEE 02 +dep EEF 42 +dep EF0 B4 +dep EF1 C1 +dep EF2 04 +dep EF3 04 +dep EF4 B8 +dep EF5 C1 +dep EF6 FE +dep EF7 80 +dep EF8 04 +dep EF9 04 +dep EFA B8 +dep EFB C1 +dep EFC BE +dep EFD 01 +dep EFE 00 +dep EFF 79 +dep F00 EE +dep F01 A0 +dep F02 07 +dep F03 5C +dep F04 07 +dep F05 37 +dep F06 89 +dep F07 86 +dep F08 BE +dep F09 87 +dep F0A 91 +dep F0B 87 +dep F0C AE +dep F0D 40 +dep F0E A0 +dep F0F 20 +dep F10 01 +dep F11 A2 +dep F12 A0 +dep F13 C0 +dep F14 03 +dep F15 BB +dep F16 AE +dep F17 40 +dep F18 03 +dep F19 FF +dep F1A A8 +dep F1B 40 +dep F1C FE +dep F1D 80 +dep F1E B8 +dep F1F E1 +dep F20 0D +dep F21 8E +dep F22 86 +dep F23 45 +dep F24 58 +dep F25 50 +dep F26 45 +dep F27 43 +dep F28 54 +dep F29 20 +dep F2A 03 +dep F2B FF +dep F2C AE +dep F2D C0 +dep F2E B8 +dep F2F C2 +dep F30 02 +dep F31 77 +dep F32 BE +dep F33 40 +dep F34 01 +dep F35 A2 +dep F36 01 +dep F37 26 +dep F38 89 +dep F39 A9 +dep F3A 03 +dep F3B B3 +dep F3C A0 +dep F3D C0 +dep F3E D4 +dep F3F 80 +dep F40 00 +dep F41 20 +dep F42 DE +dep F43 00 +dep F44 00 +dep F45 5F +dep F46 01 +dep F47 65 +dep F48 89 +dep F49 A7 +dep F4A 07 +dep F4B 88 +dep F4C 91 +dep F4D A8 +dep F4E 07 +dep F4F 81 +dep F50 91 +dep F51 9A +dep F52 00 +dep F53 C0 +dep F54 EE +dep F55 80 +dep F56 03 +dep F57 FF +dep F58 01 +dep F59 4D +dep F5A 01 +dep F5B 4D +dep F5C 02 +dep F5D 42 +dep F5E A0 +dep F5F 20 +dep F60 0E +dep F61 66 +dep F62 82 +dep F63 7E +dep F64 5B +dep F65 20 +dep F66 A0 +dep F67 C0 +dep F68 89 +dep F69 BE +dep F6A BE +dep F6B 48 +dep F6C 03 +dep F6D BB +dep F6E DE +dep F6F 00 +dep F70 00 +dep F71 20 +dep F72 03 +dep F73 BB +dep F74 BE +dep F75 48 +dep F76 03 +dep F77 BB +dep F78 B4 +dep F79 C1 +dep F7A 91 +dep F7B B3 +dep F7C A0 +dep F7D 20 +dep F7E 0F +dep F7F 60 +dep F80 82 +dep F81 7E +dep F82 48 +dep F83 20 +dep F84 A0 +dep F85 C0 +dep F86 89 +dep F87 CC +dep F88 BE +dep F89 48 +dep F8A 03 +dep F8B BB +dep F8C DE +dep F8D 00 +dep F8E 00 +dep F8F 20 +dep F90 03 +dep F91 BB +dep F92 BE +dep F93 48 +dep F94 03 +dep F95 BB +dep F96 B4 +dep F97 C1 +dep F98 A0 +dep F99 20 +dep F9A 0F +dep F9B 7E +dep F9C 82 +dep F9D 7E +dep F9E 4D +dep F9F 20 +dep FA0 03 +dep FA1 EC +dep FA2 03 +dep FA3 36 +dep FA4 A0 +dep FA5 E0 +dep FA6 0D +dep FA7 2A +dep FA8 85 +dep FA9 54 +dep FAA 49 +dep FAB 43 +dep FAC 4B +dep FAD 53 +dep FAE DE +dep FAF 00 +dep FB0 00 +dep FB1 33 +dep FB2 03 +dep FB3 A6 +dep FB4 03 +dep FB5 74 +dep FB6 A0 +dep FB7 20 +dep FB8 0F +dep FB9 A6 +dep FBA 85 +dep FBB 54 +dep FBC 49 +dep FBD 4D +dep FBE 45 +dep FBF 52 +dep FC0 07 +dep FC1 D7 +dep FC2 00 +dep FC3 7B +dep FC4 EE +dep FC5 A0 +dep FC6 0B +dep FC7 10 +dep FC8 85 +dep FC9 43 +dep FCA 4C +dep FCB 49 +dep FCC 43 +dep FCD 4B +dep FCE 07 +dep FCF D7 +dep FD0 00 +dep FD1 7B +dep FD2 E4 +dep FD3 80 +dep FD4 DE +dep FD5 00 +dep FD6 03 +dep FD7 E8 +dep FD8 DE +dep FD9 00 +dep FDA 00 +dep FDB B6 +dep FDC 03 +dep FDD 2D +dep FDE 00 +dep FDF 79 +dep FE0 EE +dep FE1 00 +dep FE2 BE +dep FE3 81 +dep FE4 04 +dep FE5 24 +dep FE6 BE +dep FE7 40 +dep FE8 04 +dep FE9 F0 +dep FEA 04 +dep FEB F5 +dep FEC 04 +dep FED F5 +dep FEE DE +dep FEF 00 +dep FF0 00 +dep FF1 2E +dep FF2 04 +dep FF3 D2 +dep FF4 05 +dep FF5 08 +dep FF6 05 +dep FF7 10 +dep FF8 03 +dep FF9 E1 +dep FFA 04 +dep FFB C7 +dep FFC 09 +dep FFD 20 +dep FFE 73 +dep FFF 65 +dep 1000 63 +dep 1001 6F +dep 1002 6E +dep 1003 64 +dep 1004 73 +dep 1005 2E +dep 1006 BE +dep 1007 01 +dep 1008 00 +dep 1009 79 +dep 100A EE +dep 100B A0 +dep 100C 0F +dep 100D B8 +dep 100E 8B +dep 100F 44 +dep 1010 4F +dep 1011 53 +dep 1012 2D +dep 1013 43 +dep 1014 4F +dep 1015 4D +dep 1016 4D +dep 1017 41 +dep 1018 4E +dep 1019 44 +dep 101A DE +dep 101B 00 +dep 101C 00 +dep 101D 30 +dep 101E 03 +dep 101F A6 +dep 1020 A0 +dep 1021 C0 +dep 1022 03 +dep 1023 7C +dep 1024 03 +dep 1025 96 +dep 1026 03 +dep 1027 67 +dep 1028 AE +dep 1029 60 +dep 102A 0F +dep 102B C6 +dep 102C 85 +dep 102D 53 +dep 102E 48 +dep 102F 45 +dep 1030 4C +dep 1031 4C +dep 1032 03 +dep 1033 D6 +dep 1034 04 +dep 1035 C7 +dep 1036 25 +dep 1037 54 +dep 1038 79 +dep 1039 70 +dep 103A 65 +dep 103B 20 +dep 103C 45 +dep 103D 58 +dep 103E 49 +dep 103F 54 +dep 1040 20 +dep 1041 74 +dep 1042 6F +dep 1043 20 +dep 1044 72 +dep 1045 65 +dep 1046 74 +dep 1047 75 +dep 1048 72 +dep 1049 6E +dep 104A 20 +dep 104B 74 +dep 104C 6F +dep 104D 20 +dep 104E 41 +dep 104F 70 +dep 1050 70 +dep 1051 2D +dep 1052 46 +dep 1053 6F +dep 1054 72 +dep 1055 74 +dep 1056 68 +dep 1057 20 +dep 1058 2E +dep 1059 2E +dep 105A 2E +dep 105B 20 +dep 105C 04 +dep 105D C1 +dep 105E 08 +dep 105F 43 +dep 1060 4F +dep 1061 4D +dep 1062 4D +dep 1063 41 +dep 1064 4E +dep 1065 44 +dep 1066 20 +dep 1067 20 +dep 1068 08 +dep 1069 0D +dep 106A A0 +dep 106B 20 +dep 106C 10 +dep 106D 0C +dep 106E 83 +dep 106F 44 +dep 1070 4F +dep 1071 53 +dep 1072 BE +dep 1073 40 +dep 1074 06 +dep 1075 DF +dep 1076 04 +dep 1077 39 +dep 1078 08 +dep 1079 0D +dep 107A A0 +dep 107B 20 +dep 107C 03 +dep 107D FF +dep 107E 04 +dep 107F 39 +dep 1080 00 +dep 1081 C8 +dep 1082 04 +dep 1083 82 +dep 1084 04 +dep 1085 C1 +dep 1086 01 +dep 1087 20 +dep 1088 00 +dep 1089 C8 +dep 108A 04 +dep 108B 8D +dep 108C BE +dep 108D 40 +dep 108E 06 +dep 108F DF +dep 1090 04 +dep 1091 39 +dep 1092 00 +dep 1093 C8 +dep 1094 04 +dep 1095 8D +dep 1096 00 +dep 1097 C8 +dep 1098 04 +dep 1099 39 +dep 109A 08 +dep 109B 0D +dep 109C A0 +dep 109D 20 +dep 109E 0A +dep 109F A6 +dep 10A0 82 +dep 10A1 41 +dep 10A2 3A +dep 10A3 20 +dep 10A4 08 +dep 10A5 3E +dep 10A6 A0 +dep 10A7 20 +dep 10A8 0C +dep 10A9 6E +dep 10AA 82 +dep 10AB 42 +dep 10AC 3A +dep 10AD 20 +dep 10AE 08 +dep 10AF 3E +dep 10B0 A0 +dep 10B1 20 +dep 10B2 10 +dep 10B3 2A +dep 10B4 82 +dep 10B5 43 +dep 10B6 3A +dep 10B7 20 +dep 10B8 08 +dep 10B9 3E +dep 10BA A0 +dep 10BB 20 +dep 10BC 10 +dep 10BD 6C +dep 10BE 82 +dep 10BF 44 +dep 10C0 3A +dep 10C1 20 +dep 10C2 08 +dep 10C3 3E +dep 10C4 A0 +dep 10C5 20 +dep 10C6 10 +dep 10C7 B2 +dep 10C8 82 +dep 10C9 43 +dep 10CA 44 +dep 10CB 20 +dep 10CC 08 +dep 10CD 3E +dep 10CE A0 +dep 10CF 20 +dep 10D0 10 +dep 10D1 C6 +dep 10D2 84 +dep 10D3 43 +dep 10D4 4F +dep 10D5 50 +dep 10D6 59 +dep 10D7 20 +dep 10D8 08 +dep 10D9 3E +dep 10DA A0 +dep 10DB 20 +dep 10DC 10 +dep 10DD BC +dep 10DE 83 +dep 10DF 44 +dep 10E0 45 +dep 10E1 4C +dep 10E2 08 +dep 10E3 3E +dep 10E4 A0 +dep 10E5 20 +dep 10E6 10 +dep 10E7 DC +dep 10E8 83 +dep 10E9 44 +dep 10EA 49 +dep 10EB 52 +dep 10EC 08 +dep 10ED 3E +dep 10EE A0 +dep 10EF 20 +dep 10F0 10 +dep 10F1 E6 +dep 10F2 85 +dep 10F3 44 +dep 10F4 49 +dep 10F5 52 +dep 10F6 2F +dep 10F7 57 +dep 10F8 08 +dep 10F9 3E +dep 10FA A0 +dep 10FB 20 +dep 10FC 10 +dep 10FD A8 +dep 10FE 86 +dep 10FF 52 +dep 1100 45 +dep 1101 4E +dep 1102 41 +dep 1103 4D +dep 1104 45 +dep 1105 20 +dep 1106 08 +dep 1107 3E +dep 1108 A0 +dep 1109 20 +dep 110A 10 +dep 110B FC +dep 110C 83 +dep 110D 42 +dep 110E 59 +dep 110F 45 +dep 1110 DE +dep 1111 00 +dep 1112 00 +dep 1113 FF +dep 1114 03 +dep 1115 A6 +dep 1116 A0 +dep 1117 20 +dep 1118 0F +dep 1119 9A +dep 111A 85 +dep 111B 2E +dep 111C 46 +dep 111D 49 +dep 111E 4C +dep 111F 45 +dep 1120 00 +dep 1121 CA +dep 1122 04 +dep 1123 39 +dep 1124 03 +dep 1125 E1 +dep 1126 03 +dep 1127 EC +dep 1128 03 +dep 1129 EC +dep 112A A0 +dep 112B 20 +dep 112C 0F +dep 112D 20 +dep 112E 85 +dep 112F 55 +dep 1130 53 +dep 1131 49 +dep 1132 4E +dep 1133 47 +dep 1134 BE +dep 1135 40 +dep 1136 06 +dep 1137 DF +dep 1138 A0 +dep 1139 C0 +dep 113A FE +dep 113B 00 +dep 113C 88 +dep 113D A3 +dep 113E 04 +dep 113F 39 +dep 1140 00 +dep 1141 CA +dep 1142 04 +dep 1143 82 +dep 1144 90 +dep 1145 A5 +dep 1146 AE +dep 1147 40 +dep 1148 08 +dep 1149 90 +dep 114A A0 +dep 114B 20 +dep 114C 11 +dep 114D 2C +dep 114E 84 +dep 114F 45 +dep 1150 44 +dep 1151 49 +dep 1152 54 +dep 1153 20 +dep 1154 08 +dep 1155 9A +dep 1156 04 +dep 1157 C1 +dep 1158 05 +dep 1159 45 +dep 115A 44 +dep 115B 49 +dep 115C 54 +dep 115D 20 +dep 115E 00 +dep 115F C8 +dep 1160 04 +dep 1161 82 +dep 1162 00 +dep 1163 CA +dep 1164 04 +dep 1165 39 +dep 1166 00 +dep 1167 C8 +dep 1168 04 +dep 1169 8D +dep 116A 03 +dep 116B D6 +dep 116C 03 +dep 116D D6 +dep 116E 00 +dep 116F C8 +dep 1170 04 +dep 1171 39 +dep 1172 08 +dep 1173 0D +dep 1174 A0 +dep 1175 20 +dep 1176 10 +dep 1177 9E +dep 1178 81 +dep 1179 51 +dep 117A 08 +dep 117B AA +dep 117C A0 +dep 117D 20 +dep 117E 11 +dep 117F 4C +dep 1180 82 +dep 1181 45 +dep 1182 44 +dep 1183 20 +dep 1184 08 +dep 1185 9A +dep 1186 04 +dep 1187 C1 +dep 1188 02 +dep 1189 42 +dep 118A 20 +dep 118B 20 +dep 118C 00 +dep 118D C8 +dep 118E 04 +dep 118F 82 +dep 1190 00 +dep 1191 CA +dep 1192 04 +dep 1193 39 +dep 1194 00 +dep 1195 C8 +dep 1196 04 +dep 1197 8D +dep 1198 00 +dep 1199 C8 +dep 119A 04 +dep 119B 39 +dep 119C 08 +dep 119D 0D +dep 119E A0 +dep 119F 20 +dep 11A0 10 +dep 11A1 F0 +dep 11A2 87 +dep 11A3 4C +dep 11A4 49 +dep 11A5 53 +dep 11A6 54 +dep 11A7 49 +dep 11A8 4E +dep 11A9 47 +dep 11AA 00 +dep 11AB ED +dep 11AC 06 +dep 11AD DF +dep 11AE 04 +dep 11AF 39 +dep 11B0 A0 +dep 11B1 C0 +dep 11B2 05 +dep 11B3 6D +dep 11B4 DE +dep 11B5 00 +dep 11B6 00 +dep 11B7 2D +dep 11B8 03 +dep 11B9 A6 +dep 11BA A0 +dep 11BB C0 +dep 11BC 03 +dep 11BD 7C +dep 11BE 03 +dep 11BF 96 +dep 11C0 03 +dep 11C1 67 +dep 11C2 05 +dep 11C3 6D +dep 11C4 03 +dep 11C5 67 +dep 11C6 05 +dep 11C7 6D +dep 11C8 A0 +dep 11C9 20 +dep 11CA 11 +dep 11CB A0 +dep 11CC 84 +dep 11CD 4C +dep 11CE 49 +dep 11CF 53 +dep 11D0 54 +dep 11D1 20 +dep 11D2 BE +dep 11D3 40 +dep 11D4 03 +dep 11D5 3E +dep 11D6 A0 +dep 11D7 C0 +dep 11D8 00 +dep 11D9 85 +dep 11DA EE +dep 11DB 80 +dep 11DC DE +dep 11DD 00 +dep 11DE 00 +dep 11DF 2E +dep 11E0 03 +dep 11E1 A6 +dep 11E2 03 +dep 11E3 7C +dep 11E4 03 +dep 11E5 67 +dep 11E6 05 +dep 11E7 6D +dep 11E8 03 +dep 11E9 67 +dep 11EA 05 +dep 11EB 6D +dep 11EC 03 +dep 11ED 74 +dep 11EE 00 +dep 11EF 85 +dep 11F0 EE +dep 11F1 A0 +dep 11F2 11 +dep 11F3 CA +dep 11F4 81 +dep 11F5 4C +dep 11F6 00 +dep 11F7 85 +dep 11F8 EE +dep 11F9 00 +dep 11FA 08 +dep 11FB E9 +dep 11FC 03 +dep 11FD D6 +dep 11FE A0 +dep 11FF 20 +dep 1200 11 +dep 1201 18 +dep 1202 81 +dep 1203 4E +dep 1204 BE +dep 1205 50 +dep 1206 00 +dep 1207 85 +dep 1208 01 +dep 1209 5D +dep 120A 08 +dep 120B FB +dep 120C A0 +dep 120D 20 +dep 120E 11 +dep 120F 0A +dep 1210 81 +dep 1211 42 +dep 1212 DE +dep 1213 00 +dep 1214 FF +dep 1215 F0 +dep 1216 00 +dep 1217 85 +dep 1218 01 +dep 1219 5D +dep 121A 08 +dep 121B FB +dep 121C A0 +dep 121D 20 +dep 121E 12 +dep 121F 00 +dep 1220 83 +dep 1221 7E +dep 1222 37 +dep 1223 33 +dep 1224 09 +dep 1225 09 +dep 1226 A0 +dep 1227 20 +dep 1228 12 +dep 1229 1E +dep 122A 83 +dep 122B 7E +dep 122C 38 +dep 122D 31 +dep 122E 09 +dep 122F 02 +dep 1230 A0 +dep 1231 20 +dep 1232 12 +dep 1233 28 +dep 1234 83 +dep 1235 7E +dep 1236 37 +dep 1237 31 +dep 1238 BE +dep 1239 40 +dep 123A 08 +dep 123B E9 +dep 123C A0 +dep 123D 20 +dep 123E 12 +dep 123F 32 +dep 1240 83 +dep 1241 7E +dep 1242 37 +dep 1243 39 +dep 1244 DE +dep 1245 00 +dep 1246 7F +dep 1247 FF +dep 1248 08 +dep 1249 E9 +dep 124A A0 +dep 124B 20 +dep 124C 12 +dep 124D 3E +dep 124E 84 +dep 124F 7E +dep 1250 31 +dep 1251 33 +dep 1252 32 +dep 1253 20 +dep 1254 BF +dep 1255 40 +dep 1256 00 +dep 1257 85 +dep 1258 01 +dep 1259 5D +dep 125A 08 +dep 125B FB +dep 125C A0 +dep 125D 20 +dep 125E 12 +dep 125F 4C +dep 1260 84 +dep 1261 7E +dep 1262 31 +dep 1263 31 +dep 1264 38 +dep 1265 20 +dep 1266 BE +dep 1267 41 +dep 1268 00 +dep 1269 85 +dep 126A 01 +dep 126B 5D +dep 126C 08 +dep 126D FB +dep 126E A0 +dep 126F 20 +dep 1270 0E +dep 1271 A2 +dep 1272 86 +dep 1273 3F +dep 1274 50 +dep 1275 41 +dep 1276 55 +dep 1277 53 +dep 1278 45 +dep 1279 20 +dep 127A 03 +dep 127B C7 +dep 127C 89 +dep 127D 4D +dep 127E 03 +dep 127F B3 +dep 1280 BE +dep 1281 5B +dep 1282 01 +dep 1283 0A +dep 1284 89 +dep 1285 46 +dep 1286 00 +dep 1287 6F +dep 1288 EE +dep 1289 00 +dep 128A BE +dep 128B 87 +dep 128C 03 +dep 128D B3 +dep 128E BE +dep 128F 5B +dep 1290 01 +dep 1291 0A +dep 1292 89 +dep 1293 4D +dep 1294 00 +dep 1295 6F +dep 1296 EE +dep 1297 00 +dep 1298 BE +dep 1299 87 +dep 129A A0 +dep 129B 20 +dep 129C BE +dep 129D 81 +dep 129E A0 +dep 129F C0 +dep 12A0 89 +dep 12A1 5C +dep 12A2 AE +dep 12A3 C0 +dep 12A4 FE +dep 12A5 00 +dep 12A6 04 +dep 12A7 9D +dep 12A8 BE +dep 12A9 00 +dep 12AA 01 +dep 12AB 0A +dep 12AC 89 +dep 12AD 59 +dep 12AE B0 +dep 12AF 01 +dep 12B0 A0 +dep 12B1 20 +dep 12B2 BE +dep 12B3 41 +dep 12B4 04 +dep 12B5 40 +dep 12B6 91 +dep 12B7 4F +dep 12B8 B0 +dep 12B9 01 +dep 12BA A0 +dep 12BB 20 +dep 12BC 10 +dep 12BD D0 +dep 12BE 86 +dep 12BF 53 +dep 12C0 45 +dep 12C1 41 +dep 12C2 52 +dep 12C3 43 +dep 12C4 48 +dep 12C5 20 +dep 12C6 BE +dep 12C7 43 +dep 12C8 06 +dep 12C9 21 +dep 12CA FE +dep 12CB 00 +dep 12CC 04 +dep 12CD 9D +dep 12CE A0 +dep 12CF C0 +dep 12D0 BE +dep 12D1 81 +dep 12D2 09 +dep 12D3 4E +dep 12D4 A0 +dep 12D5 C0 +dep 12D6 89 +dep 12D7 7C +dep 12D8 01 +dep 12D9 B1 +dep 12DA 01 +dep 12DB B1 +dep 12DC AE +dep 12DD 40 +dep 12DE AE +dep 12DF 80 +dep 12E0 04 +dep 12E1 AD +dep 12E2 89 +dep 12E3 78 +dep 12E4 AE +dep 12E5 40 +dep 12E6 BE +dep 12E7 81 +dep 12E8 01 +dep 12E9 9C +dep 12EA BE +dep 12EB 01 +dep 12EC B0 +dep 12ED 01 +dep 12EE BF +dep 12EF 60 +dep 12F0 BE +dep 12F1 41 +dep 12F2 04 +dep 12F3 40 +dep 12F4 BE +dep 12F5 01 +dep 12F6 91 +dep 12F7 67 +dep 12F8 01 +dep 12F9 A8 +dep 12FA 01 +dep 12FB 9C +dep 12FC B0 +dep 12FD 01 +dep 12FE A0 +dep 12FF 20 +dep 1300 12 +dep 1301 70 +dep 1302 85 +dep 1303 3F +dep 1304 6C +dep 1305 69 +dep 1306 6E +dep 1307 65 +dep 1308 00 +dep 1309 97 +dep 130A E8 +dep 130B 80 +dep 130C DE +dep 130D 00 +dep 130E 00 +dep 130F 48 +dep 1310 01 +dep 1311 26 +dep 1312 89 +dep 1313 8B +dep 1314 03 +dep 1315 D6 +dep 1316 A0 +dep 1317 20 +dep 1318 11 +dep 1319 76 +dep 131A 83 +dep 131B 49 +dep 131C 44 +dep 131D 2E +dep 131E 04 +dep 131F 39 +dep 1320 B2 +dep 1321 DF +dep 1322 A0 +dep 1323 C0 +dep 1324 09 +dep 1325 84 +dep 1326 BE +dep 1327 81 +dep 1328 91 +dep 1329 9D +dep 132A F9 +dep 132B 41 +dep 132C AE +dep 132D 80 +dep 132E DE +dep 132F 00 +dep 1330 00 +dep 1331 20 +dep 1332 03 +dep 1333 3E +dep 1334 D2 +dep 1335 80 +dep 1336 00 +dep 1337 7F +dep 1338 03 +dep 1339 BB +dep 133A 99 +dep 133B 95 +dep 133C AE +dep 133D 40 +dep 133E 03 +dep 133F EC +dep 1340 A0 +dep 1341 20 +dep 1342 00 +dep 1343 87 +dep 1344 EE +dep 1345 00 +dep 1346 89 +dep 1347 AF +dep 1348 A0 +dep 1349 C0 +dep 134A 03 +dep 134B FF +dep 134C 04 +dep 134D 39 +dep 134E 01 +dep 134F 4D +dep 1350 04 +dep 1351 39 +dep 1352 B2 +dep 1353 DF +dep 1354 09 +dep 1355 63 +dep 1356 A0 +dep 1357 40 +dep 1358 00 +dep 1359 FF +dep 135A 89 +dep 135B AF +dep 135C AE +dep 135D 60 +dep 135E 09 +dep 135F 8F +dep 1360 03 +dep 1361 EC +dep 1362 BE +dep 1363 41 +dep 1364 04 +dep 1365 04 +dep 1366 B4 +dep 1367 C2 +dep 1368 01 +dep 1369 5D +dep 136A A0 +dep 136B 20 +dep 136C AE +dep 136D C0 +dep 136E BE +dep 136F 40 +dep 1370 AE +dep 1371 80 +dep 1372 01 +dep 1373 4D +dep 1374 BE +dep 1375 81 +dep 1376 91 +dep 1377 C6 +dep 1378 01 +dep 1379 A2 +dep 137A EE +dep 137B 00 +dep 137C 01 +dep 137D 65 +dep 137E 89 +dep 137F C5 +dep 1380 01 +dep 1381 55 +dep 1382 01 +dep 1383 9C +dep 1384 A0 +dep 1385 C0 +dep 1386 EE +dep 1387 00 +dep 1388 AE +dep 1389 C0 +dep 138A 01 +dep 138B 44 +dep 138C 99 +dep 138D BC +dep 138E AE +dep 138F 60 +dep 1390 04 +dep 1391 04 +dep 1392 00 +dep 1393 E2 +dep 1394 09 +dep 1395 B6 +dep 1396 A0 +dep 1397 C0 +dep 1398 89 +dep 1399 D3 +dep 139A A0 +dep 139B C0 +dep 139C EE +dep 139D 00 +dep 139E 01 +dep 139F 4D +dep 13A0 EE +dep 13A1 80 +dep 13A2 06 +dep 13A3 9A +dep 13A4 91 +dep 13A5 D4 +dep 13A6 A0 +dep 13A7 40 +dep 13A8 A0 +dep 13A9 20 +dep 13AA 13 +dep 13AB 00 +dep 13AC 85 +dep 13AD 57 +dep 13AE 4F +dep 13AF 52 +dep 13B0 44 +dep 13B1 53 +dep 13B2 00 +dep 13B3 ED +dep 13B4 06 +dep 13B5 DF +dep 13B6 FE +dep 13B7 00 +dep 13B8 01 +dep 13B9 05 +dep 13BA 00 +dep 13BB 87 +dep 13BC EE +dep 13BD 80 +dep 13BE BE +dep 13BF 40 +dep 13C0 04 +dep 13C1 04 +dep 13C2 B4 +dep 13C3 C2 +dep 13C4 EE +dep 13C5 80 +dep 13C6 00 +dep 13C7 A9 +dep 13C8 EE +dep 13C9 00 +dep 13CA 04 +dep 13CB 04 +dep 13CC 00 +dep 13CD E2 +dep 13CE 01 +dep 13CF 49 +dep 13D0 02 +dep 13D1 42 +dep 13D2 03 +dep 13D3 D6 +dep 13D4 09 +dep 13D5 3D +dep 13D6 09 +dep 13D7 C8 +dep 13D8 01 +dep 13D9 19 +dep 13DA 89 +dep 13DB F0 +dep 13DC 09 +dep 13DD A1 +dep 13DE 91 +dep 13DF EA +dep 13E0 03 +dep 13E1 D6 +dep 13E2 04 +dep 13E3 C7 +dep 13E4 06 +dep 13E5 46 +dep 13E6 6F +dep 13E7 75 +dep 13E8 6E +dep 13E9 64 +dep 13EA 20 +dep 13EB 20 +dep 13EC 04 +dep 13ED 04 +dep 13EE B4 +dep 13EF C2 +dep 13F0 05 +dep 13F1 50 +dep 13F2 04 +dep 13F3 C7 +dep 13F4 07 +dep 13F5 77 +dep 13F6 6F +dep 13F7 72 +dep 13F8 64 +dep 13F9 73 +dep 13FA 2E +dep 13FB 20 +dep 13FC A0 +dep 13FD 20 +dep 13FE 00 +dep 13FF E2 +dep 1400 B4 +dep 1401 C1 +dep 1402 BE +dep 1403 81 +dep 1404 AE +dep 1405 80 +dep 1406 AE +dep 1407 C0 +dep 1408 EE +dep 1409 00 +dep 140A 01 +dep 140B A2 +dep 140C AE +dep 140D 80 +dep 140E 01 +dep 140F 65 +dep 1410 A1 +dep 1411 00 +dep 1412 88 +dep 1413 0C +dep 1414 EE +dep 1415 00 +dep 1416 90 +dep 1417 05 +dep 1418 BE +dep 1419 81 +dep 141A AE +dep 141B C0 +dep 141C BE +dep 141D 01 +dep 141E AE +dep 141F 80 +dep 1420 EE +dep 1421 80 +dep 1422 AE +dep 1423 80 +dep 1424 B8 +dep 1425 C2 +dep 1426 98 +dep 1427 02 +dep 1428 01 +dep 1429 9C +dep 142A A0 +dep 142B 20 +dep 142C 00 +dep 142D 56 +dep 142E EE +dep 142F 00 +dep 1430 01 +dep 1431 A2 +dep 1432 01 +dep 1433 65 +dep 1434 88 +dep 1435 1D +dep 1436 EE +dep 1437 00 +dep 1438 90 +dep 1439 18 +dep 143A 00 +dep 143B 56 +dep 143C EE +dep 143D 80 +dep 143E 00 +dep 143F 56 +dep 1440 EE +dep 1441 00 +dep 1442 A0 +dep 1443 C0 +dep 1444 88 +dep 1445 29 +dep 1446 01 +dep 1447 A2 +dep 1448 B8 +dep 1449 C2 +dep 144A EE +dep 144B 00 +dep 144C 09 +dep 144D FF +dep 144E EE +dep 144F 00 +dep 1450 90 +dep 1451 21 +dep 1452 01 +dep 1453 9C +dep 1454 A0 +dep 1455 20 +dep 1456 12 +dep 1457 5E +dep 1458 86 +dep 1459 46 +dep 145A 4F +dep 145B 52 +dep 145C 47 +dep 145D 45 +dep 145E 54 +dep 145F 20 +dep 1460 07 +dep 1461 53 +dep 1462 A0 +dep 1463 C0 +dep 1464 00 +dep 1465 50 +dep 1466 EE +dep 1467 00 +dep 1468 01 +dep 1469 65 +dep 146A 88 +dep 146B 49 +dep 146C 04 +dep 146D C7 +dep 146E 1E +dep 146F 43 +dep 1470 61 +dep 1471 6E +dep 1472 27 +dep 1473 74 +dep 1474 20 +dep 1475 66 +dep 1476 6F +dep 1477 72 +dep 1478 67 +dep 1479 65 +dep 147A 74 +dep 147B 20 +dep 147C 61 +dep 147D 20 +dep 147E 70 +dep 147F 72 +dep 1480 6F +dep 1481 74 +dep 1482 65 +dep 1483 63 +dep 1484 74 +dep 1485 65 +dep 1486 64 +dep 1487 20 +dep 1488 77 +dep 1489 6F +dep 148A 72 +dep 148B 64 +dep 148C 20 +dep 148D 20 +dep 148E AE +dep 148F 40 +dep 1490 90 +dep 1491 4E +dep 1492 06 +dep 1493 B6 +dep 1494 A0 +dep 1495 C0 +dep 1496 0A +dep 1497 16 +dep 1498 00 +dep 1499 B4 +dep 149A EE +dep 149B 80 +dep 149C A0 +dep 149D 20 +dep 149E 11 +dep 149F 7E +dep 14A0 85 +dep 14A1 45 +dep 14A2 4D +dep 14A3 50 +dep 14A4 54 +dep 14A5 59 +dep 14A6 00 +dep 14A7 50 +dep 14A8 EE +dep 14A9 00 +dep 14AA A0 +dep 14AB C0 +dep 14AC 0A +dep 14AD 16 +dep 14AE 00 +dep 14AF B4 +dep 14B0 EE +dep 14B1 A0 +dep 14B2 13 +dep 14B3 AA +dep 14B4 85 +dep 14B5 47 +dep 14B6 55 +dep 14B7 41 +dep 14B8 52 +dep 14B9 44 +dep 14BA 03 +dep 14BB FF +dep 14BC 00 +dep 14BD 50 +dep 14BE EE +dep 14BF A0 +dep 14C0 13 +dep 14C1 18 +dep 14C2 85 +dep 14C3 41 +dep 14C4 4C +dep 14C5 4C +dep 14C6 4F +dep 14C7 54 +dep 14C8 00 +dep 14C9 DA +dep 14CA D4 +dep 14CB 80 +dep 14CC 01 +dep 14CD 00 +dep 14CE AE +dep 14CF C0 +dep 14D0 AC +dep 14D1 40 +dep 14D2 03 +dep 14D3 FF +dep 14D4 01 +dep 14D5 65 +dep 14D6 05 +dep 14D7 5B +dep 14D8 0F +dep 14D9 44 +dep 14DA 69 +dep 14DB 63 +dep 14DC 74 +dep 14DD 69 +dep 14DE 6F +dep 14DF 6E +dep 14E0 61 +dep 14E1 72 +dep 14E2 79 +dep 14E3 20 +dep 14E4 66 +dep 14E5 75 +dep 14E6 6C +dep 14E7 6C +dep 14E8 00 +dep 14E9 B4 +dep 14EA 01 +dep 14EB 5D +dep 14EC A0 +dep 14ED 20 +dep 14EE 11 +dep 14EF F2 +dep 14F0 81 +dep 14F1 2C +dep 14F2 00 +dep 14F3 61 +dep 14F4 EE +dep 14F5 00 +dep 14F6 88 +dep 14F7 89 +dep 14F8 03 +dep 14F9 FF +dep 14FA 00 +dep 14FB 83 +dep 14FC EE +dep 14FD 80 +dep 14FE BE +dep 14FF 40 +dep 1500 00 +dep 1501 73 +dep 1502 EE +dep 1503 80 +dep 1504 00 +dep 1505 71 +dep 1506 EE +dep 1507 00 +dep 1508 B4 +dep 1509 C1 +dep 150A BE +dep 150B 40 +dep 150C 03 +dep 150D 3E +dep 150E 00 +dep 150F 71 +dep 1510 EE +dep 1511 80 +dep 1512 BE +dep 1513 42 +dep 1514 0A +dep 1515 64 +dep 1516 03 +dep 1517 FF +dep 1518 B4 +dep 1519 C2 +dep 151A EE +dep 151B A0 +dep 151C 12 +dep 151D BC +dep 151E 82 +dep 151F 43 +dep 1520 2C +dep 1521 20 +dep 1522 BE +dep 1523 41 +dep 1524 0A +dep 1525 64 +dep 1526 03 +dep 1527 FF +dep 1528 B4 +dep 1529 C1 +dep 152A FE +dep 152B A0 +dep 152C 12 +dep 152D 0E +dep 152E 87 +dep 152F 52 +dep 1530 45 +dep 1531 43 +dep 1532 4F +dep 1533 56 +dep 1534 45 +dep 1535 52 +dep 1536 DE +dep 1537 00 +dep 1538 FF +dep 1539 FE +dep 153A 0A +dep 153B 64 +dep 153C A0 +dep 153D 20 +dep 153E 15 +dep 153F 2C +dep 1540 C7 +dep 1541 52 +dep 1542 45 +dep 1543 43 +dep 1544 55 +dep 1545 52 +dep 1546 53 +dep 1547 45 +dep 1548 00 +dep 1549 BA +dep 154A EE +dep 154B 00 +dep 154C 06 +dep 154D 9F +dep 154E 06 +dep 154F BB +dep 1550 A0 +dep 1551 06 +dep 1552 0A +dep 1553 79 +dep 1554 A0 +dep 1555 20 +dep 1556 14 +dep 1557 EE +dep 1558 88 +dep 1559 3C +dep 155A 68 +dep 155B 65 +dep 155C 61 +dep 155D 64 +dep 155E 65 +dep 155F 72 +dep 1560 3E +dep 1561 20 +dep 1562 04 +dep 1563 13 +dep 1564 03 +dep 1565 FF +dep 1566 00 +dep 1567 BA +dep 1568 EE +dep 1569 80 +dep 156A BE +dep 156B 40 +dep 156C 0A +dep 156D 79 +dep 156E 00 +dep 156F ED +dep 1570 06 +dep 1571 DF +dep 1572 04 +dep 1573 39 +dep 1574 A0 +dep 1575 C0 +dep 1576 05 +dep 1577 6D +dep 1578 03 +dep 1579 FF +dep 157A BE +dep 157B 81 +dep 157C B2 +dep 157D DF +dep 157E A0 +dep 157F C0 +dep 1580 D6 +dep 1581 80 +dep 1582 00 +dep 1583 80 +dep 1584 0A +dep 1585 91 +dep 1586 BE +dep 1587 40 +dep 1588 AE +dep 1589 80 +dep 158A BE +dep 158B 81 +dep 158C BE +dep 158D 81 +dep 158E A0 +dep 158F C0 +dep 1590 FE +dep 1591 00 +dep 1592 0A +dep 1593 91 +dep 1594 B8 +dep 1595 C1 +dep 1596 00 +dep 1597 17 +dep 1598 15 +dep 1599 8E +dep 159A AE +dep 159B 40 +dep 159C 04 +dep 159D 13 +dep 159E BE +dep 159F 01 +dep 15A0 07 +dep 15A1 01 +dep 15A2 00 +dep 15A3 B0 +dep 15A4 E8 +dep 15A5 80 +dep 15A6 00 +dep 15A7 BA +dep 15A8 EE +dep 15A9 00 +dep 15AA AE +dep 15AB C0 +dep 15AC EE +dep 15AD 00 +dep 15AE AE +dep 15AF C0 +dep 15B0 EE +dep 15B1 80 +dep 15B2 AE +dep 15B3 80 +dep 15B4 EE +dep 15B5 A0 +dep 15B6 0D +dep 15B7 7A +dep 15B8 86 +dep 15B9 48 +dep 15BA 45 +dep 15BB 41 +dep 15BC 44 +dep 15BD 45 +dep 15BE 52 +dep 15BF 20 +dep 15C0 00 +dep 15C1 6B +dep 15C2 EE +dep 15C3 00 +dep 15C4 BE +dep 15C5 87 +dep 15C6 A0 +dep 15C7 20 +dep 15C8 15 +dep 15C9 1C +dep 15CA 86 +dep 15CB 43 +dep 15CC 52 +dep 15CD 45 +dep 15CE 41 +dep 15CF 54 +dep 15D0 45 +dep 15D1 20 +dep 15D2 0A +dep 15D3 E0 +dep 15D4 DE +dep 15D5 00 +dep 15D6 BE +dep 15D7 27 +dep 15D8 0A +dep 15D9 79 +dep 15DA A0 +dep 15DB 20 +dep 15DC 15 +dep 15DD C8 +dep 15DE 85 +dep 15DF 53 +dep 15E0 48 +dep 15E1 49 +dep 15E2 46 +dep 15E3 54 +dep 15E4 01 +dep 15E5 19 +dep 15E6 88 +dep 15E7 FE +dep 15E8 A0 +dep 15E9 C1 +dep 15EA 88 +dep 15EB FB +dep 15EC BC +dep 15ED C0 +dep 15EE B4 +dep 15EF C1 +dep 15F0 BE +dep 15F1 82 +dep 15F2 A0 +dep 15F3 06 +dep 15F4 90 +dep 15F5 FE +dep 15F6 B4 +dep 15F7 C1 +dep 15F8 BE +dep 15F9 82 +dep 15FA A0 +dep 15FB 02 +dep 15FC A0 +dep 15FD 20 +dep 15FE BE +dep 15FF 01 +dep 1600 A0 +dep 1601 06 +dep 1602 06 +dep 1603 CA +dep 1604 A0 +dep 1605 20 +dep 1606 15 +dep 1607 DC +dep 1608 86 +dep 1609 53 +dep 160A 54 +dep 160B 52 +dep 160C 49 +dep 160D 4E +dep 160E 47 +dep 160F 20 +dep 1610 06 +dep 1611 DF +dep 1612 04 +dep 1613 39 +dep 1614 A0 +dep 1615 C0 +dep 1616 0A +dep 1617 91 +dep 1618 BE +dep 1619 40 +dep 161A AE +dep 161B 80 +dep 161C BE +dep 161D 81 +dep 161E BE +dep 161F 81 +dep 1620 A0 +dep 1621 C0 +dep 1622 FE +dep 1623 00 +dep 1624 0A +dep 1625 91 +dep 1626 B8 +dep 1627 C1 +dep 1628 00 +dep 1629 17 +dep 162A 16 +dep 162B 20 +dep 162C AE +dep 162D 40 +dep 162E 04 +dep 162F 13 +dep 1630 A0 +dep 1631 20 +dep 1632 15 +dep 1633 56 +dep 1634 89 +dep 1635 3C +dep 1636 6C +dep 1637 69 +dep 1638 74 +dep 1639 65 +dep 163A 72 +dep 163B 61 +dep 163C 6C +dep 163D 3E +dep 163E A0 +dep 163F C0 +dep 1640 BE +dep 1641 40 +dep 1642 01 +dep 1643 2C +dep 1644 AE +dep 1645 C0 +dep 1646 BE +dep 1647 5F +dep 1648 01 +dep 1649 26 +dep 164A A6 +dep 164B 40 +dep 164C 89 +dep 164D 30 +dep 164E DE +dep 164F 00 +dep 1650 DE +dep 1651 00 +dep 1652 0A +dep 1653 79 +dep 1654 0A +dep 1655 79 +dep 1656 DE +dep 1657 00 +dep 1658 FF +dep 1659 FE +dep 165A 00 +dep 165B 83 +dep 165C 01 +dep 165D 5D +dep 165E 91 +dep 165F 33 +dep 1660 D6 +dep 1661 80 +dep 1662 BE +dep 1663 40 +dep 1664 0A +dep 1665 79 +dep 1666 A0 +dep 1667 20 +dep 1668 16 +dep 1669 32 +dep 166A C7 +dep 166B 4C +dep 166C 49 +dep 166D 54 +dep 166E 45 +dep 166F 52 +dep 1670 41 +dep 1671 4C +dep 1672 00 +dep 1673 61 +dep 1674 EE +dep 1675 00 +dep 1676 89 +dep 1677 3D +dep 1678 0B +dep 1679 1F +dep 167A A0 +dep 167B 20 +dep 167C 14 +dep 167D 56 +dep 167E 84 +dep 167F 56 +dep 1680 41 +dep 1681 4C +dep 1682 2C +dep 1683 20 +dep 1684 A0 +dep 1685 C0 +dep 1686 01 +dep 1687 4D +dep 1688 BE +dep 1689 81 +dep 168A B4 +dep 168B C1 +dep 168C 01 +dep 168D 19 +dep 168E 00 +dep 168F FF +dep 1690 89 +dep 1691 43 +dep 1692 BE +dep 1693 01 +dep 1694 0B +dep 1695 1F +dep 1696 B4 +dep 1697 C1 +dep 1698 01 +dep 1699 19 +dep 169A 00 +dep 169B FF +dep 169C 89 +dep 169D 49 +dep 169E A0 +dep 169F 20 +dep 16A0 16 +dep 16A1 06 +dep 16A2 C3 +dep 16A3 5B +dep 16A4 27 +dep 16A5 5D +dep 16A6 06 +dep 16A7 75 +dep 16A8 07 +dep 16A9 53 +dep 16AA 06 +dep 16AB BB +dep 16AC 0B +dep 16AD 1F +dep 16AE A0 +dep 16AF 20 +dep 16B0 16 +dep 16B1 A0 +dep 16B2 C9 +dep 16B3 5B +dep 16B4 43 +dep 16B5 4F +dep 16B6 4D +dep 16B7 50 +dep 16B8 49 +dep 16B9 4C +dep 16BA 45 +dep 16BB 5D +dep 16BC 06 +dep 16BD 75 +dep 16BE 07 +dep 16BF 53 +dep 16C0 06 +dep 16C1 BB +dep 16C2 A0 +dep 16C3 06 +dep 16C4 0A +dep 16C5 79 +dep 16C6 A0 +dep 16C7 20 +dep 16C8 16 +dep 16C9 B0 +dep 16CA 87 +dep 16CB 43 +dep 16CC 4F +dep 16CD 4D +dep 16CE 50 +dep 16CF 49 +dep 16D0 4C +dep 16D1 45 +dep 16D2 06 +dep 16D3 75 +dep 16D4 BE +dep 16D5 01 +dep 16D6 A0 +dep 16D7 C0 +dep 16D8 B8 +dep 16D9 C2 +dep 16DA BE +dep 16DB 81 +dep 16DC EE +dep 16DD 00 +dep 16DE 0A +dep 16DF 79 +dep 16E0 A0 +dep 16E1 20 +dep 16E2 14 +dep 16E3 C0 +dep 16E4 C5 +dep 16E5 41 +dep 16E6 53 +dep 16E7 43 +dep 16E8 49 +dep 16E9 49 +dep 16EA 00 +dep 16EB ED +dep 16EC 06 +dep 16ED DF +dep 16EE B8 +dep 16EF C1 +dep 16F0 FE +dep 16F1 00 +dep 16F2 00 +dep 16F3 61 +dep 16F4 EE +dep 16F5 00 +dep 16F6 89 +dep 16F7 7D +dep 16F8 0B +dep 16F9 1F +dep 16FA A0 +dep 16FB 20 +dep 16FC 16 +dep 16FD 7C +dep 16FE C2 +dep 16FF 2E +dep 1700 22 +dep 1701 20 +dep 1702 0B +dep 1703 69 +dep 1704 04 +dep 1705 C7 +dep 1706 DE +dep 1707 00 +dep 1708 00 +dep 1709 22 +dep 170A 0B +dep 170B 08 +dep 170C A0 +dep 170D 20 +dep 170E 15 +dep 170F 3E +dep 1710 C1 +dep 1711 22 +dep 1712 0B +dep 1713 69 +dep 1714 04 +dep 1715 C1 +dep 1716 DE +dep 1717 00 +dep 1718 00 +dep 1719 22 +dep 171A 0B +dep 171B 08 +dep 171C A0 +dep 171D 20 +dep 171E 16 +dep 171F E2 +dep 1720 C6 +dep 1721 41 +dep 1722 42 +dep 1723 4F +dep 1724 52 +dep 1725 54 +dep 1726 22 +dep 1727 20 +dep 1728 0B +dep 1729 69 +dep 172A 05 +dep 172B 5B +dep 172C DE +dep 172D 00 +dep 172E 00 +dep 172F 22 +dep 1730 0B +dep 1731 08 +dep 1732 A0 +dep 1733 20 +dep 1734 16 +dep 1735 FC +dep 1736 8A +dep 1737 56 +dep 1738 4F +dep 1739 43 +dep 173A 41 +dep 173B 42 +dep 173C 55 +dep 173D 4C +dep 173E 41 +dep 173F 52 +dep 1740 59 +dep 1741 20 +dep 1742 0A +dep 1743 E9 +dep 1744 03 +dep 1745 FF +dep 1746 00 +dep 1747 56 +dep 1748 EE +dep 1749 00 +dep 174A 0A +dep 174B 79 +dep 174C 00 +dep 174D 56 +dep 174E EE +dep 174F 80 +dep 1750 03 +dep 1751 FF +dep 1752 B8 +dep 1753 C2 +dep 1754 A0 +dep 1755 C0 +dep 1756 0A +dep 1757 79 +dep 1758 00 +dep 1759 E2 +dep 175A 01 +dep 175B 49 +dep 175C A0 +dep 175D C0 +dep 175E 0A +dep 175F 64 +dep 1760 02 +dep 1761 77 +dep 1762 0A +dep 1763 FF +dep 1764 BE +dep 1765 01 +dep 1766 B8 +dep 1767 C2 +dep 1768 EE +dep 1769 00 +dep 176A 00 +dep 176B A9 +dep 176C EE +dep 176D A0 +dep 176E 16 +dep 176F 68 +dep 1770 8B +dep 1771 44 +dep 1772 45 +dep 1773 46 +dep 1774 49 +dep 1775 4E +dep 1776 49 +dep 1777 54 +dep 1778 49 +dep 1779 4F +dep 177A 4E +dep 177B 53 +dep 177C 00 +dep 177D A9 +dep 177E EE +dep 177F 00 +dep 1780 00 +dep 1781 B0 +dep 1782 EE +dep 1783 A0 +dep 1784 BE +dep 1785 01 +dep 1786 B8 +dep 1787 C2 +dep 1788 EE +dep 1789 00 +dep 178A 00 +dep 178B A9 +dep 178C EE +dep 178D A0 +dep 178E 17 +dep 178F 34 +dep 1790 85 +dep 1791 46 +dep 1792 4F +dep 1793 52 +dep 1794 54 +dep 1795 48 +dep 1796 0B +dep 1797 C2 +dep 1798 00 +dep 1799 00 +dep 179A FE +dep 179B 62 +dep 179C 00 +dep 179D F3 +dep 179E 00 +dep 179F D1 +dep 17A0 00 +dep 17A1 E2 +dep 17A2 01 +dep 17A3 49 +dep 17A4 02 +dep 17A5 42 +dep 17A6 0B +dep 17A7 CB +dep 17A8 0B +dep 17A9 BE +dep 17AA A0 +dep 17AB 20 +dep 17AC 17 +dep 17AD 8E +dep 17AE 84 +dep 17AF 56 +dep 17B0 4F +dep 17B1 43 +dep 17B2 53 +dep 17B3 20 +dep 17B4 03 +dep 17B5 D6 +dep 17B6 00 +dep 17B7 56 +dep 17B8 EE +dep 17B9 00 +dep 17BA A0 +dep 17BB C0 +dep 17BC 89 +dep 17BD F2 +dep 17BE A0 +dep 17BF C0 +dep 17C0 DE +dep 17C1 00 +dep 17C2 17 +dep 17C3 96 +dep 17C4 B8 +dep 17C5 C2 +dep 17C6 01 +dep 17C7 0A +dep 17C8 89 +dep 17C9 EB +dep 17CA 04 +dep 17CB C7 +dep 17CC 06 +dep 17CD 46 +dep 17CE 4F +dep 17CF 52 +dep 17D0 54 +dep 17D1 48 +dep 17D2 20 +dep 17D3 20 +dep 17D4 91 +dep 17D5 F0 +dep 17D6 A0 +dep 17D7 C0 +dep 17D8 B4 +dep 17D9 C2 +dep 17DA 06 +dep 17DB B6 +dep 17DC 06 +dep 17DD 9A +dep 17DE 09 +dep 17DF 8F +dep 17E0 EE +dep 17E1 00 +dep 17E2 91 +dep 17E3 DD +dep 17E4 AE +dep 17E5 60 +dep 17E6 15 +dep 17E7 B6 +dep 17E8 82 +dep 17E9 40 +dep 17EA 4C +dep 17EB 20 +dep 17EC BE +dep 17ED 0D +dep 17EE BE +dep 17EF 81 +dep 17F0 B0 +dep 17F1 8D +dep 17F2 BE +dep 17F3 8D +dep 17F4 EE +dep 17F5 00 +dep 17F6 BE +dep 17F7 01 +dep 17F8 BE +dep 17F9 AD +dep 17FA 17 +dep 17FB 1E +dep 17FC 82 +dep 17FD 21 +dep 17FE 4C +dep 17FF 20 +dep 1800 BE +dep 1801 0D +dep 1802 BE +dep 1803 81 +dep 1804 B0 +dep 1805 8D +dep 1806 BE +dep 1807 8D +dep 1808 EE +dep 1809 80 +dep 180A BE +dep 180B 01 +dep 180C BE +dep 180D AD +dep 180E 16 +dep 180F C8 +dep 1810 83 +dep 1811 43 +dep 1812 40 +dep 1813 4C +dep 1814 BE +dep 1815 0D +dep 1816 BE +dep 1817 81 +dep 1818 B0 +dep 1819 8D +dep 181A BE +dep 181B 8D +dep 181C FE +dep 181D 00 +dep 181E BE +dep 181F 01 +dep 1820 BE +dep 1821 AD +dep 1822 18 +dep 1823 0E +dep 1824 83 +dep 1825 43 +dep 1826 21 +dep 1827 4C +dep 1828 BE +dep 1829 0D +dep 182A BE +dep 182B 81 +dep 182C B0 +dep 182D 8D +dep 182E BE +dep 182F 8D +dep 1830 FE +dep 1831 80 +dep 1832 BE +dep 1833 01 +dep 1834 BE +dep 1835 AD +dep 1836 18 +dep 1837 22 +dep 1838 86 +dep 1839 43 +dep 183A 4D +dep 183B 4F +dep 183C 56 +dep 183D 45 +dep 183E 4C +dep 183F 20 +dep 1840 BE +dep 1841 81 +dep 1842 90 +dep 1843 33 +dep 1844 01 +dep 1845 B1 +dep 1846 0C +dep 1847 0A +dep 1848 BE +dep 1849 81 +dep 184A 01 +dep 184B A2 +dep 184C BE +dep 184D 01 +dep 184E 01 +dep 184F 55 +dep 1850 0C +dep 1851 14 +dep 1852 BE +dep 1853 41 +dep 1854 BE +dep 1855 40 +dep 1856 01 +dep 1857 D1 +dep 1858 BE +dep 1859 81 +dep 185A BE +dep 185B 81 +dep 185C BE +dep 185D 41 +dep 185E BE +dep 185F 40 +dep 1860 01 +dep 1861 D1 +dep 1862 BE +dep 1863 01 +dep 1864 BE +dep 1865 01 +dep 1866 98 +dep 1867 22 +dep 1868 01 +dep 1869 9C +dep 186A 01 +dep 186B 9C +dep 186C A0 +dep 186D 20 +dep 186E 14 +dep 186F 9E +dep 1870 88 +dep 1871 45 +dep 1872 58 +dep 1873 45 +dep 1874 43 +dep 1875 55 +dep 1876 54 +dep 1877 45 +dep 1878 4C +dep 1879 20 +dep 187A AE +dep 187B 80 +dep 187C BE +dep 187D 81 +dep 187E BE +dep 187F 8C +dep 1880 A0 +dep 1881 20 +dep 1882 A0 +dep 1883 C0 +dep 1884 DE +dep 1885 00 +dep 1886 00 +dep 1887 20 +dep 1888 DE +dep 1889 00 +dep 188A 00 +dep 188B 7F +dep 188C 01 +dep 188D 77 +dep 188E A1 +dep 188F 00 +dep 1890 88 +dep 1891 4C +dep 1892 AE +dep 1893 40 +dep 1894 DE +dep 1895 00 +dep 1896 00 +dep 1897 2E +dep 1898 A0 +dep 1899 20 +dep 189A 03 +dep 189B D6 +dep 189C BE +dep 189D 47 +dep 189E 03 +dep 189F F4 +dep 18A0 BE +dep 18A1 4F +dep 18A2 BE +dep 18A3 81 +dep 18A4 A0 +dep 18A5 C0 +dep 18A6 B2 +dep 18A7 CF +dep 18A8 BE +dep 18A9 43 +dep 18AA 05 +dep 18AB 4A +dep 18AC B8 +dep 18AD C1 +dep 18AE 98 +dep 18AF 52 +dep 18B0 BE +dep 18B1 42 +dep 18B2 03 +dep 18B3 F4 +dep 18B4 BE +dep 18B5 4F +dep 18B6 BE +dep 18B7 81 +dep 18B8 A0 +dep 18B9 C0 +dep 18BA B2 +dep 18BB CF +dep 18BC BE +dep 18BD 41 +dep 18BE 05 +dep 18BF 4A +dep 18C0 B8 +dep 18C1 C1 +dep 18C2 98 +dep 18C3 5C +dep 18C4 AE +dep 18C5 60 +dep 18C6 BE +dep 18C7 81 +dep 18C8 01 +dep 18C9 A2 +dep 18CA 0C +dep 18CB 0A +dep 18CC 05 +dep 18CD 16 +dep 18CE BE +dep 18CF 41 +dep 18D0 BE +dep 18D1 40 +dep 18D2 01 +dep 18D3 D1 +dep 18D4 98 +dep 18D5 64 +dep 18D6 01 +dep 18D7 9C +dep 18D8 A0 +dep 18D9 20 +dep 18DA BE +dep 18DB 81 +dep 18DC 01 +dep 18DD A2 +dep 18DE 0C +dep 18DF 0A +dep 18E0 0C +dep 18E1 41 +dep 18E2 03 +dep 18E3 BB +dep 18E4 BE +dep 18E5 41 +dep 18E6 BE +dep 18E7 40 +dep 18E8 01 +dep 18E9 D1 +dep 18EA 98 +dep 18EB 6E +dep 18EC 01 +dep 18ED 9C +dep 18EE A0 +dep 18EF 20 +dep 18F0 03 +dep 18F1 D6 +dep 18F2 01 +dep 18F3 A2 +dep 18F4 BE +dep 18F5 46 +dep 18F6 05 +dep 18F7 3F +dep 18F8 DE +dep 18F9 00 +dep 18FA 00 +dep 18FB 3A +dep 18FC 03 +dep 18FD BB +dep 18FE 03 +dep 18FF EC +dep 1900 01 +dep 1901 A2 +dep 1902 BE +dep 1903 4F +dep 1904 0C +dep 1905 63 +dep 1906 03 +dep 1907 EC +dep 1908 BE +dep 1909 4F +dep 190A 0C +dep 190B 6D +dep 190C A0 +dep 190D 20 +dep 190E 17 +dep 190F 6E +dep 1910 85 +dep 1911 44 +dep 1912 55 +dep 1913 4D +dep 1914 50 +dep 1915 4C +dep 1916 00 +dep 1917 79 +dep 1918 EE +dep 1919 00 +dep 191A BE +dep 191B 81 +dep 191C 04 +dep 191D 2A +dep 191E 01 +dep 191F 4D +dep 1920 A0 +dep 1921 C0 +dep 1922 0C +dep 1923 4D +dep 1924 01 +dep 1925 55 +dep 1926 BE +dep 1927 50 +dep 1928 03 +dep 1929 31 +dep 192A BE +dep 192B 40 +dep 192C 03 +dep 192D 3E +dep 192E BE +dep 192F 81 +dep 1930 09 +dep 1931 3D +dep 1932 01 +dep 1933 A2 +dep 1934 0C +dep 1935 78 +dep 1936 BE +dep 1937 50 +dep 1938 BE +dep 1939 40 +dep 193A 01 +dep 193B D1 +dep 193C 98 +dep 193D 98 +dep 193E 01 +dep 193F 9C +dep 1940 BE +dep 1941 01 +dep 1942 00 +dep 1943 79 +dep 1944 EE +dep 1945 A0 +dep 1946 19 +dep 1947 0E +dep 1948 84 +dep 1949 44 +dep 194A 55 +dep 194B 4D +dep 194C 50 +dep 194D 20 +dep 194E BE +dep 194F 0D +dep 1950 AE +dep 1951 80 +dep 1952 0C +dep 1953 8B +dep 1954 A0 +dep 1955 20 +dep 1956 19 +dep 1957 46 +dep 1958 87 +dep 1959 44 +dep 195A 49 +dep 195B 53 +dep 195C 41 +dep 195D 42 +dep 195E 4C +dep 195F 45 +dep 1960 BE +dep 1961 50 +dep 1962 B6 +dep 1963 83 +dep 1964 BE +dep 1965 A3 +dep 1966 18 +dep 1967 6E +dep 1968 86 +dep 1969 45 +dep 196A 4E +dep 196B 41 +dep 196C 42 +dep 196D 4C +dep 196E 45 +dep 196F 20 +dep 1970 BE +dep 1971 03 +dep 1972 BE +dep 1973 A3 +dep 1974 17 +dep 1975 AC +dep 1976 87 +dep 1977 3E +dep 1978 56 +dep 1979 45 +dep 197A 43 +dep 197B 54 +dep 197C 4F +dep 197D 52 +dep 197E BC +dep 197F CF +dep 1980 A0 +dep 1981 02 +dep 1982 A0 +dep 1983 02 +dep 1984 A0 +dep 1985 02 +dep 1986 A0 +dep 1987 02 +dep 1988 A0 +dep 1989 02 +dep 198A 00 +dep 198B DA +dep 198C A8 +dep 198D 60 +dep 198E 18 +dep 198F 36 +dep 1990 8F +dep 1991 53 +dep 1992 45 +dep 1993 54 +dep 1994 2D +dep 1995 49 +dep 1996 4E +dep 1997 54 +dep 1998 2D +dep 1999 56 +dep 199A 45 +dep 199B 43 +dep 199C 54 +dep 199D 4F +dep 199E 52 +dep 199F 53 +dep 19A0 DE +dep 19A1 00 +dep 19A2 A0 +dep 19A3 20 +dep 19A4 BE +dep 19A5 4D +dep 19A6 0C +dep 19A7 BF +dep 19A8 BE +dep 19A9 4E +dep 19AA BE +dep 19AB 81 +dep 19AC 01 +dep 19AD A2 +dep 19AE EE +dep 19AF 80 +dep 19B0 D8 +dep 19B1 80 +dep 19B2 00 +dep 19B3 20 +dep 19B4 98 +dep 19B5 D6 +dep 19B6 01 +dep 19B7 9C +dep 19B8 A0 +dep 19B9 20 +dep 19BA 17 +dep 19BB FA +dep 19BC 8A +dep 19BD 21 +dep 19BE 49 +dep 19BF 4E +dep 19C0 54 +dep 19C1 45 +dep 19C2 52 +dep 19C3 52 +dep 19C4 55 +dep 19C5 50 +dep 19C6 54 +dep 19C7 20 +dep 19C8 0C +dep 19C9 BF +dep 19CA A0 +dep 19CB C0 +dep 19CC BE +dep 19CD 81 +dep 19CE AE +dep 19CF 80 +dep 19D0 06 +dep 19D1 BB +dep 19D2 A0 +dep 19D3 06 +dep 19D4 AE +dep 19D5 80 +dep 19D6 EE +dep 19D7 80 +dep 19D8 DE +dep 19D9 00 +dep 19DA A0 +dep 19DB 20 +dep 19DC BE +dep 19DD 01 +dep 19DE B8 +dep 19DF C2 +dep 19E0 EE +dep 19E1 A0 +dep 19E2 17 +dep 19E3 E6 +dep 19E4 8A +dep 19E5 40 +dep 19E6 49 +dep 19E7 4E +dep 19E8 54 +dep 19E9 45 +dep 19EA 52 +dep 19EB 52 +dep 19EC 55 +dep 19ED 50 +dep 19EE 54 +dep 19EF 20 +dep 19F0 0C +dep 19F1 BF +dep 19F2 EE +dep 19F3 00 +dep 19F4 A0 +dep 19F5 22 +dep 19F6 19 +dep 19F7 8E +dep 19F8 8C +dep 19F9 53 +dep 19FA 45 +dep 19FB 54 +dep 19FC 2D +dep 19FD 49 +dep 19FE 4E +dep 19FF 54 +dep 1A00 2D +dep 1A01 4D +dep 1A02 41 +dep 1A03 53 +dep 1A04 4B +dep 1A05 20 +dep 1A06 BE +dep 1A07 10 +dep 1A08 D2 +dep 1A09 80 +dep 1A0A 07 +dep 1A0B FF +dep 1A0C 00 +dep 1A0D DA +dep 1A0E D2 +dep 1A0F 80 +dep 1A10 FC +dep 1A11 00 +dep 1A12 A6 +dep 1A13 40 +dep 1A14 BE +dep 1A15 90 +dep 1A16 DE +dep 1A17 00 +dep 1A18 FF +dep 1A19 FF +dep 1A1A BE +dep 1A1B A8 +dep 1A1C 19 +dep 1A1D 66 +dep 1A1E 84 +dep 1A1F 4D +dep 1A20 41 +dep 1A21 53 +dep 1A22 4B +dep 1A23 20 +dep 1A24 B6 +dep 1A25 88 +dep 1A26 BE +dep 1A27 A8 +dep 1A28 1A +dep 1A29 1C +dep 1A2A 86 +dep 1A2B 55 +dep 1A2C 4E +dep 1A2D 4D +dep 1A2E 41 +dep 1A2F 53 +dep 1A30 4B +dep 1A31 20 +dep 1A32 BF +dep 1A33 40 +dep 1A34 AA +dep 1A35 40 +dep 1A36 B2 +dep 1A37 88 +dep 1A38 BE +dep 1A39 A8 +dep 1A3A 1A +dep 1A3B 28 +dep 1A3C 87 +dep 1A3D 4D +dep 1A3E 41 +dep 1A3F 53 +dep 1A40 4B +dep 1A41 45 +dep 1A42 44 +dep 1A43 3F +dep 1A44 B2 +dep 1A45 A8 +dep 1A46 1A +dep 1A47 3A +dep 1A48 83 +dep 1A49 45 +dep 1A4A 49 +dep 1A4B 31 +dep 1A4C DE +dep 1A4D 20 +dep 1A4E 00 +dep 1A4F 02 +dep 1A50 1A +dep 1A51 46 +dep 1A52 83 +dep 1A53 45 +dep 1A54 49 +dep 1A55 33 +dep 1A56 DE +dep 1A57 20 +dep 1A58 04 +dep 1A59 00 +dep 1A5A 19 +dep 1A5B E2 +dep 1A5C 83 +dep 1A5D 50 +dep 1A5E 53 +dep 1A5F 55 +dep 1A60 DE +dep 1A61 20 +dep 1A62 00 +dep 1A63 04 +dep 1A64 1A +dep 1A65 50 +dep 1A66 83 +dep 1A67 45 +dep 1A68 49 +dep 1A69 34 +dep 1A6A DE +dep 1A6B 20 +dep 1A6C 08 +dep 1A6D 00 +dep 1A6E 17 +dep 1A6F 0E +dep 1A70 83 +dep 1A71 52 +dep 1A72 53 +dep 1A73 55 +dep 1A74 DE +dep 1A75 20 +dep 1A76 00 +dep 1A77 08 +dep 1A78 1A +dep 1A79 64 +dep 1A7A 83 +dep 1A7B 45 +dep 1A7C 49 +dep 1A7D 35 +dep 1A7E DE +dep 1A7F 20 +dep 1A80 10 +dep 1A81 00 +dep 1A82 1A +dep 1A83 5A +dep 1A84 83 +dep 1A85 50 +dep 1A86 53 +dep 1A87 56 +dep 1A88 DE +dep 1A89 20 +dep 1A8A 00 +dep 1A8B 10 +dep 1A8C 19 +dep 1A8D F6 +dep 1A8E 83 +dep 1A8F 53 +dep 1A90 57 +dep 1A91 49 +dep 1A92 DE +dep 1A93 20 +dep 1A94 20 +dep 1A95 00 +dep 1A96 1A +dep 1A97 6E +dep 1A98 83 +dep 1A99 52 +dep 1A9A 53 +dep 1A9B 56 +dep 1A9C DE +dep 1A9D 20 +dep 1A9E 00 +dep 1A9F 20 +dep 1AA0 1A +dep 1AA1 78 +dep 1AA2 83 +dep 1AA3 45 +dep 1AA4 49 +dep 1AA5 32 +dep 1AA6 DE +dep 1AA7 20 +dep 1AA8 00 +dep 1AA9 40 +dep 1AAA 19 +dep 1AAB 56 +dep 1AAC 86 +dep 1AAD 54 +dep 1AAE 49 +dep 1AAF 4D +dep 1AB0 45 +dep 1AB1 52 +dep 1AB2 30 +dep 1AB3 20 +dep 1AB4 DE +dep 1AB5 20 +dep 1AB6 00 +dep 1AB7 80 +dep 1AB8 1A +dep 1AB9 AA +dep 1ABA 86 +dep 1ABB 54 +dep 1ABC 49 +dep 1ABD 4D +dep 1ABE 45 +dep 1ABF 52 +dep 1AC0 31 +dep 1AC1 20 +dep 1AC2 DE +dep 1AC3 20 +dep 1AC4 01 +dep 1AC5 00 +dep 1AC6 1A +dep 1AC7 B8 +dep 1AC8 86 +dep 1AC9 54 +dep 1ACA 49 +dep 1ACB 4D +dep 1ACC 45 +dep 1ACD 52 +dep 1ACE 32 +dep 1ACF 20 +dep 1AD0 DE +dep 1AD1 20 +dep 1AD2 02 +dep 1AD3 00 +dep 1AD4 14 +dep 1AD5 B2 +dep 1AD6 88 +dep 1AD7 4F +dep 1AD8 50 +dep 1AD9 54 +dep 1ADA 49 +dep 1ADB 4D +dep 1ADC 49 +dep 1ADD 5A +dep 1ADE 45 +dep 1ADF 20 +dep 1AE0 00 +dep 1AE1 89 +dep 1AE2 01 +dep 1AE3 95 +dep 1AE4 A0 +dep 1AE5 20 +dep 1AE6 19 +dep 1AE7 74 +dep 1AE8 8A +dep 1AE9 4E +dep 1AEA 4F +dep 1AEB 4F +dep 1AEC 50 +dep 1AED 54 +dep 1AEE 49 +dep 1AEF 4D +dep 1AF0 49 +dep 1AF1 5A +dep 1AF2 45 +dep 1AF3 20 +dep 1AF4 00 +dep 1AF5 89 +dep 1AF6 01 +dep 1AF7 8F +dep 1AF8 A0 +dep 1AF9 20 +dep 1AFA 1A +dep 1AFB C6 +dep 1AFC C2 +dep 1AFD 5C +dep 1AFE 5C +dep 1AFF 20 +dep 1B00 00 +dep 1B01 73 +dep 1B02 01 +dep 1B03 95 +dep 1B04 A0 +dep 1B05 20 +dep 1B06 05 +dep 1B07 5B +dep 1B08 0D +dep 1B09 6C +dep 1B0A 69 +dep 1B0B 74 +dep 1B0C 65 +dep 1B0D 72 +dep 1B0E 61 +dep 1B0F 6C +dep 1B10 20 +dep 1B11 65 +dep 1B12 72 +dep 1B13 72 +dep 1B14 6F +dep 1B15 72 +dep 1B16 A0 +dep 1B17 20 +dep 1B18 00 +dep 1B19 61 +dep 1B1A EE +dep 1B1B 00 +dep 1B1C 89 +dep 1B1D 9F +dep 1B1E 03 +dep 1B1F FF +dep 1B20 B4 +dep 1B21 C2 +dep 1B22 EE +dep 1B23 00 +dep 1B24 A0 +dep 1B25 C0 +dep 1B26 D2 +dep 1B27 80 +dep 1B28 FF +dep 1B29 E0 +dep 1B2A DE +dep 1B2B 00 +dep 1B2C BE +dep 1B2D 40 +dep 1B2E 01 +dep 1B2F 0A +dep 1B30 A1 +dep 1B31 00 +dep 1B32 0D +dep 1B33 83 +dep 1B34 0A +dep 1B35 9B +dep 1B36 B2 +dep 1B37 DF +dep 1B38 A6 +dep 1B39 40 +dep 1B3A 0A +dep 1B3B 79 +dep 1B3C 91 +dep 1B3D B1 +dep 1B3E AE +dep 1B3F 80 +dep 1B40 A0 +dep 1B41 C0 +dep 1B42 DE +dep 1B43 00 +dep 1B44 00 +dep 1B45 20 +dep 1B46 01 +dep 1B47 26 +dep 1B48 AE +dep 1B49 C1 +dep 1B4A A6 +dep 1B4B 40 +dep 1B4C 0D +dep 1B4D 83 +dep 1B4E A6 +dep 1B4F 40 +dep 1B50 0A +dep 1B51 79 +dep 1B52 DE +dep 1B53 00 +dep 1B54 A0 +dep 1B55 20 +dep 1B56 0A +dep 1B57 79 +dep 1B58 DE +dep 1B59 00 +dep 1B5A FF +dep 1B5B FC +dep 1B5C 0A +dep 1B5D 64 +dep 1B5E 03 +dep 1B5F FF +dep 1B60 BE +dep 1B61 87 +dep 1B62 A0 +dep 1B63 20 +dep 1B64 1A +dep 1B65 FA +dep 1B66 C6 +dep 1B67 44 +dep 1B68 55 +dep 1B69 50 +dep 1B6A 5F +dep 1B6B 47 +dep 1B6C 21 +dep 1B6D 20 +dep 1B6E DE +dep 1B6F 00 +dep 1B70 B0 +dep 1B71 80 +dep 1B72 0D +dep 1B73 8C +dep 1B74 A0 +dep 1B75 20 +dep 1B76 1A +dep 1B77 D4 +dep 1B78 C2 +dep 1B79 47 +dep 1B7A 21 +dep 1B7B 20 +dep 1B7C DE +dep 1B7D 00 +dep 1B7E BE +dep 1B7F 80 +dep 1B80 0D +dep 1B81 8C +dep 1B82 A0 +dep 1B83 20 +dep 1B84 1B +dep 1B85 76 +dep 1B86 C2 +dep 1B87 47 +dep 1B88 40 +dep 1B89 20 +dep 1B8A DE +dep 1B8B 00 +dep 1B8C BE +dep 1B8D 00 +dep 1B8E 0D +dep 1B8F 8C +dep 1B90 A0 +dep 1B91 20 +dep 1B92 1A +dep 1B93 A0 +dep 1B94 C2 +dep 1B95 55 +dep 1B96 21 +dep 1B97 20 +dep 1B98 DE +dep 1B99 00 +dep 1B9A CE +dep 1B9B 80 +dep 1B9C 0D +dep 1B9D 8C +dep 1B9E A0 +dep 1B9F 20 +dep 1BA0 1B +dep 1BA1 92 +dep 1BA2 C2 +dep 1BA3 55 +dep 1BA4 40 +dep 1BA5 20 +dep 1BA6 DE +dep 1BA7 00 +dep 1BA8 CE +dep 1BA9 00 +dep 1BAA 0D +dep 1BAB 8C +dep 1BAC A0 +dep 1BAD 20 +dep 1BAE 1A +dep 1BAF 82 +dep 1BB0 C2 +dep 1BB1 40 +dep 1BB2 2B +dep 1BB3 20 +dep 1BB4 DE +dep 1BB5 00 +dep 1BB6 E9 +dep 1BB7 40 +dep 1BB8 0D +dep 1BB9 8C +dep 1BBA A0 +dep 1BBB 20 +dep 1BBC 1B +dep 1BBD AE +dep 1BBE C2 +dep 1BBF 40 +dep 1BC0 2D +dep 1BC1 20 +dep 1BC2 DE +dep 1BC3 00 +dep 1BC4 E5 +dep 1BC5 40 +dep 1BC6 0D +dep 1BC7 8C +dep 1BC8 A0 +dep 1BC9 20 +dep 1BCA 19 +dep 1BCB BA +dep 1BCC C2 +dep 1BCD 21 +dep 1BCE 2B +dep 1BCF 20 +dep 1BD0 DE +dep 1BD1 00 +dep 1BD2 E9 +dep 1BD3 C0 +dep 1BD4 0D +dep 1BD5 8C +dep 1BD6 A0 +dep 1BD7 20 +dep 1BD8 1B +dep 1BD9 CA +dep 1BDA C2 +dep 1BDB 21 +dep 1BDC 2D +dep 1BDD 20 +dep 1BDE DE +dep 1BDF 00 +dep 1BE0 E5 +dep 1BE1 C0 +dep 1BE2 0D +dep 1BE3 8C +dep 1BE4 A0 +dep 1BE5 20 +dep 1BE6 1A +dep 1BE7 8C +dep 1BE8 C3 +dep 1BE9 43 +dep 1BEA 40 +dep 1BEB 2B +dep 1BEC DE +dep 1BED 00 +dep 1BEE F9 +dep 1BEF 40 +dep 1BF0 0D +dep 1BF1 8C +dep 1BF2 A0 +dep 1BF3 20 +dep 1BF4 1B +dep 1BF5 E6 +dep 1BF6 C3 +dep 1BF7 43 +dep 1BF8 40 +dep 1BF9 2D +dep 1BFA DE +dep 1BFB 00 +dep 1BFC F5 +dep 1BFD 40 +dep 1BFE 0D +dep 1BFF 8C +dep 1C00 A0 +dep 1C01 20 +dep 1C02 1B +dep 1C03 F4 +dep 1C04 C3 +dep 1C05 43 +dep 1C06 21 +dep 1C07 2B +dep 1C08 DE +dep 1C09 00 +dep 1C0A F9 +dep 1C0B C0 +dep 1C0C 0D +dep 1C0D 8C +dep 1C0E A0 +dep 1C0F 20 +dep 1C10 1C +dep 1C11 02 +dep 1C12 C3 +dep 1C13 43 +dep 1C14 21 +dep 1C15 2D +dep 1C16 DE +dep 1C17 00 +dep 1C18 F5 +dep 1C19 C0 +dep 1C1A 0D +dep 1C1B 8C +dep 1C1C A0 +dep 1C1D 20 +dep 1C1E 1B +dep 1C1F 64 +dep 1C20 C7 +dep 1C21 44 +dep 1C22 55 +dep 1C23 50 +dep 1C24 5F +dep 1C25 43 +dep 1C26 21 +dep 1C27 2B +dep 1C28 DE +dep 1C29 00 +dep 1C2A F8 +dep 1C2B C0 +dep 1C2C 0D +dep 1C2D 8C +dep 1C2E A0 +dep 1C2F 20 +dep 1C30 01 +dep 1C31 19 +dep 1C32 88 +dep 1C33 21 +dep 1C34 BE +dep 1C35 40 +dep 1C36 AE +dep 1C37 80 +dep 1C38 BE +dep 1C39 81 +dep 1C3A BE +dep 1C3B 81 +dep 1C3C A0 +dep 1C3D 02 +dep 1C3E 00 +dep 1C3F 17 +dep 1C40 1C +dep 1C41 3C +dep 1C42 A0 +dep 1C43 20 +dep 1C44 01 +dep 1C45 19 +dep 1C46 88 +dep 1C47 2B +dep 1C48 BE +dep 1C49 40 +dep 1C4A AE +dep 1C4B 80 +dep 1C4C BE +dep 1C4D 81 +dep 1C4E BE +dep 1C4F 81 +dep 1C50 A0 +dep 1C51 06 +dep 1C52 00 +dep 1C53 17 +dep 1C54 1C +dep 1C55 50 +dep 1C56 A0 +dep 1C57 20 +dep 1C58 BE +dep 1C59 01 +dep 1C5A AE +dep 1C5B 80 +dep 1C5C 01 +dep 1C5D 19 +dep 1C5E 88 +dep 1C5F 38 +dep 1C60 BE +dep 1C61 40 +dep 1C62 AE +dep 1C63 80 +dep 1C64 BE +dep 1C65 81 +dep 1C66 BE +dep 1C67 81 +dep 1C68 04 +dep 1C69 39 +dep 1C6A A8 +dep 1C6B 40 +dep 1C6C 00 +dep 1C6D 17 +dep 1C6E 1C +dep 1C6F 68 +dep 1C70 04 +dep 1C71 39 +dep 1C72 03 +dep 1C73 E1 +dep 1C74 03 +dep 1C75 EC +dep 1C76 A0 +dep 1C77 20 +dep 1C78 AE +dep 1C79 C0 +dep 1C7A 01 +dep 1C7B 0A +dep 1C7C A0 +dep 1C7D 20 +dep 1C7E DE +dep 1C7F 20 +dep 1C80 FE +dep 1C81 60 +dep 1C82 DE +dep 1C83 20 +dep 1C84 FE +dep 1C85 5E +dep 1C86 DE +dep 1C87 20 +dep 1C88 FE +dep 1C89 5C +dep 1C8A DE +dep 1C8B 20 +dep 1C8C FE +dep 1C8D 5A +dep 1C8E 0E +dep 1C8F 3F +dep 1C90 EE +dep 1C91 00 +dep 1C92 EE +dep 1C93 20 +dep 1C94 0E +dep 1C95 41 +dep 1C96 EE +dep 1C97 A0 +dep 1C98 0E +dep 1C99 47 +dep 1C9A D2 +dep 1C9B 80 +dep 1C9C 00 +dep 1C9D 20 +dep 1C9E 88 +dep 1C9F 54 +dep 1CA0 04 +dep 1CA1 C7 +dep 1CA2 05 +dep 1CA3 20 +dep 1CA4 65 +dep 1CA5 78 +dep 1CA6 69 +dep 1CA7 74 +dep 1CA8 A0 +dep 1CA9 20 +dep 1CAA 0E +dep 1CAB 47 +dep 1CAC BE +dep 1CAD 48 +dep 1CAE 0E +dep 1CAF 22 +dep 1CB0 B2 +dep 1CB1 CF +dep 1CB2 A0 +dep 1CB3 C0 +dep 1CB4 BE +dep 1CB5 41 +dep 1CB6 01 +dep 1CB7 0A +dep 1CB8 AE +dep 1CB9 80 +dep 1CBA BE +dep 1CBB 4F +dep 1CBC 01 +dep 1CBD 0A +dep 1CBE A6 +dep 1CBF 40 +dep 1CC0 88 +dep 1CC1 65 +dep 1CC2 04 +dep 1CC3 C7 +dep 1CC4 04 +dep 1CC5 6E +dep 1CC6 6F +dep 1CC7 74 +dep 1CC8 20 +dep 1CC9 20 +dep 1CCA A0 +dep 1CCB 20 +dep 1CCC A0 +dep 1CCD C0 +dep 1CCE 06 +dep 1CCF A9 +dep 1CD0 04 +dep 1CD1 39 +dep 1CD2 B2 +dep 1CD3 DF +dep 1CD4 01 +dep 1CD5 19 +dep 1CD6 88 +dep 1CD7 70 +dep 1CD8 A8 +dep 1CD9 40 +dep 1CDA 04 +dep 1CDB 1C +dep 1CDC 01 +dep 1CDD 0A +dep 1CDE 90 +dep 1CDF 72 +dep 1CE0 01 +dep 1CE1 9C +dep 1CE2 BE +dep 1CE3 40 +dep 1CE4 A0 +dep 1CE5 20 +dep 1CE6 0E +dep 1CE7 47 +dep 1CE8 A0 +dep 1CE9 02 +dep 1CEA A0 +dep 1CEB C0 +dep 1CEC 0E +dep 1CED 66 +dep 1CEE 88 +dep 1CEF 7B +dep 1CF0 06 +dep 1CF1 A9 +dep 1CF2 09 +dep 1CF3 8F +dep 1CF4 90 +dep 1CF5 80 +dep 1CF6 05 +dep 1CF7 39 +dep 1CF8 04 +dep 1CF9 C7 +dep 1CFA 04 +dep 1CFB 63 +dep 1CFC 61 +dep 1CFD 6C +dep 1CFE 6C +dep 1CFF 20 +dep 1D00 A0 +dep 1D01 20 +dep 1D02 DE +dep 1D03 00 +dep 1D04 00 +dep 1D05 22 +dep 1D06 03 +dep 1D07 BB +dep 1D08 03 +dep 1D09 EC +dep 1D0A 0E +dep 1D0B 3F +dep 1D0C EE +dep 1D0D 00 +dep 1D0E B8 +dep 1D0F C2 +dep 1D10 04 +dep 1D11 39 +dep 1D12 A0 +dep 1D13 C0 +dep 1D14 B8 +dep 1D15 C1 +dep 1D16 04 +dep 1D17 1C +dep 1D18 0E +dep 1D19 41 +dep 1D1A 01 +dep 1D1B 5D +dep 1D1C 03 +dep 1D1D E1 +dep 1D1E DE +dep 1D1F 00 +dep 1D20 00 +dep 1D21 22 +dep 1D22 03 +dep 1D23 BB +dep 1D24 A0 +dep 1D25 20 +dep 1D26 BE +dep 1D27 44 +dep 1D28 0E +dep 1D29 4A +dep 1D2A 04 +dep 1D2B C7 +dep 1D2C 05 +dep 1D2D 6C +dep 1D2E 6F +dep 1D2F 6F +dep 1D30 70 +dep 1D31 20 +dep 1D32 0E +dep 1D33 3F +dep 1D34 EE +dep 1D35 00 +dep 1D36 B8 +dep 1D37 C2 +dep 1D38 EE +dep 1D39 00 +dep 1D3A 05 +dep 1D3B 39 +dep 1D3C A0 +dep 1D3D 20 +dep 1D3E BE +dep 1D3F 42 +dep 1D40 0E +dep 1D41 4A +dep 1D42 0E +dep 1D43 47 +dep 1D44 DE +dep 1D45 00 +dep 1D46 04 +dep 1D47 C7 +dep 1D48 0E +dep 1D49 3C +dep 1D4A 88 +dep 1D4B AB +dep 1D4C AE +dep 1D4D 40 +dep 1D4E 04 +dep 1D4F C7 +dep 1D50 01 +dep 1D51 2E +dep 1D52 0E +dep 1D53 81 +dep 1D54 A0 +dep 1D55 20 +dep 1D56 DE +dep 1D57 00 +dep 1D58 05 +dep 1D59 5B +dep 1D5A 0E +dep 1D5B 3C +dep 1D5C 88 +dep 1D5D B6 +dep 1D5E AE +dep 1D5F 40 +dep 1D60 04 +dep 1D61 C7 +dep 1D62 05 +dep 1D63 61 +dep 1D64 62 +dep 1D65 6F +dep 1D66 72 +dep 1D67 74 +dep 1D68 0E +dep 1D69 81 +dep 1D6A A0 +dep 1D6B 20 +dep 1D6C DE +dep 1D6D 00 +dep 1D6E 04 +dep 1D6F C1 +dep 1D70 0E +dep 1D71 3C +dep 1D72 88 +dep 1D73 BD +dep 1D74 AE +dep 1D75 40 +dep 1D76 0E +dep 1D77 81 +dep 1D78 A0 +dep 1D79 20 +dep 1D7A DE +dep 1D7B 00 +dep 1D7C 00 +dep 1D7D 17 +dep 1D7E 0E +dep 1D7F 3C +dep 1D80 88 +dep 1D81 C4 +dep 1D82 AE +dep 1D83 40 +dep 1D84 0E +dep 1D85 93 +dep 1D86 A0 +dep 1D87 20 +dep 1D88 DE +dep 1D89 00 +dep 1D8A 00 +dep 1D8B 26 +dep 1D8C 0E +dep 1D8D 3C +dep 1D8E 88 +dep 1D8F CD +dep 1D90 AE +dep 1D91 40 +dep 1D92 04 +dep 1D93 C7 +dep 1D94 01 +dep 1D95 2B +dep 1D96 0E +dep 1D97 93 +dep 1D98 A0 +dep 1D99 20 +dep 1D9A AE +dep 1D9B 40 +dep 1D9C 0E +dep 1D9D 73 +dep 1D9E A0 +dep 1D9F 20 +dep 1DA0 0E +dep 1DA1 3F +dep 1DA2 EE +dep 1DA3 00 +dep 1DA4 B8 +dep 1DA5 C2 +dep 1DA6 D2 +dep 1DA7 80 +dep 1DA8 FC +dep 1DA9 00 +dep 1DAA 0E +dep 1DAB 47 +dep 1DAC D2 +dep 1DAD 80 +dep 1DAE 01 +dep 1DAF FF +dep 1DB0 A0 +dep 1DB1 02 +dep 1DB2 A6 +dep 1DB3 40 +dep 1DB4 0E +dep 1DB5 47 +dep 1DB6 BE +dep 1DB7 49 +dep 1DB8 0E +dep 1DB9 22 +dep 1DBA B2 +dep 1DBB C3 +dep 1DBC BE +dep 1DBD 41 +dep 1DBE 0E +dep 1DBF 3C +dep 1DC0 88 +dep 1DC1 E6 +dep 1DC2 AE +dep 1DC3 40 +dep 1DC4 D8 +dep 1DC5 80 +dep 1DC6 04 +dep 1DC7 00 +dep 1DC8 05 +dep 1DC9 39 +dep 1DCA A0 +dep 1DCB 20 +dep 1DCC BE +dep 1DCD 42 +dep 1DCE 0E +dep 1DCF 3C +dep 1DD0 88 +dep 1DD1 EE +dep 1DD2 AE +dep 1DD3 40 +dep 1DD4 D2 +dep 1DD5 80 +dep 1DD6 03 +dep 1DD7 00 +dep 1DD8 05 +dep 1DD9 39 +dep 1DDA A0 +dep 1DDB 20 +dep 1DDC BE +dep 1DDD 43 +dep 1DDE 0E +dep 1DDF 3C +dep 1DE0 88 +dep 1DE1 F6 +dep 1DE2 AE +dep 1DE3 40 +dep 1DE4 D4 +dep 1DE5 80 +dep 1DE6 04 +dep 1DE7 00 +dep 1DE8 05 +dep 1DE9 39 +dep 1DEA A0 +dep 1DEB 20 +dep 1DEC AE +dep 1DED 40 +dep 1DEE 05 +dep 1DEF 39 +dep 1DF0 A0 +dep 1DF1 20 +dep 1DF2 BE +dep 1DF3 42 +dep 1DF4 0E +dep 1DF5 4A +dep 1DF6 0E +dep 1DF7 47 +dep 1DF8 BE +dep 1DF9 4B +dep 1DFA 0E +dep 1DFB 22 +dep 1DFC B2 +dep 1DFD C3 +dep 1DFE BE +dep 1DFF 40 +dep 1E00 0E +dep 1E01 3C +dep 1E02 89 +dep 1E03 0D +dep 1E04 AE +dep 1E05 40 +dep 1E06 04 +dep 1E07 C7 +dep 1E08 0D +dep 1E09 3F +dep 1E0A 64 +dep 1E0B 75 +dep 1E0C 70 +dep 1E0D 20 +dep 1E0E 30 +dep 1E0F 62 +dep 1E10 72 +dep 1E11 61 +dep 1E12 6E +dep 1E13 63 +dep 1E14 68 +dep 1E15 20 +dep 1E16 0E +dep 1E17 D0 +dep 1E18 A0 +dep 1E19 20 +dep 1E1A BE +dep 1E1B 41 +dep 1E1C 0E +dep 1E1D 3C +dep 1E1E 89 +dep 1E1F 19 +dep 1E20 AE +dep 1E21 40 +dep 1E22 04 +dep 1E23 C7 +dep 1E24 08 +dep 1E25 30 +dep 1E26 62 +dep 1E27 72 +dep 1E28 61 +dep 1E29 6E +dep 1E2A 63 +dep 1E2B 68 +dep 1E2C 20 +dep 1E2D 20 +dep 1E2E 0E +dep 1E2F D0 +dep 1E30 A0 +dep 1E31 20 +dep 1E32 BE +dep 1E33 42 +dep 1E34 0E +dep 1E35 3C +dep 1E36 89 +dep 1E37 24 +dep 1E38 AE +dep 1E39 40 +dep 1E3A 04 +dep 1E3B C7 +dep 1E3C 07 +dep 1E3D 62 +dep 1E3E 72 +dep 1E3F 61 +dep 1E40 6E +dep 1E41 63 +dep 1E42 68 +dep 1E43 20 +dep 1E44 0E +dep 1E45 D0 +dep 1E46 A0 +dep 1E47 20 +dep 1E48 AE +dep 1E49 40 +dep 1E4A 04 +dep 1E4B C7 +dep 1E4C 05 +dep 1E4D 6E +dep 1E4E 65 +dep 1E4F 78 +dep 1E50 74 +dep 1E51 20 +dep 1E52 0E +dep 1E53 D0 +dep 1E54 A0 +dep 1E55 20 +dep 1E56 0E +dep 1E57 2C +dep 1E58 00 +dep 1E59 00 +dep 1E5A 03 +dep 1E5B 61 +dep 1E5C 6E +dep 1E5D 64 +dep 1E5E 03 +dep 1E5F 6E +dep 1E60 6F +dep 1E61 72 +dep 1E62 05 +dep 1E63 73 +dep 1E64 77 +dep 1E65 61 +dep 1E66 70 +dep 1E67 2D +dep 1E68 06 +dep 1E69 73 +dep 1E6A 77 +dep 1E6B 61 +dep 1E6C 70 +dep 1E6D 2D +dep 1E6E 63 +dep 1E6F 02 +dep 1E70 6F +dep 1E71 72 +dep 1E72 04 +dep 1E73 6E +dep 1E74 61 +dep 1E75 6E +dep 1E76 64 +dep 1E77 01 +dep 1E78 2B +dep 1E79 02 +dep 1E7A 2B +dep 1E7B 63 +dep 1E7C 03 +dep 1E7D 78 +dep 1E7E 6F +dep 1E7F 72 +dep 1E80 04 +dep 1E81 78 +dep 1E82 6E +dep 1E83 6F +dep 1E84 72 +dep 1E85 01 +dep 1E86 2D +dep 1E87 02 +dep 1E88 2D +dep 1E89 63 +dep 1E8A 00 +dep 1E8B 00 +dep 1E8C 00 +dep 1E8D 00 +dep 1E8E 03 +dep 1E8F 61 +dep 1E90 6E +dep 1E91 64 +dep 1E92 03 +dep 1E93 6E +dep 1E94 6F +dep 1E95 72 +dep 1E96 01 +dep 1E97 2D +dep 1E98 02 +dep 1E99 2D +dep 1E9A 63 +dep 1E9B 02 +dep 1E9C 6F +dep 1E9D 72 +dep 1E9E 04 +dep 1E9F 6E +dep 1EA0 61 +dep 1EA1 6E +dep 1EA2 64 +dep 1EA3 01 +dep 1EA4 2B +dep 1EA5 02 +dep 1EA6 2B +dep 1EA7 63 +dep 1EA8 03 +dep 1EA9 78 +dep 1EAA 6F +dep 1EAB 72 +dep 1EAC 04 +dep 1EAD 78 +dep 1EAE 6E +dep 1EAF 6F +dep 1EB0 72 +dep 1EB1 05 +dep 1EB2 73 +dep 1EB3 77 +dep 1EB4 61 +dep 1EB5 70 +dep 1EB6 2D +dep 1EB7 06 +dep 1EB8 73 +dep 1EB9 77 +dep 1EBA 61 +dep 1EBB 70 +dep 1EBC 2D +dep 1EBD 63 +dep 1EBE 00 +dep 1EBF 00 +dep 1EC0 0E +dep 1EC1 2C +dep 1EC2 00 +dep 1EC3 02 +dep 1EC4 30 +dep 1EC5 3C +dep 1EC6 02 +dep 1EC7 32 +dep 1EC8 2A +dep 1EC9 03 +dep 1ECA 32 +dep 1ECB 2A +dep 1ECC 63 +dep 1ECD 04 +dep 1ECE 63 +dep 1ECF 55 +dep 1ED0 32 +dep 1ED1 2F +dep 1ED2 03 +dep 1ED3 63 +dep 1ED4 32 +dep 1ED5 2F +dep 1ED6 03 +dep 1ED7 75 +dep 1ED8 32 +dep 1ED9 2F +dep 1EDA 02 +dep 1EDB 32 +dep 1EDC 2F +dep 1EDD 03 +dep 1EDE 6E +dep 1EDF 32 +dep 1EE0 2A +dep 1EE1 04 +dep 1EE2 6E +dep 1EE3 32 +dep 1EE4 2A +dep 1EE5 63 +dep 1EE6 03 +dep 1EE7 64 +dep 1EE8 32 +dep 1EE9 2A +dep 1EEA 04 +dep 1EEB 64 +dep 1EEC 32 +dep 1EED 2A +dep 1EEE 63 +dep 1EEF 05 +dep 1EF0 63 +dep 1EF1 75 +dep 1EF2 64 +dep 1EF3 32 +dep 1EF4 2F +dep 1EF5 04 +dep 1EF6 63 +dep 1EF7 64 +dep 1EF8 32 +dep 1EF9 2F +dep 1EFA 04 +dep 1EFB 75 +dep 1EFC 64 +dep 1EFD 32 +dep 1EFE 2F +dep 1EFF 03 +dep 1F00 64 +dep 1F01 32 +dep 1F02 2F +dep 1F03 01 +dep 1F04 BE +dep 1F05 01 +dep 1F06 04 +dep 1F07 39 +dep 1F08 03 +dep 1F09 E1 +dep 1F0A 03 +dep 1F0B EC +dep 1F0C A0 +dep 1F0D 20 +dep 1F0E 0F +dep 1F0F 82 +dep 1F10 03 +dep 1F11 64 +dep 1F12 75 +dep 1F13 70 +dep 1F14 0F +dep 1F15 82 +dep 1F16 04 +dep 1F17 64 +dep 1F18 72 +dep 1F19 6F +dep 1F1A 70 +dep 1F1B 01 +dep 1F1C 0F +dep 1F1D 82 +dep 1F1E 04 +dep 1F1F 73 +dep 1F20 77 +dep 1F21 61 +dep 1F22 70 +dep 1F23 01 +dep 1F24 0F +dep 1F25 82 +dep 1F26 04 +dep 1F27 6F +dep 1F28 76 +dep 1F29 65 +dep 1F2A 72 +dep 1F2B 01 +dep 1F2C 0F +dep 1F2D 82 +dep 1F2E 02 +dep 1F2F 67 +dep 1F30 40 +dep 1F31 01 +dep 1F32 0F +dep 1F33 82 +dep 1F34 02 +dep 1F35 75 +dep 1F36 40 +dep 1F37 01 +dep 1F38 0F +dep 1F39 82 +dep 1F3A 02 +dep 1F3B 67 +dep 1F3C 21 +dep 1F3D 01 +dep 1F3E 0F +dep 1F3F 82 +dep 1F40 02 +dep 1F41 75 +dep 1F42 21 +dep 1F43 01 +dep 1F44 0F +dep 1F45 82 +dep 1F46 03 +dep 1F47 6E +dep 1F48 69 +dep 1F49 70 +dep 1F4A 0F +dep 1F4B 82 +dep 1F4C 04 +dep 1F4D 74 +dep 1F4E 75 +dep 1F4F 63 +dep 1F50 6B +dep 1F51 01 +dep 1F52 0E +dep 1F53 47 +dep 1F54 B2 +dep 1F55 CF +dep 1F56 0F +dep 1F57 60 +dep 1F58 A0 +dep 1F59 20 +dep 1F5A BE +dep 1F5B 50 +dep 1F5C 0E +dep 1F5D 43 +dep 1F5E EE +dep 1F5F A0 +dep 1F60 0E +dep 1F61 47 +dep 1F62 BE +dep 1F63 48 +dep 1F64 0E +dep 1F65 22 +dep 1F66 B2 +dep 1F67 CF +dep 1F68 0E +dep 1F69 43 +dep 1F6A E8 +dep 1F6B 80 +dep 1F6C 0F +dep 1F6D 2B +dep 1F6E BE +dep 1F6F 40 +dep 1F70 0E +dep 1F71 43 +dep 1F72 EE +dep 1F73 A0 +dep 1F74 0E +dep 1F75 47 +dep 1F76 BE +dep 1F77 48 +dep 1F78 0E +dep 1F79 22 +dep 1F7A B2 +dep 1F7B CE +dep 1F7C 0F +dep 1F7D 2B +dep 1F7E A0 +dep 1F7F 20 +dep 1F80 0E +dep 1F81 55 +dep 1F82 0F +dep 1F83 A9 +dep 1F84 0E +dep 1F85 4C +dep 1F86 A0 +dep 1F87 20 +dep 1F88 0F +dep 1F89 B0 +dep 1F8A 0F +dep 1F8B A9 +dep 1F8C 0E +dep 1F8D 4C +dep 1F8E A0 +dep 1F8F 20 +dep 1F90 BE +dep 1F91 42 +dep 1F92 0E +dep 1F93 4A +dep 1F94 0E +dep 1F95 47 +dep 1F96 D2 +dep 1F97 80 +dep 1F98 0E +dep 1F99 C0 +dep 1F9A BE +dep 1F9B 40 +dep 1F9C 0E +dep 1F9D 3C +dep 1F9E 89 +dep 1F9F D3 +dep 1FA0 AE +dep 1FA1 40 +dep 1FA2 0F +dep 1FA3 C0 +dep 1FA4 A0 +dep 1FA5 20 +dep 1FA6 DE +dep 1FA7 00 +dep 1FA8 0E +dep 1FA9 00 +dep 1FAA 0E +dep 1FAB 3C +dep 1FAC 89 +dep 1FAD DC +dep 1FAE AE +dep 1FAF 40 +dep 1FB0 0F +dep 1FB1 8A +dep 1FB2 0F +dep 1FB3 87 +dep 1FB4 0F +dep 1FB5 C0 +dep 1FB6 A0 +dep 1FB7 20 +dep 1FB8 DE +dep 1FB9 00 +dep 1FBA 00 +dep 1FBB 40 +dep 1FBC 0E +dep 1FBD 3C +dep 1FBE 89 +dep 1FBF E4 +dep 1FC0 AE +dep 1FC1 40 +dep 1FC2 0F +dep 1FC3 A2 +dep 1FC4 0F +dep 1FC5 C0 +dep 1FC6 A0 +dep 1FC7 20 +dep 1FC8 DE +dep 1FC9 00 +dep 1FCA 0E +dep 1FCB 40 +dep 1FCC 0E +dep 1FCD 3C +dep 1FCE 89 +dep 1FCF EC +dep 1FD0 AE +dep 1FD1 40 +dep 1FD2 0F +dep 1FD3 8A +dep 1FD4 0F +dep 1FD5 C0 +dep 1FD6 A0 +dep 1FD7 20 +dep 1FD8 DE +dep 1FD9 00 +dep 1FDA 00 +dep 1FDB 80 +dep 1FDC 0E +dep 1FDD 3C +dep 1FDE 89 +dep 1FDF F5 +dep 1FE0 AE +dep 1FE1 40 +dep 1FE2 0F +dep 1FE3 A2 +dep 1FE4 0F +dep 1FE5 87 +dep 1FE6 0F +dep 1FE7 C0 +dep 1FE8 A0 +dep 1FE9 20 +dep 1FEA DE +dep 1FEB 00 +dep 1FEC 0E +dep 1FED 80 +dep 1FEE 0E +dep 1FEF 3C +dep 1FF0 89 +dep 1FF1 FD +dep 1FF2 AE +dep 1FF3 40 +dep 1FF4 0F +dep 1FF5 8E +dep 1FF6 0F +dep 1FF7 C0 +dep 1FF8 A0 +dep 1FF9 20 +dep 1FFA DE +dep 1FFB 00 +dep 1FFC 00 +dep 1FFD C0 +dep 1FFE 0E +dep 1FFF 3C +dep 2000 88 +dep 2001 05 +dep 2002 AE +dep 2003 40 +dep 2004 0F +dep 2005 87 +dep 2006 0F +dep 2007 C0 +dep 2008 A0 +dep 2009 20 +dep 200A DE +dep 200B 00 +dep 200C 0E +dep 200D C0 +dep 200E 0E +dep 200F 3C +dep 2010 88 +dep 2011 0D +dep 2012 AE +dep 2013 40 +dep 2014 0F +dep 2015 92 +dep 2016 0F +dep 2017 C0 +dep 2018 A0 +dep 2019 20 +dep 201A AE +dep 201B 40 +dep 201C 0E +dep 201D 47 +dep 201E D2 +dep 201F 80 +dep 2020 00 +dep 2021 C0 +dep 2022 BE +dep 2023 40 +dep 2024 0E +dep 2025 3C +dep 2026 88 +dep 2027 19 +dep 2028 AE +dep 2029 40 +dep 202A 0F +dep 202B 92 +dep 202C 0F +dep 202D AD +dep 202E 0F +dep 202F C4 +dep 2030 A0 +dep 2031 20 +dep 2032 DE +dep 2033 00 +dep 2034 00 +dep 2035 40 +dep 2036 0E +dep 2037 3C +dep 2038 88 +dep 2039 20 +dep 203A AE +dep 203B 40 +dep 203C 0F +dep 203D C4 +dep 203E A0 +dep 203F 20 +dep 2040 DE +dep 2041 00 +dep 2042 00 +dep 2043 80 +dep 2044 0E +dep 2045 3C +dep 2046 88 +dep 2047 28 +dep 2048 AE +dep 2049 40 +dep 204A 0F +dep 204B A5 +dep 204C 0F +dep 204D C4 +dep 204E A0 +dep 204F 20 +dep 2050 AE +dep 2051 40 +dep 2052 0F +dep 2053 92 +dep 2054 0F +dep 2055 92 +dep 2056 0F +dep 2057 C4 +dep 2058 A0 +dep 2059 20 +dep 205A 0E +dep 205B 47 +dep 205C B2 +dep 205D DF +dep 205E 05 +dep 205F 33 +dep 2060 A0 +dep 2061 20 +dep 2062 0E +dep 2063 55 +dep 2064 0E +dep 2065 4C +dep 2066 A0 +dep 2067 20 +dep 2068 0F +dep 2069 B0 +dep 206A 0E +dep 206B 4C +dep 206C A0 +dep 206D 20 +dep 206E BE +dep 206F 42 +dep 2070 0E +dep 2071 4A +dep 2072 0E +dep 2073 47 +dep 2074 D2 +dep 2075 80 +dep 2076 0E +dep 2077 C0 +dep 2078 BE +dep 2079 40 +dep 207A 0E +dep 207B 3C +dep 207C 88 +dep 207D 45 +dep 207E AE +dep 207F 40 +dep 2080 10 +dep 2081 2D +dep 2082 0F +dep 2083 96 +dep 2084 0F +dep 2085 8A +dep 2086 10 +dep 2087 31 +dep 2088 A0 +dep 2089 20 +dep 208A DE +dep 208B 00 +dep 208C 0E +dep 208D 00 +dep 208E 0E +dep 208F 3C +dep 2090 88 +dep 2091 4E +dep 2092 AE +dep 2093 40 +dep 2094 10 +dep 2095 2D +dep 2096 0F +dep 2097 96 +dep 2098 10 +dep 2099 31 +dep 209A A0 +dep 209B 20 +dep 209C DE +dep 209D 00 +dep 209E 00 +dep 209F 80 +dep 20A0 0E +dep 20A1 3C +dep 20A2 88 +dep 20A3 59 +dep 20A4 AE +dep 20A5 40 +dep 20A6 10 +dep 20A7 2D +dep 20A8 0F +dep 20A9 92 +dep 20AA 0F +dep 20AB 8E +dep 20AC 0F +dep 20AD 9C +dep 20AE 10 +dep 20AF 31 +dep 20B0 A0 +dep 20B1 20 +dep 20B2 DE +dep 20B3 00 +dep 20B4 0E +dep 20B5 80 +dep 20B6 0E +dep 20B7 3C +dep 20B8 88 +dep 20B9 62 +dep 20BA AE +dep 20BB 40 +dep 20BC 10 +dep 20BD 2D +dep 20BE 0F +dep 20BF 9C +dep 20C0 10 +dep 20C1 31 +dep 20C2 A0 +dep 20C3 20 +dep 20C4 DE +dep 20C5 00 +dep 20C6 00 +dep 20C7 40 +dep 20C8 0E +dep 20C9 3C +dep 20CA 88 +dep 20CB 6B +dep 20CC AE +dep 20CD 40 +dep 20CE 10 +dep 20CF 2D +dep 20D0 0F +dep 20D1 8A +dep 20D2 10 +dep 20D3 31 +dep 20D4 A0 +dep 20D5 20 +dep 20D6 DE +dep 20D7 00 +dep 20D8 0E +dep 20D9 40 +dep 20DA 0E +dep 20DB 3C +dep 20DC 88 +dep 20DD 73 +dep 20DE AE +dep 20DF 40 +dep 20E0 10 +dep 20E1 2D +dep 20E2 10 +dep 20E3 31 +dep 20E4 A0 +dep 20E5 20 +dep 20E6 DE +dep 20E7 00 +dep 20E8 0E +dep 20E9 C0 +dep 20EA 0E +dep 20EB 3C +dep 20EC 88 +dep 20ED 7C +dep 20EE AE +dep 20EF 40 +dep 20F0 10 +dep 20F1 2D +dep 20F2 0F +dep 20F3 A2 +dep 20F4 10 +dep 20F5 31 +dep 20F6 A0 +dep 20F7 20 +dep 20F8 AE +dep 20F9 40 +dep 20FA 0E +dep 20FB 47 +dep 20FC D2 +dep 20FD 80 +dep 20FE 00 +dep 20FF C0 +dep 2100 BE +dep 2101 40 +dep 2102 0E +dep 2103 3C +dep 2104 88 +dep 2105 8D +dep 2106 AE +dep 2107 40 +dep 2108 10 +dep 2109 2D +dep 210A 04 +dep 210B C7 +dep 210C 08 +dep 210D 67 +dep 210E 40 +dep 210F 20 +dep 2110 6F +dep 2111 76 +dep 2112 65 +dep 2113 72 +dep 2114 20 +dep 2115 20 +dep 2116 10 +dep 2117 34 +dep 2118 A0 +dep 2119 20 +dep 211A DE +dep 211B 00 +dep 211C 00 +dep 211D 80 +dep 211E 0E +dep 211F 3C +dep 2120 88 +dep 2121 99 +dep 2122 AE +dep 2123 40 +dep 2124 10 +dep 2125 2D +dep 2126 04 +dep 2127 C7 +dep 2128 03 +dep 2129 67 +dep 212A 40 +dep 212B 20 +dep 212C 0F +dep 212D AD +dep 212E 10 +dep 212F 34 +dep 2130 A0 +dep 2131 20 +dep 2132 DE +dep 2133 00 +dep 2134 00 +dep 2135 40 +dep 2136 0E +dep 2137 3C +dep 2138 88 +dep 2139 A5 +dep 213A AE +dep 213B 40 +dep 213C 10 +dep 213D 2D +dep 213E 04 +dep 213F C7 +dep 2140 05 +dep 2141 6F +dep 2142 76 +dep 2143 65 +dep 2144 72 +dep 2145 20 +dep 2146 10 +dep 2147 34 +dep 2148 A0 +dep 2149 20 +dep 214A DE +dep 214B 00 +dep 214C 00 +dep 214D 40 +dep 214E 0E +dep 214F 3C +dep 2150 88 +dep 2151 B1 +dep 2152 AE +dep 2153 40 +dep 2154 10 +dep 2155 2D +dep 2156 04 +dep 2157 C7 +dep 2158 05 +dep 2159 6F +dep 215A 76 +dep 215B 65 +dep 215C 72 +dep 215D 20 +dep 215E 10 +dep 215F 34 +dep 2160 A0 +dep 2161 20 +dep 2162 DE +dep 2163 00 +dep 2164 00 +dep 2165 C0 +dep 2166 0E +dep 2167 3C +dep 2168 88 +dep 2169 BA +dep 216A AE +dep 216B 40 +dep 216C 10 +dep 216D 2D +dep 216E 0F +dep 216F AD +dep 2170 10 +dep 2171 34 +dep 2172 A0 +dep 2173 20 +dep 2174 AE +dep 2175 40 +dep 2176 10 +dep 2177 2D +dep 2178 04 +dep 2179 C7 +dep 217A 06 +dep 217B 3F +dep 217C 3F +dep 217D 3F +dep 217E 67 +dep 217F 40 +dep 2180 20 +dep 2181 20 +dep 2182 10 +dep 2183 34 +dep 2184 A0 +dep 2185 20 +dep 2186 04 +dep 2187 C7 +dep 2188 04 +dep 2189 6C +dep 218A 69 +dep 218B 74 +dep 218C 20 +dep 218D 20 +dep 218E 0E +dep 218F 3F +dep 2190 EE +dep 2191 00 +dep 2192 B8 +dep 2193 C2 +dep 2194 EE +dep 2195 00 +dep 2196 05 +dep 2197 39 +dep 2198 A0 +dep 2199 20 +dep 219A BE +dep 219B 44 +dep 219C 0E +dep 219D 4A +dep 219E 0E +dep 219F 47 +dep 21A0 D2 +dep 21A1 80 +dep 21A2 0E +dep 21A3 C0 +dep 21A4 BE +dep 21A5 40 +dep 21A6 0E +dep 21A7 3C +dep 21A8 88 +dep 21A9 DA +dep 21AA AE +dep 21AB 40 +dep 21AC 10 +dep 21AD C3 +dep 21AE 0F +dep 21AF 8E +dep 21B0 0E +dep 21B1 4C +dep 21B2 A0 +dep 21B3 20 +dep 21B4 DE +dep 21B5 00 +dep 21B6 0E +dep 21B7 00 +dep 21B8 0E +dep 21B9 3C +dep 21BA 88 +dep 21BB E2 +dep 21BC AE +dep 21BD 40 +dep 21BE 10 +dep 21BF C3 +dep 21C0 0E +dep 21C1 4C +dep 21C2 A0 +dep 21C3 20 +dep 21C4 DE +dep 21C5 00 +dep 21C6 0E +dep 21C7 80 +dep 21C8 0E +dep 21C9 3C +dep 21CA 88 +dep 21CB EB +dep 21CC AE +dep 21CD 40 +dep 21CE 0F +dep 21CF 8A +dep 21D0 10 +dep 21D1 C3 +dep 21D2 0E +dep 21D3 4C +dep 21D4 A0 +dep 21D5 20 +dep 21D6 AE +dep 21D7 40 +dep 21D8 0E +dep 21D9 47 +dep 21DA D2 +dep 21DB 80 +dep 21DC 00 +dep 21DD C0 +dep 21DE BE +dep 21DF 40 +dep 21E0 0E +dep 21E1 3C +dep 21E2 88 +dep 21E3 F7 +dep 21E4 AE +dep 21E5 40 +dep 21E6 10 +dep 21E7 C3 +dep 21E8 0F +dep 21E9 92 +dep 21EA 10 +dep 21EB 34 +dep 21EC A0 +dep 21ED 20 +dep 21EE DE +dep 21EF 00 +dep 21F0 00 +dep 21F1 80 +dep 21F2 0E +dep 21F3 3C +dep 21F4 89 +dep 21F5 00 +dep 21F6 AE +dep 21F7 40 +dep 21F8 10 +dep 21F9 C3 +dep 21FA 0F +dep 21FB AD +dep 21FC 10 +dep 21FD 34 +dep 21FE A0 +dep 21FF 20 +dep 2200 AE +dep 2201 40 +dep 2202 04 +dep 2203 C7 +dep 2204 06 +dep 2205 3F +dep 2206 6C +dep 2207 6F +dep 2208 6E +dep 2209 67 +dep 220A 3F +dep 220B 20 +dep 220C 10 +dep 220D 34 +dep 220E A0 +dep 220F 20 +dep 2210 BE +dep 2211 42 +dep 2212 0E +dep 2213 4A +dep 2214 0E +dep 2215 47 +dep 2216 D2 +dep 2217 80 +dep 2218 0E +dep 2219 C0 +dep 221A BE +dep 221B 40 +dep 221C 0E +dep 221D 3C +dep 221E 89 +dep 221F 16 +dep 2220 AE +dep 2221 40 +dep 2222 10 +dep 2223 2D +dep 2224 0F +dep 2225 99 +dep 2226 0F +dep 2227 AD +dep 2228 10 +dep 2229 31 +dep 222A A0 +dep 222B 20 +dep 222C DE +dep 222D 00 +dep 222E 0E +dep 222F 00 +dep 2230 0E +dep 2231 3C +dep 2232 89 +dep 2233 1F +dep 2234 AE +dep 2235 40 +dep 2236 10 +dep 2237 2D +dep 2238 0F +dep 2239 99 +dep 223A 10 +dep 223B 31 +dep 223C A0 +dep 223D 20 +dep 223E DE +dep 223F 00 +dep 2240 00 +dep 2241 80 +dep 2242 0E +dep 2243 3C +dep 2244 89 +dep 2245 29 +dep 2246 AE +dep 2247 40 +dep 2248 0F +dep 2249 87 +dep 224A 10 +dep 224B 2D +dep 224C 0F +dep 224D 9F +dep 224E 10 +dep 224F 31 +dep 2250 A0 +dep 2251 20 +dep 2252 DE +dep 2253 00 +dep 2254 0E +dep 2255 80 +dep 2256 0E +dep 2257 3C +dep 2258 89 +dep 2259 32 +dep 225A AE +dep 225B 40 +dep 225C 10 +dep 225D 2D +dep 225E 0F +dep 225F 9F +dep 2260 10 +dep 2261 31 +dep 2262 A0 +dep 2263 20 +dep 2264 AE +dep 2265 40 +dep 2266 0E +dep 2267 47 +dep 2268 D2 +dep 2269 80 +dep 226A 00 +dep 226B C0 +dep 226C BE +dep 226D 40 +dep 226E 0E +dep 226F 3C +dep 2270 89 +dep 2271 3F +dep 2272 AE +dep 2273 40 +dep 2274 10 +dep 2275 2D +dep 2276 0F +dep 2277 99 +dep 2278 0F +dep 2279 92 +dep 227A 10 +dep 227B 34 +dep 227C A0 +dep 227D 20 +dep 227E DE +dep 227F 00 +dep 2280 00 +dep 2281 80 +dep 2282 0E +dep 2283 3C +dep 2284 89 +dep 2285 48 +dep 2286 AE +dep 2287 40 +dep 2288 10 +dep 2289 2D +dep 228A 0F +dep 228B 99 +dep 228C 10 +dep 228D 34 +dep 228E A0 +dep 228F 20 +dep 2290 AE +dep 2291 40 +dep 2292 10 +dep 2293 2D +dep 2294 04 +dep 2295 C7 +dep 2296 07 +dep 2297 3F +dep 2298 75 +dep 2299 73 +dep 229A 65 +dep 229B 72 +dep 229C 3F +dep 229D 20 +dep 229E 10 +dep 229F 34 +dep 22A0 A0 +dep 22A1 20 +dep 22A2 0E +dep 22A3 45 +dep 22A4 EE +dep 22A5 00 +dep 22A6 89 +dep 22A7 56 +dep 22A8 04 +dep 22A9 C7 +dep 22AA 01 +dep 22AB 63 +dep 22AC A0 +dep 22AD 20 +dep 22AE 11 +dep 22AF 51 +dep 22B0 04 +dep 22B1 C7 +dep 22B2 02 +dep 22B3 40 +dep 22B4 20 +dep 22B5 20 +dep 22B6 A0 +dep 22B7 20 +dep 22B8 11 +dep 22B9 51 +dep 22BA 04 +dep 22BB C7 +dep 22BC 02 +dep 22BD 21 +dep 22BE 20 +dep 22BF 20 +dep 22C0 A0 +dep 22C1 20 +dep 22C2 10 +dep 22C3 2D +dep 22C4 0F +dep 22C5 AD +dep 22C6 0F +dep 22C7 BA +dep 22C8 0E +dep 22C9 4C +dep 22CA A0 +dep 22CB 20 +dep 22CC 0F +dep 22CD 87 +dep 22CE 11 +dep 22CF 57 +dep 22D0 0F +dep 22D1 8E +dep 22D2 11 +dep 22D3 61 +dep 22D4 A0 +dep 22D5 20 +dep 22D6 BE +dep 22D7 42 +dep 22D8 0E +dep 22D9 4A +dep 22DA 0E +dep 22DB 47 +dep 22DC D2 +dep 22DD 80 +dep 22DE 0E +dep 22DF C0 +dep 22E0 BE +dep 22E1 40 +dep 22E2 0E +dep 22E3 3C +dep 22E4 89 +dep 22E5 78 +dep 22E6 AE +dep 22E7 40 +dep 22E8 11 +dep 22E9 57 +dep 22EA 0F +dep 22EB 8E +dep 22EC 10 +dep 22ED 31 +dep 22EE A0 +dep 22EF 20 +dep 22F0 DE +dep 22F1 00 +dep 22F2 0E +dep 22F3 00 +dep 22F4 0E +dep 22F5 3C +dep 22F6 89 +dep 22F7 80 +dep 22F8 AE +dep 22F9 40 +dep 22FA 11 +dep 22FB 57 +dep 22FC 10 +dep 22FD 31 +dep 22FE A0 +dep 22FF 20 +dep 2300 DE +dep 2301 00 +dep 2302 00 +dep 2303 80 +dep 2304 0E +dep 2305 3C +dep 2306 89 +dep 2307 8A +dep 2308 AE +dep 2309 40 +dep 230A 0F +dep 230B 92 +dep 230C 0F +dep 230D 8E +dep 230E 11 +dep 230F 5C +dep 2310 10 +dep 2311 31 +dep 2312 A0 +dep 2313 20 +dep 2314 DE +dep 2315 00 +dep 2316 0E +dep 2317 80 +dep 2318 0E +dep 2319 3C +dep 231A 89 +dep 231B 92 +dep 231C AE +dep 231D 40 +dep 231E 11 +dep 231F 5C +dep 2320 10 +dep 2321 31 +dep 2322 A0 +dep 2323 20 +dep 2324 AE +dep 2325 40 +dep 2326 0E +dep 2327 47 +dep 2328 D2 +dep 2329 80 +dep 232A 0F +dep 232B C0 +dep 232C DE +dep 232D 00 +dep 232E 00 +dep 232F 40 +dep 2330 0E +dep 2331 3C +dep 2332 89 +dep 2333 A1 +dep 2334 AE +dep 2335 40 +dep 2336 0F +dep 2337 A2 +dep 2338 0F +dep 2339 87 +dep 233A 11 +dep 233B 57 +dep 233C 0F +dep 233D 8E +dep 233E 0E +dep 233F 4C +dep 2340 A0 +dep 2341 20 +dep 2342 DE +dep 2343 00 +dep 2344 01 +dep 2345 40 +dep 2346 0E +dep 2347 3C +dep 2348 89 +dep 2349 AB +dep 234A AE +dep 234B 40 +dep 234C 0F +dep 234D 87 +dep 234E 11 +dep 234F 57 +dep 2350 0F +dep 2351 8E +dep 2352 0E +dep 2353 4C +dep 2354 A0 +dep 2355 20 +dep 2356 DE +dep 2357 00 +dep 2358 0E +dep 2359 40 +dep 235A 0E +dep 235B 3C +dep 235C 89 +dep 235D B5 +dep 235E AE +dep 235F 40 +dep 2360 0F +dep 2361 A2 +dep 2362 11 +dep 2363 57 +dep 2364 10 +dep 2365 2D +dep 2366 0E +dep 2367 4C +dep 2368 A0 +dep 2369 20 +dep 236A DE +dep 236B 00 +dep 236C 0F +dep 236D 40 +dep 236E 0E +dep 236F 3C +dep 2370 89 +dep 2371 BE +dep 2372 AE +dep 2373 40 +dep 2374 11 +dep 2375 57 +dep 2376 10 +dep 2377 2D +dep 2378 0E +dep 2379 4C +dep 237A A0 +dep 237B 20 +dep 237C DE +dep 237D 00 +dep 237E 00 +dep 237F C0 +dep 2380 0E +dep 2381 3C +dep 2382 89 +dep 2383 C8 +dep 2384 AE +dep 2385 40 +dep 2386 0F +dep 2387 92 +dep 2388 0F +dep 2389 92 +dep 238A 11 +dep 238B 5C +dep 238C 0E +dep 238D 4C +dep 238E A0 +dep 238F 20 +dep 2390 DE +dep 2391 00 +dep 2392 01 +dep 2393 C0 +dep 2394 0E +dep 2395 3C +dep 2396 89 +dep 2397 D1 +dep 2398 AE +dep 2399 40 +dep 239A 0F +dep 239B A5 +dep 239C 11 +dep 239D 5C +dep 239E 0E +dep 239F 4C +dep 23A0 A0 +dep 23A1 20 +dep 23A2 DE +dep 23A3 00 +dep 23A4 0E +dep 23A5 C0 +dep 23A6 0E +dep 23A7 3C +dep 23A8 89 +dep 23A9 DC +dep 23AA AE +dep 23AB 40 +dep 23AC 0F +dep 23AD 92 +dep 23AE 0F +dep 23AF 8E +dep 23B0 11 +dep 23B1 5C +dep 23B2 10 +dep 23B3 2D +dep 23B4 0E +dep 23B5 4C +dep 23B6 A0 +dep 23B7 20 +dep 23B8 DE +dep 23B9 00 +dep 23BA 0F +dep 23BB C0 +dep 23BC 0E +dep 23BD 3C +dep 23BE 89 +dep 23BF E5 +dep 23C0 AE +dep 23C1 40 +dep 23C2 11 +dep 23C3 5C +dep 23C4 10 +dep 23C5 2D +dep 23C6 0E +dep 23C7 4C +dep 23C8 A0 +dep 23C9 20 +dep 23CA AE +dep 23CB 40 +dep 23CC 0E +dep 23CD 47 +dep 23CE D2 +dep 23CF 80 +dep 23D0 00 +dep 23D1 C0 +dep 23D2 BE +dep 23D3 40 +dep 23D4 0E +dep 23D5 3C +dep 23D6 89 +dep 23D7 F1 +dep 23D8 AE +dep 23D9 40 +dep 23DA 11 +dep 23DB 57 +dep 23DC 0F +dep 23DD 92 +dep 23DE 10 +dep 23DF 34 +dep 23E0 A0 +dep 23E1 20 +dep 23E2 DE +dep 23E3 00 +dep 23E4 00 +dep 23E5 80 +dep 23E6 0E +dep 23E7 3C +dep 23E8 89 +dep 23E9 FA +dep 23EA AE +dep 23EB 40 +dep 23EC 11 +dep 23ED 57 +dep 23EE 0F +dep 23EF AD +dep 23F0 10 +dep 23F1 34 +dep 23F2 A0 +dep 23F3 20 +dep 23F4 AE +dep 23F5 40 +dep 23F6 0E +dep 23F7 47 +dep 23F8 D2 +dep 23F9 80 +dep 23FA 01 +dep 23FB C0 +dep 23FC DE +dep 23FD 00 +dep 23FE 00 +dep 23FF 40 +dep 2400 0E +dep 2401 3C +dep 2402 88 +dep 2403 06 +dep 2404 AE +dep 2405 40 +dep 2406 0F +dep 2407 A2 +dep 2408 11 +dep 2409 66 +dep 240A A0 +dep 240B 20 +dep 240C DE +dep 240D 00 +dep 240E 01 +dep 240F 40 +dep 2410 0E +dep 2411 3C +dep 2412 88 +dep 2413 0D +dep 2414 AE +dep 2415 40 +dep 2416 11 +dep 2417 66 +dep 2418 A0 +dep 2419 20 +dep 241A DE +dep 241B 00 +dep 241C 00 +dep 241D C0 +dep 241E 0E +dep 241F 3C +dep 2420 88 +dep 2421 17 +dep 2422 AE +dep 2423 40 +dep 2424 0F +dep 2425 92 +dep 2426 0F +dep 2427 92 +dep 2428 11 +dep 2429 5C +dep 242A 11 +dep 242B 61 +dep 242C A0 +dep 242D 20 +dep 242E DE +dep 242F 00 +dep 2430 01 +dep 2431 C0 +dep 2432 0E +dep 2433 3C +dep 2434 88 +dep 2435 20 +dep 2436 AE +dep 2437 40 +dep 2438 0F +dep 2439 A5 +dep 243A 11 +dep 243B 5C +dep 243C 11 +dep 243D 61 +dep 243E A0 +dep 243F 20 +dep 2440 AE +dep 2441 40 +dep 2442 04 +dep 2443 C7 +dep 2444 05 +dep 2445 3F +dep 2446 6D +dep 2447 65 +dep 2448 6D +dep 2449 3F +dep 244A A0 +dep 244B 20 +dep 244C 0E +dep 244D 47 +dep 244E DE +dep 244F 00 +dep 2450 A0 +dep 2451 20 +dep 2452 01 +dep 2453 0A +dep 2454 88 +dep 2455 2C +dep 2456 BE +dep 2457 60 +dep 2458 BE +dep 2459 42 +dep 245A 0E +dep 245B 4A +dep 245C BF +dep 245D 40 +dep 245E 0E +dep 245F 47 +dep 2460 D2 +dep 2461 80 +dep 2462 FF +dep 2463 DF +dep 2464 DE +dep 2465 00 +dep 2466 A0 +dep 2467 00 +dep 2468 0E +dep 2469 3C +dep 246A 88 +dep 246B 3B +dep 246C AE +dep 246D 40 +dep 246E 04 +dep 246F C7 +dep 2470 03 +dep 2471 6E +dep 2472 6F +dep 2473 70 +dep 2474 A0 +dep 2475 20 +dep 2476 DE +dep 2477 00 +dep 2478 BF +dep 2479 40 +dep 247A 0E +dep 247B 3C +dep 247C 88 +dep 247D 46 +dep 247E AE +dep 247F 40 +dep 2480 04 +dep 2481 C7 +dep 2482 06 +dep 2483 6C +dep 2484 69 +dep 2485 74 +dep 2486 20 +dep 2487 2D +dep 2488 31 +dep 2489 20 +dep 248A A0 +dep 248B 20 +dep 248C DE +dep 248D 00 +dep 248E A0 +dep 248F C1 +dep 2490 0E +dep 2491 3C +dep 2492 88 +dep 2493 4F +dep 2494 AE +dep 2495 40 +dep 2496 04 +dep 2497 C7 +dep 2498 03 +dep 2499 73 +dep 249A 3E +dep 249B 64 +dep 249C A0 +dep 249D 20 +dep 249E DE +dep 249F 00 +dep 24A0 BC +dep 24A1 C0 +dep 24A2 0E +dep 24A3 3C +dep 24A4 88 +dep 24A5 5A +dep 24A6 AE +dep 24A7 40 +dep 24A8 04 +dep 24A9 C7 +dep 24AA 06 +dep 24AB 6E +dep 24AC 65 +dep 24AD 67 +dep 24AE 61 +dep 24AF 74 +dep 24B0 65 +dep 24B1 20 +dep 24B2 A0 +dep 24B3 20 +dep 24B4 DE +dep 24B5 00 +dep 24B6 B4 +dep 24B7 C1 +dep 24B8 0E +dep 24B9 3C +dep 24BA 88 +dep 24BB 63 +dep 24BC AE +dep 24BD 40 +dep 24BE 04 +dep 24BF C7 +dep 24C0 02 +dep 24C1 31 +dep 24C2 2D +dep 24C3 20 +dep 24C4 A0 +dep 24C5 20 +dep 24C6 DE +dep 24C7 00 +dep 24C8 E0 +dep 24C9 C0 +dep 24CA 0E +dep 24CB 3C +dep 24CC 88 +dep 24CD 6E +dep 24CE AE +dep 24CF 40 +dep 24D0 04 +dep 24D1 C7 +dep 24D2 07 +dep 24D3 64 +dep 24D4 64 +dep 24D5 75 +dep 24D6 70 +dep 24D7 20 +dep 24D8 21 +dep 24D9 20 +dep 24DA A0 +dep 24DB 20 +dep 24DC DE +dep 24DD 00 +dep 24DE B0 +dep 24DF 8D +dep 24E0 0E +dep 24E1 3C +dep 24E2 88 +dep 24E3 79 +dep 24E4 AE +dep 24E5 40 +dep 24E6 04 +dep 24E7 C7 +dep 24E8 06 +dep 24E9 73 +dep 24EA 65 +dep 24EB 6C +dep 24EC 64 +dep 24ED 70 +dep 24EE 72 +dep 24EF 20 +dep 24F0 A0 +dep 24F1 20 +dep 24F2 DE +dep 24F3 00 +dep 24F4 B0 +dep 24F5 0D +dep 24F6 0E +dep 24F7 3C +dep 24F8 88 +dep 24F9 84 +dep 24FA AE +dep 24FB 40 +dep 24FC 04 +dep 24FD C7 +dep 24FE 06 +dep 24FF 73 +dep 2500 65 +dep 2501 6C +dep 2502 63 +dep 2503 70 +dep 2504 72 +dep 2505 20 +dep 2506 A0 +dep 2507 20 +dep 2508 DE +dep 2509 00 +dep 250A F0 +dep 250B C0 +dep 250C 0E +dep 250D 3C +dep 250E 88 +dep 250F 8F +dep 2510 AE +dep 2511 40 +dep 2512 04 +dep 2513 C7 +dep 2514 07 +dep 2515 64 +dep 2516 64 +dep 2517 75 +dep 2518 70 +dep 2519 20 +dep 251A 43 +dep 251B 21 +dep 251C A0 +dep 251D 20 +dep 251E DE +dep 251F 00 +dep 2520 B0 +dep 2521 90 +dep 2522 0E +dep 2523 3C +dep 2524 88 +dep 2525 9A +dep 2526 AE +dep 2527 40 +dep 2528 04 +dep 2529 C7 +dep 252A 07 +dep 252B 73 +dep 252C 6F +dep 252D 66 +dep 252E 74 +dep 252F 69 +dep 2530 6E +dep 2531 74 +dep 2532 A0 +dep 2533 20 +dep 2534 DE +dep 2535 00 +dep 2536 B0 +dep 2537 10 +dep 2538 0E +dep 2539 3C +dep 253A 88 +dep 253B A6 +dep 253C AE +dep 253D 40 +dep 253E 04 +dep 253F C7 +dep 2540 08 +dep 2541 2D +dep 2542 73 +dep 2543 6F +dep 2544 66 +dep 2545 74 +dep 2546 69 +dep 2547 6E +dep 2548 74 +dep 2549 20 +dep 254A A0 +dep 254B 20 +dep 254C DE +dep 254D 00 +dep 254E B0 +dep 254F 96 +dep 2550 0E +dep 2551 3C +dep 2552 88 +dep 2553 B0 +dep 2554 AE +dep 2555 40 +dep 2556 04 +dep 2557 C7 +dep 2558 04 +dep 2559 6D +dep 255A 75 +dep 255B 6C +dep 255C 75 +dep 255D 20 +dep 255E A0 +dep 255F 20 +dep 2560 DE +dep 2561 00 +dep 2562 B0 +dep 2563 97 +dep 2564 0E +dep 2565 3C +dep 2566 88 +dep 2567 BA +dep 2568 AE +dep 2569 40 +dep 256A 04 +dep 256B C7 +dep 256C 04 +dep 256D 6D +dep 256E 75 +dep 256F 6C +dep 2570 73 +dep 2571 20 +dep 2572 A0 +dep 2573 20 +dep 2574 DE +dep 2575 00 +dep 2576 BE +dep 2577 01 +dep 2578 0E +dep 2579 3C +dep 257A 88 +dep 257B C3 +dep 257C AE +dep 257D 40 +dep 257E 04 +dep 257F C7 +dep 2580 02 +dep 2581 72 +dep 2582 3E +dep 2583 20 +dep 2584 A0 +dep 2585 20 +dep 2586 DE +dep 2587 00 +dep 2588 B0 +dep 2589 01 +dep 258A 0E +dep 258B 3C +dep 258C 88 +dep 258D CE +dep 258E AE +dep 258F 40 +dep 2590 04 +dep 2591 C7 +dep 2592 06 +dep 2593 72 +dep 2594 3E +dep 2595 64 +dep 2596 72 +dep 2597 6F +dep 2598 70 +dep 2599 20 +dep 259A A0 +dep 259B 20 +dep 259C DE +dep 259D 00 +dep 259E BE +dep 259F 80 +dep 25A0 0E +dep 25A1 3C +dep 25A2 88 +dep 25A3 DA +dep 25A4 AE +dep 25A5 40 +dep 25A6 04 +dep 25A7 C7 +dep 25A8 08 +dep 25A9 72 +dep 25AA 3E +dep 25AB 64 +dep 25AC 72 +dep 25AD 6F +dep 25AE 70 +dep 25AF 3E +dep 25B0 72 +dep 25B1 20 +dep 25B2 A0 +dep 25B3 20 +dep 25B4 DE +dep 25B5 00 +dep 25B6 BE +dep 25B7 81 +dep 25B8 0E +dep 25B9 3C +dep 25BA 88 +dep 25BB E3 +dep 25BC AE +dep 25BD 40 +dep 25BE 04 +dep 25BF C7 +dep 25C0 02 +dep 25C1 3E +dep 25C2 72 +dep 25C3 20 +dep 25C4 A0 +dep 25C5 20 +dep 25C6 DE +dep 25C7 00 +dep 25C8 BE +dep 25C9 A7 +dep 25CA 0E +dep 25CB 3C +dep 25CC 88 +dep 25CD EC +dep 25CE AE +dep 25CF 40 +dep 25D0 04 +dep 25D1 C7 +dep 25D2 03 +dep 25D3 3E +dep 25D4 72 +dep 25D5 3B +dep 25D6 A0 +dep 25D7 20 +dep 25D8 AE +dep 25D9 40 +dep 25DA B8 +dep 25DB E1 +dep 25DC AE +dep 25DD 80 +dep 25DE BE +dep 25DF 40 +dep 25E0 04 +dep 25E1 F0 +dep 25E2 01 +dep 25E3 4D +dep 25E4 BE +dep 25E5 40 +dep 25E6 AE +dep 25E7 80 +dep 25E8 BE +dep 25E9 81 +dep 25EA BE +dep 25EB 81 +dep 25EC 04 +dep 25ED F5 +dep 25EE 00 +dep 25EF 17 +dep 25F0 25 +dep 25F1 EC +dep 25F2 05 +dep 25F3 10 +dep 25F4 03 +dep 25F5 E1 +dep 25F6 A0 +dep 25F7 20 +dep 25F8 03 +dep 25F9 D6 +dep 25FA 0E +dep 25FB 3F +dep 25FC EE +dep 25FD 00 +dep 25FE BE +dep 25FF 44 +dep 2600 12 +dep 2601 EE +dep 2602 DE +dep 2603 00 +dep 2604 00 +dep 2605 7C +dep 2606 D8 +dep 2607 80 +dep 2608 00 +dep 2609 37 +dep 260A 03 +dep 260B BB +dep 260C 0E +dep 260D 47 +dep 260E BE +dep 260F 44 +dep 2610 12 +dep 2611 EE +dep 2612 DE +dep 2613 00 +dep 2614 00 +dep 2615 7C +dep 2616 D8 +dep 2617 80 +dep 2618 00 +dep 2619 37 +dep 261A 03 +dep 261B BB +dep 261C 0E +dep 261D 3F +dep 261E EE +dep 261F 00 +dep 2620 BE +dep 2621 40 +dep 2622 BE +dep 2623 41 +dep 2624 0C +dep 2625 6D +dep 2626 DE +dep 2627 00 +dep 2628 00 +dep 2629 7C +dep 262A D8 +dep 262B 80 +dep 262C 00 +dep 262D 37 +dep 262E 03 +dep 262F BB +dep 2630 A0 +dep 2631 20 +dep 2632 12 +dep 2633 26 +dep 2634 89 +dep 2635 1D +dep 2636 0E +dep 2637 4C +dep 2638 A0 +dep 2639 20 +dep 263A 0E +dep 263B 47 +dep 263C BE +dep 263D 4C +dep 263E 0E +dep 263F 22 +dep 2640 BE +dep 2641 48 +dep 2642 0E +dep 2643 3C +dep 2644 89 +dep 2645 26 +dep 2646 AE +dep 2647 40 +dep 2648 0E +dep 2649 F9 +dep 264A A0 +dep 264B 20 +dep 264C BE +dep 264D 49 +dep 264E 0E +dep 264F 3C +dep 2650 89 +dep 2651 2C +dep 2652 AE +dep 2653 40 +dep 2654 0E +dep 2655 F9 +dep 2656 A0 +dep 2657 20 +dep 2658 BE +dep 2659 4A +dep 265A 0E +dep 265B 3C +dep 265C 89 +dep 265D 32 +dep 265E AE +dep 265F 40 +dep 2660 0F +dep 2661 C8 +dep 2662 A0 +dep 2663 20 +dep 2664 BE +dep 2665 4B +dep 2666 0E +dep 2667 3C +dep 2668 89 +dep 2669 38 +dep 266A AE +dep 266B 40 +dep 266C 10 +dep 266D 37 +dep 266E A0 +dep 266F 20 +dep 2670 BE +dep 2671 4C +dep 2672 0E +dep 2673 3C +dep 2674 89 +dep 2675 3E +dep 2676 AE +dep 2677 40 +dep 2678 11 +dep 2679 08 +dep 267A A0 +dep 267B 20 +dep 267C BE +dep 267D 4D +dep 267E 0E +dep 267F 3C +dep 2680 89 +dep 2681 44 +dep 2682 AE +dep 2683 40 +dep 2684 10 +dep 2685 CD +dep 2686 A0 +dep 2687 20 +dep 2688 BE +dep 2689 4E +dep 268A 0E +dep 268B 3C +dep 268C 89 +dep 268D 4C +dep 268E AE +dep 268F 40 +dep 2690 0E +dep 2691 45 +dep 2692 01 +dep 2693 8F +dep 2694 11 +dep 2695 6B +dep 2696 A0 +dep 2697 20 +dep 2698 BE +dep 2699 4F +dep 269A 0E +dep 269B 3C +dep 269C 89 +dep 269D 54 +dep 269E AE +dep 269F 40 +dep 26A0 0E +dep 26A1 45 +dep 26A2 01 +dep 26A3 95 +dep 26A4 11 +dep 26A5 6B +dep 26A6 A0 +dep 26A7 20 +dep 26A8 AE +dep 26A9 40 +dep 26AA 0E +dep 26AB 9F +dep 26AC A0 +dep 26AD 20 +dep 26AE 1B +dep 26AF A0 +dep 26B0 82 +dep 26B1 55 +dep 26B2 4E +dep 26B3 20 +dep 26B4 00 +dep 26B5 79 +dep 26B6 EE +dep 26B7 00 +dep 26B8 BE +dep 26B9 81 +dep 26BA 04 +dep 26BB 2A +dep 26BC 0E +dep 26BD 3F +dep 26BE EE +dep 26BF 80 +dep 26C0 BE +dep 26C1 40 +dep 26C2 0E +dep 26C3 43 +dep 26C4 EE +dep 26C5 80 +dep 26C6 DE +dep 26C7 00 +dep 26C8 00 +dep 26C9 20 +dep 26CA DE +dep 26CB 00 +dep 26CC 00 +dep 26CD 20 +dep 26CE 01 +dep 26CF 0A +dep 26D0 B2 +dep 26D1 CF +dep 26D2 BE +dep 26D3 81 +dep 26D4 12 +dep 26D5 FC +dep 26D6 13 +dep 26D7 19 +dep 26D8 0E +dep 26D9 41 +dep 26DA EE +dep 26DB 00 +dep 26DC 0E +dep 26DD 3F +dep 26DE 01 +dep 26DF 5D +dep 26E0 99 +dep 26E1 6A +dep 26E2 03 +dep 26E3 B3 +dep 26E4 A0 +dep 26E5 C0 +dep 26E6 DE +dep 26E7 00 +dep 26E8 00 +dep 26E9 20 +dep 26EA 01 +dep 26EB 2C +dep 26EC 89 +dep 26ED 65 +dep 26EE AE +dep 26EF 40 +dep 26F0 BE +dep 26F1 01 +dep 26F2 00 +dep 26F3 79 +dep 26F4 EE +dep 26F5 A0 +dep 26F6 1C +dep 26F7 10 +dep 26F8 83 +dep 26F9 53 +dep 26FA 45 +dep 26FB 45 +dep 26FC 07 +dep 26FD 53 +dep 26FE 13 +dep 26FF 5A +dep 2700 A0 +dep 2701 20 +dep 2702 1C +dep 2703 1E +dep 2704 C5 +dep 2705 44 +dep 2706 4F +dep 2707 45 +dep 2708 53 +dep 2709 3E +dep 270A 0B +dep 270B 69 +dep 270C 0A +dep 270D FF +dep 270E 0B +dep 270F 69 +dep 2710 BE +dep 2711 01 +dep 2712 00 +dep 2713 73 +dep 2714 01 +dep 2715 95 +dep 2716 A0 +dep 2717 20 +dep 2718 1A +dep 2719 96 +dep 271A 84 +dep 271B 42 +dep 271C 53 +dep 271D 45 +dep 271E 54 +dep 271F 20 +dep 2720 AE +dep 2721 C0 +dep 2722 F6 +dep 2723 80 +dep 2724 AE +dep 2725 80 +dep 2726 FE +dep 2727 A0 +dep 2728 27 +dep 2729 18 +dep 272A 84 +dep 272B 42 +dep 272C 43 +dep 272D 4C +dep 272E 52 +dep 272F 20 +dep 2730 BF +dep 2731 40 +dep 2732 AA +dep 2733 40 +dep 2734 AE +dep 2735 C0 +dep 2736 F2 +dep 2737 80 +dep 2738 AE +dep 2739 80 +dep 273A FE +dep 273B A0 +dep 273C 06 +dep 273D C3 +dep 273E DE +dep 273F 00 +dep 2740 00 +dep 2741 40 +dep 2742 13 +dep 2743 90 +dep 2744 A0 +dep 2745 20 +dep 2746 26 +dep 2747 F6 +dep 2748 86 +dep 2749 53 +dep 274A 4D +dep 274B 55 +dep 274C 44 +dep 274D 47 +dep 274E 45 +dep 274F 20 +dep 2750 06 +dep 2751 C3 +dep 2752 B8 +dep 2753 C1 +dep 2754 DE +dep 2755 00 +dep 2756 00 +dep 2757 80 +dep 2758 13 +dep 2759 90 +dep 275A A0 +dep 275B 20 +dep 275C 26 +dep 275D AE +dep 275E 88 +dep 275F 55 +dep 2760 4E +dep 2761 53 +dep 2762 4D +dep 2763 55 +dep 2764 44 +dep 2765 47 +dep 2766 45 +dep 2767 20 +dep 2768 06 +dep 2769 C3 +dep 276A B8 +dep 276B C1 +dep 276C DE +dep 276D 00 +dep 276E 00 +dep 276F 80 +dep 2770 13 +dep 2771 98 +dep 2772 A0 +dep 2773 20 +dep 2774 1B +dep 2775 D8 +dep 2776 87 +dep 2777 49 +dep 2778 53 +dep 2779 2D +dep 277A 43 +dep 277B 4F +dep 277C 44 +dep 277D 45 +dep 277E 06 +dep 277F C3 +dep 2780 DE +dep 2781 00 +dep 2782 00 +dep 2783 20 +dep 2784 13 +dep 2785 90 +dep 2786 A0 +dep 2787 20 +dep 2788 D2 +dep 2789 A0 +dep 278A 03 +dep 278B FF +dep 278C D2 +dep 278D A0 +dep 278E FC +dep 278F 00 +dep 2790 B8 +dep 2791 C2 +dep 2792 AE +dep 2793 80 +dep 2794 13 +dep 2795 C6 +dep 2796 AE +dep 2797 80 +dep 2798 13 +dep 2799 C6 +dep 279A AC +dep 279B 40 +dep 279C 01 +dep 279D 20 +dep 279E DE +dep 279F 00 +dep 27A0 04 +dep 27A1 00 +dep 27A2 01 +dep 27A3 26 +dep 27A4 05 +dep 27A5 5B +dep 27A6 19 +dep 27A7 75 +dep 27A8 6E +dep 27A9 72 +dep 27AA 65 +dep 27AB 61 +dep 27AC 63 +dep 27AD 68 +dep 27AE 61 +dep 27AF 62 +dep 27B0 6C +dep 27B1 65 +dep 27B2 20 +dep 27B3 62 +dep 27B4 72 +dep 27B5 61 +dep 27B6 6E +dep 27B7 63 +dep 27B8 68 +dep 27B9 20 +dep 27BA 74 +dep 27BB 61 +dep 27BC 72 +dep 27BD 67 +dep 27BE 65 +dep 27BF 74 +dep 27C0 A0 +dep 27C1 20 +dep 27C2 B8 +dep 27C3 C2 +dep 27C4 AE +dep 27C5 80 +dep 27C6 13 +dep 27C7 C6 +dep 27C8 AE +dep 27C9 80 +dep 27CA 13 +dep 27CB C6 +dep 27CC AC +dep 27CD 40 +dep 27CE A0 +dep 27CF C0 +dep 27D0 89 +dep 27D1 F0 +dep 27D2 A0 +dep 27D3 01 +dep 27D4 89 +dep 27D5 EE +dep 27D6 DE +dep 27D7 00 +dep 27D8 06 +dep 27D9 00 +dep 27DA 91 +dep 27DB F0 +dep 27DC DE +dep 27DD 00 +dep 27DE 02 +dep 27DF 00 +dep 27E0 A0 +dep 27E1 20 +dep 27E2 27 +dep 27E3 28 +dep 27E4 87 +dep 27E5 52 +dep 27E6 45 +dep 27E7 53 +dep 27E8 4F +dep 27E9 4C +dep 27EA 56 +dep 27EB 45 +dep 27EC AE +dep 27ED 80 +dep 27EE 01 +dep 27EF A2 +dep 27F0 13 +dep 27F1 C8 +dep 27F2 01 +dep 27F3 A2 +dep 27F4 13 +dep 27F5 E1 +dep 27F6 01 +dep 27F7 4D +dep 27F8 13 +dep 27F9 C4 +dep 27FA A0 +dep 27FB 07 +dep 27FC A6 +dep 27FD 40 +dep 27FE AE +dep 27FF C0 +dep 2800 E6 +dep 2801 80 +dep 2802 AE +dep 2803 80 +dep 2804 EE +dep 2805 80 +dep 2806 00 +dep 2807 73 +dep 2808 01 +dep 2809 95 +dep 280A A0 +dep 280B 20 +dep 280C 00 +dep 280D 89 +dep 280E EF +dep 280F 00 +dep 2810 88 +dep 2811 0A +dep 2812 BE +dep 2813 60 +dep 2814 00 +dep 2815 73 +dep 2816 EE +dep 2817 00 +dep 2818 88 +dep 2819 0E +dep 281A BE +dep 281B 60 +dep 281C 00 +dep 281D 83 +dep 281E EE +dep 281F 00 +dep 2820 EE +dep 2821 00 +dep 2822 DE +dep 2823 00 +dep 2824 9F +dep 2825 FF +dep 2826 01 +dep 2827 65 +dep 2828 88 +dep 2829 16 +dep 282A BE +dep 282B 60 +dep 282C 00 +dep 282D 83 +dep 282E EE +dep 282F 00 +dep 2830 A0 +dep 2831 C0 +dep 2832 EE +dep 2833 00 +dep 2834 BF +dep 2835 60 +dep 2836 14 +dep 2837 06 +dep 2838 88 +dep 2839 2A +dep 283A 00 +dep 283B 71 +dep 283C EE +dep 283D 00 +dep 283E 88 +dep 283F 25 +dep 2840 01 +dep 2841 9C +dep 2842 DE +dep 2843 00 +dep 2844 A0 +dep 2845 20 +dep 2846 0A +dep 2847 79 +dep 2848 90 +dep 2849 29 +dep 284A D6 +dep 284B 80 +dep 284C 00 +dep 284D 20 +dep 284E AE +dep 284F 80 +dep 2850 EE +dep 2851 80 +dep 2852 90 +dep 2853 2D +dep 2854 DE +dep 2855 00 +dep 2856 A0 +dep 2857 20 +dep 2858 0A +dep 2859 79 +dep 285A A0 +dep 285B 20 +dep 285C 27 +dep 285D 5C +dep 285E 81 +dep 285F 5D +dep 2860 00 +dep 2861 61 +dep 2862 01 +dep 2863 95 +dep 2864 00 +dep 2865 73 +dep 2866 01 +dep 2867 95 +dep 2868 A0 +dep 2869 20 +dep 286A 27 +dep 286B 46 +dep 286C C1 +dep 286D 5B +dep 286E 00 +dep 286F 61 +dep 2870 01 +dep 2871 8F +dep 2872 A0 +dep 2873 20 +dep 2874 27 +dep 2875 E2 +dep 2876 81 +dep 2877 3A +dep 2878 0A +dep 2879 E0 +dep 287A 13 +dep 287B A8 +dep 287C BE +dep 287D 40 +dep 287E 00 +dep 287F 8D +dep 2880 EE +dep 2881 80 +dep 2882 BE +dep 2883 40 +dep 2884 00 +dep 2885 91 +dep 2886 EE +dep 2887 80 +dep 2888 14 +dep 2889 30 +dep 288A A0 +dep 288B 20 +dep 288C 28 +dep 288D 6A +dep 288E C1 +dep 288F 3B +dep 2890 06 +dep 2891 75 +dep 2892 14 +dep 2893 1B +dep 2894 00 +dep 2895 73 +dep 2896 01 +dep 2897 95 +dep 2898 00 +dep 2899 61 +dep 289A 01 +dep 289B 8F +dep 289C 00 +dep 289D 8D +dep 289E EE +dep 289F 00 +dep 28A0 88 +dep 28A1 5F +dep 28A2 04 +dep 28A3 C7 +dep 28A4 16 +dep 28A5 20 +dep 28A6 55 +dep 28A7 6E +dep 28A8 62 +dep 28A9 61 +dep 28AA 6C +dep 28AB 61 +dep 28AC 6E +dep 28AD 63 +dep 28AE 65 +dep 28AF 64 +dep 28B0 20 +dep 28B1 73 +dep 28B2 74 +dep 28B3 72 +dep 28B4 75 +dep 28B5 63 +dep 28B6 74 +dep 28B7 75 +dep 28B8 72 +dep 28B9 65 +dep 28BA 2E +dep 28BB 20 +dep 28BC 05 +dep 28BD 57 +dep 28BE 13 +dep 28BF B4 +dep 28C0 A0 +dep 28C1 20 +dep 28C2 28 +dep 28C3 5C +dep 28C4 C4 +dep 28C5 45 +dep 28C6 58 +dep 28C7 49 +dep 28C8 54 +dep 28C9 20 +dep 28CA 06 +dep 28CB 75 +dep 28CC 14 +dep 28CD 1B +dep 28CE A0 +dep 28CF 20 +dep 28D0 00 +dep 28D1 61 +dep 28D2 EE +dep 28D3 00 +dep 28D4 01 +dep 28D5 0A +dep 28D6 88 +dep 28D7 7E +dep 28D8 A0 +dep 28D9 C0 +dep 28DA 06 +dep 28DB B6 +dep 28DC 06 +dep 28DD 9A +dep 28DE FE +dep 28DF 00 +dep 28E0 D2 +dep 28E1 80 +dep 28E2 00 +dep 28E3 20 +dep 28E4 88 +dep 28E5 7A +dep 28E6 EE +dep 28E7 00 +dep 28E8 A0 +dep 28E9 C1 +dep 28EA 88 +dep 28EB 78 +dep 28EC D2 +dep 28ED 80 +dep 28EE FF +dep 28EF DF +dep 28F0 0A +dep 28F1 79 +dep 28F2 90 +dep 28F3 7D +dep 28F4 06 +dep 28F5 BB +dep 28F6 A0 +dep 28F7 06 +dep 28F8 0A +dep 28F9 79 +dep 28FA 90 +dep 28FB 7F +dep 28FC BE +dep 28FD 87 +dep 28FE A0 +dep 28FF 20 +dep 2900 27 +dep 2901 74 +dep 2902 89 +dep 2903 49 +dep 2904 4E +dep 2905 54 +dep 2906 45 +dep 2907 52 +dep 2908 50 +dep 2909 52 +dep 290A 45 +dep 290B 54 +dep 290C 00 +dep 290D ED +dep 290E 06 +dep 290F DF +dep 2910 A0 +dep 2911 C0 +dep 2912 FE +dep 2913 00 +dep 2914 00 +dep 2915 FF +dep 2916 88 +dep 2917 8D +dep 2918 AE +dep 2919 60 +dep 291A 00 +dep 291B 8B +dep 291C EE +dep 291D 00 +dep 291E 88 +dep 291F 9A +dep 2920 B8 +dep 2921 C1 +dep 2922 04 +dep 2923 C1 +dep 2924 04 +dep 2925 23 +dep 2926 45 +dep 2927 4E +dep 2928 44 +dep 2929 20 +dep 292A 04 +dep 292B AD +dep 292C 00 +dep 292D FF +dep 292E 00 +dep 292F 8B +dep 2930 EE +dep 2931 80 +dep 2932 90 +dep 2933 AF +dep 2934 07 +dep 2935 37 +dep 2936 01 +dep 2937 19 +dep 2938 88 +dep 2939 A5 +dep 293A 00 +dep 293B 61 +dep 293C EE +dep 293D 00 +dep 293E 88 +dep 293F A2 +dep 2940 14 +dep 2941 68 +dep 2942 90 +dep 2943 A4 +dep 2944 AE +dep 2945 40 +dep 2946 BE +dep 2947 87 +dep 2948 90 +dep 2949 AF +dep 294A 04 +dep 294B 39 +dep 294C 05 +dep 294D F9 +dep 294E A0 +dep 294F C0 +dep 2950 05 +dep 2951 6D +dep 2952 00 +dep 2953 61 +dep 2954 EE +dep 2955 00 +dep 2956 88 +dep 2957 AE +dep 2958 0B +dep 2959 42 +dep 295A 90 +dep 295B AF +dep 295C AE +dep 295D 40 +dep 295E 90 +dep 295F 86 +dep 2960 A0 +dep 2961 20 +dep 2962 28 +dep 2963 C2 +dep 2964 88 +dep 2965 45 +dep 2966 56 +dep 2967 41 +dep 2968 4C +dep 2969 55 +dep 296A 41 +dep 296B 54 +dep 296C 45 +dep 296D 20 +dep 296E 00 +dep 296F C6 +dep 2970 EE +dep 2971 00 +dep 2972 BE +dep 2973 81 +dep 2974 00 +dep 2975 9D +dep 2976 EE +dep 2977 00 +dep 2978 BE +dep 2979 81 +dep 297A 00 +dep 297B 9D +dep 297C EE +dep 297D 80 +dep 297E 00 +dep 297F C6 +dep 2980 EE +dep 2981 80 +dep 2982 00 +dep 2983 A2 +dep 2984 EE +dep 2985 00 +dep 2986 BE +dep 2987 81 +dep 2988 BE +dep 2989 40 +dep 298A 00 +dep 298B A2 +dep 298C EE +dep 298D 80 +dep 298E 14 +dep 298F 86 +dep 2990 BE +dep 2991 01 +dep 2992 00 +dep 2993 A2 +dep 2994 EE +dep 2995 80 +dep 2996 BE +dep 2997 01 +dep 2998 00 +dep 2999 9D +dep 299A EE +dep 299B 80 +dep 299C BE +dep 299D 01 +dep 299E 00 +dep 299F C6 +dep 29A0 EE +dep 29A1 A0 +dep 29A2 29 +dep 29A3 00 +dep 29A4 85 +dep 29A5 51 +dep 29A6 55 +dep 29A7 45 +dep 29A8 52 +dep 29A9 59 +dep 29AA 04 +dep 29AB 0D +dep 29AC DE +dep 29AD 00 +dep 29AE 00 +dep 29AF 50 +dep 29B0 07 +dep 29B1 95 +dep 29B2 BE +dep 29B3 40 +dep 29B4 00 +dep 29B5 A2 +dep 29B6 EE +dep 29B7 80 +dep 29B8 00 +dep 29B9 C0 +dep 29BA EE +dep 29BB 00 +dep 29BC 00 +dep 29BD 9D +dep 29BE EE +dep 29BF A0 +dep 29C0 06 +dep 29C1 64 +dep 29C2 00 +dep 29C3 61 +dep 29C4 EE +dep 29C5 00 +dep 29C6 00 +dep 29C7 FF +dep 29C8 88 +dep 29C9 E8 +dep 29CA 04 +dep 29CB C7 +dep 29CC 03 +dep 29CD 20 +dep 29CE 6F +dep 29CF 6B +dep 29D0 A0 +dep 29D1 20 +dep 29D2 29 +dep 29D3 A2 +dep 29D4 84 +dep 29D5 51 +dep 29D6 55 +dep 29D7 49 +dep 29D8 54 +dep 29D9 20 +dep 29DA BE +dep 29DB 40 +dep 29DC 00 +dep 29DD 61 +dep 29DE EE +dep 29DF 80 +dep 29E0 DE +dep 29E1 00 +dep 29E2 FF +dep 29E3 FE +dep 29E4 B8 +dep 29E5 89 +dep 29E6 D2 +dep 29E7 80 +dep 29E8 00 +dep 29E9 FF +dep 29EA BE +dep 29EB 89 +dep 29EC 03 +dep 29ED D6 +dep 29EE 06 +dep 29EF 5A +dep 29F0 01 +dep 29F1 19 +dep 29F2 88 +dep 29F3 FF +dep 29F4 BE +dep 29F5 40 +dep 29F6 05 +dep 29F7 4A +dep 29F8 04 +dep 29F9 C7 +dep 29FA 02 +dep 29FB 29 +dep 29FC 20 +dep 29FD 20 +dep 29FE 14 +dep 29FF D5 +dep 2A00 03 +dep 2A01 EC +dep 2A02 14 +dep 2A03 86 +dep 2A04 14 +dep 2A05 E0 +dep 2A06 90 +dep 2A07 F6 +dep 2A08 28 +dep 2A09 74 +dep 2A0A 89 +dep 2A0B 52 +dep 2A0C 45 +dep 2A0D 41 +dep 2A0E 44 +dep 2A0F 2D +dep 2A10 46 +dep 2A11 49 +dep 2A12 4C +dep 2A13 45 +dep 2A14 DE +dep 2A15 00 +dep 2A16 00 +dep 2A17 22 +dep 2A18 03 +dep 2A19 A6 +dep 2A1A 03 +dep 2A1B 6D +dep 2A1C 03 +dep 2A1D 7C +dep 2A1E 03 +dep 2A1F 74 +dep 2A20 01 +dep 2A21 82 +dep 2A22 03 +dep 2A23 85 +dep 2A24 A0 +dep 2A25 20 +dep 2A26 1B +dep 2A27 84 +dep 2A28 8A +dep 2A29 57 +dep 2A2A 52 +dep 2A2B 49 +dep 2A2C 54 +dep 2A2D 45 +dep 2A2E 2D +dep 2A2F 46 +dep 2A30 49 +dep 2A31 4C +dep 2A32 45 +dep 2A33 20 +dep 2A34 DE +dep 2A35 00 +dep 2A36 00 +dep 2A37 23 +dep 2A38 03 +dep 2A39 A6 +dep 2A3A 03 +dep 2A3B 6D +dep 2A3C A0 +dep 2A3D C0 +dep 2A3E 03 +dep 2A3F 7C +dep 2A40 03 +dep 2A41 96 +dep 2A42 03 +dep 2A43 74 +dep 2A44 A0 +dep 2A45 20 +dep 2A46 28 +dep 2A47 8C +dep 2A48 8A +dep 2A49 43 +dep 2A4A 4C +dep 2A4B 4F +dep 2A4C 53 +dep 2A4D 45 +dep 2A4E 2D +dep 2A4F 46 +dep 2A50 49 +dep 2A51 4C +dep 2A52 45 +dep 2A53 20 +dep 2A54 DE +dep 2A55 00 +dep 2A56 00 +dep 2A57 21 +dep 2A58 03 +dep 2A59 A6 +dep 2A5A 03 +dep 2A5B 6D +dep 2A5C A0 +dep 2A5D 20 +dep 2A5E 2A +dep 2A5F 46 +dep 2A60 89 +dep 2A61 53 +dep 2A62 45 +dep 2A63 45 +dep 2A64 4B +dep 2A65 2D +dep 2A66 46 +dep 2A67 49 +dep 2A68 4C +dep 2A69 45 +dep 2A6A DE +dep 2A6B 00 +dep 2A6C 00 +dep 2A6D 24 +dep 2A6E 03 +dep 2A6F A6 +dep 2A70 03 +dep 2A71 6D +dep 2A72 03 +dep 2A73 6D +dep 2A74 03 +dep 2A75 7C +dep 2A76 03 +dep 2A77 7C +dep 2A78 03 +dep 2A79 74 +dep 2A7A 03 +dep 2A7B 74 +dep 2A7C A0 +dep 2A7D 20 +dep 2A7E 1A +dep 2A7F E6 +dep 2A80 87 +dep 2A81 46 +dep 2A82 49 +dep 2A83 4C +dep 2A84 45 +dep 2A85 50 +dep 2A86 4F +dep 2A87 53 +dep 2A88 BE +dep 2A89 81 +dep 2A8A BE +dep 2A8B 40 +dep 2A8C BE +dep 2A8D 40 +dep 2A8E BE +dep 2A8F 41 +dep 2A90 BE +dep 2A91 01 +dep 2A92 15 +dep 2A93 35 +dep 2A94 A0 +dep 2A95 20 +dep 2A96 2A +dep 2A97 7E +dep 2A98 88 +dep 2A99 46 +dep 2A9A 49 +dep 2A9B 4C +dep 2A9C 45 +dep 2A9D 53 +dep 2A9E 49 +dep 2A9F 5A +dep 2AA0 45 +dep 2AA1 20 +dep 2AA2 BE +dep 2AA3 81 +dep 2AA4 BE +dep 2AA5 40 +dep 2AA6 BE +dep 2AA7 40 +dep 2AA8 BE +dep 2AA9 42 +dep 2AAA BE +dep 2AAB 01 +dep 2AAC 15 +dep 2AAD 35 +dep 2AAE A0 +dep 2AAF 20 +dep 2AB0 2A +dep 2AB1 26 +dep 2AB2 89 +dep 2AB3 4F +dep 2AB4 50 +dep 2AB5 45 +dep 2AB6 4E +dep 2AB7 2D +dep 2AB8 46 +dep 2AB9 49 +dep 2ABA 4C +dep 2ABB 45 +dep 2ABC DE +dep 2ABD 00 +dep 2ABE 00 +dep 2ABF 20 +dep 2AC0 03 +dep 2AC1 A6 +dep 2AC2 A0 +dep 2AC3 C0 +dep 2AC4 03 +dep 2AC5 7C +dep 2AC6 03 +dep 2AC7 96 +dep 2AC8 03 +dep 2AC9 67 +dep 2ACA A0 +dep 2ACB C0 +dep 2ACC 05 +dep 2ACD 6D +dep 2ACE A0 +dep 2ACF 20 +dep 2AD0 2A +dep 2AD1 5E +dep 2AD2 8B +dep 2AD3 43 +dep 2AD4 52 +dep 2AD5 45 +dep 2AD6 41 +dep 2AD7 54 +dep 2AD8 45 +dep 2AD9 2D +dep 2ADA 46 +dep 2ADB 49 +dep 2ADC 4C +dep 2ADD 45 +dep 2ADE DE +dep 2ADF 00 +dep 2AE0 00 +dep 2AE1 25 +dep 2AE2 03 +dep 2AE3 A6 +dep 2AE4 A0 +dep 2AE5 C0 +dep 2AE6 03 +dep 2AE7 7C +dep 2AE8 03 +dep 2AE9 96 +dep 2AEA 03 +dep 2AEB 67 +dep 2AEC A0 +dep 2AED C0 +dep 2AEE 05 +dep 2AEF 6D +dep 2AF0 A0 +dep 2AF1 20 +dep 2AF2 27 +dep 2AF3 02 +dep 2AF4 8B +dep 2AF5 44 +dep 2AF6 45 +dep 2AF7 4C +dep 2AF8 45 +dep 2AF9 54 +dep 2AFA 45 +dep 2AFB 2D +dep 2AFC 46 +dep 2AFD 49 +dep 2AFE 4C +dep 2AFF 45 +dep 2B00 DE +dep 2B01 00 +dep 2B02 00 +dep 2B03 26 +dep 2B04 03 +dep 2B05 A6 +dep 2B06 A0 +dep 2B07 C0 +dep 2B08 03 +dep 2B09 7C +dep 2B0A 03 +dep 2B0B 96 +dep 2B0C 03 +dep 2B0D 67 +dep 2B0E A0 +dep 2B0F C0 +dep 2B10 05 +dep 2B11 6D +dep 2B12 A0 +dep 2B13 20 +dep 2B14 2A +dep 2B15 08 +dep 2B16 89 +dep 2B17 52 +dep 2B18 45 +dep 2B19 41 +dep 2B1A 44 +dep 2B1B 2D +dep 2B1C 4C +dep 2B1D 49 +dep 2B1E 4E +dep 2B1F 45 +dep 2B20 DE +dep 2B21 00 +dep 2B22 00 +dep 2B23 2F +dep 2B24 03 +dep 2B25 A6 +dep 2B26 03 +dep 2B27 6D +dep 2B28 03 +dep 2B29 7C +dep 2B2A 03 +dep 2B2B 74 +dep 2B2C 03 +dep 2B2D 67 +dep 2B2E 89 +dep 2B2F 9C +dep 2B30 01 +dep 2B31 82 +dep 2B32 03 +dep 2B33 85 +dep 2B34 BF +dep 2B35 40 +dep 2B36 91 +dep 2B37 9F +dep 2B38 01 +dep 2B39 9C +dep 2B3A BE +dep 2B3B 40 +dep 2B3C BE +dep 2B3D 40 +dep 2B3E A0 +dep 2B3F 20 +dep 2B40 01 +dep 2B41 19 +dep 2B42 89 +dep 2B43 B0 +dep 2B44 BE +dep 2B45 40 +dep 2B46 AE +dep 2B47 80 +dep 2B48 BE +dep 2B49 81 +dep 2B4A BE +dep 2B4B 81 +dep 2B4C A0 +dep 2B4D C0 +dep 2B4E FE +dep 2B4F 00 +dep 2B50 DE +dep 2B51 00 +dep 2B52 00 +dep 2B53 20 +dep 2B54 03 +dep 2B55 3E +dep 2B56 AE +dep 2B57 C0 +dep 2B58 FE +dep 2B59 80 +dep 2B5A B8 +dep 2B5B C1 +dep 2B5C 00 +dep 2B5D 17 +dep 2B5E 2B +dep 2B5F 4C +dep 2B60 AE +dep 2B61 60 +dep 2B62 00 +dep 2B63 4A +dep 2B64 EE +dep 2B65 00 +dep 2B66 BE +dep 2B67 81 +dep 2B68 BE +dep 2B69 40 +dep 2B6A 00 +dep 2B6B 4A +dep 2B6C EE +dep 2B6D 80 +dep 2B6E 00 +dep 2B6F 81 +dep 2B70 EE +dep 2B71 00 +dep 2B72 BE +dep 2B73 81 +dep 2B74 00 +dep 2B75 81 +dep 2B76 EE +dep 2B77 80 +dep 2B78 BE +dep 2B79 41 +dep 2B7A 00 +dep 2B7B 4A +dep 2B7C 01 +dep 2B7D 5D +dep 2B7E 00 +dep 2B7F C8 +dep 2B80 A0 +dep 2B81 C0 +dep 2B82 DE +dep 2B83 00 +dep 2B84 00 +dep 2B85 84 +dep 2B86 00 +dep 2B87 81 +dep 2B88 EE +dep 2B89 00 +dep 2B8A 15 +dep 2B8B 90 +dep 2B8C 89 +dep 2B8D CB +dep 2B8E 01 +dep 2B8F A2 +dep 2B90 15 +dep 2B91 A0 +dep 2B92 14 +dep 2B93 B7 +dep 2B94 91 +dep 2B95 BC +dep 2B96 01 +dep 2B97 9C +dep 2B98 00 +dep 2B99 81 +dep 2B9A EE +dep 2B9B 00 +dep 2B9C 15 +dep 2B9D 2A +dep 2B9E BE +dep 2B9F 01 +dep 2BA0 00 +dep 2BA1 81 +dep 2BA2 EE +dep 2BA3 80 +dep 2BA4 BE +dep 2BA5 01 +dep 2BA6 00 +dep 2BA7 4A +dep 2BA8 EE +dep 2BA9 A0 +dep 2BAA 2A +dep 2BAB F2 +dep 2BAC 84 +dep 2BAD 4C +dep 2BAE 4F +dep 2BAF 41 +dep 2BB0 44 +dep 2BB1 20 +dep 2BB2 08 +dep 2BB3 9A +dep 2BB4 00 +dep 2BB5 CA +dep 2BB6 04 +dep 2BB7 39 +dep 2BB8 15 +dep 2BB9 5E +dep 2BBA A0 +dep 2BBB C0 +dep 2BBC 05 +dep 2BBD 6D +dep 2BBE 15 +dep 2BBF B1 +dep 2BC0 A0 +dep 2BC1 20 +dep 2BC2 2B +dep 2BC3 AA +dep 2BC4 83 +dep 2BC5 4C +dep 2BC6 45 +dep 2BC7 44 +dep 2BC8 01 +dep 2BC9 05 +dep 2BCA D2 +dep 2BCB 80 +dep 2BCC 80 +dep 2BCD 00 +dep 2BCE BE +dep 2BCF B8 +dep 2BD0 00 +dep 2BD1 7D +dep 2BD2 EE +dep 2BD3 00 +dep 2BD4 DE +dep 2BD5 00 +dep 2BD6 30 +dep 2BD7 39 +dep 2BD8 DE +dep 2BD9 00 +dep 2BDA 30 +dep 2BDB 3B +dep 2BDC 01 +dep 2BDD 77 +dep 2BDE A1 +dep 2BDF 00 +dep 2BE0 89 +dep 2BE1 F6 +dep 2BE2 DE +dep 2BE3 00 +dep 2BE4 30 +dep 2BE5 39 +dep 2BE6 00 +dep 2BE7 7D +dep 2BE8 EE +dep 2BE9 80 +dep 2BEA BF +dep 2BEB 60 +dep 2BEC BE +dep 2BED 40 +dep 2BEE 00 +dep 2BEF 7D +dep 2BF0 EE +dep 2BF1 00 +dep 2BF2 DE +dep 2BF3 00 +dep 2BF4 30 +dep 2BF5 39 +dep 2BF6 01 +dep 2BF7 0A +dep 2BF8 8A +dep 2BF9 08 +dep 2BFA BE +dep 2BFB 41 +dep 2BFC 00 +dep 2BFD 7D +dep 2BFE 01 +dep 2BFF 5D +dep 2C00 BF +dep 2C01 40 +dep 2C02 15 +dep 2C03 E4 +dep 2C04 BF +dep 2C05 40 +dep 2C06 00 +dep 2C07 7D +dep 2C08 01 +dep 2C09 5D +dep 2C0A BE +dep 2C0B 40 +dep 2C0C 15 +dep 2C0D E4 +dep 2C0E B4 +dep 2C0F C1 +dep 2C10 DE +dep 2C11 00 +dep 2C12 30 +dep 2C13 39 +dep 2C14 00 +dep 2C15 7D +dep 2C16 EE +dep 2C17 A0 +dep 2C18 03 +dep 2C19 D6 +dep 2C1A 04 +dep 2C1B C7 +dep 2C1C 45 +dep 2C1D 54 +dep 2C1E 68 +dep 2C1F 69 +dep 2C20 73 +dep 2C21 20 +dep 2C22 73 +dep 2C23 6F +dep 2C24 66 +dep 2C25 74 +dep 2C26 77 +dep 2C27 61 +dep 2C28 72 +dep 2C29 65 +dep 2C2A 20 +dep 2C2B 69 +dep 2C2C 73 +dep 2C2D 20 +dep 2C2E 70 +dep 2C2F 72 +dep 2C30 6F +dep 2C31 76 +dep 2C32 69 +dep 2C33 64 +dep 2C34 65 +dep 2C35 64 +dep 2C36 20 +dep 2C37 62 +dep 2C38 79 +dep 2C39 20 +dep 2C3A 48 +dep 2C3B 61 +dep 2C3C 72 +dep 2C3D 72 +dep 2C3E 69 +dep 2C3F 73 +dep 2C40 20 +dep 2C41 43 +dep 2C42 6F +dep 2C43 72 +dep 2C44 70 +dep 2C45 6F +dep 2C46 72 +dep 2C47 61 +dep 2C48 74 +dep 2C49 69 +dep 2C4A 6F +dep 2C4B 6E +dep 2C4C 2C +dep 2C4D 20 +dep 2C4E 53 +dep 2C4F 65 +dep 2C50 6D +dep 2C51 69 +dep 2C52 63 +dep 2C53 6F +dep 2C54 6E +dep 2C55 64 +dep 2C56 75 +dep 2C57 63 +dep 2C58 74 +dep 2C59 6F +dep 2C5A 72 +dep 2C5B 20 +dep 2C5C 53 +dep 2C5D 65 +dep 2C5E 63 +dep 2C5F 74 +dep 2C60 6F +dep 2C61 72 +dep 2C62 03 +dep 2C63 D6 +dep 2C64 04 +dep 2C65 C7 +dep 2C66 46 +dep 2C67 61 +dep 2C68 73 +dep 2C69 20 +dep 2C6A 61 +dep 2C6B 20 +dep 2C6C 63 +dep 2C6D 6F +dep 2C6E 75 +dep 2C6F 72 +dep 2C70 74 +dep 2C71 65 +dep 2C72 73 +dep 2C73 79 +dep 2C74 20 +dep 2C75 74 +dep 2C76 6F +dep 2C77 20 +dep 2C78 69 +dep 2C79 74 +dep 2C7A 73 +dep 2C7B 20 +dep 2C7C 63 +dep 2C7D 75 +dep 2C7E 73 +dep 2C7F 74 +dep 2C80 6F +dep 2C81 6D +dep 2C82 65 +dep 2C83 72 +dep 2C84 73 +dep 2C85 20 +dep 2C86 66 +dep 2C87 72 +dep 2C88 65 +dep 2C89 65 +dep 2C8A 20 +dep 2C8B 6F +dep 2C8C 66 +dep 2C8D 20 +dep 2C8E 63 +dep 2C8F 68 +dep 2C90 61 +dep 2C91 72 +dep 2C92 67 +dep 2C93 65 +dep 2C94 2E +dep 2C95 20 +dep 2C96 20 +dep 2C97 54 +dep 2C98 68 +dep 2C99 65 +dep 2C9A 20 +dep 2C9B 70 +dep 2C9C 72 +dep 2C9D 6F +dep 2C9E 67 +dep 2C9F 72 +dep 2CA0 61 +dep 2CA1 6D +dep 2CA2 73 +dep 2CA3 20 +dep 2CA4 61 +dep 2CA5 6E +dep 2CA6 64 +dep 2CA7 20 +dep 2CA8 6F +dep 2CA9 74 +dep 2CAA 68 +dep 2CAB 65 +dep 2CAC 72 +dep 2CAD 20 +dep 2CAE 03 +dep 2CAF D6 +dep 2CB0 04 +dep 2CB1 C7 +dep 2CB2 45 +dep 2CB3 63 +dep 2CB4 6F +dep 2CB5 6E +dep 2CB6 74 +dep 2CB7 65 +dep 2CB8 6E +dep 2CB9 74 +dep 2CBA 73 +dep 2CBB 20 +dep 2CBC 6F +dep 2CBD 66 +dep 2CBE 20 +dep 2CBF 74 +dep 2CC0 68 +dep 2CC1 65 +dep 2CC2 20 +dep 2CC3 64 +dep 2CC4 69 +dep 2CC5 73 +dep 2CC6 6B +dep 2CC7 20 +dep 2CC8 61 +dep 2CC9 72 +dep 2CCA 65 +dep 2CCB 20 +dep 2CCC 6E +dep 2CCD 6F +dep 2CCE 74 +dep 2CCF 20 +dep 2CD0 72 +dep 2CD1 65 +dep 2CD2 6C +dep 2CD3 65 +dep 2CD4 61 +dep 2CD5 73 +dep 2CD6 65 +dep 2CD7 64 +dep 2CD8 20 +dep 2CD9 70 +dep 2CDA 72 +dep 2CDB 6F +dep 2CDC 64 +dep 2CDD 75 +dep 2CDE 63 +dep 2CDF 74 +dep 2CE0 73 +dep 2CE1 2C +dep 2CE2 20 +dep 2CE3 61 +dep 2CE4 6E +dep 2CE5 64 +dep 2CE6 20 +dep 2CE7 74 +dep 2CE8 68 +dep 2CE9 65 +dep 2CEA 72 +dep 2CEB 65 +dep 2CEC 66 +dep 2CED 6F +dep 2CEE 72 +dep 2CEF 65 +dep 2CF0 20 +dep 2CF1 61 +dep 2CF2 72 +dep 2CF3 65 +dep 2CF4 20 +dep 2CF5 6E +dep 2CF6 6F +dep 2CF7 74 +dep 2CF8 03 +dep 2CF9 D6 +dep 2CFA 04 +dep 2CFB C7 +dep 2CFC 44 +dep 2CFD 73 +dep 2CFE 75 +dep 2CFF 70 +dep 2D00 70 +dep 2D01 6F +dep 2D02 72 +dep 2D03 74 +dep 2D04 65 +dep 2D05 64 +dep 2D06 20 +dep 2D07 62 +dep 2D08 79 +dep 2D09 20 +dep 2D0A 48 +dep 2D0B 61 +dep 2D0C 72 +dep 2D0D 72 +dep 2D0E 69 +dep 2D0F 73 +dep 2D10 20 +dep 2D11 43 +dep 2D12 6F +dep 2D13 72 +dep 2D14 70 +dep 2D15 6F +dep 2D16 72 +dep 2D17 61 +dep 2D18 74 +dep 2D19 69 +dep 2D1A 6F +dep 2D1B 6E +dep 2D1C 20 +dep 2D1D 61 +dep 2D1E 6E +dep 2D1F 64 +dep 2D20 20 +dep 2D21 6E +dep 2D22 6F +dep 2D23 20 +dep 2D24 77 +dep 2D25 61 +dep 2D26 72 +dep 2D27 72 +dep 2D28 61 +dep 2D29 6E +dep 2D2A 74 +dep 2D2B 79 +dep 2D2C 20 +dep 2D2D 6F +dep 2D2E 66 +dep 2D2F 20 +dep 2D30 61 +dep 2D31 6E +dep 2D32 79 +dep 2D33 20 +dep 2D34 6B +dep 2D35 69 +dep 2D36 6E +dep 2D37 64 +dep 2D38 20 +dep 2D39 61 +dep 2D3A 70 +dep 2D3B 70 +dep 2D3C 6C +dep 2D3D 69 +dep 2D3E 65 +dep 2D3F 73 +dep 2D40 2E +dep 2D41 20 +dep 2D42 03 +dep 2D43 D6 +dep 2D44 04 +dep 2D45 C7 +dep 2D46 41 +dep 2D47 41 +dep 2D48 6E +dep 2D49 79 +dep 2D4A 20 +dep 2D4B 6C +dep 2D4C 69 +dep 2D4D 61 +dep 2D4E 62 +dep 2D4F 69 +dep 2D50 6C +dep 2D51 69 +dep 2D52 74 +dep 2D53 79 +dep 2D54 20 +dep 2D55 72 +dep 2D56 65 +dep 2D57 73 +dep 2D58 75 +dep 2D59 6C +dep 2D5A 74 +dep 2D5B 69 +dep 2D5C 6E +dep 2D5D 67 +dep 2D5E 20 +dep 2D5F 66 +dep 2D60 72 +dep 2D61 6F +dep 2D62 6D +dep 2D63 20 +dep 2D64 75 +dep 2D65 73 +dep 2D66 65 +dep 2D67 20 +dep 2D68 6F +dep 2D69 66 +dep 2D6A 20 +dep 2D6B 74 +dep 2D6C 68 +dep 2D6D 69 +dep 2D6E 73 +dep 2D6F 20 +dep 2D70 73 +dep 2D71 6F +dep 2D72 66 +dep 2D73 74 +dep 2D74 77 +dep 2D75 61 +dep 2D76 72 +dep 2D77 65 +dep 2D78 20 +dep 2D79 69 +dep 2D7A 73 +dep 2D7B 20 +dep 2D7C 73 +dep 2D7D 70 +dep 2D7E 65 +dep 2D7F 63 +dep 2D80 69 +dep 2D81 66 +dep 2D82 69 +dep 2D83 63 +dep 2D84 61 +dep 2D85 6C +dep 2D86 6C +dep 2D87 79 +dep 2D88 03 +dep 2D89 D6 +dep 2D8A 04 +dep 2D8B C7 +dep 2D8C 21 +dep 2D8D 64 +dep 2D8E 69 +dep 2D8F 73 +dep 2D90 63 +dep 2D91 6C +dep 2D92 61 +dep 2D93 69 +dep 2D94 6D +dep 2D95 65 +dep 2D96 64 +dep 2D97 20 +dep 2D98 62 +dep 2D99 79 +dep 2D9A 20 +dep 2D9B 48 +dep 2D9C 61 +dep 2D9D 72 +dep 2D9E 72 +dep 2D9F 69 +dep 2DA0 73 +dep 2DA1 20 +dep 2DA2 43 +dep 2DA3 6F +dep 2DA4 72 +dep 2DA5 70 +dep 2DA6 6F +dep 2DA7 72 +dep 2DA8 61 +dep 2DA9 74 +dep 2DAA 69 +dep 2DAB 6F +dep 2DAC 6E +dep 2DAD 2E +dep 2DAE 03 +dep 2DAF D6 +dep 2DB0 A0 +dep 2DB1 20 +dep 2DB2 03 +dep 2DB3 D6 +dep 2DB4 04 +dep 2DB5 C7 +dep 2DB6 10 +dep 2DB7 41 +dep 2DB8 70 +dep 2DB9 70 +dep 2DBA 46 +dep 2DBB 6F +dep 2DBC 72 +dep 2DBD 74 +dep 2DBE 68 +dep 2DBF 20 +dep 2DC0 20 +dep 2DC1 76 +dep 2DC2 31 +dep 2DC3 2E +dep 2DC4 31 +dep 2DC5 62 +dep 2DC6 20 +dep 2DC7 20 +dep 2DC8 04 +dep 2DC9 C7 +dep 2DCA 0E +dep 2DCB 37 +dep 2DCC 2F +dep 2DCD 33 +dep 2DCE 31 +dep 2DCF 2F +dep 2DD0 39 +dep 2DD1 30 +dep 2DD2 20 +dep 2DD3 20 +dep 2DD4 31 +dep 2DD5 33 +dep 2DD6 3A +dep 2DD7 33 +dep 2DD8 30 +dep 2DD9 20 +dep 2DDA A0 +dep 2DDB 20 +dep 2DDC 2A +dep 2DDD D0 +dep 2DDE 89 +dep 2DDF 43 +dep 2DE0 4F +dep 2DE1 50 +dep 2DE2 59 +dep 2DE3 52 +dep 2DE4 49 +dep 2DE5 47 +dep 2DE6 48 +dep 2DE7 54 +dep 2DE8 03 +dep 2DE9 D6 +dep 2DEA 03 +dep 2DEB D6 +dep 2DEC 04 +dep 2DED C7 +dep 2DEE 21 +dep 2DEF 43 +dep 2DF0 4F +dep 2DF1 50 +dep 2DF2 59 +dep 2DF3 52 +dep 2DF4 49 +dep 2DF5 47 +dep 2DF6 48 +dep 2DF7 54 +dep 2DF8 20 +dep 2DF9 31 +dep 2DFA 39 +dep 2DFB 39 +dep 2DFC 30 +dep 2DFD 20 +dep 2DFE 48 +dep 2DFF 41 +dep 2E00 52 +dep 2E01 52 +dep 2E02 49 +dep 2E03 53 +dep 2E04 20 +dep 2E05 43 +dep 2E06 4F +dep 2E07 52 +dep 2E08 50 +dep 2E09 4F +dep 2E0A 52 +dep 2E0B 41 +dep 2E0C 54 +dep 2E0D 49 +dep 2E0E 4F +dep 2E0F 4E +dep 2E10 03 +dep 2E11 D6 +dep 2E12 04 +dep 2E13 C7 +dep 2E14 13 +dep 2E15 41 +dep 2E16 4C +dep 2E17 4C +dep 2E18 20 +dep 2E19 52 +dep 2E1A 49 +dep 2E1B 47 +dep 2E1C 48 +dep 2E1D 54 +dep 2E1E 53 +dep 2E1F 20 +dep 2E20 52 +dep 2E21 45 +dep 2E22 53 +dep 2E23 45 +dep 2E24 52 +dep 2E25 56 +dep 2E26 45 +dep 2E27 44 +dep 2E28 03 +dep 2E29 D6 +dep 2E2A A0 +dep 2E2B 20 +dep 2E2C 2D +dep 2E2D DC +dep 2E2E 89 +dep 2E2F 73 +dep 2E30 79 +dep 2E31 73 +dep 2E32 2D +dep 2E33 61 +dep 2E34 62 +dep 2E35 6F +dep 2E36 72 +dep 2E37 74 +dep 2E38 DE +dep 2E39 00 +dep 2E3A FF +dep 2E3B 00 +dep 2E3C B8 +dep 2E3D 89 +dep 2E3E D2 +dep 2E3F 80 +dep 2E40 FF +dep 2E41 00 +dep 2E42 BE +dep 2E43 89 +dep 2E44 BE +dep 2E45 40 +dep 2E46 00 +dep 2E47 4A +dep 2E48 EE +dep 2E49 00 +dep 2E4A 01 +dep 2E4B 19 +dep 2E4C 89 +dep 2E4D 3E +dep 2E4E 04 +dep 2E4F C7 +dep 2E50 13 +dep 2E51 20 +dep 2E52 2E +dep 2E53 2E +dep 2E54 2E +dep 2E55 20 +dep 2E56 65 +dep 2E57 72 +dep 2E58 72 +dep 2E59 6F +dep 2E5A 72 +dep 2E5B 20 +dep 2E5C 61 +dep 2E5D 74 +dep 2E5E 20 +dep 2E5F 6C +dep 2E60 69 +dep 2E61 6E +dep 2E62 65 +dep 2E63 20 +dep 2E64 00 +dep 2E65 79 +dep 2E66 EE +dep 2E67 00 +dep 2E68 04 +dep 2E69 24 +dep 2E6A AE +dep 2E6B 80 +dep 2E6C 05 +dep 2E6D 33 +dep 2E6E 00 +dep 2E6F 79 +dep 2E70 EE +dep 2E71 80 +dep 2E72 00 +dep 2E73 81 +dep 2E74 EE +dep 2E75 00 +dep 2E76 15 +dep 2E77 2A +dep 2E78 00 +dep 2E79 4A +dep 2E7A 01 +dep 2E7B 8F +dep 2E7C 00 +dep 2E7D C6 +dep 2E7E B8 +dep 2E7F C2 +dep 2E80 00 +dep 2E81 C6 +dep 2E82 EE +dep 2E83 80 +dep 2E84 00 +dep 2E85 6F +dep 2E86 EE +dep 2E87 00 +dep 2E88 BE +dep 2E89 87 +dep 2E8A A0 +dep 2E8B 20 +dep 2E8C 2B +dep 2E8D 14 +dep 2E8E 83 +dep 2E8F 52 +dep 2E90 4F +dep 2E91 4D +dep 2E92 BE +dep 2E93 27 +dep 2E94 00 +dep 2E95 0A +dep 2E96 00 +dep 2E97 01 +dep 2E98 00 +dep 2E99 00 +dep 2E9A 29 +dep 2E9B DA +dep 2E9C 2E +dep 2E9D 38 +dep 2E9E 15 +dep 2E9F 62 +dep 2EA0 06 +dep 2EA1 DA +dep 2EA2 06 +dep 2EA3 CE +dep 2EA4 06 +dep 2EA5 C6 +dep 2EA6 06 +dep 2EA7 BC +dep 2EA8 00 +dep 2EA9 00 +dep 2EAA 00 +dep 2EAB 00 +dep 2EAC 17 +dep 2EAD 98 +dep 2EAE 80 +dep 2EAF 00 +dep 2EB0 00 +dep 2EB1 00 +dep 2EB2 2E +dep 2EB3 8C +dep 2EB4 85 +dep 2EB5 52 +dep 2EB6 45 +dep 2EB7 53 +dep 2EB8 45 +dep 2EB9 54 +dep 2EBA 15 +dep 2EBB E8 +dep 2EBC 89 +dep 2EBD 6B +dep 2EBE 0B +dep 2EBF CE +dep 2EC0 17 +dep 2EC1 49 +dep 2EC2 00 +dep 2EC3 79 +dep 2EC4 BE +dep 2EC5 5E +dep 2EC6 02 +dep 2EC7 42 +dep 2EC8 00 +dep 2EC9 50 +dep 2ECA EE +dep 2ECB 00 +dep 2ECC 00 +dep 2ECD B4 +dep 2ECE EE +dep 2ECF 80 +dep 2ED0 BE +dep 2ED1 41 +dep 2ED2 BE +dep 2ED3 81 +dep 2ED4 91 +dep 2ED5 6D +dep 2ED6 BE +dep 2ED7 40 +dep 2ED8 BE +dep 2ED9 81 +dep 2EDA 00 +dep 2EDB DA +dep 2EDC DE +dep 2EDD 00 +dep 2EDE 02 +dep 2EDF 20 +dep 2EE0 02 +dep 2EE1 77 +dep 2EE2 0C +dep 2EE3 D0 +dep 2EE4 0D +dep 2EE5 03 +dep 2EE6 03 +dep 2EE7 59 +dep 2EE8 0D +dep 2EE9 70 +dep 2EEA BE +dep 2EEB 40 +dep 2EEC 00 +dep 2EED 8B +dep 2EEE EE +dep 2EEF 80 +dep 2EF0 16 +dep 2EF1 D9 +dep 2EF2 16 +dep 2EF3 F4 +dep 2EF4 BE +dep 2EF5 01 +dep 2EF6 89 +dep 2EF7 7D +dep 2EF8 16 +dep 2EF9 0C +dep 2EFA 05 +dep 2EFB 57 +dep 2EFC 2E +dep 2EFD 2C +dep 2EFE 88 +dep 2EFF 43 +dep 2F00 4F +dep 2F01 4E +dep 2F02 53 +dep 2F03 54 +dep 2F04 41 +dep 2F05 4E +dep 2F06 54 +dep 2F07 20 +dep 2F08 0A +dep 2F09 E0 +dep 2F0A DE +dep 2F0B 00 +dep 2F0C DE +dep 2F0D 20 +dep 2F0E 0A +dep 2F0F 79 +dep 2F10 0A +dep 2F11 79 +dep 2F12 A0 +dep 2F13 20 +dep 2F14 2B +dep 2F15 C2 +dep 2F16 89 +dep 2F17 44 +dep 2F18 43 +dep 2F19 4F +dep 2F1A 4E +dep 2F1B 53 +dep 2F1C 54 +dep 2F1D 41 +dep 2F1E 4E +dep 2F1F 54 +dep 2F20 0A +dep 2F21 E0 +dep 2F22 AE +dep 2F23 80 +dep 2F24 0B +dep 2F25 1F +dep 2F26 0B +dep 2F27 1F +dep 2F28 14 +dep 2F29 1B +dep 2F2A A0 +dep 2F2B 20 +dep 2F2C 2A +dep 2F2D 96 +dep 2F2E 88 +dep 2F2F 56 +dep 2F30 41 +dep 2F31 52 +dep 2F32 49 +dep 2F33 41 +dep 2F34 42 +dep 2F35 4C +dep 2F36 45 +dep 2F37 20 +dep 2F38 0A +dep 2F39 E9 +dep 2F3A BE +dep 2F3B 40 +dep 2F3C 0A +dep 2F3D 79 +dep 2F3E A0 +dep 2F3F 20 +dep 2F40 2F +dep 2F41 14 +dep 2F42 89 +dep 2F43 44 +dep 2F44 56 +dep 2F45 41 +dep 2F46 52 +dep 2F47 49 +dep 2F48 41 +dep 2F49 42 +dep 2F4A 4C +dep 2F4B 45 +dep 2F4C 0A +dep 2F4D E9 +dep 2F4E BE +dep 2F4F 40 +dep 2F50 0A +dep 2F51 79 +dep 2F52 BE +dep 2F53 40 +dep 2F54 0A +dep 2F55 79 +dep 2F56 A0 +dep 2F57 20 +dep 2F58 2F +dep 2F59 2C +dep 2F5A C2 +dep 2F5B 2E +dep 2F5C 28 +dep 2F5D 20 +dep 2F5E DE +dep 2F5F 00 +dep 2F60 00 +dep 2F61 29 +dep 2F62 06 +dep 2F63 DF +dep 2F64 04 +dep 2F65 39 +dep 2F66 03 +dep 2F67 E1 +dep 2F68 A0 +dep 2F69 20 +dep 2F6A 2E +dep 2F6B B2 +dep 2F6C 81 +dep 2F6D 4A +dep 2F6E BE +dep 2F6F 01 +dep 2F70 BE +dep 2F71 01 +dep 2F72 BE +dep 2F73 01 +dep 2F74 BE +dep 2F75 00 +dep 2F76 AE +dep 2F77 80 +dep 2F78 BE +dep 2F79 81 +dep 2F7A AE +dep 2F7B 80 +dep 2F7C BE +dep 2F7D 81 +dep 2F7E AE +dep 2F7F 80 +dep 2F80 BE +dep 2F81 A7 +dep 2F82 1B +dep 2F83 BC +dep 2F84 C1 +dep 2F85 28 +dep 2F86 DE +dep 2F87 00 +dep 2F88 00 +dep 2F89 29 +dep 2F8A 06 +dep 2F8B DF +dep 2F8C AE +dep 2F8D 60 +dep 2F8E 2F +dep 2F8F 40 +dep 2F90 C1 +dep 2F91 5C +dep 2F92 00 +dep 2F93 9D +dep 2F94 EE +dep 2F95 00 +dep 2F96 00 +dep 2F97 A2 +dep 2F98 EE +dep 2F99 A0 +dep 2F9A 2E +dep 2F9B FC +dep 2F9C C3 +dep 2F9D 23 +dep 2F9E 49 +dep 2F9F 46 +dep 2FA0 00 +dep 2FA1 FF +dep 2FA2 00 +dep 2FA3 8B +dep 2FA4 EE +dep 2FA5 A0 +dep 2FA6 2F +dep 2FA7 9A +dep 2FA8 C4 +dep 2FA9 23 +dep 2FAA 45 +dep 2FAB 4E +dep 2FAC 44 +dep 2FAD 20 +dep 2FAE A0 +dep 2FAF 20 +dep 2FB0 2F +dep 2FB1 A6 +dep 2FB2 C8 +dep 2FB3 23 +dep 2FB4 43 +dep 2FB5 4F +dep 2FB6 4D +dep 2FB7 4D +dep 2FB8 45 +dep 2FB9 4E +dep 2FBA 54 +dep 2FBB 20 +dep 2FBC BF +dep 2FBD 40 +dep 2FBE 00 +dep 2FBF 8B +dep 2FC0 EE +dep 2FC1 A0 +dep 2FC2 14 +dep 2FC3 06 +dep 2FC4 89 +dep 2FC5 FB +dep 2FC6 A0 +dep 2FC7 C0 +dep 2FC8 D2 +dep 2FC9 80 +dep 2FCA 0F +dep 2FCB 00 +dep 2FCC A0 +dep 2FCD C0 +dep 2FCE BE +dep 2FCF 40 +dep 2FD0 01 +dep 2FD1 0A +dep 2FD2 AE +dep 2FD3 80 +dep 2FD4 DE +dep 2FD5 00 +dep 2FD6 0E +dep 2FD7 00 +dep 2FD8 01 +dep 2FD9 0A +dep 2FDA A6 +dep 2FDB 40 +dep 2FDC AE +dep 2FDD C0 +dep 2FDE D2 +dep 2FDF 80 +dep 2FE0 F0 +dep 2FE1 10 +dep 2FE2 DE +dep 2FE3 00 +dep 2FE4 A0 +dep 2FE5 10 +dep 2FE6 01 +dep 2FE7 11 +dep 2FE8 A2 +dep 2FE9 40 +dep 2FEA 89 +dep 2FEB F8 +dep 2FEC BF +dep 2FED 40 +dep 2FEE 91 +dep 2FEF FA +dep 2FF0 01 +dep 2FF1 9C +dep 2FF2 BE +dep 2FF3 40 +dep 2FF4 91 +dep 2FF5 FC +dep 2FF6 BE +dep 2FF7 40 +dep 2FF8 8A +dep 2FF9 02 +dep 2FFA D6 +dep 2FFB 80 +dep 2FFC 01 +dep 2FFD 00 +dep 2FFE AE +dep 2FFF 80 +dep 3000 EE +dep 3001 80 +dep 3002 90 +dep 3003 05 +dep 3004 DE +dep 3005 00 +dep 3006 A1 +dep 3007 00 +dep 3008 0A +dep 3009 79 +dep 300A A0 +dep 300B 20 +dep 300C 2F +dep 300D 58 +dep 300E C3 +dep 300F 4E +dep 3010 4F +dep 3011 54 +dep 3012 00 +dep 3013 61 +dep 3014 EE +dep 3015 00 +dep 3016 88 +dep 3017 0E +dep 3018 17 +dep 3019 E1 +dep 301A 90 +dep 301B 0F +dep 301C A1 +dep 301D 00 +dep 301E A0 +dep 301F 20 +dep 3020 14 +dep 3021 06 +dep 3022 88 +dep 3023 1E +dep 3024 A0 +dep 3025 C0 +dep 3026 D2 +dep 3027 80 +dep 3028 F0 +dep 3029 1F +dep 302A DE +dep 302B 00 +dep 302C A0 +dep 302D 00 +dep 302E 01 +dep 302F 0A +dep 3030 88 +dep 3031 1B +dep 3032 BF +dep 3033 40 +dep 3034 90 +dep 3035 1D +dep 3036 01 +dep 3037 9C +dep 3038 BE +dep 3039 40 +dep 303A 90 +dep 303B 1F +dep 303C BE +dep 303D 40 +dep 303E 88 +dep 303F 25 +dep 3040 01 +dep 3041 4D +dep 3042 A6 +dep 3043 40 +dep 3044 AE +dep 3045 80 +dep 3046 EE +dep 3047 80 +dep 3048 90 +dep 3049 28 +dep 304A D6 +dep 304B 80 +dep 304C A0 +dep 304D 00 +dep 304E 0A +dep 304F 79 +dep 3050 A0 +dep 3051 20 +dep 3052 AE +dep 3053 C0 +dep 3054 A2 +dep 3055 40 +dep 3056 DE +dep 3057 00 +dep 3058 0E +dep 3059 00 +dep 305A 01 +dep 305B 0A +dep 305C 88 +dep 305D 39 +dep 305E D2 +dep 305F 80 +dep 3060 F0 +dep 3061 FF +dep 3062 D6 +dep 3063 80 +dep 3064 00 +dep 3065 80 +dep 3066 01 +dep 3067 4D +dep 3068 A6 +dep 3069 40 +dep 306A AE +dep 306B 80 +dep 306C EE +dep 306D 80 +dep 306E BF +dep 306F 40 +dep 3070 90 +dep 3071 3B +dep 3072 01 +dep 3073 9C +dep 3074 BE +dep 3075 40 +dep 3076 A0 +dep 3077 20 +dep 3078 DE +dep 3079 00 +dep 307A 0F +dep 307B 80 +dep 307C 18 +dep 307D 29 +dep 307E A0 +dep 307F 20 +dep 3080 DE +dep 3081 00 +dep 3082 0F +dep 3083 C0 +dep 3084 18 +dep 3085 29 +dep 3086 A0 +dep 3087 20 +dep 3088 A0 +dep 3089 C0 +dep 308A BE +dep 308B 81 +dep 308C BE +dep 308D 00 +dep 308E DE +dep 308F 00 +dep 3090 04 +dep 3091 00 +dep 3092 01 +dep 3093 0A +dep 3094 BE +dep 3095 00 +dep 3096 DE +dep 3097 00 +dep 3098 05 +dep 3099 00 +dep 309A 01 +dep 309B 0A +dep 309C BE +dep 309D 00 +dep 309E DE +dep 309F 00 +dep 30A0 0C +dep 30A1 00 +dep 30A2 01 +dep 30A3 0A +dep 30A4 BE +dep 30A5 01 +dep 30A6 DE +dep 30A7 00 +dep 30A8 0D +dep 30A9 00 +dep 30AA 01 +dep 30AB 0A +dep 30AC A6 +dep 30AD 40 +dep 30AE A6 +dep 30AF 40 +dep 30B0 A6 +dep 30B1 40 +dep 30B2 88 +dep 30B3 5C +dep 30B4 DA +dep 30B5 80 +dep 30B6 08 +dep 30B7 00 +dep 30B8 A0 +dep 30B9 20 +dep 30BA 14 +dep 30BB 06 +dep 30BC 88 +dep 30BD 8F +dep 30BE A0 +dep 30BF C0 +dep 30C0 DE +dep 30C1 00 +dep 30C2 FF +dep 30C3 F4 +dep 30C4 0A +dep 30C5 F2 +dep 30C6 A0 +dep 30C7 C0 +dep 30C8 BE +dep 30C9 4A +dep 30CA 01 +dep 30CB 0A +dep 30CC 88 +dep 30CD 6B +dep 30CE 01 +dep 30CF 9C +dep 30D0 AE +dep 30D1 40 +dep 30D2 BE +dep 30D3 40 +dep 30D4 90 +dep 30D5 8E +dep 30D6 A0 +dep 30D7 C0 +dep 30D8 BE +dep 30D9 4B +dep 30DA 01 +dep 30DB 0A +dep 30DC 88 +dep 30DD 72 +dep 30DE AE +dep 30DF 40 +dep 30E0 18 +dep 30E1 3C +dep 30E2 90 +dep 30E3 8E +dep 30E4 A0 +dep 30E5 C0 +dep 30E6 BE +dep 30E7 4C +dep 30E8 01 +dep 30E9 0A +dep 30EA 88 +dep 30EB 79 +dep 30EC AE +dep 30ED 40 +dep 30EE 18 +dep 30EF 40 +dep 30F0 90 +dep 30F1 8E +dep 30F2 A0 +dep 30F3 C0 +dep 30F4 BE +dep 30F5 4D +dep 30F6 01 +dep 30F7 0A +dep 30F8 88 +dep 30F9 80 +dep 30FA AE +dep 30FB 40 +dep 30FC 18 +dep 30FD 3C +dep 30FE 90 +dep 30FF 8E +dep 3100 A0 +dep 3101 C0 +dep 3102 BE +dep 3103 4E +dep 3104 01 +dep 3105 0A +dep 3106 88 +dep 3107 87 +dep 3108 AE +dep 3109 40 +dep 310A 18 +dep 310B 40 +dep 310C 90 +dep 310D 8E +dep 310E BE +dep 310F 4F +dep 3110 01 +dep 3111 0A +dep 3112 88 +dep 3113 8C +dep 3114 18 +dep 3115 40 +dep 3116 90 +dep 3117 8E +dep 3118 01 +dep 3119 9C +dep 311A BE +dep 311B 40 +dep 311C 90 +dep 311D 90 +dep 311E BE +dep 311F 40 +dep 3120 00 +dep 3121 FF +dep 3122 88 +dep 3123 96 +dep 3124 18 +dep 3125 44 +dep 3126 D6 +dep 3127 80 +dep 3128 A0 +dep 3129 40 +dep 312A 0A +dep 312B 79 +dep 312C A0 +dep 312D 20 +dep 312E 0A +dep 312F E9 +dep 3130 13 +dep 3131 9E +dep 3132 A0 +dep 3133 20 +dep 3134 2F +dep 3135 8E +dep 3136 87 +dep 3137 3C +dep 3138 53 +dep 3139 48 +dep 313A 49 +dep 313B 46 +dep 313C 54 +dep 313D 3E +dep 313E D6 +dep 313F 80 +dep 3140 A0 +dep 3141 00 +dep 3142 0A +dep 3143 79 +dep 3144 DE +dep 3145 00 +dep 3146 A0 +dep 3147 20 +dep 3148 0A +dep 3149 79 +dep 314A A0 +dep 314B 20 +dep 314C 31 +dep 314D 34 +dep 314E 85 +dep 314F 3C +dep 3150 41 +dep 3151 4C +dep 3152 55 +dep 3153 3E +dep 3154 18 +dep 3155 44 +dep 3156 D6 +dep 3157 80 +dep 3158 A0 +dep 3159 40 +dep 315A 0A +dep 315B 79 +dep 315C DE +dep 315D 00 +dep 315E A0 +dep 315F 20 +dep 3160 0A +dep 3161 79 +dep 3162 A0 +dep 3163 20 +dep 3164 29 +dep 3165 D2 +dep 3166 A1 +dep 3167 21 +dep 3168 EE +dep 3169 A0 +dep 316A 29 +dep 316B 62 +dep 316C A2 +dep 316D 2D +dep 316E 31 +dep 316F 20 +dep 3170 BF +dep 3171 60 +dep 3172 31 +dep 3173 4C +dep 3174 A4 +dep 3175 54 +dep 3176 52 +dep 3177 55 +dep 3178 45 +dep 3179 20 +dep 317A BF +dep 317B 60 +dep 317C 2F +dep 317D 82 +dep 317E A1 +dep 317F 30 +dep 3180 BE +dep 3181 60 +dep 3182 30 +dep 3183 0C +dep 3184 A5 +dep 3185 46 +dep 3186 41 +dep 3187 4C +dep 3188 53 +dep 3189 45 +dep 318A BE +dep 318B 60 +dep 318C 31 +dep 318D 6A +dep 318E A8 +dep 318F 2D +dep 3190 53 +dep 3191 4F +dep 3192 46 +dep 3193 54 +dep 3194 49 +dep 3195 4E +dep 3196 54 +dep 3197 20 +dep 3198 B0 +dep 3199 30 +dep 319A 31 +dep 319B 64 +dep 319C A2 +dep 319D 31 +dep 319E 2B +dep 319F 20 +dep 31A0 B8 +dep 31A1 E1 +dep 31A2 31 +dep 31A3 9A +dep 31A4 A2 +dep 31A5 31 +dep 31A6 2D +dep 31A7 20 +dep 31A8 B4 +dep 31A9 E1 +dep 31AA 2F +dep 31AB 6A +dep 31AC A2 +dep 31AD 32 +dep 31AE 2B +dep 31AF 20 +dep 31B0 B8 +dep 31B1 E2 +dep 31B2 31 +dep 31B3 AA +dep 31B4 A2 +dep 31B5 32 +dep 31B6 2D +dep 31B7 20 +dep 31B8 B4 +dep 31B9 E2 +dep 31BA 31 +dep 31BB 7C +dep 31BC A1 +dep 31BD 40 +dep 31BE EE +dep 31BF 20 +dep 31C0 2F +dep 31C1 B0 +dep 31C2 A2 +dep 31C3 43 +dep 31C4 21 +dep 31C5 20 +dep 31C6 FE +dep 31C7 A0 +dep 31C8 31 +dep 31C9 C0 +dep 31CA A2 +dep 31CB 43 +dep 31CC 40 +dep 31CD 20 +dep 31CE FE +dep 31CF 20 +dep 31D0 31 +dep 31D1 C8 +dep 31D2 A4 +dep 31D3 43 +dep 31D4 50 +dep 31D5 52 +dep 31D6 21 +dep 31D7 20 +dep 31D8 BE +dep 31D9 AF +dep 31DA 31 +dep 31DB D0 +dep 31DC A4 +dep 31DD 43 +dep 31DE 50 +dep 31DF 52 +dep 31E0 40 +dep 31E1 20 +dep 31E2 BE +dep 31E3 2F +dep 31E4 31 +dep 31E5 DA +dep 31E6 A3 +dep 31E7 43 +dep 31E8 52 +dep 31E9 21 +dep 31EA BE +dep 31EB A3 +dep 31EC 31 +dep 31ED E4 +dep 31EE A3 +dep 31EF 43 +dep 31F0 52 +dep 31F1 40 +dep 31F2 BE +dep 31F3 23 +dep 31F4 31 +dep 31F5 EC +dep 31F6 A5 +dep 31F7 43 +dep 31F8 52 +dep 31F9 40 +dep 31FA 4F +dep 31FB 52 +dep 31FC B6 +dep 31FD A3 +dep 31FE 31 +dep 31FF 72 +dep 3200 A4 +dep 3201 44 +dep 3202 50 +dep 3203 52 +dep 3204 21 +dep 3205 20 +dep 3206 BE +dep 3207 AD +dep 3208 31 +dep 3209 FE +dep 320A A4 +dep 320B 44 +dep 320C 50 +dep 320D 52 +dep 320E 40 +dep 320F 20 +dep 3210 BE +dep 3211 2D +dep 3212 32 +dep 3213 08 +dep 3214 A4 +dep 3215 44 +dep 3216 52 +dep 3217 4F +dep 3218 50 +dep 3219 20 +dep 321A AE +dep 321B 60 +dep 321C 32 +dep 321D 12 +dep 321E A3 +dep 321F 44 +dep 3220 55 +dep 3221 50 +dep 3222 A0 +dep 3223 E0 +dep 3224 31 +dep 3225 A2 +dep 3226 A1 +dep 3227 49 +dep 3228 BE +dep 3229 20 +dep 322A 32 +dep 322B 24 +dep 322C A4 +dep 322D 49 +dep 322E 42 +dep 322F 43 +dep 3230 21 +dep 3231 20 +dep 3232 BE +dep 3233 B0 +dep 3234 32 +dep 3235 2A +dep 3236 A4 +dep 3237 49 +dep 3238 42 +dep 3239 43 +dep 323A 40 +dep 323B 20 +dep 323C BE +dep 323D 30 +dep 323E 32 +dep 323F 34 +dep 3240 A4 +dep 3241 49 +dep 3242 4D +dep 3243 52 +dep 3244 21 +dep 3245 20 +dep 3246 BE +dep 3247 A8 +dep 3248 32 +dep 3249 3E +dep 324A A4 +dep 324B 49 +dep 324C 4D +dep 324D 52 +dep 324E 40 +dep 324F 20 +dep 3250 BE +dep 3251 28 +dep 3252 32 +dep 3253 48 +dep 3254 A4 +dep 3255 49 +dep 3256 50 +dep 3257 52 +dep 3258 21 +dep 3259 20 +dep 325A BE +dep 325B AC +dep 325C 32 +dep 325D 52 +dep 325E A4 +dep 325F 49 +dep 3260 50 +dep 3261 52 +dep 3262 40 +dep 3263 20 +dep 3264 BE +dep 3265 2C +dep 3266 32 +dep 3267 5C +dep 3268 A4 +dep 3269 49 +dep 326A 56 +dep 326B 52 +dep 326C 40 +dep 326D 20 +dep 326E BE +dep 326F 2B +dep 3270 31 +dep 3271 8C +dep 3272 A3 +dep 3273 4D +dep 3274 44 +dep 3275 21 +dep 3276 BE +dep 3277 A4 +dep 3278 32 +dep 3279 70 +dep 327A A3 +dep 327B 4D +dep 327C 44 +dep 327D 40 +dep 327E BE +dep 327F 24 +dep 3280 32 +dep 3281 78 +dep 3282 A4 +dep 3283 4D +dep 3284 48 +dep 3285 52 +dep 3286 40 +dep 3287 20 +dep 3288 BE +dep 3289 37 +dep 328A 32 +dep 328B 80 +dep 328C A4 +dep 328D 4D +dep 328E 4C +dep 328F 52 +dep 3290 40 +dep 3291 20 +dep 3292 BE +dep 3293 36 +dep 3294 32 +dep 3295 8A +dep 3296 A4 +dep 3297 4D +dep 3298 55 +dep 3299 4C +dep 329A 53 +dep 329B 20 +dep 329C B0 +dep 329D B7 +dep 329E 32 +dep 329F 94 +dep 32A0 A4 +dep 32A1 4D +dep 32A2 55 +dep 32A3 4C +dep 32A4 55 +dep 32A5 20 +dep 32A6 B0 +dep 32A7 B6 +dep 32A8 31 +dep 32A9 82 +dep 32AA A6 +dep 32AB 4E +dep 32AC 45 +dep 32AD 47 +dep 32AE 41 +dep 32AF 54 +dep 32B0 45 +dep 32B1 20 +dep 32B2 BC +dep 32B3 E0 +dep 32B4 32 +dep 32B5 A8 +dep 32B6 A3 +dep 32B7 4E +dep 32B8 49 +dep 32B9 50 +dep 32BA A0 +dep 32BB 60 +dep 32BC 32 +dep 32BD B4 +dep 32BE A3 +dep 32BF 4E +dep 32C0 4F +dep 32C1 50 +dep 32C2 A0 +dep 32C3 20 +dep 32C4 2A +dep 32C5 B0 +dep 32C6 A4 +dep 32C7 4F +dep 32C8 56 +dep 32C9 45 +dep 32CA 52 +dep 32CB 20 +dep 32CC AE +dep 32CD E0 +dep 32CE 31 +dep 32CF BA +dep 32D0 A3 +dep 32D1 50 +dep 32D2 43 +dep 32D3 40 +dep 32D4 BE +dep 32D5 27 +dep 32D6 31 +dep 32D7 B2 +dep 32D8 A2 +dep 32D9 52 +dep 32DA 40 +dep 32DB 20 +dep 32DC BE +dep 32DD 20 +dep 32DE 32 +dep 32DF D6 +dep 32E0 A3 +dep 32E1 52 +dep 32E2 48 +dep 32E3 21 +dep 32E4 BE +dep 32E5 A7 +dep 32E6 32 +dep 32E7 DE +dep 32E8 A3 +dep 32E9 52 +dep 32EA 48 +dep 32EB 40 +dep 32EC BE +dep 32ED 37 +dep 32EE 32 +dep 32EF E6 +dep 32F0 A3 +dep 32F1 52 +dep 32F2 58 +dep 32F3 21 +dep 32F4 BE +dep 32F5 A6 +dep 32F6 32 +dep 32F7 EE +dep 32F8 A3 +dep 32F9 52 +dep 32FA 58 +dep 32FB 40 +dep 32FC BE +dep 32FD 36 +dep 32FE 31 +dep 32FF F4 +dep 3300 A3 +dep 3301 53 +dep 3302 3E +dep 3303 44 +dep 3304 A0 +dep 3305 E1 +dep 3306 32 +dep 3307 FE +dep 3308 A6 +dep 3309 53 +dep 330A 45 +dep 330B 4C +dep 330C 43 +dep 330D 50 +dep 330E 52 +dep 330F 20 +dep 3310 B0 +dep 3311 2D +dep 3312 33 +dep 3313 06 +dep 3314 A6 +dep 3315 53 +dep 3316 45 +dep 3317 4C +dep 3318 44 +dep 3319 50 +dep 331A 52 +dep 331B 20 +dep 331C B0 +dep 331D AD +dep 331E 33 +dep 331F 12 +dep 3320 A4 +dep 3321 53 +dep 3322 4C +dep 3323 52 +dep 3324 21 +dep 3325 20 +dep 3326 BE +dep 3327 AB +dep 3328 33 +dep 3329 1E +dep 332A A7 +dep 332B 53 +dep 332C 4F +dep 332D 46 +dep 332E 54 +dep 332F 49 +dep 3330 4E +dep 3331 54 +dep 3332 B0 +dep 3333 B0 +dep 3334 33 +dep 3335 28 +dep 3336 A4 +dep 3337 53 +dep 3338 4F +dep 3339 53 +dep 333A 2D +dep 333B 20 +dep 333C A4 +dep 333D A0 +dep 333E 33 +dep 333F 34 +dep 3340 A4 +dep 3341 53 +dep 3342 50 +dep 3343 52 +dep 3344 21 +dep 3345 20 +dep 3346 BE +dep 3347 A9 +dep 3348 33 +dep 3349 3E +dep 334A A4 +dep 334B 53 +dep 334C 50 +dep 334D 52 +dep 334E 40 +dep 334F 20 +dep 3350 BE +dep 3351 29 +dep 3352 33 +dep 3353 48 +dep 3354 A5 +dep 3355 53 +dep 3356 50 +dep 3357 52 +dep 3358 40 +dep 3359 2B +dep 335A B8 +dep 335B A9 +dep 335C 33 +dep 335D 52 +dep 335E A3 +dep 335F 53 +dep 3360 51 +dep 3361 40 +dep 3362 BE +dep 3363 25 +dep 3364 33 +dep 3365 5C +dep 3366 A3 +dep 3367 53 +dep 3368 52 +dep 3369 21 +dep 336A BE +dep 336B A6 +dep 336C 33 +dep 336D 64 +dep 336E A3 +dep 336F 53 +dep 3370 52 +dep 3371 40 +dep 3372 BE +dep 3373 26 +dep 3374 33 +dep 3375 6C +dep 3376 A4 +dep 3377 53 +dep 3378 55 +dep 3379 52 +dep 337A 21 +dep 337B 20 +dep 337C BE +dep 337D AA +dep 337E 33 +dep 337F 74 +dep 3380 A4 +dep 3381 53 +dep 3382 55 +dep 3383 52 +dep 3384 40 +dep 3385 20 +dep 3386 BE +dep 3387 2A +dep 3388 33 +dep 3389 7E +dep 338A A4 +dep 338B 53 +dep 338C 56 +dep 338D 52 +dep 338E 21 +dep 338F 20 +dep 3390 BE +dep 3391 AB +dep 3392 33 +dep 3393 88 +dep 3394 A4 +dep 3395 53 +dep 3396 57 +dep 3397 41 +dep 3398 50 +dep 3399 20 +dep 339A AE +dep 339B A0 +dep 339C 32 +dep 339D 1C +dep 339E A4 +dep 339F 54 +dep 33A0 43 +dep 33A1 30 +dep 33A2 21 +dep 33A3 20 +dep 33A4 BE +dep 33A5 B3 +dep 33A6 33 +dep 33A7 9C +dep 33A8 A4 +dep 33A9 54 +dep 33AA 43 +dep 33AB 30 +dep 33AC 40 +dep 33AD 20 +dep 33AE BE +dep 33AF 33 +dep 33B0 33 +dep 33B1 A6 +dep 33B2 A4 +dep 33B3 54 +dep 33B4 43 +dep 33B5 31 +dep 33B6 21 +dep 33B7 20 +dep 33B8 BE +dep 33B9 B4 +dep 33BA 33 +dep 33BB B0 +dep 33BC A4 +dep 33BD 54 +dep 33BE 43 +dep 33BF 31 +dep 33C0 40 +dep 33C1 20 +dep 33C2 BE +dep 33C3 34 +dep 33C4 33 +dep 33C5 BA +dep 33C6 A4 +dep 33C7 54 +dep 33C8 43 +dep 33C9 32 +dep 33CA 21 +dep 33CB 20 +dep 33CC BE +dep 33CD B5 +dep 33CE 33 +dep 33CF C4 +dep 33D0 A4 +dep 33D1 54 +dep 33D2 43 +dep 33D3 32 +dep 33D4 40 +dep 33D5 20 +dep 33D6 BE +dep 33D7 35 +dep 33D8 32 +dep 33D9 9E +dep 33DA A4 +dep 33DB 55 +dep 33DC 42 +dep 33DD 52 +dep 33DE 21 +dep 33DF 20 +dep 33E0 BE +dep 33E1 B1 +dep 33E2 33 +dep 33E3 D8 +dep 33E4 A4 +dep 33E5 55 +dep 33E6 42 +dep 33E7 52 +dep 33E8 40 +dep 33E9 20 +dep 33EA BE +dep 33EB 31 +dep 33EC 33 +dep 33ED E2 +dep 33EE A4 +dep 33EF 55 +dep 33F0 50 +dep 33F1 52 +dep 33F2 21 +dep 33F3 20 +dep 33F4 BE +dep 33F5 AE +dep 33F6 33 +dep 33F7 EC +dep 33F8 A4 +dep 33F9 55 +dep 33FA 50 +dep 33FB 52 +dep 33FC 40 +dep 33FD 20 +dep 33FE BE +dep 33FF 2E +dep 3400 0A +dep 3401 FF +dep 3402 BE +dep 3403 01 +dep 3404 00 +dep 3405 61 +dep 3406 EE +dep 3407 00 +dep 3408 88 +dep 3409 0B +dep 340A EE +dep 340B 00 +dep 340C D2 +dep 340D 80 +dep 340E 0F +dep 340F 00 +dep 3410 18 +dep 3411 44 +dep 3412 18 +dep 3413 5D +dep 3414 90 +dep 3415 0C +dep 3416 BE +dep 3417 87 +dep 3418 A0 +dep 3419 20 +dep 341A 0A +dep 341B FF +dep 341C BE +dep 341D 01 +dep 341E 00 +dep 341F 61 +dep 3420 EE +dep 3421 00 +dep 3422 88 +dep 3423 15 +dep 3424 EE +dep 3425 00 +dep 3426 18 +dep 3427 10 +dep 3428 90 +dep 3429 16 +dep 342A BE +dep 342B 87 +dep 342C A0 +dep 342D 20 +dep 342E 32 +dep 342F CE +dep 3430 C2 +dep 3431 30 +dep 3432 3C +dep 3433 20 +dep 3434 1A +dep 3435 0E +dep 3436 A0 +dep 3437 01 +dep 3438 A0 +dep 3439 20 +dep 343A 32 +dep 343B F6 +dep 343C C2 +dep 343D 32 +dep 343E 2A +dep 343F 20 +dep 3440 1A +dep 3441 0E +dep 3442 A0 +dep 3443 02 +dep 3444 A0 +dep 3445 20 +dep 3446 34 +dep 3447 3A +dep 3448 C3 +dep 3449 32 +dep 344A 2A +dep 344B 43 +dep 344C 1A +dep 344D 0E +dep 344E A0 +dep 344F 03 +dep 3450 A0 +dep 3451 20 +dep 3452 33 +dep 3453 92 +dep 3454 C4 +dep 3455 63 +dep 3456 55 +dep 3457 32 +dep 3458 2F +dep 3459 20 +dep 345A 1A +dep 345B 0E +dep 345C A0 +dep 345D 04 +dep 345E A0 +dep 345F 20 +dep 3460 34 +dep 3461 52 +dep 3462 C3 +dep 3463 63 +dep 3464 32 +dep 3465 2F +dep 3466 1A +dep 3467 0E +dep 3468 A0 +dep 3469 05 +dep 346A A0 +dep 346B 20 +dep 346C 33 +dep 346D F6 +dep 346E C3 +dep 346F 55 +dep 3470 32 +dep 3471 2F +dep 3472 1A +dep 3473 0E +dep 3474 A0 +dep 3475 06 +dep 3476 A0 +dep 3477 20 +dep 3478 34 +dep 3479 46 +dep 347A C2 +dep 347B 32 +dep 347C 2F +dep 347D 20 +dep 347E 1A +dep 347F 0E +dep 3480 A0 +dep 3481 07 +dep 3482 A0 +dep 3483 20 +dep 3484 32 +dep 3485 BC +dep 3486 C3 +dep 3487 4E +dep 3488 32 +dep 3489 2A +dep 348A 1A +dep 348B 0E +dep 348C A0 +dep 348D 08 +dep 348E A0 +dep 348F 20 +dep 3490 34 +dep 3491 84 +dep 3492 C4 +dep 3493 4E +dep 3494 32 +dep 3495 2A +dep 3496 63 +dep 3497 20 +dep 3498 1A +dep 3499 0E +dep 349A A0 +dep 349B 09 +dep 349C A0 +dep 349D 20 +dep 349E 33 +dep 349F CE +dep 34A0 C3 +dep 34A1 44 +dep 34A2 32 +dep 34A3 2A +dep 34A4 1A +dep 34A5 0E +dep 34A6 A0 +dep 34A7 0A +dep 34A8 A0 +dep 34A9 20 +dep 34AA 34 +dep 34AB 9E +dep 34AC C4 +dep 34AD 44 +dep 34AE 32 +dep 34AF 2A +dep 34B0 63 +dep 34B1 20 +dep 34B2 1A +dep 34B3 0E +dep 34B4 A0 +dep 34B5 0B +dep 34B6 A0 +dep 34B7 20 +dep 34B8 34 +dep 34B9 60 +dep 34BA C5 +dep 34BB 63 +dep 34BC 55 +dep 34BD 44 +dep 34BE 32 +dep 34BF 2F +dep 34C0 1A +dep 34C1 0E +dep 34C2 A0 +dep 34C3 0C +dep 34C4 A0 +dep 34C5 20 +dep 34C6 34 +dep 34C7 B8 +dep 34C8 C4 +dep 34C9 63 +dep 34CA 44 +dep 34CB 32 +dep 34CC 2F +dep 34CD 20 +dep 34CE 1A +dep 34CF 0E +dep 34D0 A0 +dep 34D1 0D +dep 34D2 A0 +dep 34D3 20 +dep 34D4 34 +dep 34D5 6C +dep 34D6 C4 +dep 34D7 55 +dep 34D8 44 +dep 34D9 32 +dep 34DA 2F +dep 34DB 20 +dep 34DC 1A +dep 34DD 0E +dep 34DE A0 +dep 34DF 0E +dep 34E0 A0 +dep 34E1 20 +dep 34E2 34 +dep 34E3 AA +dep 34E4 C3 +dep 34E5 44 +dep 34E6 32 +dep 34E7 2F +dep 34E8 1A +dep 34E9 0E +dep 34EA A0 +dep 34EB 0F +dep 34EC A0 +dep 34ED 20 +dep 34EE 32 +dep 34EF 66 +dep 34F0 C3 +dep 34F1 41 +dep 34F2 4E +dep 34F3 44 +dep 34F4 1A +dep 34F5 01 +dep 34F6 A2 +dep 34F7 40 +dep 34F8 A0 +dep 34F9 20 +dep 34FA 34 +dep 34FB 90 +dep 34FC C3 +dep 34FD 4E +dep 34FE 4F +dep 34FF 52 +dep 3500 1A +dep 3501 01 +dep 3502 A3 +dep 3503 40 +dep 3504 A0 +dep 3505 20 +dep 3506 34 +dep 3507 D4 +dep 3508 C1 +dep 3509 2D +dep 350A 1A +dep 350B 01 +dep 350C AC +dep 350D 40 +dep 350E A0 +dep 350F 20 +dep 3510 35 +dep 3511 06 +dep 3512 C2 +dep 3513 2D +dep 3514 63 +dep 3515 20 +dep 3516 1A +dep 3517 01 +dep 3518 AD +dep 3519 40 +dep 351A A0 +dep 351B 20 +dep 351C 32 +dep 351D C4 +dep 351E C2 +dep 351F 4F +dep 3520 52 +dep 3521 20 +dep 3522 1A +dep 3523 01 +dep 3524 A6 +dep 3525 40 +dep 3526 A0 +dep 3527 20 +dep 3528 34 +dep 3529 FA +dep 352A C4 +dep 352B 4E +dep 352C 41 +dep 352D 4E +dep 352E 44 +dep 352F 20 +dep 3530 1A +dep 3531 01 +dep 3532 A7 +dep 3533 40 +dep 3534 A0 +dep 3535 20 +dep 3536 34 +dep 3537 C6 +dep 3538 C1 +dep 3539 2B +dep 353A 1A +dep 353B 01 +dep 353C A8 +dep 353D 40 +dep 353E A0 +dep 353F 20 +dep 3540 35 +dep 3541 36 +dep 3542 C2 +dep 3543 2B +dep 3544 63 +dep 3545 20 +dep 3546 1A +dep 3547 01 +dep 3548 A9 +dep 3549 40 +dep 354A A0 +dep 354B 20 +dep 354C 34 +dep 354D 2E +dep 354E C3 +dep 354F 58 +dep 3550 4F +dep 3551 52 +dep 3552 1A +dep 3553 01 +dep 3554 AA +dep 3555 40 +dep 3556 A0 +dep 3557 20 +dep 3558 35 +dep 3559 4C +dep 355A C4 +dep 355B 58 +dep 355C 4E +dep 355D 4F +dep 355E 52 +dep 355F 20 +dep 3560 1A +dep 3561 01 +dep 3562 AB +dep 3563 40 +dep 3564 A0 +dep 3565 20 +dep 3566 35 +dep 3567 40 +dep 3568 C5 +dep 3569 53 +dep 356A 57 +dep 356B 41 +dep 356C 50 +dep 356D 2D +dep 356E 1A +dep 356F 01 +dep 3570 A4 +dep 3571 40 +dep 3572 A0 +dep 3573 20 +dep 3574 35 +dep 3575 66 +dep 3576 C6 +dep 3577 53 +dep 3578 57 +dep 3579 41 +dep 357A 50 +dep 357B 2D +dep 357C 63 +dep 357D 20 +dep 357E 1A +dep 357F 01 +dep 3580 A5 +dep 3581 40 +dep 3582 A0 +dep 3583 20 +dep 3584 06 +dep 3585 75 +dep 3586 0A +dep 3587 79 +dep 3588 BE +dep 3589 41 +dep 358A 00 +dep 358B 71 +dep 358C EE +dep 358D A0 +dep 358E 34 +dep 358F 78 +dep 3590 C2 +dep 3591 52 +dep 3592 3E +dep 3593 20 +dep 3594 DE +dep 3595 00 +dep 3596 BE +dep 3597 01 +dep 3598 1A +dep 3599 C2 +dep 359A A0 +dep 359B 20 +dep 359C 35 +dep 359D 8E +dep 359E C6 +dep 359F 52 +dep 35A0 3E +dep 35A1 44 +dep 35A2 52 +dep 35A3 4F +dep 35A4 50 +dep 35A5 20 +dep 35A6 DE +dep 35A7 00 +dep 35A8 B0 +dep 35A9 01 +dep 35AA 1A +dep 35AB C2 +dep 35AC A0 +dep 35AD 20 +dep 35AE 35 +dep 35AF 9C +dep 35B0 C8 +dep 35B1 52 +dep 35B2 3E +dep 35B3 44 +dep 35B4 52 +dep 35B5 4F +dep 35B6 50 +dep 35B7 3E +dep 35B8 52 +dep 35B9 20 +dep 35BA DE +dep 35BB 00 +dep 35BC BE +dep 35BD 80 +dep 35BE 1A +dep 35BF C2 +dep 35C0 A0 +dep 35C1 20 +dep 35C2 35 +dep 35C3 28 +dep 35C4 C2 +dep 35C5 3E +dep 35C6 52 +dep 35C7 20 +dep 35C8 DE +dep 35C9 00 +dep 35CA BE +dep 35CB 81 +dep 35CC 1A +dep 35CD C2 +dep 35CE A0 +dep 35CF 20 +dep 35D0 35 +dep 35D1 C2 +dep 35D2 C3 +dep 35D3 3E +dep 35D4 52 +dep 35D5 3B +dep 35D6 DE +dep 35D7 00 +dep 35D8 BE +dep 35D9 A7 +dep 35DA 1A +dep 35DB C2 +dep 35DC A0 +dep 35DD 20 +dep 35DE 34 +dep 35DF E2 +dep 35E0 C5 +dep 35E1 44 +dep 35E2 55 +dep 35E3 50 +dep 35E4 3E +dep 35E5 52 +dep 35E6 DE +dep 35E7 00 +dep 35E8 B0 +dep 35E9 81 +dep 35EA 1A +dep 35EB C2 +dep 35EC A0 +dep 35ED 20 +dep 35EE 35 +dep 35EF DE +dep 35F0 C3 +dep 35F1 44 +dep 35F2 52 +dep 35F3 3E +dep 35F4 0B +dep 35F5 69 +dep 35F6 BE +dep 35F7 01 +dep 35F8 0B +dep 35F9 69 +dep 35FA BE +dep 35FB 01 +dep 35FC A0 +dep 35FD 20 +dep 35FE 35 +dep 35FF EE +dep 3600 C3 +dep 3601 44 +dep 3602 3E +dep 3603 52 +dep 3604 0B +dep 3605 69 +dep 3606 BE +dep 3607 81 +dep 3608 0B +dep 3609 69 +dep 360A BE +dep 360B 81 +dep 360C A0 +dep 360D 20 +dep 360E 35 +dep 360F 10 +dep 3610 C7 +dep 3611 45 +dep 3612 58 +dep 3613 45 +dep 3614 43 +dep 3615 55 +dep 3616 54 +dep 3617 45 +dep 3618 00 +dep 3619 61 +dep 361A EE +dep 361B 00 +dep 361C 89 +dep 361D 13 +dep 361E DE +dep 361F 00 +dep 3620 BE +dep 3621 87 +dep 3622 1A +dep 3623 C2 +dep 3624 91 +dep 3625 14 +dep 3626 BE +dep 3627 87 +dep 3628 A0 +dep 3629 20 +dep 362A 35 +dep 362B FE +dep 362C C5 +dep 362D 54 +dep 362E 49 +dep 362F 4D +dep 3630 45 +dep 3631 53 +dep 3632 DE +dep 3633 00 +dep 3634 BE +dep 3635 82 +dep 3636 1A +dep 3637 C2 +dep 3638 A0 +dep 3639 20 +dep 363A 36 +dep 363B 0E +dep 363C 85 +dep 363D 55 +dep 363E 43 +dep 363F 4F +dep 3640 44 +dep 3641 45 +dep 3642 0A +dep 3643 E0 +dep 3644 D6 +dep 3645 80 +dep 3646 00 +dep 3647 20 +dep 3648 0A +dep 3649 79 +dep 364A 13 +dep 364B BF +dep 364C A0 +dep 364D 20 +dep 364E 36 +dep 364F 2A +dep 3650 84 +dep 3651 4C +dep 3652 4F +dep 3653 4E +dep 3654 47 +dep 3655 20 +dep 3656 BF +dep 3657 40 +dep 3658 05 +dep 3659 5B +dep 365A 0E +dep 365B 4C +dep 365C 4F +dep 365D 4E +dep 365E 47 +dep 365F 20 +dep 3660 49 +dep 3661 53 +dep 3662 20 +dep 3663 42 +dep 3664 52 +dep 3665 4F +dep 3666 4B +dep 3667 45 +dep 3668 4E +dep 3669 20 +dep 366A A0 +dep 366B 20 +dep 366C DE +dep 366D 00 +dep 366E 90 +dep 366F 00 +dep 3670 AE +dep 3671 C0 +dep 3672 EE +dep 3673 80 +dep 3674 03 +dep 3675 FF +dep 3676 13 +dep 3677 F6 +dep 3678 A0 +dep 3679 20 +dep 367A 00 +dep 367B 91 +dep 367C EE +dep 367D 00 +dep 367E 01 +dep 367F A2 +dep 3680 01 +dep 3681 65 +dep 3682 89 +dep 3683 47 +dep 3684 A0 +dep 3685 C0 +dep 3686 EE +dep 3687 00 +dep 3688 AE +dep 3689 80 +dep 368A 1B +dep 368B 36 +dep 368C 91 +dep 368D 3F +dep 368E 00 +dep 368F 91 +dep 3690 EE +dep 3691 80 +dep 3692 AE +dep 3693 60 +dep 3694 00 +dep 3695 8D +dep 3696 EE +dep 3697 00 +dep 3698 01 +dep 3699 2C +dep 369A 05 +dep 369B 6D +dep 369C A0 +dep 369D 20 +dep 369E 00 +dep 369F 8D +dep 36A0 EE +dep 36A1 00 +dep 36A2 05 +dep 36A3 6D +dep 36A4 BF +dep 36A5 40 +dep 36A6 00 +dep 36A7 8D +dep 36A8 01 +dep 36A9 5D +dep 36AA A0 +dep 36AB C0 +dep 36AC EE +dep 36AD 00 +dep 36AE 05 +dep 36AF 6D +dep 36B0 A0 +dep 36B1 20 +dep 36B2 35 +dep 36B3 AE +dep 36B4 C5 +dep 36B5 42 +dep 36B6 45 +dep 36B7 47 +dep 36B8 49 +dep 36B9 4E +dep 36BA 03 +dep 36BB FF +dep 36BC BE +dep 36BD 41 +dep 36BE 00 +dep 36BF 8D +dep 36C0 01 +dep 36C1 5D +dep 36C2 00 +dep 36C3 73 +dep 36C4 01 +dep 36C5 95 +dep 36C6 A0 +dep 36C7 20 +dep 36C8 34 +dep 36C9 EE +dep 36CA C2 +dep 36CB 49 +dep 36CC 46 +dep 36CD 20 +dep 36CE 1B +dep 36CF 5D +dep 36D0 DE +dep 36D1 00 +dep 36D2 88 +dep 36D3 00 +dep 36D4 0A +dep 36D5 79 +dep 36D6 A0 +dep 36D7 20 +dep 36D8 36 +dep 36D9 4E +dep 36DA C4 +dep 36DB 54 +dep 36DC 48 +dep 36DD 45 +dep 36DE 4E +dep 36DF 20 +dep 36E0 BE +dep 36E1 40 +dep 36E2 1B +dep 36E3 4A +dep 36E4 BF +dep 36E5 40 +dep 36E6 00 +dep 36E7 8D +dep 36E8 01 +dep 36E9 5D +dep 36EA 03 +dep 36EB FF +dep 36EC 13 +dep 36ED F6 +dep 36EE A0 +dep 36EF 20 +dep 36F0 36 +dep 36F1 3A +dep 36F2 C4 +dep 36F3 45 +dep 36F4 4C +dep 36F5 53 +dep 36F6 45 +dep 36F7 20 +dep 36F8 BE +dep 36F9 40 +dep 36FA 1B +dep 36FB 4A +dep 36FC 1B +dep 36FD 5D +dep 36FE DE +dep 36FF 00 +dep 3700 90 +dep 3701 00 +dep 3702 0A +dep 3703 79 +dep 3704 AE +dep 3705 80 +dep 3706 1B +dep 3707 70 +dep 3708 A0 +dep 3709 20 +dep 370A 36 +dep 370B F0 +dep 370C C5 +dep 370D 55 +dep 370E 4E +dep 370F 54 +dep 3710 49 +dep 3711 4C +dep 3712 1B +dep 3713 4F +dep 3714 03 +dep 3715 FF +dep 3716 DE +dep 3717 00 +dep 3718 88 +dep 3719 00 +dep 371A 0A +dep 371B 79 +dep 371C AE +dep 371D 80 +dep 371E 13 +dep 371F F6 +dep 3720 A0 +dep 3721 20 +dep 3722 36 +dep 3723 C8 +dep 3724 C5 +dep 3725 41 +dep 3726 47 +dep 3727 41 +dep 3728 49 +dep 3729 4E +dep 372A 1B +dep 372B 4F +dep 372C 03 +dep 372D FF +dep 372E DE +dep 372F 00 +dep 3730 90 +dep 3731 00 +dep 3732 0A +dep 3733 79 +dep 3734 AE +dep 3735 80 +dep 3736 13 +dep 3737 F6 +dep 3738 A0 +dep 3739 20 +dep 373A 35 +dep 373B 1C +dep 373C C5 +dep 373D 57 +dep 373E 48 +dep 373F 49 +dep 3740 4C +dep 3741 45 +dep 3742 00 +dep 3743 8D +dep 3744 EE +dep 3745 00 +dep 3746 05 +dep 3747 6D +dep 3748 1B +dep 3749 67 +dep 374A AE +dep 374B A0 +dep 374C 36 +dep 374D B2 +dep 374E C6 +dep 374F 52 +dep 3750 45 +dep 3751 50 +dep 3752 45 +dep 3753 41 +dep 3754 54 +dep 3755 20 +dep 3756 BE +dep 3757 41 +dep 3758 1B +dep 3759 4A +dep 375A 1B +dep 375B 95 +dep 375C 1B +dep 375D 70 +dep 375E A0 +dep 375F 20 +dep 3760 37 +dep 3761 0A +dep 3762 C5 +dep 3763 2D +dep 3764 5A +dep 3765 45 +dep 3766 52 +dep 3767 4F +dep 3768 AE +dep 3769 40 +dep 376A 1B +dep 376B 5D +dep 376C DE +dep 376D 00 +dep 376E 90 +dep 376F 00 +dep 3770 0A +dep 3771 79 +dep 3772 03 +dep 3773 FF +dep 3774 AE +dep 3775 A0 +dep 3776 35 +dep 3777 D0 +dep 3778 C3 +dep 3779 46 +dep 377A 4F +dep 377B 52 +dep 377C 0B +dep 377D 69 +dep 377E BE +dep 377F 81 +dep 3780 1B +dep 3781 5D +dep 3782 A0 +dep 3783 20 +dep 3784 37 +dep 3785 76 +dep 3786 C4 +dep 3787 4E +dep 3788 45 +dep 3789 58 +dep 378A 54 +dep 378B 20 +dep 378C 1B +dep 378D 4F +dep 378E 03 +dep 378F FF +dep 3790 DE +dep 3791 00 +dep 3792 98 +dep 3793 00 +dep 3794 0A +dep 3795 79 +dep 3796 AE +dep 3797 80 +dep 3798 13 +dep 3799 F6 +dep 379A A0 +dep 379B 20 +dep 379C 36 +dep 379D D8 +dep 379E C2 +dep 379F 44 +dep 37A0 4F +dep 37A1 20 +dep 37A2 0B +dep 37A3 69 +dep 37A4 AE +dep 37A5 80 +dep 37A6 0B +dep 37A7 69 +dep 37A8 BE +dep 37A9 81 +dep 37AA 0B +dep 37AB 69 +dep 37AC BE +dep 37AD 81 +dep 37AE 1B +dep 37AF 5D +dep 37B0 A0 +dep 37B1 20 +dep 37B2 37 +dep 37B3 9C +dep 37B4 C5 +dep 37B5 4C +dep 37B6 45 +dep 37B7 41 +dep 37B8 56 +dep 37B9 45 +dep 37BA 0B +dep 37BB 69 +dep 37BC B0 +dep 37BD 01 +dep 37BE 0B +dep 37BF 69 +dep 37C0 B0 +dep 37C1 01 +dep 37C2 03 +dep 37C3 FF +dep 37C4 00 +dep 37C5 91 +dep 37C6 EE +dep 37C7 00 +dep 37C8 0A +dep 37C9 79 +dep 37CA 00 +dep 37CB 91 +dep 37CC EE +dep 37CD 80 +dep 37CE 00 +dep 37CF 71 +dep 37D0 01 +dep 37D1 95 +dep 37D2 A0 +dep 37D3 20 +dep 37D4 37 +dep 37D5 B2 +dep 37D6 C4 +dep 37D7 4C +dep 37D8 4F +dep 37D9 4F +dep 37DA 50 +dep 37DB 20 +dep 37DC 1B +dep 37DD 4F +dep 37DE 0B +dep 37DF 69 +dep 37E0 00 +dep 37E1 17 +dep 37E2 A0 +dep 37E3 C0 +dep 37E4 06 +dep 37E5 BB +dep 37E6 0A +dep 37E7 79 +dep 37E8 1B +dep 37E9 3D +dep 37EA 00 +dep 37EB 73 +dep 37EC 01 +dep 37ED 95 +dep 37EE A0 +dep 37EF 20 +dep 37F0 35 +dep 37F1 74 +dep 37F2 C5 +dep 37F3 2B +dep 37F4 4C +dep 37F5 4F +dep 37F6 4F +dep 37F7 50 +dep 37F8 1B +dep 37F9 4F +dep 37FA 0B +dep 37FB 69 +dep 37FC 00 +dep 37FD 26 +dep 37FE A0 +dep 37FF C0 +dep 3800 06 +dep 3801 BB +dep 3802 0A +dep 3803 79 +dep 3804 1B +dep 3805 3D +dep 3806 00 +dep 3807 73 +dep 3808 01 +dep 3809 95 +dep 380A A0 +dep 380B 20 +dep 380C 37 +dep 380D 22 +dep 380E 89 +dep 380F 49 +dep 3810 4D +dep 3811 4D +dep 3812 45 +dep 3813 44 +dep 3814 49 +dep 3815 41 +dep 3816 54 +dep 3817 45 +dep 3818 13 +dep 3819 9E +dep 381A A0 +dep 381B 20 +dep 381C 37 +dep 381D 3A +dep 381E 35 +dep 381F 58 +dep 3820 38 +dep 3821 0C +dep 3822 37 +dep 3823 4C +dep 3824 37 +dep 3825 F0 +dep 3826 37 +dep 3827 D4 +dep 3828 37 +dep 3829 60 +dep 382A 37 +dep 382B 84 +dep 382C FF +dep 382D FF +dep 382E FF +dep 382F FF +dep 3830 FF +dep 3831 FF +dep 3832 FF +dep 3833 FF +dep 3834 FF +dep 3835 FF +dep 3836 FF +dep 3837 FF +dep 3838 FF +dep 3839 FF +dep 383A FF +dep 383B FF +dep 383C FF +dep 383D FF +dep 383E FF +dep 383F FF +dep 3840 FF +dep 3841 FF +dep 3842 FF +dep 3843 FF +dep 3844 FF +dep 3845 FF +dep 3846 FF +dep 3847 FF +dep 3848 FF +dep 3849 FF +dep 384A FF +dep 384B FF +dep 384C FF +dep 384D FF +dep 384E FF +dep 384F FF +dep 3850 FF +dep 3851 FF +dep 3852 FF +dep 3853 FF +dep 3854 FF +dep 3855 FF +dep 3856 FF +dep 3857 FF +dep 3858 FF +dep 3859 FF +dep 385A FF +dep 385B FF +dep 385C FF +dep 385D FF +dep 385E FF +dep 385F FF +dep 3860 FF +dep 3861 FF +dep 3862 FF +dep 3863 FF +dep 3864 FF +dep 3865 FF +dep 3866 FF +dep 3867 FF +dep 3868 FF +dep 3869 FF +dep 386A FF +dep 386B FF +dep 386C FF +dep 386D FF +dep 386E FF +dep 386F FF +dep 3870 FF +dep 3871 FF +dep 3872 FF +dep 3873 FF +dep 3874 FF +dep 3875 FF +dep 3876 FF +dep 3877 FF +dep 3878 FF +dep 3879 FF +dep 387A FF +dep 387B FF +dep 387C FF +dep 387D FF +dep 387E FF +dep 387F FF +dep 3880 FF +dep 3881 FF +dep 3882 FF +dep 3883 FF +dep 3884 FF +dep 3885 FF +dep 3886 FF +dep 3887 FF +dep 3888 FF +dep 3889 FF +dep 388A FF +dep 388B FF +dep 388C FF +dep 388D FF +dep 388E FF +dep 388F FF +dep 3890 FF +dep 3891 FF +dep 3892 FF +dep 3893 FF +dep 3894 FF +dep 3895 FF +dep 3896 FF +dep 3897 FF +dep 3898 33 +dep 3899 31 +dep 389A 33 +dep 389B 41 +dep 389C FF +dep 389D FF +dep 389E FF +dep 389F FF +dep 38A0 FF +dep 38A1 FF +dep 38A2 FF +dep 38A3 FF +dep 38A4 FF +dep 38A5 FF +dep 38A6 FF +dep 38A7 FF +dep 38A8 FF +dep 38A9 FF +dep 38AA FF +dep 38AB FF +dep 38AC FF +dep 38AD FF +dep 38AE FF +dep 38AF FF +dep 38B0 FF +dep 38B1 FF +dep 38B2 FF +dep 38B3 FF +dep 38B4 FF +dep 38B5 FF +dep 38B6 FF +dep 38B7 FF +dep 38B8 FF +dep 38B9 FF +dep 38BA FF +dep 38BB FF +dep 38BC FF +dep 38BD FF +dep 38BE FF +dep 38BF FF +dep 38C0 FF +dep 38C1 FF +dep 38C2 FF +dep 38C3 FF +dep 38C4 FF +dep 38C5 FF +dep 38C6 FF +dep 38C7 FF +dep 38C8 FF +dep 38C9 FF +dep 38CA FF +dep 38CB FF +dep 38CC FF +dep 38CD FF +dep 38CE FF +dep 38CF FF +dep 38D0 FF +dep 38D1 FF +dep 38D2 FF +dep 38D3 FF +dep 38D4 FF +dep 38D5 FF +dep 38D6 FF +dep 38D7 FF +dep 38D8 FF +dep 38D9 FF +dep 38DA FF +dep 38DB FF +dep 38DC FF +dep 38DD FF +dep 38DE FF +dep 38DF FF +dep 38E0 FF +dep 38E1 FF +dep 38E2 FF +dep 38E3 FF +dep 38E4 FF +dep 38E5 FF +dep 38E6 FF +dep 38E7 FF +dep 38E8 FF +dep 38E9 FF +dep 38EA FF +dep 38EB FF +dep 38EC FF +dep 38ED FF +dep 38EE FF +dep 38EF FF +dep 38F0 FF +dep 38F1 FF +dep 38F2 FF +dep 38F3 FF +dep 38F4 FF +dep 38F5 FF +dep 38F6 FF +dep 38F7 FF +dep 38F8 FF +dep 38F9 FF +dep 38FA FF +dep 38FB FF +dep 38FC FF +dep 38FD FF +dep 38FE FF +dep 38FF FF +dep 3900 FF +dep 3901 FF +dep 3902 FF +dep 3903 FF +dep 3904 FF +dep 3905 FF +dep 3906 FF +dep 3907 FF +dep 3908 FF +dep 3909 FF +dep 390A FF +dep 390B FF +dep 390C FF +dep 390D FF +dep 390E FF +dep 390F FF +dep 3910 FF +dep 3911 FF +dep 3912 FF +dep 3913 FF +dep 3914 FF +dep 3915 FF +dep 3916 FF +dep 3917 FF +dep 3918 FF +dep 3919 FF +dep 391A FF +dep 391B FF +dep 391C FF +dep 391D FF +dep 391E FF +dep 391F FF +dep 3920 FF +dep 3921 FF +dep 3922 FF +dep 3923 FF +dep 3924 FF +dep 3925 FF +dep 3926 FF +dep 3927 FF +dep 3928 FF +dep 3929 FF +dep 392A FF +dep 392B FF +dep 392C FF +dep 392D FF +dep 392E FF +dep 392F FF +dep 3930 FF +dep 3931 FF +dep 3932 FF +dep 3933 FF +dep 3934 FF +dep 3935 FF +dep 3936 FF +dep 3937 FF +dep 3938 FF +dep 3939 FF +dep 393A FF +dep 393B FF +dep 393C FF +dep 393D FF +dep 393E FF +dep 393F FF +dep 3940 FF +dep 3941 FF +dep 3942 FF +dep 3943 FF +dep 3944 FF +dep 3945 FF +dep 3946 FF +dep 3947 FF +dep 3948 FF +dep 3949 FF +dep 394A FF +dep 394B FF +dep 394C FF +dep 394D FF +dep 394E FF +dep 394F FF +dep 3950 FF +dep 3951 FF +dep 3952 FF +dep 3953 FF +dep 3954 FF +dep 3955 FF +dep 3956 FF +dep 3957 FF +dep 3958 FF +dep 3959 FF +dep 395A FF +dep 395B FF +dep 395C FF +dep 395D FF +dep 395E FF +dep 395F FF +dep 3960 FF +dep 3961 FF +dep 3962 FF +dep 3963 FF +dep 3964 FF +dep 3965 FF +dep 3966 FF +dep 3967 FF +dep 3968 FF +dep 3969 FF +dep 396A FF +dep 396B FF +dep 396C FF +dep 396D FF +dep 396E FF +dep 396F FF +dep 3970 FF +dep 3971 FF +dep 3972 FF +dep 3973 FF +dep 3974 FF +dep 3975 FF +dep 3976 FF +dep 3977 FF +dep 3978 FF +dep 3979 FF +dep 397A FF +dep 397B FF +dep 397C FF +dep 397D FF +dep 397E FF +dep 397F FF +dep 3980 FF +dep 3981 FF +dep 3982 FF +dep 3983 FF +dep 3984 FF +dep 3985 FF +dep 3986 FF +dep 3987 FF +dep 3988 FF +dep 3989 FF +dep 398A FF +dep 398B FF +dep 398C FF +dep 398D FF +dep 398E FF +dep 398F FF +dep 3990 FF +dep 3991 FF +dep 3992 FF +dep 3993 FF +dep 3994 FF +dep 3995 FF +dep 3996 FF +dep 3997 FF +dep 3998 FF +dep 3999 FF +dep 399A FF +dep 399B FF +dep 399C FF +dep 399D FF +dep 399E FF +dep 399F FF +dep 39A0 FF +dep 39A1 FF +dep 39A2 FF +dep 39A3 FF +dep 39A4 FF +dep 39A5 FF +dep 39A6 FF +dep 39A7 FF +dep 39A8 FF +dep 39A9 FF +dep 39AA FF +dep 39AB FF +dep 39AC FF +dep 39AD FF +dep 39AE FF +dep 39AF FF +dep 39B0 FF +dep 39B1 FF +dep 39B2 FF +dep 39B3 FF +dep 39B4 FF +dep 39B5 FF +dep 39B6 FF +dep 39B7 FF +dep 39B8 FF +dep 39B9 FF +dep 39BA FF +dep 39BB FF +dep 39BC FF +dep 39BD FF +dep 39BE FF +dep 39BF FF +dep 39C0 FF +dep 39C1 FF +dep 39C2 FF +dep 39C3 FF +dep 39C4 FF +dep 39C5 FF +dep 39C6 FF +dep 39C7 FF +dep 39C8 FF +dep 39C9 FF +dep 39CA FF +dep 39CB FF +dep 39CC FF +dep 39CD FF +dep 39CE FF +dep 39CF FF +dep 39D0 FF +dep 39D1 FF +dep 39D2 FF +dep 39D3 FF +dep 39D4 FF +dep 39D5 FF +dep 39D6 FF +dep 39D7 FF +dep 39D8 FF +dep 39D9 FF +dep 39DA FF +dep 39DB FF +dep 39DC FF +dep 39DD FF +dep 39DE FF +dep 39DF FF +dep 39E0 FF +dep 39E1 FF +dep 39E2 FF +dep 39E3 FF +dep 39E4 FF +dep 39E5 FF +dep 39E6 FF +dep 39E7 FF +dep 39E8 FF +dep 39E9 FF +dep 39EA FF +dep 39EB FF +dep 39EC FF +dep 39ED FF +dep 39EE FF +dep 39EF FF +dep 39F0 FF +dep 39F1 FF +dep 39F2 FF +dep 39F3 FF +dep 39F4 FF +dep 39F5 FF +dep 39F6 FF +dep 39F7 FF +dep 39F8 FF +dep 39F9 FF +dep 39FA FF +dep 39FB FF +dep 39FC FF +dep 39FD FF +dep 39FE FF +dep 39FF FF +dep 3A00 FF +dep 3A01 FF +dep 3A02 FF +dep 3A03 FF +dep 3A04 FF +dep 3A05 FF +dep 3A06 FF +dep 3A07 FF +dep 3A08 FF +dep 3A09 FF +dep 3A0A FF +dep 3A0B FF +dep 3A0C FF +dep 3A0D FF +dep 3A0E FF +dep 3A0F FF +dep 3A10 FF +dep 3A11 FF +dep 3A12 FF +dep 3A13 FF +dep 3A14 FF +dep 3A15 FF +dep 3A16 FF +dep 3A17 FF +dep 3A18 FF +dep 3A19 FF +dep 3A1A FF +dep 3A1B FF +dep 3A1C FF +dep 3A1D FF +dep 3A1E FF +dep 3A1F FF +dep 3A20 FF +dep 3A21 FF +dep 3A22 FF +dep 3A23 FF +dep 3A24 FF +dep 3A25 FF +dep 3A26 FF +dep 3A27 FF +dep 3A28 FF +dep 3A29 FF +dep 3A2A FF +dep 3A2B FF +dep 3A2C FF +dep 3A2D FF +dep 3A2E FF +dep 3A2F FF +dep 3A30 FF +dep 3A31 FF +dep 3A32 FF +dep 3A33 FF +dep 3A34 FF +dep 3A35 FF +dep 3A36 FF +dep 3A37 FF +dep 3A38 FF +dep 3A39 FF +dep 3A3A FF +dep 3A3B FF +dep 3A3C FF +dep 3A3D FF +dep 3A3E FF +dep 3A3F FF +dep 3A40 FF +dep 3A41 FF +dep 3A42 FF +dep 3A43 FF +dep 3A44 FF +dep 3A45 FF +dep 3A46 FF +dep 3A47 FF +dep 3A48 FF +dep 3A49 FF +dep 3A4A FF +dep 3A4B FF +dep 3A4C FF +dep 3A4D FF +dep 3A4E FF +dep 3A4F FF +dep 3A50 FF +dep 3A51 FF +dep 3A52 FF +dep 3A53 FF +dep 3A54 FF +dep 3A55 FF +dep 3A56 FF +dep 3A57 FF +dep 3A58 FF +dep 3A59 FF +dep 3A5A FF +dep 3A5B FF +dep 3A5C FF +dep 3A5D FF +dep 3A5E FF +dep 3A5F FF +dep 3A60 FF +dep 3A61 FF +dep 3A62 FF +dep 3A63 FF +dep 3A64 FF +dep 3A65 FF +dep 3A66 FF +dep 3A67 FF +dep 3A68 FF +dep 3A69 FF +dep 3A6A FF +dep 3A6B FF +dep 3A6C FF +dep 3A6D FF +dep 3A6E FF +dep 3A6F FF +dep 3A70 FF +dep 3A71 FF +dep 3A72 FF +dep 3A73 FF +dep 3A74 FF +dep 3A75 FF +dep 3A76 FF +dep 3A77 FF +dep 3A78 FF +dep 3A79 FF +dep 3A7A FF +dep 3A7B FF +dep 3A7C FF +dep 3A7D FF +dep 3A7E FF +dep 3A7F FF +dep 3A80 FF +dep 3A81 FF +dep 3A82 FF +dep 3A83 FF +dep 3A84 FF +dep 3A85 FF +dep 3A86 FF +dep 3A87 FF +dep 3A88 FF +dep 3A89 FF +dep 3A8A FF +dep 3A8B FF +dep 3A8C FF +dep 3A8D FF +dep 3A8E FF +dep 3A8F FF +dep 3A90 FF +dep 3A91 FF +dep 3A92 FF +dep 3A93 FF +dep 3A94 FF +dep 3A95 FF +dep 3A96 FF +dep 3A97 FF +dep 3A98 FF +dep 3A99 FF +dep 3A9A FF +dep 3A9B FF +dep 3A9C FF +dep 3A9D FF +dep 3A9E FF +dep 3A9F FF +dep 3AA0 FF +dep 3AA1 FF +dep 3AA2 FF +dep 3AA3 FF +dep 3AA4 FF +dep 3AA5 FF +dep 3AA6 FF +dep 3AA7 FF +dep 3AA8 FF +dep 3AA9 FF +dep 3AAA FF +dep 3AAB FF +dep 3AAC FF +dep 3AAD FF +dep 3AAE FF +dep 3AAF FF +dep 3AB0 FF +dep 3AB1 FF +dep 3AB2 FF +dep 3AB3 FF +dep 3AB4 FF +dep 3AB5 FF +dep 3AB6 FF +dep 3AB7 FF +dep 3AB8 FF +dep 3AB9 FF +dep 3ABA FF +dep 3ABB FF +dep 3ABC FF +dep 3ABD FF +dep 3ABE FF +dep 3ABF FF +dep 3AC0 FF +dep 3AC1 FF +dep 3AC2 FF +dep 3AC3 FF +dep 3AC4 FF +dep 3AC5 FF +dep 3AC6 FF +dep 3AC7 FF +dep 3AC8 FF +dep 3AC9 FF +dep 3ACA FF +dep 3ACB FF +dep 3ACC FF +dep 3ACD FF +dep 3ACE FF +dep 3ACF FF +dep 3AD0 FF +dep 3AD1 FF +dep 3AD2 FF +dep 3AD3 FF +dep 3AD4 FF +dep 3AD5 FF +dep 3AD6 FF +dep 3AD7 FF +dep 3AD8 FF +dep 3AD9 FF +dep 3ADA FF +dep 3ADB FF +dep 3ADC FF +dep 3ADD FF +dep 3ADE FF +dep 3ADF FF +dep 3AE0 FF +dep 3AE1 FF +dep 3AE2 FF +dep 3AE3 FF +dep 3AE4 FF +dep 3AE5 FF +dep 3AE6 FF +dep 3AE7 FF +dep 3AE8 FF +dep 3AE9 FF +dep 3AEA FF +dep 3AEB FF +dep 3AEC FF +dep 3AED FF +dep 3AEE FF +dep 3AEF FF +dep 3AF0 FF +dep 3AF1 FF +dep 3AF2 FF +dep 3AF3 FF +dep 3AF4 FF +dep 3AF5 FF +dep 3AF6 FF +dep 3AF7 FF +dep 3AF8 FF +dep 3AF9 FF +dep 3AFA FF +dep 3AFB FF +dep 3AFC FF +dep 3AFD FF +dep 3AFE FF +dep 3AFF FF +dep 3B00 FF +dep 3B01 FF +dep 3B02 FF +dep 3B03 FF +dep 3B04 FF +dep 3B05 FF +dep 3B06 FF +dep 3B07 FF +dep 3B08 FF +dep 3B09 FF +dep 3B0A FF +dep 3B0B FF +dep 3B0C FF +dep 3B0D FF +dep 3B0E FF +dep 3B0F FF +dep 3B10 FF +dep 3B11 FF +dep 3B12 FF +dep 3B13 FF +dep 3B14 FF +dep 3B15 FF +dep 3B16 FF +dep 3B17 FF +dep 3B18 FF +dep 3B19 FF +dep 3B1A FF +dep 3B1B FF +dep 3B1C FF +dep 3B1D FF +dep 3B1E FF +dep 3B1F FF +dep 3B20 FF +dep 3B21 FF +dep 3B22 FF +dep 3B23 FF +dep 3B24 FF +dep 3B25 FF +dep 3B26 FF +dep 3B27 FF +dep 3B28 FF +dep 3B29 FF +dep 3B2A FF +dep 3B2B FF +dep 3B2C FF +dep 3B2D FF +dep 3B2E FF +dep 3B2F FF +dep 3B30 FF +dep 3B31 FF +dep 3B32 FF +dep 3B33 FF +dep 3B34 FF +dep 3B35 FF +dep 3B36 FF +dep 3B37 FF +dep 3B38 FF +dep 3B39 FF +dep 3B3A FF +dep 3B3B FF +dep 3B3C FF +dep 3B3D FF +dep 3B3E FF +dep 3B3F FF +dep 3B40 FF +dep 3B41 FF +dep 3B42 FF +dep 3B43 FF +dep 3B44 FF +dep 3B45 FF +dep 3B46 FF +dep 3B47 FF +dep 3B48 FF +dep 3B49 FF +dep 3B4A FF +dep 3B4B FF +dep 3B4C FF +dep 3B4D FF +dep 3B4E FF +dep 3B4F FF +dep 3B50 FF +dep 3B51 FF +dep 3B52 FF +dep 3B53 FF +dep 3B54 FF +dep 3B55 FF +dep 3B56 FF +dep 3B57 FF +dep 3B58 FF +dep 3B59 FF +dep 3B5A FF +dep 3B5B FF +dep 3B5C FF +dep 3B5D FF +dep 3B5E FF +dep 3B5F FF +dep 3B60 FF +dep 3B61 FF +dep 3B62 FF +dep 3B63 FF +dep 3B64 FF +dep 3B65 FF +dep 3B66 FF +dep 3B67 FF +dep 3B68 FF +dep 3B69 FF +dep 3B6A FF +dep 3B6B FF +dep 3B6C FF +dep 3B6D FF +dep 3B6E FF +dep 3B6F FF +dep 3B70 FF +dep 3B71 FF +dep 3B72 FF +dep 3B73 FF +dep 3B74 FF +dep 3B75 FF +dep 3B76 FF +dep 3B77 FF +dep 3B78 FF +dep 3B79 FF +dep 3B7A FF +dep 3B7B FF +dep 3B7C FF +dep 3B7D FF +dep 3B7E FF +dep 3B7F FF +dep 3B80 FF +dep 3B81 FF +dep 3B82 FF +dep 3B83 FF +dep 3B84 FF +dep 3B85 FF +dep 3B86 FF +dep 3B87 FF +dep 3B88 FF +dep 3B89 FF +dep 3B8A FF +dep 3B8B FF +dep 3B8C FF +dep 3B8D FF +dep 3B8E FF +dep 3B8F FF +dep 3B90 FF +dep 3B91 FF +dep 3B92 FF +dep 3B93 FF +dep 3B94 FF +dep 3B95 FF +dep 3B96 FF +dep 3B97 FF +dep 3B98 FF +dep 3B99 FF +dep 3B9A FF +dep 3B9B FF +dep 3B9C FF +dep 3B9D FF +dep 3B9E FF +dep 3B9F FF +dep 3BA0 FF +dep 3BA1 FF +dep 3BA2 FF +dep 3BA3 FF +dep 3BA4 FF +dep 3BA5 FF +dep 3BA6 FF +dep 3BA7 FF +dep 3BA8 FF +dep 3BA9 FF +dep 3BAA FF +dep 3BAB FF +dep 3BAC FF +dep 3BAD FF +dep 3BAE FF +dep 3BAF FF +dep 3BB0 FF +dep 3BB1 FF +dep 3BB2 FF +dep 3BB3 FF +dep 3BB4 FF +dep 3BB5 FF +dep 3BB6 FF +dep 3BB7 FF +dep 3BB8 FF +dep 3BB9 FF +dep 3BBA FF +dep 3BBB FF +dep 3BBC FF +dep 3BBD FF +dep 3BBE FF +dep 3BBF FF +dep 3BC0 FF +dep 3BC1 FF +dep 3BC2 FF +dep 3BC3 FF +dep 3BC4 FF +dep 3BC5 FF +dep 3BC6 FF +dep 3BC7 FF +dep 3BC8 FF +dep 3BC9 FF +dep 3BCA FF +dep 3BCB FF +dep 3BCC FF +dep 3BCD FF +dep 3BCE FF +dep 3BCF FF +dep 3BD0 FF +dep 3BD1 FF +dep 3BD2 FF +dep 3BD3 FF +dep 3BD4 FF +dep 3BD5 FF +dep 3BD6 FF +dep 3BD7 FF +dep 3BD8 FF +dep 3BD9 FF +dep 3BDA FF +dep 3BDB FF +dep 3BDC FF +dep 3BDD FF +dep 3BDE FF +dep 3BDF FF +dep 3BE0 FF +dep 3BE1 FF +dep 3BE2 FF +dep 3BE3 FF +dep 3BE4 FF +dep 3BE5 FF +dep 3BE6 FF +dep 3BE7 FF +dep 3BE8 FF +dep 3BE9 FF +dep 3BEA FF +dep 3BEB FF +dep 3BEC FF +dep 3BED FF +dep 3BEE FF +dep 3BEF FF +dep 3BF0 FF +dep 3BF1 FF +dep 3BF2 FF +dep 3BF3 FF +dep 3BF4 FF +dep 3BF5 FF +dep 3BF6 FF +dep 3BF7 FF +dep 3BF8 FF +dep 3BF9 FF +dep 3BFA FF +dep 3BFB FF +dep 3BFC FF +dep 3BFD FF +dep 3BFE FF +dep 3BFF FF +dep 3C00 FF +dep 3C01 FF +dep 3C02 FF +dep 3C03 FF +dep 3C04 FF +dep 3C05 FF +dep 3C06 FF +dep 3C07 FF +dep 3C08 FF +dep 3C09 FF +dep 3C0A FF +dep 3C0B FF +dep 3C0C FF +dep 3C0D FF +dep 3C0E FF +dep 3C0F FF +dep 3C10 FF +dep 3C11 FF +dep 3C12 FF +dep 3C13 FF +dep 3C14 FF +dep 3C15 FF +dep 3C16 FF +dep 3C17 FF +dep 3C18 FF +dep 3C19 FF +dep 3C1A FF +dep 3C1B FF +dep 3C1C FF +dep 3C1D FF +dep 3C1E FF +dep 3C1F FF +dep 3C20 FF +dep 3C21 FF +dep 3C22 FF +dep 3C23 FF +dep 3C24 FF +dep 3C25 FF +dep 3C26 FF +dep 3C27 FF +dep 3C28 FF +dep 3C29 FF +dep 3C2A FF +dep 3C2B FF +dep 3C2C FF +dep 3C2D FF +dep 3C2E FF +dep 3C2F FF +dep 3C30 FF +dep 3C31 FF +dep 3C32 FF +dep 3C33 FF +dep 3C34 FF +dep 3C35 FF +dep 3C36 FF +dep 3C37 FF +dep 3C38 FF +dep 3C39 FF +dep 3C3A FF +dep 3C3B FF +dep 3C3C FF +dep 3C3D FF +dep 3C3E FF +dep 3C3F FF +dep 3C40 FF +dep 3C41 FF +dep 3C42 FF +dep 3C43 FF +dep 3C44 FF +dep 3C45 FF +dep 3C46 FF +dep 3C47 FF +dep 3C48 FF +dep 3C49 FF +dep 3C4A FF +dep 3C4B FF +dep 3C4C FF +dep 3C4D FF +dep 3C4E FF +dep 3C4F FF +dep 3C50 FF +dep 3C51 FF +dep 3C52 FF +dep 3C53 FF +dep 3C54 FF +dep 3C55 FF +dep 3C56 FF +dep 3C57 FF +dep 3C58 FF +dep 3C59 FF +dep 3C5A FF +dep 3C5B FF +dep 3C5C FF +dep 3C5D FF +dep 3C5E FF +dep 3C5F FF +dep 3C60 FF +dep 3C61 FF +dep 3C62 FF +dep 3C63 FF +dep 3C64 FF +dep 3C65 FF +dep 3C66 FF +dep 3C67 FF +dep 3C68 FF +dep 3C69 FF +dep 3C6A FF +dep 3C6B FF +dep 3C6C FF +dep 3C6D FF +dep 3C6E FF +dep 3C6F FF +dep 3C70 FF +dep 3C71 FF +dep 3C72 FF +dep 3C73 FF +dep 3C74 FF +dep 3C75 FF +dep 3C76 FF +dep 3C77 FF +dep 3C78 FF +dep 3C79 FF +dep 3C7A FF +dep 3C7B FF +dep 3C7C FF +dep 3C7D FF +dep 3C7E FF +dep 3C7F FF +dep 3C80 FF +dep 3C81 FF +dep 3C82 FF +dep 3C83 FF +dep 3C84 FF +dep 3C85 FF +dep 3C86 FF +dep 3C87 FF +dep 3C88 FF +dep 3C89 FF +dep 3C8A FF +dep 3C8B FF +dep 3C8C FF +dep 3C8D FF +dep 3C8E FF +dep 3C8F FF +dep 3C90 FF +dep 3C91 FF +dep 3C92 FF +dep 3C93 FF +dep 3C94 FF +dep 3C95 FF +dep 3C96 FF +dep 3C97 FF +dep 3C98 FF +dep 3C99 FF +dep 3C9A FF +dep 3C9B FF +dep 3C9C FF +dep 3C9D FF +dep 3C9E FF +dep 3C9F FF +dep 3CA0 FF +dep 3CA1 FF +dep 3CA2 FF +dep 3CA3 FF +dep 3CA4 FF +dep 3CA5 FF +dep 3CA6 FF +dep 3CA7 FF +dep 3CA8 FF +dep 3CA9 FF +dep 3CAA FF +dep 3CAB FF +dep 3CAC FF +dep 3CAD FF +dep 3CAE FF +dep 3CAF FF +dep 3CB0 FF +dep 3CB1 FF +dep 3CB2 FF +dep 3CB3 FF +dep 3CB4 FF +dep 3CB5 FF +dep 3CB6 FF +dep 3CB7 FF +dep 3CB8 FF +dep 3CB9 FF +dep 3CBA FF +dep 3CBB FF +dep 3CBC FF +dep 3CBD FF +dep 3CBE FF +dep 3CBF FF +dep 3CC0 FF +dep 3CC1 FF +dep 3CC2 FF +dep 3CC3 FF +dep 3CC4 FF +dep 3CC5 FF +dep 3CC6 FF +dep 3CC7 FF +dep 3CC8 FF +dep 3CC9 FF +dep 3CCA FF +dep 3CCB FF +dep 3CCC FF +dep 3CCD FF +dep 3CCE FF +dep 3CCF FF +dep 3CD0 FF +dep 3CD1 FF +dep 3CD2 FF +dep 3CD3 FF +dep 3CD4 FF +dep 3CD5 FF +dep 3CD6 FF +dep 3CD7 FF +dep 3CD8 FF +dep 3CD9 FF +dep 3CDA FF +dep 3CDB FF +dep 3CDC FF +dep 3CDD FF +dep 3CDE FF +dep 3CDF FF +dep 3CE0 FF +dep 3CE1 FF +dep 3CE2 FF +dep 3CE3 FF +dep 3CE4 FF +dep 3CE5 FF +dep 3CE6 FF +dep 3CE7 FF +dep 3CE8 FF +dep 3CE9 FF +dep 3CEA FF +dep 3CEB FF +dep 3CEC FF +dep 3CED FF +dep 3CEE FF +dep 3CEF FF +dep 3CF0 FF +dep 3CF1 FF +dep 3CF2 FF +dep 3CF3 FF +dep 3CF4 FF +dep 3CF5 FF +dep 3CF6 FF +dep 3CF7 FF +dep 3CF8 FF +dep 3CF9 FF +dep 3CFA FF +dep 3CFB FF +dep 3CFC FF +dep 3CFD FF +dep 3CFE FF +dep 3CFF FF +dep 3D00 FF +dep 3D01 FF +dep 3D02 FF +dep 3D03 FF +dep 3D04 FF +dep 3D05 FF +dep 3D06 FF +dep 3D07 FF +dep 3D08 FF +dep 3D09 FF +dep 3D0A FF +dep 3D0B FF +dep 3D0C FF +dep 3D0D FF +dep 3D0E FF +dep 3D0F FF +dep 3D10 FF +dep 3D11 FF +dep 3D12 FF +dep 3D13 FF +dep 3D14 FF +dep 3D15 FF +dep 3D16 FF +dep 3D17 FF +dep 3D18 FF +dep 3D19 FF +dep 3D1A FF +dep 3D1B FF +dep 3D1C FF +dep 3D1D FF +dep 3D1E FF +dep 3D1F FF +dep 3D20 FF +dep 3D21 FF +dep 3D22 FF +dep 3D23 FF +dep 3D24 FF +dep 3D25 FF +dep 3D26 FF +dep 3D27 FF +dep 3D28 FF +dep 3D29 FF +dep 3D2A FF +dep 3D2B FF +dep 3D2C FF +dep 3D2D FF +dep 3D2E FF +dep 3D2F FF +dep 3D30 FF +dep 3D31 FF +dep 3D32 FF +dep 3D33 FF +dep 3D34 FF +dep 3D35 FF +dep 3D36 FF +dep 3D37 FF +dep 3D38 FF +dep 3D39 FF +dep 3D3A FF +dep 3D3B FF +dep 3D3C FF +dep 3D3D FF +dep 3D3E FF +dep 3D3F FF +dep 3D40 FF +dep 3D41 FF +dep 3D42 FF +dep 3D43 FF +dep 3D44 FF +dep 3D45 FF +dep 3D46 FF +dep 3D47 FF +dep 3D48 FF +dep 3D49 FF +dep 3D4A FF +dep 3D4B FF +dep 3D4C FF +dep 3D4D FF +dep 3D4E FF +dep 3D4F FF +dep 3D50 FF +dep 3D51 FF +dep 3D52 FF +dep 3D53 FF +dep 3D54 FF +dep 3D55 FF +dep 3D56 FF +dep 3D57 FF +dep 3D58 FF +dep 3D59 FF +dep 3D5A FF +dep 3D5B FF +dep 3D5C FF +dep 3D5D FF +dep 3D5E FF +dep 3D5F FF +dep 3D60 FF +dep 3D61 FF +dep 3D62 FF +dep 3D63 FF +dep 3D64 FF +dep 3D65 FF +dep 3D66 FF +dep 3D67 FF +dep 3D68 FF +dep 3D69 FF +dep 3D6A FF +dep 3D6B FF +dep 3D6C FF +dep 3D6D FF +dep 3D6E FF +dep 3D6F FF +dep 3D70 FF +dep 3D71 FF +dep 3D72 FF +dep 3D73 FF +dep 3D74 FF +dep 3D75 FF +dep 3D76 FF +dep 3D77 FF +dep 3D78 FF +dep 3D79 FF +dep 3D7A FF +dep 3D7B FF +dep 3D7C FF +dep 3D7D FF +dep 3D7E FF +dep 3D7F FF +dep 3D80 FF +dep 3D81 FF +dep 3D82 FF +dep 3D83 FF +dep 3D84 FF +dep 3D85 FF +dep 3D86 FF +dep 3D87 FF +dep 3D88 FF +dep 3D89 FF +dep 3D8A FF +dep 3D8B FF +dep 3D8C FF +dep 3D8D FF +dep 3D8E FF +dep 3D8F FF +dep 3D90 FF +dep 3D91 FF +dep 3D92 FF +dep 3D93 FF +dep 3D94 FF +dep 3D95 FF +dep 3D96 FF +dep 3D97 FF +dep 3D98 FF +dep 3D99 FF +dep 3D9A FF +dep 3D9B FF +dep 3D9C FF +dep 3D9D FF +dep 3D9E FF +dep 3D9F FF +dep 3DA0 FF +dep 3DA1 FF +dep 3DA2 FF +dep 3DA3 FF +dep 3DA4 FF +dep 3DA5 FF +dep 3DA6 FF +dep 3DA7 FF +dep 3DA8 FF +dep 3DA9 FF +dep 3DAA FF +dep 3DAB FF +dep 3DAC FF +dep 3DAD FF +dep 3DAE FF +dep 3DAF FF +dep 3DB0 FF +dep 3DB1 FF +dep 3DB2 FF +dep 3DB3 FF +dep 3DB4 FF +dep 3DB5 FF +dep 3DB6 FF +dep 3DB7 FF +dep 3DB8 FF +dep 3DB9 FF +dep 3DBA FF +dep 3DBB FF +dep 3DBC FF +dep 3DBD FF +dep 3DBE FF +dep 3DBF FF +dep 3DC0 FF +dep 3DC1 FF +dep 3DC2 FF +dep 3DC3 FF +dep 3DC4 FF +dep 3DC5 FF +dep 3DC6 FF +dep 3DC7 FF +dep 3DC8 FF +dep 3DC9 FF +dep 3DCA FF +dep 3DCB FF +dep 3DCC FF +dep 3DCD FF +dep 3DCE FF +dep 3DCF FF +dep 3DD0 FF +dep 3DD1 FF +dep 3DD2 FF +dep 3DD3 FF +dep 3DD4 FF +dep 3DD5 FF +dep 3DD6 FF +dep 3DD7 FF +dep 3DD8 FF +dep 3DD9 FF +dep 3DDA FF +dep 3DDB FF +dep 3DDC FF +dep 3DDD FF +dep 3DDE FF +dep 3DDF FF +dep 3DE0 FF +dep 3DE1 FF +dep 3DE2 FF +dep 3DE3 FF +dep 3DE4 FF +dep 3DE5 FF +dep 3DE6 FF +dep 3DE7 FF +dep 3DE8 FF +dep 3DE9 FF +dep 3DEA FF +dep 3DEB FF +dep 3DEC FF +dep 3DED FF +dep 3DEE FF +dep 3DEF FF +dep 3DF0 FF +dep 3DF1 FF +dep 3DF2 FF +dep 3DF3 FF +dep 3DF4 FF +dep 3DF5 FF +dep 3DF6 FF +dep 3DF7 FF +dep 3DF8 FF +dep 3DF9 FF +dep 3DFA FF +dep 3DFB FF +dep 3DFC FF +dep 3DFD FF +dep 3DFE FF +dep 3DFF FF +dep 3E00 FF +dep 3E01 FF +dep 3E02 FF +dep 3E03 FF +dep 3E04 FF +dep 3E05 FF +dep 3E06 FF +dep 3E07 FF +dep 3E08 FF +dep 3E09 FF +dep 3E0A FF +dep 3E0B FF +dep 3E0C FF +dep 3E0D FF +dep 3E0E FF +dep 3E0F FF +dep 3E10 FF +dep 3E11 FF +dep 3E12 FF +dep 3E13 FF +dep 3E14 FF +dep 3E15 FF +dep 3E16 FF +dep 3E17 FF +dep 3E18 FF +dep 3E19 FF +dep 3E1A FF +dep 3E1B FF +dep 3E1C FF +dep 3E1D FF +dep 3E1E FF +dep 3E1F FF +dep 3E20 FF +dep 3E21 FF +dep 3E22 FF +dep 3E23 FF +dep 3E24 FF +dep 3E25 FF +dep 3E26 FF +dep 3E27 FF +dep 3E28 FF +dep 3E29 FF +dep 3E2A FF +dep 3E2B FF +dep 3E2C FF +dep 3E2D FF +dep 3E2E FF +dep 3E2F FF +dep 3E30 FF +dep 3E31 FF +dep 3E32 FF +dep 3E33 FF +dep 3E34 FF +dep 3E35 FF +dep 3E36 FF +dep 3E37 FF +dep 3E38 FF +dep 3E39 FF +dep 3E3A FF +dep 3E3B FF +dep 3E3C FF +dep 3E3D FF +dep 3E3E FF +dep 3E3F FF +dep 3E40 FF +dep 3E41 FF +dep 3E42 FF +dep 3E43 FF +dep 3E44 FF +dep 3E45 FF +dep 3E46 FF +dep 3E47 FF +dep 3E48 FF +dep 3E49 FF +dep 3E4A FF +dep 3E4B FF +dep 3E4C FF +dep 3E4D FF +dep 3E4E FF +dep 3E4F FF +dep 3E50 FF +dep 3E51 FF +dep 3E52 FF +dep 3E53 FF +dep 3E54 FF +dep 3E55 FF +dep 3E56 FF +dep 3E57 FF +dep 3E58 FF +dep 3E59 FF +dep 3E5A FF +dep 3E5B FF +dep 3E5C FF +dep 3E5D FF +dep 3E5E FF +dep 3E5F FF +dep 3E60 FF +dep 3E61 FF +dep 3E62 FF +dep 3E63 FF +dep 3E64 FF +dep 3E65 FF +dep 3E66 FF +dep 3E67 FF +dep 3E68 FF +dep 3E69 FF +dep 3E6A FF +dep 3E6B FF +dep 3E6C FF +dep 3E6D FF +dep 3E6E FF +dep 3E6F FF +dep 3E70 FF +dep 3E71 FF +dep 3E72 FF +dep 3E73 FF +dep 3E74 FF +dep 3E75 FF +dep 3E76 FF +dep 3E77 FF +dep 3E78 FF +dep 3E79 FF +dep 3E7A FF +dep 3E7B FF +dep 3E7C FF +dep 3E7D FF +dep 3E7E FF +dep 3E7F FF +dep 3E80 FF +dep 3E81 FF +dep 3E82 FF +dep 3E83 FF +dep 3E84 FF +dep 3E85 FF +dep 3E86 FF +dep 3E87 FF +dep 3E88 FF +dep 3E89 FF +dep 3E8A FF +dep 3E8B FF +dep 3E8C FF +dep 3E8D FF +dep 3E8E FF +dep 3E8F FF +dep 3E90 FF +dep 3E91 FF +dep 3E92 FF +dep 3E93 FF +dep 3E94 FF +dep 3E95 FF +dep 3E96 FF +dep 3E97 FF +dep 3E98 FF +dep 3E99 FF +dep 3E9A FF +dep 3E9B FF +dep 3E9C FF +dep 3E9D FF +dep 3E9E FF +dep 3E9F FF +dep 3EA0 FF +dep 3EA1 FF +dep 3EA2 FF +dep 3EA3 FF +dep 3EA4 FF +dep 3EA5 FF +dep 3EA6 FF +dep 3EA7 FF +dep 3EA8 FF +dep 3EA9 FF +dep 3EAA FF +dep 3EAB FF +dep 3EAC FF +dep 3EAD FF +dep 3EAE FF +dep 3EAF FF +dep 3EB0 FF +dep 3EB1 FF +dep 3EB2 FF +dep 3EB3 FF +dep 3EB4 FF +dep 3EB5 FF +dep 3EB6 FF +dep 3EB7 FF +dep 3EB8 FF +dep 3EB9 FF +dep 3EBA FF +dep 3EBB FF +dep 3EBC FF +dep 3EBD FF +dep 3EBE FF +dep 3EBF FF +dep 3EC0 FF +dep 3EC1 FF +dep 3EC2 FF +dep 3EC3 FF +dep 3EC4 FF +dep 3EC5 FF +dep 3EC6 FF +dep 3EC7 FF +dep 3EC8 FF +dep 3EC9 FF +dep 3ECA FF +dep 3ECB FF +dep 3ECC FF +dep 3ECD FF +dep 3ECE FF +dep 3ECF FF +dep 3ED0 FF +dep 3ED1 FF +dep 3ED2 FF +dep 3ED3 FF +dep 3ED4 FF +dep 3ED5 FF +dep 3ED6 FF +dep 3ED7 FF +dep 3ED8 FF +dep 3ED9 FF +dep 3EDA FF +dep 3EDB FF +dep 3EDC FF +dep 3EDD FF +dep 3EDE FF +dep 3EDF FF +dep 3EE0 FF +dep 3EE1 FF +dep 3EE2 FF +dep 3EE3 FF +dep 3EE4 FF +dep 3EE5 FF +dep 3EE6 FF +dep 3EE7 FF +dep 3EE8 FF +dep 3EE9 FF +dep 3EEA FF +dep 3EEB FF +dep 3EEC FF +dep 3EED FF +dep 3EEE FF +dep 3EEF FF +dep 3EF0 FF +dep 3EF1 FF +dep 3EF2 FF +dep 3EF3 FF +dep 3EF4 FF +dep 3EF5 FF +dep 3EF6 FF +dep 3EF7 FF +dep 3EF8 FF +dep 3EF9 FF +dep 3EFA FF +dep 3EFB FF +dep 3EFC FF +dep 3EFD FF +dep 3EFE FF +dep 3EFF FF +dep 3F00 FF +dep 3F01 FF +dep 3F02 FF +dep 3F03 FF +dep 3F04 FF +dep 3F05 FF +dep 3F06 FF +dep 3F07 FF +dep 3F08 FF +dep 3F09 FF +dep 3F0A FF +dep 3F0B FF +dep 3F0C FF +dep 3F0D FF +dep 3F0E FF +dep 3F0F FF +dep 3F10 FF +dep 3F11 FF +dep 3F12 FF +dep 3F13 FF +dep 3F14 FF +dep 3F15 FF +dep 3F16 FF +dep 3F17 FF +dep 3F18 FF +dep 3F19 FF +dep 3F1A FF +dep 3F1B FF +dep 3F1C FF +dep 3F1D FF +dep 3F1E FF +dep 3F1F FF +dep 3F20 FF +dep 3F21 FF +dep 3F22 FF +dep 3F23 FF +dep 3F24 FF +dep 3F25 FF +dep 3F26 FF +dep 3F27 FF +dep 3F28 FF +dep 3F29 FF +dep 3F2A FF +dep 3F2B FF +dep 3F2C FF +dep 3F2D FF +dep 3F2E FF +dep 3F2F FF +dep 3F30 FF +dep 3F31 FF +dep 3F32 FF +dep 3F33 FF +dep 3F34 FF +dep 3F35 FF +dep 3F36 FF +dep 3F37 FF +dep 3F38 FF +dep 3F39 FF +dep 3F3A FF +dep 3F3B FF +dep 3F3C FF +dep 3F3D FF +dep 3F3E FF +dep 3F3F FF +dep 3F40 FF +dep 3F41 FF +dep 3F42 FF +dep 3F43 FF +dep 3F44 FF +dep 3F45 FF +dep 3F46 FF +dep 3F47 FF +dep 3F48 FF +dep 3F49 FF +dep 3F4A FF +dep 3F4B FF +dep 3F4C FF +dep 3F4D FF +dep 3F4E FF +dep 3F4F FF +dep 3F50 FF +dep 3F51 FF +dep 3F52 FF +dep 3F53 FF +dep 3F54 FF +dep 3F55 FF +dep 3F56 FF +dep 3F57 FF +dep 3F58 FF +dep 3F59 FF +dep 3F5A FF +dep 3F5B FF +dep 3F5C FF +dep 3F5D FF +dep 3F5E FF +dep 3F5F FF +dep 3F60 FF +dep 3F61 FF +dep 3F62 FF +dep 3F63 FF +dep 3F64 FF +dep 3F65 FF +dep 3F66 FF +dep 3F67 FF +dep 3F68 FF +dep 3F69 FF +dep 3F6A FF +dep 3F6B FF +dep 3F6C FF +dep 3F6D FF +dep 3F6E FF +dep 3F6F FF +dep 3F70 FF +dep 3F71 FF +dep 3F72 FF +dep 3F73 FF +dep 3F74 FF +dep 3F75 FF +dep 3F76 FF +dep 3F77 FF +dep 3F78 FF +dep 3F79 FF +dep 3F7A FF +dep 3F7B FF +dep 3F7C FF +dep 3F7D FF +dep 3F7E FF +dep 3F7F FF +dep 3F80 FF +dep 3F81 FF +dep 3F82 FF +dep 3F83 FF +dep 3F84 FF +dep 3F85 FF +dep 3F86 FF +dep 3F87 FF +dep 3F88 FF +dep 3F89 FF +dep 3F8A FF +dep 3F8B FF +dep 3F8C FF +dep 3F8D FF +dep 3F8E FF +dep 3F8F FF +dep 3F90 FF +dep 3F91 FF +dep 3F92 FF +dep 3F93 FF +dep 3F94 FF +dep 3F95 FF +dep 3F96 FF +dep 3F97 FF +dep 3F98 FF +dep 3F99 FF +dep 3F9A FF +dep 3F9B FF +dep 3F9C FF +dep 3F9D FF +dep 3F9E FF +dep 3F9F FF +dep 3FA0 FF +dep 3FA1 FF +dep 3FA2 FF +dep 3FA3 FF +dep 3FA4 FF +dep 3FA5 FF +dep 3FA6 FF +dep 3FA7 FF +dep 3FA8 FF +dep 3FA9 FF +dep 3FAA FF +dep 3FAB FF +dep 3FAC FF +dep 3FAD FF +dep 3FAE FF +dep 3FAF FF +dep 3FB0 FF +dep 3FB1 FF +dep 3FB2 FF +dep 3FB3 FF +dep 3FB4 FF +dep 3FB5 FF +dep 3FB6 FF +dep 3FB7 FF +dep 3FB8 FF +dep 3FB9 FF +dep 3FBA FF +dep 3FBB FF +dep 3FBC FF +dep 3FBD FF +dep 3FBE FF +dep 3FBF FF +dep 3FC0 FF +dep 3FC1 FF +dep 3FC2 FF +dep 3FC3 FF +dep 3FC4 FF +dep 3FC5 FF +dep 3FC6 FF +dep 3FC7 FF +dep 3FC8 FF +dep 3FC9 FF +dep 3FCA FF +dep 3FCB FF +dep 3FCC FF +dep 3FCD FF +dep 3FCE FF +dep 3FCF FF +dep 3FD0 FF +dep 3FD1 FF +dep 3FD2 FF +dep 3FD3 FF +dep 3FD4 FF +dep 3FD5 FF +dep 3FD6 FF +dep 3FD7 FF +dep 3FD8 FF +dep 3FD9 FF +dep 3FDA FF +dep 3FDB FF +dep 3FDC FF +dep 3FDD FF +dep 3FDE FF +dep 3FDF FF +dep 3FE0 FF +dep 3FE1 FF +dep 3FE2 FF +dep 3FE3 FF +dep 3FE4 FF +dep 3FE5 FF +dep 3FE6 FF +dep 3FE7 FF +dep 3FE8 FF +dep 3FE9 FF +dep 3FEA FF +dep 3FEB FF +dep 3FEC FF +dep 3FED FF +dep 3FEE FF +dep 3FEF FF +dep 3FF0 FF +dep 3FF1 FF +dep 3FF2 FF +dep 3FF3 FF +dep 3FF4 FF +dep 3FF5 FF +dep 3FF6 FF +dep 3FF7 FF +dep 3FF8 FF +dep 3FF9 FF +dep 3FFA FF +dep 3FFB FF +dep 3FFC FF +dep 3FFD FF +dep 3FFE FF +dep 3FFF FF diff --git a/RTX2001A/sim_defs.h b/RTX2001A/sim_defs.h new file mode 120000 index 000000000..e6a3bb824 --- /dev/null +++ b/RTX2001A/sim_defs.h @@ -0,0 +1 @@ +../simh/sim_defs.h \ No newline at end of file diff --git a/RTX2001A/simh.ini b/RTX2001A/simh.ini new file mode 100644 index 000000000..d3195eb1a --- /dev/null +++ b/RTX2001A/simh.ini @@ -0,0 +1,21 @@ + +# use for rtx2001a +# set log -n /tmp/rtx2001a.log +# set debug -PF /tmp/rtx2001a.log +echo %SIM_BIN_PATH% +set nolog +set debug -f stdout +# set break -s -p +do "rom.ini" +# set CPU NODEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW +# set CPU deb=CPU;ASBR;ASBW; +# +# boot routine +# +dep ir 0x175D +dep pc 2 +# +# verify boot state +# +ex state +set on diff --git a/RTX2001A/src/hp3k_defs.h b/RTX2001A/src/hp3k_defs.h new file mode 100644 index 000000000..f02133e47 --- /dev/null +++ b/RTX2001A/src/hp3k_defs.h @@ -0,0 +1,132 @@ +/* hp3k_defs.c: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 29-Aug-22 SYS From hp3000_defs.h in the HP3000 simulator by J. David Bryan +*/ + +#ifndef HP3K_DEFS_H_ +#define HP3K_DEFS_H_ 0 + +#include "sim_defs.h" + +/* Architectural constants. +** +** See hp3000_defs.h:356 +*/ +typedef uint32 RTX_WORD; /* RTX2001A 16-bit data word representation */ + +#define R_MASK 0177777u /* 16-bit register mask */ + +#define D4_WIDTH 4 /* 4-bit data bit width */ +#define D4_MASK 0017u /* 4-bit data mask */ + +#define D6_WIDTH 6 /* 6-bit data bit width */ +#define D6_MASK 077u /* 6-bit data mask */ + +#define D8_WIDTH 8 /* 8-bit data bit width */ +#define D8_MASK 0377u /* 8-bit data mask */ +#define D8_UMAX 0377u /* 8-bit unsigned maximum value */ +#define D8_SMAX 0177u /* 8-bit signed maximum value */ +#define D8_SMIN 0200u /* 8-bit signed minimum value */ +#define D8_SIGN 0200u /* 8-bit sign */ + +#define D16_WIDTH 16 /* 16-bit data bit width */ +#define D16_MASK 0177777u /* 16-bit data mask */ +#define D16_UMAX 0177777u /* 16-bit unsigned maximum value */ +#define D16_SMAX 0077777u /* 16-bit signed maximum value */ +#define D16_SMIN 0100000u /* 16-bit signed minimum value */ +#define D16_SIGN 0100000u /* 16-bit sign */ + +#define D32_WIDTH 32 /* 32-bit data bit width */ +#define D32_MASK 037777777777u /* 32-bit data mask */ +#define D32_UMAX 037777777777u /* 32-bit unsigned maximum value */ +#define D32_SMAX 017777777777u /* 32-bit signed maximum value */ +#define D32_SMIN 020000000000u /* 32-bit signed minimum value */ +#define D32_SIGN 020000000000u /* 32-bit sign */ + +#define D48_WIDTH 48 /* 48-bit data bit width */ +#define D48_MASK 07777777777777777uL /* 48-bit data mask */ +#define D48_UMAX 07777777777777777uL /* 48-bit unsigned maximum value */ +#define D48_SMAX 03777777777777777uL /* 48-bit signed maximum value */ +#define D48_SMIN 04000000000000000uL /* 48-bit signed minimum value */ +#define D48_SIGN 04000000000000000uL /* 48-bit sign */ + +#define D64_WIDTH 64 /* 64-bit data bit width */ +#define D64_MASK 01777777777777777777777uL /* 64-bit data mask */ +#define D64_UMAX 01777777777777777777777uL /* 64-bit unsigned maximum value */ +#define D64_SMAX 00777777777777777777777uL /* 64-bit signed maximum value */ +#define D64_SMIN 01000000000000000000000uL /* 64-bit signed minimum value */ +#define D64_SIGN 01000000000000000000000uL /* 64-bit sign */ + +#define S16_OVFL_MASK ((uint32)D16_UMAX << D16_WIDTH | \ + D16_SIGN) /* 16-bit signed overflow mask */ + +#define S32_OVFL_MASK ((t_uint64)D32_UMAX << D32_WIDTH | \ + D32_SIGN) /* 32-bit signed overflow mask */ + +/* Portable conversions. +** +** See hp3000_defs.h:555 +*/ +#define SEXT8(x) (int32)((x)&D8_SIGN ? (x) | ~D8_MASK : (x)) +#define SEXT16(x) (int32)((x)&D16_SIGN ? (x) | ~D16_MASK : (x)) + +#define NEG8(x) ((~(x) + 1) & D8_MASK) +#define NEG16(x) ((~(x) + 1) & D16_MASK) +#define NEG32(x) ((~(x) + 1) & D32_MASK) + +#define INT16(u) ((u) > D16_SMAX ? (-(int16)(D16_UMAX - (u)) - 1) : (int16)(u)) +#define INT32(u) ((u) > D32_SMAX ? (-(int32)(D32_UMAX - (u)) - 1) : (int32)(u)) + +/* Half-byte accessors */ + +#define UPPER_HALF(b) ((b) >> D4_WIDTH & D4_MASK) +#define LOWER_HALF(b) ((b)&D4_MASK) + +/* Byte accessors. +** +** See hp3000_defs.h:601 +*/ +typedef enum +{ + upper, /* upper byte selected */ + lower /* lower byte selected */ +} BYTE_SELECTOR; + +#define UPPER_BYTE(w) (uint8)((w) >> D8_WIDTH & D8_MASK) +#define LOWER_BYTE(w) (uint8)((w)&D8_MASK) +#define TO_WORD(u, l) (RTX_WORD)(((u)&D8_MASK) << D8_WIDTH | (l)&D8_MASK) + +#define REPLACE_UPPER(w, b) ((w)&D8_MASK | ((b)&D8_MASK) << D8_WIDTH) +#define REPLACE_LOWER(w, b) ((w)&D8_MASK << D8_WIDTH | (b)&D8_MASK) + +/* Double-word accessors */ + +#define UPPER_WORD(d) (RTX_WORD)((d) >> D16_WIDTH & D16_MASK) +#define LOWER_WORD(d) (RTX_WORD)((d)&D16_MASK) + +#define TO_DWORD(u, l) ((RTX_WORD)(u) << D16_WIDTH | (l)) + +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_ab.c b/RTX2001A/src/rtx2001a_ab.c new file mode 100644 index 000000000..bdf9ae3b7 --- /dev/null +++ b/RTX2001A/src/rtx2001a_ab.c @@ -0,0 +1,530 @@ +/* rtx2001a_ab.c: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 9-Sep-22 SYS ASIC bus routines +*/ + +#include "rtx2001a_ab.h" +#include "rtx2001a_execute.h" + +/* implementation note: gfetch is always invoked before TEST_EXIT */ +t_stat gfetch(t_addr offset, t_value *data) +{ + // return bit=0: Pushes the contents of I into TOP (with no pop of the Return Stack) + // return bit=1: Pushes the contents of I into TOP then performs a subroutine return + if (I == offset) + { + *data = asic_file[I]; + sim_debug(DBG_ASB_R, &cpu_dev, sim_is_running ? "I=0x%X\n" : "I=0x%X", asic_file[I]); + return SCPE_OK; + } + + // return bit=0: Pushes the contents of I into TOP, popping the Return Stack + // return bit=1: Pushes the contents of I into TOP without popping the Return Stack, then executes the Subroutine Return + if (I_ASIC == offset) + { + *data = asic_file[I]; + sim_debug(DBG_ASB_R, &cpu_dev, sim_is_running ? "I=0x%X\n" : " ", asic_file[I]); + if (!EXIT) + { + rs_pop(data); + } + return SCPE_OK; + } + // Pushes the contents of I shifted left by one bit, into TOP (the Return Stack is not popped) + if (I_ALU == offset) + { + *data = (asic_file[I] << 1) & D16_UMAX; + sim_debug(DBG_ASB_R, &cpu_dev, sim_is_running ? "I=0x%X\n" : " ", *data); + return SCPE_OK; + } + + if (_CR == offset) + { + *data = cr.pr & 0xFFEF; // Force SID to zero + + if (sim_is_running) + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CR", cr_bits, cr.pr, *data, 1); + return SCPE_OK; + } + + if (MD == offset) + { + *data = asic_file[MD] & D16_UMAX; + if (sim_is_running) + sim_debug(DBG_ASB_R, &cpu_dev, "MD=0x%X\n", asic_file[MD]); + return SCPE_OK; + } + + if (SQ == offset) + { + RTX_WORD sq = asic_file[MD] << 1; + *data = sq | asic_file[SR]; + sim_debug(DBG_ASB_R, &cpu_dev, "SQ=0x%X SR=0x%X\n", sq, asic_file[SR]); + return SCPE_OK; + } + + if (SR == offset) + { + *data = asic_file[SR]; + sim_debug(DBG_ASB_R, &cpu_dev, "SR=0x%X\n", asic_file[SR]); + return SCPE_OK; + } + + if (PC == offset) + { + *data = asic_file[PC]; + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + return SCPE_OK; + } + + if (_IMR == offset) + { + *data = imr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IMR", imr_bits, imr.pr, *data, 1); + return SCPE_OK; + } + + if (_SPR == offset) + { + *data = (((spr.fields.rsp) << 8) & 0xFF00) | (((spr.fields.psp) + 1) & 0x00FF); + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SPR", spr_bits, spr.pr, *data, 1); + return SCPE_OK; + } + + if (_SUR == offset) + { + *data = sur.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SUR", sur_bits, sur.pr, *data, 1); + return SCPE_OK; + } + + if (_IVR == offset) + { + IMR _imr; + IVR _ivr; + + _ivr.fields.ivb = ibc.fields.ivb; // Interrupt Vector Base, MA10 - MA15 + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IBCR", ibc_bits, ibc.pr, ibc.pr, 1); + + _imr.pr = imr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IMR", imr_bits, imr.pr, imr.pr, 1); + + for (uint32 pri = 15; pri > 0; pri--) + { + if (_imr.pr & 1) + { + _ivr.fields.vec = pri; + break; + } + _imr.pr = _imr.pr >> 1; + } + *data = _ivr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IVR", ivr_bits, ivr.pr, *data, 1); + return SCPE_OK; + } + + // SVR is write-only + + if (_IPR == offset) + { + *data = ipr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IPR", ipr_bits, ipr.pr, *data, 1); + return SCPE_OK; + } + + if (_DPR == offset) + { + *data = dpr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "DPR", pr_bits, dpr.pr, *data, 1); + return SCPE_OK; + } + + if (_UPR == offset) + { + *data = upr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "UPR", pr_bits, upr.pr, *data, 1); + return SCPE_OK; + } + + if (_CPR == offset) + { + *data = cpr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CPR", pr_bits, cpr.pr, *data, 1); + return SCPE_OK; + } + + if (_IBC == offset) + { + *data = ibc.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IBC", ibc_bits, ibc.pr, *data, 1); + return SCPE_OK; + } + + if (_UBR == offset) + { + ubr.fields.page = ipr.fields.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IPR", ipr_bits, ipr.pr, ipr.pr, 1); + + *data = ubr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "UBR", ubr_bits, ubr.pr, ubr.pr, 1); + return SCPE_OK; + } + + if (TC0 == offset) + { + *data = asic_file[TC0]; + sim_debug(DBG_ASB_R, &cpu_dev, "TC0=0x%X\n", *data); + return SCPE_OK; + } + + if (TC1 == offset) + { + *data = asic_file[TC1]; + sim_debug(DBG_ASB_R, &cpu_dev, "TC1=0x%X\n", *data); + return SCPE_OK; + } + + if (TC2 == offset) + { + *data = asic_file[TC2]; + sim_debug(DBG_ASB_R, &cpu_dev, "TC2=0x%X\n", *data); + return SCPE_OK; + } + + if (RX == offset) + { + *data = asic_file[RX]; + sim_debug(DBG_ASB_R, &cpu_dev, "RX=0x%X\n", *data); + return SCPE_OK; + } + + if (RH == offset) + { + *data = asic_file[RH]; + sim_debug(DBG_ASB_R, &cpu_dev, "RH=0x%X\n", *data); + return SCPE_OK; + } + + if (offset == 0x19) + { +#if 0 + /* this gets I/O to work for now */ + if (offset == 0x19) + { + if (hostmode) /* invoke fsm for serving host mode */ + { + return (host_read()); + } + temp = getch() _MASKED_; + /* printf("\n(%d) = '%c'", temp, temp); */ + return (temp); + } + if (offset == 0x1A) + return (kbhit() _MASKED_); +#endif + return SCPE_NXM; + } + + if (offset >= 0x18 && offset <= 0x1F) + { + *data = gdata[offset]; + sim_debug(DBG_ASB_R, &cpu_dev, "GA=0x%X GD=0x%X\n", offset, *data); + return SCPE_OK; + } + + return SCPE_NXM; +} + +t_stat gstore(t_addr offset, t_value data) +{ + /* implementation note: gstore is always invoked after TEST_EXIT */ + + if (I == offset) + { + if (EXIT) + { + // Performs a Subroutine Return, then pushes the contents of TOP into I + rs_push(cpr.pr, data); + } + else + { + // Pops the contents of TOP into I (with no push of the Return Stack) + set_IPR(cpr.pr); + asic_file[I] = data & D16_UMAX; + sim_debug(DBG_ASB_W, &cpu_dev, "I=0x%X\n", asic_file[I]); + } + return SCPE_OK; + } + + if (I_ASIC == offset) + { + rs_push(cpr.pr, data); + return SCPE_OK; + } + + if (I_ALU == offset) + { + rs_push(cpr.pr, data); + STREAM = TRUE; + /* @TODO: Replace with instruction test during stream instruction execution + 23-Sep All stream instructions are NYI + Unsigned Mul Unsigned div + U*' A89C U/' A41A + Signed Mul /' A45A + *' A89D U/1'' A458 + *'' A49D Sq. Root + S1' A51A + S' A55A + S'' A558 + */ + return SCPE_OK; + } + + if (_CR == offset) + { + CR ocr; + ocr.pr = cr.pr; + + cr.pr = data & 0xC01F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + return SCPE_OK; + } + + // Pop the Paramter Stack item into the MD Register, replacing its previous contents + if (MD == offset) + { + asic_file[MD] = data & 0xFFFF; + sim_debug(DBG_ASB_W, &cpu_dev, "MD=0x%X\n", asic_file[MD]); + return SCPE_OK; + } + + if (SQ == offset) + { + asic_file[MD] = data << 8; + sim_debug(DBG_ASB_W, &cpu_dev, "SQ=0x%X\n", asic_file[MD]); + return SCPE_OK; + } + + if (SR == offset) + { + asic_file[SR] = data; + sim_debug(DBG_ASB_W, &cpu_dev, "SR=0x%X\n", asic_file[SR]); + return SCPE_OK; + } + + if (PC == offset) + { + // push value onto RS, then perform exit + if (EXIT) + { + asic_file[PC] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + } + // perform a subroutine call + else + { + rs_push(cpr.pr, asic_file[PC]); + asic_file[PC] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + } + return SCPE_OK; + } + + if (_IMR == offset) + { + IMR oimr; + oimr.pr = imr.pr; + + imr.pr = data & 0x3FFE; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "IMR", imr_bits, oimr.pr, imr.pr, 1); + return SCPE_OK; + } + + if (_SPR == offset) + { + SPR ospr; + ospr.pr = spr.pr; + + spr.fields.rsp = (data >> 8) & 0x7F; + spr.fields.psp = data & 0x7F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); + return SCPE_OK; + } + + if (_SUR == offset) + { + SUR osur; + osur.pr = sur.pr; + + sur.pr = data & 0xFBFB; // Bits 2 & 10 MBZ + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SUR", sur_bits, osur.pr, sur.pr, 1); + return SCPE_OK; + } + + if (_SVR == offset) + { + SVR osvr; + osvr.pr = svr.pr; + + svr.pr = 0; + RVL = (data >> 8) & 0x3F; + PVL = data & 0x3F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SVR", svr_bits, osvr.pr, svr.pr, 1); + return SCPE_OK; + } + + if (_IPR == offset) + { + IPR oipr; + oipr.pr = ipr.pr; + + ipr.pr = data & 0x1F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "IPR", ipr_bits, oipr.pr, ipr.pr, 1); + return SCPE_OK; + } + + if (_DPR == offset) + { + DPR odpr; + odpr.pr = dpr.pr; + + dpr.pr = data & 0x0F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "DPR", pr_bits, odpr.pr, dpr.pr, 1); + return SCPE_OK; + } + + if (_UPR == offset) + { + UPR oupr; + oupr.pr = upr.pr; + + upr.pr = data & 0x0F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "UPR", pr_bits, oupr.pr, upr.pr, 1); + return SCPE_OK; + } + + if (_CPR == offset) + { + CPR ocpr; + ocpr.pr = cpr.pr; + + cpr.pr = data & 0x0F; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CPR", pr_bits, ocpr.pr, cpr.pr, 1); + return SCPE_OK; + } + + if (_IBC == offset) + { + IBC oibcr; + oibcr.pr = ibc.pr; + + ibc.pr = data & 0xFFBF; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "IBC", ibc_bits, oibcr.pr, ibc.pr, 1); + return SCPE_OK; + } + + if (_UBR == offset) + { + UBR oubr; + oubr.pr = ubr.pr; + + ubr.fields.adr = data & 0x3FF; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "UBR", ubr_bits, oubr.pr, ubr.pr, 1); + return SCPE_OK; + } + + if (0x12 == offset) + { + return SCPE_NXM; + } + + if (TP0 == offset) + { + asic_file[TP0] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "TP0=0x%X\n", asic_file[TP0]); + return SCPE_OK; + } /* timer side effect? */ + + if (TP1 == offset) + { + asic_file[TP1] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "TP1=0x%X\n", asic_file[TP1]); + return SCPE_OK; + } + + if (TP2 == offset) + { + asic_file[TP2] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "TP2=0x%X\n", asic_file[TP2]); + return SCPE_OK; + } + + if (RX == offset) + { + asic_file[RX] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "RX=0x%X\n", asic_file[RX]); + return SCPE_OK; + } + + if (RH == offset) + { + asic_file[RH] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "RH=0x%X\n", asic_file[RH]); + return SCPE_OK; + } + + /* off-chip gstores */ + if (0x19 == offset) + { + // if (hostmode) /* invoke fsm for serving host mode */ + // { + // @TODO: SIMH virtual file write + // host_write(data); + // return; + // } + if (data) + { + // @TODO: SIMH virtual console write + putchar(data); + return SCPE_OK; + } + // else + // { + // hostmode = -1; + // } + // #endif + return SCPE_NXM; + } + + if (offset >= 0x18 && offset <= 0x1F) + { + gdata[offset] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "GA=0x%X GD=0x%X\n", offset, gdata[offset]); + return SCPE_OK; + } + + return SCPE_NXM; +} diff --git a/RTX2001A/src/rtx2001a_ab.h b/RTX2001A/src/rtx2001a_ab.h new file mode 100644 index 000000000..7b7488b9d --- /dev/null +++ b/RTX2001A/src/rtx2001a_ab.h @@ -0,0 +1,71 @@ +/* rtx2001a_ab.h: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 19-Sep-22 SYS ASIC bus routines +*/ +#ifndef RTX2001A_AB_H_ +#define RTX2001A_AB_H_ 0 + +#include "rtx2001a_registers.h" +#include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_rsb.h" + +#define GDATA_SIZE 0x20 + +extern RTX_WORD gdata[GDATA_SIZE]; + +/* extract the 5-bit short-lit/g-bus/user value */ +#define SHORT_LIT (IR & 0x1F) + +#define INC_PC \ + { \ + asic_file[PC] = (asic_file[PC] + 2) & D16_UMAX; \ + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); \ + } + +#define set_IPR(page) \ + { \ + ipr.fields.pr = page; \ + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IBC", ibc_bits, ibc.pr, ibc.pr, 1); \ + if (DPRSEL) \ + { \ + ipr.pr |= 0x10; \ + } \ + sim_debug(DBG_ASB_W, &cpu_dev, "IPR=%d\n", ipr.fields.pr); \ + } + +#define set_DPRSEL(value) \ + { \ + IBC oibc; \ + oibc.pr = ibc.pr; \ + ibc.fields.dprsel = (value) ? 1 : 0; \ + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "IBC", ibc_bits, oibc.pr, ibc.pr, 1); \ + } + +extern t_stat gstore(t_addr, t_value); +extern t_stat gfetch(t_addr, t_value *); + +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_cpu.c b/RTX2001A/src/rtx2001a_cpu.c new file mode 100644 index 000000000..7cfce96e6 --- /dev/null +++ b/RTX2001A/src/rtx2001a_cpu.c @@ -0,0 +1,363 @@ +/* rtx2001a_cpu.c: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 12-Aug-22 SYS New simulator. +*/ + +#include "setjmp.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_defs.h" +#include "rtx2001a_ab.h" +#include "rtx2001a_mb.h" +#include "rtx2001a_psb.h" +#include "rtx2001a_rsb.h" +#include "rtx2001a_registers.h" +#include "rtx2001a_execute.h" +#include "rtx2001a_decode.h" + +/* Function declaration. */ +t_stat cpu_ex(t_value *vptr, t_addr ea, UNIT *uptr, int32 sw); +t_stat cpu_dep(t_value val, t_addr ea, UNIT *uptr, int32 sw); +t_stat cpu_reset(DEVICE *dptr); + +UNIT cpu_unit = {UDATA(NULL, UNIT_FIX + UNIT_BINK, RAM_SIZE)}; + +MTAB cpu_mod[] = { + {0}}; + +DEVICE cpu_dev = { // RTX2001A device structure + "CPU", /* name */ + &cpu_unit, /* units */ + &cpu_reg[0], /* registers */ + &cpu_mod[0], /* modifiers */ + 0, /* #units */ + 16, /* address radix */ + 16, /* address width */ + 1, /* addr increment */ + 16, /* data radix */ + 16, /* data width */ + &cpu_ex, /* examine routine */ + &cpu_dep, /* deposit routine */ + &cpu_reset, /* reset routine */ + &cpu_boot, /* boot routine */ + NULL, /* attach routine */ + NULL, /* detach routine */ + NULL, /* context */ + DEV_DEBUG, /* enable device debug */ + /* debug control */ + SWMASK('E') | DBG_ASB_W | DBG_ASB_R | DBG_PSB_W | DBG_PSB_R | DBG_MEB_W | DBG_MEB_R | DBG_RSB_W | DBG_RSB_R, + &cpu_deb[0], /* debug flags */ + NULL, NULL, NULL, NULL, NULL, NULL}; + +/** + * 3.8 Other Data Structures, simh.doc, pg 33 + * contains the maximum number of words needed to hold the largest instruction or data item in the VM. + * Examine and deposit will process up to sim_emax words. + * "The number of words in the val array is given by global variable sim_emax.", simh.doc, pg 35 + */ +int32 sim_emax = 1; + +RTX_WORD TOP = 0; +RTX_WORD NEXT = 0; +RTX_WORD IR = 0; +RTX_WORD clocks = 0; +REG *sim_PC = &cpu_reg[7]; +/* +** second cycle context +*/ +t_value second_cycle = 0; +t_value stream_mode = 0; +t_value STREAM = 0; +RTX_WORD temp_ir = 0; +// RTX_WORD temp_pc = 0; + +RTX_WORD ps[PS_MAX + 1] = {0}; + +RTX_WORD asic_file[ASIC_MAX] = {0}; + +RTX_WORD gdata[GDATA_SIZE] = {0}; + +ReturnStack rs[RS_MAX + 1] = {0}; + +jmp_buf save_env; // abort handler +jmp_buf bkpt_env; // breakpoint handler + +t_value rtx2001a_pc_value(void) +{ + return (t_value)asic_file[PC]; +} + +/* +** See SSEM/ssem_cpu.c +*/ +t_stat sim_instr(void) +{ + t_stat reason = 0; + + sim_cancel_step(); /* defang SCP step. See SSEM */ + + /* Abort handling + + If an abort occurs in memory management or memory access, the lower + level routine executes a longjmp to this area OUTSIDE the main + simulation loop. + + All variables used in setjmp processing, or assumed to be valid + after setjmp, must be volatile or global. + */ + int32 abortval = setjmp(save_env); /* set abort hdlr */ + if (0 != abortval) + { + return abortval; + } + + /* Main instruction fetch/decode loop */ + do + { + + if (sim_interval <= 0) + { /* check clock queue */ +#if !UNIX_PLATFORM + if ((reason = sim_poll_kbd()) == SCPE_STOP) + { /* poll on platforms without reliable signalling */ + break; + } +#endif + /* + ** process timer interrupt. See pg. 14 + ** maybe needed outside of sim_interval check + */ + // if (sim_is_active()) + // { + if (SCPE_OK != (reason = sim_process_event())) + break; + // } + } + + if (sim_brk_summ && /* breakpoint? */ + sim_brk_test(asic_file[PC], SWMASK('E'))) + { + reason = STOP_IBKPT; /* stop simulation */ + break; + } + + /* + ** RTX 2000 and RTX 2001A Extended Cycle Operation + ** See pg. 67, PgmrsRefMnl + */ + + reason = setjmp(bkpt_env); /* set break hdlr */ + if (0 == reason) + { + if (!STREAM && second_cycle) + { + if (SCPE_OK != (reason = execute(temp_ir))) + { + return (reason); + } + } + else + { + if (SCPE_OK != (reason = execute(IR))) + { + return (reason); + } + } + + if (stream_mode) + { + if (0 == asic_file[I]) + { + STREAM = 0; + stream_mode = 0; + rs_pop(); + if (!second_cycle) + { + _long_fetch(cpr.fields.pr, asic_file[PC], &IR); + temp_ir = IR; // Save context. Could be a two cycle instruction + INC_PC; + } + } + else + { + asic_file[I] = (asic_file[I] - 1) & D16_MASK; + } + } + else + { + if (STREAM) + { /* enter streamed mode for following instruction */ + stream_mode = TRUE; + } + if (!second_cycle) + { + _long_fetch(cpr.fields.pr, asic_file[PC], &IR); + temp_ir = IR; // Save context. Could be a two cycle instruction + INC_PC; + } + } + + sim_interval -= (sim_interval <= 0) ? 0 : 1; + + if (sim_step && (--sim_step <= 0)) + { + reason = SCPE_STOP; + break; + } + } + + } while (reason == 0); /* loop until halted */ + + return reason; +} + +t_stat cpu_boot(t_value unit_num, DEVICE *dptr) +{ + _long_fetch(cpr.fields.pr, 0, &IR); + INC_PC; + return SCPE_OK; +} + +t_stat cpu_ex(t_value *vptr, t_addr ea, UNIT *uptr, t_svalue sw) +{ + t_value m = sw & SWMASK('M'); + if (vptr == NULL) + return SCPE_ARG; + if (ea >= RAM_SIZE) + return SCPE_NXM; + byte_fetch(ea, vptr); + if (m) + { + print_instruction(*vptr, cpr.pr, ea); + } + return SCPE_OK; +} + +t_stat cpu_dep(t_value val, t_addr ea, UNIT *uptr, t_svalue sw) +{ + if (ea >= RAM_SIZE) + return SCPE_NXM; + byte_store(ea, val); + return SCPE_OK; +} + +t_stat cpu_reset(DEVICE *dptr) +{ + // init debug support + // sim_brk_types = DBG_ASB; // SWMASK('E'); //| DBG_ASB | DBG_PSB | DBG_MEB | DBG_RSB; + sim_brk_dflt = SWMASK('E'); + sim_brk_type_desc = cpu_breakpoints; + sim_brk_types = SWMASK('E') | DBG_ASB_W | DBG_ASB_R | DBG_PSB_W | DBG_PSB_R | DBG_MEB_W | DBG_MEB_R | DBG_RSB_W | DBG_RSB_R; + sim_vm_pc_value = &rtx2001a_pc_value; + if (bad_insn == dispatch_vector_1[OP_0BRANCH]) + { + init_dispatch_vectors(); + } + + // init machine + memset(ram, 0xA5A5, RAM_SIZE * sizeof(RTX_WORD)); + memset(ps, 0xA5A5, PS_MAX + 1); + memset(rs, 0xA5A5, RS_MAX + 1); + memset(asic_file, 0, ASIC_MAX * sizeof(RTX_WORD)); + memset(gdata, 0xA5A5, GDATA_SIZE * sizeof(RTX_WORD)); + IR = 0; + clocks = 0; + second_cycle = 0; + STREAM = 0; + + // Initialize ASIC bus + REG *rptr = NULL; + for (rptr = dptr->registers; (rptr != NULL) && (rptr->name != NULL); rptr++) + { + if (0 == strcmp(rptr->name, "I")) + { + asic_file[I] = asic_file[I_ASIC] = asic_file[I_ALU] = D16_UMAX; + } + else if (0 == strcmp(rptr->name, "IR")) + { + // written by INC_PC + } + else if (0 == strcmp(rptr->name, "CR")) + { + // Boot=1; Interrupts disabled; Byte Order=0 (BE) + cr.pr = 0; + BOOT = SID = 1; + } + else if (0 == strcmp(rptr->name, "MD")) + { + asic_file[MD] = D16_UMAX; + } + else if (0 == strcmp(rptr->name, "IMR")) + { + imr.pr = 0; + } + else if (0 == strcmp(rptr->name, "SPR")) + { + TOP = IR = spr.pr = 0; + NEXT = 0xFFFF; + } + else if (0 == strcmp(rptr->name, "SUR")) + { + // Consider 0x0707 See rtx2000_simulator/STATE.C:58 + sur.pr = 0; + // psf: 1, ps: 1, rsf: 1, rs: 1 + PSF = RSF = PS = RS = 1; + } + else if (0 == strcmp(rptr->name, "SVR")) + { + svr.pr = 0; + PVL = RVL = 0x3F; + } + else if (0 == strcmp(rptr->name, "IVR")) + { + ivr.pr = 0x200; + } + else if (0 == strcmp(rptr->name, "IPR")) + { + ipr.pr = 0; + } + else if (0 == strcmp(rptr->name, "DPR")) + { + dpr.pr = 0; + } + else if (0 == strcmp(rptr->name, "UPR")) + { + upr.pr = 0; + } + else if (0 == strcmp(rptr->name, "CPR")) + { + cpr.pr = 0; + } + else if (0 == strcmp(rptr->name, "IBC")) + { + ibc.pr = 0; + } + else if (0 == strcmp(rptr->name, "UBR")) + { + ubr.pr = 0; + } + } + return SCPE_OK; +} diff --git a/RTX2001A/src/rtx2001a_debug.h b/RTX2001A/src/rtx2001a_debug.h new file mode 100644 index 000000000..15001bb33 --- /dev/null +++ b/RTX2001A/src/rtx2001a_debug.h @@ -0,0 +1,90 @@ +/* rtx2001a_debug.h: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 6-Sep-22 SYS Initial version +*/ +#ifndef RTX2001A_DEBUG_H_ +#define RTX2001A_DEBUG_H_ 0 + +#include "hp3k_defs.h" + +/* Debug */ +#define DBG_CPU SWMASK('E') +#define DBG_PSB_R SWMASK('Y') // parameter stack bus read +#define DBG_PSB_W SWMASK('X') // parameter stack bus write +#define DBG_RSB_R SWMASK('V') // return stack bus read +#define DBG_RSB_W SWMASK('U') // return stack bus write +#define DBG_MEB_R SWMASK('S') // memory bus read +#define DBG_MEB_W SWMASK('R') // memory bus write +#define DBG_ASB_R SWMASK('P') // ASIC bus read +#define DBG_ASB_W SWMASK('O') // ASIC bus write + +#define STOP_HALT 1 +#define STOP_IBKPT 2 +#define STOP_ACCESS 3 + +static BRKTYPTAB cpu_breakpoints[] = { + BRKTYPE('E', "CPU breakpoint"), + {DBG_PSB_R, "Read from parameter stack bus"}, + {DBG_PSB_W, "Write to parameter stack bus"}, + {DBG_RSB_R, "Read from return stack bus"}, + {DBG_RSB_W, "Write to return stack bus"}, + {DBG_MEB_R, "Read from memory bus"}, + {DBG_MEB_W, "Write to memory bus"}, + {DBG_ASB_R, "Read from ASIC bus"}, + {DBG_ASB_W, "Write to ASIC bus"}, + {0}}; + +static DEBTAB cpu_deb[] = { + {"CPU", DBG_CPU, "CPU"}, + {"MEBR", DBG_MEB_R, "Read from Memory bus"}, + {"MEBW", DBG_MEB_W, "Write to Memory bus"}, + {"ASBR", DBG_ASB_R, "Read from ASIC bus"}, + {"ASBW", DBG_ASB_W, "Write to ASIC bus"}, + {"PSBR", DBG_PSB_R, "Read from Parameter Stack bus"}, + {"PSBW", DBG_PSB_W, "Write to Parameter Stack bus"}, + {"RSBR", DBG_RSB_R, "Read from Return Stack bus"}, + {"RSBW", DBG_RSB_W, "Write to Return Stack bus"}, + {0}}; + +#define DEBUG_SET(s, b) \ + { \ + struct \ + { \ + RTX_WORD o; \ + } o; \ + o.o = s; \ + s = (value & D16_MASK); \ + *val = s; \ + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, (&cpu_reg[++cell])->name, b, o.o, *val, 1); \ + } + +// #define DEBUG_LOG(mask, verb, name, value) \ +// if (sim_brk_summ & mask) \ +// { \ +// sim_debug(verb, &cpu_dev, "%s: 0x%X\n", (char *)name, value); \ +// } + +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_decode.c b/RTX2001A/src/rtx2001a_decode.c new file mode 100644 index 000000000..2bb824087 --- /dev/null +++ b/RTX2001A/src/rtx2001a_decode.c @@ -0,0 +1,638 @@ +/* rtx2001a_decode.c: RTX2001A simulator definitions + + Copyright (c) 2020, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 10-Oct-22 SYS New simulator. + + Instruction decoding + + See SIMM2000/DECODE.C + */ +#include "rtx2001a_registers.h" +#include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_decode.h" + +/** + * Driver for instruction operation cracking. + * Input: 16-bit RTX instruction + * Output: enum for operation to be performed (exclusive of alu/shift op). + */ +t_stat decode(t_value instruction, machine_op *opcode) +{ + if (instruction & 0x8000) + { /* non-call instructions */ + switch (instruction & 0xF000) /* 3 bits of top 4 */ + { + case 0x8000: /* Branch */ + case 0x9000: /* Branch */ + return (decode_branch(instruction, opcode)); + + case 0xA000: /* ALU */ + if (instruction & 0x0010) + { + return (decode_step_math(instruction, opcode)); + } + return (decode_alu(instruction, opcode)); + + case 0xB000: /* G@/G! or short_lit */ + if (instruction & 0x0040) + { + return (decode_short_lit(instruction, opcode)); + } + return (decode_gbus(instruction, opcode)); + + case 0xC000: /* U@/U! */ + return (decode_user(instruction, opcode)); + + case 0xD000: /* long literal */ + return (decode_long_lit(instruction, opcode)); + + case 0xE000: /* word memory access*/ + case 0xF000: /* byte memory access*/ + return (decode_memory(instruction, opcode)); + } + } + else + { /* call instruction */ + *opcode = OP_CALL; + return SCPE_OK; + } + return STOP_UNK; // Defensive, no test +} + +/** Decode given that the instruction is known to be ALU class, + * returning an enum corresponding to the instruction type + * + * 1010 xxxx xxx0 xxxx + */ +t_stat decode_alu(t_value instruction, machine_op *opcode) +{ + switch (instruction & 0x00C0) + { + case 0x0000: // 1010 xxxx 00x0 xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_SHIFT; // 1010 000x 00x0 xxxx + return SCPE_OK; + } + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_DROP_DUP; // 1010 111x 00x0 xxxx + return SCPE_OK; + } + *opcode = OP_UNDER_ALU; // 1010 cccc 00x0 xxxx + return SCPE_OK; + + case 0x0040: // 1010 xxxx 01x0 xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_NIP; // 1010 000x 01x0 xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_DROP; // 1010 111x 01x0 xxxx + return SCPE_OK; + } + + *opcode = OP_ALU; // 1010 cccc 01x0 xxxx + return SCPE_OK; + + case 0x0080: // 1010 xxxx 10x0 xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_NIP_DUP; // 1010 000x 10x0 xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_SWAP; // 1010 111x 10x0 xxxx + return SCPE_OK; + } + + *opcode = OP_TUCK_ALU; // 1010 cccc 10x0 xxxx + return SCPE_OK; + + case 0x00C0: // 1010 xxxx 11x0 xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_DUP; // 1010 000x 11x0 xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_OVER; // 1010 111x 11x0 xxxx + return SCPE_OK; + } + + *opcode = OP_DDUP_ALU; // 1010 cccc 11x0 xxxx + return SCPE_OK; + } + return STOP_UNK; // defensive bug check, not tested +} + +/** + * Decode given that the instruction is known to be BRANCH class, + * returning an enum corresponding to the instruction type + * + * 100x xbba aaaa aaaa + */ +t_stat decode_branch(t_value instruction, machine_op *opcode) +{ + *opcode = NIL; + switch (instruction & 0xF800) // which type of branch instruction + { + case 0x8000: + *opcode = OP_QDUP_0BRANCH; + return SCPE_OK; + case 0x8800: + *opcode = OP_0BRANCH; + return SCPE_OK; + case 0x9000: + *opcode = OP_BRANCH; + return SCPE_OK; + case 0x9800: + *opcode = OP_NEXT; + return SCPE_OK; + } + return STOP_UNK; // defensive bug check, not tested +} + +/** + * Decode given that the instruction is known to be SHORT LIT class, + * returning an enum corresponding to the instruction type + * + * 1011 xxxx x1xx xxxx --- short_lit + */ +t_stat decode_short_lit(t_value instruction, machine_op *opcode) +{ + switch (instruction & 0x00C0) + { + case 0x0040: // 1011 xxxx 01xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_RESERVED; // 1011 000x 01xx xxxx + return SCPE_OK; + } + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_SHORT_LIT; // 1011 111x 01xd dddd + return SCPE_OK; + } + *opcode = OP_SHORT_LIT_OVER_ALU; // 1011 cccc 01xd dddd + return SCPE_OK; + + case 0x00C0: // 1011 xxxx 11xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_RESERVED; // 1011 000x 11xx xxxx + return SCPE_OK; + } + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_DROP_SHORT_LIT; // 1011 111x 11xd dddd + return SCPE_OK; + } + *opcode = OP_SHORT_LIT_SWAP_ALU; // 1011 cccc 11xd dddd + return SCPE_OK; + } + return STOP_UNK; // defensive bug check, not tested +} + +/** + * Decode given that the instruction is known to be GBUS class, + * returning an enum corresponding to the instruction type + * + * 1011 xxxx xxxx xxxx + */ +t_stat decode_gbus(t_value instruction, machine_op *opcode) +{ + int result = 0; + + if ((instruction & 0xFF40) == 0xB000) + { + decode_special(instruction, opcode); + if (OP_RESERVED != *opcode) + { + return SCPE_OK; + } + } + + // Prevent operations on certain ASIC addresses + int middle_flag = ((instruction & 0x001F) > 0x07 && (instruction & 0x001F) < 0x18) ? TRUE : FALSE; + *opcode = OP_RESERVED; + + switch (instruction & 0x00C0) + { // case 0x0040 is a short lit instruction + case 0x0000: /* 1011 xxxx 00xx xxxx */ + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = middle_flag ? OP_RESERVED : OP_GFETCH_DROP; /* 1011 000x 00xg gggg */ + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_GFETCH; /* 1011 111x 00xg gggg */ + return SCPE_OK; + } + + *opcode = middle_flag ? OP_RESERVED : OP_GFETCH_OVER_ALU; /* 1011 cccc 00xg gggg */ + return SCPE_OK; + + case 0x0080: /* 1011 xxxx 10xx xxxx */ + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = middle_flag ? OP_RESERVED : OP_DUP_GSTORE; /* 1011 000x 10xg gggg */ + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_GSTORE; /* 1011 111x 10xg gggg */ + return SCPE_OK; + } + + // Allow ALU operations + *opcode = (middle_flag && ((instruction & 0x1F) != 0x11) && ((instruction & 0x1F) != 0x09)) ? OP_RESERVED : OP_GFETCH_SWAP_ALU; /* 1011 cccc 10xg gggg */ + return SCPE_OK; + } + ABORT(STOP_UNK); +} + +/** + * Decode given that the instruction is known to be LONG LITERAL class, + * returning an enum corresponding to the instruction type + * + * 1101 xxxx xxxx xxxx --- long literal + */ +t_stat decode_long_lit(t_value instruction, machine_op *opcode) +{ + if (instruction & 0x001F) + { // See DECODE.C:294 wrong bit pattern for $D01F + *opcode = OP_RESERVED; // 1101 xxxx xxx1 yyyy + return SCPE_OK; + } + + switch (instruction & 0x00C0) + { + case 0x0000: // 1101 xxxx 00xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_LIT_SWAP; /* 1101 000x 00xx xxxx */ + return SCPE_OK; + } + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_LIT; /* 1101 111x 00xx xxxx */ + return SCPE_OK; + } + *opcode = OP_LIT_OVER_ALU; /* 1101 cccc 00xx xxxx */ + return SCPE_OK; + + case 0x0080: /* 1101 xxxx 10xx xxxx */ + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_RESERVED; /* 1101 000x 10xx xxxx */ + return SCPE_OK; + } + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_DROP_LIT; /* 1101 111x 10xx xxxx */ + return SCPE_OK; + } + *opcode = OP_LIT_SWAP_ALU; /* 1101 cccc 10xx xxxx */ + return SCPE_OK; + } + *opcode = OP_RESERVED; /* 1101 xxxx x1xx xxxx */ + return SCPE_OK; +} + +/** + * Check for "special" instructions given that the instruction + * is known to be GBUS class, returning an enum corresponding + * to the instruction type if found, otherwise returning 0. + */ +t_stat decode_special(t_value instruction, machine_op *opcode) +{ + switch (instruction & 0xFFDF) + { + case 0xB00D: + *opcode = OP_SELECT_CPR; + return SCPE_OK; + case 0xB010: + *opcode = OP_CLEAR_SOFTINT; + return SCPE_OK; + case 0xB08D: + *opcode = OP_SELECT_DPR; + return SCPE_OK; + case 0xB090: + *opcode = OP_SET_SOFTINT; + return SCPE_OK; + case 0xB016: + *opcode = OP_DEC_RX; + return SCPE_OK; + case 0xB096: + *opcode = OP_INC_RX; + return SCPE_OK; + } + *opcode = OP_RESERVED; + return SCPE_OK; +} + +/** + * Decode given that the instruction is known to be MEMORY class, + * returning an enum corresponding to the instruction type + * + * 111x xxxx xxxx xxxx --- memory access + */ +t_stat decode_memory(t_value instruction, machine_op *opcode) +{ + switch (instruction & 0x01C0) + { + case 0x0000: // 111x xxx0 00xx xxxx + case 0x0100: // 111x xxx1 00xx xxxx + if (instruction & 0x001F) + { + *opcode = OP_RESERVED; // low 5 bits not 0 + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_FETCH_SWAP; // 111x 000x 00xx xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_FETCH; // 111x 111x 00xx xxxx + return SCPE_OK; + } + + *opcode = OP_FETCH_OVER_ALU; // 111x cccc 00xx xxxx + return SCPE_OK; + + case 0x0040: // 111x xxx0 01xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + if (instruction & 0x001F) + { + *opcode = OP_RESERVED; // low 5 bits not 0 + return SCPE_OK; + } + *opcode = OP_NIP_DUP_FETCH_SWAP; // 111x 0000 01xx xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_NIP_FETCH_LIT; // 111x 1110 01xd dddd + return SCPE_OK; + } + + // NIP DUP @ SWAP d SWAP ALU + *opcode = OP_NIP_FETCH_WITH_ALU; // 111x aaa0 01xx xxxx + return SCPE_OK; + + case 0x0140: // 111x xxx1 01xx xxxx + + if ((instruction & 0x0E00) == 0x0000) + { + if (instruction & 0x001F) + { + *opcode = OP_RESERVED; // low 5 bits not 0 + return SCPE_OK; + } + *opcode = OP_DUP_FETCH_SWAP; // 111x 0001 01xx xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_FETCH_LIT; // 111x 1111 01xd dddd + return SCPE_OK; + } + + // DUP @ SWAP d SWAP ALU + *opcode = OP_FETCH_WITH_ALU; // 111x aaa1 01xx xxxx + return SCPE_OK; + + case 0x0080: // 111x xxx0 10xx xxxx + case 0x0180: // 111x xxx1 10xx xxxx + if (instruction & 0x001F) + { + *opcode = OP_RESERVED; // low 5 bits not 0 + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_UNDER_STORE; // 111x 000x 10xx xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_STORE; // 111x 111x 10xx xxxx + return SCPE_OK; + } + + *opcode = OP_FETCH_SWAP_ALU; // 111x cccc 10xx xxxx + return SCPE_OK; + + case 0x00C0: // 111x xxx0 11xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + if (instruction & 0x001F) + { + *opcode = OP_RESERVED; // low 5 bits not 0 + return SCPE_OK; + } + *opcode = OP_DDUP_STORE; // 111x 0000 11xx xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_UNDER_STORE_LIT; // 111x 1110 11xd dddd + return SCPE_OK; + } + + // DDUP ! d SWAP alu + *opcode = OP_DDUP_STORE_WITH_ALU; // 111x aaa0 11xx xxxx + return SCPE_OK; + + case 0x01C0: // 111x xxx1 11xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + if (instruction & 0x001F) + { + *opcode = OP_RESERVED; // low 5 bits not 0 + return SCPE_OK; + } + *opcode = OP_TUCK_STORE; // 111x 0001 11xx xxxx + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_STORE_LIT; // 111x 1111 11xd dddd + return SCPE_OK; + } + + // TUCK ! d SWAP alu + *opcode = OP_TUCK_STORE_WITH_ALU; // 111x aaa1 11xx xxxx + return SCPE_OK; + } + + return STOP_HALT; // Defensive, no test case +} + +/** + * Decode given that the instruction is known to be USER MEMORY class, + * returning an enum corresponding to the instruction type + * + * 1100 xxxx x0xx xxxx --- U@/U! + */ +t_stat decode_user(t_value instruction, machine_op *opcode) +{ + switch (instruction & 0x00C0) + { + case 0x0000: // 1100 xxxx 00xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_UFETCH_SWAP; // 1100 000x 00xu uuuu + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_UFETCH; // 1100 111x 00xu uuuu + return SCPE_OK; + } + + *opcode = OP_UFETCH_OVER_ALU; // 1100 cccc 00xu uuuu + return SCPE_OK; + + case 0x0080: // 1100 xxxx 10xx xxxx + if ((instruction & 0x0E00) == 0x0000) + { + *opcode = OP_DUP_USTORE; // 1100 000x 10xu uuuu + return SCPE_OK; + } + + if ((instruction & 0x0E00) == 0x0E00) + { + *opcode = OP_USTORE; // 1100 111x 10xu uuuu + return SCPE_OK; + } + + *opcode = OP_UFETCH_SWAP_ALU; // 1100 cccc 10xu uuuu + return SCPE_OK; + } + return STOP_HALT; +} + +/** + * Decode given that the instruction is known to be STEP MATH class, + * returning an enum corresponding to the instruction type + */ +t_stat decode_step_math(t_value instruction, machine_op *opcode) +{ + *opcode = OP_RESERVED_STEP_MATH; + switch (instruction & 0xFFDF) + { // recognize only fully supported/documented step math operations + case 0xA012: + *opcode = OP_TWO_STAR_TICK; // 2*' + break; + case 0xA096: + *opcode = OP_RTR; // RTR + break; + case 0xA09E: + *opcode = OP_RDR; // RDR + break; + case 0xA196: + *opcode = OP_R_TICK; // R' + break; + case 0xA412: + *opcode = OP_BUSLASH_TICK; // BU/' + break; + case 0xA418: + *opcode = OP_USLASH_ONE_TICK_TICK; // U/1'' + break; + case 0xA41A: + *opcode = OP_USLASH_ONE_TICK; // U/1' + break; + case 0xA458: + *opcode = OP_USLASH_TICK_TICK; // U/'' + break; + case 0xA45A: + *opcode = OP_USLASH_TICK; // U/' + break; + case 0xA494: + *opcode = OP_BUSTAR_TICK_TICK; // BU*'' + break; + case 0xA49C: + *opcode = OP_USTAR_TICK_TICK; // U*'' + break; + case 0xA49D: + *opcode = OP_STAR_TICK_TICK; // *'' + break; + case 0xA512: + *opcode = OP_BS_ONE_TICK; // BS1' + break; + case 0xA51A: + *opcode = OP_S_ONE_TICK; // S1' + break; + case 0xA552: + *opcode = OP_BS_TICK; // BS' + break; + case 0xA558: + *opcode = OP_S_TICK_TICK; // S'' + break; + case 0xA55A: + *opcode = OP_S_TICK; // S' + break; + case 0xA894: + *opcode = OP_BUSTAR_TICK; // BU*' + break; + case 0xA89C: + *opcode = OP_USTAR_TICK; // U*' + break; + case 0xA89D: + *opcode = OP_STAR_TICK; // *' + break; + case 0xAADE: + *opcode = OP_C_TICK; // C' + break; + default: + return STOP_INVOPCOD; + } + return SCPE_OK; +} diff --git a/RTX2001A/src/rtx2001a_decode.h b/RTX2001A/src/rtx2001a_decode.h new file mode 100644 index 000000000..02b0ae284 --- /dev/null +++ b/RTX2001A/src/rtx2001a_decode.h @@ -0,0 +1,166 @@ +/* rtx2001a_decode.h: RTX2001A simulator definitions + + Copyright (c) 2020, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 10-Oct-22 SYS New simulator. + + See SIMM2000/DECODE.H + + This file contains the enum definition for result of instruction cracking operations, and prototypes for the decoding subroutine. + */ +#ifndef RTX2001A_DECODE_H_ +#define RTX2001A_DECODE_H_ 0 + +#include "rtx2001a_defs.h" + +#define NIL 0 + +typedef enum machine_op +{ + OP_CALL, + OP_0BRANCH, + OP_ALU, + OP_ASIC_STREAM_MAC, + OP_BRANCH, + OP_BS_ONE_TICK, + OP_BS_TICK, + OP_BUSLASH_TICK, + OP_BUSTAR_TICK, + OP_BUSTAR_TICK_TICK, + OP_CLEAR_ACC, + OP_CLEAR_SOFTINT, + OP_C_TICK, + OP_DDUP_ALU, + OP_DDUP_STORE, + OP_DDUP_STORE_WITH_ALU, + OP_DEC_RX, + OP_DROP, + OP_DROP_DUP, + OP_DROP_LIT, + OP_DROP_SHORT_LIT, + OP_DSLL, + OP_DSRA, + OP_DSRL, + OP_DUP, + OP_DUP_FETCH_SWAP, + OP_DUP_GSTORE, + OP_DUP_USTORE, + OP_FETCH, + OP_FETCH_LIT, + OP_FETCH_OVER_ALU, + OP_FETCH_SWAP, + OP_FETCH_SWAP_ALU, + OP_FETCH_WITH_ALU, + OP_GFETCH, + OP_GFETCH_DROP, + OP_GFETCH_OVER_ALU, + OP_GFETCH_SWAP_ALU, + OP_GSTORE, + OP_INC_RX, + OP_LIT, + OP_LIT_OVER_ALU, + OP_LIT_SWAP, + OP_LIT_SWAP_ALU, + OP_MAC, + OP_MIXED_MAC, + OP_MIXED_MULT, + OP_MULT, + OP_MULT_SUB, + OP_NEXT, + OP_NIP, + OP_NIP_DUP, + OP_NIP_DUP_FETCH_SWAP, + OP_NIP_FETCH_LIT, + OP_NIP_FETCH_WITH_ALU, + OP_NORMALIZE, + OP_OVER, + OP_QDUP_0BRANCH, + OP_RDR, + OP_RESERVED, + OP_RESERVED_STEP_MATH, + OP_RTR, + OP_R_TICK, + OP_SELECT_CPR, + OP_SELECT_DPR, + OP_SET_SOFTINT, + OP_SHIFT, + OP_SHIFT_MAC_RIGHT, + OP_SHORT_LIT, + OP_SHORT_LIT_OVER_ALU, + OP_SHORT_LIT_SWAP_ALU, + OP_STAR_TICK, + OP_STAR_TICK_TICK, + OP_STORE, + OP_STORE_LIT, + OP_STREAM_MAC, + OP_SWAP, + OP_S_ONE_TICK, + OP_S_TICK, + OP_S_TICK_TICK, + OP_TUCK_ALU, + OP_TUCK_STORE, + OP_TUCK_STORE_WITH_ALU, + OP_TWO_STAR_TICK, + OP_UFETCH, + OP_UFETCH_OVER_ALU, + OP_UFETCH_SWAP, + OP_UFETCH_SWAP_ALU, + OP_UMAC, + OP_UMULT, + OP_UNDER_ALU, + OP_UNDER_STORE, + OP_UNDER_STORE_LIT, + OP_USLASH_ONE_TICK, + OP_USLASH_ONE_TICK_TICK, + OP_USLASH_TICK, + OP_USLASH_TICK_TICK, + OP_USTAR_TICK, + OP_USTAR_TICK_TICK, + OP_USTORE, + OP_ZERO_EQUAL, + DUMMY_LAST /* put here as a bounds check for initialization */ +} machine_op; + +/* Driver for instruction operation cracking. + * Input: 16-bit RTX instruction + * Output: enum for operation to be performed (exclusive of alu/shift op). + */ +t_stat decode(t_value instruction, machine_op *opcode); +t_stat decode_branch(t_value instruction, machine_op *opcode); +t_stat decode_step_math(t_value instruction, machine_op *opcode); +t_stat decode_alu(t_value instruction, machine_op *opcode); +t_stat decode_short_lit(t_value instruction, machine_op *opcode); +t_stat decode_gbus(t_value instruction, machine_op *opcode); +t_stat decode_user(t_value instruction, machine_op *opcode); +t_stat decode_long_lit(t_value instruction, machine_op *opcode); +t_stat decode_memory(t_value instruction, machine_op *opcode); +t_stat decode_special(t_value instruction, machine_op *opcode); + +/* Compute branch target address + * Input: instruction = 16-bit RTX instruction + * address = 16-bit RTX address + * Output: 16-bit RTX branch target address + */ +extern t_addr target_addr(t_value instruction, t_addr address); +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_defs.h b/RTX2001A/src/rtx2001a_defs.h new file mode 100644 index 000000000..9e44ce0d4 --- /dev/null +++ b/RTX2001A/src/rtx2001a_defs.h @@ -0,0 +1,54 @@ +/* rtx2001a_defs.h: RTX2001A simulator definitions + + Copyright (c) 2020, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 12-Aug-22 SYS New simulator. +*/ + +#ifndef RTX2001A_DEFS_H_ +#define RTX2001A_DEFS_H_ 0 + +#include "setjmp.h" +#include "sim_defs.h" + +#include "hp3k_defs.h" + +extern t_bool build_dev_tab(void); +extern DEVICE cpu_dev; +extern int32 sim_emax; // contains the maximum number of words needed to hold the largest instruction or data item in the VM. Examine and deposit will process up to sim_emax words. +extern t_stat cpu_reset(DEVICE *); +extern t_stat do_cmd_label(int32 flag, CONST char *fcptr, CONST char *label); +extern t_stat cpu_boot(t_value unit_num, DEVICE *dptr); +extern jmp_buf save_env; +extern jmp_buf bkpt_env; // breakpoint handler + +#define STOP_UNK 0 // Unknown Error +#define STOP_HALT 1 // HALT +#define STOP_IBKPT 2 // breakpoint +#define STOP_INVOPCOD 3 // invalid instruction +#define STOP_ILLASICADDR 4 // Illegal ASIC bus address + +#define ABORT(val) longjmp(save_env, (val)) + +#endif /* RTX2001A_DEFS_H_ */ diff --git a/RTX2001A/src/rtx2001a_execute.c b/RTX2001A/src/rtx2001a_execute.c new file mode 100644 index 000000000..a24042285 --- /dev/null +++ b/RTX2001A/src/rtx2001a_execute.c @@ -0,0 +1,1454 @@ +/* rtx2001a_execute.h: RTX2001A simulator definitions + + Copyright (c) 2020, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 10-Oct-22 SYS Initial version. + + See RTX2000/EXECUTE.C + + Instruction execution +*/ +#include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_ab.h" +#include "rtx2001a_psb.h" +#include "rtx2001a_mb.h" +#include "rtx2001a_registers.h" +#include "rtx2001a_execute.h" +#include "rtx2001a_decode.h" + +/* disassembler constants for alu functions */ +char *alu_names[] = { + /* 0 */ "", /* 1 */ "not ", + /* 2 */ "and ", /* 3 */ "nor ", + /* 4 */ "swap- ", /* 5 */ "swap-c ", + /* 6 */ "or ", /* 7 */ "nand ", + /* 8 */ "+ ", /* 9 */ "+c ", + /* a */ "xor ", /* b */ "xnor ", + /* c */ "- ", /* d */ "-c ", + /* e */ "", /* f */ "not "}; + +char *swap_alu_names[] = { + /* 0 */ "", /* 1 */ "not ", + /* 2 */ "and ", /* 3 */ "nor ", + /* 4 */ "- ", /* 5 */ "-c ", + /* 6 */ "or ", /* 7 */ "nand ", + /* 8 */ "+ ", /* 9 */ "+c ", + /* a */ "xor ", /* b */ "xnor ", + /* c */ "swap- ", /* d */ "swap-c ", + /* e */ "", /* f */ "not "}; + +/* disassembler constants for shifter functions */ +char *shift_names[] = { + /* 0 */ "", /* 1 */ "0< ", + /* 2 */ "2* ", /* 3 */ "2*c ", + /* 4 */ "cU2/ ", /* 5 */ "c2/ ", + /* 6 */ "U2/ ", /* 7 */ "2/ ", + /* 8 */ "N2* ", /* 9 */ "N2*c ", + /* A */ "D2* ", /* B */ "D2*c ", + /* C */ "cUD2/ ", /* D */ "cD2/ ", + /* E */ "UD2/ ", /* F */ "D2/ "}; + +/* disassembler constants for memory size specifiers */ +char *memory_names[] = { + /* 0 */ "", /* 1 */ "C"}; + +void bad_insn() +{ + sim_debug(DBG_CPU, &cpu_dev, "%s IR=0x%X\n", sim_stop_messages[STOP_INVOPCOD], IR); + print_instruction(IR, cpr.pr, asic_file[PC]); + ABORT(STOP_IBKPT); + // longjmp(bkpt_env, STOP_IBKPT); +} + +void do_exit() +{ + cpr.pr = ipr.pr & 0x0F; + sim_debug(DBG_ASB_W, &cpu_dev, "CPR=0x%X\n", cpr.pr); + set_DPRSEL(ipr.pr & 0x10); + asic_file[PC] = asic_file[I]; + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + rs_pop(); +} + +void do_call() +{ + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + rs_push(cpr.pr, asic_file[PC]); + asic_file[PC] = (IR << 1) & D16_UMAX; + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + CLOCKS(1); +} + +void do_qdup_0branch() +{ + if (!TOP) + { + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + asic_file[PC] = target_addr(IR, asic_file[PC]); + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + ps_pop(); + } + CLOCKS(1); +} + +/* void do_0branch() +{ + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X IR=0x%X\n", asic_file[PC], IR); + asic_file[PC] = target_addr(IR, asic_file[PC]); + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + + if (!TOP) + { + ps_pop(); + } + CLOCKS(1); +} +*/ +void do_0branch() +{ + if (0 == TOP) + { + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X IR=0x%X\n", asic_file[PC], IR); + asic_file[PC] = target_addr(IR, asic_file[PC]); + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + } + + ps_pop(); + CLOCKS(1); +} + +/* +** Support routines +*/ +t_stat shift() +{ + /* compute shift function */ + switch (IR & 0x000F) + { + case 0x0000: // nop + break; + + case 0x0001: // 0< + TOP = (TOP & 0x8000) ? 0xFFFF : 0x0000; + break; + + case 0x0002: // 2* + { + CR ocr; + ocr.pr = cr.pr; + CY = (TOP & 0x8000) ? 1 : 0; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + TOP = (TOP << 1) & 0xFFFE; + } + break; + + case 0x0003: /* 2*c */ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP << 1) & 0xFFFE; + if (CY) + { + temp = temp | 1; + } + CY = (TOP & 0x8000) ? 1 : 0; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + TOP = temp; + } + break; + + case 0x0004: // cU2/ + { + CR ocr; + ocr.pr = cr.pr; + TOP = (TOP >> 1) & 0x7FFF; + if (0 != CY) + { + TOP = TOP | 0x8000; + } + CY = 0; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x0005: // c2/ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP >> 1) & 0x7FFF; + if (CY) + { + temp = temp | 0x8000; + } + CY = (TOP & 1) ? 1 : 0; + TOP = temp; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x0006: // U2/ + { + CR ocr; + ocr.pr = cr.pr; + TOP = (TOP >> 1) & 0x7FFF; + CY = 1; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x0007: // 2/ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP >> 1) & 0x7FFF; + if (TOP & 0x8000) + { + temp |= 0x8000; + } + CY = (TOP & 0x8000) ? 1 : 0; + TOP = temp; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x0008: // N2* + NEXT = (NEXT << 1) & 0xFFFE; + break; + + case 0x0009: // N2*c + NEXT = (NEXT << 1) & 0xFFFE; + if (CY) + { + NEXT |= 1; + } + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CR", cr_bits, cr.pr, cr.pr, 1); + break; + + case 0x000A: // D2* + { + CR ocr; + ocr.pr = cr.pr; + CY = (TOP & 0x8000) ? 1 : 0; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + TOP = (TOP << 1) & 0xFFFE; + if (NEXT & 0x8000) + TOP |= 1; + NEXT = (NEXT << 1) & 0xFFFE; + } + break; + + case 0x000B: // D2*c + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (NEXT & 0x8000) ? 1 : 0; + t_value tempa = (TOP & 0x8000) ? 1 : 0; + NEXT = (NEXT << 1) & 0xFFFE; + if (CY) + { + NEXT |= 1; + } + TOP = (TOP << 1) & 0xFFFE; + if (temp) + TOP |= 1; + CY = tempa; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x000C: // cUD2/ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP & 0x0001) ? 1 : 0; + TOP = (TOP >> 1) & 0x7FFF; + if (CY) + TOP |= 0x8000; + NEXT = (NEXT >> 1) & 0x7FFF; + if (temp) + NEXT |= 0x8000; + CY = 1; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x000D: // cD2/ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP & 0x0001) ? 1 : 0; + t_value tempa = (NEXT & 0x0001) ? 1 : 0; + TOP = (TOP >> 1) & 0x7FFF; + if (CY) + TOP |= 0x8000; + NEXT = (NEXT >> 1) & 0x7FFF; + if (temp) + NEXT |= 0x8000; + CY = tempa; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x000E: // UD2/ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP & 0x0001) ? 1 : 0; + TOP = (TOP >> 1) & 0x7FFF; + NEXT = (NEXT >> 1) & 0x7FFF; + if (temp) + NEXT |= 0x8000; + CY = 1; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + case 0x000F: // D2/ + { + CR ocr; + ocr.pr = cr.pr; + t_value temp = (TOP & 0x8000) ? 1 : 0; + t_value tempa = (TOP & 0x0001) ? 1 : 0; + TOP = (TOP >> 1) & 0x7FFF; + TOP |= temp; + CY = temp; + NEXT = (NEXT >> 1) & 0x7FFF; + if (tempa) + { + NEXT |= 0x8000; + } + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + } + break; + + default: + return STOP_UNK; // Defensive, no test + } + return SCPE_OK; +} + +void do_alu() +{ + t_stat result = alu(TOP, NEXT, &NEXT); + if (SCPE_OK != result) + { + ABORT(result); + } + + ps_pop(); + invert(); + + if (SCPE_OK != (result = shift())) + { + ABORT(result); + } + + TEST_EXIT; + CLOCKS(1); +} + +void do_asic_stream_mac() +{ + bad_insn(); + TEST_EXIT; + CLOCKS(1); +} + +void do_branch() +{ + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X IR=0x%X\n", asic_file[PC], IR); + asic_file[PC] = target_addr(IR, asic_file[PC]); + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + CLOCKS(1); +} + +void do_drop() +{ + ps_pop(); + invert(); + t_stat result = shift(); + if (SCPE_OK != result) + ABORT(result); + TEST_EXIT; + CLOCKS(1); +} + +void do_dup() +{ + ps_push(TOP); + invert(); + t_stat result = shift(); + if (SCPE_OK != result) + ABORT(result); + TEST_EXIT; + CLOCKS(1); +} + +void do_ddup_alu() +{ + t_stat result = SCPE_LOST; + ps_push(NEXT); + if (SCPE_OK != (result = alu(NEXT, TOP, &TOP))) + { + ABORT(result); + } + invert(); + shift(); + TEST_EXIT; + CLOCKS(1); +} + +void do_ddup_store_with_alu() +{ + t_stat result = SCPE_LOST; + store(TOP, NEXT); + if (SCPE_OK != (result = alu(TOP, SHORT_LIT, &TOP))) + { + ABORT(result); + } + + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_ddup_store_with_alu_2() +{ + CLOCKS(1); +} + +void do_fetch_2() /* SWAP {inv} */ +{ + int temp = TOP; + TOP = NEXT; + NEXT = temp; + invert(); + CLOCKS(1); +} + +/** + ** @ swap + */ +void fetch_swap() +{ + RTX_WORD temp = NEXT; + fetch(TOP, &NEXT); + TOP = temp; + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_fetch_swap_alu_2() /* alu */ +{ + t_stat result = SCPE_LOST; + if (SCPE_OK != (result = alu(TOP, NEXT, &NEXT))) + { + ABORT(result); + } + + ps_pop(); + CLOCKS(1); +} + +void do_gfetch() +{ + CLOCKS(1); + t_value temp = 0; + t_stat result = gfetch(SHORT_LIT, &temp); + if (SCPE_OK != result) + ABORT(result); + ps_push(temp); + invert(); + TEST_EXIT; +} + +/** + * TODO: ??? what happens for short_lit = 16, short_lit = 17??? + */ +void do_gfetch_drop() +{ + t_stat result = SCPE_LOST; + t_value value; + // See EXECUTE.C:559 Does not write TOP + if (SCPE_OK != (result = gfetch(SHORT_LIT, &value))) + { + ABORT(result); + } + invert(); + TEST_EXIT; + CLOCKS(1); +} + +void do_fetch_over_alu_2() /* TUCK alu */ +{ + t_stat result = SCPE_LOST; + t_value temp = TOP; + if (SCPE_OK != (result = alu(TOP, NEXT, &TOP))) + { + ABORT(result); + } + NEXT = temp; + CLOCKS(1); +} + +void do_fetch_swap_2() +{ + invert(); + CLOCKS(1); +} + +void do_gfetch_swap_alu() +{ /* ??? what happens for short_lit = 16, short_lit = 17??? */ + t_value temp; + t_stat result = gfetch(SHORT_LIT, &temp); + if (SCPE_OK != result) + ABORT(result); + result = alu(TOP, temp, &TOP); + if (SCPE_OK != result) + ABORT(result); + TEST_EXIT; + CLOCKS(1); +} + +void do_fetch_with_alu() +{ + t_stat result = SCPE_LOST; + ps_push(TOP); + fetch(TOP, &NEXT); + if (SCPE_OK != (result = alu(TOP, SHORT_LIT, &TOP))) + { + ABORT(result); + } + + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_fetch_with_alu_2() +{ + CLOCKS(1); +} + +void do_gstore() +{ + if (SHORT_LIT != 7) + TEST_EXIT; /* important that TEST_EXIT come before gstore! */ + + t_stat result = gstore(SHORT_LIT, TOP); + if (SCPE_OK != result) + ABORT(result); + if (SHORT_LIT != 9) + ps_pop(); + invert(); + CLOCKS(1); +} + +void do_lit_2() /* swap {inv} */ +{ + t_value temp; + temp = NEXT; + NEXT = TOP; + TOP = temp; + invert(); + CLOCKS(1); +} + +void do_lit_swap_alu_2() +{ + t_stat result = alu(TOP, NEXT, &NEXT); + if (SCPE_OK != result) + { + ABORT(result); + } + + ps_pop(); + CLOCKS(1); +} + +void do_next() +{ + if (0 != asic_file[I]) + { /* loop */ + asic_file[PC] = target_addr(IR, asic_file[PC]); + asic_file[I] = (asic_file[I] - 1) & D16_UMAX; + sim_debug(DBG_ASB_W, &cpu_dev, "I=0x%X PC=0x%X\n", asic_file[I], asic_file[PC]); + } + else + { /* fall through */ + rs_pop(); + } + CLOCKS(1); +} + +void do_nip() +{ + NEXT = TOP; + ps_pop(); + invert(); + shift(); + TEST_EXIT; + CLOCKS(1); +} + +void do_over() +{ + ps_push(NEXT); + invert(); + t_stat result = shift(); + if (SCPE_OK != result) + ABORT(result); + TEST_EXIT; + CLOCKS(1); +} + +void do_shift() +{ + t_stat result; + invert(); + if (SCPE_OK != (result = shift())) + { + ABORT(result); + } + TEST_EXIT; + CLOCKS(1); +} + +void do_short_lit_swap_alu() +{ + t_stat result; + if (SCPE_OK != (result = alu(TOP, SHORT_LIT, &TOP))) + { + ABORT(result); + } + TEST_EXIT; + CLOCKS(1); +} + +void do_store() +{ + store(TOP, NEXT); + ps_pop(); + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_store_2() +{ + ps_pop(); + invert(); + CLOCKS(1); +} + +void do_store_lit() +{ + store(TOP, NEXT); + ps_pop(); + TOP = SHORT_LIT; + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_store_lit_2() +{ + CLOCKS(1); +} + +void do_swap() +{ + t_value temp = TOP; + t_stat result; + TOP = NEXT; + NEXT = temp; + invert(); + + if (SCPE_OK != (result = shift())) + { + ABORT(result); + } + + TEST_EXIT; + CLOCKS(1); +} + +void do_tuck_alu() +{ + t_value temp = NEXT; + NEXT = TOP; + t_stat result = alu(TOP, temp, &TOP); + if (SCPE_OK != result) + ABORT(result); + result = shift(); + if (SCPE_OK != result) + ABORT(result); + TEST_EXIT; + CLOCKS(1); +} + +void do_tuck_store_with_alu() +{ + store(TOP, NEXT); + NEXT = TOP; + ps_pop(); + t_stat result = alu(TOP, SHORT_LIT, &TOP); + if (SCPE_OK != result) + ABORT(result); + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_tuck_store_with_alu_2() +{ + CLOCKS(1); +} + +/** + * D swap + */ +void D_swap() +{ + ps_push(TOP); + _long_fetch(cpr.fields.pr, asic_file[PC], &NEXT); + INC_PC; + TEST_EXIT; + CLOCKS(1); + second_cycle = TRUE; +} + +void do_short_lit() +{ + ps_push(SHORT_LIT); + invert(); + TEST_EXIT; + CLOCKS(1); +} + +/** + * ??? the below definitions might speed things up, from Mitch Bradley + * ??? the below definitions might speed things up, from Mitch Bradley + * #define CARRY(a,b) ((unsigned)a >= (unsigned)(-b)) + * #define BORROW(a,b) ((unsigned)a < (unsigned)b) + * 16-bit versions that promote to longs + */ +RTX_WORD CARRY(RTX_WORD a, RTX_WORD b, RTX_WORD c) +{ + t_value sum, temp; /* sum=a+b+c */ + /* the additions below use high 16 bits of the long to catch carries */ + temp = a; + sum = temp & 0xFFFF; + temp = b; + sum = sum + (temp & 0xFFFF); + temp = c; + sum = sum + (temp & 0xFFFF); + if (sum & 0x10000) + return (1); + return (0); +} + +/** + * All ALU operations are performed between the contents of the TOP Register + * and another operand which is determined by the instruction. + * The results of the operation are loaded into TOP. The ALU function to be performed + * is encoded as a field in the instruction and is shown in the opcode formats + * as either "cccc" or "aaa". + * + * See Table 7.3, Prgmrs Ref Man + */ +t_stat alu(t_value opa, t_value opb, t_value *result) +{ + switch (IR & 0x0F00) + { + case 0x0200: // T AND Y + *result = (opa & opb) & D16_MASK; + return SCPE_OK; + case 0x0300: // T NOR Y + *result = (~(opa | opb)) & D16_MASK; + return SCPE_OK; + case 0x0400: // T - Y + CY = BORROW(opa, opb, 1); + *result = (opa - opb) & D16_MASK; + return SCPE_OK; + case 0x0500: // T - Y with borrow + CY = BORROW(opa, opb, CY); + *result = (opa + ~opb + CY) & D16_MASK; + return SCPE_OK; + case 0x0600: // T OR Y + *result = (opa | opb) & D16_MASK; + return SCPE_OK; + case 0x0700: // T NAND Y + *result = (~(opa & opb)) & D16_MASK; + return SCPE_OK; + case 0x0800: // T + Y + CY = CARRY(opa, opb, 0); + *result = (opa + opb) & D16_MASK; + return SCPE_OK; + case 0x0900: // T + Y with carry + CY = CARRY(opa, opb, CY); + *result = (opa + opb + CY) & D16_MASK; + return SCPE_OK; + case 0x0A00: // T XOR Y + *result = (opa ^ opb) & D16_MASK; + return SCPE_OK; + case 0x0B00: // T XNOR Y + *result = (~(opa ^ opb)) & D16_MASK; + return SCPE_OK; + case 0x0C00: // Y - T + CY = BORROW(opb, opa, 1); + *result = (opb - opa) & D16_MASK; + return SCPE_OK; + case 0x0D00: // Y - T with borrow + CY = BORROW(opb, opa, CY); + *result = (opb + ~opa + CY) & D16_MASK; + return SCPE_OK; + } + return STOP_UNK; // Defensive, no test +} + +/* Compute branch target address + * Input: instruction = 16-bit RTX instruction + * address = 16-bit RTX address + * Output: 16-bit RTX branch target address + */ +t_addr target_addr(RTX_WORD instruction, t_addr address) +{ + /** + * The RTX Branch Instruction treats each Code Memory page as 64 "blocks" of 512 words each. + * Bits 15-10 of the Program Counter determine the block number; + * Bits 9-0 determine the word offset within the block. + */ + t_addr next_addr = ((address + 1) & 0xFC00) | ((instruction << 1) & 0x03FE); + sim_debug(DBG_CPU, &cpu_dev, "NEXT_ADDR=0x%X BK=%d\n", next_addr, instruction & 0x0600); + + // See TABLE 7.2: BLOCK BRANCHING ASSIGNMENTS, Pgmrs Ref Man + switch (instruction & 0x0600) + { + case 0x0000: /* same memory block */ + return (next_addr); + case 0x0200: /* next memory block */ + return (next_addr + 0x0400) & D16_UMAX; + case 0x0400: /* memory block 0 */ + return (next_addr & 0x03FE); + case 0x0600: /* previous memory block */ + return (next_addr - 0x0400) & D16_UMAX; + } + sim_debug(DBG_CPU, &cpu_dev, "case statement error in target_addr, IR=0x%X, addr=0x%X", instruction, address); + return 0; +} +/* dispatch table for 1st clock cycle */ +void (*dispatch_vector_1[NUMBER_OF_ROUTINES])() = + { + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 16 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 32 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 48 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 64 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 80 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 96 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 112 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn /* 128 */ +}; + +/* dispatch table for 2nd clock cycle of 2-cycle instructions */ +void (*dispatch_vector_2[NUMBER_OF_ROUTINES])() = + { + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 16 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 32 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 48 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 64 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 80 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 96 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, /* 112 */ + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn, + bad_insn, bad_insn, bad_insn, bad_insn /* 128 */ +}; + +t_stat execute(t_value instruction) +{ + machine_op opcode = 0; + t_stat status; + if (SCPE_OK == (status = decode(instruction, &opcode))) + { + print_instruction(instruction, cpr.pr, asic_file[PC]); + if (!STREAM && second_cycle){ + dispatch_vector_2[opcode](); + second_cycle = 0; + } + else + { + dispatch_vector_1[opcode](); + } + } + return status; +} + +/** + * print a disassembled instruction + */ +void print_instruction(t_value instruction, t_value page, t_addr address) +{ +#define PREFIX "2nd " + machine_op opr = 0; + if (SCPE_OK != decode(instruction, &opr)) + { + return; + } + switch (opr) + { + case OP_0BRANCH: + sim_debug(DBG_CPU, &cpu_dev, "0BRANCH TOP=0x%X 0x%X\n", TOP, target_addr(instruction, address)); + break; + + case OP_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%s%s\n", ALU, SHIFT); + break; + + case OP_ASIC_STREAM_MAC: + sim_debug(DBG_CPU, &cpu_dev, "Asic Stream Mac\n"); + break; + + case OP_BRANCH: + sim_debug(DBG_CPU, &cpu_dev, "BRANCH %d:0x%X\n", page, target_addr(instruction, address)); + break; + + case OP_BS_ONE_TICK: + sim_debug(DBG_CPU, &cpu_dev, "BS1'\n"); + break; + + case OP_BS_TICK: + sim_debug(DBG_CPU, &cpu_dev, "BS'\n"); + break; + + case OP_BUSLASH_TICK: + sim_debug(DBG_CPU, &cpu_dev, "BU/'\n"); + break; + + case OP_BUSTAR_TICK: + sim_debug(DBG_CPU, &cpu_dev, "BU*'\n"); + break; + + case OP_BUSTAR_TICK_TICK: + sim_debug(DBG_CPU, &cpu_dev, "BU*''\n"); + break; + + case OP_CALL: + sim_debug(DBG_CPU, &cpu_dev, "CALL %d:0x%X\n", page, ((instruction << 1) & D16_MASK)); + // dump_header(9); + // dump_header(8); + // dump_header(7); + // dump_header(6); + // dump_header(5); + // dump_header(4); + // dump_header(3); + // dump_header(2); + // dump_header(1); + break; + + case OP_DDUP_STORE: + sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s!\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + break; + + case OP_DDUP_STORE_WITH_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s! 0x%X %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT, SWAP_ALU3); + break; + + case OP_DROP: + sim_debug(DBG_CPU, &cpu_dev, "DROP %s%s\n", INVERT, SHIFT); + break; + + case OP_DROP_LIT: + { + t_value value; + _long_fetch(page, address, &value); + sim_debug(DBG_CPU, &cpu_dev, "%sDROP LIT %d %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, INVERT); + } + break; + + case OP_DUP: + sim_debug(DBG_CPU, &cpu_dev, "DUP %s%s\n", INVERT, SHIFT); + break; + + case OP_DUP_FETCH_SWAP: + sim_debug(DBG_CPU, &cpu_dev, "%sDUP %s@ SWAP\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + break; + + case OP_DUP_USTORE: + sim_debug(DBG_CPU, &cpu_dev, "%sDUP %X U! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + break; + + case OP_GFETCH_DROP: + sim_debug(DBG_CPU, &cpu_dev, "0x%X G@ DROP %s ", SHORT_LIT, INVERT); + if (SHORT_LIT == 1) + sim_debug(DBG_CPU, &cpu_dev, "(R> DROP)\n"); + else + sim_debug(DBG_CPU, &cpu_dev, "\n"); + break; + + case OP_FETCH: + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + break; + + case OP_FETCH_LIT: + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + break; + + case OP_FETCH_SWAP: + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ SWAP %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + break; + + case OP_FETCH_OVER_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ OVER %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, ALU); + break; + + case OP_FETCH_SWAP_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SWAP_ALU); + break; + + case OP_FETCH_WITH_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X %s@_%s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, MEM, ALU3); + break; + + case OP_GFETCH: + sim_debug(DBG_CPU, &cpu_dev, "0x%X G@ %s ", SHORT_LIT, INVERT); + if (SHORT_LIT == 1) + { + sim_debug(DBG_CPU, &cpu_dev, "(R>)\n"); + } + else + { + sim_debug(DBG_CPU, &cpu_dev, "\n"); + }; + break; + + case OP_QDUP_0BRANCH: + sim_debug(DBG_CPU, &cpu_dev, "?DUP 0BRANCH %d:0x%X\n", page, target_addr(instruction, address)); + break; + + case OP_GFETCH_SWAP_ALU: + sim_debug(DBG_CPU, &cpu_dev, "0x%X G@ %s\n", SHORT_LIT, SWAP_ALU); + break; + + case OP_GSTORE: + sim_debug(DBG_CPU, &cpu_dev, "0x%X G! %s ", SHORT_LIT, INVERT); + if (SHORT_LIT == 0) + { + sim_debug(DBG_CPU, &cpu_dev, "(R> DROP >R)\n"); + } + else if (SHORT_LIT == 1) + { + sim_debug(DBG_CPU, &cpu_dev, "(>R)\n"); + } + else if (SHORT_LIT == 7 && (instruction & 0x0020)) + { + sim_debug(DBG_CPU, &cpu_dev, "(>R;)\n"); + } + else + { + sim_debug(DBG_CPU, &cpu_dev, "\n"); + } + break; + + case OP_LIT: + { + if (STREAM | !second_cycle) + { + t_value value; + t_bool _sim_is_running = sim_is_running; + sim_is_running = 0; // turn off debug for a moment + _long_fetch(page, address, &value); + sim_is_running = _sim_is_running; + sim_debug(DBG_CPU, &cpu_dev, "LIT 0x%X %s\n", value, INVERT); + } + else + { + sim_debug(DBG_CPU, &cpu_dev, "%sLIT\n", PREFIX); + } + } + break; + + case OP_LIT_OVER_ALU: + { + t_value value; + _long_fetch(page, address, &value); + sim_debug(DBG_CPU, &cpu_dev, "%sLIT 0x%X OVER %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, ALU); + } + break; + + case OP_LIT_SWAP: + { + t_value value; + _long_fetch(page, address, &value); + sim_debug(DBG_CPU, &cpu_dev, "%sLIT %d SWAP %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, INVERT); + } + break; + + case OP_LIT_SWAP_ALU: + { + t_value value; + t_bool _sim_is_running = sim_is_running; + sim_is_running = 0; // turn off debug for a moment + _long_fetch(page, address, &value); + sim_is_running = _sim_is_running; + sim_debug(DBG_CPU, &cpu_dev, "%sLIT %d %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, SWAP_ALU); + } + break; + + case OP_NEXT: + sim_debug(DBG_CPU, &cpu_dev, "NEXT %d:0x%X ", page, target_addr(instruction, address)); + break; + + case OP_NIP_DUP_FETCH_SWAP: + sim_debug(DBG_CPU, &cpu_dev, "%sNIP DUP %s@ SWAP\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + break; + + case OP_NIP_FETCH_LIT: + sim_debug(DBG_CPU, &cpu_dev, "%sNIP %s@ 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + break; + + case OP_NIP_FETCH_WITH_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%sNIP 0x%X %s@_%s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, MEM, ALU3); + break; + + case OP_OVER: + sim_debug(DBG_CPU, &cpu_dev, "OVER %s%s\n", INVERT, SHIFT); + break; + + case OP_SHIFT: + if ((instruction & 0x0FFF) == 0) + { + sim_debug(DBG_CPU, &cpu_dev, "NOP\n"); + } + else + { + sim_debug(DBG_CPU, &cpu_dev, "%s%s\n", INVERT, SHIFT); + } + break; + + case OP_SHORT_LIT: + sim_debug(DBG_CPU, &cpu_dev, "0x%X %s\n", SHORT_LIT, INVERT); + break; + + case OP_SHORT_LIT_SWAP_ALU: + sim_debug(DBG_CPU, &cpu_dev, "0x%X %s\n", SHORT_LIT, SWAP_ALU); + break; + + case OP_STORE: + sim_debug(DBG_CPU, &cpu_dev, "%s%s! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + break; + + case OP_STORE_LIT: + sim_debug(DBG_CPU, &cpu_dev, "%s%s! 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + break; + + case OP_SWAP: + sim_debug(DBG_CPU, &cpu_dev, "SWAP %s%s\n", INVERT, SHIFT); + break; + + case OP_TUCK_ALU: + sim_debug(DBG_CPU, &cpu_dev, "TUCK %s%s\n", ALU, SHIFT); + break; + + case OP_TUCK_STORE: + sim_debug(DBG_CPU, &cpu_dev, "%sTUCK %s!\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + break; + + case OP_TUCK_STORE_WITH_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%sTUCK %s! 0x%X %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT, ALU3); + break; + + case OP_UFETCH: + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + break; + + case OP_UFETCH_OVER_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ OVER %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, ALU); + break; + + case OP_UFETCH_SWAP: + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ SWAP %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + break; + + case OP_UFETCH_SWAP_ALU: + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ %s", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, SWAP_ALU); + break; + + case OP_UNDER_STORE: + sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + break; + + case OP_UNDER_STORE_LIT: + sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + break; + + case OP_USTORE: + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + break; + } +} + +void init_dispatch_vectors() +{ +#if DUMMY_LAST >= NUMBER_OF_ROUTINES +#error : Increase NUMBER_OF_ROUTINES array initialization !! +#endif + dispatch_vector_1[OP_CALL] = do_call; + dispatch_vector_1[OP_0BRANCH] = do_0branch; + dispatch_vector_1[OP_ALU] = do_alu; +#if 0 + dispatch_vector_1[OP_ASIC_STREAM_MAC] = do_asic_stream_mac; +#endif + dispatch_vector_1[OP_BRANCH] = do_branch; +#if 0 + dispatch_vector_1[OP_BS_ONE_TICK] = do_bs_one_tick; + dispatch_vector_1[OP_BS_TICK] = do_bs_tick; + dispatch_vector_1[OP_BUSLASH_TICK] = do_buslash_tick; + dispatch_vector_1[OP_BUSTAR_TICK] = do_bustar_tick; + dispatch_vector_1[OP_BUSTAR_TICK_TICK] = do_bustar_tick_tick; + dispatch_vector_1[OP_CLEAR_ACC] = do_clear_acc; + dispatch_vector_1[OP_CLEAR_SOFTINT] = do_clear_softint; + dispatch_vector_1[OP_C_TICK] = do_c_tick; +#endif + dispatch_vector_1[OP_DDUP_ALU] = do_ddup_alu; +#if 0 + dispatch_vector_1[OP_DDUP_STORE] = do_ddup_store; +#endif + dispatch_vector_1[OP_DDUP_STORE_WITH_ALU] = do_ddup_store_with_alu; +#if 0 + dispatch_vector_1[OP_DEC_RX] = do_dec_rx; +#endif + dispatch_vector_1[OP_DROP] = do_drop; +#if 0 + dispatch_vector_1[OP_DROP_DUP] = do_drop_dup; + dispatch_vector_1[OP_DROP_LIT] = do_drop_lit; + dispatch_vector_1[OP_DROP_SHORT_LIT] = do_drop_short_lit; + dispatch_vector_1[OP_DSLL] = do_dsll; + dispatch_vector_1[OP_DSRA] = do_dsra; + dispatch_vector_1[OP_DSRL] = do_dsrl; +#endif + dispatch_vector_1[OP_DUP] = do_dup; +#if 0 + dispatch_vector_1[OP_DUP_FETCH_SWAP] = do_dup_fetch_swap; + dispatch_vector_1[OP_DUP_GSTORE] = do_dup_gstore; + dispatch_vector_1[OP_DUP_USTORE] = do_dup_ustore; +#endif + dispatch_vector_1[OP_FETCH] = do_fetch; +#if 0 + dispatch_vector_1[OP_FETCH_LIT] = do_fetch_lit; +#endif + dispatch_vector_1[OP_FETCH_OVER_ALU] = do_fetch_over_alu; +#if 0 + dispatch_vector_1[OP_FETCH_SWAP] = do_fetch_swap; +#endif + dispatch_vector_1[OP_FETCH_SWAP_ALU] = do_fetch_swap_alu; + dispatch_vector_1[OP_FETCH_WITH_ALU] = do_fetch_with_alu; + dispatch_vector_1[OP_GFETCH] = do_gfetch; + dispatch_vector_1[OP_GFETCH_DROP] = do_gfetch_drop; +#if 0 + dispatch_vector_1[OP_GFETCH_OVER_ALU] = do_gfetch_over_alu; +#endif + dispatch_vector_1[OP_GFETCH_SWAP_ALU] = do_gfetch_swap_alu; + dispatch_vector_1[OP_GSTORE] = do_gstore; +#if 0 + dispatch_vector_1[OP_INC_RX] = do_inc_rx; +#endif + dispatch_vector_1[OP_LIT] = do_lit; +#if 0 + dispatch_vector_1[OP_LIT_OVER_ALU] = do_lit_over_alu; + dispatch_vector_1[OP_LIT_SWAP] = do_lit_swap; +#endif + dispatch_vector_1[OP_LIT_SWAP_ALU] = do_lit_swap_alu; +#if 0 + dispatch_vector_1[OP_MAC] = do_mac; + dispatch_vector_1[OP_MIXED_MAC] = do_mixed_mac; + dispatch_vector_1[OP_MIXED_MULT] = do_mixed_mult; + dispatch_vector_1[OP_MULT] = do_mult; + dispatch_vector_1[OP_MULT_SUB] = do_mult_sub; +#endif + dispatch_vector_1[OP_NEXT] = do_next; + dispatch_vector_1[OP_NIP] = do_nip; +#if 0 + dispatch_vector_1[OP_NIP_DUP] = do_nip_dup; + dispatch_vector_1[OP_NIP_DUP_FETCH_SWAP] = do_nip_dup_fetch_swap; + dispatch_vector_1[OP_NIP_FETCH_LIT] = do_nip_fetch_lit; + dispatch_vector_1[OP_NIP_FETCH_WITH_ALU] = do_nip_fetch_with_alu; + dispatch_vector_1[OP_NORMALIZE] = do_normalize; +#endif + dispatch_vector_1[OP_OVER] = do_over; + dispatch_vector_1[OP_QDUP_0BRANCH] = do_qdup_0branch; +#if 0 + dispatch_vector_1[OP_RDR] = do_rdr; + dispatch_vector_1[OP_RESERVED] = do_reserved; + dispatch_vector_1[OP_RESERVED_STEP_MATH] = do_reserved_step_math; + dispatch_vector_1[OP_RTR] = do_rtr; + dispatch_vector_1[OP_R_TICK] = do_r_tick; + dispatch_vector_1[OP_SELECT_CPR] = do_select_cpr; + dispatch_vector_1[OP_SELECT_DPR] = do_select_dpr; + dispatch_vector_1[OP_SET_SOFTINT] = do_set_softint; +#endif + dispatch_vector_1[OP_SHIFT] = do_shift; +#if 0 + dispatch_vector_1[OP_SHIFT_MAC_RIGHT] = do_shift_mac_right; +#endif + dispatch_vector_1[OP_SHORT_LIT] = do_short_lit; +#if 0 + dispatch_vector_1[OP_SHORT_LIT_OVER_ALU] = do_short_lit_over_alu; +#endif + dispatch_vector_1[OP_SHORT_LIT_SWAP_ALU] = do_short_lit_swap_alu; +#if 0 + dispatch_vector_1[OP_STAR_TICK] = do_star_tick; + dispatch_vector_1[OP_STAR_TICK_TICK] = do_star_tick_tick; +#endif + dispatch_vector_1[OP_STORE] = do_store; + dispatch_vector_1[OP_STORE_LIT] = do_store_lit; +#if 0 + dispatch_vector_1[OP_STREAM_MAC] = do_stream_mac; +#endif + dispatch_vector_1[OP_SWAP] = do_swap; + dispatch_vector_1[OP_SWAP] = do_swap; +#if 0 + dispatch_vector_1[OP_S_ONE_TICK] = do_s_one_tick; + dispatch_vector_1[OP_S_TICK] = do_s_tick; + dispatch_vector_1[OP_S_TICK_TICK] = do_s_tick_tick; +#endif + dispatch_vector_1[OP_TUCK_ALU] = do_tuck_alu; +#if 0 + dispatch_vector_1[OP_TUCK_STORE] = do_tuck_store; +#endif + dispatch_vector_1[OP_TUCK_STORE_WITH_ALU] = do_tuck_store_with_alu; +#if 0 + dispatch_vector_1[OP_TWO_STAR_TICK] = do_two_star_tick; + dispatch_vector_1[OP_UFETCH] = do_ufetch; + dispatch_vector_1[OP_UFETCH_OVER_ALU] = do_ufetch_over_alu; + dispatch_vector_1[OP_UFETCH_SWAP] = do_ufetch_swap; + dispatch_vector_1[OP_UFETCH_SWAP_ALU] = do_ufetch_swap_alu; + dispatch_vector_1[OP_UMAC] = do_umac; + dispatch_vector_1[OP_UMULT] = do_umult; + dispatch_vector_1[OP_UNDER_ALU] = do_under_alu; + dispatch_vector_1[OP_UNDER_STORE] = do_under_store; + dispatch_vector_1[OP_UNDER_STORE_LIT] = do_under_store_lit; + dispatch_vector_1[OP_USLASH_ONE_TICK] = do_uslash_one_tick; + dispatch_vector_1[OP_USLASH_ONE_TICK_TICK] = do_uslash_one_tick_tick; + dispatch_vector_1[OP_USLASH_TICK] = do_uslash_tick; + dispatch_vector_1[OP_USLASH_TICK_TICK] = do_uslash_tick_tick; + dispatch_vector_1[OP_USTAR_TICK] = do_ustar_tick; + dispatch_vector_1[OP_USTAR_TICK_TICK] = do_ustar_tick_tick; + dispatch_vector_1[OP_USTORE] = do_ustore; + dispatch_vector_1[OP_ZERO_EQUAL] = do_zero_equal; +#endif + +/* ---------------- second clock routines */ +#if 0 + dispatch_vector_2[OP_DDUP_STORE] = do_ddup_store_2; +#endif + dispatch_vector_2[OP_DDUP_STORE_WITH_ALU] = do_ddup_store_with_alu_2; +#if 0 + dispatch_vector_2[OP_DROP_LIT] = do_drop_lit_2; + dispatch_vector_2[OP_DUP_FETCH_SWAP] = do_dup_fetch_swap_2; + dispatch_vector_2[OP_DUP_USTORE] = do_dup_ustore_2; +#endif + dispatch_vector_2[OP_FETCH] = do_fetch_2; +#if 0 + dispatch_vector_2[OP_FETCH_LIT] = do_fetch_lit_2; +#endif + dispatch_vector_2[OP_FETCH_OVER_ALU] = do_fetch_over_alu_2; + dispatch_vector_2[OP_FETCH_SWAP] = do_fetch_swap_2; + dispatch_vector_2[OP_FETCH_SWAP_ALU] = do_fetch_swap_alu_2; + dispatch_vector_2[OP_FETCH_WITH_ALU] = do_fetch_with_alu_2; + dispatch_vector_2[OP_LIT] = do_lit_2; +#if 0 + dispatch_vector_2[OP_LIT_OVER_ALU] = do_lit_over_alu_2; + dispatch_vector_2[OP_LIT_SWAP] = do_lit_swap_2; +#endif + dispatch_vector_2[OP_LIT_SWAP_ALU] = do_lit_swap_alu_2; +#if 0 + dispatch_vector_2[OP_NIP_DUP_FETCH_SWAP] = do_nip_dup_fetch_swap_2; + dispatch_vector_2[OP_NIP_FETCH_LIT] = do_nip_fetch_lit_2; + dispatch_vector_2[OP_NIP_FETCH_WITH_ALU] = do_nip_fetch_with_alu_2; +#endif + dispatch_vector_2[OP_STORE] = do_store_2; + dispatch_vector_2[OP_STORE_LIT] = do_store_lit_2; +#if 0 + dispatch_vector_2[OP_TUCK_STORE] = do_tuck_store_2; +#endif + dispatch_vector_2[OP_TUCK_STORE_WITH_ALU] = do_tuck_store_with_alu_2; +#if 0 + dispatch_vector_2[OP_UFETCH] = do_ufetch_2; + dispatch_vector_2[OP_UFETCH_OVER_ALU] = do_ufetch_over_alu_2; + dispatch_vector_2[OP_UFETCH_SWAP] = do_ufetch_swap_2; + dispatch_vector_2[OP_UFETCH_SWAP_ALU] = do_ufetch_swap_alu_2; + dispatch_vector_2[OP_UNDER_STORE] = do_under_store_2; + dispatch_vector_2[OP_UNDER_STORE_LIT] = do_under_store_lit_2; + dispatch_vector_2[OP_USTORE] = do_ustore_2; +#endif +} diff --git a/RTX2001A/src/rtx2001a_execute.h b/RTX2001A/src/rtx2001a_execute.h new file mode 100644 index 000000000..adb5e049b --- /dev/null +++ b/RTX2001A/src/rtx2001a_execute.h @@ -0,0 +1,125 @@ +/* rtx2001a_execute.h: RTX2001A simulator definitions + + Copyright (c) 2020, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 10-Oct-22 SYS New simulator. + + See RTX2000/EXECUTE.H + + Instruction execution +*/ + +#ifndef RTX2001A_EXECUTE_H_ +#define RTX2001A_EXECUTE_H_ 0 + +#include "rtx2001a_defs.h" +#include "rtx2001a_decode.h" + +/** + * Note: you *MUST* change the initialization statement for these arrays + * if NUMBER_OF_ROUTINES is changed !!!!! + */ +#define NUMBER_OF_ROUTINES 128 +extern void (*dispatch_vector_1[NUMBER_OF_ROUTINES])(); +extern void (*dispatch_vector_2[NUMBER_OF_ROUTINES])(); + +extern void init_dispatch_vectors(); // Function dispatch vector + +extern t_stat execute(t_value instruction); +extern void print_instruction(t_value instruction, t_value page, t_addr address); +extern t_stat alu(t_value opa, t_value opb, t_value *result); +extern t_stat shift(void); + +extern void do_0branch(); +extern void do_call(); +extern void do_exit(); +#define do_fetch fetch_swap +extern void do_fetch_2(); +#define do_fetch_over_alu fetch_swap +extern void do_fetch_over_alu_2(); +extern void do_fetch_swap_2(); +#define do_fetch_swap_alu fetch_swap +extern void do_fetch_swap_alu_2(); +#define do_lit D_swap +#define do_lit_swap_alu D_swap +extern void do_list_2(); +extern void do_qdup_0branch(); +extern void do_store_lit_2(); +extern void bad_insn(void); +extern void D_swap(); + +RTX_WORD clocks; +extern t_value STREAM; +extern t_value stream_mode; +extern t_value second_cycle; + +#define CLOCKS(arg) clocks += arg + +#define EXIT (IR & 0x0020) + +#define TEST_EXIT \ + { \ + if (EXIT) \ + do_exit(); \ + } + +// #define CARRY(a, b) (((uint16_t)a >= (uint16_t)(-b)) ? 1 : 0) +// #define BORROW(a, b) (((uint16_t)a < (uint16_t)b) ? 1 : 0) +#define BORROW(a, b, c) CARRY(a, ~b, c) + +#define invert() \ + { \ + if (IR & 0x0100) \ + TOP = (~TOP) & D16_UMAX; \ + } + +/* MACROS FOR SIMPLIFIED PRINTING */ + +/* print out a shift operation */ +#define SHIFT (shift_names[instruction & 0xF]) + +/* print out the invert operation */ +#define INVERT (alu_names[(instruction >> 8) & 0x1]) + +/* print out an alu operation */ +#define ALU (alu_names[(instruction >> 8) & 0xF]) +#define SWAP_ALU (swap_alu_names[(instruction >> 8) & 0xF]) + +/* print out a 3-bit alu operation */ +#define ALU3 (alu_names[(instruction >> 8) & 0xE]) +#define SWAP_ALU3 (swap_alu_names[(instruction >> 8) & 0xE]) + +/* extract the bit that determines word vs. byte */ +#define MEM (memory_names[(instruction >> 12) & 0x1]) + +#define dump_header(n) \ + { \ + t_value temp = 0; \ + byte_fetch(((instruction << 1) & D16_MASK) - n, &temp); \ + if (temp > 32 && temp < 128) \ + { \ + sim_debug(DBG_CPU, &cpu_dev, "\t%c", temp); \ + } \ + } +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_mb.c b/RTX2001A/src/rtx2001a_mb.c new file mode 100644 index 000000000..7117075d2 --- /dev/null +++ b/RTX2001A/src/rtx2001a_mb.c @@ -0,0 +1,222 @@ +/* rtx2001a_mb.c: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 6-Sep-22 SYS From RTX_2000 simulator by Phil Koopman Jr. + + Memory Bus support +*/ +#include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_registers.h" +#include "rtx2001a_mb.h" +#include "hp3k_defs.h" + +RTX_WORD ram[RAM_SIZE] = {0}; + +void _read(t_addr addr, t_value *value) +{ + *value = ram[addr] & D16_MASK; + if (sim_is_running) + { + sim_debug(DBG_MEB_R, &cpu_dev, "0x%X 0x%X\n", addr, *value); + } +} + +void _write(t_addr addr, t_value value) +{ + ram[addr] = value; + sim_debug(DBG_MEB_W, &cpu_dev, "0x%X 0x%X\n", addr, value); +} + +// See rtx2000_simulator/STATE.C:208 +void _long_fetch(t_addr seg, t_addr address, t_value *value) +{ + t_addr addr = 0; + LEA(seg, address, addr); + if ((addr >= 0) && (addr < RAM_BYTES)) + { + _read(addr >> 1, value); + return; + } + + sim_debug(DBG_MEB_R, &cpu_dev, SEGADDR("nxm: PC=0x%X "), asic_file[PC], seg, address, addr); + ABORT(SCPE_NXM); +} + +// See rtx2000_simulator/STATE.C:195 +void _long_store(t_addr seg, t_addr address, t_value data) +{ + t_addr addr = 0; + LEA(seg, address, addr); + if ((addr >= 0) && (addr < RAM_BYTES)) + { + _write(addr >> 1, data & D16_MASK); + return; + } + + sim_debug(DBG_MEB_W, &cpu_dev, SEGADDR("nxm: PC=0x%X "), asic_file[PC], seg, address, addr); + ABORT(SCPE_NXM); +} + +// See rtx2000_simulator/STATE.C:234 +void byte_fetch(t_addr address, t_value *value) +{ + if ((address & 1) ^ BO) + { + dp_fetch(address, value); + *value &= 0x00FF; + } + else + { + dp_fetch(address, value); + *value >>= 8; + *value &= 0x00FF; + } +} + +// See rtx2000_simulator/STATE.C:225 +void byte_store(t_addr address, t_value data) +{ + uint32 temp = 0; + union + { + struct + { + uint8 a; + uint8 b; + uint16 mbz; + }; + RTX_WORD c; + } value; + value.mbz = 0; + + // Watch out for doubled wait states!!! + dp_fetch(address, &temp); + + if ((address & 1) ^ BO) + { + value.a = data & 0x00FF; + value.b = temp >> 8; + } + else + { + value.a = temp & 0x00FF; + value.b = data & 0x00FF; + // RTX_WORD value = ((data << 8) & 0xFF00) | (temp & 0xFF); + // dp_store(address, value); + } + dp_store(address, value.c); +} + +/* + * See rtx2000_simulator/STATE.C:240 + * Classes 14 and 15: Data Memory Access + * The instruction formats are identical for both word and byte access. + * The "s" bit (bit 12) of the instruction dictates the size of the operand + * (s =0 for 16-bit word, s = 1 for 8-bit byte). + */ +void fetch(t_addr address, t_value *value) +{ + uint32 tempa = 0; + uint32 tempb = 0; + + // if ((sim_brk_summ & DBG_MEB_R) && sim_brk_test(address, DBG_MEB_R)) + // { + // // longjmp(bkpt_env, STOP_IBKPT); + // printf("!\n"); + // } + if (IR & 0x1000) + { + byte_fetch(address, value); + } + else if ((address & 1) ^ BO) + { + dp_fetch(address, &tempa); + tempb = (tempa >> 8) & 0xFF; + tempa = (tempa << 8) & 0xFF00; + *value = tempa | tempb; + } + else + { + dp_fetch(address, &tempa); + *value = tempa & D16_MASK; + } +} + +/* + * See rtx2000_simulator/STATE.C:255 + * Classes 14 and 15: Data Memory Access + * The instruction formats are identical for both word and byte access. + * The "s" bit (bit 12) of the instruction dictates the size of the operand + * (s =0 for 16-bit word, s = 1 for 8-bit byte). + */ +void store(t_addr address, t_value data) +{ + uint32 tempa = 0; + uint32 tempb = 0; + + if ((sim_brk_summ & DBG_MEB_W) && sim_brk_test(address, DBG_MEB_W)) + { + // longjmp(bkpt_env, STOP_IBKPT); + printf("!\n"); + } + + if (IR & 0x1000) + { + byte_store(address, (data & D16_MASK)); + } + else + { + if ((address & 1) ^ BO) + { + tempb = (data >> 8) & 0xFF; + tempa = (data << 8) & 0xFF00; + dp_store(address, (tempa | tempb)); + } + else + { + dp_store(address, (data & D16_MASK)); + } + } +} + +void ustore(t_addr offset, t_value data) +{ + // See RTX 2001A Datasheet; Fig 13, pg 10 + // uint32 addr = (ubr.ubr & 0xFFFE) | ((offset << 1) & 0x003E); + t_addr addr = ubr.fields.page | ((offset << 1) & 0x003E); + sim_debug(DBG_ASB_R, &cpu_dev, "data=0x%X UBR=0x%X offset=0x%X addr=0x%X\n", data, ubr.pr, offset, addr); + // sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X UPR=0x%X addr=0x%X\n", asic_file[PC], upr.pr, addr); + _write(addr, data); +} + +void ufetch(t_addr offset, t_value *data) +{ + // See RTX 2001A Datasheet; Fig 13, pg 10 + t_addr addr = ubr.fields.page | ((offset << 1) & 0x003E); + // sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X UPR=0x%X addr=0x%X\n", asic_file[PC], upr.pr, addr); + _read(addr, data); + sim_debug(DBG_ASB_R, &cpu_dev, "data=0x%X UBR=0x%X offset=0x%X addr=0x%X\n", *data, ubr.pr, offset, addr); +} diff --git a/RTX2001A/src/rtx2001a_mb.h b/RTX2001A/src/rtx2001a_mb.h new file mode 100644 index 000000000..f8fcef3d3 --- /dev/null +++ b/RTX2001A/src/rtx2001a_mb.h @@ -0,0 +1,78 @@ +/* rtx2001a_mb.h: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 6-Sep-22 SYS From RTX_2000 simulator by Phil Koopman Jr. + + Memory Bus support +*/ +#ifndef RTX2001A_MB_H_ +#define RTX2001A_MB_H_ 0 + +// #include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_registers.h" + +// See rtx2000_simulator/STATE.H:208 +#define RAM_SIZE 0x10000 /* in words */ +#define RAM_BYTES 0x100000 +#define RAM_ORG 0x0000 + +// extract the in-line 16-bit lit +#define LIT _long_fetch(page, address, value) + +extern RTX_WORD ram[RAM_SIZE]; + +extern void _read(t_addr, t_value *); +extern void _write(t_addr, t_value); +extern void _long_fetch(t_addr, t_addr, t_value *); +extern void _long_store(t_addr, t_addr, t_value); +extern void byte_fetch(t_addr, t_value *); +extern void byte_store(t_addr, t_value); +extern void fetch(t_addr, t_value *); +extern void store(t_addr, t_value); +extern void ufetch(t_addr, t_value *); +extern void ustore(t_addr, t_value); + +#define DATA_PAGE (DPRSEL ? DPR : CPR) /* correct page for access */ + +#define SEGADDR(prefix) \ + sim_is_running ? prefix "seg:addr=%d:0x%X addr=0x%X\n" : "" + +#define LEA(seg, address, addr) \ + addr = ((seg) ? (((seg << 16) & 0xF0000) | (address & D16_MASK)) : (address & D16_MASK)) - RAM_ORG; + +#define long_fetch(segment, address, value) _long_fetch(segment, address, value) + +#define long_store(segment, address, data) _long_store(segment, address, data) + +#define dp_store(address, data) _long_store(dpr.pr, address, data) + +#define dp_fetch(address, value) _long_fetch(dpr.pr, address, value) + +#define cp_store(address, data) _long_store(cpr.pr, address, data) + +#define cp_fetch(address, value) _long_fetch(cpr.pr, address, value) + +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_psb.c b/RTX2001A/src/rtx2001a_psb.c new file mode 100644 index 000000000..18d8f9310 --- /dev/null +++ b/RTX2001A/src/rtx2001a_psb.c @@ -0,0 +1,69 @@ +/* rtx2001a_psb.c: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 9-Oct-22 SYS Initial version + + Parameter Stack Bus support +*/ +#include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_registers.h" +#include "rtx2001a_psb.h" +#include "hp3k_defs.h" +#include "rtx2001a_execute.h" + +/** + ** parameter stack pop + */ +void ps_pop() +{ + SPR ospr; + ospr.pr = spr.pr; + + TOP = NEXT; + NEXT = ps[(spr.fields.psp)]; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SPR", spr_bits, spr.pr, spr.pr, 1); + sim_debug(DBG_PSB_R, &cpu_dev, "PSB=0x%X\n", ps[(spr.fields.psp)]); + + (spr.fields.psp) = (--(spr.fields.psp)) & STACK_MASK; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); +} + +/** + ** parameter stack push + */ +void ps_push(t_value data) +{ + SPR ospr; + ospr.pr = spr.pr; + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SPR", spr_bits, spr.pr, spr.pr, 1); + (spr.fields.psp) = (++(spr.fields.psp)) & STACK_MASK; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); + + ps[(spr.fields.psp)] = NEXT; + NEXT = TOP; + TOP = data; + sim_debug(DBG_PSB_W, &cpu_dev, "PSB=0x%X NEXT=0x%X TOP=0x%X\n", ps[(spr.fields.psp)], NEXT, TOP); +} \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_psb.h b/RTX2001A/src/rtx2001a_psb.h new file mode 100644 index 000000000..d4196c5d3 --- /dev/null +++ b/RTX2001A/src/rtx2001a_psb.h @@ -0,0 +1,47 @@ +/* rtx2001a_psb.h: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 6-Sep-22 SYS Initial version + + Parameter Stack Bus +*/ +#ifndef RTX2001A_PSB_H_ +#define RTX2001A_PSB_H_ 0 + +#include "hp3k_defs.h" +#include "rtx2001a_registers.h" +/* +** +** Stacks on the RTX 2000 and RTX 2010 are each 256 elements deep; +** stacks on the RTX 2001A are 64 elements deep. See SIM2000/STATE.H:38 +*/ +#define PS_MAX 0x40 + +#define PS_MAX 0x40 +extern RTX_WORD ps[PS_MAX + 1]; + +extern void ps_push(t_value); +extern void ps_pop(); +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_registers.h b/RTX2001A/src/rtx2001a_registers.h new file mode 100644 index 000000000..e65b9c14c --- /dev/null +++ b/RTX2001A/src/rtx2001a_registers.h @@ -0,0 +1,513 @@ +/* rtx2001a_registers.h: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 6-Sep-22 SYS Initial version +*/ + +/* +Stack Related Registers, Internal Processor Registers, and Status/Control Registers, Holding/Counter Scratchpad registers + +The reset states for the RTX 2001A are shown in RTX2001A DataSheet, Table 4 + +R-W Indicates that the register can be either read from or written to +R Indicates a read-only register +W Indicates a write-only register +R/W Indicates that the first register is read-only and the second register is write-only +* Indicates that individual bits in the register may be read-only or write-only and that the bit map for that register should be consulted +N Indicates that the register cannot be read from or written to + +REGISTER ASIC ADDR INITIALIZATION VALUES R W COMMENTS +======== ========= ===================== === ============================================================== +TOP 0000 0000 0000 0000 R-W Holds the top element of the Parameter Stack +NEXT 1111 1111 1111 1111 R-W Holds the second element of the Parameter Stack +IR 0000 0000 0000 0000 N Latch containing the instruction currently being executed +I 01H, 02H, 03H 1111 1111 1111 1111 R-W 16 bits of the 21-bit top element of the Return Stack and + holds the count during streamed and loop instructions + See Table 11, pg 22 +CR 03H 0100 0000 0000 1000 * Interrupts disabled, BOOT=1, Byte Order=0 + See Fig 3, pg 7 +MD 04H 1111 1111 1111 1111 R-W Holds the divisor during Step Divide operations +SR 06H 0000 0000 0000 0000 R-W Holds the intermediate values used during Step Square Root operations +PC 07H 0000 0000 0000 0000 R-W Holds the address of the next instruction to be fetched from Main Memory +IMR 08H 0000 0000 0000 0000 R-W Holds enabled maskable interrupt assignments + See Fig 6, pg 8 +SPR 09H 0000 0000 0000 0000 R-W Holds the stack pointer value for each stack + See Fig 7, pg 9; Fig 6.4, pg 90 +SUR 0AH 0000 0111 0000 0111 R-W Holds holds the underflow limit values for the + Parameter and Return Stacks + See Fig 9, pg 9 +SVR 0BH 1111 1111 1111 1111 W Holds holds the overflow limit values for the + Parameter and Return Stacks + Each stack overflow limit set for max. stack size + See Fig 8, pg 9 +IVR 0BH 0000 0010 0000 0000 R Holds the current Interrupt Vector value + .. See Figure 4, pg. 8 and Table 7, pg. 15 +IPR 0CH 0000 0000 0000 0000 R-W Initialized for Code Page 0 +DPR 0DH 0000 0000 0000 0000 R-W Initialized for Data Page 0 +UPR 0EH 0000 0000 0000 0000 R-W Initialized for User Page 0 +CPR 0FH 0000 0000 0000 0000 R-W Initialized for Code Page 0 +IBC 10H 0000 0000 0000 0000 * Holds the Interrupt Vector base address and + processor configuration information + Interrupt Base=O, Counters on internal clocks, + no rounding, use CPR for data accesses + See Fig 5, pg 8 +UBR 11H 0000 0000 0000 0000 R-W User Base address set to 0 +TC0/TP0 13H 0000 0000 0000 0000 R/W Timer/Counter Registers: +TC1/TP1 14H R/W Hold the current count value for each of the three Timer/Counters +TC2/TP2 15H R/W All Timer/Counters set to timeout after 65536 counts + Timer Preload Registers: + Hold the initial 16-bit count values written to each timer +RX 16H 0000 0000 0000 0000 R-W Scratchpad register for data storage +RH 17H 0000 0000 0000 0000 R-W Scratchpad register for data storage and + a counting register which automatically + increments or decrements RX by one when + read or written by specialized instructions + (see Table 12, pg 22) +*/ + +#ifndef RTX2001A_REGISTERS_H_ +#define RTX2001A_REGISTERS_H_ 0 + +#include "hp3k_defs.h" +#include "rtx2001a_psb.h" +#include "rtx2001a_rsb.h" +#include "rtx2001a_debug.h" + +/* +** CPU Stack Registers +*/ +extern RTX_WORD TOP; // Top Register +extern RTX_WORD NEXT; // Next Register + +/* +** Instruction Register Latch +*/ +extern RTX_WORD IR; + +/* +** ASIC Bus Registers +*/ +static enum { + I = 0, // Index Register, no latch + I_ASIC = 1, // Index Register, ASIC bus latch + I_ALU = 2, // Index Register, ALU latch + _CR = 3, // Configuration Register + MD = 4, // Doubleword Multiply/Divide Register + SQ = 5, // "pseudo-register" for step math operation + SR = 6, // Square Root Register + PC = 7, // Program Counter Register + _IMR = 8, // Interrupt Mask Register + _SPR = 9, // Stack Pointer Register + _SUR = 0xA, // Stack Underflow Register + _SVR = 0xB, // Stack Overflow Register, write-only + _IVR = 0xB, // Interrupt Vector Register, read-only + _IPR = 0xC, // Index Page Register + _DPR = 0xD, // Data Page Register + _UPR = 0xE, // User Page Register + _CPR = 0xF, // Code Page Register + _IBC = 0x10, // Interrupt Base/Control Register + _UBR = 0x11, // User Base Address Register + TC0 = 0x13, // Timer Counter Register 0, read-only + TP0 = 0x13, // Timer Preload Register 0, write-only + TC1 = 0x14, // Timer Counter Register 1, read-only + TP1 = 0x14, // Timer Preload Register 1, write-only + TC2 = 0x15, // Timer Counter Register 2, read-only + TP2 = 0x15, // Timer Preload Register 2, write-only + RX = 0x16, // Scratchpad/Counting register + RH = 0x17, // Scratchpad register + RSP = 0x21, // Return stack pointer + PSP = 0x22, // Parameter stack pointer + ASIC_MAX = 0x25, +} ASIC_FILE; +extern RTX_WORD asic_file[ASIC_MAX]; + +/** + * Configuration Register + */ +struct ConfigurationRegisterFields +{ + RTX_WORD cy : 1; // 0: R/W Carry + RTX_WORD ccy : 1; // 1: R/W Complex Carry + RTX_WORD bo : 1; // 2: Byte Order 0=BE (Intel), 1=LE (Motorola) + RTX_WORD boot : 1; // 3: Select Boot ROM + RTX_WORD sid : 1; // 4: Set Interrupt Disable 0=Enabled, 1=Disabled + RTX_WORD mbz0 : 9; // 5-13 MBZ + RTX_WORD rid : 1; // 14: Read Interrupt Disable + RTX_WORD il : 1; // 15: Interrupt Latch +}; + +union ConfigurationRegister +{ + struct ConfigurationRegisterFields fields; + RTX_WORD pr; +} cr; +typedef union ConfigurationRegister CR; +#define CY (cr.fields.cy) +#define CCY (cr.fields.ccy) +#define BO (cr.fields.bo) +#define BOOT (cr.fields.boot) +#define SID (cr.fields.sid) +#define RID (cr.fields.rid) +#define IL (cr.fields.il) + +static BITFIELD cr_bits[] = { // Fig 3, pg 7 + BIT(CY), // 0: R/W Carry + BIT(CCY), // 1: R/W Complex Carry + BIT(BO), // 2: Byte Order 0=BE, 1=LE + BIT(BOOT), // 3: Select Boot ROM + BIT(SID), // 4: Set Interrupt Disable 0=Enabled, 1=Disabled + BITNCF(9), // 5-13 MBZ + BIT(RID), // 14: Read Interrupt Disable + BIT(IL), // 15: Interrupt latch + ENDBITS}; + +/* +** Interrupt Mask Register +*/ +struct InterruptMaskRegisterFields +{ + RTX_WORD mbz : 1; // 0: Always reads as O. + RTX_WORD ei1 : 1; // 1: External Input Pin 1 + RTX_WORD psu : 1; // 2: Parameter Stack Underflow + RTX_WORD rsu : 1; // 3: Return Stack Underflow + RTX_WORD psv : 1; // 4: Parameter Stack Overflow + RTX_WORD rsv : 1; // 5: Return Stack overflow + RTX_WORD ei2 : 1; // 6: External Input Pin 2 + RTX_WORD t0 : 1; // 7: Timer / Counter 0 Interrupt + RTX_WORD t1 : 1; // 8: Timer / Counter 1 Interrupt + RTX_WORD t2 : 1; // 9: Timer / Counter 2 Interrupt + RTX_WORD ei3 : 1; // 10: External Input Pin 3 + RTX_WORD ei4 : 1; // 11: External Input Pin 4 + RTX_WORD ei5 : 1; // 12: External Input Pin 5 + RTX_WORD swi : 1; // 13: Software Interrupt + RTX_WORD mbz1 : 2; // 14-15: Always reads as O. +}; + +static BITFIELD imr_bits[] = { // Table 4.7, pg 51 + BITNC, // 0: Always reads as O. + BIT(EI1), // 1: External Input Pin 1 + BIT(PSU), // 2: Parameter Stack Underflow + BIT(RSU), // 3: Return Stack Underflow + BIT(PSV), // 4: Parameter Stack Overflow + BIT(RSV), // 5: Return Stack overflow + BIT(EI2), // 6: External Input Pin 2 + BIT(T0), // 7: Timer / Counter 0 Interrupt + BIT(T1), // 8: Timer / Counter 1 Interrupt + BIT(T2), // 9: Timer / Counter 2 Interrupt + BIT(EI3), // 10: External Input Pin 3 + BIT(EI4), // 11: External Input Pin 4 + BIT(EI5), // 12: External Input Pin 5 + BIT(SWI), // 13: Software Interrupt + BITNCF(2), // 14-15: Always reads as O. + ENDBITS}; + +union InterruptMaskRegister +{ + struct InterruptMaskRegisterFields fields; + RTX_WORD pr; +} imr; +typedef union InterruptMaskRegister IMR; + +/** + * Stack Pointer Register + * + * RTX2001A has 64 words in each stack + */ +struct StackPointerRegisterFields +{ + RTX_WORD psp : 6; + RTX_WORD mbz0 : 2; + RTX_WORD rsp : 6; + RTX_WORD mbz1 : 2; +}; + +union StackPointerRegister +{ + struct StackPointerRegisterFields fields; + RTX_WORD pr; +} spr; +typedef union StackPointerRegister SPR; +#define STACK_MASK 0x3F /* mask for stack pointer wrapping */ +// define RSP (spr.fields.rsp) +// define PSP (spr.fields.psp) + +static BITFIELD spr_bits[] = { // Fig 7, pg 9 + BITF(PSP, 6), // 0-5: Parameter Stack Pointer. + BITNCF(2), // + BITF(RSP, 6), // 8-13: Return Stack Pointer. + BITNCF(2), + ENDBITS}; + +/** + * Stack Underflow Register + */ +struct StackUnderflowRegisterFields +{ + RTX_WORD psf : 1; // 0: Parameter Stack Start Flag + RTX_WORD ps : 1; // 1: Parameter Substacks, 0: two 32 word stacks, 1: one 64 word stack + RTX_WORD mbz0 : 1; // 2: Reserved + RTX_WORD psu : 5; // 3-7: Parameter Stack Underflow Limit, 0 - 31 words from stack bottom + RTX_WORD rsf : 1; // 8: Return Stack Start Flag + RTX_WORD rs : 1; // 9: Return Substacks, 0: two 32 word stacks, 1: one 64 word stack + RTX_WORD mbz1 : 1; // 10: Reserved + RTX_WORD rsu : 5; // 11-15: Return Stack Underflow Limit, 0 - 31 words from stack bottom +}; + +union StackUnderflowRegister +{ + struct StackUnderflowRegisterFields fields; + RTX_WORD pr; +} sur; +typedef union StackUnderflowRegister SUR; +#define PSF (sur.fields.psf) +#define PS (sur.fields.ps) +#define PSU (sur.fields.psu) +#define RSF (sur.fields.rsf) +#define RS (sur.fields.rs) +#define RSU (sur.fields.rsu) + +static BITFIELD sur_bits[] = { // Fig 6.8, pg 93 + BIT(PSF), // 0: Parameter Stack Start Flag + BIT(PS), // 1: Parameter Substacks, 0: two 32 word stacks, 1: one 64 word stack + BITNC, // 2: Reserved + BITF(PSU, 5), // 3-7: Parameter Stack Underflow Limit, 0 - 31 words from stack bottom + BIT(RSF), // 8: Return Stack Start Flag + BIT(RS), // 9: Return Substacks, 0: two 32 word stacks, 1: one 64 word stack + BITNC, // 10: Reserved + BITF(RSU, 5), // 11-15: Return Stack Underflow Limit, 0 - 31 words from stack bottom + ENDBITS}; + +/** + * Interrupt Vector Register + */ +struct InterruptVectorRegisterFields +{ + RTX_WORD mbz : 5; // 0-4: Reserved + RTX_WORD ivb : 5; // 5-9: Interrupt Vector Base + RTX_WORD vec : 5; // 10-15: Vector +}; + +union InterruptVectorRegister +{ + struct InterruptVectorRegisterFields fields; + RTX_WORD pr; +} ivr; +typedef union InterruptVectorRegister IVR; + +static BITFIELD ivr_bits[] = { + BITNCF(5), // 0-4: Reserved + BITF(IVB, 5), // 5-9: Interrupt Vector Base + BITF(VEC, 5), // 10-15: Vector + ENDBITS}; + +/** + * Stack Overflow Register + */ +struct StackOverflowRegisterFields +{ + RTX_WORD pvl : 6; // 0-5: Parameter Stack Overflow Limit, 0 - 31 words from stack bottom + RTX_WORD mbz0 : 2; // 6-7: Reserved + RTX_WORD rvl : 6; // 8-13: Return Stack Overflow Limit, 0 - 31 words from stack bottom + RTX_WORD mbz1 : 2; // 14-15: Reserved +}; + +union StackOverflowRegister +{ + struct StackOverflowRegisterFields fields; + RTX_WORD pr; +} svr; +typedef union StackOverflowRegister SVR; +#define PVL (svr.fields.pvl) +#define RVL (svr.fields.rvl) + +static BITFIELD svr_bits[] = { // Fig 9, pg 8 + BITF(PVL, 6), // 0-5: Parameter Stack Overflow Limit, 0 - 31 words from stack bottom + BITNCF(2), // 6-7: Reserved + BITF(RVL, 6), // 8-13: Return Stack Overflow Limit, 0 - 31 words from stack bottom + BITNCF(2), // 14-15: Reserved + ENDBITS}; + +/** + * Index Page Register + */ +struct IndexPageRegisterFields +{ + RTX_WORD pr : 5; // 0-4: 5 most significant bits of the top element of the Return Stack (I) or current page address + RTX_WORD mbz1 : 11; // 5-15: Reserved +}; + +static BITFIELD ipr_bits[] = { // Fig 10, pg 9 + BITF(IPR, 5), // 0-4: 5 most significant bits of the top element of the Return Stack or current page address + BITNCF(11), // 5-15: Reserved + ENDBITS}; + +union IndexPageRegister +{ + struct IndexPageRegisterFields fields; + RTX_WORD pr; +} ipr; +typedef union IndexPageRegister IPR; + +/** + * Data/User/Code Page Registers + */ +struct PageRegisterFields +{ + RTX_WORD pr : 4; // 0-3: 4 most significant bits of the top element of the Return Stack (I) or current page address + RTX_WORD mbz1 : 12; // 4-15: Reserved +}; + +static BITFIELD pr_bits[] = { // Fig 10, pg 9 + BITF(PR, 4), // 0-3: 4 most significant bits of the top element of the Return Stack or current page address + BITNCF(12), // 4-15: Reserved + ENDBITS}; + +union DataPageRegister +{ + struct PageRegisterFields fields; + RTX_WORD pr; +} dpr; +typedef union DataPageRegister DPR; + +/** + * User Page & Base Address Registers + */ +union UserPageRegister +{ + struct PageRegisterFields fields; + RTX_WORD pr; +} upr; +typedef union UserPageRegister UPR; + +union CodePageRegister +{ + struct PageRegisterFields fields; + RTX_WORD pr; +} cpr; +typedef union CodePageRegister CPR; + +/** + * Interrupt Base/Control Register + */ +struct InterruptBaseControlRegisterFields +{ + RTX_WORD sef : 1; // 0: RO Stack Error flag + RTX_WORD psu : 1; // 1: RO Parameter Stack Underflow flag + RTX_WORD rsu : 1; // 2: RO Return Stack Underflow flag + RTX_WORD psv : 1; // 3: RO Parameter Stack Overflow flag + RTX_WORD rsv : 1; // 4: RO Return Stack Overflow flag + RTX_WORD dprsel : 1; // 5: RW Data Page Register, 0=CPR, 1=DPR + RTX_WORD mbz : 1; // 6: Reserved + RTX_WORD cycext : 1; // 7: RW Enable Extended Cycle Length + RTX_WORD tc : 2; // 8-9 RW Select Timer/Counter Input Signals + RTX_WORD ivb : 5; // 10-15 RW Interrupt Vector Base, MA10 - MA15 +}; + +union InterruptBaseControlRegister +{ + struct InterruptBaseControlRegisterFields fields; + RTX_WORD pr; +} ibc; +typedef union InterruptBaseControlRegister IBC; + +#define SEF (ibc.fields.sef) +#define IBC_PSU (ibc.fields.psu) +#define IBC_RSU (ibc.fields.rsu) +#define IBC_PSV (ibc.fields.psv) +#define IBC_RSV (ibc.fields.rsv) +#define DPRSEL (ibc.fields.dprsel) +#define CYCEXT (ibc.fields.cycext) +#define TC (ibc.fields.tc) +#define IVB (ibc.fields.ivb) + +static BITFIELD ibc_bits[] = { // Fig 5, pg 7 + BIT(SEF), // 0: RO Stack Error flag + BIT(PSU), // 1: RO Parameter Stack Underflow flag + BIT(RSU), // 2: RO Return Stack Underflow flag + BIT(PSV), // 3: RO Parameter Stack Overflow flag + BIT(RSV), // 4: RO Return Stack Overflow flag + BIT(DPRSEL), // 5: RW Data Page Register, 0=CPR, 1=DPR + BITNC, // 6: Reserved + BIT(CYCEXT), // 7: RW Enable Extended Cycle Length + BITF(TC, 2), // 8-9 RW Select Timer/Counter Input Signals + BITF(IVB, 5), // 10-15 RW Interrupt Vector Base, MA10 - MA15 + ENDBITS}; + +struct UserBaseAddressRegisterFields +{ + RTX_WORD mbz : 1; // 0: Reserved + RTX_WORD page : 5; // 1-5: User Memory address page + RTX_WORD adr : 10; // 6-15: User Memory address +}; + +union UserBaseAddressRegister +{ + struct UserBaseAddressRegisterFields fields; + RTX_WORD pr; +} ubr; +typedef union UserBaseAddressRegister UBR; + +static BITFIELD ubr_bits[] = { // Fig 13, pg 10 + BITNC, // 0: Reserved + BITF(PAGE, 5), // 1-5: User Memory Address Page + BITF(ADR, 10), // 6-15: User Memory Address + ENDBITS}; + +static REG cpu_reg[] = { + {HRDATAD(TOP, TOP, 16, "Parameter Stack top element"), REG_RO}, + {HRDATAD(NEXT, NEXT, 16, "Parameter Stack second element"), REG_RO}, + {HRDATAD(IR, IR, 16, "Instruction Register"), REG_HIDDEN}, + {HRDATAD(I, asic_file[I], 16, "Index Register"), REG_DEPOSIT | 1 << REG_V_UF}, + {HRDATADF(CR, cr.pr, 16, "Configuration Register", cr_bits), REG_DEPOSIT | (3 << REG_V_UF)}, + // 5 + {HRDATAD(MD, asic_file[MD], 16, "Multiply/Divide Register"), REG_DEPOSIT | (4 << REG_V_UF)}, + {HRDATAD(SR, asic_file[SR], 16, "Square Root Register"), REG_DEPOSIT | (6 << REG_V_UF)}, + {HRDATAD(PC, asic_file[PC], 16, "Program Counter Register"), REG_DEPOSIT | (7 << REG_V_UF)}, + {HRDATADF(IMR, imr.pr, 16, "Interrupt Mask Register", imr_bits), REG_DEPOSIT | (8 << REG_V_UF)}, + {HRDATADF(SPR, spr.pr, 16, "Stack Pointer Register", spr_bits), REG_RO | (9 << REG_V_UF)}, + // 10 + {HRDATADF(SUR, sur.pr, 16, "Stack Underflow Register", sur_bits), REG_DEPOSIT | (0xA << REG_V_UF)}, + {HRDATADF(SVR, svr.pr, 16, "Stack Overflow Register", svr_bits), REG_DEPOSIT | (0xB << REG_V_UF)}, + {HRDATADF(IVR, ivr.pr, 16, "Interrupt Vector Register", ivr_bits), REG_RO | (0xB << REG_V_UF)}, + {HRDATADF(IPR, ipr.pr, 16, "Index Page Register", pr_bits), REG_DEPOSIT | (0xC << REG_V_UF)}, + {HRDATADF(DPR, dpr.pr, 16, "Data Page Register", pr_bits), REG_DEPOSIT | (0xD << REG_V_UF)}, + // 15 + {HRDATADF(UPR, upr.pr, 16, "User Page Register", pr_bits), REG_DEPOSIT | (0xE << REG_V_UF)}, + {HRDATADF(CPR, cpr.pr, 16, "Code Page Register", pr_bits), REG_DEPOSIT | (0xE << REG_V_UF)}, + {HRDATADF(IBC, ibc.pr, 16, "Interrupt Base/Control Register", ibc_bits), REG_DEPOSIT | (0x10 << REG_V_UF)}, + {HRDATADF(UBR, ubr.pr, 16, "User Base Address Register", ubr_bits), REG_DEPOSIT | (0x11 << REG_V_UF)}, + {HRDATAD(TC0, asic_file[TC0], 16, "Timer Counter 0 Register"), REG_RO | (0x13 << REG_V_UF)}, + // 20 + {HRDATAD(TP0, asic_file[TP0], 16, "Timer Preload 0 Register"), REG_DEPOSIT | (0x14 << REG_V_UF)}, + {HRDATAD(TC1, asic_file[TC1], 16, "Timer Counter 1 Register"), REG_RO | (0x15 << REG_V_UF)}, + {HRDATAD(TP1, asic_file[TP1], 16, "Timer Preload 1 Register"), REG_DEPOSIT | (0x16 << REG_V_UF)}, + {HRDATAD(TC2, asic_file[TC2], 16, "Timer Counter 2 Register"), REG_RO | (0x17 << REG_V_UF)}, + {HRDATAD(TP2, asic_file[TP2], 16, "Timer Preload 2 Register"), REG_DEPOSIT | (0x18 << REG_V_UF)}, + {HRDATAD(RX, asic_file[RX], 16, "Scratchpad/Counting register"), REG_DEPOSIT | (0x19 << REG_V_UF)}, + {HRDATAD(RH, asic_file[RH], 16, "Scratchpad register"), REG_DEPOSIT | (0x20 << REG_V_UF)}, + {HRDATAD(RSP, spr.pr, 16, "Return Stack Pointer"), REG_DEPOSIT | (0x21 << REG_V_UF)}, + {HRDATAD(PSP, spr.pr, 16, "Parameter Stack Pointer"), REG_DEPOSIT | (0x22 << REG_V_UF)}, + {NULL}}; + +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_rsb.c b/RTX2001A/src/rtx2001a_rsb.c new file mode 100644 index 000000000..5e98fbd4a --- /dev/null +++ b/RTX2001A/src/rtx2001a_rsb.c @@ -0,0 +1,85 @@ +/* rtx2001a_rsb.c: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 9-Oct-22 SYS Initial version + + Parameter Stack Bus support +*/ +#include "rtx2001a_defs.h" +#include "rtx2001a_debug.h" +#include "rtx2001a_registers.h" +#include "rtx2001a_rsb.h" +#include "rtx2001a_ab.h" +#include "hp3k_defs.h" + +/** +** return stack push with 2 inputs +** @TODO: Implement stack over/under flow +*/ +void rs_push(t_addr page, t_value data) +{ + ReturnStack ors; + SPR ospr; + ors.pr = rs[(spr.fields.rsp)].pr; + ospr.pr = spr.pr; + + (spr.fields.rsp) = (++(spr.fields.rsp)) & STACK_MASK; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); + + rs[(spr.fields.rsp)].fields.ipr = ipr.fields.pr; + rs[(spr.fields.rsp)].fields.i = asic_file[I]; + // sim_debug_bits_hdr(DBG_RSB_W, &cpu_dev, "RSB", rs_bits, ors.pr, rs[(spr.fields.rsp)].pr, 1); + + asic_file[I] = data; + set_IPR(page); + sim_debug(DBG_ASB_W, &cpu_dev, "rs[%d]=%d:0x%X (%d:0x%X)\n", spr.fields.rsp, ipr.fields.pr, asic_file[I], rs[(spr.fields.rsp)].fields.ipr, rs[(spr.fields.rsp)].fields.i); + // IDK why this is here. See STATE.C:145 + // if (DPRSEL) + // { + // IPR oipr; + // oipr.pr = ipr.pr; + // ipr.pr &= 0x10; + // sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "IPR", ipr_bits, oipr.pr, ipr.pr, 1); + // } +} + +/* return stack pop, return element popped */ +void rs_pop() +{ + ReturnStack orsp; + SPR ospr; + orsp.pr = rs[(spr.fields.rsp)].pr; + ospr.pr = spr.pr; + + sim_debug_bits_hdr(DBG_RSB_R, &cpu_dev, "RSB", rs_bits, orsp.pr, rs[(spr.fields.rsp)].pr, 1); + + /* don't use set_IPR; bit 4 comes from RS */ + ipr.fields.pr = rs[(spr.fields.rsp)].fields.ipr & 0x1F; + asic_file[I] = rs[(spr.fields.rsp)].fields.i & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "I=0x%X IPR=%d\n", asic_file[I], ipr.fields.pr); + + (spr.fields.rsp) = (--(spr.fields.rsp)) & STACK_MASK; + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); +} diff --git a/RTX2001A/src/rtx2001a_rsb.h b/RTX2001A/src/rtx2001a_rsb.h new file mode 100644 index 000000000..13820ccdb --- /dev/null +++ b/RTX2001A/src/rtx2001a_rsb.h @@ -0,0 +1,66 @@ +/* rtx2001a_rsb.h: RTX2001A CPU simulator + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 6-Sep-22 SYS Initial version. See also SIM2000/STATE.H:109 + + Return Stack Bus + +*/ +#ifndef RTX2001A_RSB_H_ +#define RTX2001A_RSB_H_ 0 + +#include "hp3k_defs.h" + +/* +** +** Stacks on the RTX 2000 and RTX 2010 are each 256 elements deep; +** stacks on the RTX 2001A are 64 elements deep. See SIM2000/STATE.H:38 +*/ +struct ReturnStackFields +{ + RTX_WORD ipr : 6; // 0-5: Current value of IPR + RTX_WORD i : 15; // 6-21: Current value of I +}; + +union Return_Stack +{ + struct ReturnStackFields fields; + RTX_WORD pr; +}; + +typedef union Return_Stack ReturnStack; + +static BITFIELD rs_bits[] = { // Fig 11, pg 10 + BITF(IPR, 6), // 0-5: Current value of IPR + BITF(I, 15), // 6-21: Current value of I + ENDBITS}; + +#define RS_MAX 0x40 + +extern ReturnStack rs[RS_MAX + 1]; + +extern void rs_push(t_addr, t_value); +extern void rs_pop(); +#endif \ No newline at end of file diff --git a/RTX2001A/src/rtx2001a_sys.c b/RTX2001A/src/rtx2001a_sys.c new file mode 100644 index 000000000..ddd159be1 --- /dev/null +++ b/RTX2001A/src/rtx2001a_sys.c @@ -0,0 +1,224 @@ +/* rtx2001a_sys.c: RTX2001A simulator interface + + Copyright (c) 2020, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 12-Aug-22 SYS New simulator. +*/ + +#include "rtx2001a_defs.h" +#include "rtx2001a_registers.h" +#include "rtx2001a_psb.h" +#include "rtx2001a_rsb.h" +#include "rtx2001a_debug.h" + +char sim_name[] = "RTX2001A"; + +DEVICE *sim_devices[] = { + &cpu_dev, + NULL}; + +const char *sim_stop_messages[SCPE_BASE] = { + "Unknown error", + "HALT instruction", + "Breakpoint", + "Invalid opcode", +}; + +t_stat sim_load(FILE *fileref, CONST char *cptr, CONST char *fnam, int flag) +{ + return SCPE_OK; +} + +t_bool build_dev_tab(void) +{ + return SCPE_OK; +} +/** + * These cases are differentiated by the presence of special flags in the switch parameter. + * For a simulation stop, the “M” switch and the SIM_SW_STOP switch are passed. + * For examining registers, the SIM_SW_REG switch is passed. + * The user-defined flags and register radix are passed in the addr parameter. + * Register radix is taken from the radix specified in the register definition, or overridden by –d, -o, or –x switches in the command. + * For examining memory and the EVAL command, no special switch flags are passed. + */ +t_stat fprint_sym(FILE *of, t_addr addr, t_value *val, UNIT *uptr, int32 sw) +{ + t_value cell = (addr & REG_UFMASK) >> 16; + // if (_RS == cell) + // { + + // RTX_WORD _rsp = spr.fields.rsp; + // if (0 == _rsp) + // { + // fprintf(of, "empty\n"); + // return SCPE_OK; + // } + // do + // { + // fprintf(of, " rs[%d]>> %d:0x%X\n", _rsp, rs[_rsp].fields.ipr, rs[_rsp].fields.i); + // _rsp -= 1; + // } while (_rsp > 0); + /* + void display_rs() +{ double_stack *ptr; +ptr = &return_stack[rp]; +printf(" rs>> "); +if (rp == 0 ) + { printf("empty "); return; } + +printf("%01X%04X ",IPR, INDEX); + +while (ptr != &return_stack[1] ) + { printf("%01X:%04X",(*ptr).high, (*ptr).low); + ptr-- ; + } +} + + void display_short_rs() +{ if (rp == 0 ) + { printf("rs(0)>> empty "); return; } + +printf(" rs(%d)>> ", rp-1); + +printf("%01X%04X ",IPR, INDEX); +if (rp != MAX_STACK ) printf(" ..."); +} + + +*/ + // return SCPE_OK; + // } + + if (sw & SIM_SW_REG) + { + BITFIELD *bits = NULL; + t_value value = *val; + switch (cell) + { + case _CR: + bits = sim_is_running ? cr_bits : NULL; + break; + case _SUR: + bits = sim_is_running ? sur_bits : NULL; + break; + case _IVR: // _SVR + bits = sim_is_running ? (svr.pr == value ? svr_bits : ivr_bits) : NULL; + break; + case _IPR: + case _DPR: + case _UPR: + case _CPR: + bits = sim_is_running ? pr_bits : NULL; + break; + case _IBC: + bits = sim_is_running ? ibc_bits : NULL; + break; + case _UBR: + bits = sim_is_running ? ubr_bits : NULL; + break; + case RSP: + value = spr.fields.rsp; + break; + case PSP: + value = spr.fields.psp; + break; + } + fprintf(of, sim_is_running ? "0x%X\n" : "0x%X", value); + if (bits) + { + sim_debug_bits(DBG_ASB_R, &cpu_dev, bits, value, value, 1); + } + else + { + if (sim_is_running) + fprintf(of, "0x%X", value); + } + } + else + { + fprintf(of, "0x%X", *val); + } + + return SCPE_OK; +} + +t_stat parse_sym(CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw) +{ + RTX_WORD value = strtoul(cptr, NULL, 16); + if (sw & SIM_SW_REG) + { + RTX_WORD cell = (addr & REG_UFMASK) >> 16; + char name[] = ""; + switch (cell) + { + case _CR: + DEBUG_SET(cr.pr, cr_bits); + break; + case _SUR: + DEBUG_SET(sur.pr, sur_bits); + break; + case _SVR: + DEBUG_SET(svr.pr, svr_bits); + break; + case _IPR: + DEBUG_SET(ipr.pr, pr_bits); + break; + case _DPR: + DEBUG_SET(dpr.pr, pr_bits); + break; + case _UPR: + DEBUG_SET(upr.pr, pr_bits); + break; + case _CPR: + DEBUG_SET(cpr.pr, pr_bits); + break; + case _IBC: + DEBUG_SET(ibc.pr, ibc_bits); + break; + case _UBR: + DEBUG_SET(ubr.pr, ubr_bits); + break; + case PSP: + spr.fields.psp = (value & D16_MASK); + *val = spr.pr; + sim_debug(DBG_ASB_W, &cpu_dev, "%s: 0x%X\n", (&cpu_reg[_SPR])->name, *val); + break; + case RSP: + spr.fields.rsp = (value & D16_MASK); + *val = spr.pr; + sim_debug(DBG_ASB_W, &cpu_dev, "%s: 0x%X\n", (&cpu_reg[_SPR])->name, *val); + break; + default: + { + *val = (value & D16_MASK); + sim_debug(DBG_ASB_W, &cpu_dev, "%s: 0x%X\n", (&cpu_reg[cell])->name, *val); + } + } + } + else + { + *val = (value & D16_MASK); + } + return SCPE_OK; +} \ No newline at end of file From 7c2107e12725123e32606135b259e79439ca1db2 Mon Sep 17 00:00:00 2001 From: jchimene Date: Tue, 3 Jan 2023 11:21:50 -0700 Subject: [PATCH 2/7] "They threw me off the haytruck about noon." Discard cpu_boot(); Incorporate hp3000_defs.h from the HP3000 simulator by J. David Bryan; --- RTX2001A/{src => }/rtx2001a_ab.c | 0 RTX2001A/{src => }/rtx2001a_ab.h | 0 RTX2001A/{src => }/rtx2001a_cpu.c | 2 +- RTX2001A/{src => }/rtx2001a_debug.h | 2 +- RTX2001A/{src => }/rtx2001a_decode.c | 2 +- RTX2001A/{src => }/rtx2001a_decode.h | 2 +- RTX2001A/{src/hp3k_defs.h => rtx2001a_defs.h} | 283 ++++++++++-------- RTX2001A/{src => }/rtx2001a_execute.c | 69 +++-- RTX2001A/{src => }/rtx2001a_execute.h | 2 +- RTX2001A/{src => }/rtx2001a_mb.c | 5 +- RTX2001A/{src => }/rtx2001a_mb.h | 0 RTX2001A/{src => }/rtx2001a_psb.c | 1 - RTX2001A/{src => }/rtx2001a_psb.h | 2 +- RTX2001A/{src => }/rtx2001a_registers.h | 2 +- RTX2001A/{src => }/rtx2001a_rsb.c | 1 - RTX2001A/{src => }/rtx2001a_rsb.h | 2 +- RTX2001A/{src => }/rtx2001a_sys.c | 2 +- RTX2001A/sim_defs.h | 1 - RTX2001A/simh.ini | 3 +- RTX2001A/src/rtx2001a_defs.h | 54 ---- makefile | 16 +- 21 files changed, 216 insertions(+), 235 deletions(-) rename RTX2001A/{src => }/rtx2001a_ab.c (100%) rename RTX2001A/{src => }/rtx2001a_ab.h (100%) rename RTX2001A/{src => }/rtx2001a_cpu.c (95%) rename RTX2001A/{src => }/rtx2001a_debug.h (99%) rename RTX2001A/{src => }/rtx2001a_decode.c (99%) rename RTX2001A/{src => }/rtx2001a_decode.h (95%) rename RTX2001A/{src/hp3k_defs.h => rtx2001a_defs.h} (81%) rename RTX2001A/{src => }/rtx2001a_execute.c (91%) rename RTX2001A/{src => }/rtx2001a_execute.h (96%) rename RTX2001A/{src => }/rtx2001a_mb.c (96%) rename RTX2001A/{src => }/rtx2001a_mb.h (100%) rename RTX2001A/{src => }/rtx2001a_psb.c (99%) rename RTX2001A/{src => }/rtx2001a_psb.h (98%) rename RTX2001A/{src => }/rtx2001a_registers.h (99%) rename RTX2001A/{src => }/rtx2001a_rsb.c (99%) rename RTX2001A/{src => }/rtx2001a_rsb.h (98%) rename RTX2001A/{src => }/rtx2001a_sys.c (95%) delete mode 120000 RTX2001A/sim_defs.h delete mode 100644 RTX2001A/src/rtx2001a_defs.h diff --git a/RTX2001A/src/rtx2001a_ab.c b/RTX2001A/rtx2001a_ab.c similarity index 100% rename from RTX2001A/src/rtx2001a_ab.c rename to RTX2001A/rtx2001a_ab.c diff --git a/RTX2001A/src/rtx2001a_ab.h b/RTX2001A/rtx2001a_ab.h similarity index 100% rename from RTX2001A/src/rtx2001a_ab.h rename to RTX2001A/rtx2001a_ab.h diff --git a/RTX2001A/src/rtx2001a_cpu.c b/RTX2001A/rtx2001a_cpu.c similarity index 95% rename from RTX2001A/src/rtx2001a_cpu.c rename to RTX2001A/rtx2001a_cpu.c index 7cfce96e6..ffc132c4d 100644 --- a/RTX2001A/src/rtx2001a_cpu.c +++ b/RTX2001A/rtx2001a_cpu.c @@ -61,7 +61,7 @@ DEVICE cpu_dev = { // RTX2001A device structure &cpu_ex, /* examine routine */ &cpu_dep, /* deposit routine */ &cpu_reset, /* reset routine */ - &cpu_boot, /* boot routine */ + NULL, /* boot routine */ NULL, /* attach routine */ NULL, /* detach routine */ NULL, /* context */ diff --git a/RTX2001A/src/rtx2001a_debug.h b/RTX2001A/rtx2001a_debug.h similarity index 99% rename from RTX2001A/src/rtx2001a_debug.h rename to RTX2001A/rtx2001a_debug.h index 15001bb33..1442301de 100644 --- a/RTX2001A/src/rtx2001a_debug.h +++ b/RTX2001A/rtx2001a_debug.h @@ -28,7 +28,7 @@ #ifndef RTX2001A_DEBUG_H_ #define RTX2001A_DEBUG_H_ 0 -#include "hp3k_defs.h" +#include "rtx2001a_defs.h" /* Debug */ #define DBG_CPU SWMASK('E') diff --git a/RTX2001A/src/rtx2001a_decode.c b/RTX2001A/rtx2001a_decode.c similarity index 99% rename from RTX2001A/src/rtx2001a_decode.c rename to RTX2001A/rtx2001a_decode.c index 2bb824087..c4b765683 100644 --- a/RTX2001A/src/rtx2001a_decode.c +++ b/RTX2001A/rtx2001a_decode.c @@ -1,6 +1,6 @@ /* rtx2001a_decode.c: RTX2001A simulator definitions - Copyright (c) 2020, Systasis Computer Systems, Inc. + Copyright (c) 2022, Systasis Computer Systems, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/RTX2001A/src/rtx2001a_decode.h b/RTX2001A/rtx2001a_decode.h similarity index 95% rename from RTX2001A/src/rtx2001a_decode.h rename to RTX2001A/rtx2001a_decode.h index 02b0ae284..1dd6cf837 100644 --- a/RTX2001A/src/rtx2001a_decode.h +++ b/RTX2001A/rtx2001a_decode.h @@ -1,6 +1,6 @@ /* rtx2001a_decode.h: RTX2001A simulator definitions - Copyright (c) 2020, Systasis Computer Systems, Inc. + Copyright (c) 2022, Systasis Computer Systems, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/RTX2001A/src/hp3k_defs.h b/RTX2001A/rtx2001a_defs.h similarity index 81% rename from RTX2001A/src/hp3k_defs.h rename to RTX2001A/rtx2001a_defs.h index f02133e47..df3af96bb 100644 --- a/RTX2001A/src/hp3k_defs.h +++ b/RTX2001A/rtx2001a_defs.h @@ -1,132 +1,151 @@ -/* hp3k_defs.c: RTX2001A CPU simulator - - Copyright (c) 2022, Systasis Computer Systems, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of Systasis Computer Systems shall not be - used in advertising or otherwise to promote the sale, use or other dealings - in this Software without prior written authorization from Systasis Computer Systems. - - 29-Aug-22 SYS From hp3000_defs.h in the HP3000 simulator by J. David Bryan -*/ - -#ifndef HP3K_DEFS_H_ -#define HP3K_DEFS_H_ 0 - -#include "sim_defs.h" - -/* Architectural constants. -** -** See hp3000_defs.h:356 -*/ -typedef uint32 RTX_WORD; /* RTX2001A 16-bit data word representation */ - -#define R_MASK 0177777u /* 16-bit register mask */ - -#define D4_WIDTH 4 /* 4-bit data bit width */ -#define D4_MASK 0017u /* 4-bit data mask */ - -#define D6_WIDTH 6 /* 6-bit data bit width */ -#define D6_MASK 077u /* 6-bit data mask */ - -#define D8_WIDTH 8 /* 8-bit data bit width */ -#define D8_MASK 0377u /* 8-bit data mask */ -#define D8_UMAX 0377u /* 8-bit unsigned maximum value */ -#define D8_SMAX 0177u /* 8-bit signed maximum value */ -#define D8_SMIN 0200u /* 8-bit signed minimum value */ -#define D8_SIGN 0200u /* 8-bit sign */ - -#define D16_WIDTH 16 /* 16-bit data bit width */ -#define D16_MASK 0177777u /* 16-bit data mask */ -#define D16_UMAX 0177777u /* 16-bit unsigned maximum value */ -#define D16_SMAX 0077777u /* 16-bit signed maximum value */ -#define D16_SMIN 0100000u /* 16-bit signed minimum value */ -#define D16_SIGN 0100000u /* 16-bit sign */ - -#define D32_WIDTH 32 /* 32-bit data bit width */ -#define D32_MASK 037777777777u /* 32-bit data mask */ -#define D32_UMAX 037777777777u /* 32-bit unsigned maximum value */ -#define D32_SMAX 017777777777u /* 32-bit signed maximum value */ -#define D32_SMIN 020000000000u /* 32-bit signed minimum value */ -#define D32_SIGN 020000000000u /* 32-bit sign */ - -#define D48_WIDTH 48 /* 48-bit data bit width */ -#define D48_MASK 07777777777777777uL /* 48-bit data mask */ -#define D48_UMAX 07777777777777777uL /* 48-bit unsigned maximum value */ -#define D48_SMAX 03777777777777777uL /* 48-bit signed maximum value */ -#define D48_SMIN 04000000000000000uL /* 48-bit signed minimum value */ -#define D48_SIGN 04000000000000000uL /* 48-bit sign */ - -#define D64_WIDTH 64 /* 64-bit data bit width */ -#define D64_MASK 01777777777777777777777uL /* 64-bit data mask */ -#define D64_UMAX 01777777777777777777777uL /* 64-bit unsigned maximum value */ -#define D64_SMAX 00777777777777777777777uL /* 64-bit signed maximum value */ -#define D64_SMIN 01000000000000000000000uL /* 64-bit signed minimum value */ -#define D64_SIGN 01000000000000000000000uL /* 64-bit sign */ - -#define S16_OVFL_MASK ((uint32)D16_UMAX << D16_WIDTH | \ - D16_SIGN) /* 16-bit signed overflow mask */ - -#define S32_OVFL_MASK ((t_uint64)D32_UMAX << D32_WIDTH | \ - D32_SIGN) /* 32-bit signed overflow mask */ - -/* Portable conversions. -** -** See hp3000_defs.h:555 -*/ -#define SEXT8(x) (int32)((x)&D8_SIGN ? (x) | ~D8_MASK : (x)) -#define SEXT16(x) (int32)((x)&D16_SIGN ? (x) | ~D16_MASK : (x)) - -#define NEG8(x) ((~(x) + 1) & D8_MASK) -#define NEG16(x) ((~(x) + 1) & D16_MASK) -#define NEG32(x) ((~(x) + 1) & D32_MASK) - -#define INT16(u) ((u) > D16_SMAX ? (-(int16)(D16_UMAX - (u)) - 1) : (int16)(u)) -#define INT32(u) ((u) > D32_SMAX ? (-(int32)(D32_UMAX - (u)) - 1) : (int32)(u)) - -/* Half-byte accessors */ - -#define UPPER_HALF(b) ((b) >> D4_WIDTH & D4_MASK) -#define LOWER_HALF(b) ((b)&D4_MASK) - -/* Byte accessors. -** -** See hp3000_defs.h:601 -*/ -typedef enum -{ - upper, /* upper byte selected */ - lower /* lower byte selected */ -} BYTE_SELECTOR; - -#define UPPER_BYTE(w) (uint8)((w) >> D8_WIDTH & D8_MASK) -#define LOWER_BYTE(w) (uint8)((w)&D8_MASK) -#define TO_WORD(u, l) (RTX_WORD)(((u)&D8_MASK) << D8_WIDTH | (l)&D8_MASK) - -#define REPLACE_UPPER(w, b) ((w)&D8_MASK | ((b)&D8_MASK) << D8_WIDTH) -#define REPLACE_LOWER(w, b) ((w)&D8_MASK << D8_WIDTH | (b)&D8_MASK) - -/* Double-word accessors */ - -#define UPPER_WORD(d) (RTX_WORD)((d) >> D16_WIDTH & D16_MASK) -#define LOWER_WORD(d) (RTX_WORD)((d)&D16_MASK) - -#define TO_DWORD(u, l) ((RTX_WORD)(u) << D16_WIDTH | (l)) - -#endif \ No newline at end of file +/* rtx2001a_defs.h: RTX2001A simulator definitions + + Copyright (c) 2022, Systasis Computer Systems, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Systasis Computer Systems shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Systasis Computer Systems. + + 12-Aug-22 SYS New simulator. +*/ + +#ifndef RTX2001A_DEFS_H_ +#define RTX2001A_DEFS_H_ 0 + +#include "setjmp.h" + +#include "sim_defs.h" + +/* Architectural constants. +** +** See hp3000_defs.h:356 +*/ +typedef uint32 RTX_WORD; /* RTX2001A 16-bit data word representation */ + +#define R_MASK 0177777u /* 16-bit register mask */ + +#define D4_WIDTH 4 /* 4-bit data bit width */ +#define D4_MASK 0017u /* 4-bit data mask */ + +#define D6_WIDTH 6 /* 6-bit data bit width */ +#define D6_MASK 077u /* 6-bit data mask */ + +#define D8_WIDTH 8 /* 8-bit data bit width */ +#define D8_MASK 0377u /* 8-bit data mask */ +#define D8_UMAX 0377u /* 8-bit unsigned maximum value */ +#define D8_SMAX 0177u /* 8-bit signed maximum value */ +#define D8_SMIN 0200u /* 8-bit signed minimum value */ +#define D8_SIGN 0200u /* 8-bit sign */ + +#define D16_WIDTH 16 /* 16-bit data bit width */ +#define D16_MASK 0177777u /* 16-bit data mask */ +#define D16_UMAX 0177777u /* 16-bit unsigned maximum value */ +#define D16_SMAX 0077777u /* 16-bit signed maximum value */ +#define D16_SMIN 0100000u /* 16-bit signed minimum value */ +#define D16_SIGN 0100000u /* 16-bit sign */ + +#define D32_WIDTH 32 /* 32-bit data bit width */ +#define D32_MASK 037777777777u /* 32-bit data mask */ +#define D32_UMAX 037777777777u /* 32-bit unsigned maximum value */ +#define D32_SMAX 017777777777u /* 32-bit signed maximum value */ +#define D32_SMIN 020000000000u /* 32-bit signed minimum value */ +#define D32_SIGN 020000000000u /* 32-bit sign */ + +#define D48_WIDTH 48 /* 48-bit data bit width */ +#define D48_MASK 07777777777777777uL /* 48-bit data mask */ +#define D48_UMAX 07777777777777777uL /* 48-bit unsigned maximum value */ +#define D48_SMAX 03777777777777777uL /* 48-bit signed maximum value */ +#define D48_SMIN 04000000000000000uL /* 48-bit signed minimum value */ +#define D48_SIGN 04000000000000000uL /* 48-bit sign */ + +#define D64_WIDTH 64 /* 64-bit data bit width */ +#define D64_MASK 01777777777777777777777uL /* 64-bit data mask */ +#define D64_UMAX 01777777777777777777777uL /* 64-bit unsigned maximum value */ +#define D64_SMAX 00777777777777777777777uL /* 64-bit signed maximum value */ +#define D64_SMIN 01000000000000000000000uL /* 64-bit signed minimum value */ +#define D64_SIGN 01000000000000000000000uL /* 64-bit sign */ + +#define S16_OVFL_MASK ((uint32)D16_UMAX << D16_WIDTH | \ + D16_SIGN) /* 16-bit signed overflow mask */ + +#define S32_OVFL_MASK ((t_uint64)D32_UMAX << D32_WIDTH | \ + D32_SIGN) /* 32-bit signed overflow mask */ + +/* Portable conversions. +** +** See hp3000_defs.h:555 +*/ +#define SEXT8(x) (int32)((x)&D8_SIGN ? (x) | ~D8_MASK : (x)) +#define SEXT16(x) (int32)((x)&D16_SIGN ? (x) | ~D16_MASK : (x)) + +#define NEG8(x) ((~(x) + 1) & D8_MASK) +#define NEG16(x) ((~(x) + 1) & D16_MASK) +#define NEG32(x) ((~(x) + 1) & D32_MASK) + +#define INT16(u) ((u) > D16_SMAX ? (-(int16)(D16_UMAX - (u)) - 1) : (int16)(u)) +#define INT32(u) ((u) > D32_SMAX ? (-(int32)(D32_UMAX - (u)) - 1) : (int32)(u)) + +/* Half-byte accessors */ + +#define UPPER_HALF(b) ((b) >> D4_WIDTH & D4_MASK) +#define LOWER_HALF(b) ((b)&D4_MASK) + +/* Byte accessors. +** +** See hp3000_defs.h:601 +*/ +typedef enum +{ + upper, /* upper byte selected */ + lower /* lower byte selected */ +} BYTE_SELECTOR; + +#define UPPER_BYTE(w) (uint8)((w) >> D8_WIDTH & D8_MASK) +#define LOWER_BYTE(w) (uint8)((w)&D8_MASK) +#define TO_WORD(u, l) (RTX_WORD)(((u)&D8_MASK) << D8_WIDTH | (l)&D8_MASK) + +#define REPLACE_UPPER(w, b) ((w)&D8_MASK | ((b)&D8_MASK) << D8_WIDTH) +#define REPLACE_LOWER(w, b) ((w)&D8_MASK << D8_WIDTH | (b)&D8_MASK) + +/* Double-word accessors */ + +#define UPPER_WORD(d) (RTX_WORD)((d) >> D16_WIDTH & D16_MASK) +#define LOWER_WORD(d) (RTX_WORD)((d)&D16_MASK) + +#define TO_DWORD(u, l) ((RTX_WORD)(u) << D16_WIDTH | (l)) + +extern t_bool build_dev_tab(void); +extern DEVICE cpu_dev; +extern int32 sim_emax; // contains the maximum number of words needed to hold the largest instruction or data item in the VM. Examine and deposit will process up to sim_emax words. +extern t_stat cpu_reset(DEVICE *); +extern t_stat do_cmd_label(int32 flag, CONST char *fcptr, CONST char *label); +extern t_stat cpu_boot(t_value unit_num, DEVICE *dptr); +extern jmp_buf save_env; +extern jmp_buf bkpt_env; // breakpoint handler + +#define STOP_UNK 0 // Unknown Error +#define STOP_HALT 1 // HALT +#define STOP_IBKPT 2 // breakpoint +#define STOP_INVOPCOD 3 // invalid instruction +#define STOP_ILLASICADDR 4 // Illegal ASIC bus address + +#define ABORT(val) longjmp(save_env, (val)) + +#endif /* RTX2001A_DEFS_H_ */ diff --git a/RTX2001A/src/rtx2001a_execute.c b/RTX2001A/rtx2001a_execute.c similarity index 91% rename from RTX2001A/src/rtx2001a_execute.c rename to RTX2001A/rtx2001a_execute.c index a24042285..e7f5a1fc8 100644 --- a/RTX2001A/src/rtx2001a_execute.c +++ b/RTX2001A/rtx2001a_execute.c @@ -1,6 +1,6 @@ /* rtx2001a_execute.h: RTX2001A simulator definitions - Copyright (c) 2020, Systasis Computer Systems, Inc. + Copyright (c) 2022, Systasis Computer Systems, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -941,7 +941,8 @@ t_stat execute(t_value instruction) if (SCPE_OK == (status = decode(instruction, &opcode))) { print_instruction(instruction, cpr.pr, asic_file[PC]); - if (!STREAM && second_cycle){ + if (!STREAM && second_cycle) + { dispatch_vector_2[opcode](); second_cycle = 0; } @@ -958,7 +959,10 @@ t_stat execute(t_value instruction) */ void print_instruction(t_value instruction, t_value page, t_addr address) { -#define PREFIX "2nd " + +#define PREFIX \ + ((second_cycle && !STREAM) ? "2nd " : "") + machine_op opr = 0; if (SCPE_OK != decode(instruction, &opr)) { @@ -1016,11 +1020,11 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_DDUP_STORE: - sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s!\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s!\n", PREFIX, MEM); break; case OP_DDUP_STORE_WITH_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s! 0x%X %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT, SWAP_ALU3); + sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s! 0x%X %s\n", PREFIX, MEM, SHORT_LIT, SWAP_ALU3); break; case OP_DROP: @@ -1031,7 +1035,7 @@ void print_instruction(t_value instruction, t_value page, t_addr address) { t_value value; _long_fetch(page, address, &value); - sim_debug(DBG_CPU, &cpu_dev, "%sDROP LIT %d %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%sDROP LIT %d %s\n", PREFIX, value, INVERT); } break; @@ -1040,11 +1044,11 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_DUP_FETCH_SWAP: - sim_debug(DBG_CPU, &cpu_dev, "%sDUP %s@ SWAP\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + sim_debug(DBG_CPU, &cpu_dev, "%sDUP %s@ SWAP\n", PREFIX, MEM); break; case OP_DUP_USTORE: - sim_debug(DBG_CPU, &cpu_dev, "%sDUP %X U! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%sDUP %X U! %s\n", PREFIX, SHORT_LIT, INVERT); break; case OP_GFETCH_DROP: @@ -1056,27 +1060,27 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_FETCH: - sim_debug(DBG_CPU, &cpu_dev, "%s%s@ %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ %s\n", PREFIX, MEM, INVERT); break; case OP_FETCH_LIT: - sim_debug(DBG_CPU, &cpu_dev, "%s%s@ 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ 0x%X\n", PREFIX, MEM, SHORT_LIT); break; case OP_FETCH_SWAP: - sim_debug(DBG_CPU, &cpu_dev, "%s%s@ SWAP %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ SWAP %s\n", PREFIX, MEM, INVERT); break; case OP_FETCH_OVER_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%s%s@ OVER %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, ALU); + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ OVER %s\n", PREFIX, MEM, ALU); break; case OP_FETCH_SWAP_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%s%s@ %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SWAP_ALU); + sim_debug(DBG_CPU, &cpu_dev, "%s%s@ %s\n", PREFIX, MEM, SWAP_ALU); break; case OP_FETCH_WITH_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X %s@_%s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, MEM, ALU3); + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X %s@_%s\n", PREFIX, SHORT_LIT, MEM, ALU3); break; case OP_GFETCH: @@ -1141,7 +1145,7 @@ void print_instruction(t_value instruction, t_value page, t_addr address) { t_value value; _long_fetch(page, address, &value); - sim_debug(DBG_CPU, &cpu_dev, "%sLIT 0x%X OVER %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, ALU); + sim_debug(DBG_CPU, &cpu_dev, "%sLIT 0x%X OVER %s\n", PREFIX, value, ALU); } break; @@ -1149,7 +1153,7 @@ void print_instruction(t_value instruction, t_value page, t_addr address) { t_value value; _long_fetch(page, address, &value); - sim_debug(DBG_CPU, &cpu_dev, "%sLIT %d SWAP %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%sLIT %d SWAP %s\n", PREFIX, value, INVERT); } break; @@ -1160,7 +1164,7 @@ void print_instruction(t_value instruction, t_value page, t_addr address) sim_is_running = 0; // turn off debug for a moment _long_fetch(page, address, &value); sim_is_running = _sim_is_running; - sim_debug(DBG_CPU, &cpu_dev, "%sLIT %d %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), value, SWAP_ALU); + sim_debug(DBG_CPU, &cpu_dev, "%sLIT %d %s\n", PREFIX, value, SWAP_ALU); } break; @@ -1169,15 +1173,15 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_NIP_DUP_FETCH_SWAP: - sim_debug(DBG_CPU, &cpu_dev, "%sNIP DUP %s@ SWAP\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + sim_debug(DBG_CPU, &cpu_dev, "%sNIP DUP %s@ SWAP\n", PREFIX, MEM); break; case OP_NIP_FETCH_LIT: - sim_debug(DBG_CPU, &cpu_dev, "%sNIP %s@ 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + sim_debug(DBG_CPU, &cpu_dev, "%sNIP %s@ 0x%X\n", PREFIX, MEM, SHORT_LIT); break; case OP_NIP_FETCH_WITH_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%sNIP 0x%X %s@_%s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, MEM, ALU3); + sim_debug(DBG_CPU, &cpu_dev, "%sNIP 0x%X %s@_%s\n", PREFIX, SHORT_LIT, MEM, ALU3); break; case OP_OVER: @@ -1204,11 +1208,11 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_STORE: - sim_debug(DBG_CPU, &cpu_dev, "%s%s! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%s%s! %s\n", PREFIX, MEM, INVERT); break; case OP_STORE_LIT: - sim_debug(DBG_CPU, &cpu_dev, "%s%s! 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + sim_debug(DBG_CPU, &cpu_dev, "%s%s! 0x%X\n", PREFIX, MEM, SHORT_LIT); break; case OP_SWAP: @@ -1220,40 +1224,43 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_TUCK_STORE: - sim_debug(DBG_CPU, &cpu_dev, "%sTUCK %s!\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM); + sim_debug(DBG_CPU, &cpu_dev, "%sTUCK %s!\n", PREFIX, MEM); break; case OP_TUCK_STORE_WITH_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%sTUCK %s! 0x%X %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT, ALU3); + sim_debug(DBG_CPU, &cpu_dev, "%sTUCK %s! 0x%X %s\n", PREFIX, MEM, SHORT_LIT, ALU3); break; case OP_UFETCH: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ %s\n", PREFIX, SHORT_LIT, INVERT); break; case OP_UFETCH_OVER_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ OVER %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, ALU); + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ OVER %s\n", PREFIX, SHORT_LIT, ALU); break; case OP_UFETCH_SWAP: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ SWAP %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ SWAP %s\n", PREFIX, SHORT_LIT, INVERT); break; case OP_UFETCH_SWAP_ALU: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ %s", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, SWAP_ALU); + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U@ %s", PREFIX, SHORT_LIT, SWAP_ALU); break; case OP_UNDER_STORE: - sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! %s\n", PREFIX, MEM, INVERT); break; case OP_UNDER_STORE_LIT: - sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! 0x%X\n", ((!STREAM & second_cycle) ? PREFIX : ""), MEM, SHORT_LIT); + sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! 0x%X\n", PREFIX, MEM, SHORT_LIT); break; case OP_USTORE: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U! %s\n", ((!STREAM & second_cycle) ? PREFIX : ""), SHORT_LIT, INVERT); + sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U! %s\n", PREFIX, SHORT_LIT, INVERT); break; + + default: + bad_insn(); } } diff --git a/RTX2001A/src/rtx2001a_execute.h b/RTX2001A/rtx2001a_execute.h similarity index 96% rename from RTX2001A/src/rtx2001a_execute.h rename to RTX2001A/rtx2001a_execute.h index adb5e049b..aff05a7a6 100644 --- a/RTX2001A/src/rtx2001a_execute.h +++ b/RTX2001A/rtx2001a_execute.h @@ -1,6 +1,6 @@ /* rtx2001a_execute.h: RTX2001A simulator definitions - Copyright (c) 2020, Systasis Computer Systems, Inc. + Copyright (c) 2022, Systasis Computer Systems, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/RTX2001A/src/rtx2001a_mb.c b/RTX2001A/rtx2001a_mb.c similarity index 96% rename from RTX2001A/src/rtx2001a_mb.c rename to RTX2001A/rtx2001a_mb.c index 7117075d2..0c869ee8b 100644 --- a/RTX2001A/src/rtx2001a_mb.c +++ b/RTX2001A/rtx2001a_mb.c @@ -31,7 +31,6 @@ #include "rtx2001a_debug.h" #include "rtx2001a_registers.h" #include "rtx2001a_mb.h" -#include "hp3k_defs.h" RTX_WORD ram[RAM_SIZE] = {0}; @@ -61,7 +60,7 @@ void _long_fetch(t_addr seg, t_addr address, t_value *value) return; } - sim_debug(DBG_MEB_R, &cpu_dev, SEGADDR("nxm: PC=0x%X "), asic_file[PC], seg, address, addr); + sim_debug(DBG_MEB_R, &cpu_dev, "nxm: PC=0x%X seg:addr=%d:0x%X addr=0x%X\n", asic_file[PC], seg, address, addr); ABORT(SCPE_NXM); } @@ -76,7 +75,7 @@ void _long_store(t_addr seg, t_addr address, t_value data) return; } - sim_debug(DBG_MEB_W, &cpu_dev, SEGADDR("nxm: PC=0x%X "), asic_file[PC], seg, address, addr); + sim_debug(DBG_MEB_W, &cpu_dev, "nxm: PC=0x%X seg:addr=%d:0x%X addr=0x%X\n", asic_file[PC], seg, address, addr); ABORT(SCPE_NXM); } diff --git a/RTX2001A/src/rtx2001a_mb.h b/RTX2001A/rtx2001a_mb.h similarity index 100% rename from RTX2001A/src/rtx2001a_mb.h rename to RTX2001A/rtx2001a_mb.h diff --git a/RTX2001A/src/rtx2001a_psb.c b/RTX2001A/rtx2001a_psb.c similarity index 99% rename from RTX2001A/src/rtx2001a_psb.c rename to RTX2001A/rtx2001a_psb.c index 18d8f9310..97b8eca5e 100644 --- a/RTX2001A/src/rtx2001a_psb.c +++ b/RTX2001A/rtx2001a_psb.c @@ -31,7 +31,6 @@ #include "rtx2001a_debug.h" #include "rtx2001a_registers.h" #include "rtx2001a_psb.h" -#include "hp3k_defs.h" #include "rtx2001a_execute.h" /** diff --git a/RTX2001A/src/rtx2001a_psb.h b/RTX2001A/rtx2001a_psb.h similarity index 98% rename from RTX2001A/src/rtx2001a_psb.h rename to RTX2001A/rtx2001a_psb.h index d4196c5d3..f6262554f 100644 --- a/RTX2001A/src/rtx2001a_psb.h +++ b/RTX2001A/rtx2001a_psb.h @@ -30,8 +30,8 @@ #ifndef RTX2001A_PSB_H_ #define RTX2001A_PSB_H_ 0 -#include "hp3k_defs.h" #include "rtx2001a_registers.h" + /* ** ** Stacks on the RTX 2000 and RTX 2010 are each 256 elements deep; diff --git a/RTX2001A/src/rtx2001a_registers.h b/RTX2001A/rtx2001a_registers.h similarity index 99% rename from RTX2001A/src/rtx2001a_registers.h rename to RTX2001A/rtx2001a_registers.h index e65b9c14c..b8184e2ea 100644 --- a/RTX2001A/src/rtx2001a_registers.h +++ b/RTX2001A/rtx2001a_registers.h @@ -89,7 +89,7 @@ RH 17H 0000 0000 0000 0000 R-W Scratchpad register for #ifndef RTX2001A_REGISTERS_H_ #define RTX2001A_REGISTERS_H_ 0 -#include "hp3k_defs.h" +#include "rtx2001a_defs.h" #include "rtx2001a_psb.h" #include "rtx2001a_rsb.h" #include "rtx2001a_debug.h" diff --git a/RTX2001A/src/rtx2001a_rsb.c b/RTX2001A/rtx2001a_rsb.c similarity index 99% rename from RTX2001A/src/rtx2001a_rsb.c rename to RTX2001A/rtx2001a_rsb.c index 5e98fbd4a..c6fdd9bb1 100644 --- a/RTX2001A/src/rtx2001a_rsb.c +++ b/RTX2001A/rtx2001a_rsb.c @@ -32,7 +32,6 @@ #include "rtx2001a_registers.h" #include "rtx2001a_rsb.h" #include "rtx2001a_ab.h" -#include "hp3k_defs.h" /** ** return stack push with 2 inputs diff --git a/RTX2001A/src/rtx2001a_rsb.h b/RTX2001A/rtx2001a_rsb.h similarity index 98% rename from RTX2001A/src/rtx2001a_rsb.h rename to RTX2001A/rtx2001a_rsb.h index 13820ccdb..1a8b3d692 100644 --- a/RTX2001A/src/rtx2001a_rsb.h +++ b/RTX2001A/rtx2001a_rsb.h @@ -31,7 +31,7 @@ #ifndef RTX2001A_RSB_H_ #define RTX2001A_RSB_H_ 0 -#include "hp3k_defs.h" +#include "rtx2001a_defs.h" /* ** diff --git a/RTX2001A/src/rtx2001a_sys.c b/RTX2001A/rtx2001a_sys.c similarity index 95% rename from RTX2001A/src/rtx2001a_sys.c rename to RTX2001A/rtx2001a_sys.c index ddd159be1..a31d24dbf 100644 --- a/RTX2001A/src/rtx2001a_sys.c +++ b/RTX2001A/rtx2001a_sys.c @@ -1,6 +1,6 @@ /* rtx2001a_sys.c: RTX2001A simulator interface - Copyright (c) 2020, Systasis Computer Systems, Inc. + Copyright (c) 2022, Systasis Computer Systems, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/RTX2001A/sim_defs.h b/RTX2001A/sim_defs.h deleted file mode 120000 index e6a3bb824..000000000 --- a/RTX2001A/sim_defs.h +++ /dev/null @@ -1 +0,0 @@ -../simh/sim_defs.h \ No newline at end of file diff --git a/RTX2001A/simh.ini b/RTX2001A/simh.ini index d3195eb1a..51f3e58c0 100644 --- a/RTX2001A/simh.ini +++ b/RTX2001A/simh.ini @@ -2,11 +2,10 @@ # use for rtx2001a # set log -n /tmp/rtx2001a.log # set debug -PF /tmp/rtx2001a.log -echo %SIM_BIN_PATH% set nolog set debug -f stdout +do "%SIM_BIN_NAME%/rom.ini" # set break -s -p -do "rom.ini" # set CPU NODEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW # set CPU deb=CPU;ASBR;ASBW; # diff --git a/RTX2001A/src/rtx2001a_defs.h b/RTX2001A/src/rtx2001a_defs.h deleted file mode 100644 index 9e44ce0d4..000000000 --- a/RTX2001A/src/rtx2001a_defs.h +++ /dev/null @@ -1,54 +0,0 @@ -/* rtx2001a_defs.h: RTX2001A simulator definitions - - Copyright (c) 2020, Systasis Computer Systems, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - SYSTASIS COMPUTER SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of Systasis Computer Systems shall not be - used in advertising or otherwise to promote the sale, use or other dealings - in this Software without prior written authorization from Systasis Computer Systems. - - 12-Aug-22 SYS New simulator. -*/ - -#ifndef RTX2001A_DEFS_H_ -#define RTX2001A_DEFS_H_ 0 - -#include "setjmp.h" -#include "sim_defs.h" - -#include "hp3k_defs.h" - -extern t_bool build_dev_tab(void); -extern DEVICE cpu_dev; -extern int32 sim_emax; // contains the maximum number of words needed to hold the largest instruction or data item in the VM. Examine and deposit will process up to sim_emax words. -extern t_stat cpu_reset(DEVICE *); -extern t_stat do_cmd_label(int32 flag, CONST char *fcptr, CONST char *label); -extern t_stat cpu_boot(t_value unit_num, DEVICE *dptr); -extern jmp_buf save_env; -extern jmp_buf bkpt_env; // breakpoint handler - -#define STOP_UNK 0 // Unknown Error -#define STOP_HALT 1 // HALT -#define STOP_IBKPT 2 // breakpoint -#define STOP_INVOPCOD 3 // invalid instruction -#define STOP_ILLASICADDR 4 // Illegal ASIC bus address - -#define ABORT(val) longjmp(save_env, (val)) - -#endif /* RTX2001A_DEFS_H_ */ diff --git a/makefile b/makefile index f26bc1180..e760ac41f 100644 --- a/makefile +++ b/makefile @@ -2944,5 +2944,19 @@ frontpaneltest : ${BIN}frontpaneltest${EXE} ${BIN}frontpaneltest${EXE} : frontpanel/FrontPanelTest.c sim_sock.c sim_frontpanel.c #cmake:ignore-target ${MKDIRBIN} - ${CC} frontpanel/FrontPanelTest.c sim_sock.c sim_frontpanel.c ${CC_OUTSPEC} ${LDFLAGS} ${OS_CURSES_DEFS} + ${CC} frontpanel/FrontPanelTest.c sim_sock.c sim_frontpanel.c ${CC_OUTSPEC} ${LDFLAGS} ${OS_CURSES_DEFS} + +# rtx2001a +RTX2001AD = ${SIMHD}/RTX2001A/ +RTX2001AD_SRC = ${RTX2001AD} +RTX2001A_SRC = \ + ${RTX2001AD_SRC}rtx2001a_cpu.c ${RTX2001AD_SRC}rtx2001a_sys.c ${RTX2001AD_SRC}rtx2001a_decode.c \ + ${RTX2001AD_SRC}rtx2001a_execute.c ${RTX2001AD_SRC}rtx2001a_ab.c ${RTX2001AD_SRC}rtx2001a_mb.c \ + ${RTX2001AD_SRC}rtx2001a_psb.c ${RTX2001AD_SRC}rtx2001a_rsb.c + +rtx2001a : ${BIN}rtx2001a${EXE} + +${BIN}rtx2001a${EXE} : ${SIM} ${RTX2001A_SRC} + ${MKDIRBIN} + ${CC} ${SIM} ${RTX2001A_SRC} ${CC_OUTSPEC} ${LDFLAGS} From 300f6b69a43b8fa9d5d4879a845d08dd52cc3da2 Mon Sep 17 00:00:00 2001 From: jchimene Date: Mon, 9 Jan 2023 06:43:28 -0700 Subject: [PATCH 3/7] "A screaming comes across the sky." Attempt console I/O; dev vs. prod rom location; always write bad_insn log; --- RTX2001A/rtx2001a_ab.c | 45 ++++++++++++++++++-------- RTX2001A/rtx2001a_execute.c | 62 +++++++++++++++++++++++++++++++++--- RTX2001A/simh.ini | 6 ++-- doc/~$mh_doc.doc | Bin 0 -> 162 bytes doc/~$simh.doc | Bin 0 -> 162 bytes makefile | 26 ++++++++------- 6 files changed, 108 insertions(+), 31 deletions(-) create mode 100644 doc/~$mh_doc.doc create mode 100644 doc/~$simh.doc diff --git a/RTX2001A/rtx2001a_ab.c b/RTX2001A/rtx2001a_ab.c index bdf9ae3b7..6b487e22d 100644 --- a/RTX2001A/rtx2001a_ab.c +++ b/RTX2001A/rtx2001a_ab.c @@ -26,9 +26,27 @@ 9-Sep-22 SYS ASIC bus routines */ +#include #include "rtx2001a_ab.h" #include "rtx2001a_execute.h" +t_stat poll_kbd(t_value *data) +{ + int status; + unsigned char buf[1]; + + status = read(0, buf, 1); + *data = '\0'; + if (status != 1) + return SCPE_OK; + if (sim_brk_char && (buf[0] == sim_brk_char)) + return SCPE_BREAK; + if (sim_int_char && (buf[0] == sim_int_char)) + return SCPE_STOP; + *data = buf[0]; + return SCPE_OK; +} + /* implementation note: gfetch is always invoked before TEST_EXIT */ t_stat gfetch(t_addr offset, t_value *data) { @@ -230,22 +248,23 @@ t_stat gfetch(t_addr offset, t_value *data) if (offset == 0x19) { -#if 0 - /* this gets I/O to work for now */ - if (offset == 0x19) - { - if (hostmode) /* invoke fsm for serving host mode */ - { - return (host_read()); - } - temp = getch() _MASKED_; + // if (hostmode) /* invoke fsm for serving host mode */ + // { + // return (host_read()); + // } + *data = getchar() & D16_MASK; /* printf("\n(%d) = '%c'", temp, temp); */ - return (temp); + return SCPE_OK; } + if (offset == 0x1A) - return (kbhit() _MASKED_); -#endif - return SCPE_NXM; + { + RTX_WORD c = 0; + t_stat status; + if ((status = poll_kbd(&c)) != SCPE_OK) /* no char or error? */ + return status; + *data = c; + return SCPE_OK; } if (offset >= 0x18 && offset <= 0x1F) diff --git a/RTX2001A/rtx2001a_execute.c b/RTX2001A/rtx2001a_execute.c index e7f5a1fc8..44a6ebe79 100644 --- a/RTX2001A/rtx2001a_execute.c +++ b/RTX2001A/rtx2001a_execute.c @@ -76,8 +76,8 @@ char *memory_names[] = { void bad_insn() { - sim_debug(DBG_CPU, &cpu_dev, "%s IR=0x%X\n", sim_stop_messages[STOP_INVOPCOD], IR); - print_instruction(IR, cpr.pr, asic_file[PC]); + sim_printf("%s PC=0x%X IR=0x%X\n", sim_stop_messages[STOP_INVOPCOD], asic_file[PC], IR); + // print_instruction(IR, cpr.pr, asic_file[PC]); ABORT(STOP_IBKPT); // longjmp(bkpt_env, STOP_IBKPT); } @@ -749,6 +749,44 @@ void do_short_lit() CLOCKS(1); } +void do_uslash_one_tick() +{ + /* really sleazy definition to make things work for now ???? */ + /* undoes the preceeding d2* */ + NEXT = (NEXT >> 1) & 0x7FFF; + if (TOP & 1) + NEXT = NEXT | 0x8000; + TOP = (TOP >> 1) & 0x7FFF; + if (CY) + TOP = TOP | 0x8000; +} + +void do_uslash_tick() +{ + /* really sleazy definition to make things work for now ???? */ + /* do nothing -- save the division up for the end! */ + TEST_EXIT; + CLOCKS(1); +} + +void do_uslash_tick_tick() +{ + /* really sleazy definition to make things work for now ???? */ + /* do all the division at once */ + t_uint64 dividend; + RTX_WORD divisor, quotient, remainder; + dividend = ((t_uint64)TOP << 16) & 0xFFFF0000; + dividend = dividend | (t_uint64)(NEXT & 0xFFFF); + divisor = MD; + quotient = dividend / divisor; + dividend = dividend - ((t_uint64)quotient * (t_uint64)divisor); + remainder = dividend; + TOP = remainder; + NEXT = quotient; + TEST_EXIT; + CLOCKS(1); +} + /** * ??? the below definitions might speed things up, from Mitch Bradley * ??? the below definitions might speed things up, from Mitch Bradley @@ -1039,6 +1077,10 @@ void print_instruction(t_value instruction, t_value page, t_addr address) } break; + case OP_DDUP_ALU: + sim_debug(DBG_CPU, &cpu_dev, "DDUP %s%s\n", ALU, SHIFT); + break; + case OP_DUP: sim_debug(DBG_CPU, &cpu_dev, "DUP %s%s\n", INVERT, SHIFT); break; @@ -1255,8 +1297,16 @@ void print_instruction(t_value instruction, t_value page, t_addr address) sim_debug(DBG_CPU, &cpu_dev, "%sUNDER %s! 0x%X\n", PREFIX, MEM, SHORT_LIT); break; - case OP_USTORE: - sim_debug(DBG_CPU, &cpu_dev, "%s0x%X U! %s\n", PREFIX, SHORT_LIT, INVERT); + case OP_USLASH_ONE_TICK: + sim_debug(DBG_CPU, &cpu_dev, "U/1'\n"); + break; + + case OP_USLASH_TICK: + sim_debug(DBG_CPU, &cpu_dev, "U/'\n"); + break; + + case OP_USLASH_TICK_TICK: + sim_debug(DBG_CPU, &cpu_dev, "U/''\n"); break; default: @@ -1404,10 +1454,14 @@ void init_dispatch_vectors() dispatch_vector_1[OP_UNDER_ALU] = do_under_alu; dispatch_vector_1[OP_UNDER_STORE] = do_under_store; dispatch_vector_1[OP_UNDER_STORE_LIT] = do_under_store_lit; +#endif dispatch_vector_1[OP_USLASH_ONE_TICK] = do_uslash_one_tick; +#if 0 dispatch_vector_1[OP_USLASH_ONE_TICK_TICK] = do_uslash_one_tick_tick; +#endif dispatch_vector_1[OP_USLASH_TICK] = do_uslash_tick; dispatch_vector_1[OP_USLASH_TICK_TICK] = do_uslash_tick_tick; +#if 0 dispatch_vector_1[OP_USTAR_TICK] = do_ustar_tick; dispatch_vector_1[OP_USTAR_TICK_TICK] = do_ustar_tick_tick; dispatch_vector_1[OP_USTORE] = do_ustore; diff --git a/RTX2001A/simh.ini b/RTX2001A/simh.ini index 51f3e58c0..6b67e191a 100644 --- a/RTX2001A/simh.ini +++ b/RTX2001A/simh.ini @@ -4,9 +4,11 @@ # set debug -PF /tmp/rtx2001a.log set nolog set debug -f stdout -do "%SIM_BIN_NAME%/rom.ini" +set CPU NODEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW +if exist "%SIM_BIN_NAME%/rom.ini" do "%SIM_BIN_NAME%/rom.ini" +if exist "rom.ini" do "rom.ini" # set break -s -p -# set CPU NODEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW +# set CPU DEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW # set CPU deb=CPU;ASBR;ASBW; # # boot routine diff --git a/doc/~$mh_doc.doc b/doc/~$mh_doc.doc new file mode 100644 index 0000000000000000000000000000000000000000..1215360c558324f168a348f977b46d5a160ee437 GIT binary patch literal 162 zcmWgj%}g%JFV0UZQSeVo%S=vH2rW)6VjuuS8GIQs8Il=_81fm4fjEt!gh7G9A4sQx Q#Z!U2P@qgIPz9v`0A Date: Wed, 25 Jan 2023 12:59:55 -0700 Subject: [PATCH 4/7] "All happy families are alike; each unhappy family is unhappy in its own way." Implement console input; Repair byte addressing; Implement examine for Parameter & Return stacks; Fix size of Index bitfield in ReturnStack; Repair boot routine in simh.ini --- RTX2001A/rtx2001a_ab.c | 350 ++++++++++++++++++---------------- RTX2001A/rtx2001a_cpu.c | 12 +- RTX2001A/rtx2001a_defs.h | 3 +- RTX2001A/rtx2001a_execute.c | 74 ++++--- RTX2001A/rtx2001a_execute.h | 11 +- RTX2001A/rtx2001a_mb.c | 14 +- RTX2001A/rtx2001a_psb.c | 4 +- RTX2001A/rtx2001a_registers.h | 12 +- RTX2001A/rtx2001a_rsb.c | 16 +- RTX2001A/rtx2001a_rsb.h | 4 +- RTX2001A/rtx2001a_sys.c | 92 ++++----- RTX2001A/simh.ini | 1 + 12 files changed, 320 insertions(+), 273 deletions(-) diff --git a/RTX2001A/rtx2001a_ab.c b/RTX2001A/rtx2001a_ab.c index 6b487e22d..1dbb66d18 100644 --- a/RTX2001A/rtx2001a_ab.c +++ b/RTX2001A/rtx2001a_ab.c @@ -30,73 +30,168 @@ #include "rtx2001a_ab.h" #include "rtx2001a_execute.h" -t_stat poll_kbd(t_value *data) +// https://embedjournal.com/implementing-circular-buffer-embedded-c/ +typedef struct { - int status; - unsigned char buf[1]; - - status = read(0, buf, 1); - *data = '\0'; - if (status != 1) - return SCPE_OK; - if (sim_brk_char && (buf[0] == sim_brk_char)) - return SCPE_BREAK; - if (sim_int_char && (buf[0] == sim_int_char)) - return SCPE_STOP; - *data = buf[0]; - return SCPE_OK; + t_value *const buffer; + int head; + int tail; + const int maxlen; +} circ_bbuf_t; + +t_value _kbbuf[255] = {'\0'}; +static circ_bbuf_t kbbuf = {_kbbuf, 0, 0, 254}; + +int circ_bbuf_push(circ_bbuf_t *c, t_value data) +{ + int next; + + next = c->head + 1; // next is where head will point to after this write. + if (next >= c->maxlen) + next = 0; + + if (next == c->tail) // if the head + 1 == tail, circular buffer is full + return -1; + + c->buffer[c->head] = data; // Load data and then move + c->head = next; // head to next data offset. + return 0; // return success to indicate successful push. } +int circ_bbuf_pop(circ_bbuf_t *c, t_value *data) +{ + int next; + + if (c->head == c->tail) // if the head == tail, we don't have any data + return -1; + + next = c->tail + 1; // next is where tail will point to after this read. + if (next >= c->maxlen) + next = 0; + + *data = c->buffer[c->tail]; // Read data and then move + c->tail = next; // tail to next offset. + return 0; // return success to indicate successful push. +} + +// t_stat poll_kbd(t_value *data) +// { +// int status; +// unsigned char buf[1]; + +// status = read(0, buf, 1); +// *data = '\0'; +// if (status != 1) +// return SCPE_OK; +// if (sim_brk_char && (buf[0] == sim_brk_char)) +// return SCPE_BREAK; +// if (sim_int_char && (buf[0] == sim_int_char)) +// return SCPE_STOP; +// *data = buf[0]; +// return SCPE_OK; +// } + /* implementation note: gfetch is always invoked before TEST_EXIT */ t_stat gfetch(t_addr offset, t_value *data) { + switch (offset) + { + + case 0x19: // RCV + { + // if (hostmode) /* invoke fsm for serving host mode */ + // { + // return (host_read()); + // } + // *data = getchar() & D16_MASK; + /* printf("\n(%d) = '%c'", temp, temp); */ + // handle + if (0 == circ_bbuf_pop(&kbbuf, data)) + { + return SCPE_OK; + } + *data = 0; + t_stat status = sim_poll_kbd(); + switch (status) + { + case SCPE_OK: // no char + case SCPE_LOST: // Error + return status; + default: + *data = status & ~SCPE_KFLAG; + } + + return SCPE_OK; + } + + case 0x1A: // RCV? + // t_value _c = 0; + // if (0 == circ_bbuf_pop(&kbbuf, &_c) { + // *data = _c; + // return SCPE_OK; + // } + // *data = '\0'; + // t_stat status = sim_poll_kbd(); + // switch (status) + // { + // case SCPE_OK: // no char + // case SCPE_LOST: // Error + // return status; + // default: + // *data = 0xFF; + { + t_stat status = sim_poll_kbd(); + *data = 0; + switch (status) + { + case SCPE_OK: // no char + case SCPE_LOST: // Error + return status; + default: + circ_bbuf_push(&kbbuf, status & ~SCPE_KFLAG); + *data = 0xFF; + } + return SCPE_OK; + } + // return bit=0: Pushes the contents of I into TOP (with no pop of the Return Stack) // return bit=1: Pushes the contents of I into TOP then performs a subroutine return - if (I == offset) - { + case I: *data = asic_file[I]; sim_debug(DBG_ASB_R, &cpu_dev, sim_is_running ? "I=0x%X\n" : "I=0x%X", asic_file[I]); return SCPE_OK; - } // return bit=0: Pushes the contents of I into TOP, popping the Return Stack // return bit=1: Pushes the contents of I into TOP without popping the Return Stack, then executes the Subroutine Return - if (I_ASIC == offset) - { + case I_ASIC: *data = asic_file[I]; - sim_debug(DBG_ASB_R, &cpu_dev, sim_is_running ? "I=0x%X\n" : " ", asic_file[I]); + sim_debug(DBG_ASB_R, &cpu_dev, "I=0x%X\n", asic_file[I]); if (!EXIT) { rs_pop(data); } return SCPE_OK; - } + // Pushes the contents of I shifted left by one bit, into TOP (the Return Stack is not popped) - if (I_ALU == offset) - { + case I_ALU: *data = (asic_file[I] << 1) & D16_UMAX; sim_debug(DBG_ASB_R, &cpu_dev, sim_is_running ? "I=0x%X\n" : " ", *data); return SCPE_OK; - } - if (_CR == offset) - { + case _CR: *data = cr.pr & 0xFFEF; // Force SID to zero if (sim_is_running) sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CR", cr_bits, cr.pr, *data, 1); return SCPE_OK; - } - if (MD == offset) - { + case MD: *data = asic_file[MD] & D16_UMAX; if (sim_is_running) sim_debug(DBG_ASB_R, &cpu_dev, "MD=0x%X\n", asic_file[MD]); return SCPE_OK; - } - if (SQ == offset) + case SQ: { RTX_WORD sq = asic_file[MD] << 1; *data = sq | asic_file[SR]; @@ -104,42 +199,34 @@ t_stat gfetch(t_addr offset, t_value *data) return SCPE_OK; } - if (SR == offset) + case SR: { *data = asic_file[SR]; sim_debug(DBG_ASB_R, &cpu_dev, "SR=0x%X\n", asic_file[SR]); return SCPE_OK; } - if (PC == offset) - { + case PC: *data = asic_file[PC]; sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X\n", asic_file[PC]); return SCPE_OK; - } - if (_IMR == offset) - { + case _IMR: *data = imr.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IMR", imr_bits, imr.pr, *data, 1); return SCPE_OK; - } - if (_SPR == offset) - { + case _SPR: *data = (((spr.fields.rsp) << 8) & 0xFF00) | (((spr.fields.psp) + 1) & 0x00FF); sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SPR", spr_bits, spr.pr, *data, 1); return SCPE_OK; - } - if (_SUR == offset) - { + case _SUR: *data = sur.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SUR", sur_bits, sur.pr, *data, 1); return SCPE_OK; - } - if (_IVR == offset) + case _IVR: { IMR _imr; IVR _ivr; @@ -164,114 +251,73 @@ t_stat gfetch(t_addr offset, t_value *data) return SCPE_OK; } - // SVR is write-only + // SVR is write-only - if (_IPR == offset) - { + case _IPR: *data = ipr.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IPR", ipr_bits, ipr.pr, *data, 1); return SCPE_OK; - } - if (_DPR == offset) - { + case _DPR: *data = dpr.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "DPR", pr_bits, dpr.pr, *data, 1); return SCPE_OK; - } - if (_UPR == offset) - { + case _UPR: *data = upr.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "UPR", pr_bits, upr.pr, *data, 1); return SCPE_OK; - } - if (_CPR == offset) - { + case _CPR: *data = cpr.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CPR", pr_bits, cpr.pr, *data, 1); return SCPE_OK; - } - if (_IBC == offset) - { + case _IBC: *data = ibc.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IBC", ibc_bits, ibc.pr, *data, 1); return SCPE_OK; - } - if (_UBR == offset) - { + case _UBR: ubr.fields.page = ipr.fields.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "IPR", ipr_bits, ipr.pr, ipr.pr, 1); *data = ubr.pr; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "UBR", ubr_bits, ubr.pr, ubr.pr, 1); return SCPE_OK; - } - if (TC0 == offset) - { + case TC0: *data = asic_file[TC0]; sim_debug(DBG_ASB_R, &cpu_dev, "TC0=0x%X\n", *data); return SCPE_OK; - } - if (TC1 == offset) - { + case TC1: *data = asic_file[TC1]; sim_debug(DBG_ASB_R, &cpu_dev, "TC1=0x%X\n", *data); return SCPE_OK; - } - if (TC2 == offset) - { + case TC2: *data = asic_file[TC2]; sim_debug(DBG_ASB_R, &cpu_dev, "TC2=0x%X\n", *data); return SCPE_OK; - } - if (RX == offset) - { + case RX: *data = asic_file[RX]; sim_debug(DBG_ASB_R, &cpu_dev, "RX=0x%X\n", *data); return SCPE_OK; - } - if (RH == offset) - { + case RH: *data = asic_file[RH]; sim_debug(DBG_ASB_R, &cpu_dev, "RH=0x%X\n", *data); return SCPE_OK; - } - if (offset == 0x19) - { - // if (hostmode) /* invoke fsm for serving host mode */ - // { - // return (host_read()); - // } - *data = getchar() & D16_MASK; - /* printf("\n(%d) = '%c'", temp, temp); */ - return SCPE_OK; - } - - if (offset == 0x1A) - { - RTX_WORD c = 0; - t_stat status; - if ((status = poll_kbd(&c)) != SCPE_OK) /* no char or error? */ - return status; - *data = c; - return SCPE_OK; - } - - if (offset >= 0x18 && offset <= 0x1F) - { - *data = gdata[offset]; - sim_debug(DBG_ASB_R, &cpu_dev, "GA=0x%X GD=0x%X\n", offset, *data); - return SCPE_OK; + default: + if (offset >= 0x18 && offset <= 0x1F) + { + *data = gdata[offset]; + sim_debug(DBG_ASB_R, &cpu_dev, "GA=0x%X GD=0x%X\n", offset, *data); + return SCPE_OK; + } } return SCPE_NXM; @@ -281,8 +327,9 @@ t_stat gstore(t_addr offset, t_value data) { /* implementation note: gstore is always invoked after TEST_EXIT */ - if (I == offset) + switch (offset) { + case I: if (EXIT) { // Performs a Subroutine Return, then pushes the contents of TOP into I @@ -296,16 +343,12 @@ t_stat gstore(t_addr offset, t_value data) sim_debug(DBG_ASB_W, &cpu_dev, "I=0x%X\n", asic_file[I]); } return SCPE_OK; - } - if (I_ASIC == offset) - { + case I_ASIC: rs_push(cpr.pr, data); return SCPE_OK; - } - if (I_ALU == offset) - { + case I_ALU: rs_push(cpr.pr, data); STREAM = TRUE; /* @TODO: Replace with instruction test during stream instruction execution @@ -320,9 +363,8 @@ t_stat gstore(t_addr offset, t_value data) S'' A558 */ return SCPE_OK; - } - if (_CR == offset) + case _CR: { CR ocr; ocr.pr = cr.pr; @@ -333,29 +375,22 @@ t_stat gstore(t_addr offset, t_value data) } // Pop the Paramter Stack item into the MD Register, replacing its previous contents - if (MD == offset) - { + case MD: asic_file[MD] = data & 0xFFFF; sim_debug(DBG_ASB_W, &cpu_dev, "MD=0x%X\n", asic_file[MD]); return SCPE_OK; - } - if (SQ == offset) - { + case SQ: asic_file[MD] = data << 8; sim_debug(DBG_ASB_W, &cpu_dev, "SQ=0x%X\n", asic_file[MD]); return SCPE_OK; - } - if (SR == offset) - { + case SR: asic_file[SR] = data; sim_debug(DBG_ASB_W, &cpu_dev, "SR=0x%X\n", asic_file[SR]); return SCPE_OK; - } - if (PC == offset) - { + case PC: // push value onto RS, then perform exit if (EXIT) { @@ -370,9 +405,8 @@ t_stat gstore(t_addr offset, t_value data) sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); } return SCPE_OK; - } - if (_IMR == offset) + case _IMR: { IMR oimr; oimr.pr = imr.pr; @@ -382,7 +416,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_SPR == offset) + case _SPR: { SPR ospr; ospr.pr = spr.pr; @@ -393,7 +427,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_SUR == offset) + case _SUR: { SUR osur; osur.pr = sur.pr; @@ -403,7 +437,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_SVR == offset) + case _SVR: { SVR osvr; osvr.pr = svr.pr; @@ -415,7 +449,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_IPR == offset) + case _IPR: { IPR oipr; oipr.pr = ipr.pr; @@ -425,7 +459,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_DPR == offset) + case _DPR: { DPR odpr; odpr.pr = dpr.pr; @@ -435,7 +469,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_UPR == offset) + case _UPR: { UPR oupr; oupr.pr = upr.pr; @@ -445,7 +479,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_CPR == offset) + case _CPR: { CPR ocpr; ocpr.pr = cpr.pr; @@ -455,7 +489,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_IBC == offset) + case _IBC: { IBC oibcr; oibcr.pr = ibc.pr; @@ -465,7 +499,7 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (_UBR == offset) + case _UBR: { UBR oubr; oubr.pr = ubr.pr; @@ -475,51 +509,35 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_OK; } - if (0x12 == offset) - { - return SCPE_NXM; - } - - if (TP0 == offset) - { + case TP0: asic_file[TP0] = data & D16_MASK; sim_debug(DBG_ASB_W, &cpu_dev, "TP0=0x%X\n", asic_file[TP0]); return SCPE_OK; - } /* timer side effect? */ + /* timer side effect? */ - if (TP1 == offset) - { + case TP1: asic_file[TP1] = data & D16_MASK; sim_debug(DBG_ASB_W, &cpu_dev, "TP1=0x%X\n", asic_file[TP1]); return SCPE_OK; - } - if (TP2 == offset) - { + case TP2: asic_file[TP2] = data & D16_MASK; sim_debug(DBG_ASB_W, &cpu_dev, "TP2=0x%X\n", asic_file[TP2]); return SCPE_OK; - } - if (RX == offset) - { + case RX: asic_file[RX] = data & D16_MASK; sim_debug(DBG_ASB_W, &cpu_dev, "RX=0x%X\n", asic_file[RX]); return SCPE_OK; - } - if (RH == offset) - { + case RH: asic_file[RH] = data & D16_MASK; sim_debug(DBG_ASB_W, &cpu_dev, "RH=0x%X\n", asic_file[RH]); return SCPE_OK; - } - /* off-chip gstores */ - if (0x19 == offset) + case 0x19: // XMT { // if (hostmode) /* invoke fsm for serving host mode */ - // { // @TODO: SIMH virtual file write // host_write(data); // return; @@ -535,14 +553,16 @@ t_stat gstore(t_addr offset, t_value data) // hostmode = -1; // } // #endif - return SCPE_NXM; } - if (offset >= 0x18 && offset <= 0x1F) - { - gdata[offset] = data & D16_MASK; - sim_debug(DBG_ASB_W, &cpu_dev, "GA=0x%X GD=0x%X\n", offset, gdata[offset]); - return SCPE_OK; + default: + /* off-chip gstores */ + if (offset >= 0x18 && offset <= 0x1F) + { + gdata[offset] = data & D16_MASK; + sim_debug(DBG_ASB_W, &cpu_dev, "GA=0x%X GD=0x%X\n", offset, gdata[offset]); + return SCPE_OK; + } } return SCPE_NXM; diff --git a/RTX2001A/rtx2001a_cpu.c b/RTX2001A/rtx2001a_cpu.c index ffc132c4d..bee7f6e5c 100644 --- a/RTX2001A/rtx2001a_cpu.c +++ b/RTX2001A/rtx2001a_cpu.c @@ -102,7 +102,7 @@ RTX_WORD gdata[GDATA_SIZE] = {0}; ReturnStack rs[RS_MAX + 1] = {0}; jmp_buf save_env; // abort handler -jmp_buf bkpt_env; // breakpoint handler +jmp_buf trap_env; // trap/breakpoint handler t_value rtx2001a_pc_value(void) { @@ -168,7 +168,7 @@ t_stat sim_instr(void) ** See pg. 67, PgmrsRefMnl */ - reason = setjmp(bkpt_env); /* set break hdlr */ + reason = setjmp(trap_env); /* set break hdlr */ if (0 == reason) { if (!STREAM && second_cycle) @@ -250,7 +250,9 @@ t_stat cpu_ex(t_value *vptr, t_addr ea, UNIT *uptr, t_svalue sw) byte_fetch(ea, vptr); if (m) { - print_instruction(*vptr, cpr.pr, ea); + RTX_WORD temp = 0; + _long_fetch(cpr.fields.pr, ea, &temp); + print_instruction(temp, cpr.pr, ea); } return SCPE_OK; } @@ -322,8 +324,8 @@ t_stat cpu_reset(DEVICE *dptr) { // Consider 0x0707 See rtx2000_simulator/STATE.C:58 sur.pr = 0; - // psf: 1, ps: 1, rsf: 1, rs: 1 - PSF = RSF = PS = RS = 1; + // psf: 1, pss: 1, rsf: 1, rss: 1 + PSF = RSF = PSS = RSS = 1; } else if (0 == strcmp(rptr->name, "SVR")) { diff --git a/RTX2001A/rtx2001a_defs.h b/RTX2001A/rtx2001a_defs.h index df3af96bb..766e47c81 100644 --- a/RTX2001A/rtx2001a_defs.h +++ b/RTX2001A/rtx2001a_defs.h @@ -138,7 +138,7 @@ extern t_stat cpu_reset(DEVICE *); extern t_stat do_cmd_label(int32 flag, CONST char *fcptr, CONST char *label); extern t_stat cpu_boot(t_value unit_num, DEVICE *dptr); extern jmp_buf save_env; -extern jmp_buf bkpt_env; // breakpoint handler +extern jmp_buf trap_env; // breakpoint handler #define STOP_UNK 0 // Unknown Error #define STOP_HALT 1 // HALT @@ -147,5 +147,6 @@ extern jmp_buf bkpt_env; // breakpoint handler #define STOP_ILLASICADDR 4 // Illegal ASIC bus address #define ABORT(val) longjmp(save_env, (val)) +#define TRAP(val) longjmp(trap_env, (val)) #endif /* RTX2001A_DEFS_H_ */ diff --git a/RTX2001A/rtx2001a_execute.c b/RTX2001A/rtx2001a_execute.c index 44a6ebe79..e473e0e19 100644 --- a/RTX2001A/rtx2001a_execute.c +++ b/RTX2001A/rtx2001a_execute.c @@ -94,10 +94,10 @@ void do_exit() void do_call() { - sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + sim_debug(DBG_ASB_R, &cpu_dev, "PC=0x%04X\n", asic_file[PC]); rs_push(cpr.pr, asic_file[PC]); asic_file[PC] = (IR << 1) & D16_UMAX; - sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%X\n", asic_file[PC]); + sim_debug(DBG_ASB_W, &cpu_dev, "PC=0x%04X\n", asic_file[PC]); CLOCKS(1); } @@ -159,7 +159,7 @@ t_stat shift() CR ocr; ocr.pr = cr.pr; CY = (TOP & 0x8000) ? 1 : 0; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); TOP = (TOP << 1) & 0xFFFE; } break; @@ -174,7 +174,7 @@ t_stat shift() temp = temp | 1; } CY = (TOP & 0x8000) ? 1 : 0; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); TOP = temp; } break; @@ -189,7 +189,7 @@ t_stat shift() TOP = TOP | 0x8000; } CY = 0; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -204,7 +204,7 @@ t_stat shift() } CY = (TOP & 1) ? 1 : 0; TOP = temp; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -214,7 +214,7 @@ t_stat shift() ocr.pr = cr.pr; TOP = (TOP >> 1) & 0x7FFF; CY = 1; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -229,7 +229,7 @@ t_stat shift() } CY = (TOP & 0x8000) ? 1 : 0; TOP = temp; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -243,7 +243,7 @@ t_stat shift() { NEXT |= 1; } - sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CR", cr_bits, cr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "CR", cr_bits, cr.pr, cr.pr, 0); break; case 0x000A: // D2* @@ -274,7 +274,7 @@ t_stat shift() if (temp) TOP |= 1; CY = tempa; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -290,7 +290,7 @@ t_stat shift() if (temp) NEXT |= 0x8000; CY = 1; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -307,7 +307,7 @@ t_stat shift() if (temp) NEXT |= 0x8000; CY = tempa; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -321,7 +321,7 @@ t_stat shift() if (temp) NEXT |= 0x8000; CY = 1; - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; @@ -339,13 +339,15 @@ t_stat shift() { NEXT |= 0x8000; } - sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 1); + sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "CR", cr_bits, ocr.pr, cr.pr, 0); } break; default: return STOP_UNK; // Defensive, no test } + + sim_debug(DBG_ASB_W, &cpu_dev, " TOP=0x%X NEXT=0x%X\n", TOP, NEXT); return SCPE_OK; } @@ -367,6 +369,7 @@ void do_alu() TEST_EXIT; CLOCKS(1); + sim_debug(DBG_ASB_W, &cpu_dev, " TOP=0x%X NEXT=0x%X\n", TOP, NEXT); } void do_asic_stream_mac() @@ -646,6 +649,7 @@ void do_short_lit_swap_alu() } TEST_EXIT; CLOCKS(1); + sim_debug(DBG_ASB_W, &cpu_dev, " TOP=0x%X NEXT=0x%X\n", TOP, NEXT); } void do_store() @@ -777,7 +781,7 @@ void do_uslash_tick_tick() RTX_WORD divisor, quotient, remainder; dividend = ((t_uint64)TOP << 16) & 0xFFFF0000; dividend = dividend | (t_uint64)(NEXT & 0xFFFF); - divisor = MD; + divisor = asic_file[MD]; quotient = dividend / divisor; dividend = dividend - ((t_uint64)quotient * (t_uint64)divisor); remainder = dividend; @@ -992,6 +996,19 @@ t_stat execute(t_value instruction) return status; } +void dump_header(char *dest, t_value offset) +{ + t_value temp = 0; + t_value _sim_is_running = sim_is_running; + sim_is_running = 0; + byte_fetch(((IR << 1) & D16_MASK) - offset, &temp); + sim_is_running = _sim_is_running; + if (temp > 32 && temp < 128) + { + *dest = temp; + } +} + /** * print a disassembled instruction */ @@ -1045,17 +1062,18 @@ void print_instruction(t_value instruction, t_value page, t_addr address) break; case OP_CALL: - sim_debug(DBG_CPU, &cpu_dev, "CALL %d:0x%X\n", page, ((instruction << 1) & D16_MASK)); - // dump_header(9); - // dump_header(8); - // dump_header(7); - // dump_header(6); - // dump_header(5); - // dump_header(4); - // dump_header(3); - // dump_header(2); - // dump_header(1); - break; + { + char buffer[64]; + memset(buffer, '\0', sizeof(buffer)); + sprintf(buffer, "CALL %d:0x%X ", page, ((instruction << 1) & D16_MASK)); + t_value i = strlen(buffer); + for (int j = 9; j > 0; j--, i++) + { + dump_header(&buffer[i], j); + } + sim_debug(DBG_CPU, &cpu_dev, "%s\n", buffer); + } + break; case OP_DDUP_STORE: sim_debug(DBG_CPU, &cpu_dev, "%sDDUP %s!\n", PREFIX, MEM); @@ -1214,6 +1232,10 @@ void print_instruction(t_value instruction, t_value page, t_addr address) sim_debug(DBG_CPU, &cpu_dev, "NEXT %d:0x%X ", page, target_addr(instruction, address)); break; + case OP_NIP: + sim_debug(DBG_CPU, &cpu_dev, "NIP %s%s\n", INVERT, SHIFT); + break; + case OP_NIP_DUP_FETCH_SWAP: sim_debug(DBG_CPU, &cpu_dev, "%sNIP DUP %s@ SWAP\n", PREFIX, MEM); break; diff --git a/RTX2001A/rtx2001a_execute.h b/RTX2001A/rtx2001a_execute.h index aff05a7a6..0c033b942 100644 --- a/RTX2001A/rtx2001a_execute.h +++ b/RTX2001A/rtx2001a_execute.h @@ -113,13 +113,4 @@ extern t_value second_cycle; /* extract the bit that determines word vs. byte */ #define MEM (memory_names[(instruction >> 12) & 0x1]) -#define dump_header(n) \ - { \ - t_value temp = 0; \ - byte_fetch(((instruction << 1) & D16_MASK) - n, &temp); \ - if (temp > 32 && temp < 128) \ - { \ - sim_debug(DBG_CPU, &cpu_dev, "\t%c", temp); \ - } \ - } -#endif \ No newline at end of file +#endif diff --git a/RTX2001A/rtx2001a_mb.c b/RTX2001A/rtx2001a_mb.c index 0c869ee8b..352afe257 100644 --- a/RTX2001A/rtx2001a_mb.c +++ b/RTX2001A/rtx2001a_mb.c @@ -40,6 +40,11 @@ void _read(t_addr addr, t_value *value) if (sim_is_running) { sim_debug(DBG_MEB_R, &cpu_dev, "0x%X 0x%X\n", addr, *value); + if ((sim_brk_summ & DBG_MEB_R) && sim_brk_test(addr, DBG_MEB_R)) + { + sim_messagef(STOP_IBKPT, "%s", sim_brk_message()); + TRAP(STOP_IBKPT); + } } } @@ -82,16 +87,15 @@ void _long_store(t_addr seg, t_addr address, t_value data) // See rtx2000_simulator/STATE.C:234 void byte_fetch(t_addr address, t_value *value) { + t_value temp = 0; + dp_fetch(address, &temp); if ((address & 1) ^ BO) { - dp_fetch(address, value); - *value &= 0x00FF; + *value = (temp & D16_MASK) & 0x00FF; } else { - dp_fetch(address, value); - *value >>= 8; - *value &= 0x00FF; + *value = ((temp & D16_MASK) >> 8) & 0x00FF; } } diff --git a/RTX2001A/rtx2001a_psb.c b/RTX2001A/rtx2001a_psb.c index 97b8eca5e..a6f134ec9 100644 --- a/RTX2001A/rtx2001a_psb.c +++ b/RTX2001A/rtx2001a_psb.c @@ -44,7 +44,7 @@ void ps_pop() TOP = NEXT; NEXT = ps[(spr.fields.psp)]; sim_debug_bits_hdr(DBG_ASB_R, &cpu_dev, "SPR", spr_bits, spr.pr, spr.pr, 1); - sim_debug(DBG_PSB_R, &cpu_dev, "PSB=0x%X\n", ps[(spr.fields.psp)]); + sim_debug(DBG_PSB_R, &cpu_dev, "PS[%d]=0x%X\n", spr.fields.psp, ps[spr.fields.psp] & D16_MASK); (spr.fields.psp) = (--(spr.fields.psp)) & STACK_MASK; sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); @@ -64,5 +64,5 @@ void ps_push(t_value data) ps[(spr.fields.psp)] = NEXT; NEXT = TOP; TOP = data; - sim_debug(DBG_PSB_W, &cpu_dev, "PSB=0x%X NEXT=0x%X TOP=0x%X\n", ps[(spr.fields.psp)], NEXT, TOP); + sim_debug(DBG_PSB_W, &cpu_dev, "PS[%d]=0x%X\n", spr.fields.psp, ps[spr.fields.psp] & D16_MASK); } \ No newline at end of file diff --git a/RTX2001A/rtx2001a_registers.h b/RTX2001A/rtx2001a_registers.h index b8184e2ea..c1c6fb2c1 100644 --- a/RTX2001A/rtx2001a_registers.h +++ b/RTX2001A/rtx2001a_registers.h @@ -138,6 +138,8 @@ static enum { RH = 0x17, // Scratchpad register RSP = 0x21, // Return stack pointer PSP = 0x22, // Parameter stack pointer + RS = 0x23, // Parameter stack + PS = 0x24, // Return stack ASIC_MAX = 0x25, } ASIC_FILE; extern RTX_WORD asic_file[ASIC_MAX]; @@ -265,11 +267,11 @@ static BITFIELD spr_bits[] = { // Fig 7, pg 9 struct StackUnderflowRegisterFields { RTX_WORD psf : 1; // 0: Parameter Stack Start Flag - RTX_WORD ps : 1; // 1: Parameter Substacks, 0: two 32 word stacks, 1: one 64 word stack + RTX_WORD pss : 1; // 1: Parameter Substacks, 0: two 32 word stacks, 1: one 64 word stack RTX_WORD mbz0 : 1; // 2: Reserved RTX_WORD psu : 5; // 3-7: Parameter Stack Underflow Limit, 0 - 31 words from stack bottom RTX_WORD rsf : 1; // 8: Return Stack Start Flag - RTX_WORD rs : 1; // 9: Return Substacks, 0: two 32 word stacks, 1: one 64 word stack + RTX_WORD rss : 1; // 9: Return Substacks, 0: two 32 word stacks, 1: one 64 word stack RTX_WORD mbz1 : 1; // 10: Reserved RTX_WORD rsu : 5; // 11-15: Return Stack Underflow Limit, 0 - 31 words from stack bottom }; @@ -281,10 +283,10 @@ union StackUnderflowRegister } sur; typedef union StackUnderflowRegister SUR; #define PSF (sur.fields.psf) -#define PS (sur.fields.ps) +#define PSS (sur.fields.pss) #define PSU (sur.fields.psu) #define RSF (sur.fields.rsf) -#define RS (sur.fields.rs) +#define RSS (sur.fields.rss) #define RSU (sur.fields.rsu) static BITFIELD sur_bits[] = { // Fig 6.8, pg 93 @@ -508,6 +510,8 @@ static REG cpu_reg[] = { {HRDATAD(RH, asic_file[RH], 16, "Scratchpad register"), REG_DEPOSIT | (0x20 << REG_V_UF)}, {HRDATAD(RSP, spr.pr, 16, "Return Stack Pointer"), REG_DEPOSIT | (0x21 << REG_V_UF)}, {HRDATAD(PSP, spr.pr, 16, "Parameter Stack Pointer"), REG_DEPOSIT | (0x22 << REG_V_UF)}, + {HRDATAD(RS, rs, 16, "Return Stack"), REG_RO | (0x23 << REG_V_UF)}, + {HRDATAD(PS, ps, 16, "Parameter Stack"), REG_RO | (0x24 << REG_V_UF)}, {NULL}}; #endif \ No newline at end of file diff --git a/RTX2001A/rtx2001a_rsb.c b/RTX2001A/rtx2001a_rsb.c index c6fdd9bb1..94de5ad76 100644 --- a/RTX2001A/rtx2001a_rsb.c +++ b/RTX2001A/rtx2001a_rsb.c @@ -39,9 +39,7 @@ */ void rs_push(t_addr page, t_value data) { - ReturnStack ors; SPR ospr; - ors.pr = rs[(spr.fields.rsp)].pr; ospr.pr = spr.pr; (spr.fields.rsp) = (++(spr.fields.rsp)) & STACK_MASK; @@ -49,11 +47,12 @@ void rs_push(t_addr page, t_value data) rs[(spr.fields.rsp)].fields.ipr = ipr.fields.pr; rs[(spr.fields.rsp)].fields.i = asic_file[I]; - // sim_debug_bits_hdr(DBG_RSB_W, &cpu_dev, "RSB", rs_bits, ors.pr, rs[(spr.fields.rsp)].pr, 1); + + sim_debug(DBG_RSB_W, &cpu_dev, "RS[%d]=%d:0x%04X\n", spr.fields.rsp, ipr.fields.pr, asic_file[I]); asic_file[I] = data; + sim_debug(DBG_ASB_W, &cpu_dev, "I=0x%04X\n", asic_file[I]); set_IPR(page); - sim_debug(DBG_ASB_W, &cpu_dev, "rs[%d]=%d:0x%X (%d:0x%X)\n", spr.fields.rsp, ipr.fields.pr, asic_file[I], rs[(spr.fields.rsp)].fields.ipr, rs[(spr.fields.rsp)].fields.i); // IDK why this is here. See STATE.C:145 // if (DPRSEL) // { @@ -72,12 +71,11 @@ void rs_pop() orsp.pr = rs[(spr.fields.rsp)].pr; ospr.pr = spr.pr; - sim_debug_bits_hdr(DBG_RSB_R, &cpu_dev, "RSB", rs_bits, orsp.pr, rs[(spr.fields.rsp)].pr, 1); - /* don't use set_IPR; bit 4 comes from RS */ - ipr.fields.pr = rs[(spr.fields.rsp)].fields.ipr & 0x1F; - asic_file[I] = rs[(spr.fields.rsp)].fields.i & D16_MASK; - sim_debug(DBG_ASB_W, &cpu_dev, "I=0x%X IPR=%d\n", asic_file[I], ipr.fields.pr); + sim_debug(DBG_RSB_R, &cpu_dev, "RS[%d]=%d:0x%04X\n", spr.fields.rsp, rs[spr.fields.rsp].fields.ipr, rs[spr.fields.rsp].fields.i); + ipr.fields.pr = rs[(spr.fields.rsp)].fields.ipr; + asic_file[I] = rs[(spr.fields.rsp)].fields.i; + sim_debug(DBG_ASB_W, &cpu_dev, "IPR=%d I=0x%04X\n", ipr.fields.pr, asic_file[I]); (spr.fields.rsp) = (--(spr.fields.rsp)) & STACK_MASK; sim_debug_bits_hdr(DBG_ASB_W, &cpu_dev, "SPR", spr_bits, ospr.pr, spr.pr, 1); diff --git a/RTX2001A/rtx2001a_rsb.h b/RTX2001A/rtx2001a_rsb.h index 1a8b3d692..f652e8644 100644 --- a/RTX2001A/rtx2001a_rsb.h +++ b/RTX2001A/rtx2001a_rsb.h @@ -41,7 +41,7 @@ struct ReturnStackFields { RTX_WORD ipr : 6; // 0-5: Current value of IPR - RTX_WORD i : 15; // 6-21: Current value of I + RTX_WORD i : 16; // 6-21: Current value of I }; union Return_Stack @@ -54,7 +54,7 @@ typedef union Return_Stack ReturnStack; static BITFIELD rs_bits[] = { // Fig 11, pg 10 BITF(IPR, 6), // 0-5: Current value of IPR - BITF(I, 15), // 6-21: Current value of I + BITF(I, 16), // 6-21: Current value of I ENDBITS}; #define RS_MAX 0x40 diff --git a/RTX2001A/rtx2001a_sys.c b/RTX2001A/rtx2001a_sys.c index a31d24dbf..b97d62216 100644 --- a/RTX2001A/rtx2001a_sys.c +++ b/RTX2001A/rtx2001a_sys.c @@ -65,50 +65,6 @@ t_bool build_dev_tab(void) t_stat fprint_sym(FILE *of, t_addr addr, t_value *val, UNIT *uptr, int32 sw) { t_value cell = (addr & REG_UFMASK) >> 16; - // if (_RS == cell) - // { - - // RTX_WORD _rsp = spr.fields.rsp; - // if (0 == _rsp) - // { - // fprintf(of, "empty\n"); - // return SCPE_OK; - // } - // do - // { - // fprintf(of, " rs[%d]>> %d:0x%X\n", _rsp, rs[_rsp].fields.ipr, rs[_rsp].fields.i); - // _rsp -= 1; - // } while (_rsp > 0); - /* - void display_rs() -{ double_stack *ptr; -ptr = &return_stack[rp]; -printf(" rs>> "); -if (rp == 0 ) - { printf("empty "); return; } - -printf("%01X%04X ",IPR, INDEX); - -while (ptr != &return_stack[1] ) - { printf("%01X:%04X",(*ptr).high, (*ptr).low); - ptr-- ; - } -} - - void display_short_rs() -{ if (rp == 0 ) - { printf("rs(0)>> empty "); return; } - -printf(" rs(%d)>> ", rp-1); - -printf("%01X%04X ",IPR, INDEX); -if (rp != MAX_STACK ) printf(" ..."); -} - - -*/ - // return SCPE_OK; - // } if (sw & SIM_SW_REG) { @@ -140,10 +96,58 @@ if (rp != MAX_STACK ) printf(" ..."); case RSP: value = spr.fields.rsp; break; + + case RS: + { + fprintf(of, "RSP=%d ", spr.fields.rsp); + if (0 == spr.fields.rsp) + { + fprintf(of, "empty "); + return SCPE_OK; + } + + fprintf(of, "%d:0x%04X ", ipr.fields.pr, asic_file[I]); + + ReturnStack *ptr = &rs[spr.fields.rsp]; + while (ptr != &rs[1]) + { + fprintf(of, "%d:0x%04X ", ptr->fields.ipr, ptr->fields.i); + ptr--; + } + return SCPE_OK; + break; + } + + case PS: + { + fprintf(of, "PSP=%d ", spr.fields.psp); + if (0 == spr.fields.psp) + { + fprintf(of, "empty "); + return SCPE_OK; + } + + fprintf(of, "0x%X ", TOP); + if (1 == spr.fields.psp) + return SCPE_OK; + + fprintf(of, "0x%X ", NEXT); + + RTX_WORD *ptr = &ps[spr.fields.psp]; + while (ptr != &ps[2]) + { + printf("0x%X ", *ptr & D16_MASK); + ptr--; + } + + return SCPE_OK; + } + case PSP: value = spr.fields.psp; break; } + fprintf(of, sim_is_running ? "0x%X\n" : "0x%X", value); if (bits) { diff --git a/RTX2001A/simh.ini b/RTX2001A/simh.ini index 6b67e191a..eda9f1eb6 100644 --- a/RTX2001A/simh.ini +++ b/RTX2001A/simh.ini @@ -15,6 +15,7 @@ if exist "rom.ini" do "rom.ini" # dep ir 0x175D dep pc 2 +step # # verify boot state # From 31d1d323f7494c110afef755ea0a3b5f0b3417a4 Mon Sep 17 00:00:00 2001 From: jchimene Date: Sat, 28 Jan 2023 14:29:42 -0700 Subject: [PATCH 5/7] "For the snark was a Boojum, you see." Poll keyboard; Implement host_write for BYE; Implement sim_load(); Change to rtx2001a.ini from simh.ini --- RTX2001A/rtx2001a.doc | Bin 0 -> 50176 bytes RTX2001A/rtx2001a.ini | 23 ++++++ RTX2001A/rtx2001a_ab.c | 82 +++++++++----------- RTX2001A/rtx2001a_ab.h | 2 + RTX2001A/rtx2001a_cpu.c | 3 + RTX2001A/rtx2001a_sys.c | 160 ++++++++++++++++++++++++++++++++++++++-- 6 files changed, 217 insertions(+), 53 deletions(-) create mode 100644 RTX2001A/rtx2001a.doc create mode 100644 RTX2001A/rtx2001a.ini diff --git a/RTX2001A/rtx2001a.doc b/RTX2001A/rtx2001a.doc new file mode 100644 index 0000000000000000000000000000000000000000..92dc0b3a7374659e0448ccff84aa9c93477dc031 GIT binary patch literal 50176 zcmeI52S60p_W$oLMNn2iieeoJmKZt;mKf=Rv~>Zo1zeVeT?KaCT@+0b6=O{-i6+Jr zebH!|HOAO$EHTBJXzWIl7&Vp{OEmKTo|&CxcL8JKd%ySI|1tX6nYnZCnS0MYx6Ykm z-`Ad}7p!Q0hS_aTF$Z?P%9S}=xl3^Tw0Q2pSRRha?S55N6*&(EIIQ3Pi!^X)(N^Zk zTpby^-DERmB9kCzvAHnzPJ6~0v;3j?L&pV=3+7#Ieq0@WS?6@dPRD{0Pu3?PrkTTY~ zC1an%{U_{ct82f#6=O?reK=Cz8T&=pQ;Wf<0{yvk!p3FC!TH1OdlKGByI| zOA+3O1lVn&9=6t@b&3~l;$HM8?n$ooCdw1{VtPeCbbbsc+Y!ze`=>eKiv6DCJEK~# zmt%iU`mx?bIo56ub1bH(E_o#PB?$6{1#2Eg;6wV^0(sV(Xm1`{FQ&{6J4zKJzlrX< z+A!7~F3%#Ihxr=qOwa?_?NRJWC1iiJO@lwOr#r9%+9VufbW1wNA+x_foc`8Ea^ewN z@jjvuF~1xUDLouTJ&SuWzr=HKFNUvcFZ#3Ji}on)>k2Qrhj4;E#PhoL_V*FbMLmn> zb?rsDVm{jM|LnTG|9{rGm|u0pyDoPzzJGOJmprPQ`@6w*o5Q|gM^3B>eyK&N-~RJ8 zpvdYU9vT`J!)0nq%8HdHoq@|XDvQ*z@Ge1pl%+x8q2UoSSzLyEfFikfQWlq-cT%4{% zUuIGpco%hvF_23xRRzoBYD0_}Sl&qNRk;r}>)mjX33r7aaSY`(;e)S5K9G81P|8%+kSiu4)?Ppaaw0*Zuqxma7G z6|~L==QEGbt}-K%K=~QSmFNnzg|t`m=`v?WAXlI@wt?(?Xey91QYNX?r4$Sa34s9_ z)y0&9dNKe$wJ-p4^n_f8hM*lpz^o+x#v?Vl65FIeNrh#GQo#fera%X!@pl}mR+&WG zvbMs~0xc!j*qygeWxj5NnooOGwWO=5Sv)atZx##$_hOq^9yWi^)a;6q#IX z0-_NUo0=eqMH1ptW0KPXx%im0nBEi>1($)?DR^(@nB*iS@JV^(GWZWI8G)ZK+@dyu}D+g2IQ=SgI_kwr^z_N}U0Pnl~VL zBO^jl5)7zd1nMcRk;)&6hYq0)Beg~~S+L%qE76&72#H2zF$xi107Y*cm2reK3gsLn zLM%y^lB_pq;ajX0g@|ZJ^A#$pCUcoG$1hkW^MYpMxWPKkKP)KRpBt>_{PAzFh8sMZ z8(hYDdvQqvXrCjF2MV3NQWNUc<83=Yj^v zNM?7GxddL8pa?-Jd~IgVI3s%OsCShG1*qYTd`&EP3g&WjhJsoyAgj^MS95A88);HQ zWy(^S4E>&j?py}%W~C1k#S`7jV(R`DX#}H2QmBJX?eQom(2^(W0{pEc#w=220rNSk_%Oo4UpPU|~J^IP%L8_pioF0?{`pL1$$IPUR95PR; zWnunCjc#PMR9Fid%3|dxqYwk?EujiSKMi9u7{9r)qYURQK&*Hmh~v^xtzuqbw3?Hb z8T2}%8g4=M8{AML$PmIJ@nf%fsx8$*MM@GA`e)VU(}<#hcB0yIG706yK7nC;fx4Vi zn5#udiW7_z_k02czqC+WR3`MFtUaa0S4&7MD>iBM#iK&vwIj5coUoFWX(cOjcp23= z3LUB(D=(%Cmb<<=^%tV#TsRL}~Bi_nKJat{| zJ!D&X$VOdM!$X{v2dc7bcu0=rm2IcQSfx=Nf}A!Pbj8*Y$`)!F-Zy_g^2o&q&6Ksr zthi8f7Q$k+m=m$IwxKrOu9!F zc#&Iqk=yl#t9@ar!5k|HwGzY&sJ>(;fa;+qI4)j|`bUet7{-CAm3TpAi#<}{M!j&2kt6)~`a!@8+v1YWLb%^%U40t0Pt%i+Tp0n2vt(& zmZlH*p@6v$Ec9a0%4)b`ZN35X)ihH>6+b^MWYl3Ifkq`Gv<6cdW&-(HTFfG=OT>Xn zFc-tmeu|Umf#~WZ^Uy}|fs;crM4y;=K&R5!LzpC}DG9boollxlLYLnv--9`sEC#mA zPbi5^F$o^2D=RLbt}`{!e79R?(4yB0Llqiq#7r1Gh*?geVlnzG!nnN@R+$Au%tsrB zk-bt+vm+Sq@J$R1o*EkStTV45bt$xhD>%rdD%!EMuxQ5nUbFHCgXU@qA->o189i$SM9R*UIs8Z7BGqhvC^ zN#sjzl1_&{Zz0B5umH6|rP1oU^W(8}Ox*T2YapQ%{U5c>jF!K~WYQbEhlCUq2O}jW zO)wJHy=&*r5g|hhm4=WJy5fkCQeAk65;K6RVs%8;BK78@ zwL-*8xj0Q3CJ)kdI)fT&Nr$b{1Q*#fjVs|(uSB{ih?1rl3(JZrLk+qD^UMujG18sk+pbjzG5R4A5L6Zw_ibKNX3QSptSeqqu(PoT^7PvYzC#sKlTg8C-W{Q$3|1otRV8J?>VmS6=ZEQZdUVu7cvA~8-y%=A zMfDww7WsmBJ8k__<@$&z#WO_e&}C}WYE$h+%SY^hp%=8B~;g&D8%SL>Zy9=Ff)cG2F4{! z&xKacfj(Ly@O&1}f$+#B`0u5{COk@uT!TIp>X8(|Tu~v3r2$p9c?!Brk6KIUPf@pr zZ%V4Kid7rZ`k((0{l7VeSm)Oa_<;b>4zvf6APRH^FM^lAaUgNUsx}Y++JWBSGVL2O zb_84oy&Ex>11^K!SQ&B|G(k4@2A9DVa1~qw*TJvg7I1Hjl~KSGGyz^91cZVxaQ)o% z>qox)a{KnR+iTg@uJ{Psir1%&pH@N{(n;zv)?p|eIlD-FG_wM)GGEQsh_b>x3lPNG`>>PgEXZW;f^XprewqkJ8GW2sUyutJ+&1)! zVm59*f?F4tvDVJMf@@r#j_~aW364yOW7gbPv$wH?3GNPXcYtIE%Qcc-+qF)#&Xe+9 z%y%)*DZeRyDNiXcDgVSg%ST>(0zL)nz#i~9@WS%WTcmJttNY|<(F^U*Tb~@UKG|n| zviIRmHd%XHYkjh+&Xc9qS3a~pvAMF?`ijkocmb=PiV8^C{K9BQsd(n(&15^Bn52Ct zDdSzq5Sg1NbFZA@P`bHJWE1zp+>0Vs<*}6N-TR&eT14qtk^}SPZWHcxL~uT|$$vdHeRw+gH=JWc%uQ^X9Fd zH*?}>Y^z7Zi9eV)v6+u1uvZ7P2K1ZJ#~HPyGipn`>VSHKyrFy{eJ=qA0lg6r3W~u3Z~*vtG8PYpgZIH1(6$NM3NRI{ z2UON9+e4mQvjo6_O_(#*SH849*A^A(0t%_$ewNW2P3qS~7nx z{;s^i`BM3zd|nOKfKS0zunp`22LRc?S@1nL2QGk1;4-)YZUKr0*@+kM20oxUcnq`$ zA%JWs2E>9mpa6rxFhI8T9C#j#0WX1BS|z&qR&ub58- zf9p=+;&S2G91XThyH#iJ_0vEtVa1Z@=N(3M@M%@P(3f}f;ag*&R%We*J#`wW?v?j(vGn?>=Rh?-UnIrR0&-NS z!ENn@{QT9tu3;IFZQr^@lU_wViaHc^C+g`2bRY z0h!`ht<59IOF1!7bo{y3G?%9hU+I zfScBedgPO9*3vFnpFFbYzazjVI@Ck6Y&OztyxGLs=E_5cvE0L@ja3~`TiwB%k4@dd z`)W@1PkG!Q{8>H^LB5UvVt!A+@oMl1puGPStOpywZ$PvKcjUcj4{dPV79<1FHu~e3 z>|-D(1>?Yn;3&8WTKJ*Q2-IL4mMe^!-nSntFJD6w*JC}6}a@#q6O6+Y91j2#Io5~EY-ri9=Y??Gg@8R z+muGQQHF@4F}_qjpthi_vI!5_eD+!7*!C9csAJ&UUQ(}z)w`(k+I0OOJ(G@ifQz6> zOU8PFTNbm$LH)_UR0r0o#xdsqoB|}yH2=pNXUp31Cl7fv4lDuN!5MHCw89(Z13(2B z3&w#D!DnD6*ah~0&%xK=BsdMufb-x-a2wnKcfmct&?-uSH}C;XK{L=2v<6`y9CQX< zKsV3>WB@r(fJ~4B1^@#vf-*1yj0VqwIp9?=7rYMM0`tKJun}wqTfh#m6MPTOf%BjN z-rPn7%YGHNE8=$X8-#k{(5!k-l6( zGvEgvxtL$C)){6W|65Kj*BQ~DtgqOd*mNFju2=`LJ?5V&OnolPdZfUQ8OWT3(F5ND zurL39Vm>vs%Bv6@hl9RA0s4bMpa={DdhiT*7EA%tz>8oem<8Sd?|_A13D^iWfz4nG zI0jCFGvF+^0$e%tZb2j91AIYK&;kU5NYDqQ13AbBgMkvf2wnoy!3^*Q*a$X(Enp8g z0?vV7z!h*6{0i=YKfrwu(H8X#=mH`^G>8Esz(`OIMuDYZ8CVWhgG1mjxcAW8?c4Y0 zKYlFR4cabWIDt}!KM27BDrB+7iFK0 z$XD;td*O?IsU{HjyqVzKP_UONsBDV)BI;k%y{J=BU!tB!N0j!*{V@gr9Uep73kHI? z0L-(29Pm513vN;}#I5cVn-1_pc8&kJ(oTtyr2T=vaZ-15>b_!gQyXuV2)NOhe?Fe) zh2ojtd^{%%#WO!X8~H2y@H9{u{|mFiLOnnuf4dsN#d_|5zt)WG_9!?3u7YdeS8xwB zM&7yuAJ7qq`JIU4-XIAigG`VGO2B%s0c-@Dz_*|s?4ms&JLw3X0O8;%kPLD_e<0e> z3pkz#CV|P|W$+5P0DcA+!6gs_+lmFE&Go}E*j80( zdZ7pDWHmSoZi72OEVmBr&~yMN;0!!~CrAV7AOpz3H1HyL3Csd>!N*`V_ynv0o4{tU z8|(p}gT3G|_y&04TT|Y^2l#?akOi_qKcEJMpa?7g{{ZxTs$0MO^26D)$Ic!+OTT9i zetz)m&TaUI6B|cd#?FpsXusZ#y)8PXtx}FF`PF8Za9CG$km7a&(gqih)(&!xNh6ldjfA8iI|IU=t z&0C;{@~CQOwdJ`3grByvh4NW8HsRmj*KgOEiWuR5EM-+%fLe(b|&F#b*gZUpUvB^EVudz)~-^6LSdP zfFHn3;OvO!0iZpI1c{&@CxUSG$e{dVPK%dP( zKkz)50p^3{U<;rb;tFsYTm|@3GRy;TAQVJ{`fLApda11*;c$E5g#=-_VqTKOu_VbA zZ$!H~8i5JG3ya39M%SvO*t_BF8ewy0>HJh2P0SU;iL$sEUN3IONQ&@6q_vb>CXJTB zS1xmF>BVRn@(kvRDLgg87hnpnloc_KpAdG3FJXO}*TRl0y1j(8WwD(gx;Y~2V15UN z-fX7#F2xt%SU(sT$?pgGZ5gd=t4%)5e7eJ@wR|b_Bl-5S^_n(ODy%PIj(ofaLvCwE z3#)6B+nJZ^Xd~BwwV|clcB0L1j0&&qA(XhqvzQ^*s}^9w(hYA})8@f^ai+#pr4o~& z#hAL}m>kCjP{jZ0F{#P1MC3y$uF|G}CV#D3g}o>x)Y%P_qDqzz32OMZ&9#=SDOIqY zzj0=gh7QHTffHPm4AhRPI#@(peiaj&OEY!IHFNb5P{NyX$Tgvdr30o=~I7EWA zS*gs;#e>ghtm#3#ixCIPWe%}XvvNMZQshNTWUM!oFEwW@EQHTkZ)Qqr=%!%zL#|gz zBuEeZ@^33(Uz;?J#X%dS9s0{V50W{J-Pc{i-=~ zksJaX8e?Gvy43agmhnwMwC~*bsl!$i4EkBp0~xxhAHnJ63*A z!ftWM1@>W^@hPu8&XIiBW(d37F&Ef}^?Sg5qxi6X2s_`2R`A$|ZT^6;SjvU;Hb>YQ z&bh!oY>Nkk?Z$^~fv^<~a)E8wNS2LyXR9QVxtZ-R)S2q#QB03=YCyTAQacPX+}Kl{ zB&f~w8Yk6OSltN8^{V}3b*L3+Sy`xa6P69X281)BG!^47SJ8tUj-_EwHI$aGspv09 z;hjdkW=QT}HvIF35M6cV)Cuh5D4Ex*&Pe3Am!r9^t!c@fAZkq}=oW(|? zHj;!RbsVFG@07Y&#G?Qyw62SsQCm|9LuH6M=O0WW?TlEoF^6efOBm}|U|k|#Q+Z1J zAe4i-{izxE2%EV3*3sxBq7}Pd)mEA)=oU+LLY+PNdcGK1)v=MhULTxCvoj1#p5ox> zjnM^FO>NnQlkS_VaMTh_wHNk-=tG$JpimzFb?2vp%S(zsoVhoBd#Fdkt)zS7&j`)hA3 z?z8NA>=OYOTl9W<(W$76qaXE~JhpkWCzXrbU%Rnx(}s>w6DyJ@zphyH%n$ma)RjG7 znqg=&W8s0{yGr+V8PUGtkBY`$mi0Z}?Be8^UBBNG_w9LyPnNgp-}9IAcU}uPJLBVZ zy&}^;>=WlQe$|#)hb}F-leot>Hu&?k9exX5_{8J|Uk=!ob;ob{Pr2$Y`@1YT$z5+W zt;zP~Zj)xe%RdOt;v^;eKVkV!-tGtK&*6Sy)gI|mpGzJ=} zszTSoMqi7*S^VP`=qXZy6{*@=9G>@Wo7dj*I~|#N@Hbz@w^2iuPG7R8YSs48FW$=7I%Zkm`2@$(s8>?8 z=kgaU3Hd&A#V)cs;h~W#a z2C@*hFVY%r=RBg%Jhx!vjH6Mi^&J!PSMFW9{w9liqj}7(`3K%U_U-xa$47m2%KPxV z6xo2lHyX&MsJ{%JwC3uwfs0!#`7WvDXMx3McKQ5pp}g6ik6-jUmAu>7_qoRo&zSJh z>J!{ItDiXB_DbN1+_eEidrs}0^V7jwkDpDr_(c1L(yp~fep~mKemjlv-72hMrLnqI zw1p&uQM4}&NYS;3^4Qe$r!oC6ZCp`s(X+)&hl@T@*BZ^7<=?wc%H;!RgPR7Zd#~~D z_M2jU^uQbY*v8-F-m-m6Hu}Q!u+#I?#>7t?tbO&BCAY_VyEGhBv0%|AzvthW`{vv? zHyUqgQ#X2j;iOF79&)PFo!03u;IFhCx!UHp^>3fJ*|TlmCfw&uj$d8e|Mti=z5Y1Y z_`6x2FRf^Bee#i5S+7~)Ck77kitC?v);DFibn}bNrq8TQX}#2`<(uP9zP9wESNp79 z-E8KLTTQ&jf46=AB)1jc=5+ew^4jZ-C+v-HxH@#$-i@A9Dl6MGe?GbD&ah)6zuEUq>ZH$oR=zMer|Qddh0?9%PhZ)yJ!X@3 zk>aC6BMg5uk3Jv1H1o=#?yCpC?L7aCNBZl-SCoD8?V#Cy-!OGvt98eIyP0@&TZ`YL z=5)Q1b$HjdVe)r3udKW>V$hI;M$2OSHm$2%78y0KWYA`3_3iJPY|8ykoAdLW=Venm zChtu7NwNBq{ja|rIdNLE6J^_?KA2tl+;i`4h>q!eZvUcBnyrXmI%RdURuLziDx`{l zP|uW< zDbqW=@W#TGXHGTvXp^Mdm|uUmboAn?qRnsj9P|9mOWz(nIdFEnHB)Epd*zv12cxPs z+&ggh?wU5IHr|drHrg{J_1>|(O{4GbdizSIdxzlE;rCB`ux44_n`5ee%j>mSuQ_!_ zGi2M{fSucVY*~CV&Ud?{)xB#Kd1?P>(>A})rGN#|u8Q?tZ;UJ`Sm6HdB>x6WCztei z>W3La2XA@iWz|%D$XT!Cmd)G5uW&kEG%eC^|!oJ|iTSGFN##~*ap7+PD+?V@)``)qJI}*2T9J^%vvu!f>PP?@){vSsc zt(=}ewE45{dv+(Rj5;6Z^{r=l{AcXR5e+h4sEy6Wtjs6~%eKK)+d#9jTSoH(WUSJ5H3Enr+>vxY)PyL+QIqC-lf& zeEj+;^)F$chD;A?{_3Y8G0u4doSUqF{MX!LH#}EIc9gz5eg0nkqCp-jj^|BUa`yet z+NZCb`P@O@(u!Yp4;`I9Yw!_C(2b`KS1r9Yw(B%mw z#~1B?uU|;q_wR2y88~?8{>*px-Hp-sbpCnGsa#yG~QZZ}`-(Id8}v2F8h^IlzW?x<|cn_tW_v^|y-KX+@{fjui@QUiWy-ER2y zoLyg^i1vCjuJfAf-2*D8&pF-l=Ncf{Nx{hOZ~yZ_#4&Dh~xdPFok6uRd_kH)dtL(<+Ec)0Vj=6(}rXWz%3}P(R6q3&K+!Qc>@`E<4t-vJW8ajlI~7a2zB9ewIsbRwjoH0^ zU(&6z=jLCVCwca>fQ|Vc&m3lcbL6jAt@@*D^T|aaZG4};-#5m1bb?dIf9(9?^kehh zPj&o!(7JUy=#>c}=@MxW2BUR#bK%WutEJN`Pq7tX-|wpq9SVI~^#bh!+V`WX1NxzZ zS)*fOrG9%!_MMt)N#E2aiSOdr%dj_sY8gMf+Q#MqCLvF8qK6aw6QQS(`tvkeV^8)% zmx{xm2%x`)*wa5OIMg41nML@cPd)v!vl4^4`qLkXC@oMHQY?8r)}})v2bcA3Ms&ceeuQllHw5j z0j@}V4_I63&*c||_4F?`h52))avT*5!%==wIJw~ul;MwRksFTa&$g7B;KO_%y5PFt zV(}9py5R4T370yHE}cb}E}}~p(IrxJiS*|*_#sLoDNfKY&+;1^oO9T>82fec^?^@<4BT)7zf(#uu&nCwXw@pSs{ytQEi|j27|L zCV|4Uz{lVd&>0ad2TMV3M06u)hZ{`<^fq`5 z;*tZFf!n|l5y$}30KG*_Zd?DMFqXP>Vc_8>D5`d;K5w3(x93T z2qBnKz8Z>icjkDtBk%5d)iP6#b8(ZhhI}~8ZlFjB{$sIkVs@9nofb@IvPM@aJ2&G7 z9&9h&hE?I$g*iH)@UmVGn1saM^C|_PqpB)s8}qYuue7fFS_B_12~!Iu^9t=qte@?| zqA(r*plh9L2^R(lw6eQvE!RRJu?v5Pb%^XmR3#BG3xY$|7bCmr&!*ExDMCg>)BGq> z7!6%T??#w=2(t|SiM9w+Vio2ygxL!&f$P8tLS&!_ue%Nd=fF?E2N_2nJG}`-{tn)N z%=zFB#`t#u=GK@Ca0QJ(E~dBgK`WHEwqP2V0iJ>d#R4VJg4JLx*aCI~`bffYFc)!L z045`CF9J$q1B|o(`5@8kI<#~bcp!z|;91!GWbiql&$tP9kHFonp^&{1=X5|tGuB)b zUo`920R~&mU-Rw6mUYeXZG%4sUFB~751$Q4>fJVe-i$l;SE}4S*v@o@w~%WOH?2!V zm%6US_YH`w>l#^>U|;-!<)osVX1^t*y`|9@~t-^{BB3jN*9FR?KlMc>hQ=+b9kw>3|O-DCdk<0 z>{(fk*F(2B55c}#1`NSUhJ%e9s!ysnLC&Wxo|Qk{%dPy>WeE1wa!^d{OqIojQ zCdgXe(6h2XWG!zv1p8`PC|b41a)TcyuMzIH#O4<0cAT}M`Z z8wp!;mBKWgVTl(Lh4}FXPwx|x!OzG0#3ZEp^AUD}bbLx{6GR_*bg$IIVn~o47DIwu z5gS+g*etFyHiD4oMuL#&Mvssr59B4q!~=QxNJ*m1BSDmTe>+Lby#yi4y&fS+6~2Oy z3g1UelH5-aB=`H%B-K}vHif&o0O3d|-1U{D&^S^J_3y1D>ut5(R>cDPpWdL?+iJb7 z{x{ev4N_=uCdQTaH0ZKEr-7FBIStsX&uQRieNMAoH8q2I}8 z>ADbtGKz+(G*mnSu$P9g0idF^DhwbPi)K}a5%;BI?h}5i^2+vH^rrn8Ax>+le*%*%n_;9VN%Sj zcZwwQ#2sjh;nPgvRgfku=M>7&EI&Va8o5iFd&uCE_EsRrPsVH>Cf~q2_IM%qZRT1KVoKM3n zfwB&!jufMP@6 zIndyWKZ@~imx^ZW>OQGQ2VuCsaPNwutNT|>q>zqm9)4$`tb1ZI-U)NokJ-m;?AUN~^CSj*1@#y4D4WHwnOn;EzLZZc>>jO@ zs$+|m(}hOYs@$0*0LLC3s5Yz`Qx{b2!#wzf`87qh#TEO_19QhTPbh5V*b(A3AH|{~ zH#EK;&{QW~p8?1SUjtOp zEd*p0%K@qN3qUG90;ml<2dFl^4X8==h7ihn4tp}2XzWSxso2xxFTHO>Q@aJ&Q&m-r zy$ALt?5TtFEcSGNGGr=CqD9&tQ>SjI8h_Xpe?wEvS&kkUhT@S5MRR?`9xPt1{?}x5DiTX?+uD#rhTcb3M(&B@MC%w^1?5BYE>D+(ThjXnzlS`k?&1A`#K+eWD z8)En`4=AvnV<6n*<~UHAXrp-LvC;e@*5FV8Ejf z;Y%bX=Ep)tYIiib7yu&Vmw%VgWu`P30tDP1%dSX=t&(S~SO zVm{FWoRN@OgehWr_)&%jBI0MIRfrpXb3pj=0DW4T9?gXy*7Ol*iXVM9Mf{X>JmMV$ zTS~^GyxusWqI8h~-fJ8!`qQ zjX9T@S;a`he80r04InNR|4^G$%k~ z^KPI!=mDMtG)ARybuSPNVn8g21MwgMB!b=`3D6j^4@d!YzclRAK?a~Pa$leTnSicm zV^8C;9MB&O00Y4wK-d2Ox#nX!C;puqEnB3~3Wt=_n8|?A-Cx;!@v^NLf9l6OyOK3A zwuS%YRVf_dm;32r3axJ#g5wH6oA^h1gtNc?+mJ~u_osL~jD(KliHsLp7{+SNpn~gKbo=W1|IZT(_toe2FE3i`S{ju$s=q_YKlA=^C8) aLPf{H;`QLJ>_)eh!$oVW-~Xp+;Qs+42<_tl literal 0 HcmV?d00001 diff --git a/RTX2001A/rtx2001a.ini b/RTX2001A/rtx2001a.ini new file mode 100644 index 000000000..c69e5ec1c --- /dev/null +++ b/RTX2001A/rtx2001a.ini @@ -0,0 +1,23 @@ + +# use for rtx2001a +# set log -n /tmp/rtx2001a.log +# set debug -PF /tmp/rtx2001a.log +set nolog +set debug -f stdout +set CPU NODEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW +if exist "%SIM_BIN_NAME%/appforth.hex" load %SIM_BIN_NAME%/appforth.hex +if exist "appforth.hex" load appforth.hex +# set break -s -p +# set CPU DEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW +# set CPU deb=CPU;ASBR;ASBW; +# +# boot routine +# +dep ir 0x175D +dep pc 2 +step +# +# verify boot state +# +ex state +set on \ No newline at end of file diff --git a/RTX2001A/rtx2001a_ab.c b/RTX2001A/rtx2001a_ab.c index 1dbb66d18..1634b3355 100644 --- a/RTX2001A/rtx2001a_ab.c +++ b/RTX2001A/rtx2001a_ab.c @@ -30,6 +30,8 @@ #include "rtx2001a_ab.h" #include "rtx2001a_execute.h" +RTX_WORD hostmode = FALSE; /* when true, in process of talking to the host */ + // https://embedjournal.com/implementing-circular-buffer-embedded-c/ typedef struct { @@ -40,7 +42,7 @@ typedef struct } circ_bbuf_t; t_value _kbbuf[255] = {'\0'}; -static circ_bbuf_t kbbuf = {_kbbuf, 0, 0, 254}; +circ_bbuf_t kbbuf = {_kbbuf, 0, 0, 254}; int circ_bbuf_push(circ_bbuf_t *c, t_value data) { @@ -125,34 +127,20 @@ t_stat gfetch(t_addr offset, t_value *data) } case 0x1A: // RCV? - // t_value _c = 0; - // if (0 == circ_bbuf_pop(&kbbuf, &_c) { - // *data = _c; - // return SCPE_OK; - // } - // *data = '\0'; - // t_stat status = sim_poll_kbd(); - // switch (status) - // { - // case SCPE_OK: // no char - // case SCPE_LOST: // Error - // return status; - // default: - // *data = 0xFF; + { + t_stat status = sim_poll_kbd(); + *data = 0; + switch (status) { - t_stat status = sim_poll_kbd(); - *data = 0; - switch (status) - { - case SCPE_OK: // no char - case SCPE_LOST: // Error - return status; - default: - circ_bbuf_push(&kbbuf, status & ~SCPE_KFLAG); - *data = 0xFF; - } - return SCPE_OK; + case SCPE_OK: // no char + case SCPE_LOST: // Error + return status; + default: + circ_bbuf_push(&kbbuf, status & ~SCPE_KFLAG); } + *data = 0xFF; + return SCPE_OK; + } // return bit=0: Pushes the contents of I into TOP (with no pop of the Return Stack) // return bit=1: Pushes the contents of I into TOP then performs a subroutine return @@ -351,17 +339,6 @@ t_stat gstore(t_addr offset, t_value data) case I_ALU: rs_push(cpr.pr, data); STREAM = TRUE; - /* @TODO: Replace with instruction test during stream instruction execution - 23-Sep All stream instructions are NYI - Unsigned Mul Unsigned div - U*' A89C U/' A41A - Signed Mul /' A45A - *' A89D U/1'' A458 - *'' A49D Sq. Root - S1' A51A - S' A55A - S'' A558 - */ return SCPE_OK; case _CR: @@ -537,22 +514,20 @@ t_stat gstore(t_addr offset, t_value data) case 0x19: // XMT { - // if (hostmode) /* invoke fsm for serving host mode */ - // @TODO: SIMH virtual file write - // host_write(data); - // return; - // } + if (hostmode) + { /* invoke fsm for serving host mode */ + return host_write(data); + } if (data) { // @TODO: SIMH virtual console write putchar(data); return SCPE_OK; } - // else - // { - // hostmode = -1; - // } - // #endif + else + { + hostmode = -1; + } } default: @@ -567,3 +542,14 @@ t_stat gstore(t_addr offset, t_value data) return SCPE_NXM; } + +t_stat host_write(t_value data) +{ + if (data == 0xFF) + { + return SCPE_EXIT; + } + hostmode = FALSE; + + return SCPE_OK; +} \ No newline at end of file diff --git a/RTX2001A/rtx2001a_ab.h b/RTX2001A/rtx2001a_ab.h index 7b7488b9d..c21937e61 100644 --- a/RTX2001A/rtx2001a_ab.h +++ b/RTX2001A/rtx2001a_ab.h @@ -36,6 +36,7 @@ #define GDATA_SIZE 0x20 extern RTX_WORD gdata[GDATA_SIZE]; +extern RTX_WORD hostmode; /* extract the 5-bit short-lit/g-bus/user value */ #define SHORT_LIT (IR & 0x1F) @@ -67,5 +68,6 @@ extern RTX_WORD gdata[GDATA_SIZE]; extern t_stat gstore(t_addr, t_value); extern t_stat gfetch(t_addr, t_value *); +extern t_stat host_write(t_value); #endif \ No newline at end of file diff --git a/RTX2001A/rtx2001a_cpu.c b/RTX2001A/rtx2001a_cpu.c index bee7f6e5c..d77d6dc3e 100644 --- a/RTX2001A/rtx2001a_cpu.c +++ b/RTX2001A/rtx2001a_cpu.c @@ -24,6 +24,8 @@ in this Software without prior written authorization from Systasis Computer Systems. 12-Aug-22 SYS New simulator. + + simh registered callbacks */ #include "setjmp.h" @@ -270,6 +272,7 @@ t_stat cpu_reset(DEVICE *dptr) // init debug support // sim_brk_types = DBG_ASB; // SWMASK('E'); //| DBG_ASB | DBG_PSB | DBG_MEB | DBG_RSB; sim_brk_dflt = SWMASK('E'); + sim_vm_step_unit = "cycle"; sim_brk_type_desc = cpu_breakpoints; sim_brk_types = SWMASK('E') | DBG_ASB_W | DBG_ASB_R | DBG_PSB_W | DBG_PSB_R | DBG_MEB_W | DBG_MEB_R | DBG_RSB_W | DBG_RSB_R; sim_vm_pc_value = &rtx2001a_pc_value; diff --git a/RTX2001A/rtx2001a_sys.c b/RTX2001A/rtx2001a_sys.c index b97d62216..c426c0e7a 100644 --- a/RTX2001A/rtx2001a_sys.c +++ b/RTX2001A/rtx2001a_sys.c @@ -31,6 +31,7 @@ #include "rtx2001a_psb.h" #include "rtx2001a_rsb.h" #include "rtx2001a_debug.h" +#include "rtx2001a_mb.h" char sim_name[] = "RTX2001A"; @@ -45,11 +46,6 @@ const char *sim_stop_messages[SCPE_BASE] = { "Invalid opcode", }; -t_stat sim_load(FILE *fileref, CONST char *cptr, CONST char *fnam, int flag) -{ - return SCPE_OK; -} - t_bool build_dev_tab(void) { return SCPE_OK; @@ -224,5 +220,159 @@ t_stat parse_sym(CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 { *val = (value & D16_MASK); } + return SCPE_OK; +} + +#include + +#define BYTE_TO_INT(byte, value) \ + { \ + char *me = (char *)&byte; \ + if (*me >= '0' && *me <= '9') \ + { \ + value = (*me - (int)'0') << 4; \ + } \ + if (*me >= 'A' && *me <= 'F') \ + { \ + value = (*me + 10 - (int)'A') << 4; \ + } \ + if (*me >= 'a' && *me <= 'f') \ + { \ + value = (*me + 10 - (int)'a') << 4; \ + } \ + me += 1; \ + if (*me >= '0' && *byte <= '9') \ + { \ + value |= (*byte - (int)'0'); \ + } \ + if (*byte >= 'A' && *byte <= 'F') \ + { \ + value |= (*byte + 10 - (int)'A'); \ + } \ + if (*byte >= 'a' && *byte <= 'f') \ + { \ + value |= (*byte + 10 - (int)'a'); \ + } \ + } + +#define WORD_TO_INT(word, value) \ + { \ + int hi = 0; \ + int lo = 0; \ + char me2[4] = &word; \ + byte_to_int(me2, hi); \ + byte_to_int(me2[2], lo); \ + value = lo << 8 | hi; \ + } +void byte_to_int(char *byte, int *value) +{ + if (*byte >= '0' && *byte <= '9') + { + *value = (*byte - (int)'0') << 4; + } + if (*byte >= 'A' && *byte <= 'F') + { + *value = (*byte + 10 - (int)'A') << 4; + } + if (*byte >= 'a' && *byte <= 'f') + { + *value = (*byte + 10 - (int)'a') << 4; + } + byte += 1; + if (*byte >= '0' && *byte <= '9') + { + *value |= (*byte - (int)'0'); + } + if (*byte >= 'A' && *byte <= 'F') + { + *value |= (*byte + 10 - (int)'A'); + } + if (*byte >= 'a' && *byte <= 'f') + { + *value |= (*byte + 10 - (int)'a'); + } +} + +void word_to_int(char *word, int *value) +{ + int hi = 0; + int lo = 0; + byte_to_int(word, &hi); + word += 2; + byte_to_int(word, &lo); + *value = hi << 8 | lo; +} + +/* +If flag = 0, load data from binary file fptr. +If flag = 1, dump data to binary file fptr. +For either command, buf contains any VM-specific arguments, and fnam contains the file name. +*/ +t_stat sim_load(FILE *fptr, const char *buf, const char *fnam, t_bool flag) +{ + struct + { + char leader; + char len[2]; + } header; + + struct + { + char address[4]; + char type[2]; + char body[255]; + } cargo; + + int len; + int address; + fread(&header, sizeof(header), 1, fptr); + while (!feof(fptr)) + { + if (':' != header.leader) + { + sim_messagef(SCPE_INCOMP, "input file not in proper .HEX format, "); + return SCPE_INCOMP; + } + + byte_to_int(header.len, &len); + + if (0 == len) + { + break; + } + + memset(cargo.address, '\0', sizeof(cargo.address)); + memset(cargo.type, '\0', sizeof(cargo.type)); + memset(cargo.body, '\0', sizeof(cargo.body)); + fread(&cargo, (len * 2) + 10, 1, fptr); + if (feof(fptr)) + { + sim_messagef(SCPE_INCOMP, "unexpected EOF, "); + return SCPE_INCOMP; + } + + word_to_int(cargo.address, &address); + int value; + for (int i = 0; i < len * 2; i++) + { + byte_to_int(&cargo.body[i], &value); + byte_store(address, value); + sim_printf("dep 0x%X %c", address, cargo.body[i]); + byte_to_int(&cargo.body[++i], &value); + byte_store(++address, value); + sim_printf("%c\n", cargo.body[i]); + } + + header.leader = '\0'; + memset(header.len, '\0', sizeof(header.len)); + fread(&header, sizeof(header), 1, fptr); + } + + if (':' != header.leader) + { + sim_messagef(SCPE_INCOMP, "input file not in proper .HEX format, "); + return SCPE_INCOMP; + } + return SCPE_OK; } \ No newline at end of file From 3dee0433377c5c742feeebf7b4dcb4fdbec12525 Mon Sep 17 00:00:00 2001 From: jchimene Date: Sat, 28 Jan 2023 15:26:49 -0700 Subject: [PATCH 6/7] Delete simh.ini --- RTX2001A/simh.ini | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 RTX2001A/simh.ini diff --git a/RTX2001A/simh.ini b/RTX2001A/simh.ini deleted file mode 100644 index eda9f1eb6..000000000 --- a/RTX2001A/simh.ini +++ /dev/null @@ -1,23 +0,0 @@ - -# use for rtx2001a -# set log -n /tmp/rtx2001a.log -# set debug -PF /tmp/rtx2001a.log -set nolog -set debug -f stdout -set CPU NODEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW -if exist "%SIM_BIN_NAME%/rom.ini" do "%SIM_BIN_NAME%/rom.ini" -if exist "rom.ini" do "rom.ini" -# set break -s -p -# set CPU DEBUG=CPU;MEBR;MEBW;ASBR;ASBW;PSBR;PSBW;RSBR;RSBW -# set CPU deb=CPU;ASBR;ASBW; -# -# boot routine -# -dep ir 0x175D -dep pc 2 -step -# -# verify boot state -# -ex state -set on From 9cc6624533f5b3fd4103773ea3d30c1d3f4b353e Mon Sep 17 00:00:00 2001 From: jchimene Date: Sun, 29 Jan 2023 09:19:33 -0700 Subject: [PATCH 7/7] "Lets look at the record" Address lints; --- RTX2001A/CREDITS | 6 +- RTX2001A/rom.ini | 16384 -------------------------------- RTX2001A/rtx2001a.doc | Bin 50176 -> 54784 bytes RTX2001A/rtx2001a_ab.c | 5 +- RTX2001A/rtx2001a_decode.c | 2 +- RTX2001A/rtx2001a_execute.c | 4 +- RTX2001A/rtx2001a_execute.h | 2 +- RTX2001A/rtx2001a_registers.h | 24 +- RTX2001A/rtx2001a_sys.c | 47 +- 9 files changed, 24 insertions(+), 16450 deletions(-) delete mode 100644 RTX2001A/rom.ini diff --git a/RTX2001A/CREDITS b/RTX2001A/CREDITS index 9f11c376a..9232fcaf8 100644 --- a/RTX2001A/CREDITS +++ b/RTX2001A/CREDITS @@ -1,4 +1,4 @@ This project would not be possible without the original development at Harris Semiconductor -of -o The RTX2000 simulator by Phil Koopman Jr. 9/x/90 -o The APPFORTH hex image by Rick VanNorman Fri 06-01-1990 \ No newline at end of file +of +o The RTX2000 simulator by Phil Koopman Jr. 9/x/90 +o The APPFORTH, RTX2001A hex images by Rick VanNorman Fri 06-01-1990 \ No newline at end of file diff --git a/RTX2001A/rom.ini b/RTX2001A/rom.ini deleted file mode 100644 index 5b7ce5358..000000000 --- a/RTX2001A/rom.ini +++ /dev/null @@ -1,16384 +0,0 @@ -dep 0 17 -dep 1 5D -dep 2 FF -dep 3 FF -dep 4 FF -dep 5 FF -dep 6 FF -dep 7 FF -dep 8 FF -dep 9 FF -dep A FF -dep B FF -dep C FF -dep D FF -dep E FF -dep F FF -dep 10 FF -dep 11 FF -dep 12 FF -dep 13 FF -dep 14 FF -dep 15 FF -dep 16 FF -dep 17 FF -dep 18 FF -dep 19 FF -dep 1A FF -dep 1B FF -dep 1C FF -dep 1D FF -dep 1E FF -dep 1F FF -dep 20 AE -dep 21 80 -dep 22 BE -dep 23 01 -dep 24 AE -dep 25 80 -dep 26 BE -dep 27 81 -dep 28 AE -dep 29 80 -dep 2A BE -dep 2B 81 -dep 2C BE -dep 2D A7 -dep 2E BE -dep 2F 01 -dep 30 BE -dep 31 01 -dep 32 B8 -dep 33 C1 -dep 34 A0 -dep 35 C0 -dep 36 BE -dep 37 00 -dep 38 AE -dep 39 80 -dep 3A BE -dep 3B 81 -dep 3C AA -dep 3D 40 -dep 3E 88 -dep 3F 22 -dep 40 EE -dep 41 00 -dep 42 BE -dep 43 A7 -dep 44 B0 -dep 45 01 -dep 46 B0 -dep 47 01 -dep 48 B8 -dep 49 C2 -dep 4A BE -dep 4B A7 -dep 4C BE -dep 4D 01 -dep 4E AE -dep 4F 80 -dep 50 A0 -dep 51 C1 -dep 52 88 -dep 53 3A -dep 54 B8 -dep 55 80 -dep 56 A0 -dep 57 C0 -dep 58 BC -dep 59 80 -dep 5A BE -dep 5B 01 -dep 5C B4 -dep 5D 80 -dep 5E B8 -dep 5F C1 -dep 60 AC -dep 61 44 -dep 62 A0 -dep 63 01 -dep 64 88 -dep 65 37 -dep 66 AE -dep 67 40 -dep 68 B0 -dep 69 01 -dep 6A B8 -dep 6B C2 -dep 6C BE -dep 6D A7 -dep 6E BE -dep 6F 81 -dep 70 EE -dep 71 00 -dep 72 BE -dep 73 A7 -dep 74 B8 -dep 75 80 -dep 76 A0 -dep 77 C0 -dep 78 B4 -dep 79 81 -dep 7A AE -dep 7B C0 -dep 7C B4 -dep 7D 80 -dep 7E AC -dep 7F 44 -dep 80 A0 -dep 81 01 -dep 82 88 -dep 83 46 -dep 84 AE -dep 85 40 -dep 86 B0 -dep 87 01 -dep 88 B8 -dep 89 C2 -dep 8A BE -dep 8B A7 -dep 8C BE -dep 8D 81 -dep 8E EE -dep 8F 00 -dep 90 BE -dep 91 A7 -dep 92 A0 -dep 93 20 -dep 94 DE -dep 95 20 -dep 96 FF -dep 97 FE -dep 98 00 -dep 99 00 -dep 9A 85 -dep 9B 46 -dep 9C 45 -dep 9D 4E -dep 9E 43 -dep 9F 45 -dep A0 DE -dep A1 20 -dep A2 FF -dep A3 FC -dep A4 00 -dep A5 98 -dep A6 85 -dep A7 56 -dep A8 4C -dep A9 49 -dep AA 4E -dep AB 4B -dep AC DE -dep AD 20 -dep AE FF -dep AF FA -dep B0 00 -dep B1 00 -dep B2 82 -dep B3 64 -dep B4 41 -dep B5 20 -dep B6 DE -dep B7 20 -dep B8 FF -dep B9 F8 -dep BA 00 -dep BB 00 -dep BC 85 -dep BD 53 -dep BE 54 -dep BF 41 -dep C0 54 -dep C1 45 -dep C2 DE -dep C3 20 -dep C4 FF -dep C5 F6 -dep C6 DE -dep C7 20 -dep C8 FF -dep C9 F4 -dep CA DE -dep CB 20 -dep CC FF -dep CD F2 -dep CE DE -dep CF 20 -dep D0 FF -dep D1 F0 -dep D2 DE -dep D3 20 -dep D4 FF -dep D5 EE -dep D6 DE -dep D7 20 -dep D8 FF -dep D9 EC -dep DA DE -dep DB 20 -dep DC FF -dep DD EA -dep DE DE -dep DF 20 -dep E0 FF -dep E1 E8 -dep E2 DE -dep E3 20 -dep E4 FF -dep E5 E6 -dep E6 DE -dep E7 20 -dep E8 FF -dep E9 E4 -dep EA 00 -dep EB 00 -dep EC 84 -dep ED 42 -dep EE 41 -dep EF 53 -dep F0 45 -dep F1 20 -dep F2 DE -dep F3 20 -dep F4 FF -dep F5 E2 -dep F6 DE -dep F7 20 -dep F8 FF -dep F9 E0 -dep FA DE -dep FB 20 -dep FC FF -dep FD DE -dep FE DE -dep FF 20 -dep 100 FF -dep 101 DC -dep 102 DE -dep 103 20 -dep 104 FF -dep 105 DA -dep 106 DE -dep 107 20 -dep 108 FF -dep 109 D8 -dep 10A DE -dep 10B 20 -dep 10C FF -dep 10D D6 -dep 10E DE -dep 10F 20 -dep 110 FF -dep 111 D4 -dep 112 DE -dep 113 20 -dep 114 FF -dep 115 D2 -dep 116 DE -dep 117 20 -dep 118 FF -dep 119 D0 -dep 11A DE -dep 11B 20 -dep 11C FF -dep 11D CE -dep 11E DE -dep 11F 20 -dep 120 FF -dep 121 CC -dep 122 DE -dep 123 20 -dep 124 FF -dep 125 CA -dep 126 00 -dep 127 BA -dep 128 84 -dep 129 23 -dep 12A 4F -dep 12B 55 -dep 12C 54 -dep 12D 20 -dep 12E DE -dep 12F 20 -dep 130 FF -dep 131 C8 -dep 132 01 -dep 133 26 -dep 134 84 -dep 135 23 -dep 136 54 -dep 137 49 -dep 138 42 -dep 139 20 -dep 13A DE -dep 13B 20 -dep 13C FF -dep 13D C6 -dep 13E 00 -dep 13F A4 -dep 140 83 -dep 141 3E -dep 142 49 -dep 143 4E -dep 144 DE -dep 145 20 -dep 146 FF -dep 147 C4 -dep 148 01 -dep 149 32 -dep 14A 87 -dep 14B 43 -dep 14C 4F -dep 14D 4E -dep 14E 54 -dep 14F 45 -dep 150 58 -dep 151 54 -dep 152 DE -dep 153 20 -dep 154 FF -dep 155 C2 -dep 156 01 -dep 157 48 -dep 158 87 -dep 159 43 -dep 15A 55 -dep 15B 52 -dep 15C 52 -dep 15D 45 -dep 15E 4E -dep 15F 54 -dep 160 DE -dep 161 20 -dep 162 FF -dep 163 C0 -dep 164 00 -dep 165 00 -dep 166 81 -dep 167 48 -dep 168 DE -dep 169 20 -dep 16A FF -dep 16B BE -dep 16C 00 -dep 16D B0 -dep 16E 84 -dep 16F 4C -dep 170 41 -dep 171 53 -dep 172 54 -dep 173 20 -dep 174 DE -dep 175 20 -dep 176 FF -dep 177 BC -dep 178 01 -dep 179 56 -dep 17A 84 -dep 17B 53 -dep 17C 50 -dep 17D 41 -dep 17E 4E -dep 17F 20 -dep 180 DE -dep 181 20 -dep 182 FF -dep 183 BA -dep 184 00 -dep 185 00 -dep 186 84 -dep 187 27 -dep 188 54 -dep 189 49 -dep 18A 42 -dep 18B 20 -dep 18C DE -dep 18D 20 -dep 18E FF -dep 18F 36 -dep 190 DE -dep 191 20 -dep 192 FE -dep 193 B2 -dep 194 DE -dep 195 20 -dep 196 FE -dep 197 72 -dep 198 01 -dep 199 6C -dep 19A 87 -dep 19B 3C -dep 19C 66 -dep 19D 6F -dep 19E 72 -dep 19F 74 -dep 1A0 68 -dep 1A1 3E -dep 1A2 DE -dep 1A3 20 -dep 1A4 FE -dep 1A5 62 -dep 1A6 00 -dep 1A7 00 -dep 1A8 8B -dep 1A9 49 -dep 1AA 4E -dep 1AB 54 -dep 1AC 2D -dep 1AD 56 -dep 1AE 45 -dep 1AF 43 -dep 1B0 54 -dep 1B1 4F -dep 1B2 52 -dep 1B3 53 -dep 1B4 DE -dep 1B5 20 -dep 1B6 FC -dep 1B7 00 -dep 1B8 01 -dep 1B9 78 -dep 1BA 88 -dep 1BB 23 -dep 1BC 54 -dep 1BD 48 -dep 1BE 52 -dep 1BF 45 -dep 1C0 41 -dep 1C1 44 -dep 1C2 53 -dep 1C3 20 -dep 1C4 DE -dep 1C5 20 -dep 1C6 00 -dep 1C7 08 -dep 1C8 01 -dep 1C9 B8 -dep 1CA 84 -dep 1CB 43 -dep 1CC 45 -dep 1CD 4C -dep 1CE 4C -dep 1CF 20 -dep 1D0 DE -dep 1D1 20 -dep 1D2 00 -dep 1D3 02 -dep 1D4 00 -dep 1D5 EA -dep 1D6 82 -dep 1D7 42 -dep 1D8 4C -dep 1D9 20 -dep 1DA DE -dep 1DB 20 -dep 1DC 00 -dep 1DD 20 -dep 1DE 01 -dep 1DF 98 -dep 1E0 85 -dep 1E1 4C -dep 1E2 49 -dep 1E3 4E -dep 1E4 4B -dep 1E5 53 -dep 1E6 BE -dep 1E7 27 -dep 1E8 37 -dep 1E9 3A -dep 1EA 35 -dep 1EB 58 -dep 1EC 38 -dep 1ED 0C -dep 1EE 37 -dep 1EF 4C -dep 1F0 37 -dep 1F1 F0 -dep 1F2 37 -dep 1F3 D4 -dep 1F4 37 -dep 1F5 60 -dep 1F6 37 -dep 1F7 84 -dep 1F8 01 -dep 1F9 64 -dep 1FA 82 -dep 1FB 30 -dep 1FC 3D -dep 1FD 20 -dep 1FE 89 -dep 1FF 01 -dep 200 BE -dep 201 60 -dep 202 BF -dep 203 60 -dep 204 01 -dep 205 F8 -dep 206 83 -dep 207 30 -dep 208 3C -dep 209 3E -dep 20A 89 -dep 20B 07 -dep 20C BF -dep 20D 60 -dep 20E BE -dep 20F 60 -dep 210 00 -dep 211 00 -dep 212 81 -dep 213 3D -dep 214 AA -dep 215 40 -dep 216 89 -dep 217 0D -dep 218 BE -dep 219 60 -dep 21A BF -dep 21B 60 -dep 21C 01 -dep 21D DE -dep 21E 82 -dep 21F 3C -dep 220 3E -dep 221 20 -dep 222 AA -dep 223 40 -dep 224 89 -dep 225 14 -dep 226 BF -dep 227 60 -dep 228 BE -dep 229 60 -dep 22A 01 -dep 22B 84 -dep 22C 84 -dep 22D 3F -dep 22E 44 -dep 22F 55 -dep 230 50 -dep 231 20 -dep 232 A0 -dep 233 C0 -dep 234 89 -dep 235 1C -dep 236 A0 -dep 237 E0 -dep 238 A0 -dep 239 20 -dep 23A 01 -dep 23B A6 -dep 23C 83 -dep 23D 41 -dep 23E 42 -dep 23F 53 -dep 240 A0 -dep 241 C1 -dep 242 89 -dep 243 23 -dep 244 BC -dep 245 E0 -dep 246 A0 -dep 247 20 -dep 248 01 -dep 249 3E -dep 24A 81 -dep 24B 3E -dep 24C AA -dep 24D C1 -dep 24E 89 -dep 24F 29 -dep 250 AF -dep 251 61 -dep 252 A4 -dep 253 61 -dep 254 02 -dep 255 1C -dep 256 81 -dep 257 3C -dep 258 AA -dep 259 C1 -dep 25A 89 -dep 25B 2F -dep 25C AE -dep 25D 61 -dep 25E AC -dep 25F 61 -dep 260 02 -dep 261 54 -dep 262 82 -dep 263 3C -dep 264 3D -dep 265 20 -dep 266 AA -dep 267 C1 -dep 268 89 -dep 269 36 -dep 26A AE -dep 26B 61 -dep 26C A4 -dep 26D 41 -dep 26E A1 -dep 26F 20 -dep 270 02 -dep 271 48 -dep 272 82 -dep 273 3E -dep 274 3D -dep 275 20 -dep 276 AA -dep 277 C1 -dep 278 89 -dep 279 3E -dep 27A AF -dep 27B 61 -dep 27C AC -dep 27D 41 -dep 27E A1 -dep 27F 20 -dep 280 01 -dep 281 C8 -dep 282 85 -dep 283 43 -dep 284 45 -dep 285 4C -dep 286 4C -dep 287 2B -dep 288 B8 -dep 289 E2 -dep 28A 02 -dep 28B 80 -dep 28C 85 -dep 28D 43 -dep 28E 45 -dep 28F 4C -dep 290 4C -dep 291 53 -dep 292 A0 -dep 293 22 -dep 294 01 -dep 295 D4 -dep 296 83 -dep 297 52 -dep 298 4F -dep 299 54 -dep 29A BE -dep 29B 81 -dep 29C AE -dep 29D 80 -dep 29E BE -dep 29F 01 -dep 2A0 AE -dep 2A1 A0 -dep 2A2 02 -dep 2A3 10 -dep 2A4 84 -dep 2A5 2D -dep 2A6 52 -dep 2A7 4F -dep 2A8 54 -dep 2A9 20 -dep 2AA AE -dep 2AB 80 -dep 2AC BE -dep 2AD 81 -dep 2AE AE -dep 2AF 80 -dep 2B0 BE -dep 2B1 01 -dep 2B2 A0 -dep 2B3 20 -dep 2B4 02 -dep 2B5 8A -dep 2B6 82 -dep 2B7 2B -dep 2B8 21 -dep 2B9 20 -dep 2BA A0 -dep 2BB C0 -dep 2BC BE -dep 2BD 81 -dep 2BE E8 -dep 2BF 80 -dep 2C0 BE -dep 2C1 01 -dep 2C2 EE -dep 2C3 A0 -dep 2C4 02 -dep 2C5 A2 -dep 2C6 82 -dep 2C7 55 -dep 2C8 3C -dep 2C9 20 -dep 2CA AC -dep 2CB 44 -dep 2CC A1 -dep 2CD 21 -dep 2CE 02 -dep 2CF C4 -dep 2D0 82 -dep 2D1 55 -dep 2D2 3E -dep 2D3 20 -dep 2D4 A4 -dep 2D5 44 -dep 2D6 A1 -dep 2D7 21 -dep 2D8 02 -dep 2D9 04 -dep 2DA 82 -dep 2DB 30 -dep 2DC 3E -dep 2DD 20 -dep 2DE BE -dep 2DF 40 -dep 2E0 01 -dep 2E1 26 -dep 2E2 A0 -dep 2E3 20 -dep 2E4 02 -dep 2E5 2A -dep 2E6 86 -dep 2E7 57 -dep 2E8 49 -dep 2E9 54 -dep 2EA 48 -dep 2EB 49 -dep 2EC 4E -dep 2ED 20 -dep 2EE AE -dep 2EF C0 -dep 2F0 AC -dep 2F1 40 -dep 2F2 BE -dep 2F3 81 -dep 2F4 AC -dep 2F5 40 -dep 2F6 BE -dep 2F7 01 -dep 2F8 01 -dep 2F9 65 -dep 2FA A0 -dep 2FB 20 -dep 2FC 02 -dep 2FD 60 -dep 2FE 84 -dep 2FF 54 -dep 300 55 -dep 301 43 -dep 302 4B -dep 303 20 -dep 304 AE -dep 305 80 -dep 306 AE -dep 307 E0 -dep 308 02 -dep 309 B4 -dep 30A 86 -dep 30B 43 -dep 30C 59 -dep 30D 43 -dep 30E 4C -dep 30F 45 -dep 310 53 -dep 311 20 -dep 312 BE -dep 313 81 -dep 314 99 -dep 315 8A -dep 316 A0 -dep 317 20 -dep 318 02 -dep 319 E4 -dep 31A 83 -dep 31B 4F -dep 31C 46 -dep 31D 46 -dep 31E BE -dep 31F 40 -dep 320 AE -dep 321 80 -dep 322 EE -dep 323 A0 -dep 324 03 -dep 325 18 -dep 326 82 -dep 327 4F -dep 328 4E -dep 329 20 -dep 32A BF -dep 32B 40 -dep 32C AE -dep 32D 80 -dep 32E EE -dep 32F A0 -dep 330 02 -dep 331 FC -dep 332 85 -dep 333 44 -dep 334 44 -dep 335 52 -dep 336 4F -dep 337 50 -dep 338 AE -dep 339 40 -dep 33A AE -dep 33B 60 -dep 33C 03 -dep 33D 30 -dep 33E 84 -dep 33F 44 -dep 340 44 -dep 341 55 -dep 342 50 -dep 343 20 -dep 344 AE -dep 345 C0 -dep 346 AE -dep 347 E0 -dep 348 03 -dep 349 3C -dep 34A 85 -dep 34B 44 -dep 34C 53 -dep 34D 57 -dep 34E 41 -dep 34F 50 -dep 350 01 -dep 351 4D -dep 352 BE -dep 353 81 -dep 354 01 -dep 355 4D -dep 356 BE -dep 357 01 -dep 358 A0 -dep 359 20 -dep 35A 03 -dep 35B 48 -dep 35C 85 -dep 35D 44 -dep 35E 4F -dep 35F 56 -dep 360 45 -dep 361 52 -dep 362 BE -dep 363 81 -dep 364 BE -dep 365 81 -dep 366 01 -dep 367 A2 -dep 368 BE -dep 369 01 -dep 36A BE -dep 36B 01 -dep 36C 01 -dep 36D A8 -dep 36E A0 -dep 36F 20 -dep 370 03 -dep 371 5A -dep 372 84 -dep 373 44 -dep 374 52 -dep 375 4F -dep 376 54 -dep 377 20 -dep 378 BE -dep 379 81 -dep 37A BE -dep 37B 81 -dep 37C 01 -dep 37D A8 -dep 37E BE -dep 37F 01 -dep 380 BE -dep 381 01 -dep 382 01 -dep 383 A8 -dep 384 A0 -dep 385 20 -dep 386 03 -dep 387 70 -dep 388 82 -dep 389 44 -dep 38A 40 -dep 38B 20 -dep 38C E9 -dep 38D 42 -dep 38E EE -dep 38F 00 -dep 390 AE -dep 391 A0 -dep 392 03 -dep 393 86 -dep 394 82 -dep 395 44 -dep 396 21 -dep 397 20 -dep 398 E9 -dep 399 C2 -dep 39A EE -dep 39B A0 -dep 39C 03 -dep 39D 92 -dep 39E 82 -dep 39F 44 -dep 3A0 2B -dep 3A1 20 -dep 3A2 BE -dep 3A3 81 -dep 3A4 AE -dep 3A5 80 -dep 3A6 BE -dep 3A7 81 -dep 3A8 A8 -dep 3A9 40 -dep 3AA BE -dep 3AB 01 -dep 3AC B9 -dep 3AD 81 -dep 3AE A0 -dep 3AF 20 -dep 3B0 03 -dep 3B1 9C -dep 3B2 82 -dep 3B3 44 -dep 3B4 2D -dep 3B5 20 -dep 3B6 BE -dep 3B7 81 -dep 3B8 AE -dep 3B9 80 -dep 3BA BE -dep 3BB 81 -dep 3BC AC -dep 3BD 40 -dep 3BE BE -dep 3BF 01 -dep 3C0 B5 -dep 3C1 81 -dep 3C2 A0 -dep 3C3 20 -dep 3C4 03 -dep 3C5 B0 -dep 3C6 82 -dep 3C7 44 -dep 3C8 3C -dep 3C9 20 -dep 3CA 01 -dep 3CB DB -dep 3CC A0 -dep 3CD 61 -dep 3CE 03 -dep 3CF C4 -dep 3D0 87 -dep 3D1 44 -dep 3D2 4E -dep 3D3 45 -dep 3D4 47 -dep 3D5 41 -dep 3D6 54 -dep 3D7 45 -dep 3D8 AE -dep 3D9 80 -dep 3DA BC -dep 3DB C0 -dep 3DC AE -dep 3DD 80 -dep 3DE BD -dep 3DF E0 -dep 3E0 03 -dep 3E1 CE -dep 3E2 83 -dep 3E3 44 -dep 3E4 30 -dep 3E5 3D -dep 3E6 A6 -dep 3E7 40 -dep 3E8 00 -dep 3E9 FF -dep 3EA A0 -dep 3EB 20 -dep 3EC 03 -dep 3ED E0 -dep 3EE 82 -dep 3EF 44 -dep 3F0 3D -dep 3F1 20 -dep 3F2 AE -dep 3F3 80 -dep 3F4 BE -dep 3F5 81 -dep 3F6 AA -dep 3F7 40 -dep 3F8 AE -dep 3F9 80 -dep 3FA BA -dep 3FB 81 -dep 3FC 01 -dep 3FD F3 -dep 3FE A0 -dep 3FF 20 -dep 400 03 -dep 401 EC -dep 402 83 -dep 403 44 -dep 404 3C -dep 405 3E -dep 406 01 -dep 407 F9 -dep 408 A1 -dep 409 20 -dep 40A 04 -dep 40B 00 -dep 40C 83 -dep 40D 44 -dep 40E 30 -dep 40F 3C -dep 410 A0 -dep 411 61 -dep 412 04 -dep 413 0A -dep 414 83 -dep 415 44 -dep 416 55 -dep 417 3C -dep 418 01 -dep 419 4D -dep 41A 01 -dep 41B A2 -dep 41C 01 -dep 41D 0A -dep 41E 88 -dep 41F 15 -dep 420 01 -dep 421 55 -dep 422 01 -dep 423 EC -dep 424 01 -dep 425 D1 -dep 426 A0 -dep 427 01 -dep 428 90 -dep 429 18 -dep 42A AE -dep 42B 80 -dep 42C 01 -dep 42D 65 -dep 42E A0 -dep 42F 40 -dep 430 A0 -dep 431 60 -dep 432 04 -dep 433 12 -dep 434 84 -dep 435 44 -dep 436 41 -dep 437 42 -dep 438 53 -dep 439 20 -dep 43A A0 -dep 43B C1 -dep 43C 88 -dep 43D 20 -dep 43E 01 -dep 43F EC -dep 440 A0 -dep 441 20 -dep 442 04 -dep 443 32 -dep 444 84 -dep 445 44 -dep 446 4D -dep 447 41 -dep 448 58 -dep 449 20 -dep 44A 01 -dep 44B B1 -dep 44C 01 -dep 44D B1 -dep 44E 01 -dep 44F E5 -dep 450 88 -dep 451 2A -dep 452 01 -dep 453 A8 -dep 454 01 -dep 455 9C -dep 456 A0 -dep 457 20 -dep 458 04 -dep 459 42 -dep 45A 84 -dep 45B 44 -dep 45C 4D -dep 45D 49 -dep 45E 4E -dep 45F 20 -dep 460 01 -dep 461 B1 -dep 462 01 -dep 463 B1 -dep 464 01 -dep 465 E5 -dep 466 A1 -dep 467 00 -dep 468 88 -dep 469 36 -dep 46A 01 -dep 46B A8 -dep 46C 01 -dep 46D 9C -dep 46E A0 -dep 46F 20 -dep 470 04 -dep 471 58 -dep 472 82 -dep 473 44 -dep 474 3E -dep 475 20 -dep 476 01 -dep 477 A8 -dep 478 01 -dep 479 E5 -dep 47A A0 -dep 47B 20 -dep 47C 03 -dep 47D 08 -dep 47E 85 -dep 47F 43 -dep 480 4D -dep 481 4F -dep 482 56 -dep 483 45 -dep 484 BE -dep 485 81 -dep 486 90 -dep 487 49 -dep 488 BE -dep 489 81 -dep 48A F9 -dep 48B 41 -dep 48C AE -dep 48D 80 -dep 48E BE -dep 48F 01 -dep 490 F9 -dep 491 C1 -dep 492 98 -dep 493 44 -dep 494 01 -dep 495 9C -dep 496 A0 -dep 497 20 -dep 498 04 -dep 499 7C -dep 49A 86 -dep 49B 43 -dep 49C 4D -dep 49D 4F -dep 49E 56 -dep 49F 45 -dep 4A0 3E -dep 4A1 20 -dep 4A2 A0 -dep 4A3 C0 -dep 4A4 BE -dep 4A5 81 -dep 4A6 A8 -dep 4A7 40 -dep 4A8 B4 -dep 4A9 C1 -dep 4AA AE -dep 4AB 80 -dep 4AC B8 -dep 4AD 80 -dep 4AE B4 -dep 4AF C1 -dep 4B0 AE -dep 4B1 80 -dep 4B2 BE -dep 4B3 01 -dep 4B4 BE -dep 4B5 81 -dep 4B6 90 -dep 4B7 61 -dep 4B8 BE -dep 4B9 81 -dep 4BA F5 -dep 4BB 41 -dep 4BC AE -dep 4BD 80 -dep 4BE BE -dep 4BF 01 -dep 4C0 F5 -dep 4C1 C1 -dep 4C2 98 -dep 4C3 5C -dep 4C4 01 -dep 4C5 9C -dep 4C6 A0 -dep 4C7 20 -dep 4C8 02 -dep 4C9 70 -dep 4CA 84 -dep 4CB 46 -dep 4CC 49 -dep 4CD 4C -dep 4CE 4C -dep 4CF 20 -dep 4D0 AE -dep 4D1 80 -dep 4D2 01 -dep 4D3 19 -dep 4D4 88 -dep 4D5 71 -dep 4D6 BE -dep 4D7 81 -dep 4D8 AE -dep 4D9 80 -dep 4DA BE -dep 4DB 01 -dep 4DC B4 -dep 4DD C1 -dep 4DE BE -dep 4DF 82 -dep 4E0 F8 -dep 4E1 C1 -dep 4E2 01 -dep 4E3 9C -dep 4E4 A0 -dep 4E5 20 -dep 4E6 02 -dep 4E7 CE -dep 4E8 85 -dep 4E9 45 -dep 4EA 52 -dep 4EB 41 -dep 4EC 53 -dep 4ED 45 -dep 4EE BE -dep 4EF 40 -dep 4F0 02 -dep 4F1 68 -dep 4F2 A0 -dep 4F3 20 -dep 4F4 02 -dep 4F5 94 -dep 4F6 85 -dep 4F7 42 -dep 4F8 4C -dep 4F9 41 -dep 4FA 4E -dep 4FB 4B -dep 4FC 00 -dep 4FD ED -dep 4FE 02 -dep 4FF 68 -dep 500 A0 -dep 501 20 -dep 502 A0 -dep 503 C1 -dep 504 88 -dep 505 85 -dep 506 BC -dep 507 C0 -dep 508 BE -dep 509 61 -dep 50A BE -dep 50B 60 -dep 50C A0 -dep 50D C1 -dep 50E 88 -dep 50F 8A -dep 510 01 -dep 511 EC -dep 512 BE -dep 513 61 -dep 514 BE -dep 515 60 -dep 516 04 -dep 517 70 -dep 518 85 -dep 519 44 -dep 51A 53 -dep 51B 51 -dep 51C 52 -dep 51D 54 -dep 51E DE -dep 51F 00 -dep 520 80 -dep 521 00 -dep 522 BE -dep 523 86 -dep 524 BE -dep 525 40 -dep 526 BE -dep 527 84 -dep 528 A0 -dep 529 0A -dep 52A A5 -dep 52B 1A -dep 52C BE -dep 52D 4D -dep 52E BE -dep 52F 82 -dep 530 A5 -dep 531 5A -dep 532 A5 -dep 533 58 -dep 534 AE -dep 535 60 -dep 536 04 -dep 537 98 -dep 538 84 -dep 539 53 -dep 53A 51 -dep 53B 52 -dep 53C 54 -dep 53D 20 -dep 53E BE -dep 53F 40 -dep 540 02 -dep 541 8F -dep 542 A0 -dep 543 20 -dep 544 04 -dep 545 E6 -dep 546 82 -dep 547 4D -dep 548 2A -dep 549 20 -dep 54A B0 -dep 54B 97 -dep 54C BE -dep 54D 16 -dep 54E BE -dep 54F 37 -dep 550 05 -dep 551 44 -dep 552 83 -dep 553 55 -dep 554 4D -dep 555 2A -dep 556 B0 -dep 557 96 -dep 558 BE -dep 559 16 -dep 55A BE -dep 55B 37 -dep 55C 04 -dep 55D F4 -dep 55E 81 -dep 55F 2A -dep 560 B0 -dep 561 96 -dep 562 BE -dep 563 16 -dep 564 BE -dep 565 17 -dep 566 AE -dep 567 60 -dep 568 05 -dep 569 50 -dep 56A 86 -dep 56B 55 -dep 56C 4D -dep 56D 2F -dep 56E 4D -dep 56F 4F -dep 570 44 -dep 571 20 -dep 572 BE -dep 573 84 -dep 574 A0 -dep 575 0A -dep 576 A4 -dep 577 1A -dep 578 BE -dep 579 4D -dep 57A BE -dep 57B 82 -dep 57C A4 -dep 57D 5A -dep 57E A4 -dep 57F 58 -dep 580 AE -dep 581 A0 -dep 582 05 -dep 583 5C -dep 584 85 -dep 585 2A -dep 586 2F -dep 587 4D -dep 588 4F -dep 589 44 -dep 58A 02 -dep 58B 81 -dep 58C BE -dep 58D 81 -dep 58E BE -dep 58F 81 -dep 590 02 -dep 591 A5 -dep 592 02 -dep 593 86 -dep 594 BE -dep 595 00 -dep 596 AE -dep 597 80 -dep 598 BE -dep 599 81 -dep 59A 02 -dep 59B B9 -dep 59C BE -dep 59D 01 -dep 59E BE -dep 59F 01 -dep 5A0 BE -dep 5A1 84 -dep 5A2 B4 -dep 5A3 80 -dep 5A4 88 -dep 5A5 DC -dep 5A6 AE -dep 5A7 C0 -dep 5A8 88 -dep 5A9 DB -dep 5AA B8 -dep 5AB C1 -dep 5AC AE -dep 5AD 80 -dep 5AE BE -dep 5AF 04 -dep 5B0 AE -dep 5B1 80 -dep 5B2 AC -dep 5B3 40 -dep 5B4 AE -dep 5B5 80 -dep 5B6 BC -dep 5B7 C0 -dep 5B8 BE -dep 5B9 01 -dep 5BA 88 -dep 5BB E1 -dep 5BC AE -dep 5BD 80 -dep 5BE BC -dep 5BF C0 -dep 5C0 AE -dep 5C1 80 -dep 5C2 A0 -dep 5C3 20 -dep 5C4 05 -dep 5C5 16 -dep 5C6 A6 -dep 5C7 44 -dep 5C8 55 -dep 5C9 50 -dep 5CA 5F -dep 5CB 30 -dep 5CC 3C -dep 5CD 20 -dep 5CE A0 -dep 5CF E1 -dep 5D0 05 -dep 5D1 68 -dep 5D2 8B -dep 5D3 55 -dep 5D4 4D -dep 5D5 2F -dep 5D6 4D -dep 5D7 4F -dep 5D8 44 -dep 5D9 2F -dep 5DA 53 -dep 5DB 57 -dep 5DC 41 -dep 5DD 50 -dep 5DE BE -dep 5DF 84 -dep 5E0 A0 -dep 5E1 0A -dep 5E2 A4 -dep 5E3 1A -dep 5E4 A4 -dep 5E5 5A -dep 5E6 A4 -dep 5E7 5A -dep 5E8 A4 -dep 5E9 5A -dep 5EA A4 -dep 5EB 5A -dep 5EC A4 -dep 5ED 5A -dep 5EE A4 -dep 5EF 5A -dep 5F0 A4 -dep 5F1 5A -dep 5F2 A4 -dep 5F3 5A -dep 5F4 A4 -dep 5F5 5A -dep 5F6 A4 -dep 5F7 5A -dep 5F8 A4 -dep 5F9 5A -dep 5FA A4 -dep 5FB 5A -dep 5FC A4 -dep 5FD 5A -dep 5FE A4 -dep 5FF 5A -dep 600 A4 -dep 601 58 -dep 602 A0 -dep 603 20 -dep 604 03 -dep 605 24 -dep 606 84 -dep 607 2F -dep 608 4D -dep 609 4F -dep 60A 44 -dep 60B 20 -dep 60C A0 -dep 60D C1 -dep 60E 89 -dep 60F 17 -dep 610 BC -dep 611 C0 -dep 612 BE -dep 613 81 -dep 614 A0 -dep 615 C1 -dep 616 89 -dep 617 12 -dep 618 BC -dep 619 C0 -dep 61A BE -dep 61B 40 -dep 61C BE -dep 61D 01 -dep 61E 02 -dep 61F EF -dep 620 BC -dep 621 C0 -dep 622 AE -dep 623 A0 -dep 624 BE -dep 625 40 -dep 626 BE -dep 627 01 -dep 628 02 -dep 629 EF -dep 62A AE -dep 62B 80 -dep 62C BC -dep 62D E0 -dep 62E BE -dep 62F 81 -dep 630 A0 -dep 631 C1 -dep 632 89 -dep 633 21 -dep 634 BC -dep 635 C0 -dep 636 BE -dep 637 40 -dep 638 BE -dep 639 01 -dep 63A 02 -dep 63B EF -dep 63C BC -dep 63D C0 -dep 63E AE -dep 63F 80 -dep 640 BC -dep 641 E0 -dep 642 BE -dep 643 40 -dep 644 BE -dep 645 01 -dep 646 02 -dep 647 EF -dep 648 AE -dep 649 A0 -dep 64A 05 -dep 64B D0 -dep 64C 83 -dep 64D 4D -dep 64E 4F -dep 64F 44 -dep 650 03 -dep 651 06 -dep 652 AE -dep 653 60 -dep 654 05 -dep 655 82 -dep 656 82 -dep 657 2A -dep 658 2F -dep 659 20 -dep 65A 02 -dep 65B C5 -dep 65C A0 -dep 65D 60 -dep 65E 06 -dep 65F 04 -dep 660 81 -dep 661 2F -dep 662 03 -dep 663 06 -dep 664 A0 -dep 665 60 -dep 666 06 -dep 667 4A -dep 668 83 -dep 669 4D -dep 66A 49 -dep 66B 4E -dep 66C 01 -dep 66D A2 -dep 66E 01 -dep 66F 26 -dep 670 89 -dep 671 3A -dep 672 A0 -dep 673 60 -dep 674 AE -dep 675 60 -dep 676 06 -dep 677 66 -dep 678 83 -dep 679 4D -dep 67A 41 -dep 67B 58 -dep 67C 01 -dep 67D A2 -dep 67E 01 -dep 67F 2C -dep 680 89 -dep 681 42 -dep 682 A0 -dep 683 60 -dep 684 AE -dep 685 60 -dep 686 A0 -dep 687 02 -dep 688 A0 -dep 689 02 -dep 68A A0 -dep 68B 02 -dep 68C A0 -dep 68D 02 -dep 68E A0 -dep 68F 02 -dep 690 A0 -dep 691 02 -dep 692 A0 -dep 693 02 -dep 694 A0 -dep 695 22 -dep 696 A0 -dep 697 07 -dep 698 A0 -dep 699 07 -dep 69A A0 -dep 69B 07 -dep 69C A0 -dep 69D 07 -dep 69E A0 -dep 69F 07 -dep 6A0 A0 -dep 6A1 07 -dep 6A2 A0 -dep 6A3 07 -dep 6A4 A0 -dep 6A5 27 -dep 6A6 02 -dep 6A7 3A -dep 6A8 89 -dep 6A9 69 -dep 6AA 6E -dep 6AB 69 -dep 6AC 74 -dep 6AD 2D -dep 6AE 38 -dep 6AF 32 -dep 6B0 35 -dep 6B1 30 -dep 6B2 A0 -dep 6B3 20 -dep 6B4 06 -dep 6B5 54 -dep 6B6 84 -dep 6B7 52 -dep 6B8 43 -dep 6B9 56 -dep 6BA 3F -dep 6BB 20 -dep 6BC BE -dep 6BD 3A -dep 6BE 02 -dep 6BF D8 -dep 6C0 84 -dep 6C1 58 -dep 6C2 4D -dep 6C3 54 -dep 6C4 3F -dep 6C5 20 -dep 6C6 BF -dep 6C7 60 -dep 6C8 06 -dep 6C9 B4 -dep 6CA 83 -dep 6CB 52 -dep 6CC 43 -dep 6CD 56 -dep 6CE 03 -dep 6CF 5E -dep 6D0 89 -dep 6D1 67 -dep 6D2 BE -dep 6D3 39 -dep 6D4 06 -dep 6D5 BE -dep 6D6 83 -dep 6D7 58 -dep 6D8 4D -dep 6D9 54 -dep 6DA 03 -dep 6DB 63 -dep 6DC 89 -dep 6DD 6D -dep 6DE BE -dep 6DF B9 -dep 6E0 05 -dep 6E1 36 -dep 6E2 84 -dep 6E3 23 -dep 6E4 52 -dep 6E5 43 -dep 6E6 56 -dep 6E7 20 -dep 6E8 03 -dep 6E9 67 -dep 6EA 03 -dep 6EB 67 -dep 6EC 03 -dep 6ED 43 -dep 6EE A8 -dep 6EF 60 -dep 6F0 06 -dep 6F1 E0 -dep 6F2 84 -dep 6F3 23 -dep 6F4 58 -dep 6F5 4D -dep 6F6 54 -dep 6F7 20 -dep 6F8 A0 -dep 6F9 C0 -dep 6FA 03 -dep 6FB 6D -dep 6FC 03 -dep 6FD 4B -dep 6FE 03 -dep 6FF 6D -dep 700 A0 -dep 701 20 -dep 702 06 -dep 703 C8 -dep 704 84 -dep 705 52 -dep 706 43 -dep 707 56 -dep 708 53 -dep 709 20 -dep 70A 01 -dep 70B 19 -dep 70C 89 -dep 70D 91 -dep 70E BE -dep 70F 40 -dep 710 AE -dep 711 80 -dep 712 BE -dep 713 81 -dep 714 BE -dep 715 81 -dep 716 03 -dep 717 67 -dep 718 AE -dep 719 C0 -dep 71A FE -dep 71B 80 -dep 71C B8 -dep 71D C1 -dep 71E 00 -dep 71F 17 -dep 720 07 -dep 721 16 -dep 722 AE -dep 723 60 -dep 724 06 -dep 725 D4 -dep 726 84 -dep 727 58 -dep 728 4D -dep 729 54 -dep 72A 53 -dep 72B 20 -dep 72C 01 -dep 72D 19 -dep 72E 89 -dep 72F A2 -dep 730 BE -dep 731 40 -dep 732 AE -dep 733 80 -dep 734 BE -dep 735 81 -dep 736 BE -dep 737 81 -dep 738 A0 -dep 739 C0 -dep 73A FE -dep 73B 00 -dep 73C 03 -dep 73D 6D -dep 73E B8 -dep 73F C1 -dep 740 00 -dep 741 17 -dep 742 07 -dep 743 38 -dep 744 AE -dep 745 60 -dep 746 06 -dep 747 F0 -dep 748 83 -dep 749 43 -dep 74A 4D -dep 74B 44 -dep 74C BE -dep 74D 40 -dep 74E 03 -dep 74F 6D -dep 750 03 -dep 751 6D -dep 752 A0 -dep 753 20 -dep 754 A0 -dep 755 C0 -dep 756 00 -dep 757 FF -dep 758 89 -dep 759 AF -dep 75A 00 -dep 75B ED -dep 75C A6 -dep 75D 40 -dep 75E A0 -dep 75F 20 -dep 760 07 -dep 761 46 -dep 762 83 -dep 763 4B -dep 764 45 -dep 765 59 -dep 766 00 -dep 767 67 -dep 768 EE -dep 769 00 -dep 76A BE -dep 76B 87 -dep 76C A0 -dep 76D 20 -dep 76E 06 -dep 76F 76 -dep 770 84 -dep 771 45 -dep 772 4D -dep 773 49 -dep 774 54 -dep 775 20 -dep 776 03 -dep 777 AA -dep 778 00 -dep 779 69 -dep 77A EE -dep 77B 00 -dep 77C BE -dep 77D 87 -dep 77E BE -dep 77F 41 -dep 780 00 -dep 781 97 -dep 782 01 -dep 783 5D -dep 784 A0 -dep 785 20 -dep 786 07 -dep 787 60 -dep 788 84 -dep 789 4B -dep 78A 45 -dep 78B 59 -dep 78C 3F -dep 78D 20 -dep 78E 00 -dep 78F 63 -dep 790 EE -dep 791 00 -dep 792 BE -dep 793 87 -dep 794 A0 -dep 795 20 -dep 796 07 -dep 797 6E -dep 798 85 -dep 799 45 -dep 79A 4D -dep 79B 49 -dep 79C 54 -dep 79D 3F -dep 79E 00 -dep 79F 65 -dep 7A0 EE -dep 7A1 00 -dep 7A2 BE -dep 7A3 87 -dep 7A4 A0 -dep 7A5 20 -dep 7A6 07 -dep 7A7 86 -dep 7A8 82 -dep 7A9 43 -dep 7AA 52 -dep 7AB 20 -dep 7AC BE -dep 7AD 4D -dep 7AE 03 -dep 7AF BB -dep 7B0 BE -dep 7B1 4A -dep 7B2 03 -dep 7B3 BB -dep 7B4 BE -dep 7B5 40 -dep 7B6 00 -dep 7B7 97 -dep 7B8 EE -dep 7B9 A0 -dep 7BA 05 -dep 7BB C4 -dep 7BC 84 -dep 7BD 54 -dep 7BE 59 -dep 7BF 50 -dep 7C0 45 -dep 7C1 20 -dep 7C2 BE -dep 7C3 81 -dep 7C4 91 -dep 7C5 E6 -dep 7C6 F9 -dep 7C7 41 -dep 7C8 AE -dep 7C9 80 -dep 7CA 03 -dep 7CB BB -dep 7CC 99 -dep 7CD E3 -dep 7CE AE -dep 7CF 60 -dep 7D0 07 -dep 7D1 A6 -dep 7D2 85 -dep 7D3 53 -dep 7D4 50 -dep 7D5 41 -dep 7D6 43 -dep 7D7 45 -dep 7D8 00 -dep 7D9 ED -dep 7DA 03 -dep 7DB BB -dep 7DC A0 -dep 7DD 20 -dep 7DE 07 -dep 7DF D0 -dep 7E0 86 -dep 7E1 53 -dep 7E2 50 -dep 7E3 41 -dep 7E4 43 -dep 7E5 45 -dep 7E6 53 -dep 7E7 20 -dep 7E8 BE -dep 7E9 40 -dep 7EA 03 -dep 7EB 3E -dep 7EC BE -dep 7ED 81 -dep 7EE 91 -dep 7EF F9 -dep 7F0 03 -dep 7F1 EC -dep 7F2 99 -dep 7F3 F8 -dep 7F4 A0 -dep 7F5 20 -dep 7F6 07 -dep 7F7 24 -dep 7F8 84 -dep 7F9 48 -dep 7FA 45 -dep 7FB 52 -dep 7FC 45 -dep 7FD 20 -dep 7FE 00 -dep 7FF B4 -dep 800 EE -dep 801 20 -dep 802 07 -dep 803 F6 -dep 804 83 -dep 805 50 -dep 806 41 -dep 807 44 -dep 808 03 -dep 809 FF -dep 80A D8 -dep 80B A0 -dep 80C 00 -dep 80D 80 -dep 80E 03 -dep 80F FF -dep 810 D8 -dep 811 A0 -dep 812 04 -dep 813 00 -dep 814 07 -dep 815 BA -dep 816 83 -dep 817 54 -dep 818 49 -dep 819 42 -dep 81A 00 -dep 81B C6 -dep 81C EE -dep 81D 20 -dep 81E 06 -dep 81F A6 -dep 820 85 -dep 821 41 -dep 822 4C -dep 823 49 -dep 824 47 -dep 825 4E -dep 826 03 -dep 827 FF -dep 828 B2 -dep 829 C1 -dep 82A 00 -dep 82B B4 -dep 82C 01 -dep 82D 5D -dep 82E A0 -dep 82F 20 -dep 830 07 -dep 831 96 -dep 832 84 -dep 833 45 -dep 834 56 -dep 835 45 -dep 836 4E -dep 837 20 -dep 838 A0 -dep 839 C0 -dep 83A B2 -dep 83B C1 -dep 83C A8 -dep 83D 60 -dep 83E 08 -dep 83F 14 -dep 840 87 -dep 841 44 -dep 842 45 -dep 843 43 -dep 844 49 -dep 845 4D -dep 846 41 -dep 847 4C -dep 848 BE -dep 849 4A -dep 84A 00 -dep 84B 79 -dep 84C EE -dep 84D A0 -dep 84E 08 -dep 84F 02 -dep 850 83 -dep 851 48 -dep 852 45 -dep 853 58 -dep 854 BE -dep 855 50 -dep 856 00 -dep 857 79 -dep 858 EE -dep 859 A0 -dep 85A 07 -dep 85B 02 -dep 85C 86 -dep 85D 42 -dep 85E 49 -dep 85F 4E -dep 860 41 -dep 861 52 -dep 862 59 -dep 863 20 -dep 864 BE -dep 865 42 -dep 866 00 -dep 867 79 -dep 868 EE -dep 869 A0 -dep 86A 07 -dep 86B DE -dep 86C 85 -dep 86D 43 -dep 86E 4F -dep 86F 55 -dep 870 4E -dep 871 54 -dep 872 F9 -dep 873 41 -dep 874 AE -dep 875 A0 -dep 876 06 -dep 877 5E -dep 878 87 -dep 879 2F -dep 87A 53 -dep 87B 54 -dep 87C 52 -dep 87D 49 -dep 87E 4E -dep 87F 47 -dep 880 01 -dep 881 4D -dep 882 AE -dep 883 C0 -dep 884 A8 -dep 885 40 -dep 886 01 -dep 887 55 -dep 888 AC -dep 889 60 -dep 88A 08 -dep 88B 6A -dep 88C 84 -dep 88D 53 -dep 88E 4B -dep 88F 49 -dep 890 50 -dep 891 20 -dep 892 BE -dep 893 81 -dep 894 A0 -dep 895 C0 -dep 896 88 -dep 897 55 -dep 898 AE -dep 899 C0 -dep 89A FE -dep 89B 00 -dep 89C B4 -dep 89D 80 -dep 89E 88 -dep 89F 52 -dep 8A0 B0 -dep 8A1 01 -dep 8A2 A0 -dep 8A3 20 -dep 8A4 BE -dep 8A5 41 -dep 8A6 04 -dep 8A7 40 -dep 8A8 90 -dep 8A9 4A -dep 8AA B0 -dep 8AB 01 -dep 8AC A0 -dep 8AD 20 -dep 8AE 08 -dep 8AF 8A -dep 8B0 84 -dep 8B1 53 -dep 8B2 43 -dep 8B3 41 -dep 8B4 4E -dep 8B5 20 -dep 8B6 BE -dep 8B7 81 -dep 8B8 A0 -dep 8B9 C0 -dep 8BA 88 -dep 8BB 68 -dep 8BC AE -dep 8BD C0 -dep 8BE FE -dep 8BF 00 -dep 8C0 BE -dep 8C1 00 -dep 8C2 01 -dep 8C3 0A -dep 8C4 88 -dep 8C5 65 -dep 8C6 B0 -dep 8C7 01 -dep 8C8 A0 -dep 8C9 20 -dep 8CA BE -dep 8CB 41 -dep 8CC 04 -dep 8CD 40 -dep 8CE 90 -dep 8CF 5C -dep 8D0 B0 -dep 8D1 01 -dep 8D2 A0 -dep 8D3 20 -dep 8D4 08 -dep 8D5 30 -dep 8D6 89 -dep 8D7 2D -dep 8D8 54 -dep 8D9 52 -dep 8DA 41 -dep 8DB 49 -dep 8DC 4C -dep 8DD 49 -dep 8DE 4E -dep 8DF 47 -dep 8E0 01 -dep 8E1 A2 -dep 8E2 01 -dep 8E3 A2 -dep 8E4 00 -dep 8E5 ED -dep 8E6 04 -dep 8E7 49 -dep 8E8 A0 -dep 8E9 C0 -dep 8EA 88 -dep 8EB 7B -dep 8EC 01 -dep 8ED A8 -dep 8EE 01 -dep 8EF 9C -dep 8F0 00 -dep 8F1 ED -dep 8F2 04 -dep 8F3 5B -dep 8F4 90 -dep 8F5 71 -dep 8F6 01 -dep 8F7 9C -dep 8F8 A0 -dep 8F9 40 -dep 8FA AC -dep 8FB 60 -dep 8FC 08 -dep 8FD 4E -dep 8FE 85 -dep 8FF 50 -dep 900 4C -dep 901 41 -dep 902 43 -dep 903 45 -dep 904 01 -dep 905 A2 -dep 906 FE -dep 907 80 -dep 908 B8 -dep 909 C1 -dep 90A AE -dep 90B 80 -dep 90C 02 -dep 90D 42 -dep 90E A0 -dep 90F 20 -dep 910 08 -dep 911 1E -dep 912 86 -dep 913 41 -dep 914 50 -dep 915 50 -dep 916 45 -dep 917 4E -dep 918 44 -dep 919 20 -dep 91A BE -dep 91B 81 -dep 91C BE -dep 91D 00 -dep 91E 04 -dep 91F 39 -dep 920 A8 -dep 921 40 -dep 922 AE -dep 923 C0 -dep 924 BE -dep 925 00 -dep 926 F8 -dep 927 80 -dep 928 BE -dep 929 01 -dep 92A FE -dep 92B 80 -dep 92C AE -dep 92D 80 -dep 92E 02 -dep 92F 42 -dep 930 A0 -dep 931 20 -dep 932 08 -dep 933 D4 -dep 934 85 -dep 935 55 -dep 936 50 -dep 937 50 -dep 938 45 -dep 939 52 -dep 93A A0 -dep 93B C0 -dep 93C DE -dep 93D 00 -dep 93E 00 -dep 93F 61 -dep 940 DE -dep 941 00 -dep 942 00 -dep 943 7A -dep 944 B8 -dep 945 C1 -dep 946 01 -dep 947 77 -dep 948 88 -dep 949 A7 -dep 94A D4 -dep 94B 80 -dep 94C 00 -dep 94D 20 -dep 94E A0 -dep 94F 20 -dep 950 08 -dep 951 AE -dep 952 87 -dep 953 43 -dep 954 4F -dep 955 4D -dep 956 50 -dep 957 41 -dep 958 52 -dep 959 45 -dep 95A BE -dep 95B 81 -dep 95C 90 -dep 95D BE -dep 95E AE -dep 95F C0 -dep 960 FE -dep 961 00 -dep 962 04 -dep 963 9D -dep 964 AE -dep 965 C0 -dep 966 FE -dep 967 00 -dep 968 04 -dep 969 9D -dep 96A 01 -dep 96B 11 -dep 96C 88 -dep 96D BA -dep 96E 01 -dep 96F 9C -dep 970 B0 -dep 971 01 -dep 972 BE -dep 973 60 -dep 974 AE -dep 975 80 -dep 976 B8 -dep 977 C1 -dep 978 AE -dep 979 80 -dep 97A B8 -dep 97B C1 -dep 97C 98 -dep 97D AF -dep 97E 01 -dep 97F 9C -dep 980 BF -dep 981 60 -dep 982 BE -dep 983 01 -dep 984 04 -dep 985 39 -dep 986 01 -dep 987 A2 -dep 988 A8 -dep 989 40 -dep 98A 04 -dep 98B 1C -dep 98C BE -dep 98D A7 -dep 98E BE -dep 98F 01 -dep 990 04 -dep 991 39 -dep 992 01 -dep 993 A2 -dep 994 03 -dep 995 E1 -dep 996 A8 -dep 997 40 -dep 998 04 -dep 999 1C -dep 99A BE -dep 99B A7 -dep 99C 08 -dep 99D FC -dep 99E 84 -dep 99F 48 -dep 9A0 4F -dep 9A1 4C -dep 9A2 44 -dep 9A3 20 -dep 9A4 BF -dep 9A5 40 -dep 9A6 00 -dep 9A7 8F -dep 9A8 01 -dep 9A9 5D -dep 9AA 00 -dep 9AB 8F -dep 9AC EE -dep 9AD 00 -dep 9AE FE -dep 9AF A0 -dep 9B0 08 -dep 9B1 3E -dep 9B2 85 -dep 9B3 44 -dep 9B4 49 -dep 9B5 47 -dep 9B6 49 -dep 9B7 54 -dep 9B8 A0 -dep 9B9 C0 -dep 9BA BE -dep 9BB 49 -dep 9BC 01 -dep 9BD 26 -dep 9BE B2 -dep 9BF C7 -dep 9C0 A8 -dep 9C1 40 -dep 9C2 D8 -dep 9C3 A0 -dep 9C4 00 -dep 9C5 30 -dep 9C6 09 -dep 9C7 50 -dep 9C8 84 -dep 9C9 53 -dep 9CA 49 -dep 9CB 47 -dep 9CC 4E -dep 9CD 20 -dep 9CE A0 -dep 9CF 01 -dep 9D0 88 -dep 9D1 EC -dep 9D2 DE -dep 9D3 00 -dep 9D4 00 -dep 9D5 2D -dep 9D6 04 -dep 9D7 D2 -dep 9D8 A0 -dep 9D9 20 -dep 9DA 09 -dep 9DB B0 -dep 9DC 82 -dep 9DD 3C -dep 9DE 23 -dep 9DF 20 -dep 9E0 04 -dep 9E1 04 -dep 9E2 00 -dep 9E3 8F -dep 9E4 EE -dep 9E5 A0 -dep 9E6 09 -dep 9E7 C6 -dep 9E8 81 -dep 9E9 23 -dep 9EA BE -dep 9EB 40 -dep 9EC 00 -dep 9ED 79 -dep 9EE EE -dep 9EF 00 -dep 9F0 A0 -dep 9F1 C0 -dep 9F2 BE -dep 9F3 81 -dep 9F4 02 -dep 9F5 B9 -dep 9F6 BE -dep 9F7 01 -dep 9F8 AE -dep 9F9 80 -dep 9FA BE -dep 9FB 81 -dep 9FC 02 -dep 9FD B9 -dep 9FE AE -dep 9FF 80 -dep A00 BE -dep A01 01 -dep A02 AE -dep A03 80 -dep A04 04 -dep A05 DC -dep A06 04 -dep A07 D2 -dep A08 A0 -dep A09 20 -dep A0A 09 -dep A0B E6 -dep A0C 82 -dep A0D 23 -dep A0E 53 -dep A0F 20 -dep A10 04 -dep A11 F5 -dep A12 01 -dep A13 A2 -dep A14 01 -dep A15 F3 -dep A16 89 -dep A17 08 -dep A18 A0 -dep A19 20 -dep A1A 0A -dep A1B 0A -dep A1C 82 -dep A1D 23 -dep A1E 3E -dep A1F 20 -dep A20 01 -dep A21 9C -dep A22 00 -dep A23 8F -dep A24 EE -dep A25 00 -dep A26 04 -dep A27 04 -dep A28 AE -dep A29 C0 -dep A2A AC -dep A2B 60 -dep A2C BE -dep A2D 40 -dep A2E 04 -dep A2F F0 -dep A30 04 -dep A31 F5 -dep A32 04 -dep A33 F5 -dep A34 05 -dep A35 10 -dep A36 03 -dep A37 E1 -dep A38 03 -dep A39 EC -dep A3A A0 -dep A3B 20 -dep A3C 09 -dep A3D 9C -dep A3E 84 -dep A3F 28 -dep A40 64 -dep A41 2E -dep A42 29 -dep A43 20 -dep A44 01 -dep A45 82 -dep A46 02 -dep A47 1D -dep A48 04 -dep A49 F0 -dep A4A 05 -dep A4B 08 -dep A4C 01 -dep A4D 4D -dep A4E 04 -dep A4F E7 -dep A50 05 -dep A51 10 -dep A52 A0 -dep A53 20 -dep A54 09 -dep A55 DA -dep A56 82 -dep A57 44 -dep A58 2E -dep A59 20 -dep A5A 05 -dep A5B 22 -dep A5C 03 -dep A5D E1 -dep A5E 03 -dep A5F EC -dep A60 A0 -dep A61 20 -dep A62 04 -dep A63 C8 -dep A64 81 -dep A65 2E -dep A66 A0 -dep A67 C1 -dep A68 05 -dep A69 2D -dep A6A A0 -dep A6B 20 -dep A6C 09 -dep A6D 32 -dep A6E 82 -dep A6F 55 -dep A70 2E -dep A71 20 -dep A72 BE -dep A73 40 -dep A74 05 -dep A75 2D -dep A76 A0 -dep A77 20 -dep A78 0A -dep A79 54 -dep A7A 83 -dep A7B 44 -dep A7C 2E -dep A7D 52 -dep A7E BE -dep A7F 81 -dep A80 05 -dep A81 22 -dep A82 BE -dep A83 01 -dep A84 AE -dep A85 C0 -dep A86 AC -dep A87 40 -dep A88 03 -dep A89 F4 -dep A8A 03 -dep A8B E1 -dep A8C A0 -dep A8D 20 -dep A8E 0A -dep A8F 6C -dep A90 83 -dep A91 55 -dep A92 2E -dep A93 52 -dep A94 BE -dep A95 40 -dep A96 AE -dep A97 80 -dep A98 05 -dep A99 3F -dep A9A A0 -dep A9B 20 -dep A9C 08 -dep A9D 76 -dep A9E 81 -dep A9F 3F -dep AA0 EE -dep AA1 00 -dep AA2 05 -dep AA3 33 -dep AA4 A0 -dep AA5 20 -dep AA6 09 -dep AA7 10 -dep AA8 85 -dep AA9 41 -dep AAA 42 -dep AAB 4F -dep AAC 52 -dep AAD 54 -dep AAE 00 -dep AAF 6D -dep AB0 EE -dep AB1 00 -dep AB2 BE -dep AB3 87 -dep AB4 A0 -dep AB5 20 -dep AB6 89 -dep AB7 64 -dep AB8 03 -dep AB9 FF -dep ABA 04 -dep ABB 39 -dep ABC 03 -dep ABD E1 -dep ABE 03 -dep ABF EC -dep AC0 BE -dep AC1 01 -dep AC2 04 -dep AC3 39 -dep AC4 03 -dep AC5 E1 -dep AC6 05 -dep AC7 57 -dep AC8 BE -dep AC9 01 -dep ACA 04 -dep ACB 39 -dep ACC A8 -dep ACD 40 -dep ACE 04 -dep ACF 1C -dep AD0 BE -dep AD1 A7 -dep AD2 0A -dep AD3 3C -dep AD4 84 -dep AD5 68 -dep AD6 75 -dep AD7 68 -dep AD8 3F -dep AD9 20 -dep ADA 00 -dep ADB FF -dep ADC 05 -dep ADD 5B -dep ADE 01 -dep ADF 3F -dep AE0 A0 -dep AE1 20 -dep AE2 0A -dep AE3 8E -dep AE4 86 -dep AE5 2D -dep AE6 44 -dep AE7 49 -dep AE8 47 -dep AE9 49 -dep AEA 54 -dep AEB 20 -dep AEC BE -dep AED 81 -dep AEE A0 -dep AEF C0 -dep AF0 DE -dep AF1 00 -dep AF2 00 -dep AF3 39 -dep AF4 01 -dep AF5 26 -dep AF6 89 -dep AF7 82 -dep AF8 A0 -dep AF9 C0 -dep AFA DE -dep AFB 00 -dep AFC 00 -dep AFD 40 -dep AFE 01 -dep AFF 26 -dep B00 B2 -dep B01 C7 -dep B02 AC -dep B03 40 -dep B04 D4 -dep B05 80 -dep B06 00 -dep B07 30 -dep B08 A0 -dep B09 C0 -dep B0A BE -dep B0B 01 -dep B0C 01 -dep B0D 65 -dep B0E A0 -dep B0F 20 -dep B10 0A -dep B11 1A -dep B12 87 -dep B13 43 -dep B14 4F -dep B15 4E -dep B16 56 -dep B17 45 -dep B18 52 -dep B19 54 -dep B1A B8 -dep B1B C1 -dep B1C A0 -dep B1D C0 -dep B1E BE -dep B1F 81 -dep B20 FE -dep B21 00 -dep B22 04 -dep B23 9D -dep B24 00 -dep B25 79 -dep B26 EE -dep B27 00 -dep B28 05 -dep B29 76 -dep B2A 89 -dep B2B A2 -dep B2C AE -dep B2D 80 -dep B2E 00 -dep B2F 79 -dep B30 EE -dep B31 00 -dep B32 02 -dep B33 AB -dep B34 AE -dep B35 40 -dep B36 01 -dep B37 4D -dep B38 00 -dep B39 79 -dep B3A EE -dep B3B 00 -dep B3C 02 -dep B3D AB -dep B3E 01 -dep B3F D1 -dep B40 BE -dep B41 01 -dep B42 91 -dep B43 8D -dep B44 AE -dep B45 40 -dep B46 BE -dep B47 01 -dep B48 A0 -dep B49 20 -dep B4A 0A -dep B4B D2 -dep B4C 86 -dep B4D 28 -dep B4E 56 -dep B4F 41 -dep B50 4C -dep B51 3F -dep B52 29 -dep B53 20 -dep B54 04 -dep B55 04 -dep B56 B4 -dep B57 C1 -dep B58 AE -dep B59 C0 -dep B5A AC -dep B5B 40 -dep B5C 01 -dep B5D 82 -dep B5E BE -dep B5F 81 -dep B60 02 -dep B61 42 -dep B62 00 -dep B63 ED -dep B64 04 -dep B65 04 -dep B66 B4 -dep B67 C1 -dep B68 A0 -dep B69 C0 -dep B6A 00 -dep B6B 7F -dep B6C EE -dep B6D 80 -dep B6E FE -dep B6F 80 -dep B70 BE -dep B71 40 -dep B72 BE -dep B73 40 -dep B74 BE -dep B75 01 -dep B76 A0 -dep B77 C0 -dep B78 FE -dep B79 00 -dep B7A DE -dep B7B 00 -dep B7C 00 -dep B7D 2D -dep B7E 01 -dep B7F 0A -dep B80 A0 -dep B81 C0 -dep B82 BE -dep B83 81 -dep B84 AC -dep B85 40 -dep B86 B4 -dep B87 C1 -dep B88 05 -dep B89 8D -dep B8A A0 -dep B8B C0 -dep B8C FE -dep B8D 00 -dep B8E A0 -dep B8F C0 -dep B90 DE -dep B91 00 -dep B92 00 -dep B93 3A -dep B94 01 -dep B95 0A -dep B96 AE -dep B97 80 -dep B98 DE -dep B99 00 -dep B9A 00 -dep B9B 2C -dep B9C DE -dep B9D 00 -dep B9E 00 -dep B9F 2F -dep BA0 B8 -dep BA1 C1 -dep BA2 01 -dep BA3 77 -dep BA4 A6 -dep BA5 40 -dep BA6 89 -dep BA7 D8 -dep BA8 A0 -dep BA9 C0 -dep BAA 00 -dep BAB 7F -dep BAC EE -dep BAD 80 -dep BAE 91 -dep BAF C4 -dep BB0 BE -dep BB1 01 -dep BB2 AE -dep BB3 80 -dep BB4 BE -dep BB5 81 -dep BB6 89 -dep BB7 DD -dep BB8 01 -dep BB9 EC -dep BBA 04 -dep BBB 04 -dep BBC B4 -dep BBD C1 -dep BBE 00 -dep BBF 7F -dep BC0 E4 -dep BC1 80 -dep BC2 B4 -dep BC3 C1 -dep BC4 00 -dep BC5 7F -dep BC6 EE -dep BC7 80 -dep BC8 BE -dep BC9 01 -dep BCA 04 -dep BCB 04 -dep BCC B4 -dep BCD C1 -dep BCE 01 -dep BCF 0A -dep BD0 89 -dep BD1 F2 -dep BD2 00 -dep BD3 7F -dep BD4 EE -dep BD5 00 -dep BD6 A0 -dep BD7 01 -dep BD8 89 -dep BD9 F0 -dep BDA AE -dep BDB 40 -dep BDC BE -dep BDD 41 -dep BDE 91 -dep BDF F1 -dep BE0 BE -dep BE1 42 -dep BE2 91 -dep BE3 F4 -dep BE4 01 -dep BE5 9C -dep BE6 BE -dep BE7 40 -dep BE8 A0 -dep BE9 20 -dep BEA 0A -dep BEB 62 -dep BEC 84 -dep BED 56 -dep BEE 41 -dep BEF 4C -dep BF0 3F -dep BF1 20 -dep BF2 00 -dep BF3 79 -dep BF4 EE -dep BF5 00 -dep BF6 BE -dep BF7 81 -dep BF8 AE -dep BF9 C0 -dep BFA FE -dep BFB 00 -dep BFC DE -dep BFD 00 -dep BFE 00 -dep BFF 24 -dep C00 01 -dep C01 0A -dep C02 88 -dep C03 06 -dep C04 04 -dep C05 2A -dep C06 BE -dep C07 41 -dep C08 04 -dep C09 40 -dep C0A 90 -dep C0B 19 -dep C0C AE -dep C0D C0 -dep C0E FE -dep C0F 00 -dep C10 DE -dep C11 00 -dep C12 00 -dep C13 23 -dep C14 01 -dep C15 0A -dep C16 88 -dep C17 10 -dep C18 04 -dep C19 24 -dep C1A BE -dep C1B 41 -dep C1C 04 -dep C1D 40 -dep C1E 90 -dep C1F 19 -dep C20 AE -dep C21 C0 -dep C22 FE -dep C23 00 -dep C24 DE -dep C25 00 -dep C26 00 -dep C27 25 -dep C28 01 -dep C29 0A -dep C2A 88 -dep C2B 19 -dep C2C 04 -dep C2D 32 -dep C2E BE -dep C2F 41 -dep C30 04 -dep C31 40 -dep C32 05 -dep C33 AA -dep C34 BE -dep C35 01 -dep C36 00 -dep C37 79 -dep C38 EE -dep C39 A0 -dep C3A 0B -dep C3B 4A -dep C3C 84 -dep C3D 50 -dep C3E 49 -dep C3F 43 -dep C40 4B -dep C41 20 -dep C42 BE -dep C43 04 -dep C44 BE -dep C45 81 -dep C46 BE -dep C47 06 -dep C48 BE -dep C49 81 -dep C4A BE -dep C4B 84 -dep C4C 04 -dep C4D 07 -dep C4E BE -dep C4F 04 -dep C50 BE -dep C51 82 -dep C52 E9 -dep C53 C2 -dep C54 B4 -dep C55 C2 -dep C56 A0 -dep C57 C0 -dep C58 BE -dep C59 86 -dep C5A BE -dep C5B 04 -dep C5C BE -dep C5D 82 -dep C5E E5 -dep C5F 42 -dep C60 AE -dep C61 40 -dep C62 BE -dep C63 06 -dep C64 EE -dep C65 00 -dep C66 BE -dep C67 01 -dep C68 BE -dep C69 86 -dep C6A BE -dep C6B 01 -dep C6C BE -dep C6D A4 -dep C6E 08 -dep C6F 5A -dep C70 84 -dep C71 52 -dep C72 4F -dep C73 4C -dep C74 4C -dep C75 20 -dep C76 01 -dep C77 19 -dep C78 88 -dep C79 55 -dep C7A BE -dep C7B 04 -dep C7C BE -dep C7D 81 -dep C7E BE -dep C7F 06 -dep C80 BE -dep C81 81 -dep C82 BE -dep C83 84 -dep C84 04 -dep C85 07 -dep C86 BE -dep C87 04 -dep C88 BE -dep C89 82 -dep C8A E9 -dep C8B C2 -dep C8C B4 -dep C8D C2 -dep C8E A0 -dep C8F C0 -dep C90 BE -dep C91 86 -dep C92 B4 -dep C93 C2 -dep C94 BE -dep C95 04 -dep C96 B4 -dep C97 C1 -dep C98 BE -dep C99 82 -dep C9A E5 -dep C9B 42 -dep C9C AE -dep C9D 40 -dep C9E BE -dep C9F 06 -dep CA0 EE -dep CA1 00 -dep CA2 BE -dep CA3 01 -dep CA4 BE -dep CA5 86 -dep CA6 BE -dep CA7 01 -dep CA8 BE -dep CA9 84 -dep CAA A0 -dep CAB 20 -dep CAC 0A -dep CAD 78 -dep CAE 85 -dep CAF 44 -dep CB0 45 -dep CB1 50 -dep CB2 54 -dep CB3 48 -dep CB4 BE -dep CB5 40 -dep CB6 B8 -dep CB7 89 -dep CB8 D2 -dep CB9 80 -dep CBA 00 -dep CBB FF -dep CBC B4 -dep CBD E3 -dep CBE 0A -dep CBF 9C -dep CC0 86 -dep CC1 3F -dep CC2 53 -dep CC3 54 -dep CC4 41 -dep CC5 43 -dep CC6 4B -dep CC7 20 -dep CC8 06 -dep CC9 5A -dep CCA A0 -dep CCB 01 -dep CCC 05 -dep CCD 5B -dep CCE 10 -dep CCF 53 -dep CD0 74 -dep CD1 61 -dep CD2 63 -dep CD3 6B -dep CD4 20 -dep CD5 75 -dep CD6 6E -dep CD7 64 -dep CD8 65 -dep CD9 72 -dep CDA 66 -dep CDB 6C -dep CDC 6F -dep CDD 77 -dep CDE 20 -dep CDF 20 -dep CE0 A0 -dep CE1 20 -dep CE2 0C -dep CE3 BE -dep CE4 85 -dep CE5 3F -dep CE6 43 -dep CE7 4F -dep CE8 4D -dep CE9 50 -dep CEA 00 -dep CEB 61 -dep CEC EE -dep CED 00 -dep CEE 00 -dep CEF FF -dep CF0 05 -dep CF1 5B -dep CF2 13 -dep CF3 69 -dep CF4 73 -dep CF5 20 -dep CF6 63 -dep CF7 6F -dep CF8 6D -dep CF9 70 -dep CFA 69 -dep CFB 6C -dep CFC 61 -dep CFD 74 -dep CFE 69 -dep CFF 6F -dep D00 6E -dep D01 20 -dep D02 6F -dep D03 6E -dep D04 6C -dep D05 79 -dep D06 A0 -dep D07 20 -dep D08 0B -dep D09 EA -dep D0A 82 -dep D0B 2E -dep D0C 53 -dep D0D 20 -dep D0E 06 -dep D0F 64 -dep D10 03 -dep D11 D6 -dep D12 06 -dep D13 5A -dep D14 BE -dep D15 81 -dep D16 90 -dep D17 8F -dep D18 BE -dep D19 00 -dep D1A 06 -dep D1B 21 -dep D1C 05 -dep D1D 39 -dep D1E 98 -dep D1F 8C -dep D20 04 -dep D21 C7 -dep D22 05 -dep D23 3C -dep D24 74 -dep D25 6F -dep D26 70 -dep D27 20 -dep D28 A0 -dep D29 20 -dep D2A 0C -dep D2B AC -dep D2C 86 -dep D2D 4C -dep D2E 3E -dep D2F 4E -dep D30 41 -dep D31 4D -dep D32 45 -dep D33 20 -dep D34 B8 -dep D35 E2 -dep D36 0D -dep D37 08 -dep D38 85 -dep D39 3E -dep D3A 43 -dep D3B 4F -dep D3C 44 -dep D3D 45 -dep D3E 06 -dep D3F 9A -dep D40 04 -dep D41 39 -dep D42 B2 -dep D43 DF -dep D44 A8 -dep D45 40 -dep D46 04 -dep D47 1C -dep D48 A0 -dep D49 20 -dep D4A 0D -dep D4B 36 -dep D4C 85 -dep D4D 3E -dep D4E 4E -dep D4F 41 -dep D50 4D -dep D51 45 -dep D52 B4 -dep D53 C1 -dep D54 A0 -dep D55 C0 -dep D56 FE -dep D57 00 -dep D58 D2 -dep D59 80 -dep D5A 00 -dep D5B 80 -dep D5C 88 -dep D5D A9 -dep D5E A0 -dep D5F C0 -dep D60 B2 -dep D61 C1 -dep D62 AC -dep D63 60 -dep D64 0D -dep D65 4A -dep D66 85 -dep D67 3E -dep D68 4C -dep D69 49 -dep D6A 4E -dep D6B 4B -dep D6C 06 -dep D6D A9 -dep D6E B4 -dep D6F E2 -dep D70 0D -dep D71 64 -dep D72 83 -dep D73 3E -dep D74 74 -dep D75 61 -dep D76 00 -dep D77 5B -dep D78 E4 -dep D79 A0 -dep D7A 0C -dep D7B 3A -dep D7C 88 -dep D7D 50 -dep D7E 52 -dep D7F 45 -dep D80 56 -dep D81 49 -dep D82 4F -dep D83 55 -dep D84 53 -dep D85 20 -dep D86 00 -dep D87 BA -dep D88 EE -dep D89 00 -dep D8A 06 -dep D8B 9A -dep D8C A0 -dep D8D 20 -dep D8E 0A -dep D8F E2 -dep D90 83 -dep D91 55 -dep D92 53 -dep D93 45 -dep D94 00 -dep D95 BA -dep D96 EE -dep D97 00 -dep D98 06 -dep D99 9F -dep D9A EE -dep D9B A0 -dep D9C 04 -dep D9D 0D -dep D9E 00 -dep D9F 9D -dep DA0 EE -dep DA1 20 -dep DA2 06 -dep DA3 CE -dep DA4 00 -dep DA5 A2 -dep DA6 EE -dep DA7 00 -dep DA8 04 -dep DA9 40 -dep DAA A0 -dep DAB 20 -dep DAC 88 -dep DAD D8 -dep DAE B8 -dep DAF C1 -dep DB0 00 -dep DB1 A2 -dep DB2 01 -dep DB3 5D -dep DB4 A0 -dep DB5 20 -dep DB6 0C -dep DB7 E2 -dep DB8 84 -dep DB9 57 -dep DBA 4F -dep DBB 52 -dep DBC 44 -dep DBD 20 -dep DBE BE -dep DBF 81 -dep DC0 06 -dep DC1 D1 -dep DC2 AE -dep DC3 C0 -dep DC4 BE -dep DC5 01 -dep DC6 AE -dep DC7 80 -dep DC8 BE -dep DC9 81 -dep DCA BE -dep DCB 81 -dep DCC BE -dep DCD 00 -dep DCE 04 -dep DCF 49 -dep DD0 AE -dep DD1 C0 -dep DD2 AE -dep DD3 80 -dep DD4 BE -dep DD5 01 -dep DD6 04 -dep DD7 5B -dep DD8 AE -dep DD9 C0 -dep DDA B4 -dep DDB 81 -dep DDC AE -dep DDD 80 -dep DDE 06 -dep DDF D6 -dep DE0 AE -dep DE1 C0 -dep DE2 AC -dep DE3 40 -dep DE4 03 -dep DE5 FF -dep DE6 A0 -dep DE7 C0 -dep DE8 BE -dep DE9 81 -dep DEA 01 -dep DEB A2 -dep DEC FE -dep DED 80 -dep DEE B8 -dep DEF C1 -dep DF0 AE -dep DF1 80 -dep DF2 02 -dep DF3 42 -dep DF4 00 -dep DF5 ED -dep DF6 BE -dep DF7 00 -dep DF8 04 -dep DF9 39 -dep DFA A8 -dep DFB 40 -dep DFC FE -dep DFD 80 -dep DFE BE -dep DFF 01 -dep E00 A0 -dep E01 20 -dep E02 B8 -dep E03 C1 -dep E04 FE -dep E05 00 -dep E06 B2 -dep E07 C7 -dep E08 A0 -dep E09 02 -dep E0A B8 -dep E0B C2 -dep E0C BE -dep E0D 50 -dep E0E 03 -dep E0F 28 -dep E10 A0 -dep E11 20 -dep E12 AE -dep E13 C0 -dep E14 FE -dep E15 00 -dep E16 AE -dep E17 C0 -dep E18 FE -dep E19 00 -dep E1A B2 -dep E1B DF -dep E1C 01 -dep E1D 11 -dep E1E 89 -dep E1F 12 -dep E20 01 -dep E21 9C -dep E22 BE -dep E23 60 -dep E24 B8 -dep E25 C1 -dep E26 AE -dep E27 80 -dep E28 04 -dep E29 39 -dep E2A 04 -dep E2B AD -dep E2C A0 -dep E2D 20 -dep E2E A0 -dep E2F C0 -dep E30 07 -dep E31 01 -dep E32 01 -dep E33 4D -dep E34 A8 -dep E35 40 -dep E36 EE -dep E37 00 -dep E38 A0 -dep E39 C0 -dep E3A 89 -dep E3B 32 -dep E3C AE -dep E3D C0 -dep E3E AE -dep E3F C0 -dep E40 06 -dep E41 9A -dep E42 07 -dep E43 09 -dep E44 89 -dep E45 30 -dep E46 A0 -dep E47 40 -dep E48 A0 -dep E49 C0 -dep E4A 06 -dep E4B 9F -dep E4C AE -dep E4D 80 -dep E4E 06 -dep E4F 9A -dep E50 FE -dep E51 00 -dep E52 D2 -dep E53 80 -dep E54 00 -dep E55 40 -dep E56 89 -dep E57 2E -dep E58 BE -dep E59 41 -dep E5A 91 -dep E5B 2F -dep E5C BF -dep E5D 40 -dep E5E A0 -dep E5F 20 -dep E60 EE -dep E61 00 -dep E62 91 -dep E63 1C -dep E64 A0 -dep E65 20 -dep E66 0D -dep E67 70 -dep E68 84 -dep E69 46 -dep E6A 49 -dep E6B 4E -dep E6C 44 -dep E6D 20 -dep E6E A0 -dep E6F C0 -dep E70 FE -dep E71 00 -dep E72 A0 -dep E73 C0 -dep E74 89 -dep E75 50 -dep E76 BE -dep E77 5F -dep E78 03 -dep E79 36 -dep E7A AE -dep E7B C0 -dep E7C FE -dep E7D 80 -dep E7E 00 -dep E7F A9 -dep E80 EE -dep E81 00 -dep E82 AE -dep E83 80 -dep E84 07 -dep E85 17 -dep E86 A0 -dep E87 C0 -dep E88 89 -dep E89 46 -dep E8A A0 -dep E8B 20 -dep E8C 00 -dep E8D A9 -dep E8E EE -dep E8F 00 -dep E90 00 -dep E91 D1 -dep E92 01 -dep E93 11 -dep E94 89 -dep E95 4F -dep E96 AE -dep E97 40 -dep E98 00 -dep E99 D1 -dep E9A AE -dep E9B 80 -dep E9C 07 -dep E9D 17 -dep E9E A0 -dep E9F 20 -dep EA0 A0 -dep EA1 20 -dep EA2 0D -dep EA3 B6 -dep EA4 81 -dep EA5 27 -dep EA6 00 -dep EA7 ED -dep EA8 06 -dep EA9 DF -dep EAA 07 -dep EAB 37 -dep EAC 05 -dep EAD 6D -dep EAE A0 -dep EAF 20 -dep EB0 A0 -dep EB1 C0 -dep EB2 03 -dep EB3 FF -dep EB4 A8 -dep EB5 40 -dep EB6 FE -dep EB7 20 -dep EB8 00 -dep EB9 79 -dep EBA EE -dep EBB 00 -dep EBC BE -dep EBD 81 -dep EBE 04 -dep EBF 24 -dep EC0 04 -dep EC1 F0 -dep EC2 00 -dep EC3 ED -dep EC4 04 -dep EC5 D2 -dep EC6 01 -dep EC7 19 -dep EC8 89 -dep EC9 6B -dep ECA A0 -dep ECB C0 -dep ECC DA -dep ECD 80 -dep ECE 00 -dep ECF 40 -dep ED0 04 -dep ED1 D2 -dep ED2 A0 -dep ED3 C0 -dep ED4 91 -dep ED5 6E -dep ED6 03 -dep ED7 B3 -dep ED8 BE -dep ED9 40 -dep EDA 05 -dep EDB 08 -dep EDC DE -dep EDD 00 -dep EDE 00 -dep EDF 7E -dep EE0 04 -dep EE1 D2 -dep EE2 05 -dep EE3 10 -dep EE4 AE -dep EE5 80 -dep EE6 AE -dep EE7 C0 -dep EE8 04 -dep EE9 04 -dep EEA B8 -dep EEB C2 -dep EEC AE -dep EED 80 -dep EEE 02 -dep EEF 42 -dep EF0 B4 -dep EF1 C1 -dep EF2 04 -dep EF3 04 -dep EF4 B8 -dep EF5 C1 -dep EF6 FE -dep EF7 80 -dep EF8 04 -dep EF9 04 -dep EFA B8 -dep EFB C1 -dep EFC BE -dep EFD 01 -dep EFE 00 -dep EFF 79 -dep F00 EE -dep F01 A0 -dep F02 07 -dep F03 5C -dep F04 07 -dep F05 37 -dep F06 89 -dep F07 86 -dep F08 BE -dep F09 87 -dep F0A 91 -dep F0B 87 -dep F0C AE -dep F0D 40 -dep F0E A0 -dep F0F 20 -dep F10 01 -dep F11 A2 -dep F12 A0 -dep F13 C0 -dep F14 03 -dep F15 BB -dep F16 AE -dep F17 40 -dep F18 03 -dep F19 FF -dep F1A A8 -dep F1B 40 -dep F1C FE -dep F1D 80 -dep F1E B8 -dep F1F E1 -dep F20 0D -dep F21 8E -dep F22 86 -dep F23 45 -dep F24 58 -dep F25 50 -dep F26 45 -dep F27 43 -dep F28 54 -dep F29 20 -dep F2A 03 -dep F2B FF -dep F2C AE -dep F2D C0 -dep F2E B8 -dep F2F C2 -dep F30 02 -dep F31 77 -dep F32 BE -dep F33 40 -dep F34 01 -dep F35 A2 -dep F36 01 -dep F37 26 -dep F38 89 -dep F39 A9 -dep F3A 03 -dep F3B B3 -dep F3C A0 -dep F3D C0 -dep F3E D4 -dep F3F 80 -dep F40 00 -dep F41 20 -dep F42 DE -dep F43 00 -dep F44 00 -dep F45 5F -dep F46 01 -dep F47 65 -dep F48 89 -dep F49 A7 -dep F4A 07 -dep F4B 88 -dep F4C 91 -dep F4D A8 -dep F4E 07 -dep F4F 81 -dep F50 91 -dep F51 9A -dep F52 00 -dep F53 C0 -dep F54 EE -dep F55 80 -dep F56 03 -dep F57 FF -dep F58 01 -dep F59 4D -dep F5A 01 -dep F5B 4D -dep F5C 02 -dep F5D 42 -dep F5E A0 -dep F5F 20 -dep F60 0E -dep F61 66 -dep F62 82 -dep F63 7E -dep F64 5B -dep F65 20 -dep F66 A0 -dep F67 C0 -dep F68 89 -dep F69 BE -dep F6A BE -dep F6B 48 -dep F6C 03 -dep F6D BB -dep F6E DE -dep F6F 00 -dep F70 00 -dep F71 20 -dep F72 03 -dep F73 BB -dep F74 BE -dep F75 48 -dep F76 03 -dep F77 BB -dep F78 B4 -dep F79 C1 -dep F7A 91 -dep F7B B3 -dep F7C A0 -dep F7D 20 -dep F7E 0F -dep F7F 60 -dep F80 82 -dep F81 7E -dep F82 48 -dep F83 20 -dep F84 A0 -dep F85 C0 -dep F86 89 -dep F87 CC -dep F88 BE -dep F89 48 -dep F8A 03 -dep F8B BB -dep F8C DE -dep F8D 00 -dep F8E 00 -dep F8F 20 -dep F90 03 -dep F91 BB -dep F92 BE -dep F93 48 -dep F94 03 -dep F95 BB -dep F96 B4 -dep F97 C1 -dep F98 A0 -dep F99 20 -dep F9A 0F -dep F9B 7E -dep F9C 82 -dep F9D 7E -dep F9E 4D -dep F9F 20 -dep FA0 03 -dep FA1 EC -dep FA2 03 -dep FA3 36 -dep FA4 A0 -dep FA5 E0 -dep FA6 0D -dep FA7 2A -dep FA8 85 -dep FA9 54 -dep FAA 49 -dep FAB 43 -dep FAC 4B -dep FAD 53 -dep FAE DE -dep FAF 00 -dep FB0 00 -dep FB1 33 -dep FB2 03 -dep FB3 A6 -dep FB4 03 -dep FB5 74 -dep FB6 A0 -dep FB7 20 -dep FB8 0F -dep FB9 A6 -dep FBA 85 -dep FBB 54 -dep FBC 49 -dep FBD 4D -dep FBE 45 -dep FBF 52 -dep FC0 07 -dep FC1 D7 -dep FC2 00 -dep FC3 7B -dep FC4 EE -dep FC5 A0 -dep FC6 0B -dep FC7 10 -dep FC8 85 -dep FC9 43 -dep FCA 4C -dep FCB 49 -dep FCC 43 -dep FCD 4B -dep FCE 07 -dep FCF D7 -dep FD0 00 -dep FD1 7B -dep FD2 E4 -dep FD3 80 -dep FD4 DE -dep FD5 00 -dep FD6 03 -dep FD7 E8 -dep FD8 DE -dep FD9 00 -dep FDA 00 -dep FDB B6 -dep FDC 03 -dep FDD 2D -dep FDE 00 -dep FDF 79 -dep FE0 EE -dep FE1 00 -dep FE2 BE -dep FE3 81 -dep FE4 04 -dep FE5 24 -dep FE6 BE -dep FE7 40 -dep FE8 04 -dep FE9 F0 -dep FEA 04 -dep FEB F5 -dep FEC 04 -dep FED F5 -dep FEE DE -dep FEF 00 -dep FF0 00 -dep FF1 2E -dep FF2 04 -dep FF3 D2 -dep FF4 05 -dep FF5 08 -dep FF6 05 -dep FF7 10 -dep FF8 03 -dep FF9 E1 -dep FFA 04 -dep FFB C7 -dep FFC 09 -dep FFD 20 -dep FFE 73 -dep FFF 65 -dep 1000 63 -dep 1001 6F -dep 1002 6E -dep 1003 64 -dep 1004 73 -dep 1005 2E -dep 1006 BE -dep 1007 01 -dep 1008 00 -dep 1009 79 -dep 100A EE -dep 100B A0 -dep 100C 0F -dep 100D B8 -dep 100E 8B -dep 100F 44 -dep 1010 4F -dep 1011 53 -dep 1012 2D -dep 1013 43 -dep 1014 4F -dep 1015 4D -dep 1016 4D -dep 1017 41 -dep 1018 4E -dep 1019 44 -dep 101A DE -dep 101B 00 -dep 101C 00 -dep 101D 30 -dep 101E 03 -dep 101F A6 -dep 1020 A0 -dep 1021 C0 -dep 1022 03 -dep 1023 7C -dep 1024 03 -dep 1025 96 -dep 1026 03 -dep 1027 67 -dep 1028 AE -dep 1029 60 -dep 102A 0F -dep 102B C6 -dep 102C 85 -dep 102D 53 -dep 102E 48 -dep 102F 45 -dep 1030 4C -dep 1031 4C -dep 1032 03 -dep 1033 D6 -dep 1034 04 -dep 1035 C7 -dep 1036 25 -dep 1037 54 -dep 1038 79 -dep 1039 70 -dep 103A 65 -dep 103B 20 -dep 103C 45 -dep 103D 58 -dep 103E 49 -dep 103F 54 -dep 1040 20 -dep 1041 74 -dep 1042 6F -dep 1043 20 -dep 1044 72 -dep 1045 65 -dep 1046 74 -dep 1047 75 -dep 1048 72 -dep 1049 6E -dep 104A 20 -dep 104B 74 -dep 104C 6F -dep 104D 20 -dep 104E 41 -dep 104F 70 -dep 1050 70 -dep 1051 2D -dep 1052 46 -dep 1053 6F -dep 1054 72 -dep 1055 74 -dep 1056 68 -dep 1057 20 -dep 1058 2E -dep 1059 2E -dep 105A 2E -dep 105B 20 -dep 105C 04 -dep 105D C1 -dep 105E 08 -dep 105F 43 -dep 1060 4F -dep 1061 4D -dep 1062 4D -dep 1063 41 -dep 1064 4E -dep 1065 44 -dep 1066 20 -dep 1067 20 -dep 1068 08 -dep 1069 0D -dep 106A A0 -dep 106B 20 -dep 106C 10 -dep 106D 0C -dep 106E 83 -dep 106F 44 -dep 1070 4F -dep 1071 53 -dep 1072 BE -dep 1073 40 -dep 1074 06 -dep 1075 DF -dep 1076 04 -dep 1077 39 -dep 1078 08 -dep 1079 0D -dep 107A A0 -dep 107B 20 -dep 107C 03 -dep 107D FF -dep 107E 04 -dep 107F 39 -dep 1080 00 -dep 1081 C8 -dep 1082 04 -dep 1083 82 -dep 1084 04 -dep 1085 C1 -dep 1086 01 -dep 1087 20 -dep 1088 00 -dep 1089 C8 -dep 108A 04 -dep 108B 8D -dep 108C BE -dep 108D 40 -dep 108E 06 -dep 108F DF -dep 1090 04 -dep 1091 39 -dep 1092 00 -dep 1093 C8 -dep 1094 04 -dep 1095 8D -dep 1096 00 -dep 1097 C8 -dep 1098 04 -dep 1099 39 -dep 109A 08 -dep 109B 0D -dep 109C A0 -dep 109D 20 -dep 109E 0A -dep 109F A6 -dep 10A0 82 -dep 10A1 41 -dep 10A2 3A -dep 10A3 20 -dep 10A4 08 -dep 10A5 3E -dep 10A6 A0 -dep 10A7 20 -dep 10A8 0C -dep 10A9 6E -dep 10AA 82 -dep 10AB 42 -dep 10AC 3A -dep 10AD 20 -dep 10AE 08 -dep 10AF 3E -dep 10B0 A0 -dep 10B1 20 -dep 10B2 10 -dep 10B3 2A -dep 10B4 82 -dep 10B5 43 -dep 10B6 3A -dep 10B7 20 -dep 10B8 08 -dep 10B9 3E -dep 10BA A0 -dep 10BB 20 -dep 10BC 10 -dep 10BD 6C -dep 10BE 82 -dep 10BF 44 -dep 10C0 3A -dep 10C1 20 -dep 10C2 08 -dep 10C3 3E -dep 10C4 A0 -dep 10C5 20 -dep 10C6 10 -dep 10C7 B2 -dep 10C8 82 -dep 10C9 43 -dep 10CA 44 -dep 10CB 20 -dep 10CC 08 -dep 10CD 3E -dep 10CE A0 -dep 10CF 20 -dep 10D0 10 -dep 10D1 C6 -dep 10D2 84 -dep 10D3 43 -dep 10D4 4F -dep 10D5 50 -dep 10D6 59 -dep 10D7 20 -dep 10D8 08 -dep 10D9 3E -dep 10DA A0 -dep 10DB 20 -dep 10DC 10 -dep 10DD BC -dep 10DE 83 -dep 10DF 44 -dep 10E0 45 -dep 10E1 4C -dep 10E2 08 -dep 10E3 3E -dep 10E4 A0 -dep 10E5 20 -dep 10E6 10 -dep 10E7 DC -dep 10E8 83 -dep 10E9 44 -dep 10EA 49 -dep 10EB 52 -dep 10EC 08 -dep 10ED 3E -dep 10EE A0 -dep 10EF 20 -dep 10F0 10 -dep 10F1 E6 -dep 10F2 85 -dep 10F3 44 -dep 10F4 49 -dep 10F5 52 -dep 10F6 2F -dep 10F7 57 -dep 10F8 08 -dep 10F9 3E -dep 10FA A0 -dep 10FB 20 -dep 10FC 10 -dep 10FD A8 -dep 10FE 86 -dep 10FF 52 -dep 1100 45 -dep 1101 4E -dep 1102 41 -dep 1103 4D -dep 1104 45 -dep 1105 20 -dep 1106 08 -dep 1107 3E -dep 1108 A0 -dep 1109 20 -dep 110A 10 -dep 110B FC -dep 110C 83 -dep 110D 42 -dep 110E 59 -dep 110F 45 -dep 1110 DE -dep 1111 00 -dep 1112 00 -dep 1113 FF -dep 1114 03 -dep 1115 A6 -dep 1116 A0 -dep 1117 20 -dep 1118 0F -dep 1119 9A -dep 111A 85 -dep 111B 2E -dep 111C 46 -dep 111D 49 -dep 111E 4C -dep 111F 45 -dep 1120 00 -dep 1121 CA -dep 1122 04 -dep 1123 39 -dep 1124 03 -dep 1125 E1 -dep 1126 03 -dep 1127 EC -dep 1128 03 -dep 1129 EC -dep 112A A0 -dep 112B 20 -dep 112C 0F -dep 112D 20 -dep 112E 85 -dep 112F 55 -dep 1130 53 -dep 1131 49 -dep 1132 4E -dep 1133 47 -dep 1134 BE -dep 1135 40 -dep 1136 06 -dep 1137 DF -dep 1138 A0 -dep 1139 C0 -dep 113A FE -dep 113B 00 -dep 113C 88 -dep 113D A3 -dep 113E 04 -dep 113F 39 -dep 1140 00 -dep 1141 CA -dep 1142 04 -dep 1143 82 -dep 1144 90 -dep 1145 A5 -dep 1146 AE -dep 1147 40 -dep 1148 08 -dep 1149 90 -dep 114A A0 -dep 114B 20 -dep 114C 11 -dep 114D 2C -dep 114E 84 -dep 114F 45 -dep 1150 44 -dep 1151 49 -dep 1152 54 -dep 1153 20 -dep 1154 08 -dep 1155 9A -dep 1156 04 -dep 1157 C1 -dep 1158 05 -dep 1159 45 -dep 115A 44 -dep 115B 49 -dep 115C 54 -dep 115D 20 -dep 115E 00 -dep 115F C8 -dep 1160 04 -dep 1161 82 -dep 1162 00 -dep 1163 CA -dep 1164 04 -dep 1165 39 -dep 1166 00 -dep 1167 C8 -dep 1168 04 -dep 1169 8D -dep 116A 03 -dep 116B D6 -dep 116C 03 -dep 116D D6 -dep 116E 00 -dep 116F C8 -dep 1170 04 -dep 1171 39 -dep 1172 08 -dep 1173 0D -dep 1174 A0 -dep 1175 20 -dep 1176 10 -dep 1177 9E -dep 1178 81 -dep 1179 51 -dep 117A 08 -dep 117B AA -dep 117C A0 -dep 117D 20 -dep 117E 11 -dep 117F 4C -dep 1180 82 -dep 1181 45 -dep 1182 44 -dep 1183 20 -dep 1184 08 -dep 1185 9A -dep 1186 04 -dep 1187 C1 -dep 1188 02 -dep 1189 42 -dep 118A 20 -dep 118B 20 -dep 118C 00 -dep 118D C8 -dep 118E 04 -dep 118F 82 -dep 1190 00 -dep 1191 CA -dep 1192 04 -dep 1193 39 -dep 1194 00 -dep 1195 C8 -dep 1196 04 -dep 1197 8D -dep 1198 00 -dep 1199 C8 -dep 119A 04 -dep 119B 39 -dep 119C 08 -dep 119D 0D -dep 119E A0 -dep 119F 20 -dep 11A0 10 -dep 11A1 F0 -dep 11A2 87 -dep 11A3 4C -dep 11A4 49 -dep 11A5 53 -dep 11A6 54 -dep 11A7 49 -dep 11A8 4E -dep 11A9 47 -dep 11AA 00 -dep 11AB ED -dep 11AC 06 -dep 11AD DF -dep 11AE 04 -dep 11AF 39 -dep 11B0 A0 -dep 11B1 C0 -dep 11B2 05 -dep 11B3 6D -dep 11B4 DE -dep 11B5 00 -dep 11B6 00 -dep 11B7 2D -dep 11B8 03 -dep 11B9 A6 -dep 11BA A0 -dep 11BB C0 -dep 11BC 03 -dep 11BD 7C -dep 11BE 03 -dep 11BF 96 -dep 11C0 03 -dep 11C1 67 -dep 11C2 05 -dep 11C3 6D -dep 11C4 03 -dep 11C5 67 -dep 11C6 05 -dep 11C7 6D -dep 11C8 A0 -dep 11C9 20 -dep 11CA 11 -dep 11CB A0 -dep 11CC 84 -dep 11CD 4C -dep 11CE 49 -dep 11CF 53 -dep 11D0 54 -dep 11D1 20 -dep 11D2 BE -dep 11D3 40 -dep 11D4 03 -dep 11D5 3E -dep 11D6 A0 -dep 11D7 C0 -dep 11D8 00 -dep 11D9 85 -dep 11DA EE -dep 11DB 80 -dep 11DC DE -dep 11DD 00 -dep 11DE 00 -dep 11DF 2E -dep 11E0 03 -dep 11E1 A6 -dep 11E2 03 -dep 11E3 7C -dep 11E4 03 -dep 11E5 67 -dep 11E6 05 -dep 11E7 6D -dep 11E8 03 -dep 11E9 67 -dep 11EA 05 -dep 11EB 6D -dep 11EC 03 -dep 11ED 74 -dep 11EE 00 -dep 11EF 85 -dep 11F0 EE -dep 11F1 A0 -dep 11F2 11 -dep 11F3 CA -dep 11F4 81 -dep 11F5 4C -dep 11F6 00 -dep 11F7 85 -dep 11F8 EE -dep 11F9 00 -dep 11FA 08 -dep 11FB E9 -dep 11FC 03 -dep 11FD D6 -dep 11FE A0 -dep 11FF 20 -dep 1200 11 -dep 1201 18 -dep 1202 81 -dep 1203 4E -dep 1204 BE -dep 1205 50 -dep 1206 00 -dep 1207 85 -dep 1208 01 -dep 1209 5D -dep 120A 08 -dep 120B FB -dep 120C A0 -dep 120D 20 -dep 120E 11 -dep 120F 0A -dep 1210 81 -dep 1211 42 -dep 1212 DE -dep 1213 00 -dep 1214 FF -dep 1215 F0 -dep 1216 00 -dep 1217 85 -dep 1218 01 -dep 1219 5D -dep 121A 08 -dep 121B FB -dep 121C A0 -dep 121D 20 -dep 121E 12 -dep 121F 00 -dep 1220 83 -dep 1221 7E -dep 1222 37 -dep 1223 33 -dep 1224 09 -dep 1225 09 -dep 1226 A0 -dep 1227 20 -dep 1228 12 -dep 1229 1E -dep 122A 83 -dep 122B 7E -dep 122C 38 -dep 122D 31 -dep 122E 09 -dep 122F 02 -dep 1230 A0 -dep 1231 20 -dep 1232 12 -dep 1233 28 -dep 1234 83 -dep 1235 7E -dep 1236 37 -dep 1237 31 -dep 1238 BE -dep 1239 40 -dep 123A 08 -dep 123B E9 -dep 123C A0 -dep 123D 20 -dep 123E 12 -dep 123F 32 -dep 1240 83 -dep 1241 7E -dep 1242 37 -dep 1243 39 -dep 1244 DE -dep 1245 00 -dep 1246 7F -dep 1247 FF -dep 1248 08 -dep 1249 E9 -dep 124A A0 -dep 124B 20 -dep 124C 12 -dep 124D 3E -dep 124E 84 -dep 124F 7E -dep 1250 31 -dep 1251 33 -dep 1252 32 -dep 1253 20 -dep 1254 BF -dep 1255 40 -dep 1256 00 -dep 1257 85 -dep 1258 01 -dep 1259 5D -dep 125A 08 -dep 125B FB -dep 125C A0 -dep 125D 20 -dep 125E 12 -dep 125F 4C -dep 1260 84 -dep 1261 7E -dep 1262 31 -dep 1263 31 -dep 1264 38 -dep 1265 20 -dep 1266 BE -dep 1267 41 -dep 1268 00 -dep 1269 85 -dep 126A 01 -dep 126B 5D -dep 126C 08 -dep 126D FB -dep 126E A0 -dep 126F 20 -dep 1270 0E -dep 1271 A2 -dep 1272 86 -dep 1273 3F -dep 1274 50 -dep 1275 41 -dep 1276 55 -dep 1277 53 -dep 1278 45 -dep 1279 20 -dep 127A 03 -dep 127B C7 -dep 127C 89 -dep 127D 4D -dep 127E 03 -dep 127F B3 -dep 1280 BE -dep 1281 5B -dep 1282 01 -dep 1283 0A -dep 1284 89 -dep 1285 46 -dep 1286 00 -dep 1287 6F -dep 1288 EE -dep 1289 00 -dep 128A BE -dep 128B 87 -dep 128C 03 -dep 128D B3 -dep 128E BE -dep 128F 5B -dep 1290 01 -dep 1291 0A -dep 1292 89 -dep 1293 4D -dep 1294 00 -dep 1295 6F -dep 1296 EE -dep 1297 00 -dep 1298 BE -dep 1299 87 -dep 129A A0 -dep 129B 20 -dep 129C BE -dep 129D 81 -dep 129E A0 -dep 129F C0 -dep 12A0 89 -dep 12A1 5C -dep 12A2 AE -dep 12A3 C0 -dep 12A4 FE -dep 12A5 00 -dep 12A6 04 -dep 12A7 9D -dep 12A8 BE -dep 12A9 00 -dep 12AA 01 -dep 12AB 0A -dep 12AC 89 -dep 12AD 59 -dep 12AE B0 -dep 12AF 01 -dep 12B0 A0 -dep 12B1 20 -dep 12B2 BE -dep 12B3 41 -dep 12B4 04 -dep 12B5 40 -dep 12B6 91 -dep 12B7 4F -dep 12B8 B0 -dep 12B9 01 -dep 12BA A0 -dep 12BB 20 -dep 12BC 10 -dep 12BD D0 -dep 12BE 86 -dep 12BF 53 -dep 12C0 45 -dep 12C1 41 -dep 12C2 52 -dep 12C3 43 -dep 12C4 48 -dep 12C5 20 -dep 12C6 BE -dep 12C7 43 -dep 12C8 06 -dep 12C9 21 -dep 12CA FE -dep 12CB 00 -dep 12CC 04 -dep 12CD 9D -dep 12CE A0 -dep 12CF C0 -dep 12D0 BE -dep 12D1 81 -dep 12D2 09 -dep 12D3 4E -dep 12D4 A0 -dep 12D5 C0 -dep 12D6 89 -dep 12D7 7C -dep 12D8 01 -dep 12D9 B1 -dep 12DA 01 -dep 12DB B1 -dep 12DC AE -dep 12DD 40 -dep 12DE AE -dep 12DF 80 -dep 12E0 04 -dep 12E1 AD -dep 12E2 89 -dep 12E3 78 -dep 12E4 AE -dep 12E5 40 -dep 12E6 BE -dep 12E7 81 -dep 12E8 01 -dep 12E9 9C -dep 12EA BE -dep 12EB 01 -dep 12EC B0 -dep 12ED 01 -dep 12EE BF -dep 12EF 60 -dep 12F0 BE -dep 12F1 41 -dep 12F2 04 -dep 12F3 40 -dep 12F4 BE -dep 12F5 01 -dep 12F6 91 -dep 12F7 67 -dep 12F8 01 -dep 12F9 A8 -dep 12FA 01 -dep 12FB 9C -dep 12FC B0 -dep 12FD 01 -dep 12FE A0 -dep 12FF 20 -dep 1300 12 -dep 1301 70 -dep 1302 85 -dep 1303 3F -dep 1304 6C -dep 1305 69 -dep 1306 6E -dep 1307 65 -dep 1308 00 -dep 1309 97 -dep 130A E8 -dep 130B 80 -dep 130C DE -dep 130D 00 -dep 130E 00 -dep 130F 48 -dep 1310 01 -dep 1311 26 -dep 1312 89 -dep 1313 8B -dep 1314 03 -dep 1315 D6 -dep 1316 A0 -dep 1317 20 -dep 1318 11 -dep 1319 76 -dep 131A 83 -dep 131B 49 -dep 131C 44 -dep 131D 2E -dep 131E 04 -dep 131F 39 -dep 1320 B2 -dep 1321 DF -dep 1322 A0 -dep 1323 C0 -dep 1324 09 -dep 1325 84 -dep 1326 BE -dep 1327 81 -dep 1328 91 -dep 1329 9D -dep 132A F9 -dep 132B 41 -dep 132C AE -dep 132D 80 -dep 132E DE -dep 132F 00 -dep 1330 00 -dep 1331 20 -dep 1332 03 -dep 1333 3E -dep 1334 D2 -dep 1335 80 -dep 1336 00 -dep 1337 7F -dep 1338 03 -dep 1339 BB -dep 133A 99 -dep 133B 95 -dep 133C AE -dep 133D 40 -dep 133E 03 -dep 133F EC -dep 1340 A0 -dep 1341 20 -dep 1342 00 -dep 1343 87 -dep 1344 EE -dep 1345 00 -dep 1346 89 -dep 1347 AF -dep 1348 A0 -dep 1349 C0 -dep 134A 03 -dep 134B FF -dep 134C 04 -dep 134D 39 -dep 134E 01 -dep 134F 4D -dep 1350 04 -dep 1351 39 -dep 1352 B2 -dep 1353 DF -dep 1354 09 -dep 1355 63 -dep 1356 A0 -dep 1357 40 -dep 1358 00 -dep 1359 FF -dep 135A 89 -dep 135B AF -dep 135C AE -dep 135D 60 -dep 135E 09 -dep 135F 8F -dep 1360 03 -dep 1361 EC -dep 1362 BE -dep 1363 41 -dep 1364 04 -dep 1365 04 -dep 1366 B4 -dep 1367 C2 -dep 1368 01 -dep 1369 5D -dep 136A A0 -dep 136B 20 -dep 136C AE -dep 136D C0 -dep 136E BE -dep 136F 40 -dep 1370 AE -dep 1371 80 -dep 1372 01 -dep 1373 4D -dep 1374 BE -dep 1375 81 -dep 1376 91 -dep 1377 C6 -dep 1378 01 -dep 1379 A2 -dep 137A EE -dep 137B 00 -dep 137C 01 -dep 137D 65 -dep 137E 89 -dep 137F C5 -dep 1380 01 -dep 1381 55 -dep 1382 01 -dep 1383 9C -dep 1384 A0 -dep 1385 C0 -dep 1386 EE -dep 1387 00 -dep 1388 AE -dep 1389 C0 -dep 138A 01 -dep 138B 44 -dep 138C 99 -dep 138D BC -dep 138E AE -dep 138F 60 -dep 1390 04 -dep 1391 04 -dep 1392 00 -dep 1393 E2 -dep 1394 09 -dep 1395 B6 -dep 1396 A0 -dep 1397 C0 -dep 1398 89 -dep 1399 D3 -dep 139A A0 -dep 139B C0 -dep 139C EE -dep 139D 00 -dep 139E 01 -dep 139F 4D -dep 13A0 EE -dep 13A1 80 -dep 13A2 06 -dep 13A3 9A -dep 13A4 91 -dep 13A5 D4 -dep 13A6 A0 -dep 13A7 40 -dep 13A8 A0 -dep 13A9 20 -dep 13AA 13 -dep 13AB 00 -dep 13AC 85 -dep 13AD 57 -dep 13AE 4F -dep 13AF 52 -dep 13B0 44 -dep 13B1 53 -dep 13B2 00 -dep 13B3 ED -dep 13B4 06 -dep 13B5 DF -dep 13B6 FE -dep 13B7 00 -dep 13B8 01 -dep 13B9 05 -dep 13BA 00 -dep 13BB 87 -dep 13BC EE -dep 13BD 80 -dep 13BE BE -dep 13BF 40 -dep 13C0 04 -dep 13C1 04 -dep 13C2 B4 -dep 13C3 C2 -dep 13C4 EE -dep 13C5 80 -dep 13C6 00 -dep 13C7 A9 -dep 13C8 EE -dep 13C9 00 -dep 13CA 04 -dep 13CB 04 -dep 13CC 00 -dep 13CD E2 -dep 13CE 01 -dep 13CF 49 -dep 13D0 02 -dep 13D1 42 -dep 13D2 03 -dep 13D3 D6 -dep 13D4 09 -dep 13D5 3D -dep 13D6 09 -dep 13D7 C8 -dep 13D8 01 -dep 13D9 19 -dep 13DA 89 -dep 13DB F0 -dep 13DC 09 -dep 13DD A1 -dep 13DE 91 -dep 13DF EA -dep 13E0 03 -dep 13E1 D6 -dep 13E2 04 -dep 13E3 C7 -dep 13E4 06 -dep 13E5 46 -dep 13E6 6F -dep 13E7 75 -dep 13E8 6E -dep 13E9 64 -dep 13EA 20 -dep 13EB 20 -dep 13EC 04 -dep 13ED 04 -dep 13EE B4 -dep 13EF C2 -dep 13F0 05 -dep 13F1 50 -dep 13F2 04 -dep 13F3 C7 -dep 13F4 07 -dep 13F5 77 -dep 13F6 6F -dep 13F7 72 -dep 13F8 64 -dep 13F9 73 -dep 13FA 2E -dep 13FB 20 -dep 13FC A0 -dep 13FD 20 -dep 13FE 00 -dep 13FF E2 -dep 1400 B4 -dep 1401 C1 -dep 1402 BE -dep 1403 81 -dep 1404 AE -dep 1405 80 -dep 1406 AE -dep 1407 C0 -dep 1408 EE -dep 1409 00 -dep 140A 01 -dep 140B A2 -dep 140C AE -dep 140D 80 -dep 140E 01 -dep 140F 65 -dep 1410 A1 -dep 1411 00 -dep 1412 88 -dep 1413 0C -dep 1414 EE -dep 1415 00 -dep 1416 90 -dep 1417 05 -dep 1418 BE -dep 1419 81 -dep 141A AE -dep 141B C0 -dep 141C BE -dep 141D 01 -dep 141E AE -dep 141F 80 -dep 1420 EE -dep 1421 80 -dep 1422 AE -dep 1423 80 -dep 1424 B8 -dep 1425 C2 -dep 1426 98 -dep 1427 02 -dep 1428 01 -dep 1429 9C -dep 142A A0 -dep 142B 20 -dep 142C 00 -dep 142D 56 -dep 142E EE -dep 142F 00 -dep 1430 01 -dep 1431 A2 -dep 1432 01 -dep 1433 65 -dep 1434 88 -dep 1435 1D -dep 1436 EE -dep 1437 00 -dep 1438 90 -dep 1439 18 -dep 143A 00 -dep 143B 56 -dep 143C EE -dep 143D 80 -dep 143E 00 -dep 143F 56 -dep 1440 EE -dep 1441 00 -dep 1442 A0 -dep 1443 C0 -dep 1444 88 -dep 1445 29 -dep 1446 01 -dep 1447 A2 -dep 1448 B8 -dep 1449 C2 -dep 144A EE -dep 144B 00 -dep 144C 09 -dep 144D FF -dep 144E EE -dep 144F 00 -dep 1450 90 -dep 1451 21 -dep 1452 01 -dep 1453 9C -dep 1454 A0 -dep 1455 20 -dep 1456 12 -dep 1457 5E -dep 1458 86 -dep 1459 46 -dep 145A 4F -dep 145B 52 -dep 145C 47 -dep 145D 45 -dep 145E 54 -dep 145F 20 -dep 1460 07 -dep 1461 53 -dep 1462 A0 -dep 1463 C0 -dep 1464 00 -dep 1465 50 -dep 1466 EE -dep 1467 00 -dep 1468 01 -dep 1469 65 -dep 146A 88 -dep 146B 49 -dep 146C 04 -dep 146D C7 -dep 146E 1E -dep 146F 43 -dep 1470 61 -dep 1471 6E -dep 1472 27 -dep 1473 74 -dep 1474 20 -dep 1475 66 -dep 1476 6F -dep 1477 72 -dep 1478 67 -dep 1479 65 -dep 147A 74 -dep 147B 20 -dep 147C 61 -dep 147D 20 -dep 147E 70 -dep 147F 72 -dep 1480 6F -dep 1481 74 -dep 1482 65 -dep 1483 63 -dep 1484 74 -dep 1485 65 -dep 1486 64 -dep 1487 20 -dep 1488 77 -dep 1489 6F -dep 148A 72 -dep 148B 64 -dep 148C 20 -dep 148D 20 -dep 148E AE -dep 148F 40 -dep 1490 90 -dep 1491 4E -dep 1492 06 -dep 1493 B6 -dep 1494 A0 -dep 1495 C0 -dep 1496 0A -dep 1497 16 -dep 1498 00 -dep 1499 B4 -dep 149A EE -dep 149B 80 -dep 149C A0 -dep 149D 20 -dep 149E 11 -dep 149F 7E -dep 14A0 85 -dep 14A1 45 -dep 14A2 4D -dep 14A3 50 -dep 14A4 54 -dep 14A5 59 -dep 14A6 00 -dep 14A7 50 -dep 14A8 EE -dep 14A9 00 -dep 14AA A0 -dep 14AB C0 -dep 14AC 0A -dep 14AD 16 -dep 14AE 00 -dep 14AF B4 -dep 14B0 EE -dep 14B1 A0 -dep 14B2 13 -dep 14B3 AA -dep 14B4 85 -dep 14B5 47 -dep 14B6 55 -dep 14B7 41 -dep 14B8 52 -dep 14B9 44 -dep 14BA 03 -dep 14BB FF -dep 14BC 00 -dep 14BD 50 -dep 14BE EE -dep 14BF A0 -dep 14C0 13 -dep 14C1 18 -dep 14C2 85 -dep 14C3 41 -dep 14C4 4C -dep 14C5 4C -dep 14C6 4F -dep 14C7 54 -dep 14C8 00 -dep 14C9 DA -dep 14CA D4 -dep 14CB 80 -dep 14CC 01 -dep 14CD 00 -dep 14CE AE -dep 14CF C0 -dep 14D0 AC -dep 14D1 40 -dep 14D2 03 -dep 14D3 FF -dep 14D4 01 -dep 14D5 65 -dep 14D6 05 -dep 14D7 5B -dep 14D8 0F -dep 14D9 44 -dep 14DA 69 -dep 14DB 63 -dep 14DC 74 -dep 14DD 69 -dep 14DE 6F -dep 14DF 6E -dep 14E0 61 -dep 14E1 72 -dep 14E2 79 -dep 14E3 20 -dep 14E4 66 -dep 14E5 75 -dep 14E6 6C -dep 14E7 6C -dep 14E8 00 -dep 14E9 B4 -dep 14EA 01 -dep 14EB 5D -dep 14EC A0 -dep 14ED 20 -dep 14EE 11 -dep 14EF F2 -dep 14F0 81 -dep 14F1 2C -dep 14F2 00 -dep 14F3 61 -dep 14F4 EE -dep 14F5 00 -dep 14F6 88 -dep 14F7 89 -dep 14F8 03 -dep 14F9 FF -dep 14FA 00 -dep 14FB 83 -dep 14FC EE -dep 14FD 80 -dep 14FE BE -dep 14FF 40 -dep 1500 00 -dep 1501 73 -dep 1502 EE -dep 1503 80 -dep 1504 00 -dep 1505 71 -dep 1506 EE -dep 1507 00 -dep 1508 B4 -dep 1509 C1 -dep 150A BE -dep 150B 40 -dep 150C 03 -dep 150D 3E -dep 150E 00 -dep 150F 71 -dep 1510 EE -dep 1511 80 -dep 1512 BE -dep 1513 42 -dep 1514 0A -dep 1515 64 -dep 1516 03 -dep 1517 FF -dep 1518 B4 -dep 1519 C2 -dep 151A EE -dep 151B A0 -dep 151C 12 -dep 151D BC -dep 151E 82 -dep 151F 43 -dep 1520 2C -dep 1521 20 -dep 1522 BE -dep 1523 41 -dep 1524 0A -dep 1525 64 -dep 1526 03 -dep 1527 FF -dep 1528 B4 -dep 1529 C1 -dep 152A FE -dep 152B A0 -dep 152C 12 -dep 152D 0E -dep 152E 87 -dep 152F 52 -dep 1530 45 -dep 1531 43 -dep 1532 4F -dep 1533 56 -dep 1534 45 -dep 1535 52 -dep 1536 DE -dep 1537 00 -dep 1538 FF -dep 1539 FE -dep 153A 0A -dep 153B 64 -dep 153C A0 -dep 153D 20 -dep 153E 15 -dep 153F 2C -dep 1540 C7 -dep 1541 52 -dep 1542 45 -dep 1543 43 -dep 1544 55 -dep 1545 52 -dep 1546 53 -dep 1547 45 -dep 1548 00 -dep 1549 BA -dep 154A EE -dep 154B 00 -dep 154C 06 -dep 154D 9F -dep 154E 06 -dep 154F BB -dep 1550 A0 -dep 1551 06 -dep 1552 0A -dep 1553 79 -dep 1554 A0 -dep 1555 20 -dep 1556 14 -dep 1557 EE -dep 1558 88 -dep 1559 3C -dep 155A 68 -dep 155B 65 -dep 155C 61 -dep 155D 64 -dep 155E 65 -dep 155F 72 -dep 1560 3E -dep 1561 20 -dep 1562 04 -dep 1563 13 -dep 1564 03 -dep 1565 FF -dep 1566 00 -dep 1567 BA -dep 1568 EE -dep 1569 80 -dep 156A BE -dep 156B 40 -dep 156C 0A -dep 156D 79 -dep 156E 00 -dep 156F ED -dep 1570 06 -dep 1571 DF -dep 1572 04 -dep 1573 39 -dep 1574 A0 -dep 1575 C0 -dep 1576 05 -dep 1577 6D -dep 1578 03 -dep 1579 FF -dep 157A BE -dep 157B 81 -dep 157C B2 -dep 157D DF -dep 157E A0 -dep 157F C0 -dep 1580 D6 -dep 1581 80 -dep 1582 00 -dep 1583 80 -dep 1584 0A -dep 1585 91 -dep 1586 BE -dep 1587 40 -dep 1588 AE -dep 1589 80 -dep 158A BE -dep 158B 81 -dep 158C BE -dep 158D 81 -dep 158E A0 -dep 158F C0 -dep 1590 FE -dep 1591 00 -dep 1592 0A -dep 1593 91 -dep 1594 B8 -dep 1595 C1 -dep 1596 00 -dep 1597 17 -dep 1598 15 -dep 1599 8E -dep 159A AE -dep 159B 40 -dep 159C 04 -dep 159D 13 -dep 159E BE -dep 159F 01 -dep 15A0 07 -dep 15A1 01 -dep 15A2 00 -dep 15A3 B0 -dep 15A4 E8 -dep 15A5 80 -dep 15A6 00 -dep 15A7 BA -dep 15A8 EE -dep 15A9 00 -dep 15AA AE -dep 15AB C0 -dep 15AC EE -dep 15AD 00 -dep 15AE AE -dep 15AF C0 -dep 15B0 EE -dep 15B1 80 -dep 15B2 AE -dep 15B3 80 -dep 15B4 EE -dep 15B5 A0 -dep 15B6 0D -dep 15B7 7A -dep 15B8 86 -dep 15B9 48 -dep 15BA 45 -dep 15BB 41 -dep 15BC 44 -dep 15BD 45 -dep 15BE 52 -dep 15BF 20 -dep 15C0 00 -dep 15C1 6B -dep 15C2 EE -dep 15C3 00 -dep 15C4 BE -dep 15C5 87 -dep 15C6 A0 -dep 15C7 20 -dep 15C8 15 -dep 15C9 1C -dep 15CA 86 -dep 15CB 43 -dep 15CC 52 -dep 15CD 45 -dep 15CE 41 -dep 15CF 54 -dep 15D0 45 -dep 15D1 20 -dep 15D2 0A -dep 15D3 E0 -dep 15D4 DE -dep 15D5 00 -dep 15D6 BE -dep 15D7 27 -dep 15D8 0A -dep 15D9 79 -dep 15DA A0 -dep 15DB 20 -dep 15DC 15 -dep 15DD C8 -dep 15DE 85 -dep 15DF 53 -dep 15E0 48 -dep 15E1 49 -dep 15E2 46 -dep 15E3 54 -dep 15E4 01 -dep 15E5 19 -dep 15E6 88 -dep 15E7 FE -dep 15E8 A0 -dep 15E9 C1 -dep 15EA 88 -dep 15EB FB -dep 15EC BC -dep 15ED C0 -dep 15EE B4 -dep 15EF C1 -dep 15F0 BE -dep 15F1 82 -dep 15F2 A0 -dep 15F3 06 -dep 15F4 90 -dep 15F5 FE -dep 15F6 B4 -dep 15F7 C1 -dep 15F8 BE -dep 15F9 82 -dep 15FA A0 -dep 15FB 02 -dep 15FC A0 -dep 15FD 20 -dep 15FE BE -dep 15FF 01 -dep 1600 A0 -dep 1601 06 -dep 1602 06 -dep 1603 CA -dep 1604 A0 -dep 1605 20 -dep 1606 15 -dep 1607 DC -dep 1608 86 -dep 1609 53 -dep 160A 54 -dep 160B 52 -dep 160C 49 -dep 160D 4E -dep 160E 47 -dep 160F 20 -dep 1610 06 -dep 1611 DF -dep 1612 04 -dep 1613 39 -dep 1614 A0 -dep 1615 C0 -dep 1616 0A -dep 1617 91 -dep 1618 BE -dep 1619 40 -dep 161A AE -dep 161B 80 -dep 161C BE -dep 161D 81 -dep 161E BE -dep 161F 81 -dep 1620 A0 -dep 1621 C0 -dep 1622 FE -dep 1623 00 -dep 1624 0A -dep 1625 91 -dep 1626 B8 -dep 1627 C1 -dep 1628 00 -dep 1629 17 -dep 162A 16 -dep 162B 20 -dep 162C AE -dep 162D 40 -dep 162E 04 -dep 162F 13 -dep 1630 A0 -dep 1631 20 -dep 1632 15 -dep 1633 56 -dep 1634 89 -dep 1635 3C -dep 1636 6C -dep 1637 69 -dep 1638 74 -dep 1639 65 -dep 163A 72 -dep 163B 61 -dep 163C 6C -dep 163D 3E -dep 163E A0 -dep 163F C0 -dep 1640 BE -dep 1641 40 -dep 1642 01 -dep 1643 2C -dep 1644 AE -dep 1645 C0 -dep 1646 BE -dep 1647 5F -dep 1648 01 -dep 1649 26 -dep 164A A6 -dep 164B 40 -dep 164C 89 -dep 164D 30 -dep 164E DE -dep 164F 00 -dep 1650 DE -dep 1651 00 -dep 1652 0A -dep 1653 79 -dep 1654 0A -dep 1655 79 -dep 1656 DE -dep 1657 00 -dep 1658 FF -dep 1659 FE -dep 165A 00 -dep 165B 83 -dep 165C 01 -dep 165D 5D -dep 165E 91 -dep 165F 33 -dep 1660 D6 -dep 1661 80 -dep 1662 BE -dep 1663 40 -dep 1664 0A -dep 1665 79 -dep 1666 A0 -dep 1667 20 -dep 1668 16 -dep 1669 32 -dep 166A C7 -dep 166B 4C -dep 166C 49 -dep 166D 54 -dep 166E 45 -dep 166F 52 -dep 1670 41 -dep 1671 4C -dep 1672 00 -dep 1673 61 -dep 1674 EE -dep 1675 00 -dep 1676 89 -dep 1677 3D -dep 1678 0B -dep 1679 1F -dep 167A A0 -dep 167B 20 -dep 167C 14 -dep 167D 56 -dep 167E 84 -dep 167F 56 -dep 1680 41 -dep 1681 4C -dep 1682 2C -dep 1683 20 -dep 1684 A0 -dep 1685 C0 -dep 1686 01 -dep 1687 4D -dep 1688 BE -dep 1689 81 -dep 168A B4 -dep 168B C1 -dep 168C 01 -dep 168D 19 -dep 168E 00 -dep 168F FF -dep 1690 89 -dep 1691 43 -dep 1692 BE -dep 1693 01 -dep 1694 0B -dep 1695 1F -dep 1696 B4 -dep 1697 C1 -dep 1698 01 -dep 1699 19 -dep 169A 00 -dep 169B FF -dep 169C 89 -dep 169D 49 -dep 169E A0 -dep 169F 20 -dep 16A0 16 -dep 16A1 06 -dep 16A2 C3 -dep 16A3 5B -dep 16A4 27 -dep 16A5 5D -dep 16A6 06 -dep 16A7 75 -dep 16A8 07 -dep 16A9 53 -dep 16AA 06 -dep 16AB BB -dep 16AC 0B -dep 16AD 1F -dep 16AE A0 -dep 16AF 20 -dep 16B0 16 -dep 16B1 A0 -dep 16B2 C9 -dep 16B3 5B -dep 16B4 43 -dep 16B5 4F -dep 16B6 4D -dep 16B7 50 -dep 16B8 49 -dep 16B9 4C -dep 16BA 45 -dep 16BB 5D -dep 16BC 06 -dep 16BD 75 -dep 16BE 07 -dep 16BF 53 -dep 16C0 06 -dep 16C1 BB -dep 16C2 A0 -dep 16C3 06 -dep 16C4 0A -dep 16C5 79 -dep 16C6 A0 -dep 16C7 20 -dep 16C8 16 -dep 16C9 B0 -dep 16CA 87 -dep 16CB 43 -dep 16CC 4F -dep 16CD 4D -dep 16CE 50 -dep 16CF 49 -dep 16D0 4C -dep 16D1 45 -dep 16D2 06 -dep 16D3 75 -dep 16D4 BE -dep 16D5 01 -dep 16D6 A0 -dep 16D7 C0 -dep 16D8 B8 -dep 16D9 C2 -dep 16DA BE -dep 16DB 81 -dep 16DC EE -dep 16DD 00 -dep 16DE 0A -dep 16DF 79 -dep 16E0 A0 -dep 16E1 20 -dep 16E2 14 -dep 16E3 C0 -dep 16E4 C5 -dep 16E5 41 -dep 16E6 53 -dep 16E7 43 -dep 16E8 49 -dep 16E9 49 -dep 16EA 00 -dep 16EB ED -dep 16EC 06 -dep 16ED DF -dep 16EE B8 -dep 16EF C1 -dep 16F0 FE -dep 16F1 00 -dep 16F2 00 -dep 16F3 61 -dep 16F4 EE -dep 16F5 00 -dep 16F6 89 -dep 16F7 7D -dep 16F8 0B -dep 16F9 1F -dep 16FA A0 -dep 16FB 20 -dep 16FC 16 -dep 16FD 7C -dep 16FE C2 -dep 16FF 2E -dep 1700 22 -dep 1701 20 -dep 1702 0B -dep 1703 69 -dep 1704 04 -dep 1705 C7 -dep 1706 DE -dep 1707 00 -dep 1708 00 -dep 1709 22 -dep 170A 0B -dep 170B 08 -dep 170C A0 -dep 170D 20 -dep 170E 15 -dep 170F 3E -dep 1710 C1 -dep 1711 22 -dep 1712 0B -dep 1713 69 -dep 1714 04 -dep 1715 C1 -dep 1716 DE -dep 1717 00 -dep 1718 00 -dep 1719 22 -dep 171A 0B -dep 171B 08 -dep 171C A0 -dep 171D 20 -dep 171E 16 -dep 171F E2 -dep 1720 C6 -dep 1721 41 -dep 1722 42 -dep 1723 4F -dep 1724 52 -dep 1725 54 -dep 1726 22 -dep 1727 20 -dep 1728 0B -dep 1729 69 -dep 172A 05 -dep 172B 5B -dep 172C DE -dep 172D 00 -dep 172E 00 -dep 172F 22 -dep 1730 0B -dep 1731 08 -dep 1732 A0 -dep 1733 20 -dep 1734 16 -dep 1735 FC -dep 1736 8A -dep 1737 56 -dep 1738 4F -dep 1739 43 -dep 173A 41 -dep 173B 42 -dep 173C 55 -dep 173D 4C -dep 173E 41 -dep 173F 52 -dep 1740 59 -dep 1741 20 -dep 1742 0A -dep 1743 E9 -dep 1744 03 -dep 1745 FF -dep 1746 00 -dep 1747 56 -dep 1748 EE -dep 1749 00 -dep 174A 0A -dep 174B 79 -dep 174C 00 -dep 174D 56 -dep 174E EE -dep 174F 80 -dep 1750 03 -dep 1751 FF -dep 1752 B8 -dep 1753 C2 -dep 1754 A0 -dep 1755 C0 -dep 1756 0A -dep 1757 79 -dep 1758 00 -dep 1759 E2 -dep 175A 01 -dep 175B 49 -dep 175C A0 -dep 175D C0 -dep 175E 0A -dep 175F 64 -dep 1760 02 -dep 1761 77 -dep 1762 0A -dep 1763 FF -dep 1764 BE -dep 1765 01 -dep 1766 B8 -dep 1767 C2 -dep 1768 EE -dep 1769 00 -dep 176A 00 -dep 176B A9 -dep 176C EE -dep 176D A0 -dep 176E 16 -dep 176F 68 -dep 1770 8B -dep 1771 44 -dep 1772 45 -dep 1773 46 -dep 1774 49 -dep 1775 4E -dep 1776 49 -dep 1777 54 -dep 1778 49 -dep 1779 4F -dep 177A 4E -dep 177B 53 -dep 177C 00 -dep 177D A9 -dep 177E EE -dep 177F 00 -dep 1780 00 -dep 1781 B0 -dep 1782 EE -dep 1783 A0 -dep 1784 BE -dep 1785 01 -dep 1786 B8 -dep 1787 C2 -dep 1788 EE -dep 1789 00 -dep 178A 00 -dep 178B A9 -dep 178C EE -dep 178D A0 -dep 178E 17 -dep 178F 34 -dep 1790 85 -dep 1791 46 -dep 1792 4F -dep 1793 52 -dep 1794 54 -dep 1795 48 -dep 1796 0B -dep 1797 C2 -dep 1798 00 -dep 1799 00 -dep 179A FE -dep 179B 62 -dep 179C 00 -dep 179D F3 -dep 179E 00 -dep 179F D1 -dep 17A0 00 -dep 17A1 E2 -dep 17A2 01 -dep 17A3 49 -dep 17A4 02 -dep 17A5 42 -dep 17A6 0B -dep 17A7 CB -dep 17A8 0B -dep 17A9 BE -dep 17AA A0 -dep 17AB 20 -dep 17AC 17 -dep 17AD 8E -dep 17AE 84 -dep 17AF 56 -dep 17B0 4F -dep 17B1 43 -dep 17B2 53 -dep 17B3 20 -dep 17B4 03 -dep 17B5 D6 -dep 17B6 00 -dep 17B7 56 -dep 17B8 EE -dep 17B9 00 -dep 17BA A0 -dep 17BB C0 -dep 17BC 89 -dep 17BD F2 -dep 17BE A0 -dep 17BF C0 -dep 17C0 DE -dep 17C1 00 -dep 17C2 17 -dep 17C3 96 -dep 17C4 B8 -dep 17C5 C2 -dep 17C6 01 -dep 17C7 0A -dep 17C8 89 -dep 17C9 EB -dep 17CA 04 -dep 17CB C7 -dep 17CC 06 -dep 17CD 46 -dep 17CE 4F -dep 17CF 52 -dep 17D0 54 -dep 17D1 48 -dep 17D2 20 -dep 17D3 20 -dep 17D4 91 -dep 17D5 F0 -dep 17D6 A0 -dep 17D7 C0 -dep 17D8 B4 -dep 17D9 C2 -dep 17DA 06 -dep 17DB B6 -dep 17DC 06 -dep 17DD 9A -dep 17DE 09 -dep 17DF 8F -dep 17E0 EE -dep 17E1 00 -dep 17E2 91 -dep 17E3 DD -dep 17E4 AE -dep 17E5 60 -dep 17E6 15 -dep 17E7 B6 -dep 17E8 82 -dep 17E9 40 -dep 17EA 4C -dep 17EB 20 -dep 17EC BE -dep 17ED 0D -dep 17EE BE -dep 17EF 81 -dep 17F0 B0 -dep 17F1 8D -dep 17F2 BE -dep 17F3 8D -dep 17F4 EE -dep 17F5 00 -dep 17F6 BE -dep 17F7 01 -dep 17F8 BE -dep 17F9 AD -dep 17FA 17 -dep 17FB 1E -dep 17FC 82 -dep 17FD 21 -dep 17FE 4C -dep 17FF 20 -dep 1800 BE -dep 1801 0D -dep 1802 BE -dep 1803 81 -dep 1804 B0 -dep 1805 8D -dep 1806 BE -dep 1807 8D -dep 1808 EE -dep 1809 80 -dep 180A BE -dep 180B 01 -dep 180C BE -dep 180D AD -dep 180E 16 -dep 180F C8 -dep 1810 83 -dep 1811 43 -dep 1812 40 -dep 1813 4C -dep 1814 BE -dep 1815 0D -dep 1816 BE -dep 1817 81 -dep 1818 B0 -dep 1819 8D -dep 181A BE -dep 181B 8D -dep 181C FE -dep 181D 00 -dep 181E BE -dep 181F 01 -dep 1820 BE -dep 1821 AD -dep 1822 18 -dep 1823 0E -dep 1824 83 -dep 1825 43 -dep 1826 21 -dep 1827 4C -dep 1828 BE -dep 1829 0D -dep 182A BE -dep 182B 81 -dep 182C B0 -dep 182D 8D -dep 182E BE -dep 182F 8D -dep 1830 FE -dep 1831 80 -dep 1832 BE -dep 1833 01 -dep 1834 BE -dep 1835 AD -dep 1836 18 -dep 1837 22 -dep 1838 86 -dep 1839 43 -dep 183A 4D -dep 183B 4F -dep 183C 56 -dep 183D 45 -dep 183E 4C -dep 183F 20 -dep 1840 BE -dep 1841 81 -dep 1842 90 -dep 1843 33 -dep 1844 01 -dep 1845 B1 -dep 1846 0C -dep 1847 0A -dep 1848 BE -dep 1849 81 -dep 184A 01 -dep 184B A2 -dep 184C BE -dep 184D 01 -dep 184E 01 -dep 184F 55 -dep 1850 0C -dep 1851 14 -dep 1852 BE -dep 1853 41 -dep 1854 BE -dep 1855 40 -dep 1856 01 -dep 1857 D1 -dep 1858 BE -dep 1859 81 -dep 185A BE -dep 185B 81 -dep 185C BE -dep 185D 41 -dep 185E BE -dep 185F 40 -dep 1860 01 -dep 1861 D1 -dep 1862 BE -dep 1863 01 -dep 1864 BE -dep 1865 01 -dep 1866 98 -dep 1867 22 -dep 1868 01 -dep 1869 9C -dep 186A 01 -dep 186B 9C -dep 186C A0 -dep 186D 20 -dep 186E 14 -dep 186F 9E -dep 1870 88 -dep 1871 45 -dep 1872 58 -dep 1873 45 -dep 1874 43 -dep 1875 55 -dep 1876 54 -dep 1877 45 -dep 1878 4C -dep 1879 20 -dep 187A AE -dep 187B 80 -dep 187C BE -dep 187D 81 -dep 187E BE -dep 187F 8C -dep 1880 A0 -dep 1881 20 -dep 1882 A0 -dep 1883 C0 -dep 1884 DE -dep 1885 00 -dep 1886 00 -dep 1887 20 -dep 1888 DE -dep 1889 00 -dep 188A 00 -dep 188B 7F -dep 188C 01 -dep 188D 77 -dep 188E A1 -dep 188F 00 -dep 1890 88 -dep 1891 4C -dep 1892 AE -dep 1893 40 -dep 1894 DE -dep 1895 00 -dep 1896 00 -dep 1897 2E -dep 1898 A0 -dep 1899 20 -dep 189A 03 -dep 189B D6 -dep 189C BE -dep 189D 47 -dep 189E 03 -dep 189F F4 -dep 18A0 BE -dep 18A1 4F -dep 18A2 BE -dep 18A3 81 -dep 18A4 A0 -dep 18A5 C0 -dep 18A6 B2 -dep 18A7 CF -dep 18A8 BE -dep 18A9 43 -dep 18AA 05 -dep 18AB 4A -dep 18AC B8 -dep 18AD C1 -dep 18AE 98 -dep 18AF 52 -dep 18B0 BE -dep 18B1 42 -dep 18B2 03 -dep 18B3 F4 -dep 18B4 BE -dep 18B5 4F -dep 18B6 BE -dep 18B7 81 -dep 18B8 A0 -dep 18B9 C0 -dep 18BA B2 -dep 18BB CF -dep 18BC BE -dep 18BD 41 -dep 18BE 05 -dep 18BF 4A -dep 18C0 B8 -dep 18C1 C1 -dep 18C2 98 -dep 18C3 5C -dep 18C4 AE -dep 18C5 60 -dep 18C6 BE -dep 18C7 81 -dep 18C8 01 -dep 18C9 A2 -dep 18CA 0C -dep 18CB 0A -dep 18CC 05 -dep 18CD 16 -dep 18CE BE -dep 18CF 41 -dep 18D0 BE -dep 18D1 40 -dep 18D2 01 -dep 18D3 D1 -dep 18D4 98 -dep 18D5 64 -dep 18D6 01 -dep 18D7 9C -dep 18D8 A0 -dep 18D9 20 -dep 18DA BE -dep 18DB 81 -dep 18DC 01 -dep 18DD A2 -dep 18DE 0C -dep 18DF 0A -dep 18E0 0C -dep 18E1 41 -dep 18E2 03 -dep 18E3 BB -dep 18E4 BE -dep 18E5 41 -dep 18E6 BE -dep 18E7 40 -dep 18E8 01 -dep 18E9 D1 -dep 18EA 98 -dep 18EB 6E -dep 18EC 01 -dep 18ED 9C -dep 18EE A0 -dep 18EF 20 -dep 18F0 03 -dep 18F1 D6 -dep 18F2 01 -dep 18F3 A2 -dep 18F4 BE -dep 18F5 46 -dep 18F6 05 -dep 18F7 3F -dep 18F8 DE -dep 18F9 00 -dep 18FA 00 -dep 18FB 3A -dep 18FC 03 -dep 18FD BB -dep 18FE 03 -dep 18FF EC -dep 1900 01 -dep 1901 A2 -dep 1902 BE -dep 1903 4F -dep 1904 0C -dep 1905 63 -dep 1906 03 -dep 1907 EC -dep 1908 BE -dep 1909 4F -dep 190A 0C -dep 190B 6D -dep 190C A0 -dep 190D 20 -dep 190E 17 -dep 190F 6E -dep 1910 85 -dep 1911 44 -dep 1912 55 -dep 1913 4D -dep 1914 50 -dep 1915 4C -dep 1916 00 -dep 1917 79 -dep 1918 EE -dep 1919 00 -dep 191A BE -dep 191B 81 -dep 191C 04 -dep 191D 2A -dep 191E 01 -dep 191F 4D -dep 1920 A0 -dep 1921 C0 -dep 1922 0C -dep 1923 4D -dep 1924 01 -dep 1925 55 -dep 1926 BE -dep 1927 50 -dep 1928 03 -dep 1929 31 -dep 192A BE -dep 192B 40 -dep 192C 03 -dep 192D 3E -dep 192E BE -dep 192F 81 -dep 1930 09 -dep 1931 3D -dep 1932 01 -dep 1933 A2 -dep 1934 0C -dep 1935 78 -dep 1936 BE -dep 1937 50 -dep 1938 BE -dep 1939 40 -dep 193A 01 -dep 193B D1 -dep 193C 98 -dep 193D 98 -dep 193E 01 -dep 193F 9C -dep 1940 BE -dep 1941 01 -dep 1942 00 -dep 1943 79 -dep 1944 EE -dep 1945 A0 -dep 1946 19 -dep 1947 0E -dep 1948 84 -dep 1949 44 -dep 194A 55 -dep 194B 4D -dep 194C 50 -dep 194D 20 -dep 194E BE -dep 194F 0D -dep 1950 AE -dep 1951 80 -dep 1952 0C -dep 1953 8B -dep 1954 A0 -dep 1955 20 -dep 1956 19 -dep 1957 46 -dep 1958 87 -dep 1959 44 -dep 195A 49 -dep 195B 53 -dep 195C 41 -dep 195D 42 -dep 195E 4C -dep 195F 45 -dep 1960 BE -dep 1961 50 -dep 1962 B6 -dep 1963 83 -dep 1964 BE -dep 1965 A3 -dep 1966 18 -dep 1967 6E -dep 1968 86 -dep 1969 45 -dep 196A 4E -dep 196B 41 -dep 196C 42 -dep 196D 4C -dep 196E 45 -dep 196F 20 -dep 1970 BE -dep 1971 03 -dep 1972 BE -dep 1973 A3 -dep 1974 17 -dep 1975 AC -dep 1976 87 -dep 1977 3E -dep 1978 56 -dep 1979 45 -dep 197A 43 -dep 197B 54 -dep 197C 4F -dep 197D 52 -dep 197E BC -dep 197F CF -dep 1980 A0 -dep 1981 02 -dep 1982 A0 -dep 1983 02 -dep 1984 A0 -dep 1985 02 -dep 1986 A0 -dep 1987 02 -dep 1988 A0 -dep 1989 02 -dep 198A 00 -dep 198B DA -dep 198C A8 -dep 198D 60 -dep 198E 18 -dep 198F 36 -dep 1990 8F -dep 1991 53 -dep 1992 45 -dep 1993 54 -dep 1994 2D -dep 1995 49 -dep 1996 4E -dep 1997 54 -dep 1998 2D -dep 1999 56 -dep 199A 45 -dep 199B 43 -dep 199C 54 -dep 199D 4F -dep 199E 52 -dep 199F 53 -dep 19A0 DE -dep 19A1 00 -dep 19A2 A0 -dep 19A3 20 -dep 19A4 BE -dep 19A5 4D -dep 19A6 0C -dep 19A7 BF -dep 19A8 BE -dep 19A9 4E -dep 19AA BE -dep 19AB 81 -dep 19AC 01 -dep 19AD A2 -dep 19AE EE -dep 19AF 80 -dep 19B0 D8 -dep 19B1 80 -dep 19B2 00 -dep 19B3 20 -dep 19B4 98 -dep 19B5 D6 -dep 19B6 01 -dep 19B7 9C -dep 19B8 A0 -dep 19B9 20 -dep 19BA 17 -dep 19BB FA -dep 19BC 8A -dep 19BD 21 -dep 19BE 49 -dep 19BF 4E -dep 19C0 54 -dep 19C1 45 -dep 19C2 52 -dep 19C3 52 -dep 19C4 55 -dep 19C5 50 -dep 19C6 54 -dep 19C7 20 -dep 19C8 0C -dep 19C9 BF -dep 19CA A0 -dep 19CB C0 -dep 19CC BE -dep 19CD 81 -dep 19CE AE -dep 19CF 80 -dep 19D0 06 -dep 19D1 BB -dep 19D2 A0 -dep 19D3 06 -dep 19D4 AE -dep 19D5 80 -dep 19D6 EE -dep 19D7 80 -dep 19D8 DE -dep 19D9 00 -dep 19DA A0 -dep 19DB 20 -dep 19DC BE -dep 19DD 01 -dep 19DE B8 -dep 19DF C2 -dep 19E0 EE -dep 19E1 A0 -dep 19E2 17 -dep 19E3 E6 -dep 19E4 8A -dep 19E5 40 -dep 19E6 49 -dep 19E7 4E -dep 19E8 54 -dep 19E9 45 -dep 19EA 52 -dep 19EB 52 -dep 19EC 55 -dep 19ED 50 -dep 19EE 54 -dep 19EF 20 -dep 19F0 0C -dep 19F1 BF -dep 19F2 EE -dep 19F3 00 -dep 19F4 A0 -dep 19F5 22 -dep 19F6 19 -dep 19F7 8E -dep 19F8 8C -dep 19F9 53 -dep 19FA 45 -dep 19FB 54 -dep 19FC 2D -dep 19FD 49 -dep 19FE 4E -dep 19FF 54 -dep 1A00 2D -dep 1A01 4D -dep 1A02 41 -dep 1A03 53 -dep 1A04 4B -dep 1A05 20 -dep 1A06 BE -dep 1A07 10 -dep 1A08 D2 -dep 1A09 80 -dep 1A0A 07 -dep 1A0B FF -dep 1A0C 00 -dep 1A0D DA -dep 1A0E D2 -dep 1A0F 80 -dep 1A10 FC -dep 1A11 00 -dep 1A12 A6 -dep 1A13 40 -dep 1A14 BE -dep 1A15 90 -dep 1A16 DE -dep 1A17 00 -dep 1A18 FF -dep 1A19 FF -dep 1A1A BE -dep 1A1B A8 -dep 1A1C 19 -dep 1A1D 66 -dep 1A1E 84 -dep 1A1F 4D -dep 1A20 41 -dep 1A21 53 -dep 1A22 4B -dep 1A23 20 -dep 1A24 B6 -dep 1A25 88 -dep 1A26 BE -dep 1A27 A8 -dep 1A28 1A -dep 1A29 1C -dep 1A2A 86 -dep 1A2B 55 -dep 1A2C 4E -dep 1A2D 4D -dep 1A2E 41 -dep 1A2F 53 -dep 1A30 4B -dep 1A31 20 -dep 1A32 BF -dep 1A33 40 -dep 1A34 AA -dep 1A35 40 -dep 1A36 B2 -dep 1A37 88 -dep 1A38 BE -dep 1A39 A8 -dep 1A3A 1A -dep 1A3B 28 -dep 1A3C 87 -dep 1A3D 4D -dep 1A3E 41 -dep 1A3F 53 -dep 1A40 4B -dep 1A41 45 -dep 1A42 44 -dep 1A43 3F -dep 1A44 B2 -dep 1A45 A8 -dep 1A46 1A -dep 1A47 3A -dep 1A48 83 -dep 1A49 45 -dep 1A4A 49 -dep 1A4B 31 -dep 1A4C DE -dep 1A4D 20 -dep 1A4E 00 -dep 1A4F 02 -dep 1A50 1A -dep 1A51 46 -dep 1A52 83 -dep 1A53 45 -dep 1A54 49 -dep 1A55 33 -dep 1A56 DE -dep 1A57 20 -dep 1A58 04 -dep 1A59 00 -dep 1A5A 19 -dep 1A5B E2 -dep 1A5C 83 -dep 1A5D 50 -dep 1A5E 53 -dep 1A5F 55 -dep 1A60 DE -dep 1A61 20 -dep 1A62 00 -dep 1A63 04 -dep 1A64 1A -dep 1A65 50 -dep 1A66 83 -dep 1A67 45 -dep 1A68 49 -dep 1A69 34 -dep 1A6A DE -dep 1A6B 20 -dep 1A6C 08 -dep 1A6D 00 -dep 1A6E 17 -dep 1A6F 0E -dep 1A70 83 -dep 1A71 52 -dep 1A72 53 -dep 1A73 55 -dep 1A74 DE -dep 1A75 20 -dep 1A76 00 -dep 1A77 08 -dep 1A78 1A -dep 1A79 64 -dep 1A7A 83 -dep 1A7B 45 -dep 1A7C 49 -dep 1A7D 35 -dep 1A7E DE -dep 1A7F 20 -dep 1A80 10 -dep 1A81 00 -dep 1A82 1A -dep 1A83 5A -dep 1A84 83 -dep 1A85 50 -dep 1A86 53 -dep 1A87 56 -dep 1A88 DE -dep 1A89 20 -dep 1A8A 00 -dep 1A8B 10 -dep 1A8C 19 -dep 1A8D F6 -dep 1A8E 83 -dep 1A8F 53 -dep 1A90 57 -dep 1A91 49 -dep 1A92 DE -dep 1A93 20 -dep 1A94 20 -dep 1A95 00 -dep 1A96 1A -dep 1A97 6E -dep 1A98 83 -dep 1A99 52 -dep 1A9A 53 -dep 1A9B 56 -dep 1A9C DE -dep 1A9D 20 -dep 1A9E 00 -dep 1A9F 20 -dep 1AA0 1A -dep 1AA1 78 -dep 1AA2 83 -dep 1AA3 45 -dep 1AA4 49 -dep 1AA5 32 -dep 1AA6 DE -dep 1AA7 20 -dep 1AA8 00 -dep 1AA9 40 -dep 1AAA 19 -dep 1AAB 56 -dep 1AAC 86 -dep 1AAD 54 -dep 1AAE 49 -dep 1AAF 4D -dep 1AB0 45 -dep 1AB1 52 -dep 1AB2 30 -dep 1AB3 20 -dep 1AB4 DE -dep 1AB5 20 -dep 1AB6 00 -dep 1AB7 80 -dep 1AB8 1A -dep 1AB9 AA -dep 1ABA 86 -dep 1ABB 54 -dep 1ABC 49 -dep 1ABD 4D -dep 1ABE 45 -dep 1ABF 52 -dep 1AC0 31 -dep 1AC1 20 -dep 1AC2 DE -dep 1AC3 20 -dep 1AC4 01 -dep 1AC5 00 -dep 1AC6 1A -dep 1AC7 B8 -dep 1AC8 86 -dep 1AC9 54 -dep 1ACA 49 -dep 1ACB 4D -dep 1ACC 45 -dep 1ACD 52 -dep 1ACE 32 -dep 1ACF 20 -dep 1AD0 DE -dep 1AD1 20 -dep 1AD2 02 -dep 1AD3 00 -dep 1AD4 14 -dep 1AD5 B2 -dep 1AD6 88 -dep 1AD7 4F -dep 1AD8 50 -dep 1AD9 54 -dep 1ADA 49 -dep 1ADB 4D -dep 1ADC 49 -dep 1ADD 5A -dep 1ADE 45 -dep 1ADF 20 -dep 1AE0 00 -dep 1AE1 89 -dep 1AE2 01 -dep 1AE3 95 -dep 1AE4 A0 -dep 1AE5 20 -dep 1AE6 19 -dep 1AE7 74 -dep 1AE8 8A -dep 1AE9 4E -dep 1AEA 4F -dep 1AEB 4F -dep 1AEC 50 -dep 1AED 54 -dep 1AEE 49 -dep 1AEF 4D -dep 1AF0 49 -dep 1AF1 5A -dep 1AF2 45 -dep 1AF3 20 -dep 1AF4 00 -dep 1AF5 89 -dep 1AF6 01 -dep 1AF7 8F -dep 1AF8 A0 -dep 1AF9 20 -dep 1AFA 1A -dep 1AFB C6 -dep 1AFC C2 -dep 1AFD 5C -dep 1AFE 5C -dep 1AFF 20 -dep 1B00 00 -dep 1B01 73 -dep 1B02 01 -dep 1B03 95 -dep 1B04 A0 -dep 1B05 20 -dep 1B06 05 -dep 1B07 5B -dep 1B08 0D -dep 1B09 6C -dep 1B0A 69 -dep 1B0B 74 -dep 1B0C 65 -dep 1B0D 72 -dep 1B0E 61 -dep 1B0F 6C -dep 1B10 20 -dep 1B11 65 -dep 1B12 72 -dep 1B13 72 -dep 1B14 6F -dep 1B15 72 -dep 1B16 A0 -dep 1B17 20 -dep 1B18 00 -dep 1B19 61 -dep 1B1A EE -dep 1B1B 00 -dep 1B1C 89 -dep 1B1D 9F -dep 1B1E 03 -dep 1B1F FF -dep 1B20 B4 -dep 1B21 C2 -dep 1B22 EE -dep 1B23 00 -dep 1B24 A0 -dep 1B25 C0 -dep 1B26 D2 -dep 1B27 80 -dep 1B28 FF -dep 1B29 E0 -dep 1B2A DE -dep 1B2B 00 -dep 1B2C BE -dep 1B2D 40 -dep 1B2E 01 -dep 1B2F 0A -dep 1B30 A1 -dep 1B31 00 -dep 1B32 0D -dep 1B33 83 -dep 1B34 0A -dep 1B35 9B -dep 1B36 B2 -dep 1B37 DF -dep 1B38 A6 -dep 1B39 40 -dep 1B3A 0A -dep 1B3B 79 -dep 1B3C 91 -dep 1B3D B1 -dep 1B3E AE -dep 1B3F 80 -dep 1B40 A0 -dep 1B41 C0 -dep 1B42 DE -dep 1B43 00 -dep 1B44 00 -dep 1B45 20 -dep 1B46 01 -dep 1B47 26 -dep 1B48 AE -dep 1B49 C1 -dep 1B4A A6 -dep 1B4B 40 -dep 1B4C 0D -dep 1B4D 83 -dep 1B4E A6 -dep 1B4F 40 -dep 1B50 0A -dep 1B51 79 -dep 1B52 DE -dep 1B53 00 -dep 1B54 A0 -dep 1B55 20 -dep 1B56 0A -dep 1B57 79 -dep 1B58 DE -dep 1B59 00 -dep 1B5A FF -dep 1B5B FC -dep 1B5C 0A -dep 1B5D 64 -dep 1B5E 03 -dep 1B5F FF -dep 1B60 BE -dep 1B61 87 -dep 1B62 A0 -dep 1B63 20 -dep 1B64 1A -dep 1B65 FA -dep 1B66 C6 -dep 1B67 44 -dep 1B68 55 -dep 1B69 50 -dep 1B6A 5F -dep 1B6B 47 -dep 1B6C 21 -dep 1B6D 20 -dep 1B6E DE -dep 1B6F 00 -dep 1B70 B0 -dep 1B71 80 -dep 1B72 0D -dep 1B73 8C -dep 1B74 A0 -dep 1B75 20 -dep 1B76 1A -dep 1B77 D4 -dep 1B78 C2 -dep 1B79 47 -dep 1B7A 21 -dep 1B7B 20 -dep 1B7C DE -dep 1B7D 00 -dep 1B7E BE -dep 1B7F 80 -dep 1B80 0D -dep 1B81 8C -dep 1B82 A0 -dep 1B83 20 -dep 1B84 1B -dep 1B85 76 -dep 1B86 C2 -dep 1B87 47 -dep 1B88 40 -dep 1B89 20 -dep 1B8A DE -dep 1B8B 00 -dep 1B8C BE -dep 1B8D 00 -dep 1B8E 0D -dep 1B8F 8C -dep 1B90 A0 -dep 1B91 20 -dep 1B92 1A -dep 1B93 A0 -dep 1B94 C2 -dep 1B95 55 -dep 1B96 21 -dep 1B97 20 -dep 1B98 DE -dep 1B99 00 -dep 1B9A CE -dep 1B9B 80 -dep 1B9C 0D -dep 1B9D 8C -dep 1B9E A0 -dep 1B9F 20 -dep 1BA0 1B -dep 1BA1 92 -dep 1BA2 C2 -dep 1BA3 55 -dep 1BA4 40 -dep 1BA5 20 -dep 1BA6 DE -dep 1BA7 00 -dep 1BA8 CE -dep 1BA9 00 -dep 1BAA 0D -dep 1BAB 8C -dep 1BAC A0 -dep 1BAD 20 -dep 1BAE 1A -dep 1BAF 82 -dep 1BB0 C2 -dep 1BB1 40 -dep 1BB2 2B -dep 1BB3 20 -dep 1BB4 DE -dep 1BB5 00 -dep 1BB6 E9 -dep 1BB7 40 -dep 1BB8 0D -dep 1BB9 8C -dep 1BBA A0 -dep 1BBB 20 -dep 1BBC 1B -dep 1BBD AE -dep 1BBE C2 -dep 1BBF 40 -dep 1BC0 2D -dep 1BC1 20 -dep 1BC2 DE -dep 1BC3 00 -dep 1BC4 E5 -dep 1BC5 40 -dep 1BC6 0D -dep 1BC7 8C -dep 1BC8 A0 -dep 1BC9 20 -dep 1BCA 19 -dep 1BCB BA -dep 1BCC C2 -dep 1BCD 21 -dep 1BCE 2B -dep 1BCF 20 -dep 1BD0 DE -dep 1BD1 00 -dep 1BD2 E9 -dep 1BD3 C0 -dep 1BD4 0D -dep 1BD5 8C -dep 1BD6 A0 -dep 1BD7 20 -dep 1BD8 1B -dep 1BD9 CA -dep 1BDA C2 -dep 1BDB 21 -dep 1BDC 2D -dep 1BDD 20 -dep 1BDE DE -dep 1BDF 00 -dep 1BE0 E5 -dep 1BE1 C0 -dep 1BE2 0D -dep 1BE3 8C -dep 1BE4 A0 -dep 1BE5 20 -dep 1BE6 1A -dep 1BE7 8C -dep 1BE8 C3 -dep 1BE9 43 -dep 1BEA 40 -dep 1BEB 2B -dep 1BEC DE -dep 1BED 00 -dep 1BEE F9 -dep 1BEF 40 -dep 1BF0 0D -dep 1BF1 8C -dep 1BF2 A0 -dep 1BF3 20 -dep 1BF4 1B -dep 1BF5 E6 -dep 1BF6 C3 -dep 1BF7 43 -dep 1BF8 40 -dep 1BF9 2D -dep 1BFA DE -dep 1BFB 00 -dep 1BFC F5 -dep 1BFD 40 -dep 1BFE 0D -dep 1BFF 8C -dep 1C00 A0 -dep 1C01 20 -dep 1C02 1B -dep 1C03 F4 -dep 1C04 C3 -dep 1C05 43 -dep 1C06 21 -dep 1C07 2B -dep 1C08 DE -dep 1C09 00 -dep 1C0A F9 -dep 1C0B C0 -dep 1C0C 0D -dep 1C0D 8C -dep 1C0E A0 -dep 1C0F 20 -dep 1C10 1C -dep 1C11 02 -dep 1C12 C3 -dep 1C13 43 -dep 1C14 21 -dep 1C15 2D -dep 1C16 DE -dep 1C17 00 -dep 1C18 F5 -dep 1C19 C0 -dep 1C1A 0D -dep 1C1B 8C -dep 1C1C A0 -dep 1C1D 20 -dep 1C1E 1B -dep 1C1F 64 -dep 1C20 C7 -dep 1C21 44 -dep 1C22 55 -dep 1C23 50 -dep 1C24 5F -dep 1C25 43 -dep 1C26 21 -dep 1C27 2B -dep 1C28 DE -dep 1C29 00 -dep 1C2A F8 -dep 1C2B C0 -dep 1C2C 0D -dep 1C2D 8C -dep 1C2E A0 -dep 1C2F 20 -dep 1C30 01 -dep 1C31 19 -dep 1C32 88 -dep 1C33 21 -dep 1C34 BE -dep 1C35 40 -dep 1C36 AE -dep 1C37 80 -dep 1C38 BE -dep 1C39 81 -dep 1C3A BE -dep 1C3B 81 -dep 1C3C A0 -dep 1C3D 02 -dep 1C3E 00 -dep 1C3F 17 -dep 1C40 1C -dep 1C41 3C -dep 1C42 A0 -dep 1C43 20 -dep 1C44 01 -dep 1C45 19 -dep 1C46 88 -dep 1C47 2B -dep 1C48 BE -dep 1C49 40 -dep 1C4A AE -dep 1C4B 80 -dep 1C4C BE -dep 1C4D 81 -dep 1C4E BE -dep 1C4F 81 -dep 1C50 A0 -dep 1C51 06 -dep 1C52 00 -dep 1C53 17 -dep 1C54 1C -dep 1C55 50 -dep 1C56 A0 -dep 1C57 20 -dep 1C58 BE -dep 1C59 01 -dep 1C5A AE -dep 1C5B 80 -dep 1C5C 01 -dep 1C5D 19 -dep 1C5E 88 -dep 1C5F 38 -dep 1C60 BE -dep 1C61 40 -dep 1C62 AE -dep 1C63 80 -dep 1C64 BE -dep 1C65 81 -dep 1C66 BE -dep 1C67 81 -dep 1C68 04 -dep 1C69 39 -dep 1C6A A8 -dep 1C6B 40 -dep 1C6C 00 -dep 1C6D 17 -dep 1C6E 1C -dep 1C6F 68 -dep 1C70 04 -dep 1C71 39 -dep 1C72 03 -dep 1C73 E1 -dep 1C74 03 -dep 1C75 EC -dep 1C76 A0 -dep 1C77 20 -dep 1C78 AE -dep 1C79 C0 -dep 1C7A 01 -dep 1C7B 0A -dep 1C7C A0 -dep 1C7D 20 -dep 1C7E DE -dep 1C7F 20 -dep 1C80 FE -dep 1C81 60 -dep 1C82 DE -dep 1C83 20 -dep 1C84 FE -dep 1C85 5E -dep 1C86 DE -dep 1C87 20 -dep 1C88 FE -dep 1C89 5C -dep 1C8A DE -dep 1C8B 20 -dep 1C8C FE -dep 1C8D 5A -dep 1C8E 0E -dep 1C8F 3F -dep 1C90 EE -dep 1C91 00 -dep 1C92 EE -dep 1C93 20 -dep 1C94 0E -dep 1C95 41 -dep 1C96 EE -dep 1C97 A0 -dep 1C98 0E -dep 1C99 47 -dep 1C9A D2 -dep 1C9B 80 -dep 1C9C 00 -dep 1C9D 20 -dep 1C9E 88 -dep 1C9F 54 -dep 1CA0 04 -dep 1CA1 C7 -dep 1CA2 05 -dep 1CA3 20 -dep 1CA4 65 -dep 1CA5 78 -dep 1CA6 69 -dep 1CA7 74 -dep 1CA8 A0 -dep 1CA9 20 -dep 1CAA 0E -dep 1CAB 47 -dep 1CAC BE -dep 1CAD 48 -dep 1CAE 0E -dep 1CAF 22 -dep 1CB0 B2 -dep 1CB1 CF -dep 1CB2 A0 -dep 1CB3 C0 -dep 1CB4 BE -dep 1CB5 41 -dep 1CB6 01 -dep 1CB7 0A -dep 1CB8 AE -dep 1CB9 80 -dep 1CBA BE -dep 1CBB 4F -dep 1CBC 01 -dep 1CBD 0A -dep 1CBE A6 -dep 1CBF 40 -dep 1CC0 88 -dep 1CC1 65 -dep 1CC2 04 -dep 1CC3 C7 -dep 1CC4 04 -dep 1CC5 6E -dep 1CC6 6F -dep 1CC7 74 -dep 1CC8 20 -dep 1CC9 20 -dep 1CCA A0 -dep 1CCB 20 -dep 1CCC A0 -dep 1CCD C0 -dep 1CCE 06 -dep 1CCF A9 -dep 1CD0 04 -dep 1CD1 39 -dep 1CD2 B2 -dep 1CD3 DF -dep 1CD4 01 -dep 1CD5 19 -dep 1CD6 88 -dep 1CD7 70 -dep 1CD8 A8 -dep 1CD9 40 -dep 1CDA 04 -dep 1CDB 1C -dep 1CDC 01 -dep 1CDD 0A -dep 1CDE 90 -dep 1CDF 72 -dep 1CE0 01 -dep 1CE1 9C -dep 1CE2 BE -dep 1CE3 40 -dep 1CE4 A0 -dep 1CE5 20 -dep 1CE6 0E -dep 1CE7 47 -dep 1CE8 A0 -dep 1CE9 02 -dep 1CEA A0 -dep 1CEB C0 -dep 1CEC 0E -dep 1CED 66 -dep 1CEE 88 -dep 1CEF 7B -dep 1CF0 06 -dep 1CF1 A9 -dep 1CF2 09 -dep 1CF3 8F -dep 1CF4 90 -dep 1CF5 80 -dep 1CF6 05 -dep 1CF7 39 -dep 1CF8 04 -dep 1CF9 C7 -dep 1CFA 04 -dep 1CFB 63 -dep 1CFC 61 -dep 1CFD 6C -dep 1CFE 6C -dep 1CFF 20 -dep 1D00 A0 -dep 1D01 20 -dep 1D02 DE -dep 1D03 00 -dep 1D04 00 -dep 1D05 22 -dep 1D06 03 -dep 1D07 BB -dep 1D08 03 -dep 1D09 EC -dep 1D0A 0E -dep 1D0B 3F -dep 1D0C EE -dep 1D0D 00 -dep 1D0E B8 -dep 1D0F C2 -dep 1D10 04 -dep 1D11 39 -dep 1D12 A0 -dep 1D13 C0 -dep 1D14 B8 -dep 1D15 C1 -dep 1D16 04 -dep 1D17 1C -dep 1D18 0E -dep 1D19 41 -dep 1D1A 01 -dep 1D1B 5D -dep 1D1C 03 -dep 1D1D E1 -dep 1D1E DE -dep 1D1F 00 -dep 1D20 00 -dep 1D21 22 -dep 1D22 03 -dep 1D23 BB -dep 1D24 A0 -dep 1D25 20 -dep 1D26 BE -dep 1D27 44 -dep 1D28 0E -dep 1D29 4A -dep 1D2A 04 -dep 1D2B C7 -dep 1D2C 05 -dep 1D2D 6C -dep 1D2E 6F -dep 1D2F 6F -dep 1D30 70 -dep 1D31 20 -dep 1D32 0E -dep 1D33 3F -dep 1D34 EE -dep 1D35 00 -dep 1D36 B8 -dep 1D37 C2 -dep 1D38 EE -dep 1D39 00 -dep 1D3A 05 -dep 1D3B 39 -dep 1D3C A0 -dep 1D3D 20 -dep 1D3E BE -dep 1D3F 42 -dep 1D40 0E -dep 1D41 4A -dep 1D42 0E -dep 1D43 47 -dep 1D44 DE -dep 1D45 00 -dep 1D46 04 -dep 1D47 C7 -dep 1D48 0E -dep 1D49 3C -dep 1D4A 88 -dep 1D4B AB -dep 1D4C AE -dep 1D4D 40 -dep 1D4E 04 -dep 1D4F C7 -dep 1D50 01 -dep 1D51 2E -dep 1D52 0E -dep 1D53 81 -dep 1D54 A0 -dep 1D55 20 -dep 1D56 DE -dep 1D57 00 -dep 1D58 05 -dep 1D59 5B -dep 1D5A 0E -dep 1D5B 3C -dep 1D5C 88 -dep 1D5D B6 -dep 1D5E AE -dep 1D5F 40 -dep 1D60 04 -dep 1D61 C7 -dep 1D62 05 -dep 1D63 61 -dep 1D64 62 -dep 1D65 6F -dep 1D66 72 -dep 1D67 74 -dep 1D68 0E -dep 1D69 81 -dep 1D6A A0 -dep 1D6B 20 -dep 1D6C DE -dep 1D6D 00 -dep 1D6E 04 -dep 1D6F C1 -dep 1D70 0E -dep 1D71 3C -dep 1D72 88 -dep 1D73 BD -dep 1D74 AE -dep 1D75 40 -dep 1D76 0E -dep 1D77 81 -dep 1D78 A0 -dep 1D79 20 -dep 1D7A DE -dep 1D7B 00 -dep 1D7C 00 -dep 1D7D 17 -dep 1D7E 0E -dep 1D7F 3C -dep 1D80 88 -dep 1D81 C4 -dep 1D82 AE -dep 1D83 40 -dep 1D84 0E -dep 1D85 93 -dep 1D86 A0 -dep 1D87 20 -dep 1D88 DE -dep 1D89 00 -dep 1D8A 00 -dep 1D8B 26 -dep 1D8C 0E -dep 1D8D 3C -dep 1D8E 88 -dep 1D8F CD -dep 1D90 AE -dep 1D91 40 -dep 1D92 04 -dep 1D93 C7 -dep 1D94 01 -dep 1D95 2B -dep 1D96 0E -dep 1D97 93 -dep 1D98 A0 -dep 1D99 20 -dep 1D9A AE -dep 1D9B 40 -dep 1D9C 0E -dep 1D9D 73 -dep 1D9E A0 -dep 1D9F 20 -dep 1DA0 0E -dep 1DA1 3F -dep 1DA2 EE -dep 1DA3 00 -dep 1DA4 B8 -dep 1DA5 C2 -dep 1DA6 D2 -dep 1DA7 80 -dep 1DA8 FC -dep 1DA9 00 -dep 1DAA 0E -dep 1DAB 47 -dep 1DAC D2 -dep 1DAD 80 -dep 1DAE 01 -dep 1DAF FF -dep 1DB0 A0 -dep 1DB1 02 -dep 1DB2 A6 -dep 1DB3 40 -dep 1DB4 0E -dep 1DB5 47 -dep 1DB6 BE -dep 1DB7 49 -dep 1DB8 0E -dep 1DB9 22 -dep 1DBA B2 -dep 1DBB C3 -dep 1DBC BE -dep 1DBD 41 -dep 1DBE 0E -dep 1DBF 3C -dep 1DC0 88 -dep 1DC1 E6 -dep 1DC2 AE -dep 1DC3 40 -dep 1DC4 D8 -dep 1DC5 80 -dep 1DC6 04 -dep 1DC7 00 -dep 1DC8 05 -dep 1DC9 39 -dep 1DCA A0 -dep 1DCB 20 -dep 1DCC BE -dep 1DCD 42 -dep 1DCE 0E -dep 1DCF 3C -dep 1DD0 88 -dep 1DD1 EE -dep 1DD2 AE -dep 1DD3 40 -dep 1DD4 D2 -dep 1DD5 80 -dep 1DD6 03 -dep 1DD7 00 -dep 1DD8 05 -dep 1DD9 39 -dep 1DDA A0 -dep 1DDB 20 -dep 1DDC BE -dep 1DDD 43 -dep 1DDE 0E -dep 1DDF 3C -dep 1DE0 88 -dep 1DE1 F6 -dep 1DE2 AE -dep 1DE3 40 -dep 1DE4 D4 -dep 1DE5 80 -dep 1DE6 04 -dep 1DE7 00 -dep 1DE8 05 -dep 1DE9 39 -dep 1DEA A0 -dep 1DEB 20 -dep 1DEC AE -dep 1DED 40 -dep 1DEE 05 -dep 1DEF 39 -dep 1DF0 A0 -dep 1DF1 20 -dep 1DF2 BE -dep 1DF3 42 -dep 1DF4 0E -dep 1DF5 4A -dep 1DF6 0E -dep 1DF7 47 -dep 1DF8 BE -dep 1DF9 4B -dep 1DFA 0E -dep 1DFB 22 -dep 1DFC B2 -dep 1DFD C3 -dep 1DFE BE -dep 1DFF 40 -dep 1E00 0E -dep 1E01 3C -dep 1E02 89 -dep 1E03 0D -dep 1E04 AE -dep 1E05 40 -dep 1E06 04 -dep 1E07 C7 -dep 1E08 0D -dep 1E09 3F -dep 1E0A 64 -dep 1E0B 75 -dep 1E0C 70 -dep 1E0D 20 -dep 1E0E 30 -dep 1E0F 62 -dep 1E10 72 -dep 1E11 61 -dep 1E12 6E -dep 1E13 63 -dep 1E14 68 -dep 1E15 20 -dep 1E16 0E -dep 1E17 D0 -dep 1E18 A0 -dep 1E19 20 -dep 1E1A BE -dep 1E1B 41 -dep 1E1C 0E -dep 1E1D 3C -dep 1E1E 89 -dep 1E1F 19 -dep 1E20 AE -dep 1E21 40 -dep 1E22 04 -dep 1E23 C7 -dep 1E24 08 -dep 1E25 30 -dep 1E26 62 -dep 1E27 72 -dep 1E28 61 -dep 1E29 6E -dep 1E2A 63 -dep 1E2B 68 -dep 1E2C 20 -dep 1E2D 20 -dep 1E2E 0E -dep 1E2F D0 -dep 1E30 A0 -dep 1E31 20 -dep 1E32 BE -dep 1E33 42 -dep 1E34 0E -dep 1E35 3C -dep 1E36 89 -dep 1E37 24 -dep 1E38 AE -dep 1E39 40 -dep 1E3A 04 -dep 1E3B C7 -dep 1E3C 07 -dep 1E3D 62 -dep 1E3E 72 -dep 1E3F 61 -dep 1E40 6E -dep 1E41 63 -dep 1E42 68 -dep 1E43 20 -dep 1E44 0E -dep 1E45 D0 -dep 1E46 A0 -dep 1E47 20 -dep 1E48 AE -dep 1E49 40 -dep 1E4A 04 -dep 1E4B C7 -dep 1E4C 05 -dep 1E4D 6E -dep 1E4E 65 -dep 1E4F 78 -dep 1E50 74 -dep 1E51 20 -dep 1E52 0E -dep 1E53 D0 -dep 1E54 A0 -dep 1E55 20 -dep 1E56 0E -dep 1E57 2C -dep 1E58 00 -dep 1E59 00 -dep 1E5A 03 -dep 1E5B 61 -dep 1E5C 6E -dep 1E5D 64 -dep 1E5E 03 -dep 1E5F 6E -dep 1E60 6F -dep 1E61 72 -dep 1E62 05 -dep 1E63 73 -dep 1E64 77 -dep 1E65 61 -dep 1E66 70 -dep 1E67 2D -dep 1E68 06 -dep 1E69 73 -dep 1E6A 77 -dep 1E6B 61 -dep 1E6C 70 -dep 1E6D 2D -dep 1E6E 63 -dep 1E6F 02 -dep 1E70 6F -dep 1E71 72 -dep 1E72 04 -dep 1E73 6E -dep 1E74 61 -dep 1E75 6E -dep 1E76 64 -dep 1E77 01 -dep 1E78 2B -dep 1E79 02 -dep 1E7A 2B -dep 1E7B 63 -dep 1E7C 03 -dep 1E7D 78 -dep 1E7E 6F -dep 1E7F 72 -dep 1E80 04 -dep 1E81 78 -dep 1E82 6E -dep 1E83 6F -dep 1E84 72 -dep 1E85 01 -dep 1E86 2D -dep 1E87 02 -dep 1E88 2D -dep 1E89 63 -dep 1E8A 00 -dep 1E8B 00 -dep 1E8C 00 -dep 1E8D 00 -dep 1E8E 03 -dep 1E8F 61 -dep 1E90 6E -dep 1E91 64 -dep 1E92 03 -dep 1E93 6E -dep 1E94 6F -dep 1E95 72 -dep 1E96 01 -dep 1E97 2D -dep 1E98 02 -dep 1E99 2D -dep 1E9A 63 -dep 1E9B 02 -dep 1E9C 6F -dep 1E9D 72 -dep 1E9E 04 -dep 1E9F 6E -dep 1EA0 61 -dep 1EA1 6E -dep 1EA2 64 -dep 1EA3 01 -dep 1EA4 2B -dep 1EA5 02 -dep 1EA6 2B -dep 1EA7 63 -dep 1EA8 03 -dep 1EA9 78 -dep 1EAA 6F -dep 1EAB 72 -dep 1EAC 04 -dep 1EAD 78 -dep 1EAE 6E -dep 1EAF 6F -dep 1EB0 72 -dep 1EB1 05 -dep 1EB2 73 -dep 1EB3 77 -dep 1EB4 61 -dep 1EB5 70 -dep 1EB6 2D -dep 1EB7 06 -dep 1EB8 73 -dep 1EB9 77 -dep 1EBA 61 -dep 1EBB 70 -dep 1EBC 2D -dep 1EBD 63 -dep 1EBE 00 -dep 1EBF 00 -dep 1EC0 0E -dep 1EC1 2C -dep 1EC2 00 -dep 1EC3 02 -dep 1EC4 30 -dep 1EC5 3C -dep 1EC6 02 -dep 1EC7 32 -dep 1EC8 2A -dep 1EC9 03 -dep 1ECA 32 -dep 1ECB 2A -dep 1ECC 63 -dep 1ECD 04 -dep 1ECE 63 -dep 1ECF 55 -dep 1ED0 32 -dep 1ED1 2F -dep 1ED2 03 -dep 1ED3 63 -dep 1ED4 32 -dep 1ED5 2F -dep 1ED6 03 -dep 1ED7 75 -dep 1ED8 32 -dep 1ED9 2F -dep 1EDA 02 -dep 1EDB 32 -dep 1EDC 2F -dep 1EDD 03 -dep 1EDE 6E -dep 1EDF 32 -dep 1EE0 2A -dep 1EE1 04 -dep 1EE2 6E -dep 1EE3 32 -dep 1EE4 2A -dep 1EE5 63 -dep 1EE6 03 -dep 1EE7 64 -dep 1EE8 32 -dep 1EE9 2A -dep 1EEA 04 -dep 1EEB 64 -dep 1EEC 32 -dep 1EED 2A -dep 1EEE 63 -dep 1EEF 05 -dep 1EF0 63 -dep 1EF1 75 -dep 1EF2 64 -dep 1EF3 32 -dep 1EF4 2F -dep 1EF5 04 -dep 1EF6 63 -dep 1EF7 64 -dep 1EF8 32 -dep 1EF9 2F -dep 1EFA 04 -dep 1EFB 75 -dep 1EFC 64 -dep 1EFD 32 -dep 1EFE 2F -dep 1EFF 03 -dep 1F00 64 -dep 1F01 32 -dep 1F02 2F -dep 1F03 01 -dep 1F04 BE -dep 1F05 01 -dep 1F06 04 -dep 1F07 39 -dep 1F08 03 -dep 1F09 E1 -dep 1F0A 03 -dep 1F0B EC -dep 1F0C A0 -dep 1F0D 20 -dep 1F0E 0F -dep 1F0F 82 -dep 1F10 03 -dep 1F11 64 -dep 1F12 75 -dep 1F13 70 -dep 1F14 0F -dep 1F15 82 -dep 1F16 04 -dep 1F17 64 -dep 1F18 72 -dep 1F19 6F -dep 1F1A 70 -dep 1F1B 01 -dep 1F1C 0F -dep 1F1D 82 -dep 1F1E 04 -dep 1F1F 73 -dep 1F20 77 -dep 1F21 61 -dep 1F22 70 -dep 1F23 01 -dep 1F24 0F -dep 1F25 82 -dep 1F26 04 -dep 1F27 6F -dep 1F28 76 -dep 1F29 65 -dep 1F2A 72 -dep 1F2B 01 -dep 1F2C 0F -dep 1F2D 82 -dep 1F2E 02 -dep 1F2F 67 -dep 1F30 40 -dep 1F31 01 -dep 1F32 0F -dep 1F33 82 -dep 1F34 02 -dep 1F35 75 -dep 1F36 40 -dep 1F37 01 -dep 1F38 0F -dep 1F39 82 -dep 1F3A 02 -dep 1F3B 67 -dep 1F3C 21 -dep 1F3D 01 -dep 1F3E 0F -dep 1F3F 82 -dep 1F40 02 -dep 1F41 75 -dep 1F42 21 -dep 1F43 01 -dep 1F44 0F -dep 1F45 82 -dep 1F46 03 -dep 1F47 6E -dep 1F48 69 -dep 1F49 70 -dep 1F4A 0F -dep 1F4B 82 -dep 1F4C 04 -dep 1F4D 74 -dep 1F4E 75 -dep 1F4F 63 -dep 1F50 6B -dep 1F51 01 -dep 1F52 0E -dep 1F53 47 -dep 1F54 B2 -dep 1F55 CF -dep 1F56 0F -dep 1F57 60 -dep 1F58 A0 -dep 1F59 20 -dep 1F5A BE -dep 1F5B 50 -dep 1F5C 0E -dep 1F5D 43 -dep 1F5E EE -dep 1F5F A0 -dep 1F60 0E -dep 1F61 47 -dep 1F62 BE -dep 1F63 48 -dep 1F64 0E -dep 1F65 22 -dep 1F66 B2 -dep 1F67 CF -dep 1F68 0E -dep 1F69 43 -dep 1F6A E8 -dep 1F6B 80 -dep 1F6C 0F -dep 1F6D 2B -dep 1F6E BE -dep 1F6F 40 -dep 1F70 0E -dep 1F71 43 -dep 1F72 EE -dep 1F73 A0 -dep 1F74 0E -dep 1F75 47 -dep 1F76 BE -dep 1F77 48 -dep 1F78 0E -dep 1F79 22 -dep 1F7A B2 -dep 1F7B CE -dep 1F7C 0F -dep 1F7D 2B -dep 1F7E A0 -dep 1F7F 20 -dep 1F80 0E -dep 1F81 55 -dep 1F82 0F -dep 1F83 A9 -dep 1F84 0E -dep 1F85 4C -dep 1F86 A0 -dep 1F87 20 -dep 1F88 0F -dep 1F89 B0 -dep 1F8A 0F -dep 1F8B A9 -dep 1F8C 0E -dep 1F8D 4C -dep 1F8E A0 -dep 1F8F 20 -dep 1F90 BE -dep 1F91 42 -dep 1F92 0E -dep 1F93 4A -dep 1F94 0E -dep 1F95 47 -dep 1F96 D2 -dep 1F97 80 -dep 1F98 0E -dep 1F99 C0 -dep 1F9A BE -dep 1F9B 40 -dep 1F9C 0E -dep 1F9D 3C -dep 1F9E 89 -dep 1F9F D3 -dep 1FA0 AE -dep 1FA1 40 -dep 1FA2 0F -dep 1FA3 C0 -dep 1FA4 A0 -dep 1FA5 20 -dep 1FA6 DE -dep 1FA7 00 -dep 1FA8 0E -dep 1FA9 00 -dep 1FAA 0E -dep 1FAB 3C -dep 1FAC 89 -dep 1FAD DC -dep 1FAE AE -dep 1FAF 40 -dep 1FB0 0F -dep 1FB1 8A -dep 1FB2 0F -dep 1FB3 87 -dep 1FB4 0F -dep 1FB5 C0 -dep 1FB6 A0 -dep 1FB7 20 -dep 1FB8 DE -dep 1FB9 00 -dep 1FBA 00 -dep 1FBB 40 -dep 1FBC 0E -dep 1FBD 3C -dep 1FBE 89 -dep 1FBF E4 -dep 1FC0 AE -dep 1FC1 40 -dep 1FC2 0F -dep 1FC3 A2 -dep 1FC4 0F -dep 1FC5 C0 -dep 1FC6 A0 -dep 1FC7 20 -dep 1FC8 DE -dep 1FC9 00 -dep 1FCA 0E -dep 1FCB 40 -dep 1FCC 0E -dep 1FCD 3C -dep 1FCE 89 -dep 1FCF EC -dep 1FD0 AE -dep 1FD1 40 -dep 1FD2 0F -dep 1FD3 8A -dep 1FD4 0F -dep 1FD5 C0 -dep 1FD6 A0 -dep 1FD7 20 -dep 1FD8 DE -dep 1FD9 00 -dep 1FDA 00 -dep 1FDB 80 -dep 1FDC 0E -dep 1FDD 3C -dep 1FDE 89 -dep 1FDF F5 -dep 1FE0 AE -dep 1FE1 40 -dep 1FE2 0F -dep 1FE3 A2 -dep 1FE4 0F -dep 1FE5 87 -dep 1FE6 0F -dep 1FE7 C0 -dep 1FE8 A0 -dep 1FE9 20 -dep 1FEA DE -dep 1FEB 00 -dep 1FEC 0E -dep 1FED 80 -dep 1FEE 0E -dep 1FEF 3C -dep 1FF0 89 -dep 1FF1 FD -dep 1FF2 AE -dep 1FF3 40 -dep 1FF4 0F -dep 1FF5 8E -dep 1FF6 0F -dep 1FF7 C0 -dep 1FF8 A0 -dep 1FF9 20 -dep 1FFA DE -dep 1FFB 00 -dep 1FFC 00 -dep 1FFD C0 -dep 1FFE 0E -dep 1FFF 3C -dep 2000 88 -dep 2001 05 -dep 2002 AE -dep 2003 40 -dep 2004 0F -dep 2005 87 -dep 2006 0F -dep 2007 C0 -dep 2008 A0 -dep 2009 20 -dep 200A DE -dep 200B 00 -dep 200C 0E -dep 200D C0 -dep 200E 0E -dep 200F 3C -dep 2010 88 -dep 2011 0D -dep 2012 AE -dep 2013 40 -dep 2014 0F -dep 2015 92 -dep 2016 0F -dep 2017 C0 -dep 2018 A0 -dep 2019 20 -dep 201A AE -dep 201B 40 -dep 201C 0E -dep 201D 47 -dep 201E D2 -dep 201F 80 -dep 2020 00 -dep 2021 C0 -dep 2022 BE -dep 2023 40 -dep 2024 0E -dep 2025 3C -dep 2026 88 -dep 2027 19 -dep 2028 AE -dep 2029 40 -dep 202A 0F -dep 202B 92 -dep 202C 0F -dep 202D AD -dep 202E 0F -dep 202F C4 -dep 2030 A0 -dep 2031 20 -dep 2032 DE -dep 2033 00 -dep 2034 00 -dep 2035 40 -dep 2036 0E -dep 2037 3C -dep 2038 88 -dep 2039 20 -dep 203A AE -dep 203B 40 -dep 203C 0F -dep 203D C4 -dep 203E A0 -dep 203F 20 -dep 2040 DE -dep 2041 00 -dep 2042 00 -dep 2043 80 -dep 2044 0E -dep 2045 3C -dep 2046 88 -dep 2047 28 -dep 2048 AE -dep 2049 40 -dep 204A 0F -dep 204B A5 -dep 204C 0F -dep 204D C4 -dep 204E A0 -dep 204F 20 -dep 2050 AE -dep 2051 40 -dep 2052 0F -dep 2053 92 -dep 2054 0F -dep 2055 92 -dep 2056 0F -dep 2057 C4 -dep 2058 A0 -dep 2059 20 -dep 205A 0E -dep 205B 47 -dep 205C B2 -dep 205D DF -dep 205E 05 -dep 205F 33 -dep 2060 A0 -dep 2061 20 -dep 2062 0E -dep 2063 55 -dep 2064 0E -dep 2065 4C -dep 2066 A0 -dep 2067 20 -dep 2068 0F -dep 2069 B0 -dep 206A 0E -dep 206B 4C -dep 206C A0 -dep 206D 20 -dep 206E BE -dep 206F 42 -dep 2070 0E -dep 2071 4A -dep 2072 0E -dep 2073 47 -dep 2074 D2 -dep 2075 80 -dep 2076 0E -dep 2077 C0 -dep 2078 BE -dep 2079 40 -dep 207A 0E -dep 207B 3C -dep 207C 88 -dep 207D 45 -dep 207E AE -dep 207F 40 -dep 2080 10 -dep 2081 2D -dep 2082 0F -dep 2083 96 -dep 2084 0F -dep 2085 8A -dep 2086 10 -dep 2087 31 -dep 2088 A0 -dep 2089 20 -dep 208A DE -dep 208B 00 -dep 208C 0E -dep 208D 00 -dep 208E 0E -dep 208F 3C -dep 2090 88 -dep 2091 4E -dep 2092 AE -dep 2093 40 -dep 2094 10 -dep 2095 2D -dep 2096 0F -dep 2097 96 -dep 2098 10 -dep 2099 31 -dep 209A A0 -dep 209B 20 -dep 209C DE -dep 209D 00 -dep 209E 00 -dep 209F 80 -dep 20A0 0E -dep 20A1 3C -dep 20A2 88 -dep 20A3 59 -dep 20A4 AE -dep 20A5 40 -dep 20A6 10 -dep 20A7 2D -dep 20A8 0F -dep 20A9 92 -dep 20AA 0F -dep 20AB 8E -dep 20AC 0F -dep 20AD 9C -dep 20AE 10 -dep 20AF 31 -dep 20B0 A0 -dep 20B1 20 -dep 20B2 DE -dep 20B3 00 -dep 20B4 0E -dep 20B5 80 -dep 20B6 0E -dep 20B7 3C -dep 20B8 88 -dep 20B9 62 -dep 20BA AE -dep 20BB 40 -dep 20BC 10 -dep 20BD 2D -dep 20BE 0F -dep 20BF 9C -dep 20C0 10 -dep 20C1 31 -dep 20C2 A0 -dep 20C3 20 -dep 20C4 DE -dep 20C5 00 -dep 20C6 00 -dep 20C7 40 -dep 20C8 0E -dep 20C9 3C -dep 20CA 88 -dep 20CB 6B -dep 20CC AE -dep 20CD 40 -dep 20CE 10 -dep 20CF 2D -dep 20D0 0F -dep 20D1 8A -dep 20D2 10 -dep 20D3 31 -dep 20D4 A0 -dep 20D5 20 -dep 20D6 DE -dep 20D7 00 -dep 20D8 0E -dep 20D9 40 -dep 20DA 0E -dep 20DB 3C -dep 20DC 88 -dep 20DD 73 -dep 20DE AE -dep 20DF 40 -dep 20E0 10 -dep 20E1 2D -dep 20E2 10 -dep 20E3 31 -dep 20E4 A0 -dep 20E5 20 -dep 20E6 DE -dep 20E7 00 -dep 20E8 0E -dep 20E9 C0 -dep 20EA 0E -dep 20EB 3C -dep 20EC 88 -dep 20ED 7C -dep 20EE AE -dep 20EF 40 -dep 20F0 10 -dep 20F1 2D -dep 20F2 0F -dep 20F3 A2 -dep 20F4 10 -dep 20F5 31 -dep 20F6 A0 -dep 20F7 20 -dep 20F8 AE -dep 20F9 40 -dep 20FA 0E -dep 20FB 47 -dep 20FC D2 -dep 20FD 80 -dep 20FE 00 -dep 20FF C0 -dep 2100 BE -dep 2101 40 -dep 2102 0E -dep 2103 3C -dep 2104 88 -dep 2105 8D -dep 2106 AE -dep 2107 40 -dep 2108 10 -dep 2109 2D -dep 210A 04 -dep 210B C7 -dep 210C 08 -dep 210D 67 -dep 210E 40 -dep 210F 20 -dep 2110 6F -dep 2111 76 -dep 2112 65 -dep 2113 72 -dep 2114 20 -dep 2115 20 -dep 2116 10 -dep 2117 34 -dep 2118 A0 -dep 2119 20 -dep 211A DE -dep 211B 00 -dep 211C 00 -dep 211D 80 -dep 211E 0E -dep 211F 3C -dep 2120 88 -dep 2121 99 -dep 2122 AE -dep 2123 40 -dep 2124 10 -dep 2125 2D -dep 2126 04 -dep 2127 C7 -dep 2128 03 -dep 2129 67 -dep 212A 40 -dep 212B 20 -dep 212C 0F -dep 212D AD -dep 212E 10 -dep 212F 34 -dep 2130 A0 -dep 2131 20 -dep 2132 DE -dep 2133 00 -dep 2134 00 -dep 2135 40 -dep 2136 0E -dep 2137 3C -dep 2138 88 -dep 2139 A5 -dep 213A AE -dep 213B 40 -dep 213C 10 -dep 213D 2D -dep 213E 04 -dep 213F C7 -dep 2140 05 -dep 2141 6F -dep 2142 76 -dep 2143 65 -dep 2144 72 -dep 2145 20 -dep 2146 10 -dep 2147 34 -dep 2148 A0 -dep 2149 20 -dep 214A DE -dep 214B 00 -dep 214C 00 -dep 214D 40 -dep 214E 0E -dep 214F 3C -dep 2150 88 -dep 2151 B1 -dep 2152 AE -dep 2153 40 -dep 2154 10 -dep 2155 2D -dep 2156 04 -dep 2157 C7 -dep 2158 05 -dep 2159 6F -dep 215A 76 -dep 215B 65 -dep 215C 72 -dep 215D 20 -dep 215E 10 -dep 215F 34 -dep 2160 A0 -dep 2161 20 -dep 2162 DE -dep 2163 00 -dep 2164 00 -dep 2165 C0 -dep 2166 0E -dep 2167 3C -dep 2168 88 -dep 2169 BA -dep 216A AE -dep 216B 40 -dep 216C 10 -dep 216D 2D -dep 216E 0F -dep 216F AD -dep 2170 10 -dep 2171 34 -dep 2172 A0 -dep 2173 20 -dep 2174 AE -dep 2175 40 -dep 2176 10 -dep 2177 2D -dep 2178 04 -dep 2179 C7 -dep 217A 06 -dep 217B 3F -dep 217C 3F -dep 217D 3F -dep 217E 67 -dep 217F 40 -dep 2180 20 -dep 2181 20 -dep 2182 10 -dep 2183 34 -dep 2184 A0 -dep 2185 20 -dep 2186 04 -dep 2187 C7 -dep 2188 04 -dep 2189 6C -dep 218A 69 -dep 218B 74 -dep 218C 20 -dep 218D 20 -dep 218E 0E -dep 218F 3F -dep 2190 EE -dep 2191 00 -dep 2192 B8 -dep 2193 C2 -dep 2194 EE -dep 2195 00 -dep 2196 05 -dep 2197 39 -dep 2198 A0 -dep 2199 20 -dep 219A BE -dep 219B 44 -dep 219C 0E -dep 219D 4A -dep 219E 0E -dep 219F 47 -dep 21A0 D2 -dep 21A1 80 -dep 21A2 0E -dep 21A3 C0 -dep 21A4 BE -dep 21A5 40 -dep 21A6 0E -dep 21A7 3C -dep 21A8 88 -dep 21A9 DA -dep 21AA AE -dep 21AB 40 -dep 21AC 10 -dep 21AD C3 -dep 21AE 0F -dep 21AF 8E -dep 21B0 0E -dep 21B1 4C -dep 21B2 A0 -dep 21B3 20 -dep 21B4 DE -dep 21B5 00 -dep 21B6 0E -dep 21B7 00 -dep 21B8 0E -dep 21B9 3C -dep 21BA 88 -dep 21BB E2 -dep 21BC AE -dep 21BD 40 -dep 21BE 10 -dep 21BF C3 -dep 21C0 0E -dep 21C1 4C -dep 21C2 A0 -dep 21C3 20 -dep 21C4 DE -dep 21C5 00 -dep 21C6 0E -dep 21C7 80 -dep 21C8 0E -dep 21C9 3C -dep 21CA 88 -dep 21CB EB -dep 21CC AE -dep 21CD 40 -dep 21CE 0F -dep 21CF 8A -dep 21D0 10 -dep 21D1 C3 -dep 21D2 0E -dep 21D3 4C -dep 21D4 A0 -dep 21D5 20 -dep 21D6 AE -dep 21D7 40 -dep 21D8 0E -dep 21D9 47 -dep 21DA D2 -dep 21DB 80 -dep 21DC 00 -dep 21DD C0 -dep 21DE BE -dep 21DF 40 -dep 21E0 0E -dep 21E1 3C -dep 21E2 88 -dep 21E3 F7 -dep 21E4 AE -dep 21E5 40 -dep 21E6 10 -dep 21E7 C3 -dep 21E8 0F -dep 21E9 92 -dep 21EA 10 -dep 21EB 34 -dep 21EC A0 -dep 21ED 20 -dep 21EE DE -dep 21EF 00 -dep 21F0 00 -dep 21F1 80 -dep 21F2 0E -dep 21F3 3C -dep 21F4 89 -dep 21F5 00 -dep 21F6 AE -dep 21F7 40 -dep 21F8 10 -dep 21F9 C3 -dep 21FA 0F -dep 21FB AD -dep 21FC 10 -dep 21FD 34 -dep 21FE A0 -dep 21FF 20 -dep 2200 AE -dep 2201 40 -dep 2202 04 -dep 2203 C7 -dep 2204 06 -dep 2205 3F -dep 2206 6C -dep 2207 6F -dep 2208 6E -dep 2209 67 -dep 220A 3F -dep 220B 20 -dep 220C 10 -dep 220D 34 -dep 220E A0 -dep 220F 20 -dep 2210 BE -dep 2211 42 -dep 2212 0E -dep 2213 4A -dep 2214 0E -dep 2215 47 -dep 2216 D2 -dep 2217 80 -dep 2218 0E -dep 2219 C0 -dep 221A BE -dep 221B 40 -dep 221C 0E -dep 221D 3C -dep 221E 89 -dep 221F 16 -dep 2220 AE -dep 2221 40 -dep 2222 10 -dep 2223 2D -dep 2224 0F -dep 2225 99 -dep 2226 0F -dep 2227 AD -dep 2228 10 -dep 2229 31 -dep 222A A0 -dep 222B 20 -dep 222C DE -dep 222D 00 -dep 222E 0E -dep 222F 00 -dep 2230 0E -dep 2231 3C -dep 2232 89 -dep 2233 1F -dep 2234 AE -dep 2235 40 -dep 2236 10 -dep 2237 2D -dep 2238 0F -dep 2239 99 -dep 223A 10 -dep 223B 31 -dep 223C A0 -dep 223D 20 -dep 223E DE -dep 223F 00 -dep 2240 00 -dep 2241 80 -dep 2242 0E -dep 2243 3C -dep 2244 89 -dep 2245 29 -dep 2246 AE -dep 2247 40 -dep 2248 0F -dep 2249 87 -dep 224A 10 -dep 224B 2D -dep 224C 0F -dep 224D 9F -dep 224E 10 -dep 224F 31 -dep 2250 A0 -dep 2251 20 -dep 2252 DE -dep 2253 00 -dep 2254 0E -dep 2255 80 -dep 2256 0E -dep 2257 3C -dep 2258 89 -dep 2259 32 -dep 225A AE -dep 225B 40 -dep 225C 10 -dep 225D 2D -dep 225E 0F -dep 225F 9F -dep 2260 10 -dep 2261 31 -dep 2262 A0 -dep 2263 20 -dep 2264 AE -dep 2265 40 -dep 2266 0E -dep 2267 47 -dep 2268 D2 -dep 2269 80 -dep 226A 00 -dep 226B C0 -dep 226C BE -dep 226D 40 -dep 226E 0E -dep 226F 3C -dep 2270 89 -dep 2271 3F -dep 2272 AE -dep 2273 40 -dep 2274 10 -dep 2275 2D -dep 2276 0F -dep 2277 99 -dep 2278 0F -dep 2279 92 -dep 227A 10 -dep 227B 34 -dep 227C A0 -dep 227D 20 -dep 227E DE -dep 227F 00 -dep 2280 00 -dep 2281 80 -dep 2282 0E -dep 2283 3C -dep 2284 89 -dep 2285 48 -dep 2286 AE -dep 2287 40 -dep 2288 10 -dep 2289 2D -dep 228A 0F -dep 228B 99 -dep 228C 10 -dep 228D 34 -dep 228E A0 -dep 228F 20 -dep 2290 AE -dep 2291 40 -dep 2292 10 -dep 2293 2D -dep 2294 04 -dep 2295 C7 -dep 2296 07 -dep 2297 3F -dep 2298 75 -dep 2299 73 -dep 229A 65 -dep 229B 72 -dep 229C 3F -dep 229D 20 -dep 229E 10 -dep 229F 34 -dep 22A0 A0 -dep 22A1 20 -dep 22A2 0E -dep 22A3 45 -dep 22A4 EE -dep 22A5 00 -dep 22A6 89 -dep 22A7 56 -dep 22A8 04 -dep 22A9 C7 -dep 22AA 01 -dep 22AB 63 -dep 22AC A0 -dep 22AD 20 -dep 22AE 11 -dep 22AF 51 -dep 22B0 04 -dep 22B1 C7 -dep 22B2 02 -dep 22B3 40 -dep 22B4 20 -dep 22B5 20 -dep 22B6 A0 -dep 22B7 20 -dep 22B8 11 -dep 22B9 51 -dep 22BA 04 -dep 22BB C7 -dep 22BC 02 -dep 22BD 21 -dep 22BE 20 -dep 22BF 20 -dep 22C0 A0 -dep 22C1 20 -dep 22C2 10 -dep 22C3 2D -dep 22C4 0F -dep 22C5 AD -dep 22C6 0F -dep 22C7 BA -dep 22C8 0E -dep 22C9 4C -dep 22CA A0 -dep 22CB 20 -dep 22CC 0F -dep 22CD 87 -dep 22CE 11 -dep 22CF 57 -dep 22D0 0F -dep 22D1 8E -dep 22D2 11 -dep 22D3 61 -dep 22D4 A0 -dep 22D5 20 -dep 22D6 BE -dep 22D7 42 -dep 22D8 0E -dep 22D9 4A -dep 22DA 0E -dep 22DB 47 -dep 22DC D2 -dep 22DD 80 -dep 22DE 0E -dep 22DF C0 -dep 22E0 BE -dep 22E1 40 -dep 22E2 0E -dep 22E3 3C -dep 22E4 89 -dep 22E5 78 -dep 22E6 AE -dep 22E7 40 -dep 22E8 11 -dep 22E9 57 -dep 22EA 0F -dep 22EB 8E -dep 22EC 10 -dep 22ED 31 -dep 22EE A0 -dep 22EF 20 -dep 22F0 DE -dep 22F1 00 -dep 22F2 0E -dep 22F3 00 -dep 22F4 0E -dep 22F5 3C -dep 22F6 89 -dep 22F7 80 -dep 22F8 AE -dep 22F9 40 -dep 22FA 11 -dep 22FB 57 -dep 22FC 10 -dep 22FD 31 -dep 22FE A0 -dep 22FF 20 -dep 2300 DE -dep 2301 00 -dep 2302 00 -dep 2303 80 -dep 2304 0E -dep 2305 3C -dep 2306 89 -dep 2307 8A -dep 2308 AE -dep 2309 40 -dep 230A 0F -dep 230B 92 -dep 230C 0F -dep 230D 8E -dep 230E 11 -dep 230F 5C -dep 2310 10 -dep 2311 31 -dep 2312 A0 -dep 2313 20 -dep 2314 DE -dep 2315 00 -dep 2316 0E -dep 2317 80 -dep 2318 0E -dep 2319 3C -dep 231A 89 -dep 231B 92 -dep 231C AE -dep 231D 40 -dep 231E 11 -dep 231F 5C -dep 2320 10 -dep 2321 31 -dep 2322 A0 -dep 2323 20 -dep 2324 AE -dep 2325 40 -dep 2326 0E -dep 2327 47 -dep 2328 D2 -dep 2329 80 -dep 232A 0F -dep 232B C0 -dep 232C DE -dep 232D 00 -dep 232E 00 -dep 232F 40 -dep 2330 0E -dep 2331 3C -dep 2332 89 -dep 2333 A1 -dep 2334 AE -dep 2335 40 -dep 2336 0F -dep 2337 A2 -dep 2338 0F -dep 2339 87 -dep 233A 11 -dep 233B 57 -dep 233C 0F -dep 233D 8E -dep 233E 0E -dep 233F 4C -dep 2340 A0 -dep 2341 20 -dep 2342 DE -dep 2343 00 -dep 2344 01 -dep 2345 40 -dep 2346 0E -dep 2347 3C -dep 2348 89 -dep 2349 AB -dep 234A AE -dep 234B 40 -dep 234C 0F -dep 234D 87 -dep 234E 11 -dep 234F 57 -dep 2350 0F -dep 2351 8E -dep 2352 0E -dep 2353 4C -dep 2354 A0 -dep 2355 20 -dep 2356 DE -dep 2357 00 -dep 2358 0E -dep 2359 40 -dep 235A 0E -dep 235B 3C -dep 235C 89 -dep 235D B5 -dep 235E AE -dep 235F 40 -dep 2360 0F -dep 2361 A2 -dep 2362 11 -dep 2363 57 -dep 2364 10 -dep 2365 2D -dep 2366 0E -dep 2367 4C -dep 2368 A0 -dep 2369 20 -dep 236A DE -dep 236B 00 -dep 236C 0F -dep 236D 40 -dep 236E 0E -dep 236F 3C -dep 2370 89 -dep 2371 BE -dep 2372 AE -dep 2373 40 -dep 2374 11 -dep 2375 57 -dep 2376 10 -dep 2377 2D -dep 2378 0E -dep 2379 4C -dep 237A A0 -dep 237B 20 -dep 237C DE -dep 237D 00 -dep 237E 00 -dep 237F C0 -dep 2380 0E -dep 2381 3C -dep 2382 89 -dep 2383 C8 -dep 2384 AE -dep 2385 40 -dep 2386 0F -dep 2387 92 -dep 2388 0F -dep 2389 92 -dep 238A 11 -dep 238B 5C -dep 238C 0E -dep 238D 4C -dep 238E A0 -dep 238F 20 -dep 2390 DE -dep 2391 00 -dep 2392 01 -dep 2393 C0 -dep 2394 0E -dep 2395 3C -dep 2396 89 -dep 2397 D1 -dep 2398 AE -dep 2399 40 -dep 239A 0F -dep 239B A5 -dep 239C 11 -dep 239D 5C -dep 239E 0E -dep 239F 4C -dep 23A0 A0 -dep 23A1 20 -dep 23A2 DE -dep 23A3 00 -dep 23A4 0E -dep 23A5 C0 -dep 23A6 0E -dep 23A7 3C -dep 23A8 89 -dep 23A9 DC -dep 23AA AE -dep 23AB 40 -dep 23AC 0F -dep 23AD 92 -dep 23AE 0F -dep 23AF 8E -dep 23B0 11 -dep 23B1 5C -dep 23B2 10 -dep 23B3 2D -dep 23B4 0E -dep 23B5 4C -dep 23B6 A0 -dep 23B7 20 -dep 23B8 DE -dep 23B9 00 -dep 23BA 0F -dep 23BB C0 -dep 23BC 0E -dep 23BD 3C -dep 23BE 89 -dep 23BF E5 -dep 23C0 AE -dep 23C1 40 -dep 23C2 11 -dep 23C3 5C -dep 23C4 10 -dep 23C5 2D -dep 23C6 0E -dep 23C7 4C -dep 23C8 A0 -dep 23C9 20 -dep 23CA AE -dep 23CB 40 -dep 23CC 0E -dep 23CD 47 -dep 23CE D2 -dep 23CF 80 -dep 23D0 00 -dep 23D1 C0 -dep 23D2 BE -dep 23D3 40 -dep 23D4 0E -dep 23D5 3C -dep 23D6 89 -dep 23D7 F1 -dep 23D8 AE -dep 23D9 40 -dep 23DA 11 -dep 23DB 57 -dep 23DC 0F -dep 23DD 92 -dep 23DE 10 -dep 23DF 34 -dep 23E0 A0 -dep 23E1 20 -dep 23E2 DE -dep 23E3 00 -dep 23E4 00 -dep 23E5 80 -dep 23E6 0E -dep 23E7 3C -dep 23E8 89 -dep 23E9 FA -dep 23EA AE -dep 23EB 40 -dep 23EC 11 -dep 23ED 57 -dep 23EE 0F -dep 23EF AD -dep 23F0 10 -dep 23F1 34 -dep 23F2 A0 -dep 23F3 20 -dep 23F4 AE -dep 23F5 40 -dep 23F6 0E -dep 23F7 47 -dep 23F8 D2 -dep 23F9 80 -dep 23FA 01 -dep 23FB C0 -dep 23FC DE -dep 23FD 00 -dep 23FE 00 -dep 23FF 40 -dep 2400 0E -dep 2401 3C -dep 2402 88 -dep 2403 06 -dep 2404 AE -dep 2405 40 -dep 2406 0F -dep 2407 A2 -dep 2408 11 -dep 2409 66 -dep 240A A0 -dep 240B 20 -dep 240C DE -dep 240D 00 -dep 240E 01 -dep 240F 40 -dep 2410 0E -dep 2411 3C -dep 2412 88 -dep 2413 0D -dep 2414 AE -dep 2415 40 -dep 2416 11 -dep 2417 66 -dep 2418 A0 -dep 2419 20 -dep 241A DE -dep 241B 00 -dep 241C 00 -dep 241D C0 -dep 241E 0E -dep 241F 3C -dep 2420 88 -dep 2421 17 -dep 2422 AE -dep 2423 40 -dep 2424 0F -dep 2425 92 -dep 2426 0F -dep 2427 92 -dep 2428 11 -dep 2429 5C -dep 242A 11 -dep 242B 61 -dep 242C A0 -dep 242D 20 -dep 242E DE -dep 242F 00 -dep 2430 01 -dep 2431 C0 -dep 2432 0E -dep 2433 3C -dep 2434 88 -dep 2435 20 -dep 2436 AE -dep 2437 40 -dep 2438 0F -dep 2439 A5 -dep 243A 11 -dep 243B 5C -dep 243C 11 -dep 243D 61 -dep 243E A0 -dep 243F 20 -dep 2440 AE -dep 2441 40 -dep 2442 04 -dep 2443 C7 -dep 2444 05 -dep 2445 3F -dep 2446 6D -dep 2447 65 -dep 2448 6D -dep 2449 3F -dep 244A A0 -dep 244B 20 -dep 244C 0E -dep 244D 47 -dep 244E DE -dep 244F 00 -dep 2450 A0 -dep 2451 20 -dep 2452 01 -dep 2453 0A -dep 2454 88 -dep 2455 2C -dep 2456 BE -dep 2457 60 -dep 2458 BE -dep 2459 42 -dep 245A 0E -dep 245B 4A -dep 245C BF -dep 245D 40 -dep 245E 0E -dep 245F 47 -dep 2460 D2 -dep 2461 80 -dep 2462 FF -dep 2463 DF -dep 2464 DE -dep 2465 00 -dep 2466 A0 -dep 2467 00 -dep 2468 0E -dep 2469 3C -dep 246A 88 -dep 246B 3B -dep 246C AE -dep 246D 40 -dep 246E 04 -dep 246F C7 -dep 2470 03 -dep 2471 6E -dep 2472 6F -dep 2473 70 -dep 2474 A0 -dep 2475 20 -dep 2476 DE -dep 2477 00 -dep 2478 BF -dep 2479 40 -dep 247A 0E -dep 247B 3C -dep 247C 88 -dep 247D 46 -dep 247E AE -dep 247F 40 -dep 2480 04 -dep 2481 C7 -dep 2482 06 -dep 2483 6C -dep 2484 69 -dep 2485 74 -dep 2486 20 -dep 2487 2D -dep 2488 31 -dep 2489 20 -dep 248A A0 -dep 248B 20 -dep 248C DE -dep 248D 00 -dep 248E A0 -dep 248F C1 -dep 2490 0E -dep 2491 3C -dep 2492 88 -dep 2493 4F -dep 2494 AE -dep 2495 40 -dep 2496 04 -dep 2497 C7 -dep 2498 03 -dep 2499 73 -dep 249A 3E -dep 249B 64 -dep 249C A0 -dep 249D 20 -dep 249E DE -dep 249F 00 -dep 24A0 BC -dep 24A1 C0 -dep 24A2 0E -dep 24A3 3C -dep 24A4 88 -dep 24A5 5A -dep 24A6 AE -dep 24A7 40 -dep 24A8 04 -dep 24A9 C7 -dep 24AA 06 -dep 24AB 6E -dep 24AC 65 -dep 24AD 67 -dep 24AE 61 -dep 24AF 74 -dep 24B0 65 -dep 24B1 20 -dep 24B2 A0 -dep 24B3 20 -dep 24B4 DE -dep 24B5 00 -dep 24B6 B4 -dep 24B7 C1 -dep 24B8 0E -dep 24B9 3C -dep 24BA 88 -dep 24BB 63 -dep 24BC AE -dep 24BD 40 -dep 24BE 04 -dep 24BF C7 -dep 24C0 02 -dep 24C1 31 -dep 24C2 2D -dep 24C3 20 -dep 24C4 A0 -dep 24C5 20 -dep 24C6 DE -dep 24C7 00 -dep 24C8 E0 -dep 24C9 C0 -dep 24CA 0E -dep 24CB 3C -dep 24CC 88 -dep 24CD 6E -dep 24CE AE -dep 24CF 40 -dep 24D0 04 -dep 24D1 C7 -dep 24D2 07 -dep 24D3 64 -dep 24D4 64 -dep 24D5 75 -dep 24D6 70 -dep 24D7 20 -dep 24D8 21 -dep 24D9 20 -dep 24DA A0 -dep 24DB 20 -dep 24DC DE -dep 24DD 00 -dep 24DE B0 -dep 24DF 8D -dep 24E0 0E -dep 24E1 3C -dep 24E2 88 -dep 24E3 79 -dep 24E4 AE -dep 24E5 40 -dep 24E6 04 -dep 24E7 C7 -dep 24E8 06 -dep 24E9 73 -dep 24EA 65 -dep 24EB 6C -dep 24EC 64 -dep 24ED 70 -dep 24EE 72 -dep 24EF 20 -dep 24F0 A0 -dep 24F1 20 -dep 24F2 DE -dep 24F3 00 -dep 24F4 B0 -dep 24F5 0D -dep 24F6 0E -dep 24F7 3C -dep 24F8 88 -dep 24F9 84 -dep 24FA AE -dep 24FB 40 -dep 24FC 04 -dep 24FD C7 -dep 24FE 06 -dep 24FF 73 -dep 2500 65 -dep 2501 6C -dep 2502 63 -dep 2503 70 -dep 2504 72 -dep 2505 20 -dep 2506 A0 -dep 2507 20 -dep 2508 DE -dep 2509 00 -dep 250A F0 -dep 250B C0 -dep 250C 0E -dep 250D 3C -dep 250E 88 -dep 250F 8F -dep 2510 AE -dep 2511 40 -dep 2512 04 -dep 2513 C7 -dep 2514 07 -dep 2515 64 -dep 2516 64 -dep 2517 75 -dep 2518 70 -dep 2519 20 -dep 251A 43 -dep 251B 21 -dep 251C A0 -dep 251D 20 -dep 251E DE -dep 251F 00 -dep 2520 B0 -dep 2521 90 -dep 2522 0E -dep 2523 3C -dep 2524 88 -dep 2525 9A -dep 2526 AE -dep 2527 40 -dep 2528 04 -dep 2529 C7 -dep 252A 07 -dep 252B 73 -dep 252C 6F -dep 252D 66 -dep 252E 74 -dep 252F 69 -dep 2530 6E -dep 2531 74 -dep 2532 A0 -dep 2533 20 -dep 2534 DE -dep 2535 00 -dep 2536 B0 -dep 2537 10 -dep 2538 0E -dep 2539 3C -dep 253A 88 -dep 253B A6 -dep 253C AE -dep 253D 40 -dep 253E 04 -dep 253F C7 -dep 2540 08 -dep 2541 2D -dep 2542 73 -dep 2543 6F -dep 2544 66 -dep 2545 74 -dep 2546 69 -dep 2547 6E -dep 2548 74 -dep 2549 20 -dep 254A A0 -dep 254B 20 -dep 254C DE -dep 254D 00 -dep 254E B0 -dep 254F 96 -dep 2550 0E -dep 2551 3C -dep 2552 88 -dep 2553 B0 -dep 2554 AE -dep 2555 40 -dep 2556 04 -dep 2557 C7 -dep 2558 04 -dep 2559 6D -dep 255A 75 -dep 255B 6C -dep 255C 75 -dep 255D 20 -dep 255E A0 -dep 255F 20 -dep 2560 DE -dep 2561 00 -dep 2562 B0 -dep 2563 97 -dep 2564 0E -dep 2565 3C -dep 2566 88 -dep 2567 BA -dep 2568 AE -dep 2569 40 -dep 256A 04 -dep 256B C7 -dep 256C 04 -dep 256D 6D -dep 256E 75 -dep 256F 6C -dep 2570 73 -dep 2571 20 -dep 2572 A0 -dep 2573 20 -dep 2574 DE -dep 2575 00 -dep 2576 BE -dep 2577 01 -dep 2578 0E -dep 2579 3C -dep 257A 88 -dep 257B C3 -dep 257C AE -dep 257D 40 -dep 257E 04 -dep 257F C7 -dep 2580 02 -dep 2581 72 -dep 2582 3E -dep 2583 20 -dep 2584 A0 -dep 2585 20 -dep 2586 DE -dep 2587 00 -dep 2588 B0 -dep 2589 01 -dep 258A 0E -dep 258B 3C -dep 258C 88 -dep 258D CE -dep 258E AE -dep 258F 40 -dep 2590 04 -dep 2591 C7 -dep 2592 06 -dep 2593 72 -dep 2594 3E -dep 2595 64 -dep 2596 72 -dep 2597 6F -dep 2598 70 -dep 2599 20 -dep 259A A0 -dep 259B 20 -dep 259C DE -dep 259D 00 -dep 259E BE -dep 259F 80 -dep 25A0 0E -dep 25A1 3C -dep 25A2 88 -dep 25A3 DA -dep 25A4 AE -dep 25A5 40 -dep 25A6 04 -dep 25A7 C7 -dep 25A8 08 -dep 25A9 72 -dep 25AA 3E -dep 25AB 64 -dep 25AC 72 -dep 25AD 6F -dep 25AE 70 -dep 25AF 3E -dep 25B0 72 -dep 25B1 20 -dep 25B2 A0 -dep 25B3 20 -dep 25B4 DE -dep 25B5 00 -dep 25B6 BE -dep 25B7 81 -dep 25B8 0E -dep 25B9 3C -dep 25BA 88 -dep 25BB E3 -dep 25BC AE -dep 25BD 40 -dep 25BE 04 -dep 25BF C7 -dep 25C0 02 -dep 25C1 3E -dep 25C2 72 -dep 25C3 20 -dep 25C4 A0 -dep 25C5 20 -dep 25C6 DE -dep 25C7 00 -dep 25C8 BE -dep 25C9 A7 -dep 25CA 0E -dep 25CB 3C -dep 25CC 88 -dep 25CD EC -dep 25CE AE -dep 25CF 40 -dep 25D0 04 -dep 25D1 C7 -dep 25D2 03 -dep 25D3 3E -dep 25D4 72 -dep 25D5 3B -dep 25D6 A0 -dep 25D7 20 -dep 25D8 AE -dep 25D9 40 -dep 25DA B8 -dep 25DB E1 -dep 25DC AE -dep 25DD 80 -dep 25DE BE -dep 25DF 40 -dep 25E0 04 -dep 25E1 F0 -dep 25E2 01 -dep 25E3 4D -dep 25E4 BE -dep 25E5 40 -dep 25E6 AE -dep 25E7 80 -dep 25E8 BE -dep 25E9 81 -dep 25EA BE -dep 25EB 81 -dep 25EC 04 -dep 25ED F5 -dep 25EE 00 -dep 25EF 17 -dep 25F0 25 -dep 25F1 EC -dep 25F2 05 -dep 25F3 10 -dep 25F4 03 -dep 25F5 E1 -dep 25F6 A0 -dep 25F7 20 -dep 25F8 03 -dep 25F9 D6 -dep 25FA 0E -dep 25FB 3F -dep 25FC EE -dep 25FD 00 -dep 25FE BE -dep 25FF 44 -dep 2600 12 -dep 2601 EE -dep 2602 DE -dep 2603 00 -dep 2604 00 -dep 2605 7C -dep 2606 D8 -dep 2607 80 -dep 2608 00 -dep 2609 37 -dep 260A 03 -dep 260B BB -dep 260C 0E -dep 260D 47 -dep 260E BE -dep 260F 44 -dep 2610 12 -dep 2611 EE -dep 2612 DE -dep 2613 00 -dep 2614 00 -dep 2615 7C -dep 2616 D8 -dep 2617 80 -dep 2618 00 -dep 2619 37 -dep 261A 03 -dep 261B BB -dep 261C 0E -dep 261D 3F -dep 261E EE -dep 261F 00 -dep 2620 BE -dep 2621 40 -dep 2622 BE -dep 2623 41 -dep 2624 0C -dep 2625 6D -dep 2626 DE -dep 2627 00 -dep 2628 00 -dep 2629 7C -dep 262A D8 -dep 262B 80 -dep 262C 00 -dep 262D 37 -dep 262E 03 -dep 262F BB -dep 2630 A0 -dep 2631 20 -dep 2632 12 -dep 2633 26 -dep 2634 89 -dep 2635 1D -dep 2636 0E -dep 2637 4C -dep 2638 A0 -dep 2639 20 -dep 263A 0E -dep 263B 47 -dep 263C BE -dep 263D 4C -dep 263E 0E -dep 263F 22 -dep 2640 BE -dep 2641 48 -dep 2642 0E -dep 2643 3C -dep 2644 89 -dep 2645 26 -dep 2646 AE -dep 2647 40 -dep 2648 0E -dep 2649 F9 -dep 264A A0 -dep 264B 20 -dep 264C BE -dep 264D 49 -dep 264E 0E -dep 264F 3C -dep 2650 89 -dep 2651 2C -dep 2652 AE -dep 2653 40 -dep 2654 0E -dep 2655 F9 -dep 2656 A0 -dep 2657 20 -dep 2658 BE -dep 2659 4A -dep 265A 0E -dep 265B 3C -dep 265C 89 -dep 265D 32 -dep 265E AE -dep 265F 40 -dep 2660 0F -dep 2661 C8 -dep 2662 A0 -dep 2663 20 -dep 2664 BE -dep 2665 4B -dep 2666 0E -dep 2667 3C -dep 2668 89 -dep 2669 38 -dep 266A AE -dep 266B 40 -dep 266C 10 -dep 266D 37 -dep 266E A0 -dep 266F 20 -dep 2670 BE -dep 2671 4C -dep 2672 0E -dep 2673 3C -dep 2674 89 -dep 2675 3E -dep 2676 AE -dep 2677 40 -dep 2678 11 -dep 2679 08 -dep 267A A0 -dep 267B 20 -dep 267C BE -dep 267D 4D -dep 267E 0E -dep 267F 3C -dep 2680 89 -dep 2681 44 -dep 2682 AE -dep 2683 40 -dep 2684 10 -dep 2685 CD -dep 2686 A0 -dep 2687 20 -dep 2688 BE -dep 2689 4E -dep 268A 0E -dep 268B 3C -dep 268C 89 -dep 268D 4C -dep 268E AE -dep 268F 40 -dep 2690 0E -dep 2691 45 -dep 2692 01 -dep 2693 8F -dep 2694 11 -dep 2695 6B -dep 2696 A0 -dep 2697 20 -dep 2698 BE -dep 2699 4F -dep 269A 0E -dep 269B 3C -dep 269C 89 -dep 269D 54 -dep 269E AE -dep 269F 40 -dep 26A0 0E -dep 26A1 45 -dep 26A2 01 -dep 26A3 95 -dep 26A4 11 -dep 26A5 6B -dep 26A6 A0 -dep 26A7 20 -dep 26A8 AE -dep 26A9 40 -dep 26AA 0E -dep 26AB 9F -dep 26AC A0 -dep 26AD 20 -dep 26AE 1B -dep 26AF A0 -dep 26B0 82 -dep 26B1 55 -dep 26B2 4E -dep 26B3 20 -dep 26B4 00 -dep 26B5 79 -dep 26B6 EE -dep 26B7 00 -dep 26B8 BE -dep 26B9 81 -dep 26BA 04 -dep 26BB 2A -dep 26BC 0E -dep 26BD 3F -dep 26BE EE -dep 26BF 80 -dep 26C0 BE -dep 26C1 40 -dep 26C2 0E -dep 26C3 43 -dep 26C4 EE -dep 26C5 80 -dep 26C6 DE -dep 26C7 00 -dep 26C8 00 -dep 26C9 20 -dep 26CA DE -dep 26CB 00 -dep 26CC 00 -dep 26CD 20 -dep 26CE 01 -dep 26CF 0A -dep 26D0 B2 -dep 26D1 CF -dep 26D2 BE -dep 26D3 81 -dep 26D4 12 -dep 26D5 FC -dep 26D6 13 -dep 26D7 19 -dep 26D8 0E -dep 26D9 41 -dep 26DA EE -dep 26DB 00 -dep 26DC 0E -dep 26DD 3F -dep 26DE 01 -dep 26DF 5D -dep 26E0 99 -dep 26E1 6A -dep 26E2 03 -dep 26E3 B3 -dep 26E4 A0 -dep 26E5 C0 -dep 26E6 DE -dep 26E7 00 -dep 26E8 00 -dep 26E9 20 -dep 26EA 01 -dep 26EB 2C -dep 26EC 89 -dep 26ED 65 -dep 26EE AE -dep 26EF 40 -dep 26F0 BE -dep 26F1 01 -dep 26F2 00 -dep 26F3 79 -dep 26F4 EE -dep 26F5 A0 -dep 26F6 1C -dep 26F7 10 -dep 26F8 83 -dep 26F9 53 -dep 26FA 45 -dep 26FB 45 -dep 26FC 07 -dep 26FD 53 -dep 26FE 13 -dep 26FF 5A -dep 2700 A0 -dep 2701 20 -dep 2702 1C -dep 2703 1E -dep 2704 C5 -dep 2705 44 -dep 2706 4F -dep 2707 45 -dep 2708 53 -dep 2709 3E -dep 270A 0B -dep 270B 69 -dep 270C 0A -dep 270D FF -dep 270E 0B -dep 270F 69 -dep 2710 BE -dep 2711 01 -dep 2712 00 -dep 2713 73 -dep 2714 01 -dep 2715 95 -dep 2716 A0 -dep 2717 20 -dep 2718 1A -dep 2719 96 -dep 271A 84 -dep 271B 42 -dep 271C 53 -dep 271D 45 -dep 271E 54 -dep 271F 20 -dep 2720 AE -dep 2721 C0 -dep 2722 F6 -dep 2723 80 -dep 2724 AE -dep 2725 80 -dep 2726 FE -dep 2727 A0 -dep 2728 27 -dep 2729 18 -dep 272A 84 -dep 272B 42 -dep 272C 43 -dep 272D 4C -dep 272E 52 -dep 272F 20 -dep 2730 BF -dep 2731 40 -dep 2732 AA -dep 2733 40 -dep 2734 AE -dep 2735 C0 -dep 2736 F2 -dep 2737 80 -dep 2738 AE -dep 2739 80 -dep 273A FE -dep 273B A0 -dep 273C 06 -dep 273D C3 -dep 273E DE -dep 273F 00 -dep 2740 00 -dep 2741 40 -dep 2742 13 -dep 2743 90 -dep 2744 A0 -dep 2745 20 -dep 2746 26 -dep 2747 F6 -dep 2748 86 -dep 2749 53 -dep 274A 4D -dep 274B 55 -dep 274C 44 -dep 274D 47 -dep 274E 45 -dep 274F 20 -dep 2750 06 -dep 2751 C3 -dep 2752 B8 -dep 2753 C1 -dep 2754 DE -dep 2755 00 -dep 2756 00 -dep 2757 80 -dep 2758 13 -dep 2759 90 -dep 275A A0 -dep 275B 20 -dep 275C 26 -dep 275D AE -dep 275E 88 -dep 275F 55 -dep 2760 4E -dep 2761 53 -dep 2762 4D -dep 2763 55 -dep 2764 44 -dep 2765 47 -dep 2766 45 -dep 2767 20 -dep 2768 06 -dep 2769 C3 -dep 276A B8 -dep 276B C1 -dep 276C DE -dep 276D 00 -dep 276E 00 -dep 276F 80 -dep 2770 13 -dep 2771 98 -dep 2772 A0 -dep 2773 20 -dep 2774 1B -dep 2775 D8 -dep 2776 87 -dep 2777 49 -dep 2778 53 -dep 2779 2D -dep 277A 43 -dep 277B 4F -dep 277C 44 -dep 277D 45 -dep 277E 06 -dep 277F C3 -dep 2780 DE -dep 2781 00 -dep 2782 00 -dep 2783 20 -dep 2784 13 -dep 2785 90 -dep 2786 A0 -dep 2787 20 -dep 2788 D2 -dep 2789 A0 -dep 278A 03 -dep 278B FF -dep 278C D2 -dep 278D A0 -dep 278E FC -dep 278F 00 -dep 2790 B8 -dep 2791 C2 -dep 2792 AE -dep 2793 80 -dep 2794 13 -dep 2795 C6 -dep 2796 AE -dep 2797 80 -dep 2798 13 -dep 2799 C6 -dep 279A AC -dep 279B 40 -dep 279C 01 -dep 279D 20 -dep 279E DE -dep 279F 00 -dep 27A0 04 -dep 27A1 00 -dep 27A2 01 -dep 27A3 26 -dep 27A4 05 -dep 27A5 5B -dep 27A6 19 -dep 27A7 75 -dep 27A8 6E -dep 27A9 72 -dep 27AA 65 -dep 27AB 61 -dep 27AC 63 -dep 27AD 68 -dep 27AE 61 -dep 27AF 62 -dep 27B0 6C -dep 27B1 65 -dep 27B2 20 -dep 27B3 62 -dep 27B4 72 -dep 27B5 61 -dep 27B6 6E -dep 27B7 63 -dep 27B8 68 -dep 27B9 20 -dep 27BA 74 -dep 27BB 61 -dep 27BC 72 -dep 27BD 67 -dep 27BE 65 -dep 27BF 74 -dep 27C0 A0 -dep 27C1 20 -dep 27C2 B8 -dep 27C3 C2 -dep 27C4 AE -dep 27C5 80 -dep 27C6 13 -dep 27C7 C6 -dep 27C8 AE -dep 27C9 80 -dep 27CA 13 -dep 27CB C6 -dep 27CC AC -dep 27CD 40 -dep 27CE A0 -dep 27CF C0 -dep 27D0 89 -dep 27D1 F0 -dep 27D2 A0 -dep 27D3 01 -dep 27D4 89 -dep 27D5 EE -dep 27D6 DE -dep 27D7 00 -dep 27D8 06 -dep 27D9 00 -dep 27DA 91 -dep 27DB F0 -dep 27DC DE -dep 27DD 00 -dep 27DE 02 -dep 27DF 00 -dep 27E0 A0 -dep 27E1 20 -dep 27E2 27 -dep 27E3 28 -dep 27E4 87 -dep 27E5 52 -dep 27E6 45 -dep 27E7 53 -dep 27E8 4F -dep 27E9 4C -dep 27EA 56 -dep 27EB 45 -dep 27EC AE -dep 27ED 80 -dep 27EE 01 -dep 27EF A2 -dep 27F0 13 -dep 27F1 C8 -dep 27F2 01 -dep 27F3 A2 -dep 27F4 13 -dep 27F5 E1 -dep 27F6 01 -dep 27F7 4D -dep 27F8 13 -dep 27F9 C4 -dep 27FA A0 -dep 27FB 07 -dep 27FC A6 -dep 27FD 40 -dep 27FE AE -dep 27FF C0 -dep 2800 E6 -dep 2801 80 -dep 2802 AE -dep 2803 80 -dep 2804 EE -dep 2805 80 -dep 2806 00 -dep 2807 73 -dep 2808 01 -dep 2809 95 -dep 280A A0 -dep 280B 20 -dep 280C 00 -dep 280D 89 -dep 280E EF -dep 280F 00 -dep 2810 88 -dep 2811 0A -dep 2812 BE -dep 2813 60 -dep 2814 00 -dep 2815 73 -dep 2816 EE -dep 2817 00 -dep 2818 88 -dep 2819 0E -dep 281A BE -dep 281B 60 -dep 281C 00 -dep 281D 83 -dep 281E EE -dep 281F 00 -dep 2820 EE -dep 2821 00 -dep 2822 DE -dep 2823 00 -dep 2824 9F -dep 2825 FF -dep 2826 01 -dep 2827 65 -dep 2828 88 -dep 2829 16 -dep 282A BE -dep 282B 60 -dep 282C 00 -dep 282D 83 -dep 282E EE -dep 282F 00 -dep 2830 A0 -dep 2831 C0 -dep 2832 EE -dep 2833 00 -dep 2834 BF -dep 2835 60 -dep 2836 14 -dep 2837 06 -dep 2838 88 -dep 2839 2A -dep 283A 00 -dep 283B 71 -dep 283C EE -dep 283D 00 -dep 283E 88 -dep 283F 25 -dep 2840 01 -dep 2841 9C -dep 2842 DE -dep 2843 00 -dep 2844 A0 -dep 2845 20 -dep 2846 0A -dep 2847 79 -dep 2848 90 -dep 2849 29 -dep 284A D6 -dep 284B 80 -dep 284C 00 -dep 284D 20 -dep 284E AE -dep 284F 80 -dep 2850 EE -dep 2851 80 -dep 2852 90 -dep 2853 2D -dep 2854 DE -dep 2855 00 -dep 2856 A0 -dep 2857 20 -dep 2858 0A -dep 2859 79 -dep 285A A0 -dep 285B 20 -dep 285C 27 -dep 285D 5C -dep 285E 81 -dep 285F 5D -dep 2860 00 -dep 2861 61 -dep 2862 01 -dep 2863 95 -dep 2864 00 -dep 2865 73 -dep 2866 01 -dep 2867 95 -dep 2868 A0 -dep 2869 20 -dep 286A 27 -dep 286B 46 -dep 286C C1 -dep 286D 5B -dep 286E 00 -dep 286F 61 -dep 2870 01 -dep 2871 8F -dep 2872 A0 -dep 2873 20 -dep 2874 27 -dep 2875 E2 -dep 2876 81 -dep 2877 3A -dep 2878 0A -dep 2879 E0 -dep 287A 13 -dep 287B A8 -dep 287C BE -dep 287D 40 -dep 287E 00 -dep 287F 8D -dep 2880 EE -dep 2881 80 -dep 2882 BE -dep 2883 40 -dep 2884 00 -dep 2885 91 -dep 2886 EE -dep 2887 80 -dep 2888 14 -dep 2889 30 -dep 288A A0 -dep 288B 20 -dep 288C 28 -dep 288D 6A -dep 288E C1 -dep 288F 3B -dep 2890 06 -dep 2891 75 -dep 2892 14 -dep 2893 1B -dep 2894 00 -dep 2895 73 -dep 2896 01 -dep 2897 95 -dep 2898 00 -dep 2899 61 -dep 289A 01 -dep 289B 8F -dep 289C 00 -dep 289D 8D -dep 289E EE -dep 289F 00 -dep 28A0 88 -dep 28A1 5F -dep 28A2 04 -dep 28A3 C7 -dep 28A4 16 -dep 28A5 20 -dep 28A6 55 -dep 28A7 6E -dep 28A8 62 -dep 28A9 61 -dep 28AA 6C -dep 28AB 61 -dep 28AC 6E -dep 28AD 63 -dep 28AE 65 -dep 28AF 64 -dep 28B0 20 -dep 28B1 73 -dep 28B2 74 -dep 28B3 72 -dep 28B4 75 -dep 28B5 63 -dep 28B6 74 -dep 28B7 75 -dep 28B8 72 -dep 28B9 65 -dep 28BA 2E -dep 28BB 20 -dep 28BC 05 -dep 28BD 57 -dep 28BE 13 -dep 28BF B4 -dep 28C0 A0 -dep 28C1 20 -dep 28C2 28 -dep 28C3 5C -dep 28C4 C4 -dep 28C5 45 -dep 28C6 58 -dep 28C7 49 -dep 28C8 54 -dep 28C9 20 -dep 28CA 06 -dep 28CB 75 -dep 28CC 14 -dep 28CD 1B -dep 28CE A0 -dep 28CF 20 -dep 28D0 00 -dep 28D1 61 -dep 28D2 EE -dep 28D3 00 -dep 28D4 01 -dep 28D5 0A -dep 28D6 88 -dep 28D7 7E -dep 28D8 A0 -dep 28D9 C0 -dep 28DA 06 -dep 28DB B6 -dep 28DC 06 -dep 28DD 9A -dep 28DE FE -dep 28DF 00 -dep 28E0 D2 -dep 28E1 80 -dep 28E2 00 -dep 28E3 20 -dep 28E4 88 -dep 28E5 7A -dep 28E6 EE -dep 28E7 00 -dep 28E8 A0 -dep 28E9 C1 -dep 28EA 88 -dep 28EB 78 -dep 28EC D2 -dep 28ED 80 -dep 28EE FF -dep 28EF DF -dep 28F0 0A -dep 28F1 79 -dep 28F2 90 -dep 28F3 7D -dep 28F4 06 -dep 28F5 BB -dep 28F6 A0 -dep 28F7 06 -dep 28F8 0A -dep 28F9 79 -dep 28FA 90 -dep 28FB 7F -dep 28FC BE -dep 28FD 87 -dep 28FE A0 -dep 28FF 20 -dep 2900 27 -dep 2901 74 -dep 2902 89 -dep 2903 49 -dep 2904 4E -dep 2905 54 -dep 2906 45 -dep 2907 52 -dep 2908 50 -dep 2909 52 -dep 290A 45 -dep 290B 54 -dep 290C 00 -dep 290D ED -dep 290E 06 -dep 290F DF -dep 2910 A0 -dep 2911 C0 -dep 2912 FE -dep 2913 00 -dep 2914 00 -dep 2915 FF -dep 2916 88 -dep 2917 8D -dep 2918 AE -dep 2919 60 -dep 291A 00 -dep 291B 8B -dep 291C EE -dep 291D 00 -dep 291E 88 -dep 291F 9A -dep 2920 B8 -dep 2921 C1 -dep 2922 04 -dep 2923 C1 -dep 2924 04 -dep 2925 23 -dep 2926 45 -dep 2927 4E -dep 2928 44 -dep 2929 20 -dep 292A 04 -dep 292B AD -dep 292C 00 -dep 292D FF -dep 292E 00 -dep 292F 8B -dep 2930 EE -dep 2931 80 -dep 2932 90 -dep 2933 AF -dep 2934 07 -dep 2935 37 -dep 2936 01 -dep 2937 19 -dep 2938 88 -dep 2939 A5 -dep 293A 00 -dep 293B 61 -dep 293C EE -dep 293D 00 -dep 293E 88 -dep 293F A2 -dep 2940 14 -dep 2941 68 -dep 2942 90 -dep 2943 A4 -dep 2944 AE -dep 2945 40 -dep 2946 BE -dep 2947 87 -dep 2948 90 -dep 2949 AF -dep 294A 04 -dep 294B 39 -dep 294C 05 -dep 294D F9 -dep 294E A0 -dep 294F C0 -dep 2950 05 -dep 2951 6D -dep 2952 00 -dep 2953 61 -dep 2954 EE -dep 2955 00 -dep 2956 88 -dep 2957 AE -dep 2958 0B -dep 2959 42 -dep 295A 90 -dep 295B AF -dep 295C AE -dep 295D 40 -dep 295E 90 -dep 295F 86 -dep 2960 A0 -dep 2961 20 -dep 2962 28 -dep 2963 C2 -dep 2964 88 -dep 2965 45 -dep 2966 56 -dep 2967 41 -dep 2968 4C -dep 2969 55 -dep 296A 41 -dep 296B 54 -dep 296C 45 -dep 296D 20 -dep 296E 00 -dep 296F C6 -dep 2970 EE -dep 2971 00 -dep 2972 BE -dep 2973 81 -dep 2974 00 -dep 2975 9D -dep 2976 EE -dep 2977 00 -dep 2978 BE -dep 2979 81 -dep 297A 00 -dep 297B 9D -dep 297C EE -dep 297D 80 -dep 297E 00 -dep 297F C6 -dep 2980 EE -dep 2981 80 -dep 2982 00 -dep 2983 A2 -dep 2984 EE -dep 2985 00 -dep 2986 BE -dep 2987 81 -dep 2988 BE -dep 2989 40 -dep 298A 00 -dep 298B A2 -dep 298C EE -dep 298D 80 -dep 298E 14 -dep 298F 86 -dep 2990 BE -dep 2991 01 -dep 2992 00 -dep 2993 A2 -dep 2994 EE -dep 2995 80 -dep 2996 BE -dep 2997 01 -dep 2998 00 -dep 2999 9D -dep 299A EE -dep 299B 80 -dep 299C BE -dep 299D 01 -dep 299E 00 -dep 299F C6 -dep 29A0 EE -dep 29A1 A0 -dep 29A2 29 -dep 29A3 00 -dep 29A4 85 -dep 29A5 51 -dep 29A6 55 -dep 29A7 45 -dep 29A8 52 -dep 29A9 59 -dep 29AA 04 -dep 29AB 0D -dep 29AC DE -dep 29AD 00 -dep 29AE 00 -dep 29AF 50 -dep 29B0 07 -dep 29B1 95 -dep 29B2 BE -dep 29B3 40 -dep 29B4 00 -dep 29B5 A2 -dep 29B6 EE -dep 29B7 80 -dep 29B8 00 -dep 29B9 C0 -dep 29BA EE -dep 29BB 00 -dep 29BC 00 -dep 29BD 9D -dep 29BE EE -dep 29BF A0 -dep 29C0 06 -dep 29C1 64 -dep 29C2 00 -dep 29C3 61 -dep 29C4 EE -dep 29C5 00 -dep 29C6 00 -dep 29C7 FF -dep 29C8 88 -dep 29C9 E8 -dep 29CA 04 -dep 29CB C7 -dep 29CC 03 -dep 29CD 20 -dep 29CE 6F -dep 29CF 6B -dep 29D0 A0 -dep 29D1 20 -dep 29D2 29 -dep 29D3 A2 -dep 29D4 84 -dep 29D5 51 -dep 29D6 55 -dep 29D7 49 -dep 29D8 54 -dep 29D9 20 -dep 29DA BE -dep 29DB 40 -dep 29DC 00 -dep 29DD 61 -dep 29DE EE -dep 29DF 80 -dep 29E0 DE -dep 29E1 00 -dep 29E2 FF -dep 29E3 FE -dep 29E4 B8 -dep 29E5 89 -dep 29E6 D2 -dep 29E7 80 -dep 29E8 00 -dep 29E9 FF -dep 29EA BE -dep 29EB 89 -dep 29EC 03 -dep 29ED D6 -dep 29EE 06 -dep 29EF 5A -dep 29F0 01 -dep 29F1 19 -dep 29F2 88 -dep 29F3 FF -dep 29F4 BE -dep 29F5 40 -dep 29F6 05 -dep 29F7 4A -dep 29F8 04 -dep 29F9 C7 -dep 29FA 02 -dep 29FB 29 -dep 29FC 20 -dep 29FD 20 -dep 29FE 14 -dep 29FF D5 -dep 2A00 03 -dep 2A01 EC -dep 2A02 14 -dep 2A03 86 -dep 2A04 14 -dep 2A05 E0 -dep 2A06 90 -dep 2A07 F6 -dep 2A08 28 -dep 2A09 74 -dep 2A0A 89 -dep 2A0B 52 -dep 2A0C 45 -dep 2A0D 41 -dep 2A0E 44 -dep 2A0F 2D -dep 2A10 46 -dep 2A11 49 -dep 2A12 4C -dep 2A13 45 -dep 2A14 DE -dep 2A15 00 -dep 2A16 00 -dep 2A17 22 -dep 2A18 03 -dep 2A19 A6 -dep 2A1A 03 -dep 2A1B 6D -dep 2A1C 03 -dep 2A1D 7C -dep 2A1E 03 -dep 2A1F 74 -dep 2A20 01 -dep 2A21 82 -dep 2A22 03 -dep 2A23 85 -dep 2A24 A0 -dep 2A25 20 -dep 2A26 1B -dep 2A27 84 -dep 2A28 8A -dep 2A29 57 -dep 2A2A 52 -dep 2A2B 49 -dep 2A2C 54 -dep 2A2D 45 -dep 2A2E 2D -dep 2A2F 46 -dep 2A30 49 -dep 2A31 4C -dep 2A32 45 -dep 2A33 20 -dep 2A34 DE -dep 2A35 00 -dep 2A36 00 -dep 2A37 23 -dep 2A38 03 -dep 2A39 A6 -dep 2A3A 03 -dep 2A3B 6D -dep 2A3C A0 -dep 2A3D C0 -dep 2A3E 03 -dep 2A3F 7C -dep 2A40 03 -dep 2A41 96 -dep 2A42 03 -dep 2A43 74 -dep 2A44 A0 -dep 2A45 20 -dep 2A46 28 -dep 2A47 8C -dep 2A48 8A -dep 2A49 43 -dep 2A4A 4C -dep 2A4B 4F -dep 2A4C 53 -dep 2A4D 45 -dep 2A4E 2D -dep 2A4F 46 -dep 2A50 49 -dep 2A51 4C -dep 2A52 45 -dep 2A53 20 -dep 2A54 DE -dep 2A55 00 -dep 2A56 00 -dep 2A57 21 -dep 2A58 03 -dep 2A59 A6 -dep 2A5A 03 -dep 2A5B 6D -dep 2A5C A0 -dep 2A5D 20 -dep 2A5E 2A -dep 2A5F 46 -dep 2A60 89 -dep 2A61 53 -dep 2A62 45 -dep 2A63 45 -dep 2A64 4B -dep 2A65 2D -dep 2A66 46 -dep 2A67 49 -dep 2A68 4C -dep 2A69 45 -dep 2A6A DE -dep 2A6B 00 -dep 2A6C 00 -dep 2A6D 24 -dep 2A6E 03 -dep 2A6F A6 -dep 2A70 03 -dep 2A71 6D -dep 2A72 03 -dep 2A73 6D -dep 2A74 03 -dep 2A75 7C -dep 2A76 03 -dep 2A77 7C -dep 2A78 03 -dep 2A79 74 -dep 2A7A 03 -dep 2A7B 74 -dep 2A7C A0 -dep 2A7D 20 -dep 2A7E 1A -dep 2A7F E6 -dep 2A80 87 -dep 2A81 46 -dep 2A82 49 -dep 2A83 4C -dep 2A84 45 -dep 2A85 50 -dep 2A86 4F -dep 2A87 53 -dep 2A88 BE -dep 2A89 81 -dep 2A8A BE -dep 2A8B 40 -dep 2A8C BE -dep 2A8D 40 -dep 2A8E BE -dep 2A8F 41 -dep 2A90 BE -dep 2A91 01 -dep 2A92 15 -dep 2A93 35 -dep 2A94 A0 -dep 2A95 20 -dep 2A96 2A -dep 2A97 7E -dep 2A98 88 -dep 2A99 46 -dep 2A9A 49 -dep 2A9B 4C -dep 2A9C 45 -dep 2A9D 53 -dep 2A9E 49 -dep 2A9F 5A -dep 2AA0 45 -dep 2AA1 20 -dep 2AA2 BE -dep 2AA3 81 -dep 2AA4 BE -dep 2AA5 40 -dep 2AA6 BE -dep 2AA7 40 -dep 2AA8 BE -dep 2AA9 42 -dep 2AAA BE -dep 2AAB 01 -dep 2AAC 15 -dep 2AAD 35 -dep 2AAE A0 -dep 2AAF 20 -dep 2AB0 2A -dep 2AB1 26 -dep 2AB2 89 -dep 2AB3 4F -dep 2AB4 50 -dep 2AB5 45 -dep 2AB6 4E -dep 2AB7 2D -dep 2AB8 46 -dep 2AB9 49 -dep 2ABA 4C -dep 2ABB 45 -dep 2ABC DE -dep 2ABD 00 -dep 2ABE 00 -dep 2ABF 20 -dep 2AC0 03 -dep 2AC1 A6 -dep 2AC2 A0 -dep 2AC3 C0 -dep 2AC4 03 -dep 2AC5 7C -dep 2AC6 03 -dep 2AC7 96 -dep 2AC8 03 -dep 2AC9 67 -dep 2ACA A0 -dep 2ACB C0 -dep 2ACC 05 -dep 2ACD 6D -dep 2ACE A0 -dep 2ACF 20 -dep 2AD0 2A -dep 2AD1 5E -dep 2AD2 8B -dep 2AD3 43 -dep 2AD4 52 -dep 2AD5 45 -dep 2AD6 41 -dep 2AD7 54 -dep 2AD8 45 -dep 2AD9 2D -dep 2ADA 46 -dep 2ADB 49 -dep 2ADC 4C -dep 2ADD 45 -dep 2ADE DE -dep 2ADF 00 -dep 2AE0 00 -dep 2AE1 25 -dep 2AE2 03 -dep 2AE3 A6 -dep 2AE4 A0 -dep 2AE5 C0 -dep 2AE6 03 -dep 2AE7 7C -dep 2AE8 03 -dep 2AE9 96 -dep 2AEA 03 -dep 2AEB 67 -dep 2AEC A0 -dep 2AED C0 -dep 2AEE 05 -dep 2AEF 6D -dep 2AF0 A0 -dep 2AF1 20 -dep 2AF2 27 -dep 2AF3 02 -dep 2AF4 8B -dep 2AF5 44 -dep 2AF6 45 -dep 2AF7 4C -dep 2AF8 45 -dep 2AF9 54 -dep 2AFA 45 -dep 2AFB 2D -dep 2AFC 46 -dep 2AFD 49 -dep 2AFE 4C -dep 2AFF 45 -dep 2B00 DE -dep 2B01 00 -dep 2B02 00 -dep 2B03 26 -dep 2B04 03 -dep 2B05 A6 -dep 2B06 A0 -dep 2B07 C0 -dep 2B08 03 -dep 2B09 7C -dep 2B0A 03 -dep 2B0B 96 -dep 2B0C 03 -dep 2B0D 67 -dep 2B0E A0 -dep 2B0F C0 -dep 2B10 05 -dep 2B11 6D -dep 2B12 A0 -dep 2B13 20 -dep 2B14 2A -dep 2B15 08 -dep 2B16 89 -dep 2B17 52 -dep 2B18 45 -dep 2B19 41 -dep 2B1A 44 -dep 2B1B 2D -dep 2B1C 4C -dep 2B1D 49 -dep 2B1E 4E -dep 2B1F 45 -dep 2B20 DE -dep 2B21 00 -dep 2B22 00 -dep 2B23 2F -dep 2B24 03 -dep 2B25 A6 -dep 2B26 03 -dep 2B27 6D -dep 2B28 03 -dep 2B29 7C -dep 2B2A 03 -dep 2B2B 74 -dep 2B2C 03 -dep 2B2D 67 -dep 2B2E 89 -dep 2B2F 9C -dep 2B30 01 -dep 2B31 82 -dep 2B32 03 -dep 2B33 85 -dep 2B34 BF -dep 2B35 40 -dep 2B36 91 -dep 2B37 9F -dep 2B38 01 -dep 2B39 9C -dep 2B3A BE -dep 2B3B 40 -dep 2B3C BE -dep 2B3D 40 -dep 2B3E A0 -dep 2B3F 20 -dep 2B40 01 -dep 2B41 19 -dep 2B42 89 -dep 2B43 B0 -dep 2B44 BE -dep 2B45 40 -dep 2B46 AE -dep 2B47 80 -dep 2B48 BE -dep 2B49 81 -dep 2B4A BE -dep 2B4B 81 -dep 2B4C A0 -dep 2B4D C0 -dep 2B4E FE -dep 2B4F 00 -dep 2B50 DE -dep 2B51 00 -dep 2B52 00 -dep 2B53 20 -dep 2B54 03 -dep 2B55 3E -dep 2B56 AE -dep 2B57 C0 -dep 2B58 FE -dep 2B59 80 -dep 2B5A B8 -dep 2B5B C1 -dep 2B5C 00 -dep 2B5D 17 -dep 2B5E 2B -dep 2B5F 4C -dep 2B60 AE -dep 2B61 60 -dep 2B62 00 -dep 2B63 4A -dep 2B64 EE -dep 2B65 00 -dep 2B66 BE -dep 2B67 81 -dep 2B68 BE -dep 2B69 40 -dep 2B6A 00 -dep 2B6B 4A -dep 2B6C EE -dep 2B6D 80 -dep 2B6E 00 -dep 2B6F 81 -dep 2B70 EE -dep 2B71 00 -dep 2B72 BE -dep 2B73 81 -dep 2B74 00 -dep 2B75 81 -dep 2B76 EE -dep 2B77 80 -dep 2B78 BE -dep 2B79 41 -dep 2B7A 00 -dep 2B7B 4A -dep 2B7C 01 -dep 2B7D 5D -dep 2B7E 00 -dep 2B7F C8 -dep 2B80 A0 -dep 2B81 C0 -dep 2B82 DE -dep 2B83 00 -dep 2B84 00 -dep 2B85 84 -dep 2B86 00 -dep 2B87 81 -dep 2B88 EE -dep 2B89 00 -dep 2B8A 15 -dep 2B8B 90 -dep 2B8C 89 -dep 2B8D CB -dep 2B8E 01 -dep 2B8F A2 -dep 2B90 15 -dep 2B91 A0 -dep 2B92 14 -dep 2B93 B7 -dep 2B94 91 -dep 2B95 BC -dep 2B96 01 -dep 2B97 9C -dep 2B98 00 -dep 2B99 81 -dep 2B9A EE -dep 2B9B 00 -dep 2B9C 15 -dep 2B9D 2A -dep 2B9E BE -dep 2B9F 01 -dep 2BA0 00 -dep 2BA1 81 -dep 2BA2 EE -dep 2BA3 80 -dep 2BA4 BE -dep 2BA5 01 -dep 2BA6 00 -dep 2BA7 4A -dep 2BA8 EE -dep 2BA9 A0 -dep 2BAA 2A -dep 2BAB F2 -dep 2BAC 84 -dep 2BAD 4C -dep 2BAE 4F -dep 2BAF 41 -dep 2BB0 44 -dep 2BB1 20 -dep 2BB2 08 -dep 2BB3 9A -dep 2BB4 00 -dep 2BB5 CA -dep 2BB6 04 -dep 2BB7 39 -dep 2BB8 15 -dep 2BB9 5E -dep 2BBA A0 -dep 2BBB C0 -dep 2BBC 05 -dep 2BBD 6D -dep 2BBE 15 -dep 2BBF B1 -dep 2BC0 A0 -dep 2BC1 20 -dep 2BC2 2B -dep 2BC3 AA -dep 2BC4 83 -dep 2BC5 4C -dep 2BC6 45 -dep 2BC7 44 -dep 2BC8 01 -dep 2BC9 05 -dep 2BCA D2 -dep 2BCB 80 -dep 2BCC 80 -dep 2BCD 00 -dep 2BCE BE -dep 2BCF B8 -dep 2BD0 00 -dep 2BD1 7D -dep 2BD2 EE -dep 2BD3 00 -dep 2BD4 DE -dep 2BD5 00 -dep 2BD6 30 -dep 2BD7 39 -dep 2BD8 DE -dep 2BD9 00 -dep 2BDA 30 -dep 2BDB 3B -dep 2BDC 01 -dep 2BDD 77 -dep 2BDE A1 -dep 2BDF 00 -dep 2BE0 89 -dep 2BE1 F6 -dep 2BE2 DE -dep 2BE3 00 -dep 2BE4 30 -dep 2BE5 39 -dep 2BE6 00 -dep 2BE7 7D -dep 2BE8 EE -dep 2BE9 80 -dep 2BEA BF -dep 2BEB 60 -dep 2BEC BE -dep 2BED 40 -dep 2BEE 00 -dep 2BEF 7D -dep 2BF0 EE -dep 2BF1 00 -dep 2BF2 DE -dep 2BF3 00 -dep 2BF4 30 -dep 2BF5 39 -dep 2BF6 01 -dep 2BF7 0A -dep 2BF8 8A -dep 2BF9 08 -dep 2BFA BE -dep 2BFB 41 -dep 2BFC 00 -dep 2BFD 7D -dep 2BFE 01 -dep 2BFF 5D -dep 2C00 BF -dep 2C01 40 -dep 2C02 15 -dep 2C03 E4 -dep 2C04 BF -dep 2C05 40 -dep 2C06 00 -dep 2C07 7D -dep 2C08 01 -dep 2C09 5D -dep 2C0A BE -dep 2C0B 40 -dep 2C0C 15 -dep 2C0D E4 -dep 2C0E B4 -dep 2C0F C1 -dep 2C10 DE -dep 2C11 00 -dep 2C12 30 -dep 2C13 39 -dep 2C14 00 -dep 2C15 7D -dep 2C16 EE -dep 2C17 A0 -dep 2C18 03 -dep 2C19 D6 -dep 2C1A 04 -dep 2C1B C7 -dep 2C1C 45 -dep 2C1D 54 -dep 2C1E 68 -dep 2C1F 69 -dep 2C20 73 -dep 2C21 20 -dep 2C22 73 -dep 2C23 6F -dep 2C24 66 -dep 2C25 74 -dep 2C26 77 -dep 2C27 61 -dep 2C28 72 -dep 2C29 65 -dep 2C2A 20 -dep 2C2B 69 -dep 2C2C 73 -dep 2C2D 20 -dep 2C2E 70 -dep 2C2F 72 -dep 2C30 6F -dep 2C31 76 -dep 2C32 69 -dep 2C33 64 -dep 2C34 65 -dep 2C35 64 -dep 2C36 20 -dep 2C37 62 -dep 2C38 79 -dep 2C39 20 -dep 2C3A 48 -dep 2C3B 61 -dep 2C3C 72 -dep 2C3D 72 -dep 2C3E 69 -dep 2C3F 73 -dep 2C40 20 -dep 2C41 43 -dep 2C42 6F -dep 2C43 72 -dep 2C44 70 -dep 2C45 6F -dep 2C46 72 -dep 2C47 61 -dep 2C48 74 -dep 2C49 69 -dep 2C4A 6F -dep 2C4B 6E -dep 2C4C 2C -dep 2C4D 20 -dep 2C4E 53 -dep 2C4F 65 -dep 2C50 6D -dep 2C51 69 -dep 2C52 63 -dep 2C53 6F -dep 2C54 6E -dep 2C55 64 -dep 2C56 75 -dep 2C57 63 -dep 2C58 74 -dep 2C59 6F -dep 2C5A 72 -dep 2C5B 20 -dep 2C5C 53 -dep 2C5D 65 -dep 2C5E 63 -dep 2C5F 74 -dep 2C60 6F -dep 2C61 72 -dep 2C62 03 -dep 2C63 D6 -dep 2C64 04 -dep 2C65 C7 -dep 2C66 46 -dep 2C67 61 -dep 2C68 73 -dep 2C69 20 -dep 2C6A 61 -dep 2C6B 20 -dep 2C6C 63 -dep 2C6D 6F -dep 2C6E 75 -dep 2C6F 72 -dep 2C70 74 -dep 2C71 65 -dep 2C72 73 -dep 2C73 79 -dep 2C74 20 -dep 2C75 74 -dep 2C76 6F -dep 2C77 20 -dep 2C78 69 -dep 2C79 74 -dep 2C7A 73 -dep 2C7B 20 -dep 2C7C 63 -dep 2C7D 75 -dep 2C7E 73 -dep 2C7F 74 -dep 2C80 6F -dep 2C81 6D -dep 2C82 65 -dep 2C83 72 -dep 2C84 73 -dep 2C85 20 -dep 2C86 66 -dep 2C87 72 -dep 2C88 65 -dep 2C89 65 -dep 2C8A 20 -dep 2C8B 6F -dep 2C8C 66 -dep 2C8D 20 -dep 2C8E 63 -dep 2C8F 68 -dep 2C90 61 -dep 2C91 72 -dep 2C92 67 -dep 2C93 65 -dep 2C94 2E -dep 2C95 20 -dep 2C96 20 -dep 2C97 54 -dep 2C98 68 -dep 2C99 65 -dep 2C9A 20 -dep 2C9B 70 -dep 2C9C 72 -dep 2C9D 6F -dep 2C9E 67 -dep 2C9F 72 -dep 2CA0 61 -dep 2CA1 6D -dep 2CA2 73 -dep 2CA3 20 -dep 2CA4 61 -dep 2CA5 6E -dep 2CA6 64 -dep 2CA7 20 -dep 2CA8 6F -dep 2CA9 74 -dep 2CAA 68 -dep 2CAB 65 -dep 2CAC 72 -dep 2CAD 20 -dep 2CAE 03 -dep 2CAF D6 -dep 2CB0 04 -dep 2CB1 C7 -dep 2CB2 45 -dep 2CB3 63 -dep 2CB4 6F -dep 2CB5 6E -dep 2CB6 74 -dep 2CB7 65 -dep 2CB8 6E -dep 2CB9 74 -dep 2CBA 73 -dep 2CBB 20 -dep 2CBC 6F -dep 2CBD 66 -dep 2CBE 20 -dep 2CBF 74 -dep 2CC0 68 -dep 2CC1 65 -dep 2CC2 20 -dep 2CC3 64 -dep 2CC4 69 -dep 2CC5 73 -dep 2CC6 6B -dep 2CC7 20 -dep 2CC8 61 -dep 2CC9 72 -dep 2CCA 65 -dep 2CCB 20 -dep 2CCC 6E -dep 2CCD 6F -dep 2CCE 74 -dep 2CCF 20 -dep 2CD0 72 -dep 2CD1 65 -dep 2CD2 6C -dep 2CD3 65 -dep 2CD4 61 -dep 2CD5 73 -dep 2CD6 65 -dep 2CD7 64 -dep 2CD8 20 -dep 2CD9 70 -dep 2CDA 72 -dep 2CDB 6F -dep 2CDC 64 -dep 2CDD 75 -dep 2CDE 63 -dep 2CDF 74 -dep 2CE0 73 -dep 2CE1 2C -dep 2CE2 20 -dep 2CE3 61 -dep 2CE4 6E -dep 2CE5 64 -dep 2CE6 20 -dep 2CE7 74 -dep 2CE8 68 -dep 2CE9 65 -dep 2CEA 72 -dep 2CEB 65 -dep 2CEC 66 -dep 2CED 6F -dep 2CEE 72 -dep 2CEF 65 -dep 2CF0 20 -dep 2CF1 61 -dep 2CF2 72 -dep 2CF3 65 -dep 2CF4 20 -dep 2CF5 6E -dep 2CF6 6F -dep 2CF7 74 -dep 2CF8 03 -dep 2CF9 D6 -dep 2CFA 04 -dep 2CFB C7 -dep 2CFC 44 -dep 2CFD 73 -dep 2CFE 75 -dep 2CFF 70 -dep 2D00 70 -dep 2D01 6F -dep 2D02 72 -dep 2D03 74 -dep 2D04 65 -dep 2D05 64 -dep 2D06 20 -dep 2D07 62 -dep 2D08 79 -dep 2D09 20 -dep 2D0A 48 -dep 2D0B 61 -dep 2D0C 72 -dep 2D0D 72 -dep 2D0E 69 -dep 2D0F 73 -dep 2D10 20 -dep 2D11 43 -dep 2D12 6F -dep 2D13 72 -dep 2D14 70 -dep 2D15 6F -dep 2D16 72 -dep 2D17 61 -dep 2D18 74 -dep 2D19 69 -dep 2D1A 6F -dep 2D1B 6E -dep 2D1C 20 -dep 2D1D 61 -dep 2D1E 6E -dep 2D1F 64 -dep 2D20 20 -dep 2D21 6E -dep 2D22 6F -dep 2D23 20 -dep 2D24 77 -dep 2D25 61 -dep 2D26 72 -dep 2D27 72 -dep 2D28 61 -dep 2D29 6E -dep 2D2A 74 -dep 2D2B 79 -dep 2D2C 20 -dep 2D2D 6F -dep 2D2E 66 -dep 2D2F 20 -dep 2D30 61 -dep 2D31 6E -dep 2D32 79 -dep 2D33 20 -dep 2D34 6B -dep 2D35 69 -dep 2D36 6E -dep 2D37 64 -dep 2D38 20 -dep 2D39 61 -dep 2D3A 70 -dep 2D3B 70 -dep 2D3C 6C -dep 2D3D 69 -dep 2D3E 65 -dep 2D3F 73 -dep 2D40 2E -dep 2D41 20 -dep 2D42 03 -dep 2D43 D6 -dep 2D44 04 -dep 2D45 C7 -dep 2D46 41 -dep 2D47 41 -dep 2D48 6E -dep 2D49 79 -dep 2D4A 20 -dep 2D4B 6C -dep 2D4C 69 -dep 2D4D 61 -dep 2D4E 62 -dep 2D4F 69 -dep 2D50 6C -dep 2D51 69 -dep 2D52 74 -dep 2D53 79 -dep 2D54 20 -dep 2D55 72 -dep 2D56 65 -dep 2D57 73 -dep 2D58 75 -dep 2D59 6C -dep 2D5A 74 -dep 2D5B 69 -dep 2D5C 6E -dep 2D5D 67 -dep 2D5E 20 -dep 2D5F 66 -dep 2D60 72 -dep 2D61 6F -dep 2D62 6D -dep 2D63 20 -dep 2D64 75 -dep 2D65 73 -dep 2D66 65 -dep 2D67 20 -dep 2D68 6F -dep 2D69 66 -dep 2D6A 20 -dep 2D6B 74 -dep 2D6C 68 -dep 2D6D 69 -dep 2D6E 73 -dep 2D6F 20 -dep 2D70 73 -dep 2D71 6F -dep 2D72 66 -dep 2D73 74 -dep 2D74 77 -dep 2D75 61 -dep 2D76 72 -dep 2D77 65 -dep 2D78 20 -dep 2D79 69 -dep 2D7A 73 -dep 2D7B 20 -dep 2D7C 73 -dep 2D7D 70 -dep 2D7E 65 -dep 2D7F 63 -dep 2D80 69 -dep 2D81 66 -dep 2D82 69 -dep 2D83 63 -dep 2D84 61 -dep 2D85 6C -dep 2D86 6C -dep 2D87 79 -dep 2D88 03 -dep 2D89 D6 -dep 2D8A 04 -dep 2D8B C7 -dep 2D8C 21 -dep 2D8D 64 -dep 2D8E 69 -dep 2D8F 73 -dep 2D90 63 -dep 2D91 6C -dep 2D92 61 -dep 2D93 69 -dep 2D94 6D -dep 2D95 65 -dep 2D96 64 -dep 2D97 20 -dep 2D98 62 -dep 2D99 79 -dep 2D9A 20 -dep 2D9B 48 -dep 2D9C 61 -dep 2D9D 72 -dep 2D9E 72 -dep 2D9F 69 -dep 2DA0 73 -dep 2DA1 20 -dep 2DA2 43 -dep 2DA3 6F -dep 2DA4 72 -dep 2DA5 70 -dep 2DA6 6F -dep 2DA7 72 -dep 2DA8 61 -dep 2DA9 74 -dep 2DAA 69 -dep 2DAB 6F -dep 2DAC 6E -dep 2DAD 2E -dep 2DAE 03 -dep 2DAF D6 -dep 2DB0 A0 -dep 2DB1 20 -dep 2DB2 03 -dep 2DB3 D6 -dep 2DB4 04 -dep 2DB5 C7 -dep 2DB6 10 -dep 2DB7 41 -dep 2DB8 70 -dep 2DB9 70 -dep 2DBA 46 -dep 2DBB 6F -dep 2DBC 72 -dep 2DBD 74 -dep 2DBE 68 -dep 2DBF 20 -dep 2DC0 20 -dep 2DC1 76 -dep 2DC2 31 -dep 2DC3 2E -dep 2DC4 31 -dep 2DC5 62 -dep 2DC6 20 -dep 2DC7 20 -dep 2DC8 04 -dep 2DC9 C7 -dep 2DCA 0E -dep 2DCB 37 -dep 2DCC 2F -dep 2DCD 33 -dep 2DCE 31 -dep 2DCF 2F -dep 2DD0 39 -dep 2DD1 30 -dep 2DD2 20 -dep 2DD3 20 -dep 2DD4 31 -dep 2DD5 33 -dep 2DD6 3A -dep 2DD7 33 -dep 2DD8 30 -dep 2DD9 20 -dep 2DDA A0 -dep 2DDB 20 -dep 2DDC 2A -dep 2DDD D0 -dep 2DDE 89 -dep 2DDF 43 -dep 2DE0 4F -dep 2DE1 50 -dep 2DE2 59 -dep 2DE3 52 -dep 2DE4 49 -dep 2DE5 47 -dep 2DE6 48 -dep 2DE7 54 -dep 2DE8 03 -dep 2DE9 D6 -dep 2DEA 03 -dep 2DEB D6 -dep 2DEC 04 -dep 2DED C7 -dep 2DEE 21 -dep 2DEF 43 -dep 2DF0 4F -dep 2DF1 50 -dep 2DF2 59 -dep 2DF3 52 -dep 2DF4 49 -dep 2DF5 47 -dep 2DF6 48 -dep 2DF7 54 -dep 2DF8 20 -dep 2DF9 31 -dep 2DFA 39 -dep 2DFB 39 -dep 2DFC 30 -dep 2DFD 20 -dep 2DFE 48 -dep 2DFF 41 -dep 2E00 52 -dep 2E01 52 -dep 2E02 49 -dep 2E03 53 -dep 2E04 20 -dep 2E05 43 -dep 2E06 4F -dep 2E07 52 -dep 2E08 50 -dep 2E09 4F -dep 2E0A 52 -dep 2E0B 41 -dep 2E0C 54 -dep 2E0D 49 -dep 2E0E 4F -dep 2E0F 4E -dep 2E10 03 -dep 2E11 D6 -dep 2E12 04 -dep 2E13 C7 -dep 2E14 13 -dep 2E15 41 -dep 2E16 4C -dep 2E17 4C -dep 2E18 20 -dep 2E19 52 -dep 2E1A 49 -dep 2E1B 47 -dep 2E1C 48 -dep 2E1D 54 -dep 2E1E 53 -dep 2E1F 20 -dep 2E20 52 -dep 2E21 45 -dep 2E22 53 -dep 2E23 45 -dep 2E24 52 -dep 2E25 56 -dep 2E26 45 -dep 2E27 44 -dep 2E28 03 -dep 2E29 D6 -dep 2E2A A0 -dep 2E2B 20 -dep 2E2C 2D -dep 2E2D DC -dep 2E2E 89 -dep 2E2F 73 -dep 2E30 79 -dep 2E31 73 -dep 2E32 2D -dep 2E33 61 -dep 2E34 62 -dep 2E35 6F -dep 2E36 72 -dep 2E37 74 -dep 2E38 DE -dep 2E39 00 -dep 2E3A FF -dep 2E3B 00 -dep 2E3C B8 -dep 2E3D 89 -dep 2E3E D2 -dep 2E3F 80 -dep 2E40 FF -dep 2E41 00 -dep 2E42 BE -dep 2E43 89 -dep 2E44 BE -dep 2E45 40 -dep 2E46 00 -dep 2E47 4A -dep 2E48 EE -dep 2E49 00 -dep 2E4A 01 -dep 2E4B 19 -dep 2E4C 89 -dep 2E4D 3E -dep 2E4E 04 -dep 2E4F C7 -dep 2E50 13 -dep 2E51 20 -dep 2E52 2E -dep 2E53 2E -dep 2E54 2E -dep 2E55 20 -dep 2E56 65 -dep 2E57 72 -dep 2E58 72 -dep 2E59 6F -dep 2E5A 72 -dep 2E5B 20 -dep 2E5C 61 -dep 2E5D 74 -dep 2E5E 20 -dep 2E5F 6C -dep 2E60 69 -dep 2E61 6E -dep 2E62 65 -dep 2E63 20 -dep 2E64 00 -dep 2E65 79 -dep 2E66 EE -dep 2E67 00 -dep 2E68 04 -dep 2E69 24 -dep 2E6A AE -dep 2E6B 80 -dep 2E6C 05 -dep 2E6D 33 -dep 2E6E 00 -dep 2E6F 79 -dep 2E70 EE -dep 2E71 80 -dep 2E72 00 -dep 2E73 81 -dep 2E74 EE -dep 2E75 00 -dep 2E76 15 -dep 2E77 2A -dep 2E78 00 -dep 2E79 4A -dep 2E7A 01 -dep 2E7B 8F -dep 2E7C 00 -dep 2E7D C6 -dep 2E7E B8 -dep 2E7F C2 -dep 2E80 00 -dep 2E81 C6 -dep 2E82 EE -dep 2E83 80 -dep 2E84 00 -dep 2E85 6F -dep 2E86 EE -dep 2E87 00 -dep 2E88 BE -dep 2E89 87 -dep 2E8A A0 -dep 2E8B 20 -dep 2E8C 2B -dep 2E8D 14 -dep 2E8E 83 -dep 2E8F 52 -dep 2E90 4F -dep 2E91 4D -dep 2E92 BE -dep 2E93 27 -dep 2E94 00 -dep 2E95 0A -dep 2E96 00 -dep 2E97 01 -dep 2E98 00 -dep 2E99 00 -dep 2E9A 29 -dep 2E9B DA -dep 2E9C 2E -dep 2E9D 38 -dep 2E9E 15 -dep 2E9F 62 -dep 2EA0 06 -dep 2EA1 DA -dep 2EA2 06 -dep 2EA3 CE -dep 2EA4 06 -dep 2EA5 C6 -dep 2EA6 06 -dep 2EA7 BC -dep 2EA8 00 -dep 2EA9 00 -dep 2EAA 00 -dep 2EAB 00 -dep 2EAC 17 -dep 2EAD 98 -dep 2EAE 80 -dep 2EAF 00 -dep 2EB0 00 -dep 2EB1 00 -dep 2EB2 2E -dep 2EB3 8C -dep 2EB4 85 -dep 2EB5 52 -dep 2EB6 45 -dep 2EB7 53 -dep 2EB8 45 -dep 2EB9 54 -dep 2EBA 15 -dep 2EBB E8 -dep 2EBC 89 -dep 2EBD 6B -dep 2EBE 0B -dep 2EBF CE -dep 2EC0 17 -dep 2EC1 49 -dep 2EC2 00 -dep 2EC3 79 -dep 2EC4 BE -dep 2EC5 5E -dep 2EC6 02 -dep 2EC7 42 -dep 2EC8 00 -dep 2EC9 50 -dep 2ECA EE -dep 2ECB 00 -dep 2ECC 00 -dep 2ECD B4 -dep 2ECE EE -dep 2ECF 80 -dep 2ED0 BE -dep 2ED1 41 -dep 2ED2 BE -dep 2ED3 81 -dep 2ED4 91 -dep 2ED5 6D -dep 2ED6 BE -dep 2ED7 40 -dep 2ED8 BE -dep 2ED9 81 -dep 2EDA 00 -dep 2EDB DA -dep 2EDC DE -dep 2EDD 00 -dep 2EDE 02 -dep 2EDF 20 -dep 2EE0 02 -dep 2EE1 77 -dep 2EE2 0C -dep 2EE3 D0 -dep 2EE4 0D -dep 2EE5 03 -dep 2EE6 03 -dep 2EE7 59 -dep 2EE8 0D -dep 2EE9 70 -dep 2EEA BE -dep 2EEB 40 -dep 2EEC 00 -dep 2EED 8B -dep 2EEE EE -dep 2EEF 80 -dep 2EF0 16 -dep 2EF1 D9 -dep 2EF2 16 -dep 2EF3 F4 -dep 2EF4 BE -dep 2EF5 01 -dep 2EF6 89 -dep 2EF7 7D -dep 2EF8 16 -dep 2EF9 0C -dep 2EFA 05 -dep 2EFB 57 -dep 2EFC 2E -dep 2EFD 2C -dep 2EFE 88 -dep 2EFF 43 -dep 2F00 4F -dep 2F01 4E -dep 2F02 53 -dep 2F03 54 -dep 2F04 41 -dep 2F05 4E -dep 2F06 54 -dep 2F07 20 -dep 2F08 0A -dep 2F09 E0 -dep 2F0A DE -dep 2F0B 00 -dep 2F0C DE -dep 2F0D 20 -dep 2F0E 0A -dep 2F0F 79 -dep 2F10 0A -dep 2F11 79 -dep 2F12 A0 -dep 2F13 20 -dep 2F14 2B -dep 2F15 C2 -dep 2F16 89 -dep 2F17 44 -dep 2F18 43 -dep 2F19 4F -dep 2F1A 4E -dep 2F1B 53 -dep 2F1C 54 -dep 2F1D 41 -dep 2F1E 4E -dep 2F1F 54 -dep 2F20 0A -dep 2F21 E0 -dep 2F22 AE -dep 2F23 80 -dep 2F24 0B -dep 2F25 1F -dep 2F26 0B -dep 2F27 1F -dep 2F28 14 -dep 2F29 1B -dep 2F2A A0 -dep 2F2B 20 -dep 2F2C 2A -dep 2F2D 96 -dep 2F2E 88 -dep 2F2F 56 -dep 2F30 41 -dep 2F31 52 -dep 2F32 49 -dep 2F33 41 -dep 2F34 42 -dep 2F35 4C -dep 2F36 45 -dep 2F37 20 -dep 2F38 0A -dep 2F39 E9 -dep 2F3A BE -dep 2F3B 40 -dep 2F3C 0A -dep 2F3D 79 -dep 2F3E A0 -dep 2F3F 20 -dep 2F40 2F -dep 2F41 14 -dep 2F42 89 -dep 2F43 44 -dep 2F44 56 -dep 2F45 41 -dep 2F46 52 -dep 2F47 49 -dep 2F48 41 -dep 2F49 42 -dep 2F4A 4C -dep 2F4B 45 -dep 2F4C 0A -dep 2F4D E9 -dep 2F4E BE -dep 2F4F 40 -dep 2F50 0A -dep 2F51 79 -dep 2F52 BE -dep 2F53 40 -dep 2F54 0A -dep 2F55 79 -dep 2F56 A0 -dep 2F57 20 -dep 2F58 2F -dep 2F59 2C -dep 2F5A C2 -dep 2F5B 2E -dep 2F5C 28 -dep 2F5D 20 -dep 2F5E DE -dep 2F5F 00 -dep 2F60 00 -dep 2F61 29 -dep 2F62 06 -dep 2F63 DF -dep 2F64 04 -dep 2F65 39 -dep 2F66 03 -dep 2F67 E1 -dep 2F68 A0 -dep 2F69 20 -dep 2F6A 2E -dep 2F6B B2 -dep 2F6C 81 -dep 2F6D 4A -dep 2F6E BE -dep 2F6F 01 -dep 2F70 BE -dep 2F71 01 -dep 2F72 BE -dep 2F73 01 -dep 2F74 BE -dep 2F75 00 -dep 2F76 AE -dep 2F77 80 -dep 2F78 BE -dep 2F79 81 -dep 2F7A AE -dep 2F7B 80 -dep 2F7C BE -dep 2F7D 81 -dep 2F7E AE -dep 2F7F 80 -dep 2F80 BE -dep 2F81 A7 -dep 2F82 1B -dep 2F83 BC -dep 2F84 C1 -dep 2F85 28 -dep 2F86 DE -dep 2F87 00 -dep 2F88 00 -dep 2F89 29 -dep 2F8A 06 -dep 2F8B DF -dep 2F8C AE -dep 2F8D 60 -dep 2F8E 2F -dep 2F8F 40 -dep 2F90 C1 -dep 2F91 5C -dep 2F92 00 -dep 2F93 9D -dep 2F94 EE -dep 2F95 00 -dep 2F96 00 -dep 2F97 A2 -dep 2F98 EE -dep 2F99 A0 -dep 2F9A 2E -dep 2F9B FC -dep 2F9C C3 -dep 2F9D 23 -dep 2F9E 49 -dep 2F9F 46 -dep 2FA0 00 -dep 2FA1 FF -dep 2FA2 00 -dep 2FA3 8B -dep 2FA4 EE -dep 2FA5 A0 -dep 2FA6 2F -dep 2FA7 9A -dep 2FA8 C4 -dep 2FA9 23 -dep 2FAA 45 -dep 2FAB 4E -dep 2FAC 44 -dep 2FAD 20 -dep 2FAE A0 -dep 2FAF 20 -dep 2FB0 2F -dep 2FB1 A6 -dep 2FB2 C8 -dep 2FB3 23 -dep 2FB4 43 -dep 2FB5 4F -dep 2FB6 4D -dep 2FB7 4D -dep 2FB8 45 -dep 2FB9 4E -dep 2FBA 54 -dep 2FBB 20 -dep 2FBC BF -dep 2FBD 40 -dep 2FBE 00 -dep 2FBF 8B -dep 2FC0 EE -dep 2FC1 A0 -dep 2FC2 14 -dep 2FC3 06 -dep 2FC4 89 -dep 2FC5 FB -dep 2FC6 A0 -dep 2FC7 C0 -dep 2FC8 D2 -dep 2FC9 80 -dep 2FCA 0F -dep 2FCB 00 -dep 2FCC A0 -dep 2FCD C0 -dep 2FCE BE -dep 2FCF 40 -dep 2FD0 01 -dep 2FD1 0A -dep 2FD2 AE -dep 2FD3 80 -dep 2FD4 DE -dep 2FD5 00 -dep 2FD6 0E -dep 2FD7 00 -dep 2FD8 01 -dep 2FD9 0A -dep 2FDA A6 -dep 2FDB 40 -dep 2FDC AE -dep 2FDD C0 -dep 2FDE D2 -dep 2FDF 80 -dep 2FE0 F0 -dep 2FE1 10 -dep 2FE2 DE -dep 2FE3 00 -dep 2FE4 A0 -dep 2FE5 10 -dep 2FE6 01 -dep 2FE7 11 -dep 2FE8 A2 -dep 2FE9 40 -dep 2FEA 89 -dep 2FEB F8 -dep 2FEC BF -dep 2FED 40 -dep 2FEE 91 -dep 2FEF FA -dep 2FF0 01 -dep 2FF1 9C -dep 2FF2 BE -dep 2FF3 40 -dep 2FF4 91 -dep 2FF5 FC -dep 2FF6 BE -dep 2FF7 40 -dep 2FF8 8A -dep 2FF9 02 -dep 2FFA D6 -dep 2FFB 80 -dep 2FFC 01 -dep 2FFD 00 -dep 2FFE AE -dep 2FFF 80 -dep 3000 EE -dep 3001 80 -dep 3002 90 -dep 3003 05 -dep 3004 DE -dep 3005 00 -dep 3006 A1 -dep 3007 00 -dep 3008 0A -dep 3009 79 -dep 300A A0 -dep 300B 20 -dep 300C 2F -dep 300D 58 -dep 300E C3 -dep 300F 4E -dep 3010 4F -dep 3011 54 -dep 3012 00 -dep 3013 61 -dep 3014 EE -dep 3015 00 -dep 3016 88 -dep 3017 0E -dep 3018 17 -dep 3019 E1 -dep 301A 90 -dep 301B 0F -dep 301C A1 -dep 301D 00 -dep 301E A0 -dep 301F 20 -dep 3020 14 -dep 3021 06 -dep 3022 88 -dep 3023 1E -dep 3024 A0 -dep 3025 C0 -dep 3026 D2 -dep 3027 80 -dep 3028 F0 -dep 3029 1F -dep 302A DE -dep 302B 00 -dep 302C A0 -dep 302D 00 -dep 302E 01 -dep 302F 0A -dep 3030 88 -dep 3031 1B -dep 3032 BF -dep 3033 40 -dep 3034 90 -dep 3035 1D -dep 3036 01 -dep 3037 9C -dep 3038 BE -dep 3039 40 -dep 303A 90 -dep 303B 1F -dep 303C BE -dep 303D 40 -dep 303E 88 -dep 303F 25 -dep 3040 01 -dep 3041 4D -dep 3042 A6 -dep 3043 40 -dep 3044 AE -dep 3045 80 -dep 3046 EE -dep 3047 80 -dep 3048 90 -dep 3049 28 -dep 304A D6 -dep 304B 80 -dep 304C A0 -dep 304D 00 -dep 304E 0A -dep 304F 79 -dep 3050 A0 -dep 3051 20 -dep 3052 AE -dep 3053 C0 -dep 3054 A2 -dep 3055 40 -dep 3056 DE -dep 3057 00 -dep 3058 0E -dep 3059 00 -dep 305A 01 -dep 305B 0A -dep 305C 88 -dep 305D 39 -dep 305E D2 -dep 305F 80 -dep 3060 F0 -dep 3061 FF -dep 3062 D6 -dep 3063 80 -dep 3064 00 -dep 3065 80 -dep 3066 01 -dep 3067 4D -dep 3068 A6 -dep 3069 40 -dep 306A AE -dep 306B 80 -dep 306C EE -dep 306D 80 -dep 306E BF -dep 306F 40 -dep 3070 90 -dep 3071 3B -dep 3072 01 -dep 3073 9C -dep 3074 BE -dep 3075 40 -dep 3076 A0 -dep 3077 20 -dep 3078 DE -dep 3079 00 -dep 307A 0F -dep 307B 80 -dep 307C 18 -dep 307D 29 -dep 307E A0 -dep 307F 20 -dep 3080 DE -dep 3081 00 -dep 3082 0F -dep 3083 C0 -dep 3084 18 -dep 3085 29 -dep 3086 A0 -dep 3087 20 -dep 3088 A0 -dep 3089 C0 -dep 308A BE -dep 308B 81 -dep 308C BE -dep 308D 00 -dep 308E DE -dep 308F 00 -dep 3090 04 -dep 3091 00 -dep 3092 01 -dep 3093 0A -dep 3094 BE -dep 3095 00 -dep 3096 DE -dep 3097 00 -dep 3098 05 -dep 3099 00 -dep 309A 01 -dep 309B 0A -dep 309C BE -dep 309D 00 -dep 309E DE -dep 309F 00 -dep 30A0 0C -dep 30A1 00 -dep 30A2 01 -dep 30A3 0A -dep 30A4 BE -dep 30A5 01 -dep 30A6 DE -dep 30A7 00 -dep 30A8 0D -dep 30A9 00 -dep 30AA 01 -dep 30AB 0A -dep 30AC A6 -dep 30AD 40 -dep 30AE A6 -dep 30AF 40 -dep 30B0 A6 -dep 30B1 40 -dep 30B2 88 -dep 30B3 5C -dep 30B4 DA -dep 30B5 80 -dep 30B6 08 -dep 30B7 00 -dep 30B8 A0 -dep 30B9 20 -dep 30BA 14 -dep 30BB 06 -dep 30BC 88 -dep 30BD 8F -dep 30BE A0 -dep 30BF C0 -dep 30C0 DE -dep 30C1 00 -dep 30C2 FF -dep 30C3 F4 -dep 30C4 0A -dep 30C5 F2 -dep 30C6 A0 -dep 30C7 C0 -dep 30C8 BE -dep 30C9 4A -dep 30CA 01 -dep 30CB 0A -dep 30CC 88 -dep 30CD 6B -dep 30CE 01 -dep 30CF 9C -dep 30D0 AE -dep 30D1 40 -dep 30D2 BE -dep 30D3 40 -dep 30D4 90 -dep 30D5 8E -dep 30D6 A0 -dep 30D7 C0 -dep 30D8 BE -dep 30D9 4B -dep 30DA 01 -dep 30DB 0A -dep 30DC 88 -dep 30DD 72 -dep 30DE AE -dep 30DF 40 -dep 30E0 18 -dep 30E1 3C -dep 30E2 90 -dep 30E3 8E -dep 30E4 A0 -dep 30E5 C0 -dep 30E6 BE -dep 30E7 4C -dep 30E8 01 -dep 30E9 0A -dep 30EA 88 -dep 30EB 79 -dep 30EC AE -dep 30ED 40 -dep 30EE 18 -dep 30EF 40 -dep 30F0 90 -dep 30F1 8E -dep 30F2 A0 -dep 30F3 C0 -dep 30F4 BE -dep 30F5 4D -dep 30F6 01 -dep 30F7 0A -dep 30F8 88 -dep 30F9 80 -dep 30FA AE -dep 30FB 40 -dep 30FC 18 -dep 30FD 3C -dep 30FE 90 -dep 30FF 8E -dep 3100 A0 -dep 3101 C0 -dep 3102 BE -dep 3103 4E -dep 3104 01 -dep 3105 0A -dep 3106 88 -dep 3107 87 -dep 3108 AE -dep 3109 40 -dep 310A 18 -dep 310B 40 -dep 310C 90 -dep 310D 8E -dep 310E BE -dep 310F 4F -dep 3110 01 -dep 3111 0A -dep 3112 88 -dep 3113 8C -dep 3114 18 -dep 3115 40 -dep 3116 90 -dep 3117 8E -dep 3118 01 -dep 3119 9C -dep 311A BE -dep 311B 40 -dep 311C 90 -dep 311D 90 -dep 311E BE -dep 311F 40 -dep 3120 00 -dep 3121 FF -dep 3122 88 -dep 3123 96 -dep 3124 18 -dep 3125 44 -dep 3126 D6 -dep 3127 80 -dep 3128 A0 -dep 3129 40 -dep 312A 0A -dep 312B 79 -dep 312C A0 -dep 312D 20 -dep 312E 0A -dep 312F E9 -dep 3130 13 -dep 3131 9E -dep 3132 A0 -dep 3133 20 -dep 3134 2F -dep 3135 8E -dep 3136 87 -dep 3137 3C -dep 3138 53 -dep 3139 48 -dep 313A 49 -dep 313B 46 -dep 313C 54 -dep 313D 3E -dep 313E D6 -dep 313F 80 -dep 3140 A0 -dep 3141 00 -dep 3142 0A -dep 3143 79 -dep 3144 DE -dep 3145 00 -dep 3146 A0 -dep 3147 20 -dep 3148 0A -dep 3149 79 -dep 314A A0 -dep 314B 20 -dep 314C 31 -dep 314D 34 -dep 314E 85 -dep 314F 3C -dep 3150 41 -dep 3151 4C -dep 3152 55 -dep 3153 3E -dep 3154 18 -dep 3155 44 -dep 3156 D6 -dep 3157 80 -dep 3158 A0 -dep 3159 40 -dep 315A 0A -dep 315B 79 -dep 315C DE -dep 315D 00 -dep 315E A0 -dep 315F 20 -dep 3160 0A -dep 3161 79 -dep 3162 A0 -dep 3163 20 -dep 3164 29 -dep 3165 D2 -dep 3166 A1 -dep 3167 21 -dep 3168 EE -dep 3169 A0 -dep 316A 29 -dep 316B 62 -dep 316C A2 -dep 316D 2D -dep 316E 31 -dep 316F 20 -dep 3170 BF -dep 3171 60 -dep 3172 31 -dep 3173 4C -dep 3174 A4 -dep 3175 54 -dep 3176 52 -dep 3177 55 -dep 3178 45 -dep 3179 20 -dep 317A BF -dep 317B 60 -dep 317C 2F -dep 317D 82 -dep 317E A1 -dep 317F 30 -dep 3180 BE -dep 3181 60 -dep 3182 30 -dep 3183 0C -dep 3184 A5 -dep 3185 46 -dep 3186 41 -dep 3187 4C -dep 3188 53 -dep 3189 45 -dep 318A BE -dep 318B 60 -dep 318C 31 -dep 318D 6A -dep 318E A8 -dep 318F 2D -dep 3190 53 -dep 3191 4F -dep 3192 46 -dep 3193 54 -dep 3194 49 -dep 3195 4E -dep 3196 54 -dep 3197 20 -dep 3198 B0 -dep 3199 30 -dep 319A 31 -dep 319B 64 -dep 319C A2 -dep 319D 31 -dep 319E 2B -dep 319F 20 -dep 31A0 B8 -dep 31A1 E1 -dep 31A2 31 -dep 31A3 9A -dep 31A4 A2 -dep 31A5 31 -dep 31A6 2D -dep 31A7 20 -dep 31A8 B4 -dep 31A9 E1 -dep 31AA 2F -dep 31AB 6A -dep 31AC A2 -dep 31AD 32 -dep 31AE 2B -dep 31AF 20 -dep 31B0 B8 -dep 31B1 E2 -dep 31B2 31 -dep 31B3 AA -dep 31B4 A2 -dep 31B5 32 -dep 31B6 2D -dep 31B7 20 -dep 31B8 B4 -dep 31B9 E2 -dep 31BA 31 -dep 31BB 7C -dep 31BC A1 -dep 31BD 40 -dep 31BE EE -dep 31BF 20 -dep 31C0 2F -dep 31C1 B0 -dep 31C2 A2 -dep 31C3 43 -dep 31C4 21 -dep 31C5 20 -dep 31C6 FE -dep 31C7 A0 -dep 31C8 31 -dep 31C9 C0 -dep 31CA A2 -dep 31CB 43 -dep 31CC 40 -dep 31CD 20 -dep 31CE FE -dep 31CF 20 -dep 31D0 31 -dep 31D1 C8 -dep 31D2 A4 -dep 31D3 43 -dep 31D4 50 -dep 31D5 52 -dep 31D6 21 -dep 31D7 20 -dep 31D8 BE -dep 31D9 AF -dep 31DA 31 -dep 31DB D0 -dep 31DC A4 -dep 31DD 43 -dep 31DE 50 -dep 31DF 52 -dep 31E0 40 -dep 31E1 20 -dep 31E2 BE -dep 31E3 2F -dep 31E4 31 -dep 31E5 DA -dep 31E6 A3 -dep 31E7 43 -dep 31E8 52 -dep 31E9 21 -dep 31EA BE -dep 31EB A3 -dep 31EC 31 -dep 31ED E4 -dep 31EE A3 -dep 31EF 43 -dep 31F0 52 -dep 31F1 40 -dep 31F2 BE -dep 31F3 23 -dep 31F4 31 -dep 31F5 EC -dep 31F6 A5 -dep 31F7 43 -dep 31F8 52 -dep 31F9 40 -dep 31FA 4F -dep 31FB 52 -dep 31FC B6 -dep 31FD A3 -dep 31FE 31 -dep 31FF 72 -dep 3200 A4 -dep 3201 44 -dep 3202 50 -dep 3203 52 -dep 3204 21 -dep 3205 20 -dep 3206 BE -dep 3207 AD -dep 3208 31 -dep 3209 FE -dep 320A A4 -dep 320B 44 -dep 320C 50 -dep 320D 52 -dep 320E 40 -dep 320F 20 -dep 3210 BE -dep 3211 2D -dep 3212 32 -dep 3213 08 -dep 3214 A4 -dep 3215 44 -dep 3216 52 -dep 3217 4F -dep 3218 50 -dep 3219 20 -dep 321A AE -dep 321B 60 -dep 321C 32 -dep 321D 12 -dep 321E A3 -dep 321F 44 -dep 3220 55 -dep 3221 50 -dep 3222 A0 -dep 3223 E0 -dep 3224 31 -dep 3225 A2 -dep 3226 A1 -dep 3227 49 -dep 3228 BE -dep 3229 20 -dep 322A 32 -dep 322B 24 -dep 322C A4 -dep 322D 49 -dep 322E 42 -dep 322F 43 -dep 3230 21 -dep 3231 20 -dep 3232 BE -dep 3233 B0 -dep 3234 32 -dep 3235 2A -dep 3236 A4 -dep 3237 49 -dep 3238 42 -dep 3239 43 -dep 323A 40 -dep 323B 20 -dep 323C BE -dep 323D 30 -dep 323E 32 -dep 323F 34 -dep 3240 A4 -dep 3241 49 -dep 3242 4D -dep 3243 52 -dep 3244 21 -dep 3245 20 -dep 3246 BE -dep 3247 A8 -dep 3248 32 -dep 3249 3E -dep 324A A4 -dep 324B 49 -dep 324C 4D -dep 324D 52 -dep 324E 40 -dep 324F 20 -dep 3250 BE -dep 3251 28 -dep 3252 32 -dep 3253 48 -dep 3254 A4 -dep 3255 49 -dep 3256 50 -dep 3257 52 -dep 3258 21 -dep 3259 20 -dep 325A BE -dep 325B AC -dep 325C 32 -dep 325D 52 -dep 325E A4 -dep 325F 49 -dep 3260 50 -dep 3261 52 -dep 3262 40 -dep 3263 20 -dep 3264 BE -dep 3265 2C -dep 3266 32 -dep 3267 5C -dep 3268 A4 -dep 3269 49 -dep 326A 56 -dep 326B 52 -dep 326C 40 -dep 326D 20 -dep 326E BE -dep 326F 2B -dep 3270 31 -dep 3271 8C -dep 3272 A3 -dep 3273 4D -dep 3274 44 -dep 3275 21 -dep 3276 BE -dep 3277 A4 -dep 3278 32 -dep 3279 70 -dep 327A A3 -dep 327B 4D -dep 327C 44 -dep 327D 40 -dep 327E BE -dep 327F 24 -dep 3280 32 -dep 3281 78 -dep 3282 A4 -dep 3283 4D -dep 3284 48 -dep 3285 52 -dep 3286 40 -dep 3287 20 -dep 3288 BE -dep 3289 37 -dep 328A 32 -dep 328B 80 -dep 328C A4 -dep 328D 4D -dep 328E 4C -dep 328F 52 -dep 3290 40 -dep 3291 20 -dep 3292 BE -dep 3293 36 -dep 3294 32 -dep 3295 8A -dep 3296 A4 -dep 3297 4D -dep 3298 55 -dep 3299 4C -dep 329A 53 -dep 329B 20 -dep 329C B0 -dep 329D B7 -dep 329E 32 -dep 329F 94 -dep 32A0 A4 -dep 32A1 4D -dep 32A2 55 -dep 32A3 4C -dep 32A4 55 -dep 32A5 20 -dep 32A6 B0 -dep 32A7 B6 -dep 32A8 31 -dep 32A9 82 -dep 32AA A6 -dep 32AB 4E -dep 32AC 45 -dep 32AD 47 -dep 32AE 41 -dep 32AF 54 -dep 32B0 45 -dep 32B1 20 -dep 32B2 BC -dep 32B3 E0 -dep 32B4 32 -dep 32B5 A8 -dep 32B6 A3 -dep 32B7 4E -dep 32B8 49 -dep 32B9 50 -dep 32BA A0 -dep 32BB 60 -dep 32BC 32 -dep 32BD B4 -dep 32BE A3 -dep 32BF 4E -dep 32C0 4F -dep 32C1 50 -dep 32C2 A0 -dep 32C3 20 -dep 32C4 2A -dep 32C5 B0 -dep 32C6 A4 -dep 32C7 4F -dep 32C8 56 -dep 32C9 45 -dep 32CA 52 -dep 32CB 20 -dep 32CC AE -dep 32CD E0 -dep 32CE 31 -dep 32CF BA -dep 32D0 A3 -dep 32D1 50 -dep 32D2 43 -dep 32D3 40 -dep 32D4 BE -dep 32D5 27 -dep 32D6 31 -dep 32D7 B2 -dep 32D8 A2 -dep 32D9 52 -dep 32DA 40 -dep 32DB 20 -dep 32DC BE -dep 32DD 20 -dep 32DE 32 -dep 32DF D6 -dep 32E0 A3 -dep 32E1 52 -dep 32E2 48 -dep 32E3 21 -dep 32E4 BE -dep 32E5 A7 -dep 32E6 32 -dep 32E7 DE -dep 32E8 A3 -dep 32E9 52 -dep 32EA 48 -dep 32EB 40 -dep 32EC BE -dep 32ED 37 -dep 32EE 32 -dep 32EF E6 -dep 32F0 A3 -dep 32F1 52 -dep 32F2 58 -dep 32F3 21 -dep 32F4 BE -dep 32F5 A6 -dep 32F6 32 -dep 32F7 EE -dep 32F8 A3 -dep 32F9 52 -dep 32FA 58 -dep 32FB 40 -dep 32FC BE -dep 32FD 36 -dep 32FE 31 -dep 32FF F4 -dep 3300 A3 -dep 3301 53 -dep 3302 3E -dep 3303 44 -dep 3304 A0 -dep 3305 E1 -dep 3306 32 -dep 3307 FE -dep 3308 A6 -dep 3309 53 -dep 330A 45 -dep 330B 4C -dep 330C 43 -dep 330D 50 -dep 330E 52 -dep 330F 20 -dep 3310 B0 -dep 3311 2D -dep 3312 33 -dep 3313 06 -dep 3314 A6 -dep 3315 53 -dep 3316 45 -dep 3317 4C -dep 3318 44 -dep 3319 50 -dep 331A 52 -dep 331B 20 -dep 331C B0 -dep 331D AD -dep 331E 33 -dep 331F 12 -dep 3320 A4 -dep 3321 53 -dep 3322 4C -dep 3323 52 -dep 3324 21 -dep 3325 20 -dep 3326 BE -dep 3327 AB -dep 3328 33 -dep 3329 1E -dep 332A A7 -dep 332B 53 -dep 332C 4F -dep 332D 46 -dep 332E 54 -dep 332F 49 -dep 3330 4E -dep 3331 54 -dep 3332 B0 -dep 3333 B0 -dep 3334 33 -dep 3335 28 -dep 3336 A4 -dep 3337 53 -dep 3338 4F -dep 3339 53 -dep 333A 2D -dep 333B 20 -dep 333C A4 -dep 333D A0 -dep 333E 33 -dep 333F 34 -dep 3340 A4 -dep 3341 53 -dep 3342 50 -dep 3343 52 -dep 3344 21 -dep 3345 20 -dep 3346 BE -dep 3347 A9 -dep 3348 33 -dep 3349 3E -dep 334A A4 -dep 334B 53 -dep 334C 50 -dep 334D 52 -dep 334E 40 -dep 334F 20 -dep 3350 BE -dep 3351 29 -dep 3352 33 -dep 3353 48 -dep 3354 A5 -dep 3355 53 -dep 3356 50 -dep 3357 52 -dep 3358 40 -dep 3359 2B -dep 335A B8 -dep 335B A9 -dep 335C 33 -dep 335D 52 -dep 335E A3 -dep 335F 53 -dep 3360 51 -dep 3361 40 -dep 3362 BE -dep 3363 25 -dep 3364 33 -dep 3365 5C -dep 3366 A3 -dep 3367 53 -dep 3368 52 -dep 3369 21 -dep 336A BE -dep 336B A6 -dep 336C 33 -dep 336D 64 -dep 336E A3 -dep 336F 53 -dep 3370 52 -dep 3371 40 -dep 3372 BE -dep 3373 26 -dep 3374 33 -dep 3375 6C -dep 3376 A4 -dep 3377 53 -dep 3378 55 -dep 3379 52 -dep 337A 21 -dep 337B 20 -dep 337C BE -dep 337D AA -dep 337E 33 -dep 337F 74 -dep 3380 A4 -dep 3381 53 -dep 3382 55 -dep 3383 52 -dep 3384 40 -dep 3385 20 -dep 3386 BE -dep 3387 2A -dep 3388 33 -dep 3389 7E -dep 338A A4 -dep 338B 53 -dep 338C 56 -dep 338D 52 -dep 338E 21 -dep 338F 20 -dep 3390 BE -dep 3391 AB -dep 3392 33 -dep 3393 88 -dep 3394 A4 -dep 3395 53 -dep 3396 57 -dep 3397 41 -dep 3398 50 -dep 3399 20 -dep 339A AE -dep 339B A0 -dep 339C 32 -dep 339D 1C -dep 339E A4 -dep 339F 54 -dep 33A0 43 -dep 33A1 30 -dep 33A2 21 -dep 33A3 20 -dep 33A4 BE -dep 33A5 B3 -dep 33A6 33 -dep 33A7 9C -dep 33A8 A4 -dep 33A9 54 -dep 33AA 43 -dep 33AB 30 -dep 33AC 40 -dep 33AD 20 -dep 33AE BE -dep 33AF 33 -dep 33B0 33 -dep 33B1 A6 -dep 33B2 A4 -dep 33B3 54 -dep 33B4 43 -dep 33B5 31 -dep 33B6 21 -dep 33B7 20 -dep 33B8 BE -dep 33B9 B4 -dep 33BA 33 -dep 33BB B0 -dep 33BC A4 -dep 33BD 54 -dep 33BE 43 -dep 33BF 31 -dep 33C0 40 -dep 33C1 20 -dep 33C2 BE -dep 33C3 34 -dep 33C4 33 -dep 33C5 BA -dep 33C6 A4 -dep 33C7 54 -dep 33C8 43 -dep 33C9 32 -dep 33CA 21 -dep 33CB 20 -dep 33CC BE -dep 33CD B5 -dep 33CE 33 -dep 33CF C4 -dep 33D0 A4 -dep 33D1 54 -dep 33D2 43 -dep 33D3 32 -dep 33D4 40 -dep 33D5 20 -dep 33D6 BE -dep 33D7 35 -dep 33D8 32 -dep 33D9 9E -dep 33DA A4 -dep 33DB 55 -dep 33DC 42 -dep 33DD 52 -dep 33DE 21 -dep 33DF 20 -dep 33E0 BE -dep 33E1 B1 -dep 33E2 33 -dep 33E3 D8 -dep 33E4 A4 -dep 33E5 55 -dep 33E6 42 -dep 33E7 52 -dep 33E8 40 -dep 33E9 20 -dep 33EA BE -dep 33EB 31 -dep 33EC 33 -dep 33ED E2 -dep 33EE A4 -dep 33EF 55 -dep 33F0 50 -dep 33F1 52 -dep 33F2 21 -dep 33F3 20 -dep 33F4 BE -dep 33F5 AE -dep 33F6 33 -dep 33F7 EC -dep 33F8 A4 -dep 33F9 55 -dep 33FA 50 -dep 33FB 52 -dep 33FC 40 -dep 33FD 20 -dep 33FE BE -dep 33FF 2E -dep 3400 0A -dep 3401 FF -dep 3402 BE -dep 3403 01 -dep 3404 00 -dep 3405 61 -dep 3406 EE -dep 3407 00 -dep 3408 88 -dep 3409 0B -dep 340A EE -dep 340B 00 -dep 340C D2 -dep 340D 80 -dep 340E 0F -dep 340F 00 -dep 3410 18 -dep 3411 44 -dep 3412 18 -dep 3413 5D -dep 3414 90 -dep 3415 0C -dep 3416 BE -dep 3417 87 -dep 3418 A0 -dep 3419 20 -dep 341A 0A -dep 341B FF -dep 341C BE -dep 341D 01 -dep 341E 00 -dep 341F 61 -dep 3420 EE -dep 3421 00 -dep 3422 88 -dep 3423 15 -dep 3424 EE -dep 3425 00 -dep 3426 18 -dep 3427 10 -dep 3428 90 -dep 3429 16 -dep 342A BE -dep 342B 87 -dep 342C A0 -dep 342D 20 -dep 342E 32 -dep 342F CE -dep 3430 C2 -dep 3431 30 -dep 3432 3C -dep 3433 20 -dep 3434 1A -dep 3435 0E -dep 3436 A0 -dep 3437 01 -dep 3438 A0 -dep 3439 20 -dep 343A 32 -dep 343B F6 -dep 343C C2 -dep 343D 32 -dep 343E 2A -dep 343F 20 -dep 3440 1A -dep 3441 0E -dep 3442 A0 -dep 3443 02 -dep 3444 A0 -dep 3445 20 -dep 3446 34 -dep 3447 3A -dep 3448 C3 -dep 3449 32 -dep 344A 2A -dep 344B 43 -dep 344C 1A -dep 344D 0E -dep 344E A0 -dep 344F 03 -dep 3450 A0 -dep 3451 20 -dep 3452 33 -dep 3453 92 -dep 3454 C4 -dep 3455 63 -dep 3456 55 -dep 3457 32 -dep 3458 2F -dep 3459 20 -dep 345A 1A -dep 345B 0E -dep 345C A0 -dep 345D 04 -dep 345E A0 -dep 345F 20 -dep 3460 34 -dep 3461 52 -dep 3462 C3 -dep 3463 63 -dep 3464 32 -dep 3465 2F -dep 3466 1A -dep 3467 0E -dep 3468 A0 -dep 3469 05 -dep 346A A0 -dep 346B 20 -dep 346C 33 -dep 346D F6 -dep 346E C3 -dep 346F 55 -dep 3470 32 -dep 3471 2F -dep 3472 1A -dep 3473 0E -dep 3474 A0 -dep 3475 06 -dep 3476 A0 -dep 3477 20 -dep 3478 34 -dep 3479 46 -dep 347A C2 -dep 347B 32 -dep 347C 2F -dep 347D 20 -dep 347E 1A -dep 347F 0E -dep 3480 A0 -dep 3481 07 -dep 3482 A0 -dep 3483 20 -dep 3484 32 -dep 3485 BC -dep 3486 C3 -dep 3487 4E -dep 3488 32 -dep 3489 2A -dep 348A 1A -dep 348B 0E -dep 348C A0 -dep 348D 08 -dep 348E A0 -dep 348F 20 -dep 3490 34 -dep 3491 84 -dep 3492 C4 -dep 3493 4E -dep 3494 32 -dep 3495 2A -dep 3496 63 -dep 3497 20 -dep 3498 1A -dep 3499 0E -dep 349A A0 -dep 349B 09 -dep 349C A0 -dep 349D 20 -dep 349E 33 -dep 349F CE -dep 34A0 C3 -dep 34A1 44 -dep 34A2 32 -dep 34A3 2A -dep 34A4 1A -dep 34A5 0E -dep 34A6 A0 -dep 34A7 0A -dep 34A8 A0 -dep 34A9 20 -dep 34AA 34 -dep 34AB 9E -dep 34AC C4 -dep 34AD 44 -dep 34AE 32 -dep 34AF 2A -dep 34B0 63 -dep 34B1 20 -dep 34B2 1A -dep 34B3 0E -dep 34B4 A0 -dep 34B5 0B -dep 34B6 A0 -dep 34B7 20 -dep 34B8 34 -dep 34B9 60 -dep 34BA C5 -dep 34BB 63 -dep 34BC 55 -dep 34BD 44 -dep 34BE 32 -dep 34BF 2F -dep 34C0 1A -dep 34C1 0E -dep 34C2 A0 -dep 34C3 0C -dep 34C4 A0 -dep 34C5 20 -dep 34C6 34 -dep 34C7 B8 -dep 34C8 C4 -dep 34C9 63 -dep 34CA 44 -dep 34CB 32 -dep 34CC 2F -dep 34CD 20 -dep 34CE 1A -dep 34CF 0E -dep 34D0 A0 -dep 34D1 0D -dep 34D2 A0 -dep 34D3 20 -dep 34D4 34 -dep 34D5 6C -dep 34D6 C4 -dep 34D7 55 -dep 34D8 44 -dep 34D9 32 -dep 34DA 2F -dep 34DB 20 -dep 34DC 1A -dep 34DD 0E -dep 34DE A0 -dep 34DF 0E -dep 34E0 A0 -dep 34E1 20 -dep 34E2 34 -dep 34E3 AA -dep 34E4 C3 -dep 34E5 44 -dep 34E6 32 -dep 34E7 2F -dep 34E8 1A -dep 34E9 0E -dep 34EA A0 -dep 34EB 0F -dep 34EC A0 -dep 34ED 20 -dep 34EE 32 -dep 34EF 66 -dep 34F0 C3 -dep 34F1 41 -dep 34F2 4E -dep 34F3 44 -dep 34F4 1A -dep 34F5 01 -dep 34F6 A2 -dep 34F7 40 -dep 34F8 A0 -dep 34F9 20 -dep 34FA 34 -dep 34FB 90 -dep 34FC C3 -dep 34FD 4E -dep 34FE 4F -dep 34FF 52 -dep 3500 1A -dep 3501 01 -dep 3502 A3 -dep 3503 40 -dep 3504 A0 -dep 3505 20 -dep 3506 34 -dep 3507 D4 -dep 3508 C1 -dep 3509 2D -dep 350A 1A -dep 350B 01 -dep 350C AC -dep 350D 40 -dep 350E A0 -dep 350F 20 -dep 3510 35 -dep 3511 06 -dep 3512 C2 -dep 3513 2D -dep 3514 63 -dep 3515 20 -dep 3516 1A -dep 3517 01 -dep 3518 AD -dep 3519 40 -dep 351A A0 -dep 351B 20 -dep 351C 32 -dep 351D C4 -dep 351E C2 -dep 351F 4F -dep 3520 52 -dep 3521 20 -dep 3522 1A -dep 3523 01 -dep 3524 A6 -dep 3525 40 -dep 3526 A0 -dep 3527 20 -dep 3528 34 -dep 3529 FA -dep 352A C4 -dep 352B 4E -dep 352C 41 -dep 352D 4E -dep 352E 44 -dep 352F 20 -dep 3530 1A -dep 3531 01 -dep 3532 A7 -dep 3533 40 -dep 3534 A0 -dep 3535 20 -dep 3536 34 -dep 3537 C6 -dep 3538 C1 -dep 3539 2B -dep 353A 1A -dep 353B 01 -dep 353C A8 -dep 353D 40 -dep 353E A0 -dep 353F 20 -dep 3540 35 -dep 3541 36 -dep 3542 C2 -dep 3543 2B -dep 3544 63 -dep 3545 20 -dep 3546 1A -dep 3547 01 -dep 3548 A9 -dep 3549 40 -dep 354A A0 -dep 354B 20 -dep 354C 34 -dep 354D 2E -dep 354E C3 -dep 354F 58 -dep 3550 4F -dep 3551 52 -dep 3552 1A -dep 3553 01 -dep 3554 AA -dep 3555 40 -dep 3556 A0 -dep 3557 20 -dep 3558 35 -dep 3559 4C -dep 355A C4 -dep 355B 58 -dep 355C 4E -dep 355D 4F -dep 355E 52 -dep 355F 20 -dep 3560 1A -dep 3561 01 -dep 3562 AB -dep 3563 40 -dep 3564 A0 -dep 3565 20 -dep 3566 35 -dep 3567 40 -dep 3568 C5 -dep 3569 53 -dep 356A 57 -dep 356B 41 -dep 356C 50 -dep 356D 2D -dep 356E 1A -dep 356F 01 -dep 3570 A4 -dep 3571 40 -dep 3572 A0 -dep 3573 20 -dep 3574 35 -dep 3575 66 -dep 3576 C6 -dep 3577 53 -dep 3578 57 -dep 3579 41 -dep 357A 50 -dep 357B 2D -dep 357C 63 -dep 357D 20 -dep 357E 1A -dep 357F 01 -dep 3580 A5 -dep 3581 40 -dep 3582 A0 -dep 3583 20 -dep 3584 06 -dep 3585 75 -dep 3586 0A -dep 3587 79 -dep 3588 BE -dep 3589 41 -dep 358A 00 -dep 358B 71 -dep 358C EE -dep 358D A0 -dep 358E 34 -dep 358F 78 -dep 3590 C2 -dep 3591 52 -dep 3592 3E -dep 3593 20 -dep 3594 DE -dep 3595 00 -dep 3596 BE -dep 3597 01 -dep 3598 1A -dep 3599 C2 -dep 359A A0 -dep 359B 20 -dep 359C 35 -dep 359D 8E -dep 359E C6 -dep 359F 52 -dep 35A0 3E -dep 35A1 44 -dep 35A2 52 -dep 35A3 4F -dep 35A4 50 -dep 35A5 20 -dep 35A6 DE -dep 35A7 00 -dep 35A8 B0 -dep 35A9 01 -dep 35AA 1A -dep 35AB C2 -dep 35AC A0 -dep 35AD 20 -dep 35AE 35 -dep 35AF 9C -dep 35B0 C8 -dep 35B1 52 -dep 35B2 3E -dep 35B3 44 -dep 35B4 52 -dep 35B5 4F -dep 35B6 50 -dep 35B7 3E -dep 35B8 52 -dep 35B9 20 -dep 35BA DE -dep 35BB 00 -dep 35BC BE -dep 35BD 80 -dep 35BE 1A -dep 35BF C2 -dep 35C0 A0 -dep 35C1 20 -dep 35C2 35 -dep 35C3 28 -dep 35C4 C2 -dep 35C5 3E -dep 35C6 52 -dep 35C7 20 -dep 35C8 DE -dep 35C9 00 -dep 35CA BE -dep 35CB 81 -dep 35CC 1A -dep 35CD C2 -dep 35CE A0 -dep 35CF 20 -dep 35D0 35 -dep 35D1 C2 -dep 35D2 C3 -dep 35D3 3E -dep 35D4 52 -dep 35D5 3B -dep 35D6 DE -dep 35D7 00 -dep 35D8 BE -dep 35D9 A7 -dep 35DA 1A -dep 35DB C2 -dep 35DC A0 -dep 35DD 20 -dep 35DE 34 -dep 35DF E2 -dep 35E0 C5 -dep 35E1 44 -dep 35E2 55 -dep 35E3 50 -dep 35E4 3E -dep 35E5 52 -dep 35E6 DE -dep 35E7 00 -dep 35E8 B0 -dep 35E9 81 -dep 35EA 1A -dep 35EB C2 -dep 35EC A0 -dep 35ED 20 -dep 35EE 35 -dep 35EF DE -dep 35F0 C3 -dep 35F1 44 -dep 35F2 52 -dep 35F3 3E -dep 35F4 0B -dep 35F5 69 -dep 35F6 BE -dep 35F7 01 -dep 35F8 0B -dep 35F9 69 -dep 35FA BE -dep 35FB 01 -dep 35FC A0 -dep 35FD 20 -dep 35FE 35 -dep 35FF EE -dep 3600 C3 -dep 3601 44 -dep 3602 3E -dep 3603 52 -dep 3604 0B -dep 3605 69 -dep 3606 BE -dep 3607 81 -dep 3608 0B -dep 3609 69 -dep 360A BE -dep 360B 81 -dep 360C A0 -dep 360D 20 -dep 360E 35 -dep 360F 10 -dep 3610 C7 -dep 3611 45 -dep 3612 58 -dep 3613 45 -dep 3614 43 -dep 3615 55 -dep 3616 54 -dep 3617 45 -dep 3618 00 -dep 3619 61 -dep 361A EE -dep 361B 00 -dep 361C 89 -dep 361D 13 -dep 361E DE -dep 361F 00 -dep 3620 BE -dep 3621 87 -dep 3622 1A -dep 3623 C2 -dep 3624 91 -dep 3625 14 -dep 3626 BE -dep 3627 87 -dep 3628 A0 -dep 3629 20 -dep 362A 35 -dep 362B FE -dep 362C C5 -dep 362D 54 -dep 362E 49 -dep 362F 4D -dep 3630 45 -dep 3631 53 -dep 3632 DE -dep 3633 00 -dep 3634 BE -dep 3635 82 -dep 3636 1A -dep 3637 C2 -dep 3638 A0 -dep 3639 20 -dep 363A 36 -dep 363B 0E -dep 363C 85 -dep 363D 55 -dep 363E 43 -dep 363F 4F -dep 3640 44 -dep 3641 45 -dep 3642 0A -dep 3643 E0 -dep 3644 D6 -dep 3645 80 -dep 3646 00 -dep 3647 20 -dep 3648 0A -dep 3649 79 -dep 364A 13 -dep 364B BF -dep 364C A0 -dep 364D 20 -dep 364E 36 -dep 364F 2A -dep 3650 84 -dep 3651 4C -dep 3652 4F -dep 3653 4E -dep 3654 47 -dep 3655 20 -dep 3656 BF -dep 3657 40 -dep 3658 05 -dep 3659 5B -dep 365A 0E -dep 365B 4C -dep 365C 4F -dep 365D 4E -dep 365E 47 -dep 365F 20 -dep 3660 49 -dep 3661 53 -dep 3662 20 -dep 3663 42 -dep 3664 52 -dep 3665 4F -dep 3666 4B -dep 3667 45 -dep 3668 4E -dep 3669 20 -dep 366A A0 -dep 366B 20 -dep 366C DE -dep 366D 00 -dep 366E 90 -dep 366F 00 -dep 3670 AE -dep 3671 C0 -dep 3672 EE -dep 3673 80 -dep 3674 03 -dep 3675 FF -dep 3676 13 -dep 3677 F6 -dep 3678 A0 -dep 3679 20 -dep 367A 00 -dep 367B 91 -dep 367C EE -dep 367D 00 -dep 367E 01 -dep 367F A2 -dep 3680 01 -dep 3681 65 -dep 3682 89 -dep 3683 47 -dep 3684 A0 -dep 3685 C0 -dep 3686 EE -dep 3687 00 -dep 3688 AE -dep 3689 80 -dep 368A 1B -dep 368B 36 -dep 368C 91 -dep 368D 3F -dep 368E 00 -dep 368F 91 -dep 3690 EE -dep 3691 80 -dep 3692 AE -dep 3693 60 -dep 3694 00 -dep 3695 8D -dep 3696 EE -dep 3697 00 -dep 3698 01 -dep 3699 2C -dep 369A 05 -dep 369B 6D -dep 369C A0 -dep 369D 20 -dep 369E 00 -dep 369F 8D -dep 36A0 EE -dep 36A1 00 -dep 36A2 05 -dep 36A3 6D -dep 36A4 BF -dep 36A5 40 -dep 36A6 00 -dep 36A7 8D -dep 36A8 01 -dep 36A9 5D -dep 36AA A0 -dep 36AB C0 -dep 36AC EE -dep 36AD 00 -dep 36AE 05 -dep 36AF 6D -dep 36B0 A0 -dep 36B1 20 -dep 36B2 35 -dep 36B3 AE -dep 36B4 C5 -dep 36B5 42 -dep 36B6 45 -dep 36B7 47 -dep 36B8 49 -dep 36B9 4E -dep 36BA 03 -dep 36BB FF -dep 36BC BE -dep 36BD 41 -dep 36BE 00 -dep 36BF 8D -dep 36C0 01 -dep 36C1 5D -dep 36C2 00 -dep 36C3 73 -dep 36C4 01 -dep 36C5 95 -dep 36C6 A0 -dep 36C7 20 -dep 36C8 34 -dep 36C9 EE -dep 36CA C2 -dep 36CB 49 -dep 36CC 46 -dep 36CD 20 -dep 36CE 1B -dep 36CF 5D -dep 36D0 DE -dep 36D1 00 -dep 36D2 88 -dep 36D3 00 -dep 36D4 0A -dep 36D5 79 -dep 36D6 A0 -dep 36D7 20 -dep 36D8 36 -dep 36D9 4E -dep 36DA C4 -dep 36DB 54 -dep 36DC 48 -dep 36DD 45 -dep 36DE 4E -dep 36DF 20 -dep 36E0 BE -dep 36E1 40 -dep 36E2 1B -dep 36E3 4A -dep 36E4 BF -dep 36E5 40 -dep 36E6 00 -dep 36E7 8D -dep 36E8 01 -dep 36E9 5D -dep 36EA 03 -dep 36EB FF -dep 36EC 13 -dep 36ED F6 -dep 36EE A0 -dep 36EF 20 -dep 36F0 36 -dep 36F1 3A -dep 36F2 C4 -dep 36F3 45 -dep 36F4 4C -dep 36F5 53 -dep 36F6 45 -dep 36F7 20 -dep 36F8 BE -dep 36F9 40 -dep 36FA 1B -dep 36FB 4A -dep 36FC 1B -dep 36FD 5D -dep 36FE DE -dep 36FF 00 -dep 3700 90 -dep 3701 00 -dep 3702 0A -dep 3703 79 -dep 3704 AE -dep 3705 80 -dep 3706 1B -dep 3707 70 -dep 3708 A0 -dep 3709 20 -dep 370A 36 -dep 370B F0 -dep 370C C5 -dep 370D 55 -dep 370E 4E -dep 370F 54 -dep 3710 49 -dep 3711 4C -dep 3712 1B -dep 3713 4F -dep 3714 03 -dep 3715 FF -dep 3716 DE -dep 3717 00 -dep 3718 88 -dep 3719 00 -dep 371A 0A -dep 371B 79 -dep 371C AE -dep 371D 80 -dep 371E 13 -dep 371F F6 -dep 3720 A0 -dep 3721 20 -dep 3722 36 -dep 3723 C8 -dep 3724 C5 -dep 3725 41 -dep 3726 47 -dep 3727 41 -dep 3728 49 -dep 3729 4E -dep 372A 1B -dep 372B 4F -dep 372C 03 -dep 372D FF -dep 372E DE -dep 372F 00 -dep 3730 90 -dep 3731 00 -dep 3732 0A -dep 3733 79 -dep 3734 AE -dep 3735 80 -dep 3736 13 -dep 3737 F6 -dep 3738 A0 -dep 3739 20 -dep 373A 35 -dep 373B 1C -dep 373C C5 -dep 373D 57 -dep 373E 48 -dep 373F 49 -dep 3740 4C -dep 3741 45 -dep 3742 00 -dep 3743 8D -dep 3744 EE -dep 3745 00 -dep 3746 05 -dep 3747 6D -dep 3748 1B -dep 3749 67 -dep 374A AE -dep 374B A0 -dep 374C 36 -dep 374D B2 -dep 374E C6 -dep 374F 52 -dep 3750 45 -dep 3751 50 -dep 3752 45 -dep 3753 41 -dep 3754 54 -dep 3755 20 -dep 3756 BE -dep 3757 41 -dep 3758 1B -dep 3759 4A -dep 375A 1B -dep 375B 95 -dep 375C 1B -dep 375D 70 -dep 375E A0 -dep 375F 20 -dep 3760 37 -dep 3761 0A -dep 3762 C5 -dep 3763 2D -dep 3764 5A -dep 3765 45 -dep 3766 52 -dep 3767 4F -dep 3768 AE -dep 3769 40 -dep 376A 1B -dep 376B 5D -dep 376C DE -dep 376D 00 -dep 376E 90 -dep 376F 00 -dep 3770 0A -dep 3771 79 -dep 3772 03 -dep 3773 FF -dep 3774 AE -dep 3775 A0 -dep 3776 35 -dep 3777 D0 -dep 3778 C3 -dep 3779 46 -dep 377A 4F -dep 377B 52 -dep 377C 0B -dep 377D 69 -dep 377E BE -dep 377F 81 -dep 3780 1B -dep 3781 5D -dep 3782 A0 -dep 3783 20 -dep 3784 37 -dep 3785 76 -dep 3786 C4 -dep 3787 4E -dep 3788 45 -dep 3789 58 -dep 378A 54 -dep 378B 20 -dep 378C 1B -dep 378D 4F -dep 378E 03 -dep 378F FF -dep 3790 DE -dep 3791 00 -dep 3792 98 -dep 3793 00 -dep 3794 0A -dep 3795 79 -dep 3796 AE -dep 3797 80 -dep 3798 13 -dep 3799 F6 -dep 379A A0 -dep 379B 20 -dep 379C 36 -dep 379D D8 -dep 379E C2 -dep 379F 44 -dep 37A0 4F -dep 37A1 20 -dep 37A2 0B -dep 37A3 69 -dep 37A4 AE -dep 37A5 80 -dep 37A6 0B -dep 37A7 69 -dep 37A8 BE -dep 37A9 81 -dep 37AA 0B -dep 37AB 69 -dep 37AC BE -dep 37AD 81 -dep 37AE 1B -dep 37AF 5D -dep 37B0 A0 -dep 37B1 20 -dep 37B2 37 -dep 37B3 9C -dep 37B4 C5 -dep 37B5 4C -dep 37B6 45 -dep 37B7 41 -dep 37B8 56 -dep 37B9 45 -dep 37BA 0B -dep 37BB 69 -dep 37BC B0 -dep 37BD 01 -dep 37BE 0B -dep 37BF 69 -dep 37C0 B0 -dep 37C1 01 -dep 37C2 03 -dep 37C3 FF -dep 37C4 00 -dep 37C5 91 -dep 37C6 EE -dep 37C7 00 -dep 37C8 0A -dep 37C9 79 -dep 37CA 00 -dep 37CB 91 -dep 37CC EE -dep 37CD 80 -dep 37CE 00 -dep 37CF 71 -dep 37D0 01 -dep 37D1 95 -dep 37D2 A0 -dep 37D3 20 -dep 37D4 37 -dep 37D5 B2 -dep 37D6 C4 -dep 37D7 4C -dep 37D8 4F -dep 37D9 4F -dep 37DA 50 -dep 37DB 20 -dep 37DC 1B -dep 37DD 4F -dep 37DE 0B -dep 37DF 69 -dep 37E0 00 -dep 37E1 17 -dep 37E2 A0 -dep 37E3 C0 -dep 37E4 06 -dep 37E5 BB -dep 37E6 0A -dep 37E7 79 -dep 37E8 1B -dep 37E9 3D -dep 37EA 00 -dep 37EB 73 -dep 37EC 01 -dep 37ED 95 -dep 37EE A0 -dep 37EF 20 -dep 37F0 35 -dep 37F1 74 -dep 37F2 C5 -dep 37F3 2B -dep 37F4 4C -dep 37F5 4F -dep 37F6 4F -dep 37F7 50 -dep 37F8 1B -dep 37F9 4F -dep 37FA 0B -dep 37FB 69 -dep 37FC 00 -dep 37FD 26 -dep 37FE A0 -dep 37FF C0 -dep 3800 06 -dep 3801 BB -dep 3802 0A -dep 3803 79 -dep 3804 1B -dep 3805 3D -dep 3806 00 -dep 3807 73 -dep 3808 01 -dep 3809 95 -dep 380A A0 -dep 380B 20 -dep 380C 37 -dep 380D 22 -dep 380E 89 -dep 380F 49 -dep 3810 4D -dep 3811 4D -dep 3812 45 -dep 3813 44 -dep 3814 49 -dep 3815 41 -dep 3816 54 -dep 3817 45 -dep 3818 13 -dep 3819 9E -dep 381A A0 -dep 381B 20 -dep 381C 37 -dep 381D 3A -dep 381E 35 -dep 381F 58 -dep 3820 38 -dep 3821 0C -dep 3822 37 -dep 3823 4C -dep 3824 37 -dep 3825 F0 -dep 3826 37 -dep 3827 D4 -dep 3828 37 -dep 3829 60 -dep 382A 37 -dep 382B 84 -dep 382C FF -dep 382D FF -dep 382E FF -dep 382F FF -dep 3830 FF -dep 3831 FF -dep 3832 FF -dep 3833 FF -dep 3834 FF -dep 3835 FF -dep 3836 FF -dep 3837 FF -dep 3838 FF -dep 3839 FF -dep 383A FF -dep 383B FF -dep 383C FF -dep 383D FF -dep 383E FF -dep 383F FF -dep 3840 FF -dep 3841 FF -dep 3842 FF -dep 3843 FF -dep 3844 FF -dep 3845 FF -dep 3846 FF -dep 3847 FF -dep 3848 FF -dep 3849 FF -dep 384A FF -dep 384B FF -dep 384C FF -dep 384D FF -dep 384E FF -dep 384F FF -dep 3850 FF -dep 3851 FF -dep 3852 FF -dep 3853 FF -dep 3854 FF -dep 3855 FF -dep 3856 FF -dep 3857 FF -dep 3858 FF -dep 3859 FF -dep 385A FF -dep 385B FF -dep 385C FF -dep 385D FF -dep 385E FF -dep 385F FF -dep 3860 FF -dep 3861 FF -dep 3862 FF -dep 3863 FF -dep 3864 FF -dep 3865 FF -dep 3866 FF -dep 3867 FF -dep 3868 FF -dep 3869 FF -dep 386A FF -dep 386B FF -dep 386C FF -dep 386D FF -dep 386E FF -dep 386F FF -dep 3870 FF -dep 3871 FF -dep 3872 FF -dep 3873 FF -dep 3874 FF -dep 3875 FF -dep 3876 FF -dep 3877 FF -dep 3878 FF -dep 3879 FF -dep 387A FF -dep 387B FF -dep 387C FF -dep 387D FF -dep 387E FF -dep 387F FF -dep 3880 FF -dep 3881 FF -dep 3882 FF -dep 3883 FF -dep 3884 FF -dep 3885 FF -dep 3886 FF -dep 3887 FF -dep 3888 FF -dep 3889 FF -dep 388A FF -dep 388B FF -dep 388C FF -dep 388D FF -dep 388E FF -dep 388F FF -dep 3890 FF -dep 3891 FF -dep 3892 FF -dep 3893 FF -dep 3894 FF -dep 3895 FF -dep 3896 FF -dep 3897 FF -dep 3898 33 -dep 3899 31 -dep 389A 33 -dep 389B 41 -dep 389C FF -dep 389D FF -dep 389E FF -dep 389F FF -dep 38A0 FF -dep 38A1 FF -dep 38A2 FF -dep 38A3 FF -dep 38A4 FF -dep 38A5 FF -dep 38A6 FF -dep 38A7 FF -dep 38A8 FF -dep 38A9 FF -dep 38AA FF -dep 38AB FF -dep 38AC FF -dep 38AD FF -dep 38AE FF -dep 38AF FF -dep 38B0 FF -dep 38B1 FF -dep 38B2 FF -dep 38B3 FF -dep 38B4 FF -dep 38B5 FF -dep 38B6 FF -dep 38B7 FF -dep 38B8 FF -dep 38B9 FF -dep 38BA FF -dep 38BB FF -dep 38BC FF -dep 38BD FF -dep 38BE FF -dep 38BF FF -dep 38C0 FF -dep 38C1 FF -dep 38C2 FF -dep 38C3 FF -dep 38C4 FF -dep 38C5 FF -dep 38C6 FF -dep 38C7 FF -dep 38C8 FF -dep 38C9 FF -dep 38CA FF -dep 38CB FF -dep 38CC FF -dep 38CD FF -dep 38CE FF -dep 38CF FF -dep 38D0 FF -dep 38D1 FF -dep 38D2 FF -dep 38D3 FF -dep 38D4 FF -dep 38D5 FF -dep 38D6 FF -dep 38D7 FF -dep 38D8 FF -dep 38D9 FF -dep 38DA FF -dep 38DB FF -dep 38DC FF -dep 38DD FF -dep 38DE FF -dep 38DF FF -dep 38E0 FF -dep 38E1 FF -dep 38E2 FF -dep 38E3 FF -dep 38E4 FF -dep 38E5 FF -dep 38E6 FF -dep 38E7 FF -dep 38E8 FF -dep 38E9 FF -dep 38EA FF -dep 38EB FF -dep 38EC FF -dep 38ED FF -dep 38EE FF -dep 38EF FF -dep 38F0 FF -dep 38F1 FF -dep 38F2 FF -dep 38F3 FF -dep 38F4 FF -dep 38F5 FF -dep 38F6 FF -dep 38F7 FF -dep 38F8 FF -dep 38F9 FF -dep 38FA FF -dep 38FB FF -dep 38FC FF -dep 38FD FF -dep 38FE FF -dep 38FF FF -dep 3900 FF -dep 3901 FF -dep 3902 FF -dep 3903 FF -dep 3904 FF -dep 3905 FF -dep 3906 FF -dep 3907 FF -dep 3908 FF -dep 3909 FF -dep 390A FF -dep 390B FF -dep 390C FF -dep 390D FF -dep 390E FF -dep 390F FF -dep 3910 FF -dep 3911 FF -dep 3912 FF -dep 3913 FF -dep 3914 FF -dep 3915 FF -dep 3916 FF -dep 3917 FF -dep 3918 FF -dep 3919 FF -dep 391A FF -dep 391B FF -dep 391C FF -dep 391D FF -dep 391E FF -dep 391F FF -dep 3920 FF -dep 3921 FF -dep 3922 FF -dep 3923 FF -dep 3924 FF -dep 3925 FF -dep 3926 FF -dep 3927 FF -dep 3928 FF -dep 3929 FF -dep 392A FF -dep 392B FF -dep 392C FF -dep 392D FF -dep 392E FF -dep 392F FF -dep 3930 FF -dep 3931 FF -dep 3932 FF -dep 3933 FF -dep 3934 FF -dep 3935 FF -dep 3936 FF -dep 3937 FF -dep 3938 FF -dep 3939 FF -dep 393A FF -dep 393B FF -dep 393C FF -dep 393D FF -dep 393E FF -dep 393F FF -dep 3940 FF -dep 3941 FF -dep 3942 FF -dep 3943 FF -dep 3944 FF -dep 3945 FF -dep 3946 FF -dep 3947 FF -dep 3948 FF -dep 3949 FF -dep 394A FF -dep 394B FF -dep 394C FF -dep 394D FF -dep 394E FF -dep 394F FF -dep 3950 FF -dep 3951 FF -dep 3952 FF -dep 3953 FF -dep 3954 FF -dep 3955 FF -dep 3956 FF -dep 3957 FF -dep 3958 FF -dep 3959 FF -dep 395A FF -dep 395B FF -dep 395C FF -dep 395D FF -dep 395E FF -dep 395F FF -dep 3960 FF -dep 3961 FF -dep 3962 FF -dep 3963 FF -dep 3964 FF -dep 3965 FF -dep 3966 FF -dep 3967 FF -dep 3968 FF -dep 3969 FF -dep 396A FF -dep 396B FF -dep 396C FF -dep 396D FF -dep 396E FF -dep 396F FF -dep 3970 FF -dep 3971 FF -dep 3972 FF -dep 3973 FF -dep 3974 FF -dep 3975 FF -dep 3976 FF -dep 3977 FF -dep 3978 FF -dep 3979 FF -dep 397A FF -dep 397B FF -dep 397C FF -dep 397D FF -dep 397E FF -dep 397F FF -dep 3980 FF -dep 3981 FF -dep 3982 FF -dep 3983 FF -dep 3984 FF -dep 3985 FF -dep 3986 FF -dep 3987 FF -dep 3988 FF -dep 3989 FF -dep 398A FF -dep 398B FF -dep 398C FF -dep 398D FF -dep 398E FF -dep 398F FF -dep 3990 FF -dep 3991 FF -dep 3992 FF -dep 3993 FF -dep 3994 FF -dep 3995 FF -dep 3996 FF -dep 3997 FF -dep 3998 FF -dep 3999 FF -dep 399A FF -dep 399B FF -dep 399C FF -dep 399D FF -dep 399E FF -dep 399F FF -dep 39A0 FF -dep 39A1 FF -dep 39A2 FF -dep 39A3 FF -dep 39A4 FF -dep 39A5 FF -dep 39A6 FF -dep 39A7 FF -dep 39A8 FF -dep 39A9 FF -dep 39AA FF -dep 39AB FF -dep 39AC FF -dep 39AD FF -dep 39AE FF -dep 39AF FF -dep 39B0 FF -dep 39B1 FF -dep 39B2 FF -dep 39B3 FF -dep 39B4 FF -dep 39B5 FF -dep 39B6 FF -dep 39B7 FF -dep 39B8 FF -dep 39B9 FF -dep 39BA FF -dep 39BB FF -dep 39BC FF -dep 39BD FF -dep 39BE FF -dep 39BF FF -dep 39C0 FF -dep 39C1 FF -dep 39C2 FF -dep 39C3 FF -dep 39C4 FF -dep 39C5 FF -dep 39C6 FF -dep 39C7 FF -dep 39C8 FF -dep 39C9 FF -dep 39CA FF -dep 39CB FF -dep 39CC FF -dep 39CD FF -dep 39CE FF -dep 39CF FF -dep 39D0 FF -dep 39D1 FF -dep 39D2 FF -dep 39D3 FF -dep 39D4 FF -dep 39D5 FF -dep 39D6 FF -dep 39D7 FF -dep 39D8 FF -dep 39D9 FF -dep 39DA FF -dep 39DB FF -dep 39DC FF -dep 39DD FF -dep 39DE FF -dep 39DF FF -dep 39E0 FF -dep 39E1 FF -dep 39E2 FF -dep 39E3 FF -dep 39E4 FF -dep 39E5 FF -dep 39E6 FF -dep 39E7 FF -dep 39E8 FF -dep 39E9 FF -dep 39EA FF -dep 39EB FF -dep 39EC FF -dep 39ED FF -dep 39EE FF -dep 39EF FF -dep 39F0 FF -dep 39F1 FF -dep 39F2 FF -dep 39F3 FF -dep 39F4 FF -dep 39F5 FF -dep 39F6 FF -dep 39F7 FF -dep 39F8 FF -dep 39F9 FF -dep 39FA FF -dep 39FB FF -dep 39FC FF -dep 39FD FF -dep 39FE FF -dep 39FF FF -dep 3A00 FF -dep 3A01 FF -dep 3A02 FF -dep 3A03 FF -dep 3A04 FF -dep 3A05 FF -dep 3A06 FF -dep 3A07 FF -dep 3A08 FF -dep 3A09 FF -dep 3A0A FF -dep 3A0B FF -dep 3A0C FF -dep 3A0D FF -dep 3A0E FF -dep 3A0F FF -dep 3A10 FF -dep 3A11 FF -dep 3A12 FF -dep 3A13 FF -dep 3A14 FF -dep 3A15 FF -dep 3A16 FF -dep 3A17 FF -dep 3A18 FF -dep 3A19 FF -dep 3A1A FF -dep 3A1B FF -dep 3A1C FF -dep 3A1D FF -dep 3A1E FF -dep 3A1F FF -dep 3A20 FF -dep 3A21 FF -dep 3A22 FF -dep 3A23 FF -dep 3A24 FF -dep 3A25 FF -dep 3A26 FF -dep 3A27 FF -dep 3A28 FF -dep 3A29 FF -dep 3A2A FF -dep 3A2B FF -dep 3A2C FF -dep 3A2D FF -dep 3A2E FF -dep 3A2F FF -dep 3A30 FF -dep 3A31 FF -dep 3A32 FF -dep 3A33 FF -dep 3A34 FF -dep 3A35 FF -dep 3A36 FF -dep 3A37 FF -dep 3A38 FF -dep 3A39 FF -dep 3A3A FF -dep 3A3B FF -dep 3A3C FF -dep 3A3D FF -dep 3A3E FF -dep 3A3F FF -dep 3A40 FF -dep 3A41 FF -dep 3A42 FF -dep 3A43 FF -dep 3A44 FF -dep 3A45 FF -dep 3A46 FF -dep 3A47 FF -dep 3A48 FF -dep 3A49 FF -dep 3A4A FF -dep 3A4B FF -dep 3A4C FF -dep 3A4D FF -dep 3A4E FF -dep 3A4F FF -dep 3A50 FF -dep 3A51 FF -dep 3A52 FF -dep 3A53 FF -dep 3A54 FF -dep 3A55 FF -dep 3A56 FF -dep 3A57 FF -dep 3A58 FF -dep 3A59 FF -dep 3A5A FF -dep 3A5B FF -dep 3A5C FF -dep 3A5D FF -dep 3A5E FF -dep 3A5F FF -dep 3A60 FF -dep 3A61 FF -dep 3A62 FF -dep 3A63 FF -dep 3A64 FF -dep 3A65 FF -dep 3A66 FF -dep 3A67 FF -dep 3A68 FF -dep 3A69 FF -dep 3A6A FF -dep 3A6B FF -dep 3A6C FF -dep 3A6D FF -dep 3A6E FF -dep 3A6F FF -dep 3A70 FF -dep 3A71 FF -dep 3A72 FF -dep 3A73 FF -dep 3A74 FF -dep 3A75 FF -dep 3A76 FF -dep 3A77 FF -dep 3A78 FF -dep 3A79 FF -dep 3A7A FF -dep 3A7B FF -dep 3A7C FF -dep 3A7D FF -dep 3A7E FF -dep 3A7F FF -dep 3A80 FF -dep 3A81 FF -dep 3A82 FF -dep 3A83 FF -dep 3A84 FF -dep 3A85 FF -dep 3A86 FF -dep 3A87 FF -dep 3A88 FF -dep 3A89 FF -dep 3A8A FF -dep 3A8B FF -dep 3A8C FF -dep 3A8D FF -dep 3A8E FF -dep 3A8F FF -dep 3A90 FF -dep 3A91 FF -dep 3A92 FF -dep 3A93 FF -dep 3A94 FF -dep 3A95 FF -dep 3A96 FF -dep 3A97 FF -dep 3A98 FF -dep 3A99 FF -dep 3A9A FF -dep 3A9B FF -dep 3A9C FF -dep 3A9D FF -dep 3A9E FF -dep 3A9F FF -dep 3AA0 FF -dep 3AA1 FF -dep 3AA2 FF -dep 3AA3 FF -dep 3AA4 FF -dep 3AA5 FF -dep 3AA6 FF -dep 3AA7 FF -dep 3AA8 FF -dep 3AA9 FF -dep 3AAA FF -dep 3AAB FF -dep 3AAC FF -dep 3AAD FF -dep 3AAE FF -dep 3AAF FF -dep 3AB0 FF -dep 3AB1 FF -dep 3AB2 FF -dep 3AB3 FF -dep 3AB4 FF -dep 3AB5 FF -dep 3AB6 FF -dep 3AB7 FF -dep 3AB8 FF -dep 3AB9 FF -dep 3ABA FF -dep 3ABB FF -dep 3ABC FF -dep 3ABD FF -dep 3ABE FF -dep 3ABF FF -dep 3AC0 FF -dep 3AC1 FF -dep 3AC2 FF -dep 3AC3 FF -dep 3AC4 FF -dep 3AC5 FF -dep 3AC6 FF -dep 3AC7 FF -dep 3AC8 FF -dep 3AC9 FF -dep 3ACA FF -dep 3ACB FF -dep 3ACC FF -dep 3ACD FF -dep 3ACE FF -dep 3ACF FF -dep 3AD0 FF -dep 3AD1 FF -dep 3AD2 FF -dep 3AD3 FF -dep 3AD4 FF -dep 3AD5 FF -dep 3AD6 FF -dep 3AD7 FF -dep 3AD8 FF -dep 3AD9 FF -dep 3ADA FF -dep 3ADB FF -dep 3ADC FF -dep 3ADD FF -dep 3ADE FF -dep 3ADF FF -dep 3AE0 FF -dep 3AE1 FF -dep 3AE2 FF -dep 3AE3 FF -dep 3AE4 FF -dep 3AE5 FF -dep 3AE6 FF -dep 3AE7 FF -dep 3AE8 FF -dep 3AE9 FF -dep 3AEA FF -dep 3AEB FF -dep 3AEC FF -dep 3AED FF -dep 3AEE FF -dep 3AEF FF -dep 3AF0 FF -dep 3AF1 FF -dep 3AF2 FF -dep 3AF3 FF -dep 3AF4 FF -dep 3AF5 FF -dep 3AF6 FF -dep 3AF7 FF -dep 3AF8 FF -dep 3AF9 FF -dep 3AFA FF -dep 3AFB FF -dep 3AFC FF -dep 3AFD FF -dep 3AFE FF -dep 3AFF FF -dep 3B00 FF -dep 3B01 FF -dep 3B02 FF -dep 3B03 FF -dep 3B04 FF -dep 3B05 FF -dep 3B06 FF -dep 3B07 FF -dep 3B08 FF -dep 3B09 FF -dep 3B0A FF -dep 3B0B FF -dep 3B0C FF -dep 3B0D FF -dep 3B0E FF -dep 3B0F FF -dep 3B10 FF -dep 3B11 FF -dep 3B12 FF -dep 3B13 FF -dep 3B14 FF -dep 3B15 FF -dep 3B16 FF -dep 3B17 FF -dep 3B18 FF -dep 3B19 FF -dep 3B1A FF -dep 3B1B FF -dep 3B1C FF -dep 3B1D FF -dep 3B1E FF -dep 3B1F FF -dep 3B20 FF -dep 3B21 FF -dep 3B22 FF -dep 3B23 FF -dep 3B24 FF -dep 3B25 FF -dep 3B26 FF -dep 3B27 FF -dep 3B28 FF -dep 3B29 FF -dep 3B2A FF -dep 3B2B FF -dep 3B2C FF -dep 3B2D FF -dep 3B2E FF -dep 3B2F FF -dep 3B30 FF -dep 3B31 FF -dep 3B32 FF -dep 3B33 FF -dep 3B34 FF -dep 3B35 FF -dep 3B36 FF -dep 3B37 FF -dep 3B38 FF -dep 3B39 FF -dep 3B3A FF -dep 3B3B FF -dep 3B3C FF -dep 3B3D FF -dep 3B3E FF -dep 3B3F FF -dep 3B40 FF -dep 3B41 FF -dep 3B42 FF -dep 3B43 FF -dep 3B44 FF -dep 3B45 FF -dep 3B46 FF -dep 3B47 FF -dep 3B48 FF -dep 3B49 FF -dep 3B4A FF -dep 3B4B FF -dep 3B4C FF -dep 3B4D FF -dep 3B4E FF -dep 3B4F FF -dep 3B50 FF -dep 3B51 FF -dep 3B52 FF -dep 3B53 FF -dep 3B54 FF -dep 3B55 FF -dep 3B56 FF -dep 3B57 FF -dep 3B58 FF -dep 3B59 FF -dep 3B5A FF -dep 3B5B FF -dep 3B5C FF -dep 3B5D FF -dep 3B5E FF -dep 3B5F FF -dep 3B60 FF -dep 3B61 FF -dep 3B62 FF -dep 3B63 FF -dep 3B64 FF -dep 3B65 FF -dep 3B66 FF -dep 3B67 FF -dep 3B68 FF -dep 3B69 FF -dep 3B6A FF -dep 3B6B FF -dep 3B6C FF -dep 3B6D FF -dep 3B6E FF -dep 3B6F FF -dep 3B70 FF -dep 3B71 FF -dep 3B72 FF -dep 3B73 FF -dep 3B74 FF -dep 3B75 FF -dep 3B76 FF -dep 3B77 FF -dep 3B78 FF -dep 3B79 FF -dep 3B7A FF -dep 3B7B FF -dep 3B7C FF -dep 3B7D FF -dep 3B7E FF -dep 3B7F FF -dep 3B80 FF -dep 3B81 FF -dep 3B82 FF -dep 3B83 FF -dep 3B84 FF -dep 3B85 FF -dep 3B86 FF -dep 3B87 FF -dep 3B88 FF -dep 3B89 FF -dep 3B8A FF -dep 3B8B FF -dep 3B8C FF -dep 3B8D FF -dep 3B8E FF -dep 3B8F FF -dep 3B90 FF -dep 3B91 FF -dep 3B92 FF -dep 3B93 FF -dep 3B94 FF -dep 3B95 FF -dep 3B96 FF -dep 3B97 FF -dep 3B98 FF -dep 3B99 FF -dep 3B9A FF -dep 3B9B FF -dep 3B9C FF -dep 3B9D FF -dep 3B9E FF -dep 3B9F FF -dep 3BA0 FF -dep 3BA1 FF -dep 3BA2 FF -dep 3BA3 FF -dep 3BA4 FF -dep 3BA5 FF -dep 3BA6 FF -dep 3BA7 FF -dep 3BA8 FF -dep 3BA9 FF -dep 3BAA FF -dep 3BAB FF -dep 3BAC FF -dep 3BAD FF -dep 3BAE FF -dep 3BAF FF -dep 3BB0 FF -dep 3BB1 FF -dep 3BB2 FF -dep 3BB3 FF -dep 3BB4 FF -dep 3BB5 FF -dep 3BB6 FF -dep 3BB7 FF -dep 3BB8 FF -dep 3BB9 FF -dep 3BBA FF -dep 3BBB FF -dep 3BBC FF -dep 3BBD FF -dep 3BBE FF -dep 3BBF FF -dep 3BC0 FF -dep 3BC1 FF -dep 3BC2 FF -dep 3BC3 FF -dep 3BC4 FF -dep 3BC5 FF -dep 3BC6 FF -dep 3BC7 FF -dep 3BC8 FF -dep 3BC9 FF -dep 3BCA FF -dep 3BCB FF -dep 3BCC FF -dep 3BCD FF -dep 3BCE FF -dep 3BCF FF -dep 3BD0 FF -dep 3BD1 FF -dep 3BD2 FF -dep 3BD3 FF -dep 3BD4 FF -dep 3BD5 FF -dep 3BD6 FF -dep 3BD7 FF -dep 3BD8 FF -dep 3BD9 FF -dep 3BDA FF -dep 3BDB FF -dep 3BDC FF -dep 3BDD FF -dep 3BDE FF -dep 3BDF FF -dep 3BE0 FF -dep 3BE1 FF -dep 3BE2 FF -dep 3BE3 FF -dep 3BE4 FF -dep 3BE5 FF -dep 3BE6 FF -dep 3BE7 FF -dep 3BE8 FF -dep 3BE9 FF -dep 3BEA FF -dep 3BEB FF -dep 3BEC FF -dep 3BED FF -dep 3BEE FF -dep 3BEF FF -dep 3BF0 FF -dep 3BF1 FF -dep 3BF2 FF -dep 3BF3 FF -dep 3BF4 FF -dep 3BF5 FF -dep 3BF6 FF -dep 3BF7 FF -dep 3BF8 FF -dep 3BF9 FF -dep 3BFA FF -dep 3BFB FF -dep 3BFC FF -dep 3BFD FF -dep 3BFE FF -dep 3BFF FF -dep 3C00 FF -dep 3C01 FF -dep 3C02 FF -dep 3C03 FF -dep 3C04 FF -dep 3C05 FF -dep 3C06 FF -dep 3C07 FF -dep 3C08 FF -dep 3C09 FF -dep 3C0A FF -dep 3C0B FF -dep 3C0C FF -dep 3C0D FF -dep 3C0E FF -dep 3C0F FF -dep 3C10 FF -dep 3C11 FF -dep 3C12 FF -dep 3C13 FF -dep 3C14 FF -dep 3C15 FF -dep 3C16 FF -dep 3C17 FF -dep 3C18 FF -dep 3C19 FF -dep 3C1A FF -dep 3C1B FF -dep 3C1C FF -dep 3C1D FF -dep 3C1E FF -dep 3C1F FF -dep 3C20 FF -dep 3C21 FF -dep 3C22 FF -dep 3C23 FF -dep 3C24 FF -dep 3C25 FF -dep 3C26 FF -dep 3C27 FF -dep 3C28 FF -dep 3C29 FF -dep 3C2A FF -dep 3C2B FF -dep 3C2C FF -dep 3C2D FF -dep 3C2E FF -dep 3C2F FF -dep 3C30 FF -dep 3C31 FF -dep 3C32 FF -dep 3C33 FF -dep 3C34 FF -dep 3C35 FF -dep 3C36 FF -dep 3C37 FF -dep 3C38 FF -dep 3C39 FF -dep 3C3A FF -dep 3C3B FF -dep 3C3C FF -dep 3C3D FF -dep 3C3E FF -dep 3C3F FF -dep 3C40 FF -dep 3C41 FF -dep 3C42 FF -dep 3C43 FF -dep 3C44 FF -dep 3C45 FF -dep 3C46 FF -dep 3C47 FF -dep 3C48 FF -dep 3C49 FF -dep 3C4A FF -dep 3C4B FF -dep 3C4C FF -dep 3C4D FF -dep 3C4E FF -dep 3C4F FF -dep 3C50 FF -dep 3C51 FF -dep 3C52 FF -dep 3C53 FF -dep 3C54 FF -dep 3C55 FF -dep 3C56 FF -dep 3C57 FF -dep 3C58 FF -dep 3C59 FF -dep 3C5A FF -dep 3C5B FF -dep 3C5C FF -dep 3C5D FF -dep 3C5E FF -dep 3C5F FF -dep 3C60 FF -dep 3C61 FF -dep 3C62 FF -dep 3C63 FF -dep 3C64 FF -dep 3C65 FF -dep 3C66 FF -dep 3C67 FF -dep 3C68 FF -dep 3C69 FF -dep 3C6A FF -dep 3C6B FF -dep 3C6C FF -dep 3C6D FF -dep 3C6E FF -dep 3C6F FF -dep 3C70 FF -dep 3C71 FF -dep 3C72 FF -dep 3C73 FF -dep 3C74 FF -dep 3C75 FF -dep 3C76 FF -dep 3C77 FF -dep 3C78 FF -dep 3C79 FF -dep 3C7A FF -dep 3C7B FF -dep 3C7C FF -dep 3C7D FF -dep 3C7E FF -dep 3C7F FF -dep 3C80 FF -dep 3C81 FF -dep 3C82 FF -dep 3C83 FF -dep 3C84 FF -dep 3C85 FF -dep 3C86 FF -dep 3C87 FF -dep 3C88 FF -dep 3C89 FF -dep 3C8A FF -dep 3C8B FF -dep 3C8C FF -dep 3C8D FF -dep 3C8E FF -dep 3C8F FF -dep 3C90 FF -dep 3C91 FF -dep 3C92 FF -dep 3C93 FF -dep 3C94 FF -dep 3C95 FF -dep 3C96 FF -dep 3C97 FF -dep 3C98 FF -dep 3C99 FF -dep 3C9A FF -dep 3C9B FF -dep 3C9C FF -dep 3C9D FF -dep 3C9E FF -dep 3C9F FF -dep 3CA0 FF -dep 3CA1 FF -dep 3CA2 FF -dep 3CA3 FF -dep 3CA4 FF -dep 3CA5 FF -dep 3CA6 FF -dep 3CA7 FF -dep 3CA8 FF -dep 3CA9 FF -dep 3CAA FF -dep 3CAB FF -dep 3CAC FF -dep 3CAD FF -dep 3CAE FF -dep 3CAF FF -dep 3CB0 FF -dep 3CB1 FF -dep 3CB2 FF -dep 3CB3 FF -dep 3CB4 FF -dep 3CB5 FF -dep 3CB6 FF -dep 3CB7 FF -dep 3CB8 FF -dep 3CB9 FF -dep 3CBA FF -dep 3CBB FF -dep 3CBC FF -dep 3CBD FF -dep 3CBE FF -dep 3CBF FF -dep 3CC0 FF -dep 3CC1 FF -dep 3CC2 FF -dep 3CC3 FF -dep 3CC4 FF -dep 3CC5 FF -dep 3CC6 FF -dep 3CC7 FF -dep 3CC8 FF -dep 3CC9 FF -dep 3CCA FF -dep 3CCB FF -dep 3CCC FF -dep 3CCD FF -dep 3CCE FF -dep 3CCF FF -dep 3CD0 FF -dep 3CD1 FF -dep 3CD2 FF -dep 3CD3 FF -dep 3CD4 FF -dep 3CD5 FF -dep 3CD6 FF -dep 3CD7 FF -dep 3CD8 FF -dep 3CD9 FF -dep 3CDA FF -dep 3CDB FF -dep 3CDC FF -dep 3CDD FF -dep 3CDE FF -dep 3CDF FF -dep 3CE0 FF -dep 3CE1 FF -dep 3CE2 FF -dep 3CE3 FF -dep 3CE4 FF -dep 3CE5 FF -dep 3CE6 FF -dep 3CE7 FF -dep 3CE8 FF -dep 3CE9 FF -dep 3CEA FF -dep 3CEB FF -dep 3CEC FF -dep 3CED FF -dep 3CEE FF -dep 3CEF FF -dep 3CF0 FF -dep 3CF1 FF -dep 3CF2 FF -dep 3CF3 FF -dep 3CF4 FF -dep 3CF5 FF -dep 3CF6 FF -dep 3CF7 FF -dep 3CF8 FF -dep 3CF9 FF -dep 3CFA FF -dep 3CFB FF -dep 3CFC FF -dep 3CFD FF -dep 3CFE FF -dep 3CFF FF -dep 3D00 FF -dep 3D01 FF -dep 3D02 FF -dep 3D03 FF -dep 3D04 FF -dep 3D05 FF -dep 3D06 FF -dep 3D07 FF -dep 3D08 FF -dep 3D09 FF -dep 3D0A FF -dep 3D0B FF -dep 3D0C FF -dep 3D0D FF -dep 3D0E FF -dep 3D0F FF -dep 3D10 FF -dep 3D11 FF -dep 3D12 FF -dep 3D13 FF -dep 3D14 FF -dep 3D15 FF -dep 3D16 FF -dep 3D17 FF -dep 3D18 FF -dep 3D19 FF -dep 3D1A FF -dep 3D1B FF -dep 3D1C FF -dep 3D1D FF -dep 3D1E FF -dep 3D1F FF -dep 3D20 FF -dep 3D21 FF -dep 3D22 FF -dep 3D23 FF -dep 3D24 FF -dep 3D25 FF -dep 3D26 FF -dep 3D27 FF -dep 3D28 FF -dep 3D29 FF -dep 3D2A FF -dep 3D2B FF -dep 3D2C FF -dep 3D2D FF -dep 3D2E FF -dep 3D2F FF -dep 3D30 FF -dep 3D31 FF -dep 3D32 FF -dep 3D33 FF -dep 3D34 FF -dep 3D35 FF -dep 3D36 FF -dep 3D37 FF -dep 3D38 FF -dep 3D39 FF -dep 3D3A FF -dep 3D3B FF -dep 3D3C FF -dep 3D3D FF -dep 3D3E FF -dep 3D3F FF -dep 3D40 FF -dep 3D41 FF -dep 3D42 FF -dep 3D43 FF -dep 3D44 FF -dep 3D45 FF -dep 3D46 FF -dep 3D47 FF -dep 3D48 FF -dep 3D49 FF -dep 3D4A FF -dep 3D4B FF -dep 3D4C FF -dep 3D4D FF -dep 3D4E FF -dep 3D4F FF -dep 3D50 FF -dep 3D51 FF -dep 3D52 FF -dep 3D53 FF -dep 3D54 FF -dep 3D55 FF -dep 3D56 FF -dep 3D57 FF -dep 3D58 FF -dep 3D59 FF -dep 3D5A FF -dep 3D5B FF -dep 3D5C FF -dep 3D5D FF -dep 3D5E FF -dep 3D5F FF -dep 3D60 FF -dep 3D61 FF -dep 3D62 FF -dep 3D63 FF -dep 3D64 FF -dep 3D65 FF -dep 3D66 FF -dep 3D67 FF -dep 3D68 FF -dep 3D69 FF -dep 3D6A FF -dep 3D6B FF -dep 3D6C FF -dep 3D6D FF -dep 3D6E FF -dep 3D6F FF -dep 3D70 FF -dep 3D71 FF -dep 3D72 FF -dep 3D73 FF -dep 3D74 FF -dep 3D75 FF -dep 3D76 FF -dep 3D77 FF -dep 3D78 FF -dep 3D79 FF -dep 3D7A FF -dep 3D7B FF -dep 3D7C FF -dep 3D7D FF -dep 3D7E FF -dep 3D7F FF -dep 3D80 FF -dep 3D81 FF -dep 3D82 FF -dep 3D83 FF -dep 3D84 FF -dep 3D85 FF -dep 3D86 FF -dep 3D87 FF -dep 3D88 FF -dep 3D89 FF -dep 3D8A FF -dep 3D8B FF -dep 3D8C FF -dep 3D8D FF -dep 3D8E FF -dep 3D8F FF -dep 3D90 FF -dep 3D91 FF -dep 3D92 FF -dep 3D93 FF -dep 3D94 FF -dep 3D95 FF -dep 3D96 FF -dep 3D97 FF -dep 3D98 FF -dep 3D99 FF -dep 3D9A FF -dep 3D9B FF -dep 3D9C FF -dep 3D9D FF -dep 3D9E FF -dep 3D9F FF -dep 3DA0 FF -dep 3DA1 FF -dep 3DA2 FF -dep 3DA3 FF -dep 3DA4 FF -dep 3DA5 FF -dep 3DA6 FF -dep 3DA7 FF -dep 3DA8 FF -dep 3DA9 FF -dep 3DAA FF -dep 3DAB FF -dep 3DAC FF -dep 3DAD FF -dep 3DAE FF -dep 3DAF FF -dep 3DB0 FF -dep 3DB1 FF -dep 3DB2 FF -dep 3DB3 FF -dep 3DB4 FF -dep 3DB5 FF -dep 3DB6 FF -dep 3DB7 FF -dep 3DB8 FF -dep 3DB9 FF -dep 3DBA FF -dep 3DBB FF -dep 3DBC FF -dep 3DBD FF -dep 3DBE FF -dep 3DBF FF -dep 3DC0 FF -dep 3DC1 FF -dep 3DC2 FF -dep 3DC3 FF -dep 3DC4 FF -dep 3DC5 FF -dep 3DC6 FF -dep 3DC7 FF -dep 3DC8 FF -dep 3DC9 FF -dep 3DCA FF -dep 3DCB FF -dep 3DCC FF -dep 3DCD FF -dep 3DCE FF -dep 3DCF FF -dep 3DD0 FF -dep 3DD1 FF -dep 3DD2 FF -dep 3DD3 FF -dep 3DD4 FF -dep 3DD5 FF -dep 3DD6 FF -dep 3DD7 FF -dep 3DD8 FF -dep 3DD9 FF -dep 3DDA FF -dep 3DDB FF -dep 3DDC FF -dep 3DDD FF -dep 3DDE FF -dep 3DDF FF -dep 3DE0 FF -dep 3DE1 FF -dep 3DE2 FF -dep 3DE3 FF -dep 3DE4 FF -dep 3DE5 FF -dep 3DE6 FF -dep 3DE7 FF -dep 3DE8 FF -dep 3DE9 FF -dep 3DEA FF -dep 3DEB FF -dep 3DEC FF -dep 3DED FF -dep 3DEE FF -dep 3DEF FF -dep 3DF0 FF -dep 3DF1 FF -dep 3DF2 FF -dep 3DF3 FF -dep 3DF4 FF -dep 3DF5 FF -dep 3DF6 FF -dep 3DF7 FF -dep 3DF8 FF -dep 3DF9 FF -dep 3DFA FF -dep 3DFB FF -dep 3DFC FF -dep 3DFD FF -dep 3DFE FF -dep 3DFF FF -dep 3E00 FF -dep 3E01 FF -dep 3E02 FF -dep 3E03 FF -dep 3E04 FF -dep 3E05 FF -dep 3E06 FF -dep 3E07 FF -dep 3E08 FF -dep 3E09 FF -dep 3E0A FF -dep 3E0B FF -dep 3E0C FF -dep 3E0D FF -dep 3E0E FF -dep 3E0F FF -dep 3E10 FF -dep 3E11 FF -dep 3E12 FF -dep 3E13 FF -dep 3E14 FF -dep 3E15 FF -dep 3E16 FF -dep 3E17 FF -dep 3E18 FF -dep 3E19 FF -dep 3E1A FF -dep 3E1B FF -dep 3E1C FF -dep 3E1D FF -dep 3E1E FF -dep 3E1F FF -dep 3E20 FF -dep 3E21 FF -dep 3E22 FF -dep 3E23 FF -dep 3E24 FF -dep 3E25 FF -dep 3E26 FF -dep 3E27 FF -dep 3E28 FF -dep 3E29 FF -dep 3E2A FF -dep 3E2B FF -dep 3E2C FF -dep 3E2D FF -dep 3E2E FF -dep 3E2F FF -dep 3E30 FF -dep 3E31 FF -dep 3E32 FF -dep 3E33 FF -dep 3E34 FF -dep 3E35 FF -dep 3E36 FF -dep 3E37 FF -dep 3E38 FF -dep 3E39 FF -dep 3E3A FF -dep 3E3B FF -dep 3E3C FF -dep 3E3D FF -dep 3E3E FF -dep 3E3F FF -dep 3E40 FF -dep 3E41 FF -dep 3E42 FF -dep 3E43 FF -dep 3E44 FF -dep 3E45 FF -dep 3E46 FF -dep 3E47 FF -dep 3E48 FF -dep 3E49 FF -dep 3E4A FF -dep 3E4B FF -dep 3E4C FF -dep 3E4D FF -dep 3E4E FF -dep 3E4F FF -dep 3E50 FF -dep 3E51 FF -dep 3E52 FF -dep 3E53 FF -dep 3E54 FF -dep 3E55 FF -dep 3E56 FF -dep 3E57 FF -dep 3E58 FF -dep 3E59 FF -dep 3E5A FF -dep 3E5B FF -dep 3E5C FF -dep 3E5D FF -dep 3E5E FF -dep 3E5F FF -dep 3E60 FF -dep 3E61 FF -dep 3E62 FF -dep 3E63 FF -dep 3E64 FF -dep 3E65 FF -dep 3E66 FF -dep 3E67 FF -dep 3E68 FF -dep 3E69 FF -dep 3E6A FF -dep 3E6B FF -dep 3E6C FF -dep 3E6D FF -dep 3E6E FF -dep 3E6F FF -dep 3E70 FF -dep 3E71 FF -dep 3E72 FF -dep 3E73 FF -dep 3E74 FF -dep 3E75 FF -dep 3E76 FF -dep 3E77 FF -dep 3E78 FF -dep 3E79 FF -dep 3E7A FF -dep 3E7B FF -dep 3E7C FF -dep 3E7D FF -dep 3E7E FF -dep 3E7F FF -dep 3E80 FF -dep 3E81 FF -dep 3E82 FF -dep 3E83 FF -dep 3E84 FF -dep 3E85 FF -dep 3E86 FF -dep 3E87 FF -dep 3E88 FF -dep 3E89 FF -dep 3E8A FF -dep 3E8B FF -dep 3E8C FF -dep 3E8D FF -dep 3E8E FF -dep 3E8F FF -dep 3E90 FF -dep 3E91 FF -dep 3E92 FF -dep 3E93 FF -dep 3E94 FF -dep 3E95 FF -dep 3E96 FF -dep 3E97 FF -dep 3E98 FF -dep 3E99 FF -dep 3E9A FF -dep 3E9B FF -dep 3E9C FF -dep 3E9D FF -dep 3E9E FF -dep 3E9F FF -dep 3EA0 FF -dep 3EA1 FF -dep 3EA2 FF -dep 3EA3 FF -dep 3EA4 FF -dep 3EA5 FF -dep 3EA6 FF -dep 3EA7 FF -dep 3EA8 FF -dep 3EA9 FF -dep 3EAA FF -dep 3EAB FF -dep 3EAC FF -dep 3EAD FF -dep 3EAE FF -dep 3EAF FF -dep 3EB0 FF -dep 3EB1 FF -dep 3EB2 FF -dep 3EB3 FF -dep 3EB4 FF -dep 3EB5 FF -dep 3EB6 FF -dep 3EB7 FF -dep 3EB8 FF -dep 3EB9 FF -dep 3EBA FF -dep 3EBB FF -dep 3EBC FF -dep 3EBD FF -dep 3EBE FF -dep 3EBF FF -dep 3EC0 FF -dep 3EC1 FF -dep 3EC2 FF -dep 3EC3 FF -dep 3EC4 FF -dep 3EC5 FF -dep 3EC6 FF -dep 3EC7 FF -dep 3EC8 FF -dep 3EC9 FF -dep 3ECA FF -dep 3ECB FF -dep 3ECC FF -dep 3ECD FF -dep 3ECE FF -dep 3ECF FF -dep 3ED0 FF -dep 3ED1 FF -dep 3ED2 FF -dep 3ED3 FF -dep 3ED4 FF -dep 3ED5 FF -dep 3ED6 FF -dep 3ED7 FF -dep 3ED8 FF -dep 3ED9 FF -dep 3EDA FF -dep 3EDB FF -dep 3EDC FF -dep 3EDD FF -dep 3EDE FF -dep 3EDF FF -dep 3EE0 FF -dep 3EE1 FF -dep 3EE2 FF -dep 3EE3 FF -dep 3EE4 FF -dep 3EE5 FF -dep 3EE6 FF -dep 3EE7 FF -dep 3EE8 FF -dep 3EE9 FF -dep 3EEA FF -dep 3EEB FF -dep 3EEC FF -dep 3EED FF -dep 3EEE FF -dep 3EEF FF -dep 3EF0 FF -dep 3EF1 FF -dep 3EF2 FF -dep 3EF3 FF -dep 3EF4 FF -dep 3EF5 FF -dep 3EF6 FF -dep 3EF7 FF -dep 3EF8 FF -dep 3EF9 FF -dep 3EFA FF -dep 3EFB FF -dep 3EFC FF -dep 3EFD FF -dep 3EFE FF -dep 3EFF FF -dep 3F00 FF -dep 3F01 FF -dep 3F02 FF -dep 3F03 FF -dep 3F04 FF -dep 3F05 FF -dep 3F06 FF -dep 3F07 FF -dep 3F08 FF -dep 3F09 FF -dep 3F0A FF -dep 3F0B FF -dep 3F0C FF -dep 3F0D FF -dep 3F0E FF -dep 3F0F FF -dep 3F10 FF -dep 3F11 FF -dep 3F12 FF -dep 3F13 FF -dep 3F14 FF -dep 3F15 FF -dep 3F16 FF -dep 3F17 FF -dep 3F18 FF -dep 3F19 FF -dep 3F1A FF -dep 3F1B FF -dep 3F1C FF -dep 3F1D FF -dep 3F1E FF -dep 3F1F FF -dep 3F20 FF -dep 3F21 FF -dep 3F22 FF -dep 3F23 FF -dep 3F24 FF -dep 3F25 FF -dep 3F26 FF -dep 3F27 FF -dep 3F28 FF -dep 3F29 FF -dep 3F2A FF -dep 3F2B FF -dep 3F2C FF -dep 3F2D FF -dep 3F2E FF -dep 3F2F FF -dep 3F30 FF -dep 3F31 FF -dep 3F32 FF -dep 3F33 FF -dep 3F34 FF -dep 3F35 FF -dep 3F36 FF -dep 3F37 FF -dep 3F38 FF -dep 3F39 FF -dep 3F3A FF -dep 3F3B FF -dep 3F3C FF -dep 3F3D FF -dep 3F3E FF -dep 3F3F FF -dep 3F40 FF -dep 3F41 FF -dep 3F42 FF -dep 3F43 FF -dep 3F44 FF -dep 3F45 FF -dep 3F46 FF -dep 3F47 FF -dep 3F48 FF -dep 3F49 FF -dep 3F4A FF -dep 3F4B FF -dep 3F4C FF -dep 3F4D FF -dep 3F4E FF -dep 3F4F FF -dep 3F50 FF -dep 3F51 FF -dep 3F52 FF -dep 3F53 FF -dep 3F54 FF -dep 3F55 FF -dep 3F56 FF -dep 3F57 FF -dep 3F58 FF -dep 3F59 FF -dep 3F5A FF -dep 3F5B FF -dep 3F5C FF -dep 3F5D FF -dep 3F5E FF -dep 3F5F FF -dep 3F60 FF -dep 3F61 FF -dep 3F62 FF -dep 3F63 FF -dep 3F64 FF -dep 3F65 FF -dep 3F66 FF -dep 3F67 FF -dep 3F68 FF -dep 3F69 FF -dep 3F6A FF -dep 3F6B FF -dep 3F6C FF -dep 3F6D FF -dep 3F6E FF -dep 3F6F FF -dep 3F70 FF -dep 3F71 FF -dep 3F72 FF -dep 3F73 FF -dep 3F74 FF -dep 3F75 FF -dep 3F76 FF -dep 3F77 FF -dep 3F78 FF -dep 3F79 FF -dep 3F7A FF -dep 3F7B FF -dep 3F7C FF -dep 3F7D FF -dep 3F7E FF -dep 3F7F FF -dep 3F80 FF -dep 3F81 FF -dep 3F82 FF -dep 3F83 FF -dep 3F84 FF -dep 3F85 FF -dep 3F86 FF -dep 3F87 FF -dep 3F88 FF -dep 3F89 FF -dep 3F8A FF -dep 3F8B FF -dep 3F8C FF -dep 3F8D FF -dep 3F8E FF -dep 3F8F FF -dep 3F90 FF -dep 3F91 FF -dep 3F92 FF -dep 3F93 FF -dep 3F94 FF -dep 3F95 FF -dep 3F96 FF -dep 3F97 FF -dep 3F98 FF -dep 3F99 FF -dep 3F9A FF -dep 3F9B FF -dep 3F9C FF -dep 3F9D FF -dep 3F9E FF -dep 3F9F FF -dep 3FA0 FF -dep 3FA1 FF -dep 3FA2 FF -dep 3FA3 FF -dep 3FA4 FF -dep 3FA5 FF -dep 3FA6 FF -dep 3FA7 FF -dep 3FA8 FF -dep 3FA9 FF -dep 3FAA FF -dep 3FAB FF -dep 3FAC FF -dep 3FAD FF -dep 3FAE FF -dep 3FAF FF -dep 3FB0 FF -dep 3FB1 FF -dep 3FB2 FF -dep 3FB3 FF -dep 3FB4 FF -dep 3FB5 FF -dep 3FB6 FF -dep 3FB7 FF -dep 3FB8 FF -dep 3FB9 FF -dep 3FBA FF -dep 3FBB FF -dep 3FBC FF -dep 3FBD FF -dep 3FBE FF -dep 3FBF FF -dep 3FC0 FF -dep 3FC1 FF -dep 3FC2 FF -dep 3FC3 FF -dep 3FC4 FF -dep 3FC5 FF -dep 3FC6 FF -dep 3FC7 FF -dep 3FC8 FF -dep 3FC9 FF -dep 3FCA FF -dep 3FCB FF -dep 3FCC FF -dep 3FCD FF -dep 3FCE FF -dep 3FCF FF -dep 3FD0 FF -dep 3FD1 FF -dep 3FD2 FF -dep 3FD3 FF -dep 3FD4 FF -dep 3FD5 FF -dep 3FD6 FF -dep 3FD7 FF -dep 3FD8 FF -dep 3FD9 FF -dep 3FDA FF -dep 3FDB FF -dep 3FDC FF -dep 3FDD FF -dep 3FDE FF -dep 3FDF FF -dep 3FE0 FF -dep 3FE1 FF -dep 3FE2 FF -dep 3FE3 FF -dep 3FE4 FF -dep 3FE5 FF -dep 3FE6 FF -dep 3FE7 FF -dep 3FE8 FF -dep 3FE9 FF -dep 3FEA FF -dep 3FEB FF -dep 3FEC FF -dep 3FED FF -dep 3FEE FF -dep 3FEF FF -dep 3FF0 FF -dep 3FF1 FF -dep 3FF2 FF -dep 3FF3 FF -dep 3FF4 FF -dep 3FF5 FF -dep 3FF6 FF -dep 3FF7 FF -dep 3FF8 FF -dep 3FF9 FF -dep 3FFA FF -dep 3FFB FF -dep 3FFC FF -dep 3FFD FF -dep 3FFE FF -dep 3FFF FF diff --git a/RTX2001A/rtx2001a.doc b/RTX2001A/rtx2001a.doc index 92dc0b3a7374659e0448ccff84aa9c93477dc031..d8784e5fa871f4283ce11ac869a20814980b802e 100644 GIT binary patch delta 12814 zcmciJ30zfW-oWwa0s@*SAfO`371vOaMHCcwQQR#xwM@MN!Zj8Jm+Y;smMx~uBu_eN zmeyo5V=gF8PD-Y^G?f*JX)X!sh>eQcBF;D_@9%#v2QOD~d}ltrkA2U1&Uw!BoM$`d zo_j9Mf6;yZdiPf%&C^s>@Kq|Es0lYKD=TGhDhm8|<(u-{LfjI;ZIj&uuAY8dOMo3S8#9i!AF0fe?P?rv~cXNZGD;absV?Ctkjbn z8rV{)KCDMk4#lVkSxdOXI{dbT*6dlZAi zc6A{ibD}yVP`d!O-eOJR_TiPp0UXzb^=^7u!UyD!U@hBbrQFryQThjufkUJo12~&; zoE$5`=!L>)rRKA3w9r@^yBq#B{SMAX-oM4R$0( zYnyL7M`E-iF-8)5*$1S=Q_CpFEQJ1aG(wya$pS-VKHyVF zBX6wajj`vAlf3;b$&aPwWY5k@sU=^WQ$9z}#oO~)r)F5Q({d~`(&yEZGv3Hq;QLy^ zlYYJ3y>n(g9vvAOWhwY5V1Rq@=>DS;Cnt^{Jf?2ls)5VSF{eImon*1K8`wT&1#Cb7GDc5bTKVvdb8C(ldHNaeT;%RKX3>#TJ1taJt= zal`;)Fe1zY?S)%1XJn*yv?ou?&dA7~Yt2eCj;Eh*K7g$7c*x$#qOjs$i80WKwo6 zH6J#zZ*>jL(@33W&0xY>v&@6DW~FABlM=_v?o7+92&0&EQmwPbSuGjXCmb_f@|ZI? zwWI2NM~xad^1(4l5t7-OX-P{pPn}1dr&(raP>j!LX+qT$HCI=%uA`O(b;JJQrDu4j zX;XM-H&s_hga=2cdP)t#w;Vty~@D_f1Bz&-W zgM`g1mpr?K517V%{DRWgx9_VmlaxmmW_z2O1*ThuoKTMakwZe9(^|VvmwSoR5qe;U z4@{l&Iwk})XviHC`w+WdwNt3B%0P^WcztxiB>1EumJUW`9~ ztM>efnJP)1KZYKko(h3hLt#En;g{ zcdWO`sWs~M2DWqLjOg6OCQYw-d~-(&jq+Vm1FH8spW^@4V@mqeaZ;Pn=PKOZIO$s& z=hVGU2OGzR{h3aCAKUO39Kts^j3c;+a$Le?T!R;b;*Gkfhx<^!VG7fPh>ToA_@X&F zq7x#}8A%w7AsC9$NJa`SeEZq%&))m?vo%ZC5Nu1=Ed5q??f%Sa?BgS@wawAKOFZ)Y z+xArr^i0RG)gAs{4U(E<7&7o87U3l<#_#bC*5X}k#7=yKUD%C}u?Kr0*W!MBf;0FV&Z5l5;wSu!t0+HN zd~(du$--ERes+tFi=>ff=A%s5+^bZ!N1q5*frhVX?S{Lu&jkUM4&8Y2c> z5R0xDfJ6+$AdJLhOo0Vck&G0iLhih2NcXiVwUEejcpg^?XAWIGw0pzu)yr4U-@W?k zA=#Bxy=%Oxx=0Rt-pjB!`e1_N*gN$>GMAlWoKMubmjZv~alV%ko$RRSomxXt5nj)Vw&Ow((wMcgi=5TNOIMvd8$5;Lt}-<(T3j|BLZ2>alq{He!I?V?S;fnwmo!FRoYs8=zhT%a>g3-Z` z5zoL3%!kq8&k}zQi?IYU0Iy=1Uz$?OiToaG@h;xS$B@w}!a)?{1ir&*l%wKG>EXi% z?cqz7Umn~mVcWsI>(;H?yKarvdhen|i}WH{F5)4klc#@BddJ@FbbhxEx=mD}t&@}@ zY_c;#W3!K13$Rw=81oVU#8lf3FLndcW^hO^HLK0-cW*`$;n1i`^0#9QxmS81b zPh+tPf519yz(#Dwxno89_ZRIiV);SQCVTi`lRZ+k>DW3}B>VO|HmVNTv`He8plbBD zpPn8Spu0u|>)*sirl>@ztJGy5ZXkg-Ksk69hv6N_lP*Hg99_{3>9C>^@5RjMfT_s9 zOyr;lUkB->3HR$Y3Bj@Vc%fc!zDmmUQm*@s@xeMY-bcR?=VSfKIr-Pz&`-vP=$-L> z^_dudTN4?My;c2mko6&agHn{?9IoSEkbbO$Fa76-AT&cbq<@EC1SY|XnUFrW;bpvq zcd!;R4qF3ck`gJzUVH-?oRcWSIs6PS2E-V!X2gv_3nd^(o#-L^r zUyX{2zgLv-uOgL$wYSf^ zo!y%2%dx(;1Sx$T_TVfUFjf2^)2RhQ;X18mu+NxU3y3emZ}2w$fc^Lij%i2F5HH7N z{0mJRD;12;#&l;JBApS5D9l6-{s+IsD|iE|u?Fjqk8Su1KE`pJzy&qKb6>t#KrClC1Asl`SkrGe5gX@FE*Dl3(fiWzlymbk`N9KuiVYpPTaq+l^N zV@p$Q>DkqK#Jlmvu9J=uXuvmi#}Q1M7`3ZwI122j{d%9WBo>aTU!$uwPzr` zmWMm_Tz7iQx%XDGonPIHeCs5B8CUQFe#BK&pmQ)&6jA7o!5D&}m=Mf7euT)gScvD4 z2aQ+pM--wAjrc(%65TNtPhvF+u^$&vfot&N_nbI%$0R(DKcWzy;ymtau2g(K7T3y4 zox^v5HZh++Kb zHXM7f7o|9b3S2|4R@{;B99H6W{2tf!(&(n9tFp9Rp)S>-#zu`Nz#1v1t1}QedT$#= z&WGJ9&BpE;C#tdWiF2mfH$HYg?890&6tD2oQie6nVg9&P#Re%}5!|}ip1ZG*XE)ii zrp_c(9bV&@#ZQf?I>xv}DN^rC47UZzs5XZ&VBLxLg)wjgi4VtUjKRY&1~Z5FY`ltP zcpYzI9X6r>JMj^|z*i{3A$)_9mh@#Ak#o2J#SAdP4b5RjE3`%w`e7)HSu~FLL`*_D zUcswai$B4bWhKOonRbczW!Pt&jYtC1OQu~vSdfZoNQV`fn2EV~7OvCtZT9{2)8z{n z&YdYKIa6|`ws5>EoG~J-)4%+ZOoY#Fg%U~k3`!q9t1Wknz;qe?Ap3IU5Kr|0CP8t8 zeO|D(PXX3BDWBW-_nOVrW!rxDWBre(&g(V(o7qN5Rpn}W2OF^o`Phn2@D6jFXJwjspJM`gsVnG*0=6)Y@BmWsePkHo_j0JO&!zkMK{&kqJ0b#Yd=BlDaY=uhR1k! z6r$G-?xM>_`rAC@hFY3Dwd#gyzcbqR*)O8TGXCQ*11qo-A3=I|H}>Ll9KmT^!4EKc zKC~ToEwn@!I-(Pv!LzU}WbqtU;24g>7_Q62WypTOj~K|14MGwIV>m|Of3OsJFot&p z@l}vveiN(lC#*vm&f)v^jQ!tW>ngo!)z-4I!osp^99mdbcJ0zNp1Gy#g6vEAK~A~h6Zw7wTr@8YH3xAI8}x+Z-X5~DB<<6*&6BqIe`$i@n+#|CV~CR{{0F5xn6q7o{c2Q>6R z0&X<_$Itw`QO>`!H*VZ0FTZi)>vp_LdVIkTqvO4{ zObzuisRFaLv&qy)kDC6LX{7#f`pZ1L&VOu~XCIStQv&<@I(9O1f~lpB%Q|XmsQt4Sn9K#QW*_shCGfD(frk~jZQ1{% zjw?g{07L$sKz@vtpDN{7LV2SvueRmQp}g*rR|WEwMIP1U6I||5GT~+N@vcUZteS!^ z>#7;J7!}`MR4A$*suUjz#O&;duqe$kZ zoTxE}N*&m(*sb{FQPe|mH<3p1mvqgZ?roEwEz42Yi!b`9j|PaqV5A}q>6ng}@D6t2 zW9-2`oW;-ZrHlO02!V)2A}mNo3Z~(Ca7f0cP!KQTDVk zDqAJH<|#oi^Y>s`{~yWJ%*?k;KZdGlu`U1W9& zPbNV;fQe9t!S2Oi6S!BXKH6h@yP0nxUqI)Xzf9==erernAhGt#{F-bKariDY6HuVI^0m`MNjz?0cqMRy>8pv ztDwp9$tKSZ6w)C~{w`SW_}x~IL*Wfu>D<@$ZCN?YWa_GizurD>L`AqXtPj+b-X3+L zj+*T8=||Ve-)g(Fo5@G_InFC|9Gxf8_ZmiEY^|r_MZuqMy!5({O z<3&?EvES8==F>v*N9(Bk*k;DnfLZ~sph&veh;UXMc+!XAK@lBogc#r{Khu)%G(y)w2t2rbvCY(B>&!ekxu+@uAH$Nnii)3Da0Td#BCxXu;K; H_tp7d1AUru delta 7486 zcma*s31CfE{=o5bvq`E?)`vtS4-ui2ga}$o2pW4x>}ynQwXbbsd1$AoJx6CKoni2& zGiV}B)e@p&SFNorW`qpWW+YUrX^__c`+F}pg0?d!`P_5vJ$E_hch9@`zWe5GbDg`; zbw#vouqsPFN)4rG;FpIFAIj1}$n-s%Zlt*cyKD^CAue?+-Ico9{?bsfF+|^S3(@0T z((JP4r5Z}LC!a$u$*Yl4xh_hD1S@rd`ESW3{Z@XcrcyhopB$o86Y|aEvdO||rPz&n zhg{OHRmTxvyY6kN=*nw5|bn$=Y)v_iY3}LovZ8@?eGe5|YC7Jn- zXkF?WVmBM^taNtdGBbzRZ&mWaHfPO~x$MS+xSB^b_w(eubhKhJ_fxh^|Ke7^q1mM0 zT35DN#s&eAN{!aTJiFL)C{;|HTgS=uIe4?nyNxc&`F138`O#3NUS!EEw(}{glWZET z3n0HpE)A8_D`^Sq$?3XBlqDH9rR0z@PtjH7L^4cX>MZSO&(X~FSjCadD7dlHNh~pY zXy#@V%z4h)9k=k>k7k{_G3VtZOX8fdntPOu)=;YRqPfD8x!I2=mp_`=Q6p?)CfKHq89&-Kb@-Gqlcw25 zPMk7+*tE=5{_(DEvOM!j)%LELt%5wfJll_$F=qG(Te9v|XS<8VqFuteWNxZkTuB>| zQB4gmK5hs@T_m7L@@JI#8bwH`tW;kVA>mo_XLV|1cunsr3>o;s5B`WkG#csb$XXG* zGq#g5-dpnKlJOFd1}>iSTwj%vho@m3o%Z~9s_N*2F{L^uCLqMuQB>nQDz^!k?rGGh zxXSw2K(EI(&;z128x7K;Tl#&%0r%iIPQc$=8;SMx%;@E@JLF(y+GZ9cf2?Lp#hNX; zXRAPcwNz?C#idGe!UwnRgQQ4y5jzwHvs$1(g zI{6x7pHBLE&U5zgPIIf@eU9>U$E!cx@p{f}QeLR7UySi{l?Wxq)NtgDVy%stuNWp( zF-|JFb8y8<>5wky?)!V8E)8?;47bV6rzL3bph7kXnj#$h7fKq_WpA>P4ati=}G z`R3Z0qel-p(t$&V4jjsowDnNd+O=!5{MW8rkV?u*WtpR}V1Yi{p`nh8%h3m3tT{+U zn;mdA*x5d5n;dg1&cX0ugku~w;4G}ZTF#A0O=osPzT|Ng2bRL;?WLCKAhk|6vje=GaGYY$1-TFhXgGh z8Q6(~I0Fgfe{d6pC_w;$l;GAz80zAAG=v1aCz6nify0;#!cYvyB*+=Dqqv|rub6an zPhNU@UV0wW0>^@4v!-m;x!#^UD$||ivMpIr>DF=4`gGf9y}oTVT|X{J-|paJ?;!i1 zi+Nar9J$EIl1ZO>4S|Mb##XmJ%N~p$JNw}<9u~t z2mc{$q{(Iz&E}cSGMjLhqZ>S{Jd1Ydh9o2-13Pga58!L%QiWs`>xnG`joW%+bfA`x zqG@KdMO)fg(%J=8__suytN4LCU2*2In!`K@)YN}rf9E?rr!(5Mv{#kzEXF1r!EO8i zY4}4t+4!C`)a<~^lwZX}yorU_f^?XjJ4*R9zQ8|VcGiPV`dAqtX0MaVdOnDJ5+-8~ z=3*WeVNN=?$F`9(DD9VaO8cZu z(hkQl$vdGxQt=*k<0}}|XdimwHN1{pD8^6lsZPAm8C}r7x}F%{RL_YIa$KF~$W@y1 zocMZWn2&9^h+@vM4ve!)t$!cXNF0&PibrhO8d{EB)E z18=>nn~y#C*Y+`#{mjQ!9Kto^qb6Te`(rNVVLrCuFpl6Tj^hMA#}!<~HQc~AD8W5E zKxs|RzvAnu3j$z8HB?71LeL0}(FC!00WFY-9!Nqm`l3IkU@E3#22wE#f5e}#2Jhj| zSl^t8A#+eO~MtGq*0z>&)k*EKX7^L^LwCHV#7QL>k)AFuC z`e(Nw{Z(>=y^>PyVTMPTG3u3iEgG_!xsPh)`{AlcxiNYo3H>k-qc9eeFcY)z4whgk zRw51Suo0WE71`L21EF@JO5rlD;2QFA8(uc0oQ-#~avz50Q>6oW})} z{+HC`QGH2Csr)l3Pj@916!I&!gH~eTNQD3M57cAn`NfWX8zsyV)(X zJJJgD`F-^~-J}a?6n0$YZyS*gRDsovlz-zcZul z@!@iVGV&+|$}LB)?cc=H%|(rRW%2A@`dX(zos;ZtuP*Vsh=1Zc+`$hhMHL$F4J#sG zcIYL_3FwGUNJcM=$6oA1HumEy)TQI$kU&J>IW$J=I(BwIp)dNujMCeb7hoY4L1PsP z@E_bnA=(nbc$iV`Ls=r*5B;$nJMbaW@ev-4h0>BceT!}s6%}2%QdD%~!i5_plpU$` zbjcCM$DNXrBiTnvi>?%9Wn^UhU)K8-gHM^K5n{>HNMx_(jxW&4>iD96*U(7=!{v@t zJ7N^o3FG!kwca$)rau|%r&srFpr`fqvvajdNIj`qNVBq#j}qL2b8ztdQdcQAxWfZJ z@I^OtM*$8r@hfjNau5x*uiqUt5Pw}ZRPycEd zdf2G=%qnBQ_sGoI{-wvxDWR2&Hkr0Jq6{NN_ekAfOw`|}E;Vd=?#y>RQVia2x7WjF zS#|WR=UC`7J4nx%RjaJDv%GYRQVO*#%4$Z=HrM%UdFjgR{)VBO&$(zsX+QfsLuIbA zU$WRYatoWqn33Q+-t>BMW3NJhATJ3VUs?I)Ay1?7L?X8+xj4w+lye-wc2ucq;5kq6 zEa!MR&u*0se9jfCD&ow>&Nn~uRZSksc?yekJQ~U6RL+j4;lbf7{P59BO;p2GBh}b(&dbg_bH7~|qa)HL+xM`8o4gT? zp^?HyL&kA%`SC)M0T=FRu5g1pjv69#afS!4WSfgAEY`vjtUzl{L_CIJ46?8r zIXDJ+EdB@9(8vu~MCX=bbBLj|ZB=rEU`2DJwe;)(d}vevW-+oB;RNJW)8-JpVO2m^ zSv7(Ec88qJ__DLNv@8g&%8lO*OuxT&ru)0Qyc1<;5?&d3>V|AUk|BGtilLs5tEYzA z8z_19+SjLEYJ4(0s`(ZuF^VrU9T@9m&?zTOm`O7V~$j7M- zR7#wiJHP5U$}1*E$uB&NJ&q+m#W;^Gxg6g$Gh=&V6`kVZmbNd~Pud_g(k96{?3erc zxU6>9k=gOq9_%2xtR`61cdQYjS01dU*JZCZYB)+=_pdgpJ4&Vd(+#VmlzZTq;pZrA z$|*FwDgB8nsnxN)r*8CVY>mgSoN{Ed-bLywTxlEA-Z-zcQ|sL12THyER7grq){aJ8*sp`$rKIn^n=#K#y2&w-WL-d-@My*Ts>xcjV diff --git a/RTX2001A/rtx2001a_ab.c b/RTX2001A/rtx2001a_ab.c index 1634b3355..02ecb00f8 100644 --- a/RTX2001A/rtx2001a_ab.c +++ b/RTX2001A/rtx2001a_ab.c @@ -26,7 +26,6 @@ 9-Sep-22 SYS ASIC bus routines */ -#include #include "rtx2001a_ab.h" #include "rtx2001a_execute.h" @@ -156,7 +155,7 @@ t_stat gfetch(t_addr offset, t_value *data) sim_debug(DBG_ASB_R, &cpu_dev, "I=0x%X\n", asic_file[I]); if (!EXIT) { - rs_pop(data); + rs_pop(); } return SCPE_OK; @@ -520,8 +519,8 @@ t_stat gstore(t_addr offset, t_value data) } if (data) { - // @TODO: SIMH virtual console write putchar(data); + // @TODO: SIMH virtual console write return SCPE_OK; } else diff --git a/RTX2001A/rtx2001a_decode.c b/RTX2001A/rtx2001a_decode.c index c4b765683..3bd8a01db 100644 --- a/RTX2001A/rtx2001a_decode.c +++ b/RTX2001A/rtx2001a_decode.c @@ -164,7 +164,7 @@ t_stat decode_alu(t_value instruction, machine_op *opcode) */ t_stat decode_branch(t_value instruction, machine_op *opcode) { - *opcode = NIL; + *opcode = (machine_op)NIL; switch (instruction & 0xF800) // which type of branch instruction { case 0x8000: diff --git a/RTX2001A/rtx2001a_execute.c b/RTX2001A/rtx2001a_execute.c index e473e0e19..85fdc126c 100644 --- a/RTX2001A/rtx2001a_execute.c +++ b/RTX2001A/rtx2001a_execute.c @@ -978,7 +978,7 @@ void (*dispatch_vector_2[NUMBER_OF_ROUTINES])() = t_stat execute(t_value instruction) { - machine_op opcode = 0; + machine_op opcode = (machine_op)NIL; t_stat status; if (SCPE_OK == (status = decode(instruction, &opcode))) { @@ -1018,7 +1018,7 @@ void print_instruction(t_value instruction, t_value page, t_addr address) #define PREFIX \ ((second_cycle && !STREAM) ? "2nd " : "") - machine_op opr = 0; + machine_op opr = (machine_op)NIL; if (SCPE_OK != decode(instruction, &opr)) { return; diff --git a/RTX2001A/rtx2001a_execute.h b/RTX2001A/rtx2001a_execute.h index 0c033b942..d46aa6fcc 100644 --- a/RTX2001A/rtx2001a_execute.h +++ b/RTX2001A/rtx2001a_execute.h @@ -69,7 +69,7 @@ extern void do_store_lit_2(); extern void bad_insn(void); extern void D_swap(); -RTX_WORD clocks; +extern RTX_WORD clocks; extern t_value STREAM; extern t_value stream_mode; extern t_value second_cycle; diff --git a/RTX2001A/rtx2001a_registers.h b/RTX2001A/rtx2001a_registers.h index c1c6fb2c1..ffda7c19f 100644 --- a/RTX2001A/rtx2001a_registers.h +++ b/RTX2001A/rtx2001a_registers.h @@ -159,7 +159,7 @@ struct ConfigurationRegisterFields RTX_WORD il : 1; // 15: Interrupt Latch }; -union ConfigurationRegister +static union ConfigurationRegister { struct ConfigurationRegisterFields fields; RTX_WORD pr; @@ -224,7 +224,7 @@ static BITFIELD imr_bits[] = { // Table 4.7, pg 51 BITNCF(2), // 14-15: Always reads as O. ENDBITS}; -union InterruptMaskRegister +static union InterruptMaskRegister { struct InterruptMaskRegisterFields fields; RTX_WORD pr; @@ -244,7 +244,7 @@ struct StackPointerRegisterFields RTX_WORD mbz1 : 2; }; -union StackPointerRegister +static union StackPointerRegister { struct StackPointerRegisterFields fields; RTX_WORD pr; @@ -276,7 +276,7 @@ struct StackUnderflowRegisterFields RTX_WORD rsu : 5; // 11-15: Return Stack Underflow Limit, 0 - 31 words from stack bottom }; -union StackUnderflowRegister +static union StackUnderflowRegister { struct StackUnderflowRegisterFields fields; RTX_WORD pr; @@ -310,7 +310,7 @@ struct InterruptVectorRegisterFields RTX_WORD vec : 5; // 10-15: Vector }; -union InterruptVectorRegister +static union InterruptVectorRegister { struct InterruptVectorRegisterFields fields; RTX_WORD pr; @@ -334,7 +334,7 @@ struct StackOverflowRegisterFields RTX_WORD mbz1 : 2; // 14-15: Reserved }; -union StackOverflowRegister +static union StackOverflowRegister { struct StackOverflowRegisterFields fields; RTX_WORD pr; @@ -364,7 +364,7 @@ static BITFIELD ipr_bits[] = { // Fig 10, pg 9 BITNCF(11), // 5-15: Reserved ENDBITS}; -union IndexPageRegister +static union IndexPageRegister { struct IndexPageRegisterFields fields; RTX_WORD pr; @@ -385,7 +385,7 @@ static BITFIELD pr_bits[] = { // Fig 10, pg 9 BITNCF(12), // 4-15: Reserved ENDBITS}; -union DataPageRegister +static union DataPageRegister { struct PageRegisterFields fields; RTX_WORD pr; @@ -395,14 +395,14 @@ typedef union DataPageRegister DPR; /** * User Page & Base Address Registers */ -union UserPageRegister +static union UserPageRegister { struct PageRegisterFields fields; RTX_WORD pr; } upr; typedef union UserPageRegister UPR; -union CodePageRegister +static union CodePageRegister { struct PageRegisterFields fields; RTX_WORD pr; @@ -426,7 +426,7 @@ struct InterruptBaseControlRegisterFields RTX_WORD ivb : 5; // 10-15 RW Interrupt Vector Base, MA10 - MA15 }; -union InterruptBaseControlRegister +static union InterruptBaseControlRegister { struct InterruptBaseControlRegisterFields fields; RTX_WORD pr; @@ -463,7 +463,7 @@ struct UserBaseAddressRegisterFields RTX_WORD adr : 10; // 6-15: User Memory address }; -union UserBaseAddressRegister +static union UserBaseAddressRegister { struct UserBaseAddressRegisterFields fields; RTX_WORD pr; diff --git a/RTX2001A/rtx2001a_sys.c b/RTX2001A/rtx2001a_sys.c index c426c0e7a..d7d9788a3 100644 --- a/RTX2001A/rtx2001a_sys.c +++ b/RTX2001A/rtx2001a_sys.c @@ -223,47 +223,6 @@ t_stat parse_sym(CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 return SCPE_OK; } -#include - -#define BYTE_TO_INT(byte, value) \ - { \ - char *me = (char *)&byte; \ - if (*me >= '0' && *me <= '9') \ - { \ - value = (*me - (int)'0') << 4; \ - } \ - if (*me >= 'A' && *me <= 'F') \ - { \ - value = (*me + 10 - (int)'A') << 4; \ - } \ - if (*me >= 'a' && *me <= 'f') \ - { \ - value = (*me + 10 - (int)'a') << 4; \ - } \ - me += 1; \ - if (*me >= '0' && *byte <= '9') \ - { \ - value |= (*byte - (int)'0'); \ - } \ - if (*byte >= 'A' && *byte <= 'F') \ - { \ - value |= (*byte + 10 - (int)'A'); \ - } \ - if (*byte >= 'a' && *byte <= 'f') \ - { \ - value |= (*byte + 10 - (int)'a'); \ - } \ - } - -#define WORD_TO_INT(word, value) \ - { \ - int hi = 0; \ - int lo = 0; \ - char me2[4] = &word; \ - byte_to_int(me2, hi); \ - byte_to_int(me2[2], lo); \ - value = lo << 8 | hi; \ - } void byte_to_int(char *byte, int *value) { if (*byte >= '0' && *byte <= '9') @@ -325,7 +284,7 @@ t_stat sim_load(FILE *fptr, const char *buf, const char *fnam, t_bool flag) int len; int address; - fread(&header, sizeof(header), 1, fptr); + int bytesRead = fread(&header, sizeof(header), 1, fptr); while (!feof(fptr)) { if (':' != header.leader) @@ -344,7 +303,7 @@ t_stat sim_load(FILE *fptr, const char *buf, const char *fnam, t_bool flag) memset(cargo.address, '\0', sizeof(cargo.address)); memset(cargo.type, '\0', sizeof(cargo.type)); memset(cargo.body, '\0', sizeof(cargo.body)); - fread(&cargo, (len * 2) + 10, 1, fptr); + bytesRead = fread(&cargo, (len * 2) + 10, 1, fptr); if (feof(fptr)) { sim_messagef(SCPE_INCOMP, "unexpected EOF, "); @@ -365,7 +324,7 @@ t_stat sim_load(FILE *fptr, const char *buf, const char *fnam, t_bool flag) header.leader = '\0'; memset(header.len, '\0', sizeof(header.len)); - fread(&header, sizeof(header), 1, fptr); + bytesRead = fread(&header, sizeof(header), 1, fptr); } if (':' != header.leader)