summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroharboe <oharboe>2008-05-06 06:39:21 +0000
committeroharboe <oharboe>2008-05-06 06:39:21 +0000
commit6c7ee841131808466eb0c93e5c8f112771004fbf (patch)
treed329cf4cc6f115b99ce24890828bef322e2db6f1
parent3d2b8306640ae65aa9b48f70f50c3396324455be (diff)
downloadzpu-6c7ee841131808466eb0c93e5c8f112771004fbf.zip
zpu-6c7ee841131808466eb0c93e5c8f112771004fbf.tar.gz
* Small ZPU now supports interrupts
* added simulation example demonstrating interrupts
-rw-r--r--.settings/org.eclipse.core.resources.prefs3
-rw-r--r--zpu/ChangeLog3
-rw-r--r--zpu/docs/zpu_arch.html9
-rw-r--r--zpu/hdl/example/bram_dmips.vhd (renamed from zpu/hdl/zpu4/src/bram_dmips.vhd)0
-rw-r--r--zpu/hdl/example/interrupt.vhd3122
-rw-r--r--zpu/hdl/example/log.txt58
-rw-r--r--zpu/hdl/example/sim_small_fpga_top.vhd19
-rw-r--r--zpu/hdl/example/simzpu_interrupt.do29
-rw-r--r--zpu/hdl/example_medium/.cvsignore4
-rw-r--r--zpu/hdl/example_medium/dram_dmips.vhd (renamed from zpu/hdl/zpu4/src/dram_dmips.vhd)0
-rw-r--r--zpu/hdl/example_medium/dram_hello.vhd (renamed from zpu/hdl/zpu4/src/dram_hello.vhd)0
-rw-r--r--zpu/hdl/example_medium/simzpu_medium.do14
-rw-r--r--zpu/hdl/example_medium/zpu_config_trace.vhd (renamed from zpu/hdl/zpu4/src/zpu_config_trace.vhd)0
-rw-r--r--zpu/hdl/index.html5
-rw-r--r--zpu/hdl/zpu4/core/zpu_core_small.vhd83
-rw-r--r--zpu/hdl/zpu4/core/zpu_core_small_wip.vhd498
-rw-r--r--zpu/hdl/zpu4/src/bram.vhd3807
-rw-r--r--zpu/hdl/zpu4/test/interrupt/int.binbin12232 -> 12232 bytes
-rw-r--r--zpu/hdl/zpu4/test/interrupt/int.c7
-rw-r--r--zpu/hdl/zpu4/test/interrupt/int.elfbin150454 -> 150458 bytes
-rw-r--r--zpu/hdl/zpu4/test/interrupt/int.ram4380
21 files changed, 5489 insertions, 6552 deletions
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 197db03..0000000
--- a/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 04 22:37:24 CEST 2008
-eclipse.preferences.version=1
-encoding//zpu/hdl/zpu4/core/zpu_core_small_wip.vhd=UTF-8
diff --git a/zpu/ChangeLog b/zpu/ChangeLog
index 7d881d9..e7bbb93 100644
--- a/zpu/ChangeLog
+++ b/zpu/ChangeLog
@@ -1,3 +1,6 @@
+2008-05-06 Øyvind Harboe
+ * Small ZPU now supports interrupts
+ * added simulation example demonstrating interrupts
2008-05-05 Øyvind Harboe
* added eCos HAL for ZPU
zpu/zpu/sw/ecos/repository
diff --git a/zpu/docs/zpu_arch.html b/zpu/docs/zpu_arch.html
index 8582afb..021e987 100644
--- a/zpu/docs/zpu_arch.html
+++ b/zpu/docs/zpu_arch.html
@@ -2,12 +2,18 @@
<body>
<h1>Index</h1>
<ul>
+<li> <a href="#started">Getting started</a>
<li> <a href="#introduction">Introduction</a>
<li> <a href="#instructionset">Instruction set</a>
<li> <a href="#vectors">Jump vectors</a>
<li> <a href="#memorymap">Memory map</a>
<li> <a href="#interrupts">Interrupts</a>
</ul>
+<a name="started"/>
+<h1>Getting started</h1>
+The ZPU comes with a few simulation examples.
+<p>
+Start with <a href="../hdl/index.html">VHDL synthesis examples</a>
<a name="introduction"/>
<h1>Introduction</h1>
The ZPU is a zero operand, or stack based CPU. The opcodes have a fixed width of 8 bits.
@@ -802,5 +808,8 @@ rather uncommon operations. These 32 registers are mapped to memory locations 0x
0x4, 0x8, 0xc. The default interrupt vector at address 0x20 will load the
value of these memory locations onto the stack, call _zpu_interrupt and
restore them.
+<p>
+See zpu/hdl/zpu4/test/interrupt/ for C code and zpu/hdl/example/simzpu_interrupt.do
+for simulation example.
</body>
<html> \ No newline at end of file
diff --git a/zpu/hdl/zpu4/src/bram_dmips.vhd b/zpu/hdl/example/bram_dmips.vhd
index 1d62d21..1d62d21 100644
--- a/zpu/hdl/zpu4/src/bram_dmips.vhd
+++ b/zpu/hdl/example/bram_dmips.vhd
diff --git a/zpu/hdl/example/interrupt.vhd b/zpu/hdl/example/interrupt.vhd
new file mode 100644
index 0000000..821e29a
--- /dev/null
+++ b/zpu/hdl/example/interrupt.vhd
@@ -0,0 +1,3122 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+
+library work;
+use work.zpu_config.all;
+use work.zpupkg.all;
+
+entity dualport_ram is
+port (clk : in std_logic;
+ memAWriteEnable : in std_logic;
+ memAAddr : in std_logic_vector(maxAddrBitBRAM downto minAddrBit);
+ memAWrite : in std_logic_vector(wordSize-1 downto 0);
+ memARead : out std_logic_vector(wordSize-1 downto 0);
+ memBWriteEnable : in std_logic;
+ memBAddr : in std_logic_vector(maxAddrBitBRAM downto minAddrBit);
+ memBWrite : in std_logic_vector(wordSize-1 downto 0);
+ memBRead : out std_logic_vector(wordSize-1 downto 0));
+end dualport_ram;
+
+architecture dualport_ram_arch of dualport_ram is
+
+
+type ram_type is array(natural range 0 to ((2**(maxAddrBitBRAM+1))/4)-1) of std_logic_vector(wordSize-1 downto 0);
+
+shared variable ram : ram_type :=
+(
+0 => x"0b0b0b0b",
+1 => x"82700b0b",
+2 => x"80cfe00c",
+3 => x"3a0b0b80",
+4 => x"c6e00400",
+5 => x"00000000",
+6 => x"00000000",
+7 => x"00000000",
+8 => x"80088408",
+9 => x"88080b0b",
+10 => x"0b8af02d",
+11 => x"880c840c",
+12 => x"800c0400",
+13 => x"00000000",
+14 => x"00000000",
+15 => x"00000000",
+16 => x"71fd0608",
+17 => x"72830609",
+18 => x"81058205",
+19 => x"832b2a83",
+20 => x"ffff0652",
+21 => x"04000000",
+22 => x"00000000",
+23 => x"00000000",
+24 => x"71fd0608",
+25 => x"83ffff73",
+26 => x"83060981",
+27 => x"05820583",
+28 => x"2b2b0906",
+29 => x"7383ffff",
+30 => x"0b0b0b0b",
+31 => x"83a70400",
+32 => x"72098105",
+33 => x"72057373",
+34 => x"09060906",
+35 => x"73097306",
+36 => x"070a8106",
+37 => x"53510400",
+38 => x"00000000",
+39 => x"00000000",
+40 => x"72722473",
+41 => x"732e0753",
+42 => x"51040000",
+43 => x"00000000",
+44 => x"00000000",
+45 => x"00000000",
+46 => x"00000000",
+47 => x"00000000",
+48 => x"71737109",
+49 => x"71068106",
+50 => x"30720a10",
+51 => x"0a720a10",
+52 => x"0a31050a",
+53 => x"81065151",
+54 => x"53510400",
+55 => x"00000000",
+56 => x"72722673",
+57 => x"732e0753",
+58 => x"51040000",
+59 => x"00000000",
+60 => x"00000000",
+61 => x"00000000",
+62 => x"00000000",
+63 => x"00000000",
+64 => x"00000000",
+65 => x"00000000",
+66 => x"00000000",
+67 => x"00000000",
+68 => x"00000000",
+69 => x"00000000",
+70 => x"00000000",
+71 => x"00000000",
+72 => x"0b0b0b88",
+73 => x"c4040000",
+74 => x"00000000",
+75 => x"00000000",
+76 => x"00000000",
+77 => x"00000000",
+78 => x"00000000",
+79 => x"00000000",
+80 => x"720a722b",
+81 => x"0a535104",
+82 => x"00000000",
+83 => x"00000000",
+84 => x"00000000",
+85 => x"00000000",
+86 => x"00000000",
+87 => x"00000000",
+88 => x"72729f06",
+89 => x"0981050b",
+90 => x"0b0b88a7",
+91 => x"05040000",
+92 => x"00000000",
+93 => x"00000000",
+94 => x"00000000",
+95 => x"00000000",
+96 => x"72722aff",
+97 => x"739f062a",
+98 => x"0974090a",
+99 => x"8106ff05",
+100 => x"06075351",
+101 => x"04000000",
+102 => x"00000000",
+103 => x"00000000",
+104 => x"71715351",
+105 => x"020d0406",
+106 => x"73830609",
+107 => x"81058205",
+108 => x"832b0b2b",
+109 => x"0772fc06",
+110 => x"0c515104",
+111 => x"00000000",
+112 => x"72098105",
+113 => x"72050970",
+114 => x"81050906",
+115 => x"0a810653",
+116 => x"51040000",
+117 => x"00000000",
+118 => x"00000000",
+119 => x"00000000",
+120 => x"72098105",
+121 => x"72050970",
+122 => x"81050906",
+123 => x"0a098106",
+124 => x"53510400",
+125 => x"00000000",
+126 => x"00000000",
+127 => x"00000000",
+128 => x"71098105",
+129 => x"52040000",
+130 => x"00000000",
+131 => x"00000000",
+132 => x"00000000",
+133 => x"00000000",
+134 => x"00000000",
+135 => x"00000000",
+136 => x"72720981",
+137 => x"05055351",
+138 => x"04000000",
+139 => x"00000000",
+140 => x"00000000",
+141 => x"00000000",
+142 => x"00000000",
+143 => x"00000000",
+144 => x"72097206",
+145 => x"73730906",
+146 => x"07535104",
+147 => x"00000000",
+148 => x"00000000",
+149 => x"00000000",
+150 => x"00000000",
+151 => x"00000000",
+152 => x"71fc0608",
+153 => x"72830609",
+154 => x"81058305",
+155 => x"1010102a",
+156 => x"81ff0652",
+157 => x"04000000",
+158 => x"00000000",
+159 => x"00000000",
+160 => x"71fc0608",
+161 => x"0b0b80cf",
+162 => x"cc738306",
+163 => x"10100508",
+164 => x"060b0b0b",
+165 => x"88aa0400",
+166 => x"00000000",
+167 => x"00000000",
+168 => x"80088408",
+169 => x"88087575",
+170 => x"0b0b0b8b",
+171 => x"ab2d5050",
+172 => x"80085688",
+173 => x"0c840c80",
+174 => x"0c510400",
+175 => x"00000000",
+176 => x"80088408",
+177 => x"88087575",
+178 => x"0b0b0b8b",
+179 => x"ef2d5050",
+180 => x"80085688",
+181 => x"0c840c80",
+182 => x"0c510400",
+183 => x"00000000",
+184 => x"72097081",
+185 => x"0509060a",
+186 => x"8106ff05",
+187 => x"70547106",
+188 => x"73097274",
+189 => x"05ff0506",
+190 => x"07515151",
+191 => x"04000000",
+192 => x"72097081",
+193 => x"0509060a",
+194 => x"098106ff",
+195 => x"05705471",
+196 => x"06730972",
+197 => x"7405ff05",
+198 => x"06075151",
+199 => x"51040000",
+200 => x"05ff0504",
+201 => x"00000000",
+202 => x"00000000",
+203 => x"00000000",
+204 => x"00000000",
+205 => x"00000000",
+206 => x"00000000",
+207 => x"00000000",
+208 => x"810b0b0b",
+209 => x"80cfdc0c",
+210 => x"51040000",
+211 => x"00000000",
+212 => x"00000000",
+213 => x"00000000",
+214 => x"00000000",
+215 => x"00000000",
+216 => x"71810552",
+217 => x"04000000",
+218 => x"00000000",
+219 => x"00000000",
+220 => x"00000000",
+221 => x"00000000",
+222 => x"00000000",
+223 => x"00000000",
+224 => x"00000000",
+225 => x"00000000",
+226 => x"00000000",
+227 => x"00000000",
+228 => x"00000000",
+229 => x"00000000",
+230 => x"00000000",
+231 => x"00000000",
+232 => x"02840572",
+233 => x"10100552",
+234 => x"04000000",
+235 => x"00000000",
+236 => x"00000000",
+237 => x"00000000",
+238 => x"00000000",
+239 => x"00000000",
+240 => x"00000000",
+241 => x"00000000",
+242 => x"00000000",
+243 => x"00000000",
+244 => x"00000000",
+245 => x"00000000",
+246 => x"00000000",
+247 => x"00000000",
+248 => x"717105ff",
+249 => x"05715351",
+250 => x"020d0400",
+251 => x"00000000",
+252 => x"00000000",
+253 => x"00000000",
+254 => x"00000000",
+255 => x"00000000",
+256 => x"82c53f80",
+257 => x"c6e63f04",
+258 => x"10101010",
+259 => x"10101010",
+260 => x"10101010",
+261 => x"10101010",
+262 => x"10101010",
+263 => x"10101010",
+264 => x"10101010",
+265 => x"10101053",
+266 => x"51047381",
+267 => x"ff067383",
+268 => x"06098105",
+269 => x"83051010",
+270 => x"102b0772",
+271 => x"fc060c51",
+272 => x"51043c04",
+273 => x"72728072",
+274 => x"8106ff05",
+275 => x"09720605",
+276 => x"71105272",
+277 => x"0a100a53",
+278 => x"72ed3851",
+279 => x"51535104",
+280 => x"fe3d0d0b",
+281 => x"0b80dfc8",
+282 => x"08538413",
+283 => x"0870882a",
+284 => x"70810651",
+285 => x"52527080",
+286 => x"2ef03871",
+287 => x"81ff0680",
+288 => x"0c843d0d",
+289 => x"04ff3d0d",
+290 => x"0b0b80df",
+291 => x"c8085271",
+292 => x"0870882a",
+293 => x"81327081",
+294 => x"06515151",
+295 => x"70f13873",
+296 => x"720c833d",
+297 => x"0d0480cf",
+298 => x"dc08802e",
+299 => x"a43880cf",
+300 => x"e008822e",
+301 => x"bd388380",
+302 => x"800b0b0b",
+303 => x"80dfc80c",
+304 => x"82a0800b",
+305 => x"80dfcc0c",
+306 => x"8290800b",
+307 => x"80dfd00c",
+308 => x"04f88080",
+309 => x"80a40b0b",
+310 => x"0b80dfc8",
+311 => x"0cf88080",
+312 => x"82800b80",
+313 => x"dfcc0cf8",
+314 => x"80808480",
+315 => x"0b80dfd0",
+316 => x"0c0480c0",
+317 => x"a8808c0b",
+318 => x"0b0b80df",
+319 => x"c80c80c0",
+320 => x"a880940b",
+321 => x"80dfcc0c",
+322 => x"0b0b80cf",
+323 => x"980b80df",
+324 => x"d00c0470",
+325 => x"7080dfd4",
+326 => x"335170a7",
+327 => x"3880cfe8",
+328 => x"08700852",
+329 => x"5270802e",
+330 => x"94388412",
+331 => x"80cfe80c",
+332 => x"702d80cf",
+333 => x"e8087008",
+334 => x"525270ee",
+335 => x"38810b80",
+336 => x"dfd43450",
+337 => x"50040470",
+338 => x"0b0b80df",
+339 => x"c408802e",
+340 => x"8e380b0b",
+341 => x"0b0b800b",
+342 => x"802e0981",
+343 => x"06833850",
+344 => x"040b0b80",
+345 => x"dfc4510b",
+346 => x"0b0bf594",
+347 => x"3f500404",
+348 => x"803d0d80",
+349 => x"dfe00881",
+350 => x"1180dfe0",
+351 => x"0c51823d",
+352 => x"0d04fe3d",
+353 => x"0d80dfe0",
+354 => x"085380df",
+355 => x"e0085272",
+356 => x"722e8f38",
+357 => x"80cf9c51",
+358 => x"82b03f80",
+359 => x"dfe00853",
+360 => x"e93980cf",
+361 => x"ac5182a2",
+362 => x"3fe039fb",
+363 => x"3d0d7779",
+364 => x"55558056",
+365 => x"757524ab",
+366 => x"38807424",
+367 => x"9d388053",
+368 => x"73527451",
+369 => x"80e13f80",
+370 => x"08547580",
+371 => x"2e853880",
+372 => x"08305473",
+373 => x"800c873d",
+374 => x"0d047330",
+375 => x"76813257",
+376 => x"54dc3974",
+377 => x"30558156",
+378 => x"738025d2",
+379 => x"38ec39fa",
+380 => x"3d0d787a",
+381 => x"57558057",
+382 => x"767524a4",
+383 => x"38759f2c",
+384 => x"54815375",
+385 => x"74327431",
+386 => x"5274519b",
+387 => x"3f800854",
+388 => x"76802e85",
+389 => x"38800830",
+390 => x"5473800c",
+391 => x"883d0d04",
+392 => x"74305581",
+393 => x"57d739fc",
+394 => x"3d0d7678",
+395 => x"53548153",
+396 => x"80747326",
+397 => x"52557280",
+398 => x"2e983870",
+399 => x"802eab38",
+400 => x"807224a6",
+401 => x"38711073",
+402 => x"10757226",
+403 => x"53545272",
+404 => x"ea387351",
+405 => x"78833874",
+406 => x"5170800c",
+407 => x"863d0d04",
+408 => x"720a100a",
+409 => x"720a100a",
+410 => x"53537280",
+411 => x"2ee43871",
+412 => x"7426ed38",
+413 => x"73723175",
+414 => x"7407740a",
+415 => x"100a740a",
+416 => x"100a5555",
+417 => x"5654e339",
+418 => x"f73d0d7c",
+419 => x"70525380",
+420 => x"fd3f7254",
+421 => x"8008550b",
+422 => x"0b80cfb8",
+423 => x"56815780",
+424 => x"0881055a",
+425 => x"8b3de411",
+426 => x"59538259",
+427 => x"f413527b",
+428 => x"88110852",
+429 => x"5381b43f",
+430 => x"80083070",
+431 => x"8008079f",
+432 => x"2c8a0780",
+433 => x"0c538b3d",
+434 => x"0d04f63d",
+435 => x"0d7c80cf",
+436 => x"ec087153",
+437 => x"5553b73f",
+438 => x"72558008",
+439 => x"560b0b80",
+440 => x"cfb85781",
+441 => x"58800881",
+442 => x"055b8c3d",
+443 => x"e4115a53",
+444 => x"825af413",
+445 => x"52881408",
+446 => x"5180f03f",
+447 => x"80083070",
+448 => x"8008079f",
+449 => x"2c8a0780",
+450 => x"0c548c3d",
+451 => x"0d047070",
+452 => x"70707570",
+453 => x"71830653",
+454 => x"555270b4",
+455 => x"38717008",
+456 => x"7009f7fb",
+457 => x"fdff1206",
+458 => x"f8848281",
+459 => x"80065452",
+460 => x"53719b38",
+461 => x"84137008",
+462 => x"7009f7fb",
+463 => x"fdff1206",
+464 => x"f8848281",
+465 => x"80065452",
+466 => x"5371802e",
+467 => x"e7387252",
+468 => x"71335372",
+469 => x"802e8a38",
+470 => x"81127033",
+471 => x"545272f8",
+472 => x"38717431",
+473 => x"800c5050",
+474 => x"505004f2",
+475 => x"3d0d6062",
+476 => x"88110870",
+477 => x"58565f5a",
+478 => x"73802e81",
+479 => x"8c388c1a",
+480 => x"2270832a",
+481 => x"81328106",
+482 => x"56587486",
+483 => x"38901a08",
+484 => x"91387951",
+485 => x"90b73fff",
+486 => x"55800880",
+487 => x"ec388c1a",
+488 => x"22587d08",
+489 => x"55807883",
+490 => x"ffff0670",
+491 => x"0a100a81",
+492 => x"06415c57",
+493 => x"7e772e80",
+494 => x"d7387690",
+495 => x"38740884",
+496 => x"16088817",
+497 => x"57585676",
+498 => x"802ef238",
+499 => x"76548880",
+500 => x"77278438",
+501 => x"88805473",
+502 => x"5375529c",
+503 => x"1a0851a4",
+504 => x"1a085877",
+505 => x"2d800b80",
+506 => x"082582e0",
+507 => x"38800816",
+508 => x"77800831",
+509 => x"7f880508",
+510 => x"80083170",
+511 => x"6188050c",
+512 => x"5b585678",
+513 => x"ffb43880",
+514 => x"5574800c",
+515 => x"903d0d04",
+516 => x"7a813281",
+517 => x"06774056",
+518 => x"75802e81",
+519 => x"bd387690",
+520 => x"38740884",
+521 => x"16088817",
+522 => x"57585976",
+523 => x"802ef238",
+524 => x"881a0878",
+525 => x"83ffff06",
+526 => x"70892a81",
+527 => x"06565956",
+528 => x"73802e82",
+529 => x"f8387577",
+530 => x"278b3877",
+531 => x"872a8106",
+532 => x"5c7b82b5",
+533 => x"38767627",
+534 => x"83387656",
+535 => x"75537852",
+536 => x"79085185",
+537 => x"833f881a",
+538 => x"08763188",
+539 => x"1b0c7908",
+540 => x"167a0c76",
+541 => x"56751977",
+542 => x"77317f88",
+543 => x"05087831",
+544 => x"70618805",
+545 => x"0c415859",
+546 => x"7e802efe",
+547 => x"fa388c1a",
+548 => x"2258ff8a",
+549 => x"39787954",
+550 => x"7c537b52",
+551 => x"5684c93f",
+552 => x"881a0879",
+553 => x"31881b0c",
+554 => x"7908197a",
+555 => x"0c7c7631",
+556 => x"5d7c8e38",
+557 => x"79518ff2",
+558 => x"3f800881",
+559 => x"8f388008",
+560 => x"5f751c77",
+561 => x"77317f88",
+562 => x"05087831",
+563 => x"70618805",
+564 => x"0c5d585c",
+565 => x"7a802efe",
+566 => x"ae387681",
+567 => x"83387408",
+568 => x"84160888",
+569 => x"1757585c",
+570 => x"76802ef2",
+571 => x"3876538a",
+572 => x"527b5182",
+573 => x"d33f8008",
+574 => x"7c318105",
+575 => x"5d800884",
+576 => x"3881175d",
+577 => x"815f7c59",
+578 => x"767d2783",
+579 => x"38765994",
+580 => x"1a08881b",
+581 => x"08115758",
+582 => x"807a085c",
+583 => x"54901a08",
+584 => x"7b278338",
+585 => x"81547579",
+586 => x"25843873",
+587 => x"ba387779",
+588 => x"24fee238",
+589 => x"77537b52",
+590 => x"9c1a0851",
+591 => x"a41a0859",
+592 => x"782d8008",
+593 => x"56800880",
+594 => x"24fee238",
+595 => x"8c1a2280",
+596 => x"c0075e7d",
+597 => x"8c1b23ff",
+598 => x"5574800c",
+599 => x"903d0d04",
+600 => x"7effa338",
+601 => x"ff873975",
+602 => x"537b527a",
+603 => x"5182f93f",
+604 => x"7908167a",
+605 => x"0c79518e",
+606 => x"b13f8008",
+607 => x"cf387c76",
+608 => x"315d7cfe",
+609 => x"bc38feac",
+610 => x"39901a08",
+611 => x"7a087131",
+612 => x"78117056",
+613 => x"5a575280",
+614 => x"cfec0851",
+615 => x"84943f80",
+616 => x"08802eff",
+617 => x"a7388008",
+618 => x"901b0c80",
+619 => x"08167a0c",
+620 => x"77941b0c",
+621 => x"76881b0c",
+622 => x"7656fd99",
+623 => x"39790858",
+624 => x"901a0878",
+625 => x"27833881",
+626 => x"54757727",
+627 => x"843873b3",
+628 => x"38941a08",
+629 => x"54737726",
+630 => x"80d33873",
+631 => x"5378529c",
+632 => x"1a0851a4",
+633 => x"1a085877",
+634 => x"2d800856",
+635 => x"80088024",
+636 => x"fd83388c",
+637 => x"1a2280c0",
+638 => x"075e7d8c",
+639 => x"1b23ff55",
+640 => x"fed73975",
+641 => x"53785277",
+642 => x"5181dd3f",
+643 => x"7908167a",
+644 => x"0c79518d",
+645 => x"953f8008",
+646 => x"802efcd9",
+647 => x"388c1a22",
+648 => x"80c0075e",
+649 => x"7d8c1b23",
+650 => x"ff55fead",
+651 => x"39767754",
+652 => x"79537852",
+653 => x"5681b13f",
+654 => x"881a0877",
+655 => x"31881b0c",
+656 => x"7908177a",
+657 => x"0cfcae39",
+658 => x"fa3d0d7a",
+659 => x"79028805",
+660 => x"a7053355",
+661 => x"53548374",
+662 => x"2780df38",
+663 => x"71830651",
+664 => x"7080d738",
+665 => x"71715755",
+666 => x"83517582",
+667 => x"802913ff",
+668 => x"12525670",
+669 => x"8025f338",
+670 => x"837427bc",
+671 => x"38740876",
+672 => x"327009f7",
+673 => x"fbfdff12",
+674 => x"06f88482",
+675 => x"81800651",
+676 => x"5170802e",
+677 => x"98387451",
+678 => x"80527033",
+679 => x"5772772e",
+680 => x"b9388111",
+681 => x"81135351",
+682 => x"837227ee",
+683 => x"38fc1484",
+684 => x"16565473",
+685 => x"8326c638",
+686 => x"7452ff14",
+687 => x"5170ff2e",
+688 => x"97387133",
+689 => x"5472742e",
+690 => x"98388112",
+691 => x"ff125252",
+692 => x"70ff2e09",
+693 => x"8106eb38",
+694 => x"80517080",
+695 => x"0c883d0d",
+696 => x"0471800c",
+697 => x"883d0d04",
+698 => x"fa3d0d78",
+699 => x"7a7c7272",
+700 => x"72595755",
+701 => x"58565774",
+702 => x"7727b238",
+703 => x"75155176",
+704 => x"7127aa38",
+705 => x"707618ff",
+706 => x"18535353",
+707 => x"70ff2e96",
+708 => x"38ff12ff",
+709 => x"14545272",
+710 => x"337234ff",
+711 => x"115170ff",
+712 => x"2e098106",
+713 => x"ec387680",
+714 => x"0c883d0d",
+715 => x"048f7627",
+716 => x"80e63874",
+717 => x"77078306",
+718 => x"517080dc",
+719 => x"38767552",
+720 => x"53707084",
+721 => x"05520873",
+722 => x"70840555",
+723 => x"0c727170",
+724 => x"84055308",
+725 => x"71708405",
+726 => x"530c7170",
+727 => x"84055308",
+728 => x"71708405",
+729 => x"530c7170",
+730 => x"84055308",
+731 => x"71708405",
+732 => x"530cf015",
+733 => x"5553738f",
+734 => x"26c73883",
+735 => x"74279538",
+736 => x"70708405",
+737 => x"52087370",
+738 => x"8405550c",
+739 => x"fc145473",
+740 => x"8326ed38",
+741 => x"72715452",
+742 => x"ff145170",
+743 => x"ff2eff86",
+744 => x"38727081",
+745 => x"05543372",
+746 => x"70810554",
+747 => x"34ff1151",
+748 => x"ea39ef3d",
+749 => x"0d636567",
+750 => x"405d427b",
+751 => x"802e8582",
+752 => x"386151a9",
+753 => x"e73ff81c",
+754 => x"70841208",
+755 => x"70fc0670",
+756 => x"628b0570",
+757 => x"f8064159",
+758 => x"455c5f41",
+759 => x"57967427",
+760 => x"82c53880",
+761 => x"7b247e7c",
+762 => x"26075880",
+763 => x"5477742e",
+764 => x"09810682",
+765 => x"ab38787b",
+766 => x"2581fe38",
+767 => x"781780d7",
+768 => x"a80b8805",
+769 => x"085b5679",
+770 => x"762e84c5",
+771 => x"38841608",
+772 => x"70fe0617",
+773 => x"84110881",
+774 => x"06415555",
+775 => x"7e828d38",
+776 => x"74fc0658",
+777 => x"79762e84",
+778 => x"e3387818",
+779 => x"5f7e7b25",
+780 => x"81ff387c",
+781 => x"81065473",
+782 => x"82c13876",
+783 => x"77083184",
+784 => x"1108fc06",
+785 => x"56577580",
+786 => x"2e913879",
+787 => x"762e84f0",
+788 => x"38741819",
+789 => x"58777b25",
+790 => x"84913876",
+791 => x"802e829b",
+792 => x"38781556",
+793 => x"7a762482",
+794 => x"92388c17",
+795 => x"08881808",
+796 => x"718c120c",
+797 => x"88120c5e",
+798 => x"75598817",
+799 => x"61fc055b",
+800 => x"5679a426",
+801 => x"85ff387b",
+802 => x"76595593",
+803 => x"7a2780c9",
+804 => x"387b7084",
+805 => x"055d087c",
+806 => x"56760c74",
+807 => x"70840556",
+808 => x"088c180c",
+809 => x"9017589b",
+810 => x"7a27ae38",
+811 => x"74708405",
+812 => x"5608780c",
+813 => x"74708405",
+814 => x"56089418",
+815 => x"0c981758",
+816 => x"a37a2795",
+817 => x"38747084",
+818 => x"05560878",
+819 => x"0c747084",
+820 => x"0556089c",
+821 => x"180ca017",
+822 => x"58747084",
+823 => x"05560875",
+824 => x"5f787084",
+825 => x"055a0c77",
+826 => x"7e708405",
+827 => x"40087170",
+828 => x"8405530c",
+829 => x"7e08710c",
+830 => x"5d787b31",
+831 => x"56758f26",
+832 => x"80c93884",
+833 => x"17088106",
+834 => x"79078418",
+835 => x"0c781784",
+836 => x"11088107",
+837 => x"84120c5b",
+838 => x"6151a791",
+839 => x"3f881754",
+840 => x"73800c93",
+841 => x"3d0d0490",
+842 => x"5bfdb839",
+843 => x"7756fe83",
+844 => x"398c1608",
+845 => x"88170871",
+846 => x"8c120c88",
+847 => x"120c587e",
+848 => x"707c3157",
+849 => x"598f7627",
+850 => x"ffb9387a",
+851 => x"17841808",
+852 => x"81067c07",
+853 => x"84190c76",
+854 => x"81078412",
+855 => x"0c761184",
+856 => x"11088107",
+857 => x"84120c5b",
+858 => x"88055261",
+859 => x"518fda3f",
+860 => x"6151a6b9",
+861 => x"3f881754",
+862 => x"ffa6397d",
+863 => x"52615197",
+864 => x"d73f8008",
+865 => x"5a800880",
+866 => x"2e81ab38",
+867 => x"8008f805",
+868 => x"60840508",
+869 => x"fe066105",
+870 => x"58557477",
+871 => x"2e83f238",
+872 => x"fc195877",
+873 => x"a42681b0",
+874 => x"387b8008",
+875 => x"56579378",
+876 => x"2780dc38",
+877 => x"7b707084",
+878 => x"05520880",
+879 => x"08708405",
+880 => x"800c0c80",
+881 => x"08717084",
+882 => x"0553085d",
+883 => x"567b7670",
+884 => x"8405580c",
+885 => x"579b7827",
+886 => x"b6387670",
+887 => x"84055808",
+888 => x"75708405",
+889 => x"570c7670",
+890 => x"84055808",
+891 => x"75708405",
+892 => x"570ca378",
+893 => x"27993876",
+894 => x"70840558",
+895 => x"08757084",
+896 => x"05570c76",
+897 => x"70840558",
+898 => x"08757084",
+899 => x"05570c76",
+900 => x"70840558",
+901 => x"08775e75",
+902 => x"70840557",
+903 => x"0c747d70",
+904 => x"84055f08",
+905 => x"71708405",
+906 => x"530c7d08",
+907 => x"710c5f7b",
+908 => x"5261518e",
+909 => x"943f6151",
+910 => x"a4f33f79",
+911 => x"800c933d",
+912 => x"0d047d52",
+913 => x"61519690",
+914 => x"3f800880",
+915 => x"0c933d0d",
+916 => x"04841608",
+917 => x"55fbc939",
+918 => x"77537b52",
+919 => x"800851a2",
+920 => x"a53f7b52",
+921 => x"61518de1",
+922 => x"3fcc398c",
+923 => x"16088817",
+924 => x"08718c12",
+925 => x"0c88120c",
+926 => x"5d8c1708",
+927 => x"88180871",
+928 => x"8c120c88",
+929 => x"120c5977",
+930 => x"59fbef39",
+931 => x"7818901c",
+932 => x"40557e75",
+933 => x"24fb9c38",
+934 => x"7a177080",
+935 => x"d7a80b88",
+936 => x"050c757c",
+937 => x"31810784",
+938 => x"120c5684",
+939 => x"17088106",
+940 => x"7b078418",
+941 => x"0c6151a3",
+942 => x"f43f8817",
+943 => x"54fce139",
+944 => x"74181990",
+945 => x"1c5e5a7c",
+946 => x"7a24fb8f",
+947 => x"388c1708",
+948 => x"88180871",
+949 => x"8c120c88",
+950 => x"120c5e88",
+951 => x"1761fc05",
+952 => x"575975a4",
+953 => x"2681b638",
+954 => x"7b795955",
+955 => x"93762780",
+956 => x"c9387b70",
+957 => x"84055d08",
+958 => x"7c56790c",
+959 => x"74708405",
+960 => x"56088c18",
+961 => x"0c901758",
+962 => x"9b7627ae",
+963 => x"38747084",
+964 => x"05560878",
+965 => x"0c747084",
+966 => x"05560894",
+967 => x"180c9817",
+968 => x"58a37627",
+969 => x"95387470",
+970 => x"84055608",
+971 => x"780c7470",
+972 => x"84055608",
+973 => x"9c180ca0",
+974 => x"17587470",
+975 => x"84055608",
+976 => x"75417870",
+977 => x"84055a0c",
+978 => x"77607084",
+979 => x"05420871",
+980 => x"70840553",
+981 => x"0c600871",
+982 => x"0c5e7a17",
+983 => x"7080d7a8",
+984 => x"0b88050c",
+985 => x"7a7c3181",
+986 => x"0784120c",
+987 => x"58841708",
+988 => x"81067b07",
+989 => x"84180c61",
+990 => x"51a2b23f",
+991 => x"78547380",
+992 => x"0c933d0d",
+993 => x"0479537b",
+994 => x"5275519f",
+995 => x"f93ffae9",
+996 => x"39841508",
+997 => x"fc061960",
+998 => x"5859fadd",
+999 => x"3975537b",
+1000 => x"5278519f",
+1001 => x"e13f7a17",
+1002 => x"7080d7a8",
+1003 => x"0b88050c",
+1004 => x"7a7c3181",
+1005 => x"0784120c",
+1006 => x"58841708",
+1007 => x"81067b07",
+1008 => x"84180c61",
+1009 => x"51a1e63f",
+1010 => x"7854ffb2",
+1011 => x"39fa3d0d",
+1012 => x"7880cfec",
+1013 => x"085455b8",
+1014 => x"1308802e",
+1015 => x"81af388c",
+1016 => x"15227083",
+1017 => x"ffff0670",
+1018 => x"832a8132",
+1019 => x"81065555",
+1020 => x"5672802e",
+1021 => x"80da3873",
+1022 => x"842a8132",
+1023 => x"810657ff",
+1024 => x"537680f2",
+1025 => x"3873822a",
+1026 => x"81065473",
+1027 => x"802eb938",
+1028 => x"b0150854",
+1029 => x"73802e9c",
+1030 => x"3880c015",
+1031 => x"5373732e",
+1032 => x"8f387352",
+1033 => x"80cfec08",
+1034 => x"518a9e3f",
+1035 => x"8c152256",
+1036 => x"76b0160c",
+1037 => x"75db0657",
+1038 => x"768c1623",
+1039 => x"800b8416",
+1040 => x"0c901508",
+1041 => x"750c7656",
+1042 => x"75880754",
+1043 => x"738c1623",
+1044 => x"90150880",
+1045 => x"2ebf388c",
+1046 => x"15227081",
+1047 => x"06555373",
+1048 => x"9c38720a",
+1049 => x"100a8106",
+1050 => x"56758538",
+1051 => x"94150854",
+1052 => x"7388160c",
+1053 => x"80537280",
+1054 => x"0c883d0d",
+1055 => x"04800b88",
+1056 => x"160c9415",
+1057 => x"08309816",
+1058 => x"0c8053ea",
+1059 => x"39725182",
+1060 => x"a63ffecb",
+1061 => x"3974518f",
+1062 => x"bc3f8c15",
+1063 => x"22708106",
+1064 => x"55537380",
+1065 => x"2effbb38",
+1066 => x"d439f83d",
+1067 => x"0d7a5776",
+1068 => x"802e8197",
+1069 => x"3880cfec",
+1070 => x"0854b814",
+1071 => x"08802e80",
+1072 => x"eb388c17",
+1073 => x"2270902b",
+1074 => x"70902c70",
+1075 => x"832a8132",
+1076 => x"81065b5b",
+1077 => x"57557780",
+1078 => x"cb389017",
+1079 => x"08567580",
+1080 => x"2e80c138",
+1081 => x"76087631",
+1082 => x"76780c79",
+1083 => x"83065555",
+1084 => x"73853894",
+1085 => x"17085877",
+1086 => x"88180c80",
+1087 => x"7525a538",
+1088 => x"74537552",
+1089 => x"9c170851",
+1090 => x"a4170854",
+1091 => x"732d800b",
+1092 => x"80082580",
+1093 => x"c9388008",
+1094 => x"16758008",
+1095 => x"31565674",
+1096 => x"8024dd38",
+1097 => x"800b800c",
+1098 => x"8a3d0d04",
+1099 => x"73518187",
+1100 => x"3f8c1722",
+1101 => x"70902b70",
+1102 => x"902c7083",
+1103 => x"2a813281",
+1104 => x"065b5b57",
+1105 => x"5577dd38",
+1106 => x"ff9039a1",
+1107 => x"aa5280cf",
+1108 => x"ec08518c",
+1109 => x"d03f8008",
+1110 => x"800c8a3d",
+1111 => x"0d048c17",
+1112 => x"2280c007",
+1113 => x"58778c18",
+1114 => x"23ff0b80",
+1115 => x"0c8a3d0d",
+1116 => x"04fa3d0d",
+1117 => x"797080dc",
+1118 => x"298c1154",
+1119 => x"7a535657",
+1120 => x"8fd63f80",
+1121 => x"08800855",
+1122 => x"56800880",
+1123 => x"2ea23880",
+1124 => x"088c0554",
+1125 => x"800b8008",
+1126 => x"0c768008",
+1127 => x"84050c73",
+1128 => x"80088805",
+1129 => x"0c745380",
+1130 => x"5273519c",
+1131 => x"f53f7554",
+1132 => x"73800c88",
+1133 => x"3d0d0470",
+1134 => x"707074a8",
+1135 => x"f60bbc12",
+1136 => x"0c53810b",
+1137 => x"b8140c80",
+1138 => x"0b84dc14",
+1139 => x"0c830b84",
+1140 => x"e0140c84",
+1141 => x"e81384e4",
+1142 => x"140c8413",
+1143 => x"08518070",
+1144 => x"720c7084",
+1145 => x"130c7088",
+1146 => x"130c5284",
+1147 => x"0b8c1223",
+1148 => x"718e1223",
+1149 => x"7190120c",
+1150 => x"7194120c",
+1151 => x"7198120c",
+1152 => x"709c120c",
+1153 => x"80c1e50b",
+1154 => x"a0120c80",
+1155 => x"c2b10ba4",
+1156 => x"120c80c3",
+1157 => x"ad0ba812",
+1158 => x"0c80c3fe",
+1159 => x"0bac120c",
+1160 => x"88130872",
+1161 => x"710c7284",
+1162 => x"120c7288",
+1163 => x"120c5189",
+1164 => x"0b8c1223",
+1165 => x"810b8e12",
+1166 => x"23719012",
+1167 => x"0c719412",
+1168 => x"0c719812",
+1169 => x"0c709c12",
+1170 => x"0c80c1e5",
+1171 => x"0ba0120c",
+1172 => x"80c2b10b",
+1173 => x"a4120c80",
+1174 => x"c3ad0ba8",
+1175 => x"120c80c3",
+1176 => x"fe0bac12",
+1177 => x"0c8c1308",
+1178 => x"72710c72",
+1179 => x"84120c72",
+1180 => x"88120c51",
+1181 => x"8a0b8c12",
+1182 => x"23820b8e",
+1183 => x"12237190",
+1184 => x"120c7194",
+1185 => x"120c7198",
+1186 => x"120c709c",
+1187 => x"120c80c1",
+1188 => x"e50ba012",
+1189 => x"0c80c2b1",
+1190 => x"0ba4120c",
+1191 => x"80c3ad0b",
+1192 => x"a8120c80",
+1193 => x"c3fe0bac",
+1194 => x"120c5050",
+1195 => x"5004f83d",
+1196 => x"0d7a80cf",
+1197 => x"ec08b811",
+1198 => x"08575758",
+1199 => x"7481ec38",
+1200 => x"a8f60bbc",
+1201 => x"170c810b",
+1202 => x"b8170c74",
+1203 => x"84dc170c",
+1204 => x"830b84e0",
+1205 => x"170c84e8",
+1206 => x"1684e417",
+1207 => x"0c841608",
+1208 => x"75710c75",
+1209 => x"84120c75",
+1210 => x"88120c59",
+1211 => x"840b8c1a",
+1212 => x"23748e1a",
+1213 => x"2374901a",
+1214 => x"0c74941a",
+1215 => x"0c74981a",
+1216 => x"0c789c1a",
+1217 => x"0c80c1e5",
+1218 => x"0ba01a0c",
+1219 => x"80c2b10b",
+1220 => x"a41a0c80",
+1221 => x"c3ad0ba8",
+1222 => x"1a0c80c3",
+1223 => x"fe0bac1a",
+1224 => x"0c881608",
+1225 => x"75710c75",
+1226 => x"84120c75",
+1227 => x"88120c57",
+1228 => x"890b8c18",
+1229 => x"23810b8e",
+1230 => x"18237490",
+1231 => x"180c7494",
+1232 => x"180c7498",
+1233 => x"180c769c",
+1234 => x"180c80c1",
+1235 => x"e50ba018",
+1236 => x"0c80c2b1",
+1237 => x"0ba4180c",
+1238 => x"80c3ad0b",
+1239 => x"a8180c80",
+1240 => x"c3fe0bac",
+1241 => x"180c8c16",
+1242 => x"0875710c",
+1243 => x"7584120c",
+1244 => x"7588120c",
+1245 => x"548a0b8c",
+1246 => x"1523820b",
+1247 => x"8e152374",
+1248 => x"90150c74",
+1249 => x"94150c74",
+1250 => x"98150c73",
+1251 => x"9c150c80",
+1252 => x"c1e50ba0",
+1253 => x"150c80c2",
+1254 => x"b10ba415",
+1255 => x"0c80c3ad",
+1256 => x"0ba8150c",
+1257 => x"80c3fe0b",
+1258 => x"ac150c84",
+1259 => x"dc168811",
+1260 => x"08841208",
+1261 => x"ff055757",
+1262 => x"57807524",
+1263 => x"9f388c16",
+1264 => x"2270902b",
+1265 => x"70902c51",
+1266 => x"55597380",
+1267 => x"2e80ed38",
+1268 => x"80dc16ff",
+1269 => x"16565674",
+1270 => x"8025e338",
+1271 => x"76085574",
+1272 => x"802e8f38",
+1273 => x"74881108",
+1274 => x"841208ff",
+1275 => x"05575757",
+1276 => x"c83982fc",
+1277 => x"5277518a",
+1278 => x"df3f8008",
+1279 => x"80085556",
+1280 => x"8008802e",
+1281 => x"a3388008",
+1282 => x"8c057580",
+1283 => x"080c5484",
+1284 => x"0b800884",
+1285 => x"050c7380",
+1286 => x"0888050c",
+1287 => x"82f05374",
+1288 => x"52735197",
+1289 => x"fd3f7554",
+1290 => x"7374780c",
+1291 => x"5573ffb4",
+1292 => x"388c780c",
+1293 => x"800b800c",
+1294 => x"8a3d0d04",
+1295 => x"810b8c17",
+1296 => x"2373760c",
+1297 => x"7388170c",
+1298 => x"7384170c",
+1299 => x"7390170c",
+1300 => x"7394170c",
+1301 => x"7398170c",
+1302 => x"ff0b8e17",
+1303 => x"2373b017",
+1304 => x"0c73b417",
+1305 => x"0c7380c4",
+1306 => x"170c7380",
+1307 => x"c8170c75",
+1308 => x"800c8a3d",
+1309 => x"0d047070",
+1310 => x"a1aa5273",
+1311 => x"5186a63f",
+1312 => x"50500470",
+1313 => x"70a1aa52",
+1314 => x"80cfec08",
+1315 => x"5186963f",
+1316 => x"505004fb",
+1317 => x"3d0d7770",
+1318 => x"52569890",
+1319 => x"3f80d7a8",
+1320 => x"0b880508",
+1321 => x"841108fc",
+1322 => x"06707b31",
+1323 => x"9fef05e0",
+1324 => x"8006e080",
+1325 => x"05525555",
+1326 => x"a0807524",
+1327 => x"94388052",
+1328 => x"755197ea",
+1329 => x"3f80d7b0",
+1330 => x"08145372",
+1331 => x"80082e8f",
+1332 => x"38755197",
+1333 => x"d83f8053",
+1334 => x"72800c87",
+1335 => x"3d0d0474",
+1336 => x"30527551",
+1337 => x"97c83f80",
+1338 => x"08ff2ea8",
+1339 => x"3880d7a8",
+1340 => x"0b880508",
+1341 => x"74763181",
+1342 => x"0784120c",
+1343 => x"5380d6ec",
+1344 => x"08753180",
+1345 => x"d6ec0c75",
+1346 => x"5197a23f",
+1347 => x"810b800c",
+1348 => x"873d0d04",
+1349 => x"80527551",
+1350 => x"97943f80",
+1351 => x"d7a80b88",
+1352 => x"05088008",
+1353 => x"71315454",
+1354 => x"8f7325ff",
+1355 => x"a4388008",
+1356 => x"80d79c08",
+1357 => x"3180d6ec",
+1358 => x"0c728107",
+1359 => x"84150c75",
+1360 => x"5196ea3f",
+1361 => x"8053ff90",
+1362 => x"39f73d0d",
+1363 => x"7b7d545a",
+1364 => x"72802e82",
+1365 => x"83387951",
+1366 => x"96d23ff8",
+1367 => x"13841108",
+1368 => x"70fe0670",
+1369 => x"13841108",
+1370 => x"fc065c57",
+1371 => x"58545780",
+1372 => x"d7b00874",
+1373 => x"2e82de38",
+1374 => x"7784150c",
+1375 => x"80738106",
+1376 => x"56597479",
+1377 => x"2e81d538",
+1378 => x"77148411",
+1379 => x"08810656",
+1380 => x"5374a038",
+1381 => x"77165678",
+1382 => x"81e63888",
+1383 => x"14085574",
+1384 => x"80d7b02e",
+1385 => x"82f9388c",
+1386 => x"1408708c",
+1387 => x"170c7588",
+1388 => x"120c5875",
+1389 => x"81078418",
+1390 => x"0c751776",
+1391 => x"710c5478",
+1392 => x"81913883",
+1393 => x"ff762781",
+1394 => x"c8387589",
+1395 => x"2a76832a",
+1396 => x"54547380",
+1397 => x"2ebf3875",
+1398 => x"862ab805",
+1399 => x"53847427",
+1400 => x"b43880db",
+1401 => x"14539474",
+1402 => x"27ab3875",
+1403 => x"8c2a80ee",
+1404 => x"055380d4",
+1405 => x"74279e38",
+1406 => x"758f2a80",
+1407 => x"f7055382",
+1408 => x"d4742791",
+1409 => x"3875922a",
+1410 => x"80fc0553",
+1411 => x"8ad47427",
+1412 => x"843880fe",
+1413 => x"53721010",
+1414 => x"1080d7a8",
+1415 => x"05881108",
+1416 => x"55557375",
+1417 => x"2e82bf38",
+1418 => x"841408fc",
+1419 => x"06597579",
+1420 => x"278d3888",
+1421 => x"14085473",
+1422 => x"752e0981",
+1423 => x"06ea388c",
+1424 => x"1408708c",
+1425 => x"190c7488",
+1426 => x"190c7788",
+1427 => x"120c5576",
+1428 => x"8c150c79",
+1429 => x"5194d63f",
+1430 => x"8b3d0d04",
+1431 => x"76087771",
+1432 => x"31587605",
+1433 => x"88180856",
+1434 => x"567480d7",
+1435 => x"b02e80e0",
+1436 => x"388c1708",
+1437 => x"708c170c",
+1438 => x"7588120c",
+1439 => x"53fe8939",
+1440 => x"8814088c",
+1441 => x"1508708c",
+1442 => x"130c5988",
+1443 => x"190cfea3",
+1444 => x"3975832a",
+1445 => x"70545480",
+1446 => x"74248198",
+1447 => x"3872822c",
+1448 => x"81712b80",
+1449 => x"d7ac0807",
+1450 => x"80d7a80b",
+1451 => x"84050c74",
+1452 => x"10101080",
+1453 => x"d7a80588",
+1454 => x"1108718c",
+1455 => x"1b0c7088",
+1456 => x"1b0c7988",
+1457 => x"130c565a",
+1458 => x"55768c15",
+1459 => x"0cff8439",
+1460 => x"8159fdb4",
+1461 => x"39771673",
+1462 => x"81065455",
+1463 => x"72983876",
+1464 => x"08777131",
+1465 => x"5875058c",
+1466 => x"18088819",
+1467 => x"08718c12",
+1468 => x"0c88120c",
+1469 => x"55557481",
+1470 => x"0784180c",
+1471 => x"7680d7a8",
+1472 => x"0b88050c",
+1473 => x"80d7a408",
+1474 => x"7526fec7",
+1475 => x"3880d7a0",
+1476 => x"08527951",
+1477 => x"fafd3f79",
+1478 => x"5193923f",
+1479 => x"feba3981",
+1480 => x"778c170c",
+1481 => x"7788170c",
+1482 => x"758c190c",
+1483 => x"7588190c",
+1484 => x"59fd8039",
+1485 => x"83147082",
+1486 => x"2c81712b",
+1487 => x"80d7ac08",
+1488 => x"0780d7a8",
+1489 => x"0b84050c",
+1490 => x"75101010",
+1491 => x"80d7a805",
+1492 => x"88110871",
+1493 => x"8c1c0c70",
+1494 => x"881c0c7a",
+1495 => x"88130c57",
+1496 => x"5b5653fe",
+1497 => x"e4398073",
+1498 => x"24a33872",
+1499 => x"822c8171",
+1500 => x"2b80d7ac",
+1501 => x"080780d7",
+1502 => x"a80b8405",
+1503 => x"0c58748c",
+1504 => x"180c7388",
+1505 => x"180c7688",
+1506 => x"160cfdc3",
+1507 => x"39831370",
+1508 => x"822c8171",
+1509 => x"2b80d7ac",
+1510 => x"080780d7",
+1511 => x"a80b8405",
+1512 => x"0c5953da",
+1513 => x"39f93d0d",
+1514 => x"797b5853",
+1515 => x"800b80cf",
+1516 => x"ec085356",
+1517 => x"72722ebc",
+1518 => x"3884dc13",
+1519 => x"5574762e",
+1520 => x"b3388815",
+1521 => x"08841608",
+1522 => x"ff055454",
+1523 => x"80732499",
+1524 => x"388c1422",
+1525 => x"70902b53",
+1526 => x"587180d4",
+1527 => x"3880dc14",
+1528 => x"ff145454",
+1529 => x"728025e9",
+1530 => x"38740855",
+1531 => x"74d43880",
+1532 => x"cfec0852",
+1533 => x"84dc1255",
+1534 => x"74802ead",
+1535 => x"38881508",
+1536 => x"841608ff",
+1537 => x"05545480",
+1538 => x"73249838",
+1539 => x"8c142270",
+1540 => x"902b5358",
+1541 => x"71ad3880",
+1542 => x"dc14ff14",
+1543 => x"54547280",
+1544 => x"25ea3874",
+1545 => x"085574d5",
+1546 => x"3875800c",
+1547 => x"893d0d04",
+1548 => x"7351762d",
+1549 => x"75800807",
+1550 => x"80dc15ff",
+1551 => x"15555556",
+1552 => x"ffa23973",
+1553 => x"51762d75",
+1554 => x"80080780",
+1555 => x"dc15ff15",
+1556 => x"555556ca",
+1557 => x"39ea3d0d",
+1558 => x"688c1122",
+1559 => x"700a100a",
+1560 => x"81065758",
+1561 => x"567480e4",
+1562 => x"388e1622",
+1563 => x"70902b70",
+1564 => x"902c5155",
+1565 => x"58807424",
+1566 => x"b138983d",
+1567 => x"c4055373",
+1568 => x"5280cfec",
+1569 => x"08519481",
+1570 => x"3f800b80",
+1571 => x"08249738",
+1572 => x"7983e080",
+1573 => x"06547380",
+1574 => x"c0802e81",
+1575 => x"8f387382",
+1576 => x"80802e81",
+1577 => x"91388c16",
+1578 => x"22577690",
+1579 => x"80075473",
+1580 => x"8c172388",
+1581 => x"805280cf",
+1582 => x"ec085181",
+1583 => x"9b3f8008",
+1584 => x"9d388c16",
+1585 => x"22820755",
+1586 => x"748c1723",
+1587 => x"80c31670",
+1588 => x"770c9017",
+1589 => x"0c810b94",
+1590 => x"170c983d",
+1591 => x"0d0480cf",
+1592 => x"ec08a8f6",
+1593 => x"0bbc120c",
+1594 => x"588c1622",
+1595 => x"81800754",
+1596 => x"738c1723",
+1597 => x"8008760c",
+1598 => x"80089017",
+1599 => x"0c88800b",
+1600 => x"94170c74",
+1601 => x"802ed338",
+1602 => x"8e162270",
+1603 => x"902b7090",
+1604 => x"2c535654",
+1605 => x"9afb3f80",
+1606 => x"08802eff",
+1607 => x"bd388c16",
+1608 => x"22810757",
+1609 => x"768c1723",
+1610 => x"983d0d04",
+1611 => x"810b8c17",
+1612 => x"225855fe",
+1613 => x"f539a816",
+1614 => x"0880c3ad",
+1615 => x"2e098106",
+1616 => x"fee4388c",
+1617 => x"16228880",
+1618 => x"0754738c",
+1619 => x"17238880",
+1620 => x"0b80cc17",
+1621 => x"0cfedc39",
+1622 => x"f43d0d7e",
+1623 => x"608b1170",
+1624 => x"f8065b55",
+1625 => x"555d7296",
+1626 => x"26833890",
+1627 => x"58807824",
+1628 => x"74792607",
+1629 => x"55805474",
+1630 => x"742e0981",
+1631 => x"0680ca38",
+1632 => x"7c518ea8",
+1633 => x"3f7783f7",
+1634 => x"2680c538",
+1635 => x"77832a70",
+1636 => x"10101080",
+1637 => x"d7a8058c",
+1638 => x"11085858",
+1639 => x"5475772e",
+1640 => x"81f03884",
+1641 => x"1608fc06",
+1642 => x"8c170888",
+1643 => x"1808718c",
+1644 => x"120c8812",
+1645 => x"0c5b7605",
+1646 => x"84110881",
+1647 => x"0784120c",
+1648 => x"537c518d",
+1649 => x"e83f8816",
+1650 => x"5473800c",
+1651 => x"8e3d0d04",
+1652 => x"77892a78",
+1653 => x"832a5854",
+1654 => x"73802ebf",
+1655 => x"3877862a",
+1656 => x"b8055784",
+1657 => x"7427b438",
+1658 => x"80db1457",
+1659 => x"947427ab",
+1660 => x"38778c2a",
+1661 => x"80ee0557",
+1662 => x"80d47427",
+1663 => x"9e38778f",
+1664 => x"2a80f705",
+1665 => x"5782d474",
+1666 => x"27913877",
+1667 => x"922a80fc",
+1668 => x"05578ad4",
+1669 => x"74278438",
+1670 => x"80fe5776",
+1671 => x"10101080",
+1672 => x"d7a8058c",
+1673 => x"11085653",
+1674 => x"74732ea3",
+1675 => x"38841508",
+1676 => x"fc067079",
+1677 => x"31555673",
+1678 => x"8f2488e4",
+1679 => x"38738025",
+1680 => x"88e6388c",
+1681 => x"15085574",
+1682 => x"732e0981",
+1683 => x"06df3881",
+1684 => x"175980d7",
+1685 => x"b8085675",
+1686 => x"80d7b02e",
+1687 => x"82cc3884",
+1688 => x"1608fc06",
+1689 => x"70793155",
+1690 => x"55738f24",
+1691 => x"bb3880d7",
+1692 => x"b00b80d7",
+1693 => x"bc0c80d7",
+1694 => x"b00b80d7",
+1695 => x"b80c8074",
+1696 => x"2480db38",
+1697 => x"74168411",
+1698 => x"08810784",
+1699 => x"120c53fe",
+1700 => x"b0398816",
+1701 => x"8c110857",
+1702 => x"5975792e",
+1703 => x"098106fe",
+1704 => x"82388214",
+1705 => x"59ffab39",
+1706 => x"77167881",
+1707 => x"0784180c",
+1708 => x"7080d7bc",
+1709 => x"0c7080d7",
+1710 => x"b80c80d7",
+1711 => x"b00b8c12",
+1712 => x"0c8c1108",
+1713 => x"88120c74",
+1714 => x"81078412",
+1715 => x"0c740574",
+1716 => x"710c5b7c",
+1717 => x"518bd63f",
+1718 => x"881654fd",
+1719 => x"ec3983ff",
+1720 => x"75278391",
+1721 => x"3874892a",
+1722 => x"75832a54",
+1723 => x"5473802e",
+1724 => x"bf387486",
+1725 => x"2ab80553",
+1726 => x"847427b4",
+1727 => x"3880db14",
+1728 => x"53947427",
+1729 => x"ab38748c",
+1730 => x"2a80ee05",
+1731 => x"5380d474",
+1732 => x"279e3874",
+1733 => x"8f2a80f7",
+1734 => x"055382d4",
+1735 => x"74279138",
+1736 => x"74922a80",
+1737 => x"fc05538a",
+1738 => x"d4742784",
+1739 => x"3880fe53",
+1740 => x"72101010",
+1741 => x"80d7a805",
+1742 => x"88110855",
+1743 => x"5773772e",
+1744 => x"868b3884",
+1745 => x"1408fc06",
+1746 => x"5b747b27",
+1747 => x"8d388814",
+1748 => x"08547377",
+1749 => x"2e098106",
+1750 => x"ea388c14",
+1751 => x"0880d7a8",
+1752 => x"0b840508",
+1753 => x"718c190c",
+1754 => x"7588190c",
+1755 => x"7788130c",
+1756 => x"5c57758c",
+1757 => x"150c7853",
+1758 => x"80792483",
+1759 => x"98387282",
+1760 => x"2c81712b",
+1761 => x"5656747b",
+1762 => x"2680ca38",
+1763 => x"7a750657",
+1764 => x"7682a338",
+1765 => x"78fc0684",
+1766 => x"05597410",
+1767 => x"707c0655",
+1768 => x"55738292",
+1769 => x"38841959",
+1770 => x"f13980d7",
+1771 => x"a80b8405",
+1772 => x"0879545b",
+1773 => x"788025c6",
+1774 => x"3882da39",
+1775 => x"74097b06",
+1776 => x"7080d7a8",
+1777 => x"0b84050c",
+1778 => x"5b741055",
+1779 => x"747b2685",
+1780 => x"387485bc",
+1781 => x"3880d7a8",
+1782 => x"0b880508",
+1783 => x"70841208",
+1784 => x"fc06707b",
+1785 => x"317b7226",
+1786 => x"8f722507",
+1787 => x"5d575c5c",
+1788 => x"5578802e",
+1789 => x"80d93879",
+1790 => x"1580d7a0",
+1791 => x"08199011",
+1792 => x"59545680",
+1793 => x"d79c08ff",
+1794 => x"2e8838a0",
+1795 => x"8f13e080",
+1796 => x"06577652",
+1797 => x"7c518996",
+1798 => x"3f800854",
+1799 => x"8008ff2e",
+1800 => x"90388008",
+1801 => x"762782a7",
+1802 => x"387480d7",
+1803 => x"a82e829f",
+1804 => x"3880d7a8",
+1805 => x"0b880508",
+1806 => x"55841508",
+1807 => x"fc067079",
+1808 => x"31797226",
+1809 => x"8f722507",
+1810 => x"5d555a7a",
+1811 => x"83f23877",
+1812 => x"81078416",
+1813 => x"0c771570",
+1814 => x"80d7a80b",
+1815 => x"88050c74",
+1816 => x"81078412",
+1817 => x"0c567c51",
+1818 => x"88c33f88",
+1819 => x"15547380",
+1820 => x"0c8e3d0d",
+1821 => x"0474832a",
+1822 => x"70545480",
+1823 => x"7424819b",
+1824 => x"3872822c",
+1825 => x"81712b80",
+1826 => x"d7ac0807",
+1827 => x"7080d7a8",
+1828 => x"0b84050c",
+1829 => x"75101010",
+1830 => x"80d7a805",
+1831 => x"88110871",
+1832 => x"8c1b0c70",
+1833 => x"881b0c79",
+1834 => x"88130c57",
+1835 => x"555c5575",
+1836 => x"8c150cfd",
+1837 => x"c1397879",
+1838 => x"10101080",
+1839 => x"d7a80570",
+1840 => x"565b5c8c",
+1841 => x"14085675",
+1842 => x"742ea338",
+1843 => x"841608fc",
+1844 => x"06707931",
+1845 => x"5853768f",
+1846 => x"2483f138",
+1847 => x"76802584",
+1848 => x"af388c16",
+1849 => x"08567574",
+1850 => x"2e098106",
+1851 => x"df388814",
+1852 => x"811a7083",
+1853 => x"06555a54",
+1854 => x"72c9387b",
+1855 => x"83065675",
+1856 => x"802efdb8",
+1857 => x"38ff1cf8",
+1858 => x"1b5b5c88",
+1859 => x"1a087a2e",
+1860 => x"ea38fdb5",
+1861 => x"39831953",
+1862 => x"fce43983",
+1863 => x"1470822c",
+1864 => x"81712b80",
+1865 => x"d7ac0807",
+1866 => x"7080d7a8",
+1867 => x"0b84050c",
+1868 => x"76101010",
+1869 => x"80d7a805",
+1870 => x"88110871",
+1871 => x"8c1c0c70",
+1872 => x"881c0c7a",
+1873 => x"88130c58",
+1874 => x"535d5653",
+1875 => x"fee13980",
+1876 => x"d6ec0817",
+1877 => x"59800876",
+1878 => x"2e818b38",
+1879 => x"80d79c08",
+1880 => x"ff2e848e",
+1881 => x"38737631",
+1882 => x"1980d6ec",
+1883 => x"0c738706",
+1884 => x"70565372",
+1885 => x"802e8838",
+1886 => x"88733170",
+1887 => x"15555576",
+1888 => x"149fff06",
+1889 => x"a0807131",
+1890 => x"1670547e",
+1891 => x"53515386",
+1892 => x"9d3f8008",
+1893 => x"568008ff",
+1894 => x"2e819e38",
+1895 => x"80d6ec08",
+1896 => x"137080d6",
+1897 => x"ec0c7475",
+1898 => x"80d7a80b",
+1899 => x"88050c77",
+1900 => x"76311581",
+1901 => x"07555659",
+1902 => x"7a80d7a8",
+1903 => x"2e83c038",
+1904 => x"798f2682",
+1905 => x"ef38810b",
+1906 => x"84150c84",
+1907 => x"1508fc06",
+1908 => x"70793179",
+1909 => x"72268f72",
+1910 => x"25075d55",
+1911 => x"5a7a802e",
+1912 => x"fced3880",
+1913 => x"db398008",
+1914 => x"9fff0655",
+1915 => x"74feed38",
+1916 => x"7880d6ec",
+1917 => x"0c80d7a8",
+1918 => x"0b880508",
+1919 => x"7a188107",
+1920 => x"84120c55",
+1921 => x"80d79808",
+1922 => x"79278638",
+1923 => x"7880d798",
+1924 => x"0c80d794",
+1925 => x"087927fc",
+1926 => x"a0387880",
+1927 => x"d7940c84",
+1928 => x"1508fc06",
+1929 => x"70793179",
+1930 => x"72268f72",
+1931 => x"25075d55",
+1932 => x"5a7a802e",
+1933 => x"fc993888",
+1934 => x"39807457",
+1935 => x"53fedd39",
+1936 => x"7c5184e9",
+1937 => x"3f800b80",
+1938 => x"0c8e3d0d",
+1939 => x"04807324",
+1940 => x"a5387282",
+1941 => x"2c81712b",
+1942 => x"80d7ac08",
+1943 => x"077080d7",
+1944 => x"a80b8405",
+1945 => x"0c5c5a76",
+1946 => x"8c170c73",
+1947 => x"88170c75",
+1948 => x"88180cf9",
+1949 => x"fd398313",
+1950 => x"70822c81",
+1951 => x"712b80d7",
+1952 => x"ac080770",
+1953 => x"80d7a80b",
+1954 => x"84050c5d",
+1955 => x"5b53d839",
+1956 => x"7a75065c",
+1957 => x"7bfc9f38",
+1958 => x"84197510",
+1959 => x"5659f139",
+1960 => x"ff178105",
+1961 => x"59f7ab39",
+1962 => x"8c150888",
+1963 => x"1608718c",
+1964 => x"120c8812",
+1965 => x"0c597515",
+1966 => x"84110881",
+1967 => x"0784120c",
+1968 => x"587c5183",
+1969 => x"e83f8815",
+1970 => x"54fba339",
+1971 => x"77167881",
+1972 => x"0784180c",
+1973 => x"8c170888",
+1974 => x"1808718c",
+1975 => x"120c8812",
+1976 => x"0c5c7080",
+1977 => x"d7bc0c70",
+1978 => x"80d7b80c",
+1979 => x"80d7b00b",
+1980 => x"8c120c8c",
+1981 => x"11088812",
+1982 => x"0c778107",
+1983 => x"84120c77",
+1984 => x"0577710c",
+1985 => x"557c5183",
+1986 => x"a43f8816",
+1987 => x"54f5ba39",
+1988 => x"72168411",
+1989 => x"08810784",
+1990 => x"120c588c",
+1991 => x"16088817",
+1992 => x"08718c12",
+1993 => x"0c88120c",
+1994 => x"577c5183",
+1995 => x"803f8816",
+1996 => x"54f59639",
+1997 => x"7284150c",
+1998 => x"f41af806",
+1999 => x"70841d08",
+2000 => x"81060784",
+2001 => x"1d0c701c",
+2002 => x"5556850b",
+2003 => x"84150c85",
+2004 => x"0b88150c",
+2005 => x"8f7627fd",
+2006 => x"ab38881b",
+2007 => x"527c51eb",
+2008 => x"e83f80d7",
+2009 => x"a80b8805",
+2010 => x"0880d6ec",
+2011 => x"085a55fd",
+2012 => x"93397880",
+2013 => x"d6ec0c73",
+2014 => x"80d79c0c",
+2015 => x"fbef3972",
+2016 => x"84150cfc",
+2017 => x"ff39fb3d",
+2018 => x"0d77707a",
+2019 => x"7c585553",
+2020 => x"568f7527",
+2021 => x"80e63872",
+2022 => x"76078306",
+2023 => x"517080dc",
+2024 => x"38757352",
+2025 => x"54707084",
+2026 => x"05520874",
+2027 => x"70840556",
+2028 => x"0c737170",
+2029 => x"84055308",
+2030 => x"71708405",
+2031 => x"530c7170",
+2032 => x"84055308",
+2033 => x"71708405",
+2034 => x"530c7170",
+2035 => x"84055308",
+2036 => x"71708405",
+2037 => x"530cf016",
+2038 => x"5654748f",
+2039 => x"26c73883",
+2040 => x"75279538",
+2041 => x"70708405",
+2042 => x"52087470",
+2043 => x"8405560c",
+2044 => x"fc155574",
+2045 => x"8326ed38",
+2046 => x"73715452",
+2047 => x"ff155170",
+2048 => x"ff2e9838",
+2049 => x"72708105",
+2050 => x"54337270",
+2051 => x"81055434",
+2052 => x"ff115170",
+2053 => x"ff2e0981",
+2054 => x"06ea3875",
+2055 => x"800c873d",
+2056 => x"0d04fb3d",
+2057 => x"0d777a71",
+2058 => x"028c05a3",
+2059 => x"05335854",
+2060 => x"54568373",
+2061 => x"2780d438",
+2062 => x"75830651",
+2063 => x"7080cc38",
+2064 => x"74882b75",
+2065 => x"07707190",
+2066 => x"2b075551",
+2067 => x"8f7327a7",
+2068 => x"38737270",
+2069 => x"8405540c",
+2070 => x"71747170",
+2071 => x"8405530c",
+2072 => x"74717084",
+2073 => x"05530c74",
+2074 => x"71708405",
+2075 => x"530cf014",
+2076 => x"5452728f",
+2077 => x"26db3883",
+2078 => x"73279038",
+2079 => x"73727084",
+2080 => x"05540cfc",
+2081 => x"13537283",
+2082 => x"26f238ff",
+2083 => x"135170ff",
+2084 => x"2e933874",
+2085 => x"72708105",
+2086 => x"5434ff11",
+2087 => x"5170ff2e",
+2088 => x"098106ef",
+2089 => x"3875800c",
+2090 => x"873d0d04",
+2091 => x"04047070",
+2092 => x"7070800b",
+2093 => x"80dfe40c",
+2094 => x"765184f3",
+2095 => x"3f800853",
+2096 => x"8008ff2e",
+2097 => x"89387280",
+2098 => x"0c505050",
+2099 => x"500480df",
+2100 => x"e4085473",
+2101 => x"802eef38",
+2102 => x"7574710c",
+2103 => x"5272800c",
+2104 => x"50505050",
+2105 => x"04f93d0d",
+2106 => x"797c557b",
+2107 => x"548e1122",
+2108 => x"70902b70",
+2109 => x"902c5557",
+2110 => x"80cfec08",
+2111 => x"53585683",
+2112 => x"f63f8008",
+2113 => x"57800b80",
+2114 => x"08249338",
+2115 => x"80d01608",
+2116 => x"80080580",
+2117 => x"d0170c76",
+2118 => x"800c893d",
+2119 => x"0d048c16",
+2120 => x"2283dfff",
+2121 => x"0655748c",
+2122 => x"17237680",
+2123 => x"0c893d0d",
+2124 => x"04fa3d0d",
+2125 => x"788c1122",
+2126 => x"70882a70",
+2127 => x"81065157",
+2128 => x"585674a9",
+2129 => x"388c1622",
+2130 => x"83dfff06",
+2131 => x"55748c17",
+2132 => x"237a5479",
+2133 => x"538e1622",
+2134 => x"70902b70",
+2135 => x"902c5456",
+2136 => x"80cfec08",
+2137 => x"525681b2",
+2138 => x"3f883d0d",
+2139 => x"04825480",
+2140 => x"538e1622",
+2141 => x"70902b70",
+2142 => x"902c5456",
+2143 => x"80cfec08",
+2144 => x"525782bb",
+2145 => x"3f8c1622",
+2146 => x"83dfff06",
+2147 => x"55748c17",
+2148 => x"237a5479",
+2149 => x"538e1622",
+2150 => x"70902b70",
+2151 => x"902c5456",
+2152 => x"80cfec08",
+2153 => x"525680f2",
+2154 => x"3f883d0d",
+2155 => x"04f93d0d",
+2156 => x"797c557b",
+2157 => x"548e1122",
+2158 => x"70902b70",
+2159 => x"902c5557",
+2160 => x"80cfec08",
+2161 => x"53585681",
+2162 => x"f63f8008",
+2163 => x"578008ff",
+2164 => x"2e99388c",
+2165 => x"1622a080",
+2166 => x"0755748c",
+2167 => x"17238008",
+2168 => x"80d0170c",
+2169 => x"76800c89",
+2170 => x"3d0d048c",
+2171 => x"162283df",
+2172 => x"ff065574",
+2173 => x"8c172376",
+2174 => x"800c893d",
+2175 => x"0d047070",
+2176 => x"70748e11",
+2177 => x"2270902b",
+2178 => x"70902c55",
+2179 => x"51515380",
+2180 => x"cfec0851",
+2181 => x"bd3f5050",
+2182 => x"5004fb3d",
+2183 => x"0d800b80",
+2184 => x"dfe40c7a",
+2185 => x"53795278",
+2186 => x"5182fc3f",
+2187 => x"80085580",
+2188 => x"08ff2e88",
+2189 => x"3874800c",
+2190 => x"873d0d04",
+2191 => x"80dfe408",
+2192 => x"5675802e",
+2193 => x"f0387776",
+2194 => x"710c5474",
+2195 => x"800c873d",
+2196 => x"0d047070",
+2197 => x"7070800b",
+2198 => x"80dfe40c",
+2199 => x"765184c9",
+2200 => x"3f800853",
+2201 => x"8008ff2e",
+2202 => x"89387280",
+2203 => x"0c505050",
+2204 => x"500480df",
+2205 => x"e4085473",
+2206 => x"802eef38",
+2207 => x"7574710c",
+2208 => x"5272800c",
+2209 => x"50505050",
+2210 => x"04fc3d0d",
+2211 => x"800b80df",
+2212 => x"e40c7852",
+2213 => x"775187b0",
+2214 => x"3f800854",
+2215 => x"8008ff2e",
+2216 => x"88387380",
+2217 => x"0c863d0d",
+2218 => x"0480dfe4",
+2219 => x"08557480",
+2220 => x"2ef03876",
+2221 => x"75710c53",
+2222 => x"73800c86",
+2223 => x"3d0d04fb",
+2224 => x"3d0d800b",
+2225 => x"80dfe40c",
+2226 => x"7a537952",
+2227 => x"7851848b",
+2228 => x"3f800855",
+2229 => x"8008ff2e",
+2230 => x"88387480",
+2231 => x"0c873d0d",
+2232 => x"0480dfe4",
+2233 => x"08567580",
+2234 => x"2ef03877",
+2235 => x"76710c54",
+2236 => x"74800c87",
+2237 => x"3d0d04fb",
+2238 => x"3d0d800b",
+2239 => x"80dfe40c",
+2240 => x"7a537952",
+2241 => x"78518293",
+2242 => x"3f800855",
+2243 => x"8008ff2e",
+2244 => x"88387480",
+2245 => x"0c873d0d",
+2246 => x"0480dfe4",
+2247 => x"08567580",
+2248 => x"2ef03877",
+2249 => x"76710c54",
+2250 => x"74800c87",
+2251 => x"3d0d0470",
+2252 => x"707080df",
+2253 => x"d8088938",
+2254 => x"80dfe80b",
+2255 => x"80dfd80c",
+2256 => x"80dfd808",
+2257 => x"75115252",
+2258 => x"ff537087",
+2259 => x"fb808026",
+2260 => x"88387080",
+2261 => x"dfd80c71",
+2262 => x"5372800c",
+2263 => x"50505004",
+2264 => x"fd3d0d80",
+2265 => x"0b80cfe0",
+2266 => x"08545472",
+2267 => x"812e9b38",
+2268 => x"7380dfdc",
+2269 => x"0cc2af3f",
+2270 => x"c1863f80",
+2271 => x"dfb05281",
+2272 => x"51c3ff3f",
+2273 => x"80085186",
+2274 => x"bf3f7280",
+2275 => x"dfdc0cc2",
+2276 => x"953fc0ec",
+2277 => x"3f80dfb0",
+2278 => x"528151c3",
+2279 => x"e53f8008",
+2280 => x"5186a53f",
+2281 => x"00ff39f5",
+2282 => x"3d0d7e60",
+2283 => x"80dfdc08",
+2284 => x"705b585b",
+2285 => x"5b7580c2",
+2286 => x"38777a25",
+2287 => x"a138771b",
+2288 => x"70337081",
+2289 => x"ff065858",
+2290 => x"59758a2e",
+2291 => x"98387681",
+2292 => x"ff0651c1",
+2293 => x"b03f8118",
+2294 => x"58797824",
+2295 => x"e1387980",
+2296 => x"0c8d3d0d",
+2297 => x"048d51c1",
+2298 => x"9c3f7833",
+2299 => x"7081ff06",
+2300 => x"5257c191",
+2301 => x"3f811858",
+2302 => x"e0397955",
+2303 => x"7a547d53",
+2304 => x"85528d3d",
+2305 => x"fc0551c0",
+2306 => x"b93f8008",
+2307 => x"5685b23f",
+2308 => x"7b80080c",
+2309 => x"75800c8d",
+2310 => x"3d0d04f6",
+2311 => x"3d0d7d7f",
+2312 => x"80dfdc08",
+2313 => x"705b585a",
+2314 => x"5a7580c1",
+2315 => x"38777925",
+2316 => x"b338c0ac",
+2317 => x"3f800881",
+2318 => x"ff06708d",
+2319 => x"32703070",
+2320 => x"9f2a5151",
+2321 => x"5757768a",
+2322 => x"2e80c438",
+2323 => x"75802ebf",
+2324 => x"38771a56",
+2325 => x"76763476",
+2326 => x"51c0aa3f",
+2327 => x"81185878",
+2328 => x"7824cf38",
+2329 => x"77567580",
+2330 => x"0c8c3d0d",
+2331 => x"04785579",
+2332 => x"547c5384",
+2333 => x"528c3dfc",
+2334 => x"0551ffbf",
+2335 => x"c53f8008",
+2336 => x"5684be3f",
+2337 => x"7a80080c",
+2338 => x"75800c8c",
+2339 => x"3d0d0477",
+2340 => x"1a598a79",
+2341 => x"34811858",
+2342 => x"8d51ffbf",
+2343 => x"e83f8a51",
+2344 => x"ffbfe23f",
+2345 => x"7756ffbe",
+2346 => x"39fb3d0d",
+2347 => x"80dfdc08",
+2348 => x"70565473",
+2349 => x"88387480",
+2350 => x"0c873d0d",
+2351 => x"04775383",
+2352 => x"52873dfc",
+2353 => x"0551ffbe",
+2354 => x"f93f8008",
+2355 => x"5483f23f",
+2356 => x"7580080c",
+2357 => x"73800c87",
+2358 => x"3d0d04fa",
+2359 => x"3d0d80df",
+2360 => x"dc08802e",
+2361 => x"a3387a55",
+2362 => x"79547853",
+2363 => x"8652883d",
+2364 => x"fc0551ff",
+2365 => x"becc3f80",
+2366 => x"085683c5",
+2367 => x"3f768008",
+2368 => x"0c75800c",
+2369 => x"883d0d04",
+2370 => x"83b73f9d",
+2371 => x"0b80080c",
+2372 => x"ff0b800c",
+2373 => x"883d0d04",
+2374 => x"f73d0d7b",
+2375 => x"7d5b59bc",
+2376 => x"53805279",
+2377 => x"51f5fb3f",
+2378 => x"80705657",
+2379 => x"98567419",
+2380 => x"70337078",
+2381 => x"2b790781",
+2382 => x"18f81a5a",
+2383 => x"58595558",
+2384 => x"847524ea",
+2385 => x"38767a23",
+2386 => x"84195880",
+2387 => x"70565798",
+2388 => x"56741870",
+2389 => x"3370782b",
+2390 => x"79078118",
+2391 => x"f81a5a58",
+2392 => x"59515484",
+2393 => x"7524ea38",
+2394 => x"76821b23",
+2395 => x"88195880",
+2396 => x"70565798",
+2397 => x"56741870",
+2398 => x"3370782b",
+2399 => x"79078118",
+2400 => x"f81a5a58",
+2401 => x"59515484",
+2402 => x"7524ea38",
+2403 => x"76841b0c",
+2404 => x"8c195880",
+2405 => x"70565798",
+2406 => x"56741870",
+2407 => x"3370782b",
+2408 => x"79078118",
+2409 => x"f81a5a58",
+2410 => x"59515484",
+2411 => x"7524ea38",
+2412 => x"76881b23",
+2413 => x"90195880",
+2414 => x"70565798",
+2415 => x"56741870",
+2416 => x"3370782b",
+2417 => x"79078118",
+2418 => x"f81a5a58",
+2419 => x"59515484",
+2420 => x"7524ea38",
+2421 => x"768a1b23",
+2422 => x"94195880",
+2423 => x"70565798",
+2424 => x"56741870",
+2425 => x"3370782b",
+2426 => x"79078118",
+2427 => x"f81a5a58",
+2428 => x"59515484",
+2429 => x"7524ea38",
+2430 => x"768c1b23",
+2431 => x"98195880",
+2432 => x"70565798",
+2433 => x"56741870",
+2434 => x"3370782b",
+2435 => x"79078118",
+2436 => x"f81a5a58",
+2437 => x"59515484",
+2438 => x"7524ea38",
+2439 => x"768e1b23",
+2440 => x"9c195880",
+2441 => x"705657b8",
+2442 => x"56741870",
+2443 => x"3370782b",
+2444 => x"79078118",
+2445 => x"f81a5a58",
+2446 => x"595a5488",
+2447 => x"7524ea38",
+2448 => x"76901b0c",
+2449 => x"8b3d0d04",
+2450 => x"e93d0d6a",
+2451 => x"80dfdc08",
+2452 => x"57577593",
+2453 => x"3880c080",
+2454 => x"0b84180c",
+2455 => x"75ac180c",
+2456 => x"75800c99",
+2457 => x"3d0d0489",
+2458 => x"3d70556a",
+2459 => x"54558a52",
+2460 => x"993dffbc",
+2461 => x"0551ffbb",
+2462 => x"c93f8008",
+2463 => x"77537552",
+2464 => x"56fd953f",
+2465 => x"bc3f7780",
+2466 => x"080c7580",
+2467 => x"0c993d0d",
+2468 => x"04fc3d0d",
+2469 => x"815480df",
+2470 => x"dc088838",
+2471 => x"73800c86",
+2472 => x"3d0d0476",
+2473 => x"5397b952",
+2474 => x"863dfc05",
+2475 => x"51ffbb92",
+2476 => x"3f800854",
+2477 => x"8c3f7480",
+2478 => x"080c7380",
+2479 => x"0c863d0d",
+2480 => x"0480cfec",
+2481 => x"08800c04",
+2482 => x"f73d0d7b",
+2483 => x"80cfec08",
+2484 => x"82c81108",
+2485 => x"5a545a77",
+2486 => x"802e80da",
+2487 => x"38818818",
+2488 => x"841908ff",
+2489 => x"0581712b",
+2490 => x"59555980",
+2491 => x"742480ea",
+2492 => x"38807424",
+2493 => x"b5387382",
+2494 => x"2b781188",
+2495 => x"05565681",
+2496 => x"80190877",
+2497 => x"06537280",
+2498 => x"2eb63878",
+2499 => x"16700853",
+2500 => x"53795174",
+2501 => x"0853722d",
+2502 => x"ff14fc17",
+2503 => x"fc177981",
+2504 => x"2c5a5757",
+2505 => x"54738025",
+2506 => x"d6387708",
+2507 => x"5877ffad",
+2508 => x"3880cfec",
+2509 => x"0853bc13",
+2510 => x"08a53879",
+2511 => x"51f8e53f",
+2512 => x"74085372",
+2513 => x"2dff14fc",
+2514 => x"17fc1779",
+2515 => x"812c5a57",
+2516 => x"57547380",
+2517 => x"25ffa838",
+2518 => x"d1398057",
+2519 => x"ff933972",
+2520 => x"51bc1308",
+2521 => x"54732d79",
+2522 => x"51f8b93f",
+2523 => x"707080df",
+2524 => x"b80bfc05",
+2525 => x"70085252",
+2526 => x"70ff2e91",
+2527 => x"38702dfc",
+2528 => x"12700852",
+2529 => x"5270ff2e",
+2530 => x"098106f1",
+2531 => x"38505004",
+2532 => x"04ffbaff",
+2533 => x"3f040000",
+2534 => x"00000040",
+2535 => x"476f7420",
+2536 => x"696e7465",
+2537 => x"72727570",
+2538 => x"740a0000",
+2539 => x"4e6f2069",
+2540 => x"6e746572",
+2541 => x"72757074",
+2542 => x"0a000000",
+2543 => x"43000000",
+2544 => x"64756d6d",
+2545 => x"792e6578",
+2546 => x"65000000",
+2547 => x"00ffffff",
+2548 => x"ff00ffff",
+2549 => x"ffff00ff",
+2550 => x"ffffff00",
+2551 => x"00000000",
+2552 => x"00000000",
+2553 => x"00000000",
+2554 => x"00002fc0",
+2555 => x"000027f0",
+2556 => x"00000000",
+2557 => x"00002a58",
+2558 => x"00002ab4",
+2559 => x"00002b10",
+2560 => x"00000000",
+2561 => x"00000000",
+2562 => x"00000000",
+2563 => x"00000000",
+2564 => x"00000000",
+2565 => x"00000000",
+2566 => x"00000000",
+2567 => x"00000000",
+2568 => x"00000000",
+2569 => x"000027bc",
+2570 => x"00000000",
+2571 => x"00000000",
+2572 => x"00000000",
+2573 => x"00000000",
+2574 => x"00000000",
+2575 => x"00000000",
+2576 => x"00000000",
+2577 => x"00000000",
+2578 => x"00000000",
+2579 => x"00000000",
+2580 => x"00000000",
+2581 => x"00000000",
+2582 => x"00000000",
+2583 => x"00000000",
+2584 => x"00000000",
+2585 => x"00000000",
+2586 => x"00000000",
+2587 => x"00000000",
+2588 => x"00000000",
+2589 => x"00000000",
+2590 => x"00000000",
+2591 => x"00000000",
+2592 => x"00000000",
+2593 => x"00000000",
+2594 => x"00000000",
+2595 => x"00000000",
+2596 => x"00000000",
+2597 => x"00000000",
+2598 => x"00000001",
+2599 => x"330eabcd",
+2600 => x"1234e66d",
+2601 => x"deec0005",
+2602 => x"000b0000",
+2603 => x"00000000",
+2604 => x"00000000",
+2605 => x"00000000",
+2606 => x"00000000",
+2607 => x"00000000",
+2608 => x"00000000",
+2609 => x"00000000",
+2610 => x"00000000",
+2611 => x"00000000",
+2612 => x"00000000",
+2613 => x"00000000",
+2614 => x"00000000",
+2615 => x"00000000",
+2616 => x"00000000",
+2617 => x"00000000",
+2618 => x"00000000",
+2619 => x"00000000",
+2620 => x"00000000",
+2621 => x"00000000",
+2622 => x"00000000",
+2623 => x"00000000",
+2624 => x"00000000",
+2625 => x"00000000",
+2626 => x"00000000",
+2627 => x"00000000",
+2628 => x"00000000",
+2629 => x"00000000",
+2630 => x"00000000",
+2631 => x"00000000",
+2632 => x"00000000",
+2633 => x"00000000",
+2634 => x"00000000",
+2635 => x"00000000",
+2636 => x"00000000",
+2637 => x"00000000",
+2638 => x"00000000",
+2639 => x"00000000",
+2640 => x"00000000",
+2641 => x"00000000",
+2642 => x"00000000",
+2643 => x"00000000",
+2644 => x"00000000",
+2645 => x"00000000",
+2646 => x"00000000",
+2647 => x"00000000",
+2648 => x"00000000",
+2649 => x"00000000",
+2650 => x"00000000",
+2651 => x"00000000",
+2652 => x"00000000",
+2653 => x"00000000",
+2654 => x"00000000",
+2655 => x"00000000",
+2656 => x"00000000",
+2657 => x"00000000",
+2658 => x"00000000",
+2659 => x"00000000",
+2660 => x"00000000",
+2661 => x"00000000",
+2662 => x"00000000",
+2663 => x"00000000",
+2664 => x"00000000",
+2665 => x"00000000",
+2666 => x"00000000",
+2667 => x"00000000",
+2668 => x"00000000",
+2669 => x"00000000",
+2670 => x"00000000",
+2671 => x"00000000",
+2672 => x"00000000",
+2673 => x"00000000",
+2674 => x"00000000",
+2675 => x"00000000",
+2676 => x"00000000",
+2677 => x"00000000",
+2678 => x"00000000",
+2679 => x"00000000",
+2680 => x"00000000",
+2681 => x"00000000",
+2682 => x"00000000",
+2683 => x"00000000",
+2684 => x"00000000",
+2685 => x"00000000",
+2686 => x"00000000",
+2687 => x"00000000",
+2688 => x"00000000",
+2689 => x"00000000",
+2690 => x"00000000",
+2691 => x"00000000",
+2692 => x"00000000",
+2693 => x"00000000",
+2694 => x"00000000",
+2695 => x"00000000",
+2696 => x"00000000",
+2697 => x"00000000",
+2698 => x"00000000",
+2699 => x"00000000",
+2700 => x"00000000",
+2701 => x"00000000",
+2702 => x"00000000",
+2703 => x"00000000",
+2704 => x"00000000",
+2705 => x"00000000",
+2706 => x"00000000",
+2707 => x"00000000",
+2708 => x"00000000",
+2709 => x"00000000",
+2710 => x"00000000",
+2711 => x"00000000",
+2712 => x"00000000",
+2713 => x"00000000",
+2714 => x"00000000",
+2715 => x"00000000",
+2716 => x"00000000",
+2717 => x"00000000",
+2718 => x"00000000",
+2719 => x"00000000",
+2720 => x"00000000",
+2721 => x"00000000",
+2722 => x"00000000",
+2723 => x"00000000",
+2724 => x"00000000",
+2725 => x"00000000",
+2726 => x"00000000",
+2727 => x"00000000",
+2728 => x"00000000",
+2729 => x"00000000",
+2730 => x"00000000",
+2731 => x"00000000",
+2732 => x"00000000",
+2733 => x"00000000",
+2734 => x"00000000",
+2735 => x"00000000",
+2736 => x"00000000",
+2737 => x"00000000",
+2738 => x"00000000",
+2739 => x"00000000",
+2740 => x"00000000",
+2741 => x"00000000",
+2742 => x"00000000",
+2743 => x"00000000",
+2744 => x"00000000",
+2745 => x"00000000",
+2746 => x"00000000",
+2747 => x"00000000",
+2748 => x"00000000",
+2749 => x"00000000",
+2750 => x"00000000",
+2751 => x"00000000",
+2752 => x"00000000",
+2753 => x"00000000",
+2754 => x"00000000",
+2755 => x"00000000",
+2756 => x"00000000",
+2757 => x"00000000",
+2758 => x"00000000",
+2759 => x"00000000",
+2760 => x"00000000",
+2761 => x"00000000",
+2762 => x"00000000",
+2763 => x"00000000",
+2764 => x"00000000",
+2765 => x"00000000",
+2766 => x"00000000",
+2767 => x"00000000",
+2768 => x"00000000",
+2769 => x"00000000",
+2770 => x"00000000",
+2771 => x"00000000",
+2772 => x"00000000",
+2773 => x"00000000",
+2774 => x"00000000",
+2775 => x"00000000",
+2776 => x"00000000",
+2777 => x"00000000",
+2778 => x"00000000",
+2779 => x"00000000",
+2780 => x"00000000",
+2781 => x"00000000",
+2782 => x"00000000",
+2783 => x"00000000",
+2784 => x"00000000",
+2785 => x"00000000",
+2786 => x"00000000",
+2787 => x"00000000",
+2788 => x"00000000",
+2789 => x"00000000",
+2790 => x"00000000",
+2791 => x"ffffffff",
+2792 => x"00000000",
+2793 => x"00020000",
+2794 => x"00000000",
+2795 => x"00000000",
+2796 => x"00002ba8",
+2797 => x"00002ba8",
+2798 => x"00002bb0",
+2799 => x"00002bb0",
+2800 => x"00002bb8",
+2801 => x"00002bb8",
+2802 => x"00002bc0",
+2803 => x"00002bc0",
+2804 => x"00002bc8",
+2805 => x"00002bc8",
+2806 => x"00002bd0",
+2807 => x"00002bd0",
+2808 => x"00002bd8",
+2809 => x"00002bd8",
+2810 => x"00002be0",
+2811 => x"00002be0",
+2812 => x"00002be8",
+2813 => x"00002be8",
+2814 => x"00002bf0",
+2815 => x"00002bf0",
+2816 => x"00002bf8",
+2817 => x"00002bf8",
+2818 => x"00002c00",
+2819 => x"00002c00",
+2820 => x"00002c08",
+2821 => x"00002c08",
+2822 => x"00002c10",
+2823 => x"00002c10",
+2824 => x"00002c18",
+2825 => x"00002c18",
+2826 => x"00002c20",
+2827 => x"00002c20",
+2828 => x"00002c28",
+2829 => x"00002c28",
+2830 => x"00002c30",
+2831 => x"00002c30",
+2832 => x"00002c38",
+2833 => x"00002c38",
+2834 => x"00002c40",
+2835 => x"00002c40",
+2836 => x"00002c48",
+2837 => x"00002c48",
+2838 => x"00002c50",
+2839 => x"00002c50",
+2840 => x"00002c58",
+2841 => x"00002c58",
+2842 => x"00002c60",
+2843 => x"00002c60",
+2844 => x"00002c68",
+2845 => x"00002c68",
+2846 => x"00002c70",
+2847 => x"00002c70",
+2848 => x"00002c78",
+2849 => x"00002c78",
+2850 => x"00002c80",
+2851 => x"00002c80",
+2852 => x"00002c88",
+2853 => x"00002c88",
+2854 => x"00002c90",
+2855 => x"00002c90",
+2856 => x"00002c98",
+2857 => x"00002c98",
+2858 => x"00002ca0",
+2859 => x"00002ca0",
+2860 => x"00002ca8",
+2861 => x"00002ca8",
+2862 => x"00002cb0",
+2863 => x"00002cb0",
+2864 => x"00002cb8",
+2865 => x"00002cb8",
+2866 => x"00002cc0",
+2867 => x"00002cc0",
+2868 => x"00002cc8",
+2869 => x"00002cc8",
+2870 => x"00002cd0",
+2871 => x"00002cd0",
+2872 => x"00002cd8",
+2873 => x"00002cd8",
+2874 => x"00002ce0",
+2875 => x"00002ce0",
+2876 => x"00002ce8",
+2877 => x"00002ce8",
+2878 => x"00002cf0",
+2879 => x"00002cf0",
+2880 => x"00002cf8",
+2881 => x"00002cf8",
+2882 => x"00002d00",
+2883 => x"00002d00",
+2884 => x"00002d08",
+2885 => x"00002d08",
+2886 => x"00002d10",
+2887 => x"00002d10",
+2888 => x"00002d18",
+2889 => x"00002d18",
+2890 => x"00002d20",
+2891 => x"00002d20",
+2892 => x"00002d28",
+2893 => x"00002d28",
+2894 => x"00002d30",
+2895 => x"00002d30",
+2896 => x"00002d38",
+2897 => x"00002d38",
+2898 => x"00002d40",
+2899 => x"00002d40",
+2900 => x"00002d48",
+2901 => x"00002d48",
+2902 => x"00002d50",
+2903 => x"00002d50",
+2904 => x"00002d58",
+2905 => x"00002d58",
+2906 => x"00002d60",
+2907 => x"00002d60",
+2908 => x"00002d68",
+2909 => x"00002d68",
+2910 => x"00002d70",
+2911 => x"00002d70",
+2912 => x"00002d78",
+2913 => x"00002d78",
+2914 => x"00002d80",
+2915 => x"00002d80",
+2916 => x"00002d88",
+2917 => x"00002d88",
+2918 => x"00002d90",
+2919 => x"00002d90",
+2920 => x"00002d98",
+2921 => x"00002d98",
+2922 => x"00002da0",
+2923 => x"00002da0",
+2924 => x"00002da8",
+2925 => x"00002da8",
+2926 => x"00002db0",
+2927 => x"00002db0",
+2928 => x"00002db8",
+2929 => x"00002db8",
+2930 => x"00002dc0",
+2931 => x"00002dc0",
+2932 => x"00002dc8",
+2933 => x"00002dc8",
+2934 => x"00002dd0",
+2935 => x"00002dd0",
+2936 => x"00002dd8",
+2937 => x"00002dd8",
+2938 => x"00002de0",
+2939 => x"00002de0",
+2940 => x"00002de8",
+2941 => x"00002de8",
+2942 => x"00002df0",
+2943 => x"00002df0",
+2944 => x"00002df8",
+2945 => x"00002df8",
+2946 => x"00002e00",
+2947 => x"00002e00",
+2948 => x"00002e08",
+2949 => x"00002e08",
+2950 => x"00002e10",
+2951 => x"00002e10",
+2952 => x"00002e18",
+2953 => x"00002e18",
+2954 => x"00002e20",
+2955 => x"00002e20",
+2956 => x"00002e28",
+2957 => x"00002e28",
+2958 => x"00002e30",
+2959 => x"00002e30",
+2960 => x"00002e38",
+2961 => x"00002e38",
+2962 => x"00002e40",
+2963 => x"00002e40",
+2964 => x"00002e48",
+2965 => x"00002e48",
+2966 => x"00002e50",
+2967 => x"00002e50",
+2968 => x"00002e58",
+2969 => x"00002e58",
+2970 => x"00002e60",
+2971 => x"00002e60",
+2972 => x"00002e68",
+2973 => x"00002e68",
+2974 => x"00002e70",
+2975 => x"00002e70",
+2976 => x"00002e78",
+2977 => x"00002e78",
+2978 => x"00002e80",
+2979 => x"00002e80",
+2980 => x"00002e88",
+2981 => x"00002e88",
+2982 => x"00002e90",
+2983 => x"00002e90",
+2984 => x"00002e98",
+2985 => x"00002e98",
+2986 => x"00002ea0",
+2987 => x"00002ea0",
+2988 => x"00002ea8",
+2989 => x"00002ea8",
+2990 => x"00002eb0",
+2991 => x"00002eb0",
+2992 => x"00002eb8",
+2993 => x"00002eb8",
+2994 => x"00002ec0",
+2995 => x"00002ec0",
+2996 => x"00002ec8",
+2997 => x"00002ec8",
+2998 => x"00002ed0",
+2999 => x"00002ed0",
+3000 => x"00002ed8",
+3001 => x"00002ed8",
+3002 => x"00002ee0",
+3003 => x"00002ee0",
+3004 => x"00002ee8",
+3005 => x"00002ee8",
+3006 => x"00002ef0",
+3007 => x"00002ef0",
+3008 => x"00002ef8",
+3009 => x"00002ef8",
+3010 => x"00002f00",
+3011 => x"00002f00",
+3012 => x"00002f08",
+3013 => x"00002f08",
+3014 => x"00002f10",
+3015 => x"00002f10",
+3016 => x"00002f18",
+3017 => x"00002f18",
+3018 => x"00002f20",
+3019 => x"00002f20",
+3020 => x"00002f28",
+3021 => x"00002f28",
+3022 => x"00002f30",
+3023 => x"00002f30",
+3024 => x"00002f38",
+3025 => x"00002f38",
+3026 => x"00002f40",
+3027 => x"00002f40",
+3028 => x"00002f48",
+3029 => x"00002f48",
+3030 => x"00002f50",
+3031 => x"00002f50",
+3032 => x"00002f58",
+3033 => x"00002f58",
+3034 => x"00002f60",
+3035 => x"00002f60",
+3036 => x"00002f68",
+3037 => x"00002f68",
+3038 => x"00002f70",
+3039 => x"00002f70",
+3040 => x"00002f78",
+3041 => x"00002f78",
+3042 => x"00002f80",
+3043 => x"00002f80",
+3044 => x"00002f88",
+3045 => x"00002f88",
+3046 => x"00002f90",
+3047 => x"00002f90",
+3048 => x"00002f98",
+3049 => x"00002f98",
+3050 => x"00002fa0",
+3051 => x"00002fa0",
+3052 => x"000027c0",
+3053 => x"ffffffff",
+3054 => x"00000000",
+3055 => x"ffffffff",
+3056 => x"00000000",
+ others => x"00000000"
+);
+
+begin
+
+process (clk)
+begin
+ if (clk'event and clk = '1') then
+ if (memAWriteEnable = '1') and (memBWriteEnable = '1') and (memAAddr=memBAddr) and (memAWrite/=memBWrite) then
+ report "write collision" severity failure;
+ end if;
+
+ if (memAWriteEnable = '1') then
+ ram(to_integer(unsigned(memAAddr))) := memAWrite;
+ memARead <= memAWrite;
+ else
+ memARead <= ram(to_integer(unsigned(memAAddr)));
+ end if;
+ end if;
+end process;
+
+process (clk)
+begin
+ if (clk'event and clk = '1') then
+ if (memBWriteEnable = '1') then
+ ram(to_integer(unsigned(memBAddr))) := memBWrite;
+ memBRead <= memBWrite;
+ else
+ memBRead <= ram(to_integer(unsigned(memBAddr)));
+ end if;
+ end if;
+end process;
+
+
+
+
+end dualport_ram_arch;
diff --git a/zpu/hdl/example/log.txt b/zpu/hdl/example/log.txt
index 6966062..a8b4893 100644
--- a/zpu/hdl/example/log.txt
+++ b/zpu/hdl/example/log.txt
@@ -1,35 +1,55 @@
-H
-e
-l
-l
+N
o
-w
-o
+i
+n
+t
+e
r
-l
-d
-
-1
+r
+u
+p
+t
-H
-e
-l
-l
+G
o
+t
-w
-o
+i
+n
+t
+e
+r
r
-l
-d
+u
+p
+t
+
+
+
+
+
+
+N
+o
-2
+i
+n
+t
+e
+r
+r
+u
+p
+t
+
+
+
diff --git a/zpu/hdl/example/sim_small_fpga_top.vhd b/zpu/hdl/example/sim_small_fpga_top.vhd
index 5c05881..2a7a9f5 100644
--- a/zpu/hdl/example/sim_small_fpga_top.vhd
+++ b/zpu/hdl/example/sim_small_fpga_top.vhd
@@ -19,6 +19,7 @@
--------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
+use ieee.numeric_std.all;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
@@ -88,6 +89,9 @@ signal io_mem_readEnable : std_logic;
signal dram_ready : std_logic;
signal io_ready : std_logic;
signal io_reading : std_logic;
+signal interruptcounter : unsigned(15 downto 0);
+signal interrupt : std_logic;
+
signal break : std_logic;
@@ -108,7 +112,7 @@ begin
out_mem_writeEnable => mem_writeEnable,
out_mem_readEnable => mem_readEnable,
mem_writeMask => mem_writeMask,
- interrupt => '0',
+ interrupt => interrupt,
break => break);
@@ -146,6 +150,7 @@ begin
end if;
end process;
+
io_ready <= (io_reading or io_mem_readEnable) and not io_busy;
@@ -156,11 +161,23 @@ begin
enable <= '0';
io_reading <= '0';
dram_ready <= '0';
+
+ interruptcounter <= to_unsigned(32, 16);
+ interrupt <= '0';
+
elsif (clk'event and clk = '1') then
enable <= '1';
io_reading <= io_busy or io_mem_readEnable;
dram_ready<=dram_mem_readEnable;
+ -- keep interrupt signal high for 16 cycles
+ interruptcounter <= interruptcounter + 1;
+ if (interruptcounter < 16) then
+ report "Interrupt asserted!" severity note;
+ interrupt <='1';
+ else
+ interrupt <='0';
+ end if;
end if;
end process;
diff --git a/zpu/hdl/example/simzpu_interrupt.do b/zpu/hdl/example/simzpu_interrupt.do
new file mode 100644
index 0000000..864bf76
--- /dev/null
+++ b/zpu/hdl/example/simzpu_interrupt.do
@@ -0,0 +1,29 @@
+# Xilinx WebPack modelsim script
+#
+#
+# cd C:/workspace/zpu/zpu/hdl/example
+# do simzpu_interrupt.do
+
+set BreakOnAssertion 1
+vlib work
+
+vcom -93 -explicit zpu_config.vhd
+vcom -93 -explicit ../zpu4/core/zpupkg.vhd
+vcom -93 -explicit ../zpu4/src/txt_util.vhd
+vcom -93 -explicit sim_small_fpga_top.vhd
+vcom -93 -explicit ../zpu4/core/zpu_core_small.vhd
+vcom -93 -explicit interrupt.vhd
+vcom -93 -explicit ../zpu4/src/timer.vhd
+vcom -93 -explicit ../zpu4/src/io.vhd
+vcom -93 -explicit ../zpu4/src/trace.vhd
+
+# run ZPU
+vsim fpga_top
+view wave
+add wave -recursive fpga_top/zpu/*
+#add wave -recursive fpga_top/*
+view structure
+#view signals
+
+# Enough to run tiny programs
+run 10 ms
diff --git a/zpu/hdl/example_medium/.cvsignore b/zpu/hdl/example_medium/.cvsignore
new file mode 100644
index 0000000..3add443
--- /dev/null
+++ b/zpu/hdl/example_medium/.cvsignore
@@ -0,0 +1,4 @@
+vsim.wlf
+work
+log.txt
+trace.txt
diff --git a/zpu/hdl/zpu4/src/dram_dmips.vhd b/zpu/hdl/example_medium/dram_dmips.vhd
index a9fd59e..a9fd59e 100644
--- a/zpu/hdl/zpu4/src/dram_dmips.vhd
+++ b/zpu/hdl/example_medium/dram_dmips.vhd
diff --git a/zpu/hdl/zpu4/src/dram_hello.vhd b/zpu/hdl/example_medium/dram_hello.vhd
index 4f02cca..4f02cca 100644
--- a/zpu/hdl/zpu4/src/dram_hello.vhd
+++ b/zpu/hdl/example_medium/dram_hello.vhd
diff --git a/zpu/hdl/example_medium/simzpu_medium.do b/zpu/hdl/example_medium/simzpu_medium.do
index a6c1fe2..2b77ba6 100644
--- a/zpu/hdl/example_medium/simzpu_medium.do
+++ b/zpu/hdl/example_medium/simzpu_medium.do
@@ -1,20 +1,20 @@
# Xilinx WebPack modelsim script
#
-# cd C:/workspace/zpu/zpu/hdl/zpu4/src
+# cd C:/workspace/zpu/zpu/hdl/example_medium
# do simzpu_medium.do
set BreakOnAssertion 1
vlib work
vcom -93 -explicit zpu_config_trace.vhd
-vcom -93 -explicit zpupkg.vhd
-vcom -93 -explicit txt_util.vhd
+vcom -93 -explicit ../zpu4/core/zpupkg.vhd
+vcom -93 -explicit ../zpu4/src/txt_util.vhd
vcom -93 -explicit sim_fpga_top.vhd
-vcom -93 -explicit zpu_core.vhd
+vcom -93 -explicit ../zpu4/core/zpu_core.vhd
vcom -93 -explicit dram_hello.vhd
-vcom -93 -explicit timer.vhd
-vcom -93 -explicit io.vhd
-vcom -93 -explicit trace.vhd
+vcom -93 -explicit ../zpu4/src/timer.vhd
+vcom -93 -explicit ../zpu4/src/io.vhd
+vcom -93 -explicit ../zpu4/src/trace.vhd
# run ZPU
vsim fpga_top
diff --git a/zpu/hdl/zpu4/src/zpu_config_trace.vhd b/zpu/hdl/example_medium/zpu_config_trace.vhd
index d765d9a..d765d9a 100644
--- a/zpu/hdl/zpu4/src/zpu_config_trace.vhd
+++ b/zpu/hdl/example_medium/zpu_config_trace.vhd
diff --git a/zpu/hdl/index.html b/zpu/hdl/index.html
index d5bc256..e206113 100644
--- a/zpu/hdl/index.html
+++ b/zpu/hdl/index.html
@@ -4,8 +4,9 @@
The simplest version of the ZPU uses BRAM. When getting accustomed to the ZPU, a BRAM ZPU with a UART
is a good place to start.
<p>
-You'll find a working simulation script in hdl/example/simzpu_small.do and hdl/zpu4/src/simzpu_medium.do, which
-show simulation of the small(zpu_core_small.vhd) and medium sized ZPU(zpu_core.vhd).
+You'll find a working simulation script in hdl/example/simzpu_small.do and hdl/example_medium/simzpu_medium.do, which
+show simulation of the small(zpu_core_small.vhd) and medium sized ZPU(zpu_core.vhd). hdl/example/simzpu_interrupt.do
+shows use of interrupts.
<p>
When implementing the ZPU, copy the following files and modify them to your needs:
<ol>
diff --git a/zpu/hdl/zpu4/core/zpu_core_small.vhd b/zpu/hdl/zpu4/core/zpu_core_small.vhd
index 9cda01c..03526bd 100644
--- a/zpu/hdl/zpu4/core/zpu_core_small.vhd
+++ b/zpu/hdl/zpu4/core/zpu_core_small.vhd
@@ -81,7 +81,9 @@ State_FetchNext,
State_AddSP,
State_ReadIODone,
State_Decode,
-State_Resync
+State_Resync,
+State_Interrupt
+
);
type DecodedOpcodeType is
@@ -103,7 +105,8 @@ Decoded_Load,
Decoded_Not,
Decoded_Flip,
Decoded_Store,
-Decoded_PopSP
+Decoded_PopSP,
+Decoded_Interrupt
);
@@ -125,11 +128,15 @@ signal memBAddr_stdlogic : std_logic_vector(AddrBitBRAM_range);
signal memBWrite_stdlogic : std_logic_vector(memBWrite'range);
signal memBRead_stdlogic : std_logic_vector(memBRead'range);
--- debug
-subtype index is integer range 0 to 3;
-signal tOpcode_sel : index;
-
-
+subtype index is integer range 0 to 3;
+
+signal tOpcode_sel : index;
+
+
+signal inInterrupt : std_logic;
+
+
+
begin
traceFileGenerate:
if Generate_Trace generate
@@ -146,8 +153,13 @@ begin
);
end generate;
- --<JK> not used in this design
- mem_writeMask <= (others => '1');
+
+
+ -- not used in this design
+
+ mem_writeMask <= (others => '1');
+
+
memAAddr_stdlogic <= std_logic_vector(memAAddr(AddrBitBRAM_range));
memAWrite_stdlogic <= std_logic_vector(memAWrite);
@@ -167,23 +179,31 @@ begin
memARead <= unsigned(memARead_stdlogic);
memBRead <= unsigned(memBRead_stdlogic);
-tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
+
+
+ tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
+
decodeControl:
- process(memBRead, pc,tOpcode_sel)
+ process(memBRead, pc,tOpcode_sel)
variable tOpcode : std_logic_vector(OpCode_Size-1 downto 0);
begin
- --<JK> not worked with synopsys
- --<JK> tOpcode := std_logic_vector(memBRead((wordBytes-1-to_integer(pc(minAddrBit-1 downto 0))+1)*8-1 downto (wordBytes-1-to_integer(pc(minAddrBit-1 downto 0)))*8));
- --<JK> use full case
- case (tOpcode_sel) is
- when 0 => tOpcode := std_logic_vector(memBRead(31 downto 24));
- when 1 => tOpcode := std_logic_vector(memBRead(23 downto 16));
- when 2 => tOpcode := std_logic_vector(memBRead(15 downto 8));
- when 3 => tOpcode := std_logic_vector(memBRead(7 downto 0));
- when others => tOpcode := std_logic_vector(memBRead(7 downto 0));
- end case;
+
+ -- simplify opcode selection a bit so it passes more synthesizers
+ case (tOpcode_sel) is
+
+ when 0 => tOpcode := std_logic_vector(memBRead(31 downto 24));
+
+ when 1 => tOpcode := std_logic_vector(memBRead(23 downto 16));
+
+ when 2 => tOpcode := std_logic_vector(memBRead(15 downto 8));
+
+ when 3 => tOpcode := std_logic_vector(memBRead(7 downto 0));
+
+ when others => tOpcode := std_logic_vector(memBRead(7 downto 0));
+ end case;
+
sampledOpcode <= tOpcode;
if (tOpcode(7 downto 7)=OpCode_Im) then
@@ -246,13 +266,12 @@ tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
out_mem_readEnable <= '0';
memAWrite <= (others => '0');
memBWrite <= (others => '0');
- -- avoid Latch in synopsys
- -- mem_writeMask <= (others => '1');
+ inInterrupt <= '0';
elsif (clk'event and clk = '1') then
memAWriteEnable <= '0';
memBWriteEnable <= '0';
-- This saves ca. 100 LUT's, by explicitly declaring that the
- -- memAWrite can be left at whatever value if memAWriteEnable is
+ -- memAWrite can be left at whatever value if memAWriteEnable is
-- not set.
memAWrite <= (others => DontCareValue);
memBWrite <= (others => DontCareValue);
@@ -270,6 +289,9 @@ tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
decodedOpcode <= sampledDecodedOpcode;
opcode <= sampledOpcode;
+ if interrupt='0' then
+ inInterrupt <= '0'; -- no longer in an interrupt
+ end if;
case state is
when State_Execute =>
@@ -295,6 +317,14 @@ tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
idim_flag <= '0';
case decodedOpcode is
+ when Decoded_Interrupt =>
+ sp <= sp - 1;
+ memAAddr <= sp - 1;
+ memAWriteEnable <= '1';
+ memAWrite <= (others => DontCareValue);
+ memAWrite(maxAddrBit downto 0) <= pc;
+ pc <= to_unsigned(32, maxAddrBit+1); -- interrupt address
+ report "ZPU jumped to interrupt!" severity note;
when Decoded_Im =>
idim_flag <= '1';
memAWriteEnable <= '1';
@@ -422,6 +452,11 @@ tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
memBAddr <= sp + 1;
state <= State_Decode;
when State_Decode =>
+ if interrupt='1' and inInterrupt='0' and idim_flag='0' then
+ -- We got an interrupt, execute interrupt instead of next instruction
+ inInterrupt <= '1';
+ decodedOpcode <= Decoded_Interrupt;
+ end if;
-- during the State_Execute cycle we'll be fetching SP+1
memAAddr <= sp;
memBAddr <= sp + 1;
diff --git a/zpu/hdl/zpu4/core/zpu_core_small_wip.vhd b/zpu/hdl/zpu4/core/zpu_core_small_wip.vhd
deleted file mode 100644
index a169103..0000000
--- a/zpu/hdl/zpu4/core/zpu_core_small_wip.vhd
+++ /dev/null
@@ -1,498 +0,0 @@
--- Company: ZPU3
--- Engineer: Øyvind Harboe
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-use ieee.numeric_std.all;
-
-library work;
-use work.zpu_config.all;
-use work.zpupkg.all;
-
-
-entity zpu_core is
- Port ( clk : in std_logic;
- areset : in std_logic;
- enable : in std_logic;
- in_mem_busy : in std_logic;
- mem_read : in std_logic_vector(wordSize-1 downto 0);
- mem_write : out std_logic_vector(wordSize-1 downto 0);
- out_mem_addr : out std_logic_vector(maxAddrBitIncIO downto 0);
- out_mem_writeEnable : out std_logic;
- out_mem_readEnable : out std_logic;
- mem_writeMask: out std_logic_vector(wordBytes-1 downto 0);
- interrupt : in std_logic;
- break : out std_logic);
-end zpu_core;
-
-architecture behave of zpu_core is
-
-signal readIO : std_logic;
-
-
-
-signal memAWriteEnable : std_logic;
-signal memAAddr : unsigned(maxAddrBit downto minAddrBit);
-signal memAWrite : unsigned(wordSize-1 downto 0);
-signal memARead : unsigned(wordSize-1 downto 0);
-signal memBWriteEnable : std_logic;
-signal memBAddr : unsigned(maxAddrBit downto minAddrBit);
-signal memBWrite : unsigned(wordSize-1 downto 0);
-signal memBRead : unsigned(wordSize-1 downto 0);
-
-
-
-signal pc : unsigned(maxAddrBit downto 0);
-signal sp : unsigned(maxAddrBit downto minAddrBit);
-
-signal idim_flag : std_logic;
-
---signal storeToStack : std_logic;
---signal fetchNextInstruction : std_logic;
---signal extraCycle : std_logic;
-signal busy : std_logic;
---signal fetching : std_logic;
-
-signal begin_inst : std_logic;
-
-
-
-signal trace_opcode : std_logic_vector(7 downto 0);
-signal trace_pc : std_logic_vector(maxAddrBitIncIO downto 0);
-signal trace_sp : std_logic_vector(maxAddrBitIncIO downto minAddrBit);
-signal trace_topOfStack : std_logic_vector(wordSize-1 downto 0);
-signal trace_topOfStackB : std_logic_vector(wordSize-1 downto 0);
-
--- state machine.
-type State_Type is
-(
-State_Fetch,
-State_WriteIODone,
-State_Execute,
-State_StoreToStack,
-State_Add,
-State_Or,
-State_And,
-State_Store,
-State_ReadIO,
-State_WriteIO,
-State_Load,
-State_FetchNext,
-State_AddSP,
-State_ReadIODone,
-State_Decode,
-State_Resync,
-State_Interrupt
-
-);
-
-type DecodedOpcodeType is
-(
-Decoded_Nop,
-Decoded_Im,
-Decoded_ImShift,
-Decoded_LoadSP,
-Decoded_StoreSP ,
-Decoded_AddSP,
-Decoded_Emulate,
-Decoded_Break,
-Decoded_PushSP,
-Decoded_PopPC,
-Decoded_Add,
-Decoded_Or,
-Decoded_And,
-Decoded_Load,
-Decoded_Not,
-Decoded_Flip,
-Decoded_Store,
-Decoded_PopSP
-);
-
-
-
-signal sampledOpcode : std_logic_vector(OpCode_Size-1 downto 0);
-signal opcode : std_logic_vector(OpCode_Size-1 downto 0);
-
-signal decodedOpcode : DecodedOpcodeType;
-signal sampledDecodedOpcode : DecodedOpcodeType;
-
-
-signal state : State_Type;
-
-subtype AddrBitBRAM_range is natural range maxAddrBitBRAM downto minAddrBit;
-signal memAAddr_stdlogic : std_logic_vector(AddrBitBRAM_range);
-signal memAWrite_stdlogic : std_logic_vector(memAWrite'range);
-signal memARead_stdlogic : std_logic_vector(memARead'range);
-signal memBAddr_stdlogic : std_logic_vector(AddrBitBRAM_range);
-signal memBWrite_stdlogic : std_logic_vector(memBWrite'range);
-signal memBRead_stdlogic : std_logic_vector(memBRead'range);
-
-subtype index is integer range 0 to 3;
-
-signal tOpcode_sel : index;
-
-
-signal inInterrupt : std_logic;
-
-
-
-begin
- traceFileGenerate:
- if Generate_Trace generate
- trace_file: trace port map (
- clk => clk,
- begin_inst => begin_inst,
- pc => trace_pc,
- opcode => trace_opcode,
- sp => trace_sp,
- memA => trace_topOfStack,
- memB => trace_topOfStackB,
- busy => busy,
- intsp => (others => 'U')
- );
- end generate;
-
-
-
- -- not used in this design
-
- mem_writeMask <= (others => '1');
-
-
-
- memAAddr_stdlogic <= std_logic_vector(memAAddr(AddrBitBRAM_range));
- memAWrite_stdlogic <= std_logic_vector(memAWrite);
- memBAddr_stdlogic <= std_logic_vector(memBAddr(AddrBitBRAM_range));
- memBWrite_stdlogic <= std_logic_vector(memBWrite);
- memory: dualport_ram port map (
- clk => clk,
- memAWriteEnable => memAWriteEnable,
- memAAddr => memAAddr_stdlogic,
- memAWrite => memAWrite_stdlogic,
- memARead => memARead_stdlogic,
- memBWriteEnable => memBWriteEnable,
- memBAddr => memBAddr_stdlogic,
- memBWrite => memBWrite_stdlogic,
- memBRead => memBRead_stdlogic
- );
- memARead <= unsigned(memARead_stdlogic);
- memBRead <= unsigned(memBRead_stdlogic);
-
-
-
- tOpcode_sel <= to_integer(pc(minAddrBit-1 downto 0));
-
-
-
- decodeControl:
- process(memBRead, pc,tOpcode_sel)
- variable tOpcode : std_logic_vector(OpCode_Size-1 downto 0);
- begin
-
- -- simplify opcode selection a bit so it passes more synthesizers
- case (tOpcode_sel) is
-
- when 0 => tOpcode := std_logic_vector(memBRead(31 downto 24));
-
- when 1 => tOpcode := std_logic_vector(memBRead(23 downto 16));
-
- when 2 => tOpcode := std_logic_vector(memBRead(15 downto 8));
-
- when 3 => tOpcode := std_logic_vector(memBRead(7 downto 0));
-
- when others => tOpcode := std_logic_vector(memBRead(7 downto 0));
- end case;
-
- sampledOpcode <= tOpcode;
-
- if (tOpcode(7 downto 7)=OpCode_Im) then
- sampledDecodedOpcode<=Decoded_Im;
- elsif (tOpcode(7 downto 5)=OpCode_StoreSP) then
- sampledDecodedOpcode<=Decoded_StoreSP;
- elsif (tOpcode(7 downto 5)=OpCode_LoadSP) then
- sampledDecodedOpcode<=Decoded_LoadSP;
- elsif (tOpcode(7 downto 5)=OpCode_Emulate) then
- sampledDecodedOpcode<=Decoded_Emulate;
- elsif (tOpcode(7 downto 4)=OpCode_AddSP) then
- sampledDecodedOpcode<=Decoded_AddSP;
- else
- case tOpcode(3 downto 0) is
- when OpCode_Break =>
- sampledDecodedOpcode<=Decoded_Break;
- when OpCode_PushSP =>
- sampledDecodedOpcode<=Decoded_PushSP;
- when OpCode_PopPC =>
- sampledDecodedOpcode<=Decoded_PopPC;
- when OpCode_Add =>
- sampledDecodedOpcode<=Decoded_Add;
- when OpCode_Or =>
- sampledDecodedOpcode<=Decoded_Or;
- when OpCode_And =>
- sampledDecodedOpcode<=Decoded_And;
- when OpCode_Load =>
- sampledDecodedOpcode<=Decoded_Load;
- when OpCode_Not =>
- sampledDecodedOpcode<=Decoded_Not;
- when OpCode_Flip =>
- sampledDecodedOpcode<=Decoded_Flip;
- when OpCode_Store =>
- sampledDecodedOpcode<=Decoded_Store;
- when OpCode_PopSP =>
- sampledDecodedOpcode<=Decoded_PopSP;
- when others =>
- sampledDecodedOpcode<=Decoded_Nop;
- end case;
- end if;
- end process;
-
-
- opcodeControl:
- process(clk, areset)
- variable spOffset : unsigned(4 downto 0);
- begin
- if areset = '1' then
- state <= State_Resync;
- break <= '0';
- sp <= unsigned(spStart(maxAddrBit downto minAddrBit));
- pc <= (others => '0');
- idim_flag <= '0';
- begin_inst <= '0';
- memAAddr <= (others => '0');
- memBAddr <= (others => '0');
- memAWriteEnable <= '0';
- memBWriteEnable <= '0';
- out_mem_writeEnable <= '0';
- out_mem_readEnable <= '0';
- memAWrite <= (others => '0');
- memBWrite <= (others => '0');
- inInterrupt <= '0';
- elsif (clk'event and clk = '1') then
- memAWriteEnable <= '0';
- memBWriteEnable <= '0';
- -- This saves ca. 100 LUT's, by explicitly declaring that the
- -- memAWrite can be left at whatever value if memAWriteEnable is
- -- not set.
- memAWrite <= (others => DontCareValue);
- memBWrite <= (others => DontCareValue);
--- out_mem_addr <= (others => DontCareValue);
--- mem_write <= (others => DontCareValue);
- spOffset := (others => DontCareValue);
- memAAddr <= (others => DontCareValue);
- memBAddr <= (others => DontCareValue);
-
- out_mem_writeEnable <= '0';
- out_mem_readEnable <= '0';
- begin_inst <= '0';
- out_mem_addr <= std_logic_vector(memARead(maxAddrBitIncIO downto 0));
- mem_write <= std_logic_vector(memBRead);
-
- decodedOpcode <= sampledDecodedOpcode;
- opcode <= sampledOpcode;
- if interrupt='0' then
- inInterrupt <= '0'; -- no longer in an interrupt
- end if;
-
- case state is
- when State_Execute =>
- state <= State_Fetch;
- -- at this point:
- -- memBRead contains opcode word
- -- memARead contains top of stack
- pc <= pc + 1;
-
- -- trace
- begin_inst <= '1';
- trace_pc <= (others => '0');
- trace_pc(maxAddrBit downto 0) <= std_logic_vector(pc);
- trace_opcode <= opcode;
- trace_sp <= (others => '0');
- trace_sp(maxAddrBit downto minAddrBit) <= std_logic_vector(sp);
- trace_topOfStack <= std_logic_vector(memARead);
- trace_topOfStackB <= std_logic_vector(memBRead);
-
- -- during the next cycle we'll be reading the next opcode
- spOffset(4):=not opcode(4);
- spOffset(3 downto 0) := unsigned(opcode(3 downto 0));
-
- idim_flag <= '0';
- case decodedOpcode is
- when Decoded_Interrupt =>
- sp <= sp - 1;
- memAAddr <= sp - 1;
- memAWriteEnable <= '1';
- memAWrite <= (others => DontCareValue);
- memAWrite(maxAddrBitIncIO downto 0) <= pc;
- pc <= conv_std_logic_vector(32, maxAddrBitIncIo+1); -- interrupt address
- report "ZPU jumped to interrupt!" severity note;
- when Decoded_Im =>
- idim_flag <= '1';
- memAWriteEnable <= '1';
- if (idim_flag='0') then
- sp <= sp - 1;
- memAAddr <= sp-1;
- for i in wordSize-1 downto 7 loop
- memAWrite(i) <= opcode(6);
- end loop;
- memAWrite(6 downto 0) <= unsigned(opcode(6 downto 0));
- else
- memAAddr <= sp;
- memAWrite(wordSize-1 downto 7) <= memARead(wordSize-8 downto 0);
- memAWrite(6 downto 0) <= unsigned(opcode(6 downto 0));
- end if;
- when Decoded_StoreSP =>
- memBWriteEnable <= '1';
- memBAddr <= sp+spOffset;
- memBWrite <= memARead;
- sp <= sp + 1;
- state <= State_Resync;
- when Decoded_LoadSP =>
- sp <= sp - 1;
- memAAddr <= sp+spOffset;
- when Decoded_Emulate =>
- sp <= sp - 1;
- memAWriteEnable <= '1';
- memAAddr <= sp - 1;
- memAWrite <= (others => DontCareValue);
- memAWrite(maxAddrBit downto 0) <= pc + 1;
- -- The emulate address is:
- -- 98 7654 3210
- -- 0000 00aa aaa0 0000
- pc <= (others => '0');
- pc(9 downto 5) <= unsigned(opcode(4 downto 0));
- when Decoded_AddSP =>
- memAAddr <= sp;
- memBAddr <= sp+spOffset;
- state <= State_AddSP;
- when Decoded_Break =>
- report "Break instruction encountered" severity failure;
- break <= '1';
- when Decoded_PushSP =>
- memAWriteEnable <= '1';
- memAAddr <= sp - 1;
- sp <= sp - 1;
- memAWrite <= (others => DontCareValue);
- memAWrite(maxAddrBit downto minAddrBit) <= sp;
- when Decoded_PopPC =>
- pc <= memARead(maxAddrBit downto 0);
- sp <= sp + 1;
- state <= State_Resync;
- when Decoded_Add =>
- sp <= sp + 1;
- state <= State_Add;
- when Decoded_Or =>
- sp <= sp + 1;
- state <= State_Or;
- when Decoded_And =>
- sp <= sp + 1;
- state <= State_And;
- when Decoded_Load =>
- if (memARead(ioBit)='1') then
- out_mem_addr <= std_logic_vector(memARead(maxAddrBitIncIO downto 0));
- out_mem_readEnable <= '1';
- state <= State_ReadIO;
- else
- memAAddr <= memARead(maxAddrBit downto minAddrBit);
- end if;
- when Decoded_Not =>
- memAAddr <= sp(maxAddrBit downto minAddrBit);
- memAWriteEnable <= '1';
- memAWrite <= not memARead;
- when Decoded_Flip =>
- memAAddr <= sp(maxAddrBit downto minAddrBit);
- memAWriteEnable <= '1';
- for i in 0 to wordSize-1 loop
- memAWrite(i) <= memARead(wordSize-1-i);
- end loop;
- when Decoded_Store =>
- memBAddr <= sp + 1;
- sp <= sp + 1;
- if (memARead(ioBit)='1') then
- state <= State_WriteIO;
- else
- state <= State_Store;
- end if;
- when Decoded_PopSP =>
- sp <= memARead(maxAddrBit downto minAddrBit);
- state <= State_Resync;
- when Decoded_Nop =>
- memAAddr <= sp;
- when others =>
- null;
- end case;
- when State_ReadIO =>
- if (in_mem_busy = '0') then
- state <= State_Fetch;
- memAWriteEnable <= '1';
- memAWrite <= unsigned(mem_read);
- end if;
- when State_WriteIO =>
- sp <= sp + 1;
- out_mem_writeEnable <= '1';
- out_mem_addr <= std_logic_vector(memARead(maxAddrBitIncIO downto 0));
- mem_write <= std_logic_vector(memBRead);
- state <= State_WriteIODone;
- when State_WriteIODone =>
- if (in_mem_busy = '0') then
- state <= State_Resync;
- end if;
- when State_Fetch =>
- -- We need to resync. During the *next* cycle
- -- we'll fetch the opcode @ pc and thus it will
- -- be available for State_Execute the cycle after
- -- next
- memBAddr <= pc(maxAddrBit downto minAddrBit);
- state <= State_FetchNext;
- when State_FetchNext =>
- -- at this point memARead contains the value that is either
- -- from the top of stack or should be copied to the top of the stack
- memAWriteEnable <= '1';
- memAWrite <= memARead;
- memAAddr <= sp;
- memBAddr <= sp + 1;
- state <= State_Decode;
- when State_Decode =>
- if interrupt='1' and inInterrupt='0' and idim_flag='0' then
- -- We got an interrupt, execute interrupt instead of next instruction
- inInterrupt <= '1';
- decodedOpcode <= Decoded_Interrupt;
- end if;
- -- during the State_Execute cycle we'll be fetching SP+1
- memAAddr <= sp;
- memBAddr <= sp + 1;
- state <= State_Execute;
- when State_Store =>
- sp <= sp + 1;
- memAWriteEnable <= '1';
- memAAddr <= memARead(maxAddrBit downto minAddrBit);
- memAWrite <= memBRead;
- state <= State_Resync;
- when State_AddSP =>
- state <= State_Add;
- when State_Add =>
- memAAddr <= sp;
- memAWriteEnable <= '1';
- memAWrite <= memARead + memBRead;
- state <= State_Fetch;
- when State_Or =>
- memAAddr <= sp;
- memAWriteEnable <= '1';
- memAWrite <= memARead or memBRead;
- state <= State_Fetch;
- when State_Resync =>
- memAAddr <= sp;
- state <= State_Fetch;
- when State_And =>
- memAAddr <= sp;
- memAWriteEnable <= '1';
- memAWrite <= memARead and memBRead;
- state <= State_Fetch;
- when others =>
- null;
- end case;
-
- end if;
- end process;
-
-
-
-end behave;
diff --git a/zpu/hdl/zpu4/src/bram.vhd b/zpu/hdl/zpu4/src/bram.vhd
deleted file mode 100644
index 435f3f4..0000000
--- a/zpu/hdl/zpu4/src/bram.vhd
+++ /dev/null
@@ -1,3807 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-
-
-library zylin;
-use zylin.zpu_config.all;
-use zylin.zpupkg.all;
-
-entity dram is
-port (clk : in std_logic;
- areset : in std_logic;
- mem_writeEnable : in std_logic;
- mem_readEnable : in std_logic;
- mem_addr : in std_logic_vector(maxAddrBit downto 0);
- mem_write : in std_logic_vector(wordSize-1 downto 0);
- mem_read : out std_logic_vector(wordSize-1 downto 0);
- mem_busy : out std_logic;
- mem_writeMask : in std_logic_vector(wordBytes-1 downto 0));
-end dram;
-
-architecture dram_arch of dram is
-
-type ram_type is array(0 to ((2**(maxAddrBit+1))/4)-1) of std_logic_vector(wordSize-1 downto 0);
-
-shared variable ram : ram_type :=
-(
-0 => x"800b0b0b",
-1 => x"0b0b8070",
-2 => x"0b0b80e5",
-3 => x"d00c3a0b",
-4 => x"0b0bbed7",
-5 => x"04000000",
-6 => x"00000000",
-7 => x"00000000",
-8 => x"80088408",
-9 => x"88080b0b",
-10 => x"0bbfa72d",
-11 => x"880c840c",
-12 => x"800c0400",
-13 => x"00000000",
-14 => x"00000000",
-15 => x"00000000",
-16 => x"71fd0608",
-17 => x"72830609",
-18 => x"81058205",
-19 => x"832b2a83",
-20 => x"ffff0652",
-21 => x"0b0b0400",
-22 => x"00000000",
-23 => x"00000000",
-24 => x"71fd0608",
-25 => x"83ffff73",
-26 => x"83060981",
-27 => x"05820583",
-28 => x"2b2b0906",
-29 => x"7383ffff",
-30 => x"0b0b0b0b",
-31 => x"83a70400",
-32 => x"72098105",
-33 => x"72057373",
-34 => x"09060906",
-35 => x"73097306",
-36 => x"070a8106",
-37 => x"530b0b51",
-38 => x"04000000",
-39 => x"00000000",
-40 => x"72722473",
-41 => x"732e0753",
-42 => x"0b0b5104",
-43 => x"00000000",
-44 => x"00000000",
-45 => x"00000000",
-46 => x"00000000",
-47 => x"00000000",
-48 => x"71737109",
-49 => x"71068106",
-50 => x"30720a10",
-51 => x"0a720a10",
-52 => x"0a31050a",
-53 => x"81065151",
-54 => x"530b0b51",
-55 => x"04000000",
-56 => x"72722673",
-57 => x"732e0753",
-58 => x"0b0b5104",
-59 => x"00000000",
-60 => x"00000000",
-61 => x"00000000",
-62 => x"00000000",
-63 => x"00000000",
-64 => x"00000000",
-65 => x"00000000",
-66 => x"00000000",
-67 => x"00000000",
-68 => x"00000000",
-69 => x"00000000",
-70 => x"00000000",
-71 => x"00000000",
-72 => x"0b0b0b88",
-73 => x"c6040000",
-74 => x"00000000",
-75 => x"00000000",
-76 => x"00000000",
-77 => x"00000000",
-78 => x"00000000",
-79 => x"00000000",
-80 => x"720a722b",
-81 => x"0a530b0b",
-82 => x"51040000",
-83 => x"00000000",
-84 => x"00000000",
-85 => x"00000000",
-86 => x"00000000",
-87 => x"00000000",
-88 => x"72729f06",
-89 => x"0981050b",
-90 => x"0b0b88a7",
-91 => x"05040000",
-92 => x"00000000",
-93 => x"00000000",
-94 => x"00000000",
-95 => x"00000000",
-96 => x"72722aff",
-97 => x"739f062a",
-98 => x"0974090a",
-99 => x"8106ff05",
-100 => x"0607530b",
-101 => x"0b510400",
-102 => x"00000000",
-103 => x"00000000",
-104 => x"7171530b",
-105 => x"0b510406",
-106 => x"73830609",
-107 => x"81058205",
-108 => x"832b0b2b",
-109 => x"0772fc06",
-110 => x"0c515104",
-111 => x"00000000",
-112 => x"72098105",
-113 => x"72050970",
-114 => x"81050906",
-115 => x"0a810653",
-116 => x"0b0b5104",
-117 => x"00000000",
-118 => x"00000000",
-119 => x"00000000",
-120 => x"72098105",
-121 => x"72050970",
-122 => x"81050906",
-123 => x"0a098106",
-124 => x"530b0b51",
-125 => x"04000000",
-126 => x"00000000",
-127 => x"00000000",
-128 => x"71098105",
-129 => x"520b0b04",
-130 => x"00000000",
-131 => x"00000000",
-132 => x"00000000",
-133 => x"00000000",
-134 => x"00000000",
-135 => x"00000000",
-136 => x"72720981",
-137 => x"0505530b",
-138 => x"0b510400",
-139 => x"00000000",
-140 => x"00000000",
-141 => x"00000000",
-142 => x"00000000",
-143 => x"00000000",
-144 => x"72097206",
-145 => x"73730906",
-146 => x"07530b0b",
-147 => x"51040000",
-148 => x"00000000",
-149 => x"00000000",
-150 => x"00000000",
-151 => x"00000000",
-152 => x"71fc0608",
-153 => x"72830609",
-154 => x"81058305",
-155 => x"1010102a",
-156 => x"81ff0652",
-157 => x"0b0b0400",
-158 => x"00000000",
-159 => x"00000000",
-160 => x"71fc0608",
-161 => x"0b0b80e5",
-162 => x"bc738306",
-163 => x"10100508",
-164 => x"060b0b0b",
-165 => x"88ac0400",
-166 => x"00000000",
-167 => x"00000000",
-168 => x"80088408",
-169 => x"88087575",
-170 => x"0b0b0ba3",
-171 => x"fa2d5050",
-172 => x"80085688",
-173 => x"0c840c80",
-174 => x"0c510400",
-175 => x"00000000",
-176 => x"80088408",
-177 => x"88087575",
-178 => x"0b0b0ba4",
-179 => x"ca2d5050",
-180 => x"80085688",
-181 => x"0c840c80",
-182 => x"0c510400",
-183 => x"00000000",
-184 => x"72097081",
-185 => x"0509060a",
-186 => x"8106ff05",
-187 => x"70540b0b",
-188 => x"71067309",
-189 => x"727405ff",
-190 => x"05060751",
-191 => x"51510400",
-192 => x"72097081",
-193 => x"0509060a",
-194 => x"098106ff",
-195 => x"0570540b",
-196 => x"0b710673",
-197 => x"09727405",
-198 => x"ff050607",
-199 => x"51515104",
-200 => x"05ff0504",
-201 => x"00000000",
-202 => x"00000000",
-203 => x"00000000",
-204 => x"00000000",
-205 => x"00000000",
-206 => x"00000000",
-207 => x"00000000",
-208 => x"810b0b0b",
-209 => x"80e5cc0c",
-210 => x"51040000",
-211 => x"00000000",
-212 => x"00000000",
-213 => x"00000000",
-214 => x"00000000",
-215 => x"00000000",
-216 => x"71810552",
-217 => x"0b0b0400",
-218 => x"00000000",
-219 => x"00000000",
-220 => x"00000000",
-221 => x"00000000",
-222 => x"00000000",
-223 => x"00000000",
-224 => x"00000000",
-225 => x"00000000",
-226 => x"00000000",
-227 => x"00000000",
-228 => x"00000000",
-229 => x"00000000",
-230 => x"00000000",
-231 => x"00000000",
-232 => x"02840572",
-233 => x"10100552",
-234 => x"0b0b0400",
-235 => x"00000000",
-236 => x"00000000",
-237 => x"00000000",
-238 => x"00000000",
-239 => x"00000000",
-240 => x"00000000",
-241 => x"00000000",
-242 => x"00000000",
-243 => x"00000000",
-244 => x"00000000",
-245 => x"00000000",
-246 => x"00000000",
-247 => x"00000000",
-248 => x"717105ff",
-249 => x"0571530b",
-250 => x"0b510400",
-251 => x"00000000",
-252 => x"00000000",
-253 => x"00000000",
-254 => x"00000000",
-255 => x"00000000",
-256 => x"84803f80",
-257 => x"cef23f04",
-258 => x"10101010",
-259 => x"10101010",
-260 => x"10101010",
-261 => x"10101010",
-262 => x"10101010",
-263 => x"10101010",
-264 => x"10101010",
-265 => x"10101053",
-266 => x"0b0b5104",
-267 => x"7381ff06",
-268 => x"73830609",
-269 => x"81058305",
-270 => x"1010102b",
-271 => x"0772fc06",
-272 => x"0c515104",
-273 => x"3c047272",
-274 => x"80728106",
-275 => x"ff050972",
-276 => x"06057110",
-277 => x"520b0b72",
-278 => x"0a100a53",
-279 => x"0b0b72e9",
-280 => x"38515153",
-281 => x"0b0b5104",
-282 => x"70700b0b",
-283 => x"80f5c008",
-284 => x"520b0b84",
-285 => x"0b720508",
-286 => x"70810651",
-287 => x"510b0b70",
-288 => x"f2387108",
-289 => x"81ff0680",
-290 => x"0c505004",
-291 => x"70700b0b",
-292 => x"80f5c008",
-293 => x"520b0b84",
-294 => x"0b720508",
-295 => x"700a100a",
-296 => x"70810651",
-297 => x"51510b0b",
-298 => x"70ed3873",
-299 => x"720c5050",
-300 => x"0480e5cc",
-301 => x"08802ea8",
-302 => x"38838080",
-303 => x"0b0b0b80",
-304 => x"f5c00c82",
-305 => x"a0800b0b",
-306 => x"0b80f5c4",
-307 => x"0c829080",
-308 => x"0b80f5d4",
-309 => x"0c0b0b80",
-310 => x"f5c80b80",
-311 => x"f5d80c04",
-312 => x"f8808080",
-313 => x"a40b0b0b",
-314 => x"80f5c00c",
-315 => x"f8808082",
-316 => x"800b0b0b",
-317 => x"80f5c40c",
-318 => x"f8808084",
-319 => x"800b80f5",
-320 => x"d40cf880",
-321 => x"8080940b",
-322 => x"80f5d80c",
-323 => x"f8808080",
-324 => x"9c0b80f5",
-325 => x"d00cf880",
-326 => x"8080a00b",
-327 => x"80f5dc0c",
-328 => x"04f23d0d",
-329 => x"600b0b80",
-330 => x"f5c40856",
-331 => x"5d82750c",
-332 => x"8059805a",
-333 => x"800b8f3d",
-334 => x"71101017",
-335 => x"70085957",
-336 => x"5d5b8076",
-337 => x"81ff067c",
-338 => x"832b5658",
-339 => x"520b0b0b",
-340 => x"76530b0b",
-341 => x"7b5198c6",
-342 => x"3f7d7f7a",
-343 => x"72077c72",
-344 => x"07717160",
-345 => x"8105415f",
-346 => x"5d5b5957",
-347 => x"557a8724",
-348 => x"80c1380b",
-349 => x"0b80f5c4",
-350 => x"087b1010",
-351 => x"71057008",
-352 => x"58515580",
-353 => x"7681ff06",
-354 => x"7c832b56",
-355 => x"58520b0b",
-356 => x"0b76530b",
-357 => x"0b7b5198",
-358 => x"853f7d7f",
-359 => x"7a72077c",
-360 => x"72077171",
-361 => x"60810541",
-362 => x"5f5d5b59",
-363 => x"5755877b",
-364 => x"25c13876",
-365 => x"7d0c7784",
-366 => x"1e0c7c80",
-367 => x"0c903d0d",
-368 => x"04707080",
-369 => x"f5cc3351",
-370 => x"0b0b70b2",
-371 => x"3880e5d8",
-372 => x"08700852",
-373 => x"0b0b520b",
-374 => x"0b0b7080",
-375 => x"2e9a3884",
-376 => x"720580e5",
-377 => x"d80c702d",
-378 => x"80e5d808",
-379 => x"7008520b",
-380 => x"0b520b0b",
-381 => x"0b70e838",
-382 => x"810b80f5",
-383 => x"cc345050",
-384 => x"0404700b",
-385 => x"0b80f5bc",
-386 => x"08802e8e",
-387 => x"380b0b0b",
-388 => x"0b800b80",
-389 => x"2e098106",
-390 => x"83385004",
-391 => x"0b0b80f5",
-392 => x"bc510b0b",
-393 => x"0bf3d93f",
-394 => x"50040470",
-395 => x"70028f05",
-396 => x"33520b0b",
-397 => x"0b0b718a",
-398 => x"2e893871",
-399 => x"51fccd3f",
-400 => x"5050048d",
-401 => x"51fcc53f",
-402 => x"7151fcc0",
-403 => x"3f505004",
-404 => x"cd3d0db6",
-405 => x"3d707084",
-406 => x"05520b0b",
-407 => x"088cab5d",
-408 => x"56a63d5f",
-409 => x"5d807570",
-410 => x"81055733",
-411 => x"765c5559",
-412 => x"0b730b79",
-413 => x"2e80ca38",
-414 => x"8f3d5c73",
-415 => x"a52e0981",
-416 => x"0680cf38",
-417 => x"79708105",
-418 => x"5b33540b",
-419 => x"0b7380e4",
-420 => x"2e81c838",
-421 => x"7380e424",
-422 => x"80d13873",
-423 => x"80e32ea8",
-424 => x"3880520b",
-425 => x"0ba5517a",
-426 => x"2d80520b",
-427 => x"0b73517a",
-428 => x"2d821959",
-429 => x"79708105",
-430 => x"5b33540b",
-431 => x"0b73ffbb",
-432 => x"3878800c",
-433 => x"b53d0d04",
-434 => x"7c841e83",
-435 => x"72053356",
-436 => x"5e578052",
-437 => x"0b0b7351",
-438 => x"7a2d8119",
-439 => x"7a708105",
-440 => x"5c335559",
-441 => x"0b73ff93",
-442 => x"38d73973",
-443 => x"80f32e09",
-444 => x"8106ffad",
-445 => x"387c841e",
-446 => x"7108595e",
-447 => x"56807733",
-448 => x"56560b74",
-449 => x"0b762e8d",
-450 => x"38811670",
-451 => x"1870335a",
-452 => x"555677f5",
-453 => x"38ff1655",
-454 => x"807625ff",
-455 => x"97387670",
-456 => x"81055833",
-457 => x"5880520b",
-458 => x"0b77517a",
-459 => x"2d811975",
-460 => x"ff175757",
-461 => x"59807625",
-462 => x"fefa3876",
-463 => x"70810558",
-464 => x"33588052",
-465 => x"0b0b7751",
-466 => x"7a2d8119",
-467 => x"75ff1757",
-468 => x"57590b75",
-469 => x"8024c738",
-470 => x"feda397c",
-471 => x"841e7108",
-472 => x"70719f2c",
-473 => x"59530b0b",
-474 => x"595e5680",
-475 => x"7524818d",
-476 => x"38757e7d",
-477 => x"58595580",
-478 => x"57740b77",
-479 => x"2e098106",
-480 => x"bc38b07c",
-481 => x"3402b905",
-482 => x"567b0b76",
-483 => x"2e9938ff",
-484 => x"16560b0b",
-485 => x"75337870",
-486 => x"81055a34",
-487 => x"8117577b",
-488 => x"762e0981",
-489 => x"06e93880",
-490 => x"7834767e",
-491 => x"ff720557",
-492 => x"58560b0b",
-493 => x"758024fe",
-494 => x"e538fdf8",
-495 => x"398a7536",
-496 => x"0b0b80d7",
-497 => x"b005540b",
-498 => x"0b733376",
-499 => x"70810558",
-500 => x"348a7535",
-501 => x"550b0b74",
-502 => x"802effad",
-503 => x"388a7536",
-504 => x"0b0b80d7",
-505 => x"b005540b",
-506 => x"0b733376",
-507 => x"70810558",
-508 => x"348a7535",
-509 => x"550b0b74",
-510 => x"c438ff8d",
-511 => x"3974520b",
-512 => x"0b76530b",
-513 => x"0bb53dff",
-514 => x"b8055192",
-515 => x"dc3fa43d",
-516 => x"0856fedd",
-517 => x"397080c1",
-518 => x"0b81c48c",
-519 => x"34800b81",
-520 => x"c5e40c70",
-521 => x"800c5004",
-522 => x"7070800b",
-523 => x"81c48c33",
-524 => x"520b0b52",
-525 => x"0b0b0b70",
-526 => x"80c12e98",
-527 => x"387181c5",
-528 => x"e4080781",
-529 => x"c5e40c80",
-530 => x"c20b81c4",
-531 => x"90347080",
-532 => x"0c505004",
-533 => x"810b81c5",
-534 => x"e4080781",
-535 => x"c5e40c80",
-536 => x"c20b81c4",
-537 => x"90347080",
-538 => x"0c505004",
-539 => x"70707070",
-540 => x"7570088a",
-541 => x"05530b0b",
-542 => x"530b0b81",
-543 => x"c48c3351",
-544 => x"0b0b7080",
-545 => x"c12e8c38",
-546 => x"73f13870",
-547 => x"800c5050",
-548 => x"505004ff",
-549 => x"72057081",
-550 => x"c4880831",
-551 => x"740c800c",
-552 => x"50505050",
-553 => x"04fc3d0d",
-554 => x"81c49408",
-555 => x"550b0b74",
-556 => x"802e8e38",
-557 => x"76750871",
-558 => x"0c81c494",
-559 => x"0856540b",
-560 => x"0b8c1553",
-561 => x"0b0b81c4",
-562 => x"8808520b",
-563 => x"0b8a518e",
-564 => x"e93f7380",
-565 => x"0c863d0d",
-566 => x"04fb3d0d",
-567 => x"77700856",
-568 => x"56b0530b",
-569 => x"0b81c494",
-570 => x"08520b0b",
-571 => x"7451a1ff",
-572 => x"3f850b8c",
-573 => x"170c850b",
-574 => x"8c160c75",
-575 => x"08750c81",
-576 => x"c4940854",
-577 => x"0b0b7380",
-578 => x"2e8c3873",
-579 => x"08750c81",
-580 => x"c4940854",
-581 => x"0b0b8c14",
-582 => x"530b0b81",
-583 => x"c4880852",
-584 => x"0b0b8a51",
-585 => x"8e943f84",
-586 => x"1508b738",
-587 => x"860b8c16",
-588 => x"0c881552",
-589 => x"0b0b8816",
-590 => x"08518d96",
-591 => x"3f81c494",
-592 => x"08700876",
-593 => x"0c540b0b",
-594 => x"8c157054",
-595 => x"0b0b540b",
-596 => x"0b8a520b",
-597 => x"0b730851",
-598 => x"8de03f73",
-599 => x"800c873d",
-600 => x"0d047508",
-601 => x"540b0bb0",
-602 => x"530b0b73",
-603 => x"520b0b75",
-604 => x"51a0fc3f",
-605 => x"73800c87",
-606 => x"3d0d04e1",
-607 => x"3d0db051",
-608 => x"93833f80",
-609 => x"0881c484",
-610 => x"0cb05192",
-611 => x"f83f8008",
-612 => x"81c4940c",
-613 => x"81c48408",
-614 => x"80080c80",
-615 => x"0b800884",
-616 => x"050c820b",
-617 => x"80088805",
-618 => x"0ca80b80",
-619 => x"088c050c",
-620 => x"9f530b0b",
-621 => x"0b0b80d7",
-622 => x"bc520b0b",
-623 => x"80089005",
-624 => x"51a0ac3f",
-625 => x"993d5c9f",
-626 => x"530b0b0b",
-627 => x"0b80d7dc",
-628 => x"520b0b7b",
-629 => x"51a0983f",
-630 => x"8a0b8182",
-631 => x"cc0c0b0b",
-632 => x"80e28051",
-633 => x"f8ea3f0b",
-634 => x"0b80d7fc",
-635 => x"51f8e13f",
-636 => x"0b0b80e2",
-637 => x"8051f8d8",
-638 => x"3f80e5e0",
-639 => x"08802e8a",
-640 => x"a1380b0b",
-641 => x"80d8ac51",
-642 => x"f8c63f0b",
-643 => x"0b80e280",
-644 => x"51f8bd3f",
-645 => x"80e5dc08",
-646 => x"520b0b0b",
-647 => x"0b80d8d8",
-648 => x"51f8ad3f",
-649 => x"8051b488",
-650 => x"3f800880",
-651 => x"f5ec0c81",
-652 => x"0b923d5c",
-653 => x"58800b80",
-654 => x"e5dc0825",
-655 => x"8383388e",
-656 => x"3d5d80c1",
-657 => x"0b81c48c",
-658 => x"34810b81",
-659 => x"c5e40c80",
-660 => x"c20b81c4",
-661 => x"9034825e",
-662 => x"835a9f53",
-663 => x"0b0b0b0b",
-664 => x"80d98852",
-665 => x"0b0b7a51",
-666 => x"9f853f81",
-667 => x"5f807b53",
-668 => x"0b0b7c52",
-669 => x"0b0b558c",
-670 => x"f43f8008",
-671 => x"752e0981",
-672 => x"06833881",
-673 => x"550b0b74",
-674 => x"81c5e40c",
-675 => x"7d705755",
-676 => x"0b0b7483",
-677 => x"25a63874",
-678 => x"101015fd",
-679 => x"0540a13d",
-680 => x"ffbc0553",
-681 => x"0b0b8352",
-682 => x"0b0b7551",
-683 => x"8b8c3f81",
-684 => x"1e705f70",
-685 => x"5755830b",
-686 => x"7524dc38",
-687 => x"7f540b0b",
-688 => x"74530b0b",
-689 => x"80f5f052",
-690 => x"0b0b81c4",
-691 => x"9c518af6",
-692 => x"3f81c494",
-693 => x"08700857",
-694 => x"57b0530b",
-695 => x"0b76520b",
-696 => x"0b75519e",
-697 => x"8a3f850b",
-698 => x"8c180c85",
-699 => x"0b8c170c",
-700 => x"7608760c",
-701 => x"81c49408",
-702 => x"550b0b74",
-703 => x"802e8a38",
-704 => x"7408760c",
-705 => x"81c49408",
-706 => x"558c1553",
-707 => x"0b0b81c4",
-708 => x"8808520b",
-709 => x"0b8a518a",
-710 => x"a13f8416",
-711 => x"08888c38",
-712 => x"860b8c17",
-713 => x"0c881652",
-714 => x"0b0b8817",
-715 => x"085189a2",
-716 => x"3f81c494",
-717 => x"08700877",
-718 => x"0c578c16",
-719 => x"70540b0b",
-720 => x"558a520b",
-721 => x"0b740851",
-722 => x"89f03f80",
-723 => x"c10b81c4",
-724 => x"90335656",
-725 => x"0b0b7575",
-726 => x"26a83880",
-727 => x"c3520b0b",
-728 => x"75518adb",
-729 => x"3f80087f",
-730 => x"2e87ff38",
-731 => x"81167081",
-732 => x"ff0681c4",
-733 => x"9033520b",
-734 => x"0b57550b",
-735 => x"0b747627",
-736 => x"da38797e",
-737 => x"29607072",
-738 => x"35704172",
-739 => x"72317087",
-740 => x"2972315e",
-741 => x"530b0b8a",
-742 => x"0581c48c",
-743 => x"3381c488",
-744 => x"085a520b",
-745 => x"0b520b0b",
-746 => x"58550b76",
-747 => x"80c12e87",
-748 => x"f03878f6",
-749 => x"38811858",
-750 => x"80e5dc08",
-751 => x"7825fd82",
-752 => x"388051b0",
-753 => x"eb3f8008",
-754 => x"81c4800c",
-755 => x"0b0b80d9",
-756 => x"a851f4fc",
-757 => x"3f0b0b80",
-758 => x"e28051f4",
-759 => x"f33f0b0b",
-760 => x"80d9b851",
-761 => x"f4ea3f0b",
-762 => x"0b80e280",
-763 => x"51f4e13f",
-764 => x"81c48808",
-765 => x"520b0b0b",
-766 => x"0b80d9f0",
-767 => x"51f4d13f",
-768 => x"85520b0b",
-769 => x"0b0b80da",
-770 => x"8c51f4c4",
-771 => x"3f81c5e4",
-772 => x"08520b0b",
-773 => x"0b0b80da",
-774 => x"a851f4b4",
-775 => x"3f81520b",
-776 => x"0b0b0b80",
-777 => x"da8c51f4",
-778 => x"a73f81c4",
-779 => x"8c33520b",
-780 => x"0b0b0b80",
-781 => x"dac451f4",
-782 => x"973f80c1",
-783 => x"520b0b0b",
-784 => x"0b80dae0",
-785 => x"51f4893f",
-786 => x"81c49033",
-787 => x"520b0b0b",
-788 => x"0b80dafc",
-789 => x"51f3f93f",
-790 => x"80c2520b",
-791 => x"0b0b0b80",
-792 => x"dae051f3",
-793 => x"eb3f81c4",
-794 => x"bc08520b",
-795 => x"0b0b0b80",
-796 => x"db9851f3",
-797 => x"db3f8752",
-798 => x"0b0b0b0b",
-799 => x"80da8c51",
-800 => x"f3ce3f81",
-801 => x"82cc0852",
-802 => x"0b0b0b0b",
-803 => x"80dbb451",
-804 => x"f3be3f0b",
-805 => x"0b80dbd0",
-806 => x"51f3b53f",
-807 => x"0b0b80db",
-808 => x"fc51f3ac",
-809 => x"3f81c494",
-810 => x"08700853",
-811 => x"0b0b560b",
-812 => x"0b80dc88",
-813 => x"51f3993f",
-814 => x"0b0b80dc",
-815 => x"a451f390",
-816 => x"3f81c494",
-817 => x"08847105",
-818 => x"08530b0b",
-819 => x"5d0b0b80",
-820 => x"dcd851f2",
-821 => x"fb3f8052",
-822 => x"0b0b0b0b",
-823 => x"80da8c51",
-824 => x"f2ee3f81",
-825 => x"c4940888",
-826 => x"71050853",
-827 => x"0b0b580b",
-828 => x"0b80dcf4",
-829 => x"51f2d93f",
-830 => x"82520b0b",
-831 => x"0b0b80da",
-832 => x"8c51f2cc",
-833 => x"3f81c494",
-834 => x"088c7105",
-835 => x"08530b0b",
-836 => x"590b0b80",
-837 => x"dd9051f2",
-838 => x"b73f9152",
-839 => x"0b0b0b0b",
-840 => x"80da8c51",
-841 => x"f2aa3f81",
-842 => x"c4940890",
-843 => x"05520b0b",
-844 => x"0b0b80dd",
-845 => x"ac51f298",
-846 => x"3f0b0b80",
-847 => x"ddc851f2",
-848 => x"8f3f0b0b",
-849 => x"80de8051",
-850 => x"f2863f81",
-851 => x"c4840870",
-852 => x"08530b0b",
-853 => x"570b0b80",
-854 => x"dc8851f1",
-855 => x"f33f0b0b",
-856 => x"80de9451",
-857 => x"f1ea3f81",
-858 => x"c4840884",
-859 => x"71050853",
-860 => x"0b0b550b",
-861 => x"0b80dcd8",
-862 => x"51f1d53f",
-863 => x"80520b0b",
-864 => x"0b0b80da",
-865 => x"8c51f1c8",
-866 => x"3f81c484",
-867 => x"08887105",
-868 => x"08530b0b",
-869 => x"560b0b80",
-870 => x"dcf451f1",
-871 => x"b33f8152",
-872 => x"0b0b0b0b",
-873 => x"80da8c51",
-874 => x"f1a63f81",
-875 => x"c484088c",
-876 => x"71050853",
-877 => x"0b0b5d0b",
-878 => x"0b80dd90",
-879 => x"51f1913f",
-880 => x"92520b0b",
-881 => x"0b0b80da",
-882 => x"8c51f184",
-883 => x"3f81c484",
-884 => x"08900552",
-885 => x"0b0b0b0b",
-886 => x"80ddac51",
-887 => x"f0f23f0b",
-888 => x"0b80ddc8",
-889 => x"51f0e93f",
-890 => x"7d520b0b",
-891 => x"0b0b80de",
-892 => x"d451f0dc",
-893 => x"3f85520b",
-894 => x"0b0b0b80",
-895 => x"da8c51f0",
-896 => x"cf3f7952",
-897 => x"0b0b0b0b",
-898 => x"80def051",
-899 => x"f0c23f8d",
-900 => x"520b0b0b",
-901 => x"0b80da8c",
-902 => x"51f0b53f",
-903 => x"7f520b0b",
-904 => x"0b0b80df",
-905 => x"8c51f0a8",
-906 => x"3f87520b",
-907 => x"0b0b0b80",
-908 => x"da8c51f0",
-909 => x"9b3f7e52",
-910 => x"0b0b0b0b",
-911 => x"80dfa851",
-912 => x"f08e3f81",
-913 => x"520b0b0b",
-914 => x"0b80da8c",
-915 => x"51f0813f",
-916 => x"7b520b0b",
-917 => x"0b0b80df",
-918 => x"c451eff4",
-919 => x"3f0b0b80",
-920 => x"dfe051ef",
-921 => x"eb3f7a52",
-922 => x"0b0b0b0b",
-923 => x"80e09851",
-924 => x"efde3f0b",
-925 => x"0b80e0b4",
-926 => x"51efd53f",
-927 => x"0b0b80e2",
-928 => x"8051efcc",
-929 => x"3f81c480",
-930 => x"0880f5ec",
-931 => x"08317080",
-932 => x"f5e80c52",
-933 => x"0b0b0b0b",
-934 => x"80e0ec51",
-935 => x"efb23f80",
-936 => x"f5e80856",
-937 => x"810b7625",
-938 => x"819d3880",
-939 => x"e5dc0870",
-940 => x"77bd84c0",
-941 => x"293580f5",
-942 => x"e00c7671",
-943 => x"3580f5e4",
-944 => x"0c768ddd",
-945 => x"297187e8",
-946 => x"293581c4",
-947 => x"980c5b0b",
-948 => x"0b80e0fc",
-949 => x"51eef93f",
-950 => x"80f5e008",
-951 => x"520b0b0b",
-952 => x"0b80e1ac",
-953 => x"51eee93f",
-954 => x"0b0b80e1",
-955 => x"b451eee0",
-956 => x"3f80f5e4",
-957 => x"08520b0b",
-958 => x"0b0b80e1",
-959 => x"ac51eed0",
-960 => x"3f81c498",
-961 => x"08520b0b",
-962 => x"0b0b80e1",
-963 => x"e451eec0",
-964 => x"3f0b0b80",
-965 => x"e28051ee",
-966 => x"b73f800b",
-967 => x"800ca13d",
-968 => x"0d040b0b",
-969 => x"80e28451",
-970 => x"f5de3976",
-971 => x"0856b053",
-972 => x"0b0b7552",
-973 => x"0b0b7651",
-974 => x"95b53f80",
-975 => x"c10b81c4",
-976 => x"90335656",
-977 => x"f88e390b",
-978 => x"0b80e2b4",
-979 => x"51ee813f",
-980 => x"0b0b80e2",
-981 => x"ec51edf8",
-982 => x"3f0b0b80",
-983 => x"e28051ed",
-984 => x"ef3f800b",
-985 => x"800ca13d",
-986 => x"0d04a13d",
-987 => x"ffb80552",
-988 => x"0b0b8051",
-989 => x"80dc3f9f",
-990 => x"530b0b0b",
-991 => x"0b80e38c",
-992 => x"520b0b7a",
-993 => x"5194e83f",
-994 => x"777881c4",
-995 => x"880c8117",
-996 => x"7081ff06",
-997 => x"81c49033",
-998 => x"520b0b58",
-999 => x"565af7db",
-1000 => x"39ff1570",
-1001 => x"77317e0c",
-1002 => x"59800b81",
-1003 => x"19595980",
-1004 => x"e5dc0878",
-1005 => x"25f58b38",
-1006 => x"f8873970",
-1007 => x"70738232",
-1008 => x"70307072",
-1009 => x"07802580",
-1010 => x"0c520b0b",
-1011 => x"520b0b50",
-1012 => x"50047070",
-1013 => x"70747671",
-1014 => x"530b0b54",
-1015 => x"0b0b520b",
-1016 => x"0b0b0b71",
-1017 => x"822e8338",
-1018 => x"83517181",
-1019 => x"2e9a3881",
-1020 => x"72269f38",
-1021 => x"71822eb8",
-1022 => x"3871842e",
-1023 => x"a9387073",
-1024 => x"0c70800c",
-1025 => x"50505004",
-1026 => x"80e40b81",
-1027 => x"c4880825",
-1028 => x"8b388073",
-1029 => x"0c70800c",
-1030 => x"50505004",
-1031 => x"83730c70",
-1032 => x"800c5050",
-1033 => x"50048273",
-1034 => x"0c70800c",
-1035 => x"50505004",
-1036 => x"81730c70",
-1037 => x"800c5050",
-1038 => x"50047074",
-1039 => x"74148205",
-1040 => x"710c800c",
-1041 => x"5004f73d",
-1042 => x"0d7b7d7f",
-1043 => x"61857205",
-1044 => x"70822b75",
-1045 => x"71057074",
-1046 => x"71708405",
-1047 => x"530b0b0c",
-1048 => x"5a5a5d5b",
-1049 => x"760c7980",
-1050 => x"f8180c79",
-1051 => x"86720552",
-1052 => x"0b0b5758",
-1053 => x"5a5a7676",
-1054 => x"249e3876",
-1055 => x"b329822b",
-1056 => x"79710551",
-1057 => x"530b0b76",
-1058 => x"73708405",
-1059 => x"550c8114",
-1060 => x"540b0b75",
-1061 => x"7425f038",
-1062 => x"7681cc29",
-1063 => x"19fc7105",
-1064 => x"088105fc",
-1065 => x"72050c7a",
-1066 => x"1970089f",
-1067 => x"a073050c",
-1068 => x"5856850b",
-1069 => x"81c4880c",
-1070 => x"75800c8b",
-1071 => x"3d0d0470",
-1072 => x"70700293",
-1073 => x"05335180",
-1074 => x"02840597",
-1075 => x"0533540b",
-1076 => x"0b520b0b",
-1077 => x"70732e88",
-1078 => x"3871800c",
-1079 => x"50505004",
-1080 => x"7081c48c",
-1081 => x"34810b80",
-1082 => x"0c505050",
-1083 => x"04f83d0d",
-1084 => x"7a7c5956",
-1085 => x"820b8319",
-1086 => x"55550b0b",
-1087 => x"74167033",
-1088 => x"75335b51",
-1089 => x"530b0b72",
-1090 => x"792e80cf",
-1091 => x"3880c10b",
-1092 => x"81168116",
-1093 => x"56565782",
-1094 => x"7525df38",
-1095 => x"ffa91770",
-1096 => x"81ff0655",
-1097 => x"590b7382",
-1098 => x"26833887",
-1099 => x"5581530b",
-1100 => x"0b7680d2",
-1101 => x"2e9e3877",
-1102 => x"520b0b75",
-1103 => x"5193b53f",
-1104 => x"80530b0b",
-1105 => x"72800825",
-1106 => x"8b388715",
-1107 => x"81c4880c",
-1108 => x"81530b0b",
-1109 => x"72800c8a",
-1110 => x"3d0d0472",
-1111 => x"81c48c34",
-1112 => x"827525ff",
-1113 => x"9538ffb4",
-1114 => x"39f93d0d",
-1115 => x"797b7d54",
-1116 => x"0b0b5872",
-1117 => x"59773079",
-1118 => x"70307072",
-1119 => x"079f2a73",
-1120 => x"71315a52",
-1121 => x"0b0b5977",
-1122 => x"0b795673",
-1123 => x"0c530b0b",
-1124 => x"73847305",
-1125 => x"0c540b0b",
-1126 => x"800c893d",
-1127 => x"0d04f93d",
-1128 => x"0d797b7d",
-1129 => x"7f56540b",
-1130 => x"0b520b0b",
-1131 => x"540b0b72",
-1132 => x"802ea638",
-1133 => x"70577158",
-1134 => x"a0733152",
-1135 => x"0b0b800b",
-1136 => x"7225a638",
-1137 => x"7770742b",
-1138 => x"5770732a",
-1139 => x"78752b07",
-1140 => x"56510b74",
-1141 => x"76530b0b",
-1142 => x"510b0b70",
-1143 => x"740c7184",
-1144 => x"150c7380",
-1145 => x"0c893d0d",
-1146 => x"04805677",
-1147 => x"72302b55",
-1148 => x"0b0b7476",
-1149 => x"530b0b51",
-1150 => x"e039fb3d",
-1151 => x"0d777955",
-1152 => x"5580560b",
-1153 => x"0b757524",
-1154 => x"b5388074",
-1155 => x"24a53880",
-1156 => x"530b0b73",
-1157 => x"520b0b74",
-1158 => x"5180f33f",
-1159 => x"8008540b",
-1160 => x"0b75802e",
-1161 => x"87388008",
-1162 => x"30540b0b",
-1163 => x"73800c87",
-1164 => x"3d0d0473",
-1165 => x"30768132",
-1166 => x"57540b0b",
-1167 => x"d2397430",
-1168 => x"55815673",
-1169 => x"8025c838",
-1170 => x"ea39fa3d",
-1171 => x"0d787a57",
-1172 => x"5580570b",
-1173 => x"0b767524",
-1174 => x"ae38759f",
-1175 => x"2c540b0b",
-1176 => x"81530b0b",
-1177 => x"75743274",
-1178 => x"31520b0b",
-1179 => x"74519f3f",
-1180 => x"8008540b",
-1181 => x"0b76802e",
-1182 => x"87388008",
-1183 => x"30540b0b",
-1184 => x"73800c88",
-1185 => x"3d0d0474",
-1186 => x"30558157",
-1187 => x"cd39fc3d",
-1188 => x"0d767853",
-1189 => x"0b0b540b",
-1190 => x"0b81530b",
-1191 => x"0b807473",
-1192 => x"26520b0b",
-1193 => x"5572802e",
-1194 => x"9e387080",
-1195 => x"2eb73880",
-1196 => x"7224b238",
-1197 => x"71107310",
-1198 => x"75722653",
-1199 => x"0b0b540b",
-1200 => x"0b520b0b",
-1201 => x"72e43873",
-1202 => x"51788338",
-1203 => x"74510b0b",
-1204 => x"70800c86",
-1205 => x"3d0d0472",
-1206 => x"0a100a72",
-1207 => x"0a100a53",
-1208 => x"0b0b530b",
-1209 => x"0b72802e",
-1210 => x"de387174",
-1211 => x"26e93873",
-1212 => x"72317574",
-1213 => x"07740a10",
-1214 => x"0a740a10",
-1215 => x"0a555556",
-1216 => x"540b0be1",
-1217 => x"39707073",
-1218 => x"520b0b80",
-1219 => x"eea80851",
-1220 => x"953f5050",
-1221 => x"04707073",
-1222 => x"520b0b80",
-1223 => x"eea80851",
-1224 => x"92dc3f50",
-1225 => x"5004f43d",
-1226 => x"0d7e608b",
-1227 => x"710570f8",
-1228 => x"065b5555",
-1229 => x"5d729626",
-1230 => x"83389058",
-1231 => x"800b7824",
-1232 => x"74792607",
-1233 => x"5580540b",
-1234 => x"0b74742e",
-1235 => x"09810680",
-1236 => x"d5387c51",
-1237 => x"8edf3f77",
-1238 => x"83f72680",
-1239 => x"d0387783",
-1240 => x"2a701010",
-1241 => x"1080e6a0",
-1242 => x"058c7105",
-1243 => x"08585854",
-1244 => x"0b0b7577",
-1245 => x"2e828a38",
-1246 => x"841608fc",
-1247 => x"068c1708",
-1248 => x"88180871",
-1249 => x"8c72050c",
-1250 => x"8872050c",
-1251 => x"5b760584",
-1252 => x"71050881",
-1253 => x"07847205",
-1254 => x"0c530b0b",
-1255 => x"7c518e96",
-1256 => x"3f881654",
-1257 => x"0b0b7380",
-1258 => x"0c8e3d0d",
-1259 => x"0477892a",
-1260 => x"78832a58",
-1261 => x"540b0b73",
-1262 => x"802ebf38",
-1263 => x"77862ab8",
-1264 => x"05578474",
-1265 => x"27b43880",
-1266 => x"db145794",
-1267 => x"7427ab38",
-1268 => x"778c2a80",
-1269 => x"ee055780",
-1270 => x"d474279e",
-1271 => x"38778f2a",
-1272 => x"80f70557",
-1273 => x"82d47427",
-1274 => x"91387792",
-1275 => x"2a80fc05",
-1276 => x"578ad474",
-1277 => x"27843880",
-1278 => x"fe570b0b",
-1279 => x"76101010",
-1280 => x"80e6a005",
-1281 => x"8c710508",
-1282 => x"56530b0b",
-1283 => x"74732ea6",
-1284 => x"38841508",
-1285 => x"fc067079",
-1286 => x"3155560b",
-1287 => x"738f2489",
-1288 => x"d2387380",
-1289 => x"2589d438",
-1290 => x"8c150855",
-1291 => x"0b0b7473",
-1292 => x"2e098106",
-1293 => x"dc388117",
-1294 => x"5980e6b0",
-1295 => x"08560b0b",
-1296 => x"7580e6a8",
-1297 => x"2e82f938",
-1298 => x"841608fc",
-1299 => x"06707931",
-1300 => x"55550b73",
-1301 => x"8f2480c2",
-1302 => x"3880e6a8",
-1303 => x"0b80e6b4",
-1304 => x"0c80e6a8",
-1305 => x"0b80e6b0",
-1306 => x"0c807424",
-1307 => x"80e83874",
-1308 => x"16847105",
-1309 => x"08810784",
-1310 => x"72050c53",
-1311 => x"0b0bfe9c",
-1312 => x"3988168c",
-1313 => x"71050857",
-1314 => x"590b750b",
-1315 => x"792e0981",
-1316 => x"06fde538",
-1317 => x"821459ff",
-1318 => x"a0397716",
-1319 => x"78810784",
-1320 => x"180c7080",
-1321 => x"e6b40c70",
-1322 => x"80e6b00c",
-1323 => x"80e6a80b",
-1324 => x"8c72050c",
-1325 => x"8c710508",
-1326 => x"8872050c",
-1327 => x"74810784",
-1328 => x"72050c74",
-1329 => x"0574710c",
-1330 => x"5b7c518b",
-1331 => x"e93f8816",
-1332 => x"540b0bfd",
-1333 => x"d13983ff",
-1334 => x"752783c1",
-1335 => x"3874892a",
-1336 => x"75832a54",
-1337 => x"0b0b540b",
-1338 => x"0b73802e",
-1339 => x"80cb3874",
-1340 => x"862ab805",
-1341 => x"530b0b84",
-1342 => x"7427be38",
-1343 => x"80db1453",
-1344 => x"0b0b9474",
-1345 => x"27b33874",
-1346 => x"8c2a80ee",
-1347 => x"05530b0b",
-1348 => x"80d47427",
-1349 => x"a438748f",
-1350 => x"2a80f705",
-1351 => x"530b0b82",
-1352 => x"d4742795",
-1353 => x"3874922a",
-1354 => x"80fc0553",
-1355 => x"0b0b8ad4",
-1356 => x"74278638",
-1357 => x"80fe530b",
-1358 => x"0b721010",
-1359 => x"1080e6a0",
-1360 => x"05887105",
-1361 => x"0855570b",
-1362 => x"730b772e",
-1363 => x"86cd3884",
-1364 => x"1408fc06",
-1365 => x"5b740b7b",
-1366 => x"278f3888",
-1367 => x"1408540b",
-1368 => x"0b73772e",
-1369 => x"098106e7",
-1370 => x"388c1408",
-1371 => x"80e6a00b",
-1372 => x"84050871",
-1373 => x"8c190c75",
-1374 => x"88190c77",
-1375 => x"8873050c",
-1376 => x"5c57758c",
-1377 => x"150c7853",
-1378 => x"0b0b8079",
-1379 => x"2483be38",
-1380 => x"72822c81",
-1381 => x"712b5656",
-1382 => x"0b747b26",
-1383 => x"80d1387a",
-1384 => x"7506570b",
-1385 => x"0b7682bc",
-1386 => x"3878fc06",
-1387 => x"84055974",
-1388 => x"10707c06",
-1389 => x"55550b73",
-1390 => x"82aa3884",
-1391 => x"1959f039",
-1392 => x"80e6a00b",
-1393 => x"84050879",
-1394 => x"540b0b5b",
-1395 => x"788025c0",
-1396 => x"3882fa39",
-1397 => x"74097b06",
-1398 => x"7080e6a0",
-1399 => x"0b84050c",
-1400 => x"5b741055",
-1401 => x"0b0b747b",
-1402 => x"26853874",
-1403 => x"85f33880",
-1404 => x"e6a00b88",
-1405 => x"05087084",
-1406 => x"720508fc",
-1407 => x"06707b31",
-1408 => x"7b72268f",
-1409 => x"7225075d",
-1410 => x"575c5c55",
-1411 => x"78802e80",
-1412 => x"e3387915",
-1413 => x"80e69808",
-1414 => x"19907105",
-1415 => x"59540b0b",
-1416 => x"5680e694",
-1417 => x"08ff2e89",
-1418 => x"38a08f73",
-1419 => x"05e08006",
-1420 => x"570b0b76",
-1421 => x"520b0b7c",
-1422 => x"5188fc3f",
-1423 => x"8008540b",
-1424 => x"0b8008ff",
-1425 => x"2e903880",
-1426 => x"08762782",
-1427 => x"c2387480",
-1428 => x"e6a02e82",
-1429 => x"ba3880e6",
-1430 => x"a00b8805",
-1431 => x"08558415",
-1432 => x"08fc0670",
-1433 => x"79317972",
-1434 => x"268f7225",
-1435 => x"075d555a",
-1436 => x"7a849b38",
-1437 => x"77810784",
-1438 => x"160c7715",
-1439 => x"7080e6a0",
-1440 => x"0b88050c",
-1441 => x"74810784",
-1442 => x"72050c56",
-1443 => x"7c5188a6",
-1444 => x"3f881554",
-1445 => x"0b0b7380",
-1446 => x"0c8e3d0d",
-1447 => x"0474832a",
-1448 => x"70540b0b",
-1449 => x"540b0b80",
-1450 => x"742481a9",
-1451 => x"3872822c",
-1452 => x"81712b80",
-1453 => x"e6a40807",
-1454 => x"7080e6a0",
-1455 => x"0b84050c",
-1456 => x"75101010",
-1457 => x"80e6a005",
-1458 => x"88710508",
-1459 => x"718c1b0c",
-1460 => x"70881b0c",
-1461 => x"79887305",
-1462 => x"0c57555c",
-1463 => x"55758c15",
-1464 => x"0cfda339",
-1465 => x"78791010",
-1466 => x"1080e6a0",
-1467 => x"0570565b",
-1468 => x"5c8c1408",
-1469 => x"560b0b75",
-1470 => x"742ea738",
-1471 => x"841608fc",
-1472 => x"06707931",
-1473 => x"58530b0b",
-1474 => x"768f2484",
-1475 => x"98387680",
-1476 => x"2584de38",
-1477 => x"8c160856",
-1478 => x"0b0b7574",
-1479 => x"2e098106",
-1480 => x"db388814",
-1481 => x"811a7083",
-1482 => x"06555a54",
-1483 => x"0b0b72c1",
-1484 => x"387b8306",
-1485 => x"560b0b75",
-1486 => x"802efd98",
-1487 => x"38ff1cf8",
-1488 => x"1b5b5c88",
-1489 => x"1a087a2e",
-1490 => x"e838fd95",
-1491 => x"39831953",
-1492 => x"0b0bfcbc",
-1493 => x"39831470",
-1494 => x"822c8171",
-1495 => x"2b80e6a4",
-1496 => x"08077080",
-1497 => x"e6a00b84",
-1498 => x"050c7610",
-1499 => x"101080e6",
-1500 => x"a0058871",
-1501 => x"0508718c",
-1502 => x"1c0c7088",
-1503 => x"1c0c7a88",
-1504 => x"73050c58",
-1505 => x"530b0b5d",
-1506 => x"56530b0b",
-1507 => x"fecf3980",
-1508 => x"e5e40817",
-1509 => x"59800876",
-1510 => x"2e819438",
-1511 => x"80e69408",
-1512 => x"ff2e84b7",
-1513 => x"38737631",
-1514 => x"1980e5e4",
-1515 => x"0c738706",
-1516 => x"7056530b",
-1517 => x"0b72802e",
-1518 => x"88388873",
-1519 => x"31701555",
-1520 => x"5576149f",
-1521 => x"ff06a080",
-1522 => x"71311670",
-1523 => x"540b0b7e",
-1524 => x"530b0b51",
-1525 => x"530b0b85",
-1526 => x"de3f8008",
-1527 => x"568008ff",
-1528 => x"2e81a238",
-1529 => x"80e5e408",
-1530 => x"73057080",
-1531 => x"e5e40c74",
-1532 => x"7580e6a0",
-1533 => x"0b88050c",
-1534 => x"77763115",
-1535 => x"81075556",
-1536 => x"597a80e6",
-1537 => x"a02e83e0",
-1538 => x"38798f26",
-1539 => x"838d3881",
-1540 => x"0b84150c",
-1541 => x"841508fc",
-1542 => x"06707931",
-1543 => x"7972268f",
-1544 => x"7225075d",
-1545 => x"555a7a80",
-1546 => x"2efcc938",
-1547 => x"80e03980",
-1548 => x"089fff06",
-1549 => x"550b0b74",
-1550 => x"fee23878",
-1551 => x"80e5e40c",
-1552 => x"80e6a00b",
-1553 => x"8805087a",
-1554 => x"18810784",
-1555 => x"72050c55",
-1556 => x"80e69008",
-1557 => x"79278638",
-1558 => x"7880e690",
-1559 => x"0c80e68c",
-1560 => x"087927fb",
-1561 => x"f9387880",
-1562 => x"e68c0c84",
-1563 => x"1508fc06",
-1564 => x"70793179",
-1565 => x"72268f72",
-1566 => x"25075d55",
-1567 => x"5a7a802e",
-1568 => x"fbf2388a",
-1569 => x"39807457",
-1570 => x"530b0bfe",
-1571 => x"d7397c51",
-1572 => x"84a43f80",
-1573 => x"0b800c8e",
-1574 => x"3d0d0480",
-1575 => x"7324a538",
-1576 => x"72822c81",
-1577 => x"712b80e6",
-1578 => x"a4080770",
-1579 => x"80e6a00b",
-1580 => x"84050c5c",
-1581 => x"5a768c17",
-1582 => x"0c738817",
-1583 => x"0c758818",
-1584 => x"0cf9bf39",
-1585 => x"83730570",
-1586 => x"822c8171",
-1587 => x"2b80e6a4",
-1588 => x"08077080",
-1589 => x"e6a00b84",
-1590 => x"050c5d5b",
-1591 => x"530b0bd5",
-1592 => x"397a7506",
-1593 => x"5c0b0b7b",
-1594 => x"fbfa3884",
-1595 => x"19751056",
-1596 => x"59ef39ff",
-1597 => x"17810559",
-1598 => x"f6bf398c",
-1599 => x"15088816",
-1600 => x"08718c72",
-1601 => x"050c8872",
-1602 => x"050c5975",
-1603 => x"15847105",
-1604 => x"08810784",
-1605 => x"72050c58",
-1606 => x"7c51839a",
-1607 => x"3f881554",
-1608 => x"0b0bfaf2",
-1609 => x"39771678",
-1610 => x"81078418",
-1611 => x"0c8c1708",
-1612 => x"88180871",
-1613 => x"8c72050c",
-1614 => x"8872050c",
-1615 => x"5c7080e6",
-1616 => x"b40c7080",
-1617 => x"e6b00c80",
-1618 => x"e6a80b8c",
-1619 => x"72050c8c",
-1620 => x"71050888",
-1621 => x"72050c77",
-1622 => x"81078472",
-1623 => x"050c7705",
-1624 => x"77710c55",
-1625 => x"7c5182ce",
-1626 => x"3f881654",
-1627 => x"0b0bf4b6",
-1628 => x"39721684",
-1629 => x"71050881",
-1630 => x"07847205",
-1631 => x"0c588c16",
-1632 => x"08881708",
-1633 => x"718c7205",
-1634 => x"0c887205",
-1635 => x"0c577c51",
-1636 => x"82a43f88",
-1637 => x"16540b0b",
-1638 => x"f48c3972",
-1639 => x"84150cf4",
-1640 => x"1af80670",
-1641 => x"841d0881",
-1642 => x"0607841d",
-1643 => x"0c701c55",
-1644 => x"56850b84",
-1645 => x"150c850b",
-1646 => x"88150c8f",
-1647 => x"7627fd90",
-1648 => x"38881b52",
-1649 => x"0b0b7c51",
-1650 => x"85b43f80",
-1651 => x"e6a00b88",
-1652 => x"050880e5",
-1653 => x"e4085a55",
-1654 => x"fcf63978",
-1655 => x"80e5e40c",
-1656 => x"7380e694",
-1657 => x"0cfbc639",
-1658 => x"7284150c",
-1659 => x"fce239fb",
-1660 => x"3d0d7770",
-1661 => x"7a7c5855",
-1662 => x"530b0b56",
-1663 => x"8f752781",
-1664 => x"85387276",
-1665 => x"07830651",
-1666 => x"0b0b7080",
-1667 => x"f9387573",
-1668 => x"520b0b54",
-1669 => x"0b0b7070",
-1670 => x"8405520b",
-1671 => x"0b087470",
-1672 => x"8405560c",
-1673 => x"73717084",
-1674 => x"05530b0b",
-1675 => x"08717084",
-1676 => x"05530b0b",
-1677 => x"0c717084",
-1678 => x"05530b0b",
-1679 => x"08717084",
-1680 => x"05530b0b",
-1681 => x"0c717084",
-1682 => x"05530b0b",
-1683 => x"08717084",
-1684 => x"05530b0b",
-1685 => x"0cf01656",
-1686 => x"540b0b74",
-1687 => x"8f26ffb6",
-1688 => x"38837527",
-1689 => x"99387070",
-1690 => x"8405520b",
-1691 => x"0b087470",
-1692 => x"8405560c",
-1693 => x"fc15550b",
-1694 => x"0b748326",
-1695 => x"e9387371",
-1696 => x"540b0b52",
-1697 => x"0b0bff15",
-1698 => x"510b0b70",
-1699 => x"ff2e9f38",
-1700 => x"72708105",
-1701 => x"540b0b33",
-1702 => x"72708105",
-1703 => x"540b0b34",
-1704 => x"ff710551",
-1705 => x"0b0b70ff",
-1706 => x"2e098106",
-1707 => x"e3387580",
-1708 => x"0c873d0d",
-1709 => x"04040470",
-1710 => x"70707080",
-1711 => x"0b81c5e8",
-1712 => x"0c765188",
-1713 => x"d93f8008",
-1714 => x"530b0b80",
-1715 => x"08ff2e89",
-1716 => x"3872800c",
-1717 => x"50505050",
-1718 => x"0481c5e8",
-1719 => x"08540b0b",
-1720 => x"73802eed",
-1721 => x"38757471",
-1722 => x"0c520b0b",
-1723 => x"72800c50",
-1724 => x"50505004",
-1725 => x"fb3d0d77",
-1726 => x"79707207",
-1727 => x"8306530b",
-1728 => x"0b540b0b",
-1729 => x"520b0b70",
-1730 => x"9b387173",
-1731 => x"7308540b",
-1732 => x"0b56540b",
-1733 => x"0b717308",
-1734 => x"2e80d838",
-1735 => x"7375540b",
-1736 => x"0b520b0b",
-1737 => x"0b0b7133",
-1738 => x"7081ff06",
-1739 => x"520b0b54",
-1740 => x"0b0b7080",
-1741 => x"2ea53872",
-1742 => x"3355700b",
-1743 => x"752e0981",
-1744 => x"069c3881",
-1745 => x"72058114",
-1746 => x"71337081",
-1747 => x"ff06540b",
-1748 => x"0b56540b",
-1749 => x"0b520b0b",
-1750 => x"70dd3872",
-1751 => x"33557381",
-1752 => x"ff067581",
-1753 => x"ff067171",
-1754 => x"31800c55",
-1755 => x"520b0b87",
-1756 => x"3d0d0471",
-1757 => x"09f7fbfd",
-1758 => x"ff730506",
-1759 => x"f8848281",
-1760 => x"8006520b",
-1761 => x"0b0b0b71",
-1762 => x"9f388414",
-1763 => x"84167108",
-1764 => x"540b0b56",
-1765 => x"540b0b71",
-1766 => x"75082ed7",
-1767 => x"38737554",
-1768 => x"0b0b520b",
-1769 => x"0bfefd39",
-1770 => x"800b800c",
-1771 => x"873d0d04",
-1772 => x"fb3d0d77",
-1773 => x"70520b0b",
-1774 => x"56fdfa3f",
-1775 => x"80e6a00b",
-1776 => x"88050884",
-1777 => x"710508fc",
-1778 => x"06707b31",
-1779 => x"9fef05e0",
-1780 => x"8006e080",
-1781 => x"05520b0b",
-1782 => x"5555a080",
-1783 => x"75249838",
-1784 => x"80520b0b",
-1785 => x"7551fdcf",
-1786 => x"3f80e6a8",
-1787 => x"0814530b",
-1788 => x"0b728008",
-1789 => x"2e913875",
-1790 => x"51fdbb3f",
-1791 => x"80530b0b",
-1792 => x"72800c87",
-1793 => x"3d0d0474",
-1794 => x"30520b0b",
-1795 => x"7551fda7",
-1796 => x"3f8008ff",
-1797 => x"2eab3880",
-1798 => x"e6a00b88",
-1799 => x"05087476",
-1800 => x"31810784",
-1801 => x"72050c53",
-1802 => x"0b0b80e5",
-1803 => x"e4087531",
-1804 => x"80e5e40c",
-1805 => x"7551fcfe",
-1806 => x"3f810b80",
-1807 => x"0c873d0d",
-1808 => x"0480520b",
-1809 => x"0b7551fc",
-1810 => x"ee3f80e6",
-1811 => x"a00b8805",
-1812 => x"08800871",
-1813 => x"31540b0b",
-1814 => x"540b0b8f",
-1815 => x"7325ff97",
-1816 => x"38800880",
-1817 => x"e6940831",
-1818 => x"80e5e40c",
-1819 => x"72810784",
-1820 => x"150c7551",
-1821 => x"fcc03f80",
-1822 => x"530b0bff",
-1823 => x"8339f73d",
-1824 => x"0d7b7d54",
-1825 => x"0b0b5a72",
-1826 => x"802e82ab",
-1827 => x"387951fc",
-1828 => x"a43ff873",
-1829 => x"05847105",
-1830 => x"0870fe06",
-1831 => x"70730584",
-1832 => x"710508fc",
-1833 => x"065c5758",
-1834 => x"540b0b57",
-1835 => x"80e6a808",
-1836 => x"742e838b",
-1837 => x"38778415",
-1838 => x"0c807381",
-1839 => x"0656590b",
-1840 => x"740b792e",
-1841 => x"81f53877",
-1842 => x"14847105",
-1843 => x"08810656",
-1844 => x"530b0b74",
-1845 => x"a3387716",
-1846 => x"56788287",
-1847 => x"38881408",
-1848 => x"550b0b74",
-1849 => x"80e6a82e",
-1850 => x"83a7388c",
-1851 => x"1408708c",
-1852 => x"170c7588",
-1853 => x"72050c58",
-1854 => x"75810784",
-1855 => x"180c7517",
-1856 => x"76710c54",
-1857 => x"0b0b7881",
-1858 => x"a93883ff",
-1859 => x"762781e5",
-1860 => x"3875892a",
-1861 => x"76832a54",
-1862 => x"0b0b540b",
-1863 => x"0b73802e",
-1864 => x"80cb3875",
-1865 => x"862ab805",
-1866 => x"530b0b84",
-1867 => x"7427be38",
-1868 => x"80db1453",
-1869 => x"0b0b9474",
-1870 => x"27b33875",
-1871 => x"8c2a80ee",
-1872 => x"05530b0b",
-1873 => x"80d47427",
-1874 => x"a438758f",
-1875 => x"2a80f705",
-1876 => x"530b0b82",
-1877 => x"d4742795",
-1878 => x"3875922a",
-1879 => x"80fc0553",
-1880 => x"0b0b8ad4",
-1881 => x"74278638",
-1882 => x"80fe530b",
-1883 => x"0b721010",
-1884 => x"1080e6a0",
-1885 => x"05887105",
-1886 => x"0855550b",
-1887 => x"730b752e",
-1888 => x"82da3884",
-1889 => x"1408fc06",
-1890 => x"59750b79",
-1891 => x"278f3888",
-1892 => x"1408540b",
-1893 => x"0b73752e",
-1894 => x"098106e7",
-1895 => x"388c1408",
-1896 => x"708c190c",
-1897 => x"7488190c",
-1898 => x"77887205",
-1899 => x"0c55768c",
-1900 => x"150c7951",
-1901 => x"fa803f8b",
-1902 => x"3d0d0476",
-1903 => x"08777131",
-1904 => x"58760588",
-1905 => x"18085656",
-1906 => x"0b7480e6",
-1907 => x"a82e80ea",
-1908 => x"388c1708",
-1909 => x"708c170c",
-1910 => x"75887205",
-1911 => x"0c530b0b",
-1912 => x"fde53988",
-1913 => x"14088c15",
-1914 => x"08708c73",
-1915 => x"050c5988",
-1916 => x"190cfe84",
-1917 => x"3975832a",
-1918 => x"70540b0b",
-1919 => x"540b0b80",
-1920 => x"742481a2",
-1921 => x"3872822c",
-1922 => x"81712b80",
-1923 => x"e6a40807",
-1924 => x"80e6a00b",
-1925 => x"84050c74",
-1926 => x"10101080",
-1927 => x"e6a00588",
-1928 => x"71050871",
-1929 => x"8c1b0c70",
-1930 => x"881b0c79",
-1931 => x"8873050c",
-1932 => x"565a5576",
-1933 => x"8c150cfe",
-1934 => x"f9398159",
-1935 => x"fd893977",
-1936 => x"16738106",
-1937 => x"540b0b55",
-1938 => x"729a3876",
-1939 => x"08777131",
-1940 => x"5875058c",
-1941 => x"18088819",
-1942 => x"08718c72",
-1943 => x"050c8872",
-1944 => x"050c5555",
-1945 => x"0b0b7481",
-1946 => x"0784180c",
-1947 => x"7680e6a0",
-1948 => x"0b88050c",
-1949 => x"80e69c08",
-1950 => x"7526feb6",
-1951 => x"3880e698",
-1952 => x"08520b0b",
-1953 => x"7951faa8",
-1954 => x"3f7951f8",
-1955 => x"a93ffea7",
-1956 => x"3981778c",
-1957 => x"170c7788",
-1958 => x"170c758c",
-1959 => x"190c7588",
-1960 => x"190c59fc",
-1961 => x"d3398314",
-1962 => x"70822c81",
-1963 => x"712b80e6",
-1964 => x"a4080780",
-1965 => x"e6a00b84",
-1966 => x"050c7510",
-1967 => x"101080e6",
-1968 => x"a0058871",
-1969 => x"0508718c",
-1970 => x"1c0c7088",
-1971 => x"1c0c7a88",
-1972 => x"73050c57",
-1973 => x"5b56530b",
-1974 => x"0bfed839",
-1975 => x"807324a3",
-1976 => x"3872822c",
-1977 => x"81712b80",
-1978 => x"e6a40807",
-1979 => x"80e6a00b",
-1980 => x"84050c58",
-1981 => x"748c180c",
-1982 => x"7388180c",
-1983 => x"7688160c",
-1984 => x"fdac3983",
-1985 => x"73057082",
-1986 => x"2c81712b",
-1987 => x"80e6a408",
-1988 => x"0780e6a0",
-1989 => x"0b84050c",
-1990 => x"59530b0b",
-1991 => x"d7397070",
-1992 => x"7081c5ec",
-1993 => x"08510b0b",
-1994 => x"708a3881",
-1995 => x"c5f47081",
-1996 => x"c5ec0c51",
-1997 => x"740b7105",
-1998 => x"520b0bff",
-1999 => x"530b0b71",
-2000 => x"87fb8080",
-2001 => x"268a3871",
-2002 => x"81c5ec0c",
-2003 => x"70530b0b",
-2004 => x"72800c50",
-2005 => x"50500470",
-2006 => x"70707080",
-2007 => x"0b80e5d0",
-2008 => x"08540b0b",
-2009 => x"540b0b72",
-2010 => x"812e9d38",
-2011 => x"7381c5f0",
-2012 => x"0ccabe3f",
-2013 => x"c98a3f80",
-2014 => x"f5a8520b",
-2015 => x"0b8151d3",
-2016 => x"fa3f8008",
-2017 => x"518a8f3f",
-2018 => x"7281c5f0",
-2019 => x"0ccaa23f",
-2020 => x"c8ee3f80",
-2021 => x"f5a8520b",
-2022 => x"0b8151d3",
-2023 => x"de3f8008",
-2024 => x"5189f33f",
-2025 => x"00ff3900",
-2026 => x"ff39f53d",
-2027 => x"0d7e6081",
-2028 => x"c5f00870",
-2029 => x"5b585b5b",
-2030 => x"7580c538",
-2031 => x"777a25a2",
-2032 => x"38771b70",
-2033 => x"337081ff",
-2034 => x"06585859",
-2035 => x"758a2e99",
-2036 => x"387681ff",
-2037 => x"0651c9b4",
-2038 => x"3f811858",
-2039 => x"790b7824",
-2040 => x"e0387980",
-2041 => x"0c8d3d0d",
-2042 => x"048d51c9",
-2043 => x"9f3f7833",
-2044 => x"7081ff06",
-2045 => x"520b0b57",
-2046 => x"c9923f81",
-2047 => x"1858dd39",
-2048 => x"79557a54",
-2049 => x"0b0b7d53",
-2050 => x"0b0b8552",
-2051 => x"0b0b8d3d",
-2052 => x"fc0551c8",
-2053 => x"af3f8008",
-2054 => x"5688f43f",
-2055 => x"7b80080c",
-2056 => x"75800c8d",
-2057 => x"3d0d04f6",
-2058 => x"3d0d7d7f",
-2059 => x"81c5f008",
-2060 => x"705a585a",
-2061 => x"5a7580ca",
-2062 => x"38767925",
-2063 => x"b638761a",
-2064 => x"58c8a53f",
-2065 => x"80087834",
-2066 => x"800b8008",
-2067 => x"81ff0657",
-2068 => x"580b758a",
-2069 => x"2ea83875",
-2070 => x"8d327030",
-2071 => x"7080257a",
-2072 => x"07515156",
-2073 => x"0b0b7580",
-2074 => x"c0388117",
-2075 => x"57780b77",
-2076 => x"24cc3876",
-2077 => x"560b0b75",
-2078 => x"800c8c3d",
-2079 => x"0d048158",
-2080 => x"d6397855",
-2081 => x"79540b0b",
-2082 => x"7c530b0b",
-2083 => x"84520b0b",
-2084 => x"8c3dfc05",
-2085 => x"51c7ad3f",
-2086 => x"80085687",
-2087 => x"f23f7a80",
-2088 => x"080c7580",
-2089 => x"0c8c3d0d",
-2090 => x"04811756",
-2091 => x"c839f93d",
-2092 => x"0d795781",
-2093 => x"c5f00880",
-2094 => x"2eb23876",
-2095 => x"518ac03f",
-2096 => x"7b567a55",
-2097 => x"80088105",
-2098 => x"540b0b76",
-2099 => x"530b0b82",
-2100 => x"520b0b89",
-2101 => x"3dfc0551",
-2102 => x"c6ea3f80",
-2103 => x"085787af",
-2104 => x"3f778008",
-2105 => x"0c76800c",
-2106 => x"893d0d04",
-2107 => x"87a13f85",
-2108 => x"0b80080c",
-2109 => x"ff0b800c",
-2110 => x"893d0d04",
-2111 => x"fb3d0d81",
-2112 => x"c5f00870",
-2113 => x"56540b0b",
-2114 => x"73883874",
-2115 => x"800c873d",
-2116 => x"0d047753",
-2117 => x"0b0b8352",
-2118 => x"0b0b873d",
-2119 => x"fc0551c6",
-2120 => x"a33f8008",
-2121 => x"540b0b86",
-2122 => x"e63f7580",
-2123 => x"080c7380",
-2124 => x"0c873d0d",
-2125 => x"04ff0b80",
-2126 => x"0c04fb3d",
-2127 => x"0d775581",
-2128 => x"c5f00880",
-2129 => x"2eae3874",
-2130 => x"5189b43f",
-2131 => x"80088105",
-2132 => x"540b0b74",
-2133 => x"530b0b87",
-2134 => x"520b0b87",
-2135 => x"3dfc0551",
-2136 => x"c5e23f80",
-2137 => x"085586a7",
-2138 => x"3f758008",
-2139 => x"0c74800c",
-2140 => x"873d0d04",
-2141 => x"86993f85",
-2142 => x"0b80080c",
-2143 => x"ff0b800c",
-2144 => x"873d0d04",
-2145 => x"fa3d0d81",
-2146 => x"c5f00880",
-2147 => x"2ea8387a",
-2148 => x"5579540b",
-2149 => x"0b78530b",
-2150 => x"0b86520b",
-2151 => x"0b883dfc",
-2152 => x"0551c5a0",
-2153 => x"3f800856",
-2154 => x"85e53f76",
-2155 => x"80080c75",
-2156 => x"800c883d",
-2157 => x"0d0485d7",
-2158 => x"3f9d0b80",
-2159 => x"080cff0b",
-2160 => x"800c883d",
-2161 => x"0d04f73d",
-2162 => x"0d7b7d5b",
-2163 => x"59bc530b",
-2164 => x"0b80520b",
-2165 => x"0b795186",
-2166 => x"fd3f8070",
-2167 => x"56579856",
-2168 => x"74197033",
-2169 => x"70782b79",
-2170 => x"078118f8",
-2171 => x"1a5a5859",
-2172 => x"55588475",
-2173 => x"24ea3876",
-2174 => x"7a238419",
-2175 => x"58807056",
-2176 => x"57985674",
-2177 => x"18703370",
-2178 => x"782b7907",
-2179 => x"8118f81a",
-2180 => x"5a585951",
-2181 => x"540b0b84",
-2182 => x"7524e838",
-2183 => x"76821b23",
-2184 => x"88195880",
-2185 => x"70565798",
-2186 => x"56741870",
-2187 => x"3370782b",
-2188 => x"79078118",
-2189 => x"f81a5a58",
-2190 => x"5951540b",
-2191 => x"0b847524",
-2192 => x"e8387684",
-2193 => x"1b0c8c19",
-2194 => x"58807056",
-2195 => x"57985674",
-2196 => x"18703370",
-2197 => x"782b7907",
-2198 => x"8118f81a",
-2199 => x"5a585951",
-2200 => x"540b0b84",
-2201 => x"7524e838",
-2202 => x"76881b23",
-2203 => x"90195880",
-2204 => x"70565798",
-2205 => x"56741870",
-2206 => x"3370782b",
-2207 => x"79078118",
-2208 => x"f81a5a58",
-2209 => x"5951540b",
-2210 => x"0b847524",
-2211 => x"e838768a",
-2212 => x"1b239419",
-2213 => x"58807056",
-2214 => x"57985674",
-2215 => x"18703370",
-2216 => x"782b7907",
-2217 => x"8118f81a",
-2218 => x"5a585951",
-2219 => x"540b0b84",
-2220 => x"7524e838",
-2221 => x"768c1b23",
-2222 => x"98195880",
-2223 => x"70565798",
-2224 => x"56741870",
-2225 => x"3370782b",
-2226 => x"79078118",
-2227 => x"f81a5a58",
-2228 => x"5951540b",
-2229 => x"0b847524",
-2230 => x"e838768e",
-2231 => x"1b239c19",
-2232 => x"58807056",
-2233 => x"57b85674",
-2234 => x"18703370",
-2235 => x"782b7907",
-2236 => x"8118f81a",
-2237 => x"5a58595a",
-2238 => x"540b0b88",
-2239 => x"7524e838",
-2240 => x"76901b0c",
-2241 => x"8b3d0d04",
-2242 => x"e93d0d6a",
-2243 => x"81c5f008",
-2244 => x"57570b75",
-2245 => x"933880c0",
-2246 => x"800b8418",
-2247 => x"0c75ac18",
-2248 => x"0c75800c",
-2249 => x"993d0d04",
-2250 => x"893d7055",
-2251 => x"6a540b0b",
-2252 => x"558a520b",
-2253 => x"0b993dff",
-2254 => x"bc0551c2",
-2255 => x"873f8008",
-2256 => x"77530b0b",
-2257 => x"75520b0b",
-2258 => x"56fcfb3f",
-2259 => x"82c13f77",
-2260 => x"80080c75",
-2261 => x"800c993d",
-2262 => x"0d04e93d",
-2263 => x"0d695781",
-2264 => x"c5f00880",
-2265 => x"2ebd3876",
-2266 => x"5185943f",
-2267 => x"893d7056",
-2268 => x"80088105",
-2269 => x"5577540b",
-2270 => x"0b568f52",
-2271 => x"0b0b993d",
-2272 => x"ffbc0551",
-2273 => x"c1be3f80",
-2274 => x"086b530b",
-2275 => x"0b76520b",
-2276 => x"0b57fcb2",
-2277 => x"3f81f83f",
-2278 => x"7780080c",
-2279 => x"76800c99",
-2280 => x"3d0d0481",
-2281 => x"ea3f850b",
-2282 => x"80080cff",
-2283 => x"0b800c99",
-2284 => x"3d0d04fc",
-2285 => x"3d0d8154",
-2286 => x"0b0b81c5",
-2287 => x"f0088838",
-2288 => x"73800c86",
-2289 => x"3d0d0476",
-2290 => x"530b0b97",
-2291 => x"b9520b0b",
-2292 => x"863dfc05",
-2293 => x"51c0ed3f",
-2294 => x"8008540b",
-2295 => x"0b81b03f",
-2296 => x"7480080c",
-2297 => x"73800c86",
-2298 => x"3d0d04f4",
-2299 => x"3d0d7e80",
-2300 => x"f5d40870",
-2301 => x"0881ff06",
-2302 => x"913df805",
-2303 => x"540b0b51",
-2304 => x"5959c29d",
-2305 => x"3f775780",
-2306 => x"540b0b76",
-2307 => x"557b7d58",
-2308 => x"520b0b0b",
-2309 => x"76530b0b",
-2310 => x"8e3df005",
-2311 => x"5184dc3f",
-2312 => x"797b5879",
-2313 => x"0c76841a",
-2314 => x"0c78800c",
-2315 => x"8e3d0d04",
-2316 => x"f43d0d7e",
-2317 => x"80f5d408",
-2318 => x"70087081",
-2319 => x"ff06923d",
-2320 => x"f8055551",
-2321 => x"5a5759c1",
-2322 => x"d83f7757",
-2323 => x"800b8b3d",
-2324 => x"59540b0b",
-2325 => x"76557b7d",
-2326 => x"58520b0b",
-2327 => x"0b76530b",
-2328 => x"0b775184",
-2329 => x"963f8056",
-2330 => x"bd84c076",
-2331 => x"5555797b",
-2332 => x"58520b0b",
-2333 => x"0b76530b",
-2334 => x"0b775183",
-2335 => x"fe3f7a57",
-2336 => x"78802e84",
-2337 => x"3876790c",
-2338 => x"76800c8e",
-2339 => x"3d0d0480",
-2340 => x"eea80880",
-2341 => x"0c04f73d",
-2342 => x"0d7b80ee",
-2343 => x"a80882c8",
-2344 => x"7105085a",
-2345 => x"540b0b5a",
-2346 => x"77802e80",
-2347 => x"eb388188",
-2348 => x"18841908",
-2349 => x"ff058171",
-2350 => x"2b595559",
-2351 => x"80742481",
-2352 => x"80388074",
-2353 => x"2480c138",
-2354 => x"73822b78",
-2355 => x"71058805",
-2356 => x"56568180",
-2357 => x"19087706",
-2358 => x"530b0b72",
-2359 => x"802e80c3",
-2360 => x"38781670",
-2361 => x"08530b0b",
-2362 => x"530b0b79",
-2363 => x"51740853",
-2364 => x"0b0b722d",
-2365 => x"ff14fc17",
-2366 => x"fc177981",
-2367 => x"2c5a5757",
-2368 => x"540b0b73",
-2369 => x"8025cb38",
-2370 => x"7708580b",
-2371 => x"0b77ff9e",
-2372 => x"3880eea8",
-2373 => x"08530b0b",
-2374 => x"bc730508",
-2375 => x"a9387951",
-2376 => x"f5823f74",
-2377 => x"08530b0b",
-2378 => x"722dff14",
-2379 => x"fc17fc17",
-2380 => x"79812c5a",
-2381 => x"5757540b",
-2382 => x"0b738025",
-2383 => x"ff9438c8",
-2384 => x"398057fe",
-2385 => x"fd397251",
-2386 => x"bc730508",
-2387 => x"540b0b73",
-2388 => x"2d7951f4",
-2389 => x"cf3ffb3d",
-2390 => x"0d777a71",
-2391 => x"028c05a3",
-2392 => x"05335854",
-2393 => x"0b0b540b",
-2394 => x"0b568373",
-2395 => x"2780e738",
-2396 => x"75830651",
-2397 => x"0b0b7080",
-2398 => x"dd387488",
-2399 => x"2b750770",
-2400 => x"71902b07",
-2401 => x"55518f73",
-2402 => x"27b33873",
-2403 => x"72708405",
-2404 => x"540b0b0c",
-2405 => x"71747170",
-2406 => x"8405530b",
-2407 => x"0b0c7471",
-2408 => x"70840553",
-2409 => x"0b0b0c74",
-2410 => x"71708405",
-2411 => x"530b0b0c",
-2412 => x"f014540b",
-2413 => x"0b520b0b",
-2414 => x"728f26cf",
-2415 => x"38837327",
-2416 => x"95387372",
-2417 => x"70840554",
-2418 => x"0b0b0cfc",
-2419 => x"7305530b",
-2420 => x"0b728326",
-2421 => x"ed38ff73",
-2422 => x"05510b0b",
-2423 => x"70ff2e98",
-2424 => x"38747270",
-2425 => x"8105540b",
-2426 => x"0b34ff71",
-2427 => x"05510b0b",
-2428 => x"70ff2e09",
-2429 => x"8106ea38",
-2430 => x"75800c87",
-2431 => x"3d0d0470",
-2432 => x"70707075",
-2433 => x"70718306",
-2434 => x"530b0b55",
-2435 => x"520b0b70",
-2436 => x"80c53871",
-2437 => x"70087009",
-2438 => x"f7fbfdff",
-2439 => x"720506f8",
-2440 => x"84828180",
-2441 => x"06540b0b",
-2442 => x"520b0b53",
-2443 => x"0b0b71a3",
-2444 => x"38847305",
-2445 => x"70087009",
-2446 => x"f7fbfdff",
-2447 => x"720506f8",
-2448 => x"84828180",
-2449 => x"06540b0b",
-2450 => x"520b0b53",
-2451 => x"0b0b7180",
-2452 => x"2edf3872",
-2453 => x"520b0b0b",
-2454 => x"0b713353",
-2455 => x"0b0b7280",
-2456 => x"2e8f3881",
-2457 => x"72057033",
-2458 => x"540b0b52",
-2459 => x"0b0b72f3",
-2460 => x"38717431",
-2461 => x"800c5050",
-2462 => x"505004e4",
-2463 => x"3d0d6ea1",
-2464 => x"3d08a33d",
-2465 => x"0859575f",
-2466 => x"80764d77",
-2467 => x"4ea33d08",
-2468 => x"a53d0857",
-2469 => x"4b0b754c",
-2470 => x"5e0b0b7d",
-2471 => x"6c2487b2",
-2472 => x"38806a24",
-2473 => x"87cd3869",
-2474 => x"6b58566b",
-2475 => x"6d5d460b",
-2476 => x"7b477544",
-2477 => x"76450b0b",
-2478 => x"64646868",
-2479 => x"5c5c5656",
-2480 => x"0b7481f5",
-2481 => x"38787627",
-2482 => x"82dd3875",
-2483 => x"81ff2683",
-2484 => x"2b5583ff",
-2485 => x"ff76278c",
-2486 => x"389055fe",
-2487 => x"800a7627",
-2488 => x"83389855",
-2489 => x"750b752a",
-2490 => x"80e3bc05",
-2491 => x"7033a077",
-2492 => x"31713157",
-2493 => x"55577480",
-2494 => x"2e953875",
-2495 => x"752ba076",
-2496 => x"317a772b",
-2497 => x"7c722a07",
-2498 => x"7c782b5d",
-2499 => x"5b59560b",
-2500 => x"0b75902a",
-2501 => x"7683ffff",
-2502 => x"0671540b",
-2503 => x"0b7a530b",
-2504 => x"0b595788",
-2505 => x"bf3f8008",
-2506 => x"5b88a53f",
-2507 => x"80088008",
-2508 => x"79297c90",
-2509 => x"2b7c902a",
-2510 => x"07565659",
-2511 => x"73752794",
-2512 => x"388008ff",
-2513 => x"05761555",
-2514 => x"59757426",
-2515 => x"87387474",
-2516 => x"2687f438",
-2517 => x"76520b0b",
-2518 => x"73753151",
-2519 => x"88863f80",
-2520 => x"085587ec",
-2521 => x"3f800880",
-2522 => x"0879297b",
-2523 => x"83ffff06",
-2524 => x"77902b07",
-2525 => x"56595773",
-2526 => x"78279638",
-2527 => x"8008ff05",
-2528 => x"76155557",
-2529 => x"75742689",
-2530 => x"38777426",
-2531 => x"77713158",
-2532 => x"5678902b",
-2533 => x"77075880",
-2534 => x"5b0b0b7a",
-2535 => x"4077417f",
-2536 => x"0b615654",
-2537 => x"0b0b7d80",
-2538 => x"dd38737f",
-2539 => x"0c747f84",
-2540 => x"050c7e80",
-2541 => x"0c9e3d0d",
-2542 => x"0480705c",
-2543 => x"58747926",
-2544 => x"d8387481",
-2545 => x"ff26832b",
-2546 => x"577483ff",
-2547 => x"ff2682bd",
-2548 => x"3874772a",
-2549 => x"80e3bc05",
-2550 => x"7033a079",
-2551 => x"31713159",
-2552 => x"5c5d7682",
-2553 => x"cf387654",
-2554 => x"0b0b7479",
-2555 => x"27853881",
-2556 => x"540b0b79",
-2557 => x"76277407",
-2558 => x"59815878",
-2559 => x"ff993876",
-2560 => x"58805bff",
-2561 => x"94397352",
-2562 => x"0b0b7453",
-2563 => x"0b0b9e3d",
-2564 => x"e80551d2",
-2565 => x"d43f6769",
-2566 => x"567f0c74",
-2567 => x"7f84050c",
-2568 => x"7e800c9e",
-2569 => x"3d0d0475",
-2570 => x"802e81d2",
-2571 => x"387581ff",
-2572 => x"26832b55",
-2573 => x"83ffff76",
-2574 => x"278c3890",
-2575 => x"55fe800a",
-2576 => x"76278338",
-2577 => x"9855750b",
-2578 => x"752a80e3",
-2579 => x"bc057033",
-2580 => x"a0773171",
-2581 => x"31575e54",
-2582 => x"0b0b7484",
-2583 => x"b8387876",
-2584 => x"31540b0b",
-2585 => x"8176902a",
-2586 => x"7783ffff",
-2587 => x"065f5d5b",
-2588 => x"0b7b520b",
-2589 => x"0b735185",
-2590 => x"eb3f8008",
-2591 => x"5785d13f",
-2592 => x"80088008",
-2593 => x"7e297890",
-2594 => x"2b7c902a",
-2595 => x"07565659",
-2596 => x"73752794",
-2597 => x"388008ff",
-2598 => x"05761555",
-2599 => x"59757426",
-2600 => x"87387474",
-2601 => x"26859738",
-2602 => x"7b520b0b",
-2603 => x"73753151",
-2604 => x"85b23f80",
-2605 => x"08558598",
-2606 => x"3f800880",
-2607 => x"087e297b",
-2608 => x"83ffff06",
-2609 => x"77902b07",
-2610 => x"56595773",
-2611 => x"78279638",
-2612 => x"8008ff05",
-2613 => x"76155557",
-2614 => x"75742689",
-2615 => x"38777426",
-2616 => x"77713158",
-2617 => x"5a78902b",
-2618 => x"77077b41",
-2619 => x"410b7f0b",
-2620 => x"6156540b",
-2621 => x"0b7d802e",
-2622 => x"fdb038fe",
-2623 => x"89397552",
-2624 => x"0b0b8151",
-2625 => x"84ca3f80",
-2626 => x"0856fea1",
-2627 => x"399057fe",
-2628 => x"800a7527",
-2629 => x"fdbb3898",
-2630 => x"75712a80",
-2631 => x"e3bc0570",
-2632 => x"33a07331",
-2633 => x"7131530b",
-2634 => x"0b5d5e57",
-2635 => x"0b0b7680",
-2636 => x"2efdb338",
-2637 => x"a0773175",
-2638 => x"782b7772",
-2639 => x"2a077779",
-2640 => x"2b7b7a2b",
-2641 => x"7d742a07",
-2642 => x"7d7b2b73",
-2643 => x"902a7483",
-2644 => x"ffff0671",
-2645 => x"597f772a",
-2646 => x"585e5c41",
-2647 => x"5f585c54",
-2648 => x"0b0b8480",
-2649 => x"3f800854",
-2650 => x"0b0b83e4",
-2651 => x"3f800880",
-2652 => x"08792975",
-2653 => x"902b7e90",
-2654 => x"2a075656",
-2655 => x"59737527",
-2656 => x"99388008",
-2657 => x"ff057b15",
-2658 => x"55597a74",
-2659 => x"268c3873",
-2660 => x"75278738",
-2661 => x"ff197b15",
-2662 => x"55597652",
-2663 => x"0b0b7375",
-2664 => x"315183c0",
-2665 => x"3f800855",
-2666 => x"83a63f80",
-2667 => x"08800879",
-2668 => x"297d83ff",
-2669 => x"ff067790",
-2670 => x"2b075659",
-2671 => x"57737827",
-2672 => x"99388008",
-2673 => x"ff057b15",
-2674 => x"55577a74",
-2675 => x"268c3873",
-2676 => x"78278738",
-2677 => x"ff177b15",
-2678 => x"55570b73",
-2679 => x"78317990",
-2680 => x"2b780770",
-2681 => x"83ffff06",
-2682 => x"71902a79",
-2683 => x"83ffff06",
-2684 => x"7a902a73",
-2685 => x"72297373",
-2686 => x"29747329",
-2687 => x"76742973",
-2688 => x"902a0572",
-2689 => x"05575543",
-2690 => x"5f5b585a",
-2691 => x"57595a74",
-2692 => x"7c278638",
-2693 => x"84808017",
-2694 => x"5774902a",
-2695 => x"177983ff",
-2696 => x"ff067684",
-2697 => x"80802905",
-2698 => x"57570b0b",
-2699 => x"767a269a",
-2700 => x"38767a32",
-2701 => x"70307072",
-2702 => x"07802556",
-2703 => x"5a5b7c76",
-2704 => x"27fad438",
-2705 => x"73802efa",
-2706 => x"ce38ff18",
-2707 => x"58805bfa",
-2708 => x"c839ff76",
-2709 => x"530b0b77",
-2710 => x"540b0b9f",
-2711 => x"3de80552",
-2712 => x"0b0b5ece",
-2713 => x"843f6769",
-2714 => x"574c0b75",
-2715 => x"4d698025",
-2716 => x"f8b5387d",
-2717 => x"096a6c5c",
-2718 => x"530b0b7a",
-2719 => x"540b0b9f",
-2720 => x"3de80552",
-2721 => x"0b0b5ecd",
-2722 => x"e03f6769",
-2723 => x"714c704d",
-2724 => x"5856f897",
-2725 => x"39a07531",
-2726 => x"76762b7a",
-2727 => x"772b7c73",
-2728 => x"2a077c78",
-2729 => x"2b72902a",
-2730 => x"7383ffff",
-2731 => x"0671587e",
-2732 => x"762a5742",
-2733 => x"405d5d57",
-2734 => x"5881a93f",
-2735 => x"80085781",
-2736 => x"8f3f8008",
-2737 => x"80087e29",
-2738 => x"78902b7d",
-2739 => x"902a0756",
-2740 => x"56597375",
-2741 => x"27993880",
-2742 => x"08ff0576",
-2743 => x"15555975",
-2744 => x"74268c38",
-2745 => x"73752787",
-2746 => x"38ff1976",
-2747 => x"1555597b",
-2748 => x"520b0b73",
-2749 => x"75315180",
-2750 => x"eb3f8008",
-2751 => x"5580d13f",
-2752 => x"80088008",
-2753 => x"7e297c83",
-2754 => x"ffff0670",
-2755 => x"78902b07",
-2756 => x"51565858",
-2757 => x"73772799",
-2758 => x"388008ff",
-2759 => x"05761555",
-2760 => x"58757426",
-2761 => x"8c387377",
-2762 => x"278738ff",
-2763 => x"18761555",
-2764 => x"5878902b",
-2765 => x"78077478",
-2766 => x"31555bfa",
-2767 => x"b339ff19",
-2768 => x"76155559",
-2769 => x"fae239ff",
-2770 => x"19761555",
-2771 => x"59f88539",
-2772 => x"70707080",
-2773 => x"530b0b75",
-2774 => x"520b0b74",
-2775 => x"51ceaf3f",
-2776 => x"50505004",
-2777 => x"70707081",
-2778 => x"530b0b75",
-2779 => x"520b0b74",
-2780 => x"51ce9b3f",
-2781 => x"50505004",
-2782 => x"707080f5",
-2783 => x"b00bfc05",
-2784 => x"7008520b",
-2785 => x"0b520b0b",
-2786 => x"0b70ff2e",
-2787 => x"9738702d",
-2788 => x"fc720570",
-2789 => x"08520b0b",
-2790 => x"520b0b0b",
-2791 => x"70ff2e09",
-2792 => x"8106eb38",
-2793 => x"50500404",
-2794 => x"ffb4963f",
-2795 => x"04000000",
-2796 => x"30313233",
-2797 => x"34353637",
-2798 => x"38390000",
-2799 => x"44485259",
-2800 => x"53544f4e",
-2801 => x"45205052",
-2802 => x"4f475241",
-2803 => x"4d2c2053",
-2804 => x"4f4d4520",
-2805 => x"53545249",
-2806 => x"4e470000",
-2807 => x"44485259",
-2808 => x"53544f4e",
-2809 => x"45205052",
-2810 => x"4f475241",
-2811 => x"4d2c2031",
-2812 => x"27535420",
-2813 => x"53545249",
-2814 => x"4e470000",
-2815 => x"44687279",
-2816 => x"73746f6e",
-2817 => x"65204265",
-2818 => x"6e63686d",
-2819 => x"61726b2c",
-2820 => x"20566572",
-2821 => x"73696f6e",
-2822 => x"20322e31",
-2823 => x"20284c61",
-2824 => x"6e677561",
-2825 => x"67653a20",
-2826 => x"43290a00",
-2827 => x"50726f67",
-2828 => x"72616d20",
-2829 => x"636f6d70",
-2830 => x"696c6564",
-2831 => x"20776974",
-2832 => x"68202772",
-2833 => x"65676973",
-2834 => x"74657227",
-2835 => x"20617474",
-2836 => x"72696275",
-2837 => x"74650a00",
-2838 => x"45786563",
-2839 => x"7574696f",
-2840 => x"6e207374",
-2841 => x"61727473",
-2842 => x"2c202564",
-2843 => x"2072756e",
-2844 => x"73207468",
-2845 => x"726f7567",
-2846 => x"68204468",
-2847 => x"72797374",
-2848 => x"6f6e650a",
-2849 => x"00000000",
-2850 => x"44485259",
-2851 => x"53544f4e",
-2852 => x"45205052",
-2853 => x"4f475241",
-2854 => x"4d2c2032",
-2855 => x"274e4420",
-2856 => x"53545249",
-2857 => x"4e470000",
-2858 => x"45786563",
-2859 => x"7574696f",
-2860 => x"6e20656e",
-2861 => x"64730a00",
-2862 => x"46696e61",
-2863 => x"6c207661",
-2864 => x"6c756573",
-2865 => x"206f6620",
-2866 => x"74686520",
-2867 => x"76617269",
-2868 => x"61626c65",
-2869 => x"73207573",
-2870 => x"65642069",
-2871 => x"6e207468",
-2872 => x"65206265",
-2873 => x"6e63686d",
-2874 => x"61726b3a",
-2875 => x"0a000000",
-2876 => x"496e745f",
-2877 => x"476c6f62",
-2878 => x"3a202020",
-2879 => x"20202020",
-2880 => x"20202020",
-2881 => x"2025640a",
-2882 => x"00000000",
-2883 => x"20202020",
-2884 => x"20202020",
-2885 => x"73686f75",
-2886 => x"6c642062",
-2887 => x"653a2020",
-2888 => x"2025640a",
-2889 => x"00000000",
-2890 => x"426f6f6c",
-2891 => x"5f476c6f",
-2892 => x"623a2020",
-2893 => x"20202020",
-2894 => x"20202020",
-2895 => x"2025640a",
-2896 => x"00000000",
-2897 => x"43685f31",
-2898 => x"5f476c6f",
-2899 => x"623a2020",
-2900 => x"20202020",
-2901 => x"20202020",
-2902 => x"2025630a",
-2903 => x"00000000",
-2904 => x"20202020",
-2905 => x"20202020",
-2906 => x"73686f75",
-2907 => x"6c642062",
-2908 => x"653a2020",
-2909 => x"2025630a",
-2910 => x"00000000",
-2911 => x"43685f32",
-2912 => x"5f476c6f",
-2913 => x"623a2020",
-2914 => x"20202020",
-2915 => x"20202020",
-2916 => x"2025630a",
-2917 => x"00000000",
-2918 => x"4172725f",
-2919 => x"315f476c",
-2920 => x"6f625b38",
-2921 => x"5d3a2020",
-2922 => x"20202020",
-2923 => x"2025640a",
-2924 => x"00000000",
-2925 => x"4172725f",
-2926 => x"325f476c",
-2927 => x"6f625b38",
-2928 => x"5d5b375d",
-2929 => x"3a202020",
-2930 => x"2025640a",
-2931 => x"00000000",
-2932 => x"20202020",
-2933 => x"20202020",
-2934 => x"73686f75",
-2935 => x"6c642062",
-2936 => x"653a2020",
-2937 => x"204e756d",
-2938 => x"6265725f",
-2939 => x"4f665f52",
-2940 => x"756e7320",
-2941 => x"2b203130",
-2942 => x"0a000000",
-2943 => x"5074725f",
-2944 => x"476c6f62",
-2945 => x"2d3e0a00",
-2946 => x"20205074",
-2947 => x"725f436f",
-2948 => x"6d703a20",
-2949 => x"20202020",
-2950 => x"20202020",
-2951 => x"2025640a",
-2952 => x"00000000",
-2953 => x"20202020",
-2954 => x"20202020",
-2955 => x"73686f75",
-2956 => x"6c642062",
-2957 => x"653a2020",
-2958 => x"2028696d",
-2959 => x"706c656d",
-2960 => x"656e7461",
-2961 => x"74696f6e",
-2962 => x"2d646570",
-2963 => x"656e6465",
-2964 => x"6e74290a",
-2965 => x"00000000",
-2966 => x"20204469",
-2967 => x"7363723a",
-2968 => x"20202020",
-2969 => x"20202020",
-2970 => x"20202020",
-2971 => x"2025640a",
-2972 => x"00000000",
-2973 => x"2020456e",
-2974 => x"756d5f43",
-2975 => x"6f6d703a",
-2976 => x"20202020",
-2977 => x"20202020",
-2978 => x"2025640a",
-2979 => x"00000000",
-2980 => x"2020496e",
-2981 => x"745f436f",
-2982 => x"6d703a20",
-2983 => x"20202020",
-2984 => x"20202020",
-2985 => x"2025640a",
-2986 => x"00000000",
-2987 => x"20205374",
-2988 => x"725f436f",
-2989 => x"6d703a20",
-2990 => x"20202020",
-2991 => x"20202020",
-2992 => x"2025730a",
-2993 => x"00000000",
-2994 => x"20202020",
-2995 => x"20202020",
-2996 => x"73686f75",
-2997 => x"6c642062",
-2998 => x"653a2020",
-2999 => x"20444852",
-3000 => x"5953544f",
-3001 => x"4e452050",
-3002 => x"524f4752",
-3003 => x"414d2c20",
-3004 => x"534f4d45",
-3005 => x"20535452",
-3006 => x"494e470a",
-3007 => x"00000000",
-3008 => x"4e657874",
-3009 => x"5f507472",
-3010 => x"5f476c6f",
-3011 => x"622d3e0a",
-3012 => x"00000000",
-3013 => x"20202020",
-3014 => x"20202020",
-3015 => x"73686f75",
-3016 => x"6c642062",
-3017 => x"653a2020",
-3018 => x"2028696d",
-3019 => x"706c656d",
-3020 => x"656e7461",
-3021 => x"74696f6e",
-3022 => x"2d646570",
-3023 => x"656e6465",
-3024 => x"6e74292c",
-3025 => x"2073616d",
-3026 => x"65206173",
-3027 => x"2061626f",
-3028 => x"76650a00",
-3029 => x"496e745f",
-3030 => x"315f4c6f",
-3031 => x"633a2020",
-3032 => x"20202020",
-3033 => x"20202020",
-3034 => x"2025640a",
-3035 => x"00000000",
-3036 => x"496e745f",
-3037 => x"325f4c6f",
-3038 => x"633a2020",
-3039 => x"20202020",
-3040 => x"20202020",
-3041 => x"2025640a",
-3042 => x"00000000",
-3043 => x"496e745f",
-3044 => x"335f4c6f",
-3045 => x"633a2020",
-3046 => x"20202020",
-3047 => x"20202020",
-3048 => x"2025640a",
-3049 => x"00000000",
-3050 => x"456e756d",
-3051 => x"5f4c6f63",
-3052 => x"3a202020",
-3053 => x"20202020",
-3054 => x"20202020",
-3055 => x"2025640a",
-3056 => x"00000000",
-3057 => x"5374725f",
-3058 => x"315f4c6f",
-3059 => x"633a2020",
-3060 => x"20202020",
-3061 => x"20202020",
-3062 => x"2025730a",
-3063 => x"00000000",
-3064 => x"20202020",
-3065 => x"20202020",
-3066 => x"73686f75",
-3067 => x"6c642062",
-3068 => x"653a2020",
-3069 => x"20444852",
-3070 => x"5953544f",
-3071 => x"4e452050",
-3072 => x"524f4752",
-3073 => x"414d2c20",
-3074 => x"31275354",
-3075 => x"20535452",
-3076 => x"494e470a",
-3077 => x"00000000",
-3078 => x"5374725f",
-3079 => x"325f4c6f",
-3080 => x"633a2020",
-3081 => x"20202020",
-3082 => x"20202020",
-3083 => x"2025730a",
-3084 => x"00000000",
-3085 => x"20202020",
-3086 => x"20202020",
-3087 => x"73686f75",
-3088 => x"6c642062",
-3089 => x"653a2020",
-3090 => x"20444852",
-3091 => x"5953544f",
-3092 => x"4e452050",
-3093 => x"524f4752",
-3094 => x"414d2c20",
-3095 => x"32274e44",
-3096 => x"20535452",
-3097 => x"494e470a",
-3098 => x"00000000",
-3099 => x"55736572",
-3100 => x"2074696d",
-3101 => x"653a2025",
-3102 => x"640a0000",
-3103 => x"4d696372",
-3104 => x"6f736563",
-3105 => x"6f6e6473",
-3106 => x"20666f72",
-3107 => x"206f6e65",
-3108 => x"2072756e",
-3109 => x"20746872",
-3110 => x"6f756768",
-3111 => x"20446872",
-3112 => x"7973746f",
-3113 => x"6e653a20",
-3114 => x"00000000",
-3115 => x"2564200a",
-3116 => x"00000000",
-3117 => x"44687279",
-3118 => x"73746f6e",
-3119 => x"65732070",
-3120 => x"65722053",
-3121 => x"65636f6e",
-3122 => x"643a2020",
-3123 => x"20202020",
-3124 => x"20202020",
-3125 => x"20202020",
-3126 => x"20202020",
-3127 => x"20202020",
-3128 => x"00000000",
-3129 => x"56415820",
-3130 => x"4d495053",
-3131 => x"20726174",
-3132 => x"696e6720",
-3133 => x"2a203130",
-3134 => x"3030203d",
-3135 => x"20256420",
-3136 => x"0a000000",
-3137 => x"50726f67",
-3138 => x"72616d20",
-3139 => x"636f6d70",
-3140 => x"696c6564",
-3141 => x"20776974",
-3142 => x"686f7574",
-3143 => x"20277265",
-3144 => x"67697374",
-3145 => x"65722720",
-3146 => x"61747472",
-3147 => x"69627574",
-3148 => x"650a0000",
-3149 => x"4d656173",
-3150 => x"75726564",
-3151 => x"2074696d",
-3152 => x"6520746f",
-3153 => x"6f20736d",
-3154 => x"616c6c20",
-3155 => x"746f206f",
-3156 => x"62746169",
-3157 => x"6e206d65",
-3158 => x"616e696e",
-3159 => x"6766756c",
-3160 => x"20726573",
-3161 => x"756c7473",
-3162 => x"0a000000",
-3163 => x"506c6561",
-3164 => x"73652069",
-3165 => x"6e637265",
-3166 => x"61736520",
-3167 => x"6e756d62",
-3168 => x"6572206f",
-3169 => x"66207275",
-3170 => x"6e730a00",
-3171 => x"44485259",
-3172 => x"53544f4e",
-3173 => x"45205052",
-3174 => x"4f475241",
-3175 => x"4d2c2033",
-3176 => x"27524420",
-3177 => x"53545249",
-3178 => x"4e470000",
-3179 => x"43000000",
-3180 => x"64756d6d",
-3181 => x"792e6578",
-3182 => x"65000000",
-3183 => x"00010202",
-3184 => x"03030303",
-3185 => x"04040404",
-3186 => x"04040404",
-3187 => x"05050505",
-3188 => x"05050505",
-3189 => x"05050505",
-3190 => x"05050505",
-3191 => x"06060606",
-3192 => x"06060606",
-3193 => x"06060606",
-3194 => x"06060606",
-3195 => x"06060606",
-3196 => x"06060606",
-3197 => x"06060606",
-3198 => x"06060606",
-3199 => x"07070707",
-3200 => x"07070707",
-3201 => x"07070707",
-3202 => x"07070707",
-3203 => x"07070707",
-3204 => x"07070707",
-3205 => x"07070707",
-3206 => x"07070707",
-3207 => x"07070707",
-3208 => x"07070707",
-3209 => x"07070707",
-3210 => x"07070707",
-3211 => x"07070707",
-3212 => x"07070707",
-3213 => x"07070707",
-3214 => x"07070707",
-3215 => x"08080808",
-3216 => x"08080808",
-3217 => x"08080808",
-3218 => x"08080808",
-3219 => x"08080808",
-3220 => x"08080808",
-3221 => x"08080808",
-3222 => x"08080808",
-3223 => x"08080808",
-3224 => x"08080808",
-3225 => x"08080808",
-3226 => x"08080808",
-3227 => x"08080808",
-3228 => x"08080808",
-3229 => x"08080808",
-3230 => x"08080808",
-3231 => x"08080808",
-3232 => x"08080808",
-3233 => x"08080808",
-3234 => x"08080808",
-3235 => x"08080808",
-3236 => x"08080808",
-3237 => x"08080808",
-3238 => x"08080808",
-3239 => x"08080808",
-3240 => x"08080808",
-3241 => x"08080808",
-3242 => x"08080808",
-3243 => x"08080808",
-3244 => x"08080808",
-3245 => x"08080808",
-3246 => x"08080808",
-3247 => x"00ffffff",
-3248 => x"ff00ffff",
-3249 => x"ffff00ff",
-3250 => x"ffffff00",
-3251 => x"00000000",
-3252 => x"00000000",
-3253 => x"00000000",
-3254 => x"00003ab8",
-3255 => x"000186a0", -- iterations
-3256 => x"00000000",
-3257 => x"00000000",
-3258 => x"00000000",
-3259 => x"00000000",
-3260 => x"00000000",
-3261 => x"00000000",
-3262 => x"00000000",
-3263 => x"00000000",
-3264 => x"00000000",
-3265 => x"00000000",
-3266 => x"00000000",
-3267 => x"00000000",
-3268 => x"00000000",
-3269 => x"ffffffff",
-3270 => x"00000000",
-3271 => x"00020000",
-3272 => x"00000000",
-3273 => x"00000000",
-3274 => x"00003320",
-3275 => x"00003320",
-3276 => x"00003328",
-3277 => x"00003328",
-3278 => x"00003330",
-3279 => x"00003330",
-3280 => x"00003338",
-3281 => x"00003338",
-3282 => x"00003340",
-3283 => x"00003340",
-3284 => x"00003348",
-3285 => x"00003348",
-3286 => x"00003350",
-3287 => x"00003350",
-3288 => x"00003358",
-3289 => x"00003358",
-3290 => x"00003360",
-3291 => x"00003360",
-3292 => x"00003368",
-3293 => x"00003368",
-3294 => x"00003370",
-3295 => x"00003370",
-3296 => x"00003378",
-3297 => x"00003378",
-3298 => x"00003380",
-3299 => x"00003380",
-3300 => x"00003388",
-3301 => x"00003388",
-3302 => x"00003390",
-3303 => x"00003390",
-3304 => x"00003398",
-3305 => x"00003398",
-3306 => x"000033a0",
-3307 => x"000033a0",
-3308 => x"000033a8",
-3309 => x"000033a8",
-3310 => x"000033b0",
-3311 => x"000033b0",
-3312 => x"000033b8",
-3313 => x"000033b8",
-3314 => x"000033c0",
-3315 => x"000033c0",
-3316 => x"000033c8",
-3317 => x"000033c8",
-3318 => x"000033d0",
-3319 => x"000033d0",
-3320 => x"000033d8",
-3321 => x"000033d8",
-3322 => x"000033e0",
-3323 => x"000033e0",
-3324 => x"000033e8",
-3325 => x"000033e8",
-3326 => x"000033f0",
-3327 => x"000033f0",
-3328 => x"000033f8",
-3329 => x"000033f8",
-3330 => x"00003400",
-3331 => x"00003400",
-3332 => x"00003408",
-3333 => x"00003408",
-3334 => x"00003410",
-3335 => x"00003410",
-3336 => x"00003418",
-3337 => x"00003418",
-3338 => x"00003420",
-3339 => x"00003420",
-3340 => x"00003428",
-3341 => x"00003428",
-3342 => x"00003430",
-3343 => x"00003430",
-3344 => x"00003438",
-3345 => x"00003438",
-3346 => x"00003440",
-3347 => x"00003440",
-3348 => x"00003448",
-3349 => x"00003448",
-3350 => x"00003450",
-3351 => x"00003450",
-3352 => x"00003458",
-3353 => x"00003458",
-3354 => x"00003460",
-3355 => x"00003460",
-3356 => x"00003468",
-3357 => x"00003468",
-3358 => x"00003470",
-3359 => x"00003470",
-3360 => x"00003478",
-3361 => x"00003478",
-3362 => x"00003480",
-3363 => x"00003480",
-3364 => x"00003488",
-3365 => x"00003488",
-3366 => x"00003490",
-3367 => x"00003490",
-3368 => x"00003498",
-3369 => x"00003498",
-3370 => x"000034a0",
-3371 => x"000034a0",
-3372 => x"000034a8",
-3373 => x"000034a8",
-3374 => x"000034b0",
-3375 => x"000034b0",
-3376 => x"000034b8",
-3377 => x"000034b8",
-3378 => x"000034c0",
-3379 => x"000034c0",
-3380 => x"000034c8",
-3381 => x"000034c8",
-3382 => x"000034d0",
-3383 => x"000034d0",
-3384 => x"000034d8",
-3385 => x"000034d8",
-3386 => x"000034e0",
-3387 => x"000034e0",
-3388 => x"000034e8",
-3389 => x"000034e8",
-3390 => x"000034f0",
-3391 => x"000034f0",
-3392 => x"000034f8",
-3393 => x"000034f8",
-3394 => x"00003500",
-3395 => x"00003500",
-3396 => x"00003508",
-3397 => x"00003508",
-3398 => x"00003510",
-3399 => x"00003510",
-3400 => x"00003518",
-3401 => x"00003518",
-3402 => x"00003520",
-3403 => x"00003520",
-3404 => x"00003528",
-3405 => x"00003528",
-3406 => x"00003530",
-3407 => x"00003530",
-3408 => x"00003538",
-3409 => x"00003538",
-3410 => x"00003540",
-3411 => x"00003540",
-3412 => x"00003548",
-3413 => x"00003548",
-3414 => x"00003550",
-3415 => x"00003550",
-3416 => x"00003558",
-3417 => x"00003558",
-3418 => x"00003560",
-3419 => x"00003560",
-3420 => x"00003568",
-3421 => x"00003568",
-3422 => x"00003570",
-3423 => x"00003570",
-3424 => x"00003578",
-3425 => x"00003578",
-3426 => x"00003580",
-3427 => x"00003580",
-3428 => x"00003588",
-3429 => x"00003588",
-3430 => x"00003590",
-3431 => x"00003590",
-3432 => x"00003598",
-3433 => x"00003598",
-3434 => x"000035a0",
-3435 => x"000035a0",
-3436 => x"000035a8",
-3437 => x"000035a8",
-3438 => x"000035b0",
-3439 => x"000035b0",
-3440 => x"000035b8",
-3441 => x"000035b8",
-3442 => x"000035c0",
-3443 => x"000035c0",
-3444 => x"000035c8",
-3445 => x"000035c8",
-3446 => x"000035d0",
-3447 => x"000035d0",
-3448 => x"000035d8",
-3449 => x"000035d8",
-3450 => x"000035e0",
-3451 => x"000035e0",
-3452 => x"000035e8",
-3453 => x"000035e8",
-3454 => x"000035f0",
-3455 => x"000035f0",
-3456 => x"000035f8",
-3457 => x"000035f8",
-3458 => x"00003600",
-3459 => x"00003600",
-3460 => x"00003608",
-3461 => x"00003608",
-3462 => x"00003610",
-3463 => x"00003610",
-3464 => x"00003618",
-3465 => x"00003618",
-3466 => x"00003620",
-3467 => x"00003620",
-3468 => x"00003628",
-3469 => x"00003628",
-3470 => x"00003630",
-3471 => x"00003630",
-3472 => x"00003638",
-3473 => x"00003638",
-3474 => x"00003640",
-3475 => x"00003640",
-3476 => x"00003648",
-3477 => x"00003648",
-3478 => x"00003650",
-3479 => x"00003650",
-3480 => x"00003658",
-3481 => x"00003658",
-3482 => x"00003660",
-3483 => x"00003660",
-3484 => x"00003668",
-3485 => x"00003668",
-3486 => x"00003670",
-3487 => x"00003670",
-3488 => x"00003678",
-3489 => x"00003678",
-3490 => x"00003680",
-3491 => x"00003680",
-3492 => x"00003688",
-3493 => x"00003688",
-3494 => x"00003690",
-3495 => x"00003690",
-3496 => x"00003698",
-3497 => x"00003698",
-3498 => x"000036a0",
-3499 => x"000036a0",
-3500 => x"000036a8",
-3501 => x"000036a8",
-3502 => x"000036b0",
-3503 => x"000036b0",
-3504 => x"000036b8",
-3505 => x"000036b8",
-3506 => x"000036c0",
-3507 => x"000036c0",
-3508 => x"000036c8",
-3509 => x"000036c8",
-3510 => x"000036d0",
-3511 => x"000036d0",
-3512 => x"000036d8",
-3513 => x"000036d8",
-3514 => x"000036e0",
-3515 => x"000036e0",
-3516 => x"000036e8",
-3517 => x"000036e8",
-3518 => x"000036f0",
-3519 => x"000036f0",
-3520 => x"000036f8",
-3521 => x"000036f8",
-3522 => x"00003700",
-3523 => x"00003700",
-3524 => x"00003708",
-3525 => x"00003708",
-3526 => x"00003710",
-3527 => x"00003710",
-3528 => x"00003718",
-3529 => x"00003718",
-3530 => x"0000372c",
-3531 => x"00000000",
-3532 => x"00003994",
-3533 => x"000039f0",
-3534 => x"00003a4c",
-3535 => x"00000000",
-3536 => x"00000000",
-3537 => x"00000000",
-3538 => x"00000000",
-3539 => x"00000000",
-3540 => x"00000000",
-3541 => x"00000000",
-3542 => x"00000000",
-3543 => x"00000000",
-3544 => x"000031ac",
-3545 => x"00000000",
-3546 => x"00000000",
-3547 => x"00000000",
-3548 => x"00000000",
-3549 => x"00000000",
-3550 => x"00000000",
-3551 => x"00000000",
-3552 => x"00000000",
-3553 => x"00000000",
-3554 => x"00000000",
-3555 => x"00000000",
-3556 => x"00000000",
-3557 => x"00000000",
-3558 => x"00000000",
-3559 => x"00000000",
-3560 => x"00000000",
-3561 => x"00000000",
-3562 => x"00000000",
-3563 => x"00000000",
-3564 => x"00000000",
-3565 => x"00000000",
-3566 => x"00000000",
-3567 => x"00000000",
-3568 => x"00000000",
-3569 => x"00000000",
-3570 => x"00000000",
-3571 => x"00000000",
-3572 => x"00000000",
-3573 => x"00000001",
-3574 => x"330eabcd",
-3575 => x"1234e66d",
-3576 => x"deec0005",
-3577 => x"000b0000",
-3578 => x"00000000",
-3579 => x"00000000",
-3580 => x"00000000",
-3581 => x"00000000",
-3582 => x"00000000",
-3583 => x"00000000",
-3584 => x"00000000",
-3585 => x"00000000",
-3586 => x"00000000",
-3587 => x"00000000",
-3588 => x"00000000",
-3589 => x"00000000",
-3590 => x"00000000",
-3591 => x"00000000",
-3592 => x"00000000",
-3593 => x"00000000",
-3594 => x"00000000",
-3595 => x"00000000",
-3596 => x"00000000",
-3597 => x"00000000",
-3598 => x"00000000",
-3599 => x"00000000",
-3600 => x"00000000",
-3601 => x"00000000",
-3602 => x"00000000",
-3603 => x"00000000",
-3604 => x"00000000",
-3605 => x"00000000",
-3606 => x"00000000",
-3607 => x"00000000",
-3608 => x"00000000",
-3609 => x"00000000",
-3610 => x"00000000",
-3611 => x"00000000",
-3612 => x"00000000",
-3613 => x"00000000",
-3614 => x"00000000",
-3615 => x"00000000",
-3616 => x"00000000",
-3617 => x"00000000",
-3618 => x"00000000",
-3619 => x"00000000",
-3620 => x"00000000",
-3621 => x"00000000",
-3622 => x"00000000",
-3623 => x"00000000",
-3624 => x"00000000",
-3625 => x"00000000",
-3626 => x"00000000",
-3627 => x"00000000",
-3628 => x"00000000",
-3629 => x"00000000",
-3630 => x"00000000",
-3631 => x"00000000",
-3632 => x"00000000",
-3633 => x"00000000",
-3634 => x"00000000",
-3635 => x"00000000",
-3636 => x"00000000",
-3637 => x"00000000",
-3638 => x"00000000",
-3639 => x"00000000",
-3640 => x"00000000",
-3641 => x"00000000",
-3642 => x"00000000",
-3643 => x"00000000",
-3644 => x"00000000",
-3645 => x"00000000",
-3646 => x"00000000",
-3647 => x"00000000",
-3648 => x"00000000",
-3649 => x"00000000",
-3650 => x"00000000",
-3651 => x"00000000",
-3652 => x"00000000",
-3653 => x"00000000",
-3654 => x"00000000",
-3655 => x"00000000",
-3656 => x"00000000",
-3657 => x"00000000",
-3658 => x"00000000",
-3659 => x"00000000",
-3660 => x"00000000",
-3661 => x"00000000",
-3662 => x"00000000",
-3663 => x"00000000",
-3664 => x"00000000",
-3665 => x"00000000",
-3666 => x"00000000",
-3667 => x"00000000",
-3668 => x"00000000",
-3669 => x"00000000",
-3670 => x"00000000",
-3671 => x"00000000",
-3672 => x"00000000",
-3673 => x"00000000",
-3674 => x"00000000",
-3675 => x"00000000",
-3676 => x"00000000",
-3677 => x"00000000",
-3678 => x"00000000",
-3679 => x"00000000",
-3680 => x"00000000",
-3681 => x"00000000",
-3682 => x"00000000",
-3683 => x"00000000",
-3684 => x"00000000",
-3685 => x"00000000",
-3686 => x"00000000",
-3687 => x"00000000",
-3688 => x"00000000",
-3689 => x"00000000",
-3690 => x"00000000",
-3691 => x"00000000",
-3692 => x"00000000",
-3693 => x"00000000",
-3694 => x"00000000",
-3695 => x"00000000",
-3696 => x"00000000",
-3697 => x"00000000",
-3698 => x"00000000",
-3699 => x"00000000",
-3700 => x"00000000",
-3701 => x"00000000",
-3702 => x"00000000",
-3703 => x"00000000",
-3704 => x"00000000",
-3705 => x"00000000",
-3706 => x"00000000",
-3707 => x"00000000",
-3708 => x"00000000",
-3709 => x"00000000",
-3710 => x"00000000",
-3711 => x"00000000",
-3712 => x"00000000",
-3713 => x"00000000",
-3714 => x"00000000",
-3715 => x"00000000",
-3716 => x"00000000",
-3717 => x"00000000",
-3718 => x"00000000",
-3719 => x"00000000",
-3720 => x"00000000",
-3721 => x"00000000",
-3722 => x"00000000",
-3723 => x"00000000",
-3724 => x"00000000",
-3725 => x"00000000",
-3726 => x"00000000",
-3727 => x"00000000",
-3728 => x"00000000",
-3729 => x"00000000",
-3730 => x"00000000",
-3731 => x"00000000",
-3732 => x"00000000",
-3733 => x"00000000",
-3734 => x"00000000",
-3735 => x"00000000",
-3736 => x"00000000",
-3737 => x"00000000",
-3738 => x"00000000",
-3739 => x"00000000",
-3740 => x"00000000",
-3741 => x"00000000",
-3742 => x"00000000",
-3743 => x"00000000",
-3744 => x"00000000",
-3745 => x"00000000",
-3746 => x"00000000",
-3747 => x"00000000",
-3748 => x"00000000",
-3749 => x"00000000",
-3750 => x"00000000",
-3751 => x"00000000",
-3752 => x"00000000",
-3753 => x"00000000",
-3754 => x"000031b0",
-3755 => x"ffffffff",
-3756 => x"00000000",
-3757 => x"ffffffff",
-3758 => x"00000000",
- others => x"00000000"
-);
-
-begin
-
-mem_busy <= '0';
-
-process (clk)
-begin
- if (clk'event and clk = '1') then
- if (mem_writeEnable = '1') then
- ram(conv_integer(mem_addr)) := mem_write;
- end if;
- mem_read <= ram(conv_integer(mem_addr));
- end if;
-end process;
-
-
-
-
-end dram_arch;
diff --git a/zpu/hdl/zpu4/test/interrupt/int.bin b/zpu/hdl/zpu4/test/interrupt/int.bin
index 94cbe31..282f53b 100644
--- a/zpu/hdl/zpu4/test/interrupt/int.bin
+++ b/zpu/hdl/zpu4/test/interrupt/int.bin
Binary files differ
diff --git a/zpu/hdl/zpu4/test/interrupt/int.c b/zpu/hdl/zpu4/test/interrupt/int.c
index 1b6ec01..6ab28f7 100644
--- a/zpu/hdl/zpu4/test/interrupt/int.c
+++ b/zpu/hdl/zpu4/test/interrupt/int.c
@@ -4,11 +4,15 @@
#include <stdio.h>
-int counter;
+volatile int counter;
/* Example of single, fixed interval non-maskable, nested interrupt. The interrupt signal is
* held high for enough cycles to guarantee that it will be noticed, i.e. longer than
* any io access + 4 cycles roughly.
+ *
+ * Any non-trivial interrupt controller would have support for
+ * acknowledging interrupts(i.e. keep interrupts asserted until
+ * software acknowledges them via memory mapped IO).
*/
void _zpu_interrupt(void)
{
@@ -29,6 +33,7 @@ int main(int argc, char **argv)
} else
{
puts("Got interrupt\n");
+ t=counter;
}
}
diff --git a/zpu/hdl/zpu4/test/interrupt/int.elf b/zpu/hdl/zpu4/test/interrupt/int.elf
index a550987..346d148 100644
--- a/zpu/hdl/zpu4/test/interrupt/int.elf
+++ b/zpu/hdl/zpu4/test/interrupt/int.elf
Binary files differ
diff --git a/zpu/hdl/zpu4/test/interrupt/int.ram b/zpu/hdl/zpu4/test/interrupt/int.ram
index bcb424a..6751ec2 100644
--- a/zpu/hdl/zpu4/test/interrupt/int.ram
+++ b/zpu/hdl/zpu4/test/interrupt/int.ram
@@ -2,7 +2,7 @@
1 => x"82700b0b",
2 => x"80cfe00c",
3 => x"3a0b0b80",
-4 => x"c6e10400",
+4 => x"c6e00400",
5 => x"00000000",
6 => x"00000000",
7 => x"00000000",
@@ -169,7 +169,7 @@
168 => x"80088408",
169 => x"88087575",
170 => x"0b0b0b8b",
-171 => x"ac2d5050",
+171 => x"ab2d5050",
172 => x"80085688",
173 => x"0c840c80",
174 => x"0c510400",
@@ -177,7 +177,7 @@
176 => x"80088408",
177 => x"88087575",
178 => x"0b0b0b8b",
-179 => x"f02d5050",
+179 => x"ef2d5050",
180 => x"80085688",
181 => x"0c840c80",
182 => x"0c510400",
@@ -255,7 +255,7 @@
254 => x"00000000",
255 => x"00000000",
256 => x"82c53f80",
-257 => x"c6e73f04",
+257 => x"c6e63f04",
258 => x"10101010",
259 => x"10101010",
260 => x"10101010",
@@ -346,2192 +346,2192 @@
345 => x"dfc4510b",
346 => x"0b0bf594",
347 => x"3f500404",
-348 => x"80dfe008",
-349 => x"810580df",
-350 => x"e00c04fe",
-351 => x"3d0d80df",
-352 => x"e0087054",
-353 => x"5272722e",
-354 => x"953880cf",
-355 => x"9c5182bb",
-356 => x"3f80dfe0",
-357 => x"08527272",
-358 => x"2e098106",
-359 => x"ed3880cf",
-360 => x"ac5182a7",
-361 => x"3f80dfe0",
-362 => x"0852eb39",
-363 => x"fb3d0d77",
-364 => x"79555580",
-365 => x"56757524",
-366 => x"ab388074",
-367 => x"249d3880",
-368 => x"53735274",
-369 => x"5180e13f",
-370 => x"80085475",
-371 => x"802e8538",
-372 => x"80083054",
-373 => x"73800c87",
-374 => x"3d0d0473",
-375 => x"30768132",
-376 => x"5754dc39",
-377 => x"74305581",
-378 => x"56738025",
-379 => x"d238ec39",
-380 => x"fa3d0d78",
-381 => x"7a575580",
-382 => x"57767524",
-383 => x"a438759f",
-384 => x"2c548153",
-385 => x"75743274",
-386 => x"31527451",
-387 => x"9b3f8008",
-388 => x"5476802e",
-389 => x"85388008",
-390 => x"30547380",
-391 => x"0c883d0d",
-392 => x"04743055",
-393 => x"8157d739",
-394 => x"fc3d0d76",
-395 => x"78535481",
-396 => x"53807473",
-397 => x"26525572",
-398 => x"802e9838",
-399 => x"70802eab",
-400 => x"38807224",
-401 => x"a6387110",
-402 => x"73107572",
-403 => x"26535452",
-404 => x"72ea3873",
-405 => x"51788338",
-406 => x"74517080",
-407 => x"0c863d0d",
-408 => x"04720a10",
-409 => x"0a720a10",
-410 => x"0a535372",
-411 => x"802ee438",
-412 => x"717426ed",
-413 => x"38737231",
-414 => x"75740774",
-415 => x"0a100a74",
-416 => x"0a100a55",
-417 => x"555654e3",
-418 => x"39f73d0d",
-419 => x"7c705253",
-420 => x"80fd3f72",
-421 => x"54800855",
-422 => x"0b0b80cf",
-423 => x"b8568157",
-424 => x"80088105",
-425 => x"5a8b3de4",
-426 => x"11595382",
-427 => x"59f41352",
-428 => x"7b881108",
-429 => x"525381b4",
-430 => x"3f800830",
-431 => x"70800807",
-432 => x"9f2c8a07",
-433 => x"800c538b",
-434 => x"3d0d04f6",
-435 => x"3d0d7c80",
-436 => x"cfec0871",
-437 => x"535553b7",
-438 => x"3f725580",
-439 => x"08560b0b",
-440 => x"80cfb857",
-441 => x"81588008",
-442 => x"81055b8c",
-443 => x"3de4115a",
-444 => x"53825af4",
-445 => x"13528814",
-446 => x"085180f0",
-447 => x"3f800830",
-448 => x"70800807",
-449 => x"9f2c8a07",
-450 => x"800c548c",
-451 => x"3d0d0470",
-452 => x"70707075",
-453 => x"70718306",
-454 => x"53555270",
-455 => x"b4387170",
-456 => x"087009f7",
-457 => x"fbfdff12",
-458 => x"06f88482",
-459 => x"81800654",
-460 => x"5253719b",
-461 => x"38841370",
-462 => x"087009f7",
-463 => x"fbfdff12",
-464 => x"06f88482",
-465 => x"81800654",
-466 => x"52537180",
-467 => x"2ee73872",
-468 => x"52713353",
-469 => x"72802e8a",
-470 => x"38811270",
-471 => x"33545272",
-472 => x"f8387174",
-473 => x"31800c50",
-474 => x"50505004",
-475 => x"f23d0d60",
-476 => x"62881108",
-477 => x"7058565f",
-478 => x"5a73802e",
-479 => x"818c388c",
-480 => x"1a227083",
-481 => x"2a813281",
-482 => x"06565874",
-483 => x"8638901a",
-484 => x"08913879",
-485 => x"5190b73f",
-486 => x"ff558008",
-487 => x"80ec388c",
-488 => x"1a22587d",
-489 => x"08558078",
-490 => x"83ffff06",
-491 => x"700a100a",
-492 => x"8106415c",
-493 => x"577e772e",
-494 => x"80d73876",
-495 => x"90387408",
-496 => x"84160888",
-497 => x"17575856",
-498 => x"76802ef2",
-499 => x"38765488",
-500 => x"80772784",
-501 => x"38888054",
-502 => x"73537552",
-503 => x"9c1a0851",
-504 => x"a41a0858",
-505 => x"772d800b",
-506 => x"80082582",
-507 => x"e0388008",
-508 => x"16778008",
-509 => x"317f8805",
-510 => x"08800831",
-511 => x"70618805",
-512 => x"0c5b5856",
-513 => x"78ffb438",
-514 => x"80557480",
-515 => x"0c903d0d",
-516 => x"047a8132",
-517 => x"81067740",
-518 => x"5675802e",
-519 => x"81bd3876",
-520 => x"90387408",
-521 => x"84160888",
-522 => x"17575859",
-523 => x"76802ef2",
-524 => x"38881a08",
-525 => x"7883ffff",
-526 => x"0670892a",
-527 => x"81065659",
-528 => x"5673802e",
-529 => x"82f83875",
-530 => x"77278b38",
-531 => x"77872a81",
-532 => x"065c7b82",
-533 => x"b5387676",
-534 => x"27833876",
-535 => x"56755378",
-536 => x"52790851",
-537 => x"85833f88",
-538 => x"1a087631",
-539 => x"881b0c79",
-540 => x"08167a0c",
-541 => x"76567519",
-542 => x"7777317f",
-543 => x"88050878",
-544 => x"31706188",
-545 => x"050c4158",
-546 => x"597e802e",
-547 => x"fefa388c",
-548 => x"1a2258ff",
-549 => x"8a397879",
-550 => x"547c537b",
-551 => x"525684c9",
-552 => x"3f881a08",
-553 => x"7931881b",
-554 => x"0c790819",
-555 => x"7a0c7c76",
-556 => x"315d7c8e",
-557 => x"3879518f",
-558 => x"f23f8008",
-559 => x"818f3880",
-560 => x"085f751c",
-561 => x"7777317f",
-562 => x"88050878",
-563 => x"31706188",
-564 => x"050c5d58",
-565 => x"5c7a802e",
-566 => x"feae3876",
-567 => x"81833874",
-568 => x"08841608",
-569 => x"88175758",
-570 => x"5c76802e",
-571 => x"f2387653",
-572 => x"8a527b51",
-573 => x"82d33f80",
-574 => x"087c3181",
-575 => x"055d8008",
-576 => x"84388117",
-577 => x"5d815f7c",
-578 => x"59767d27",
-579 => x"83387659",
-580 => x"941a0888",
-581 => x"1b081157",
-582 => x"58807a08",
-583 => x"5c54901a",
-584 => x"087b2783",
-585 => x"38815475",
-586 => x"79258438",
-587 => x"73ba3877",
-588 => x"7924fee2",
-589 => x"3877537b",
-590 => x"529c1a08",
-591 => x"51a41a08",
-592 => x"59782d80",
-593 => x"08568008",
-594 => x"8024fee2",
-595 => x"388c1a22",
-596 => x"80c0075e",
-597 => x"7d8c1b23",
-598 => x"ff557480",
-599 => x"0c903d0d",
-600 => x"047effa3",
-601 => x"38ff8739",
-602 => x"75537b52",
-603 => x"7a5182f9",
-604 => x"3f790816",
-605 => x"7a0c7951",
-606 => x"8eb13f80",
-607 => x"08cf387c",
-608 => x"76315d7c",
-609 => x"febc38fe",
-610 => x"ac39901a",
-611 => x"087a0871",
-612 => x"31781170",
-613 => x"565a5752",
-614 => x"80cfec08",
-615 => x"5184943f",
-616 => x"8008802e",
-617 => x"ffa73880",
-618 => x"08901b0c",
-619 => x"8008167a",
-620 => x"0c77941b",
-621 => x"0c76881b",
-622 => x"0c7656fd",
-623 => x"99397908",
-624 => x"58901a08",
-625 => x"78278338",
-626 => x"81547577",
-627 => x"27843873",
-628 => x"b338941a",
-629 => x"08547377",
-630 => x"2680d338",
-631 => x"73537852",
-632 => x"9c1a0851",
-633 => x"a41a0858",
-634 => x"772d8008",
-635 => x"56800880",
-636 => x"24fd8338",
-637 => x"8c1a2280",
-638 => x"c0075e7d",
-639 => x"8c1b23ff",
-640 => x"55fed739",
-641 => x"75537852",
-642 => x"775181dd",
-643 => x"3f790816",
-644 => x"7a0c7951",
-645 => x"8d953f80",
-646 => x"08802efc",
-647 => x"d9388c1a",
-648 => x"2280c007",
-649 => x"5e7d8c1b",
-650 => x"23ff55fe",
-651 => x"ad397677",
-652 => x"54795378",
-653 => x"525681b1",
-654 => x"3f881a08",
-655 => x"7731881b",
-656 => x"0c790817",
-657 => x"7a0cfcae",
-658 => x"39fa3d0d",
-659 => x"7a790288",
-660 => x"05a70533",
-661 => x"55535483",
-662 => x"742780df",
-663 => x"38718306",
-664 => x"517080d7",
-665 => x"38717157",
-666 => x"55835175",
-667 => x"82802913",
-668 => x"ff125256",
-669 => x"708025f3",
-670 => x"38837427",
-671 => x"bc387408",
-672 => x"76327009",
-673 => x"f7fbfdff",
-674 => x"1206f884",
-675 => x"82818006",
-676 => x"51517080",
-677 => x"2e983874",
-678 => x"51805270",
-679 => x"33577277",
-680 => x"2eb93881",
-681 => x"11811353",
-682 => x"51837227",
-683 => x"ee38fc14",
-684 => x"84165654",
-685 => x"738326c6",
-686 => x"387452ff",
-687 => x"145170ff",
-688 => x"2e973871",
-689 => x"33547274",
-690 => x"2e983881",
-691 => x"12ff1252",
-692 => x"5270ff2e",
-693 => x"098106eb",
-694 => x"38805170",
-695 => x"800c883d",
-696 => x"0d047180",
-697 => x"0c883d0d",
-698 => x"04fa3d0d",
-699 => x"787a7c72",
-700 => x"72725957",
-701 => x"55585657",
-702 => x"747727b2",
-703 => x"38751551",
-704 => x"767127aa",
-705 => x"38707618",
-706 => x"ff185353",
-707 => x"5370ff2e",
-708 => x"9638ff12",
-709 => x"ff145452",
-710 => x"72337234",
-711 => x"ff115170",
-712 => x"ff2e0981",
-713 => x"06ec3876",
-714 => x"800c883d",
-715 => x"0d048f76",
-716 => x"2780e638",
-717 => x"74770783",
-718 => x"06517080",
-719 => x"dc387675",
-720 => x"52537070",
-721 => x"84055208",
-722 => x"73708405",
-723 => x"550c7271",
-724 => x"70840553",
-725 => x"08717084",
-726 => x"05530c71",
-727 => x"70840553",
-728 => x"08717084",
-729 => x"05530c71",
-730 => x"70840553",
-731 => x"08717084",
-732 => x"05530cf0",
-733 => x"15555373",
-734 => x"8f26c738",
-735 => x"83742795",
-736 => x"38707084",
-737 => x"05520873",
-738 => x"70840555",
-739 => x"0cfc1454",
-740 => x"738326ed",
-741 => x"38727154",
-742 => x"52ff1451",
-743 => x"70ff2eff",
-744 => x"86387270",
-745 => x"81055433",
-746 => x"72708105",
-747 => x"5434ff11",
-748 => x"51ea39ef",
-749 => x"3d0d6365",
-750 => x"67405d42",
-751 => x"7b802e85",
-752 => x"82386151",
-753 => x"a9e73ff8",
-754 => x"1c708412",
-755 => x"0870fc06",
-756 => x"70628b05",
-757 => x"70f80641",
-758 => x"59455c5f",
-759 => x"41579674",
-760 => x"2782c538",
-761 => x"807b247e",
-762 => x"7c260758",
-763 => x"80547774",
-764 => x"2e098106",
-765 => x"82ab3878",
-766 => x"7b2581fe",
-767 => x"38781780",
-768 => x"d7a80b88",
-769 => x"05085b56",
-770 => x"79762e84",
-771 => x"c5388416",
-772 => x"0870fe06",
-773 => x"17841108",
-774 => x"81064155",
-775 => x"557e828d",
-776 => x"3874fc06",
-777 => x"5879762e",
-778 => x"84e33878",
-779 => x"185f7e7b",
-780 => x"2581ff38",
-781 => x"7c810654",
-782 => x"7382c138",
-783 => x"76770831",
-784 => x"841108fc",
-785 => x"06565775",
-786 => x"802e9138",
-787 => x"79762e84",
-788 => x"f0387418",
-789 => x"1958777b",
-790 => x"25849138",
-791 => x"76802e82",
-792 => x"9b387815",
-793 => x"567a7624",
-794 => x"8292388c",
-795 => x"17088818",
-796 => x"08718c12",
-797 => x"0c88120c",
-798 => x"5e755988",
-799 => x"1761fc05",
-800 => x"5b5679a4",
-801 => x"2685ff38",
-802 => x"7b765955",
-803 => x"937a2780",
-804 => x"c9387b70",
-805 => x"84055d08",
-806 => x"7c56760c",
-807 => x"74708405",
-808 => x"56088c18",
-809 => x"0c901758",
-810 => x"9b7a27ae",
-811 => x"38747084",
-812 => x"05560878",
-813 => x"0c747084",
-814 => x"05560894",
-815 => x"180c9817",
-816 => x"58a37a27",
-817 => x"95387470",
-818 => x"84055608",
-819 => x"780c7470",
-820 => x"84055608",
-821 => x"9c180ca0",
-822 => x"17587470",
-823 => x"84055608",
-824 => x"755f7870",
-825 => x"84055a0c",
-826 => x"777e7084",
-827 => x"05400871",
-828 => x"70840553",
-829 => x"0c7e0871",
-830 => x"0c5d787b",
-831 => x"3156758f",
-832 => x"2680c938",
-833 => x"84170881",
-834 => x"06790784",
-835 => x"180c7817",
-836 => x"84110881",
-837 => x"0784120c",
-838 => x"5b6151a7",
-839 => x"913f8817",
-840 => x"5473800c",
-841 => x"933d0d04",
-842 => x"905bfdb8",
-843 => x"397756fe",
-844 => x"83398c16",
-845 => x"08881708",
-846 => x"718c120c",
-847 => x"88120c58",
-848 => x"7e707c31",
-849 => x"57598f76",
-850 => x"27ffb938",
-851 => x"7a178418",
-852 => x"0881067c",
-853 => x"0784190c",
-854 => x"76810784",
-855 => x"120c7611",
-856 => x"84110881",
-857 => x"0784120c",
-858 => x"5b880552",
-859 => x"61518fda",
-860 => x"3f6151a6",
-861 => x"b93f8817",
-862 => x"54ffa639",
-863 => x"7d526151",
-864 => x"97d73f80",
-865 => x"085a8008",
-866 => x"802e81ab",
-867 => x"388008f8",
-868 => x"05608405",
-869 => x"08fe0661",
-870 => x"05585574",
-871 => x"772e83f2",
-872 => x"38fc1958",
-873 => x"77a42681",
-874 => x"b0387b80",
-875 => x"08565793",
-876 => x"782780dc",
-877 => x"387b7070",
-878 => x"84055208",
-879 => x"80087084",
-880 => x"05800c0c",
-881 => x"80087170",
-882 => x"84055308",
-883 => x"5d567b76",
-884 => x"70840558",
-885 => x"0c579b78",
-886 => x"27b63876",
-887 => x"70840558",
-888 => x"08757084",
-889 => x"05570c76",
-890 => x"70840558",
-891 => x"08757084",
-892 => x"05570ca3",
-893 => x"78279938",
-894 => x"76708405",
-895 => x"58087570",
-896 => x"8405570c",
-897 => x"76708405",
-898 => x"58087570",
-899 => x"8405570c",
-900 => x"76708405",
-901 => x"5808775e",
-902 => x"75708405",
-903 => x"570c747d",
-904 => x"7084055f",
-905 => x"08717084",
-906 => x"05530c7d",
-907 => x"08710c5f",
-908 => x"7b526151",
-909 => x"8e943f61",
-910 => x"51a4f33f",
-911 => x"79800c93",
-912 => x"3d0d047d",
-913 => x"52615196",
-914 => x"903f8008",
-915 => x"800c933d",
-916 => x"0d048416",
-917 => x"0855fbc9",
-918 => x"3977537b",
-919 => x"52800851",
-920 => x"a2a53f7b",
-921 => x"5261518d",
-922 => x"e13fcc39",
-923 => x"8c160888",
-924 => x"1708718c",
-925 => x"120c8812",
-926 => x"0c5d8c17",
-927 => x"08881808",
-928 => x"718c120c",
-929 => x"88120c59",
-930 => x"7759fbef",
-931 => x"39781890",
-932 => x"1c40557e",
-933 => x"7524fb9c",
-934 => x"387a1770",
-935 => x"80d7a80b",
-936 => x"88050c75",
-937 => x"7c318107",
-938 => x"84120c56",
-939 => x"84170881",
-940 => x"067b0784",
-941 => x"180c6151",
-942 => x"a3f43f88",
-943 => x"1754fce1",
-944 => x"39741819",
-945 => x"901c5e5a",
-946 => x"7c7a24fb",
-947 => x"8f388c17",
-948 => x"08881808",
-949 => x"718c120c",
-950 => x"88120c5e",
-951 => x"881761fc",
-952 => x"05575975",
-953 => x"a42681b6",
-954 => x"387b7959",
-955 => x"55937627",
-956 => x"80c9387b",
-957 => x"7084055d",
-958 => x"087c5679",
-959 => x"0c747084",
-960 => x"0556088c",
-961 => x"180c9017",
-962 => x"589b7627",
-963 => x"ae387470",
-964 => x"84055608",
-965 => x"780c7470",
-966 => x"84055608",
-967 => x"94180c98",
-968 => x"1758a376",
-969 => x"27953874",
-970 => x"70840556",
-971 => x"08780c74",
-972 => x"70840556",
-973 => x"089c180c",
-974 => x"a0175874",
-975 => x"70840556",
-976 => x"08754178",
-977 => x"7084055a",
-978 => x"0c776070",
-979 => x"84054208",
-980 => x"71708405",
-981 => x"530c6008",
-982 => x"710c5e7a",
-983 => x"177080d7",
-984 => x"a80b8805",
-985 => x"0c7a7c31",
-986 => x"81078412",
-987 => x"0c588417",
-988 => x"0881067b",
-989 => x"0784180c",
-990 => x"6151a2b2",
-991 => x"3f785473",
-992 => x"800c933d",
-993 => x"0d047953",
-994 => x"7b527551",
-995 => x"9ff93ffa",
-996 => x"e9398415",
-997 => x"08fc0619",
-998 => x"605859fa",
-999 => x"dd397553",
-1000 => x"7b527851",
-1001 => x"9fe13f7a",
-1002 => x"177080d7",
-1003 => x"a80b8805",
-1004 => x"0c7a7c31",
-1005 => x"81078412",
-1006 => x"0c588417",
-1007 => x"0881067b",
-1008 => x"0784180c",
-1009 => x"6151a1e6",
-1010 => x"3f7854ff",
-1011 => x"b239fa3d",
-1012 => x"0d7880cf",
-1013 => x"ec085455",
-1014 => x"b8130880",
-1015 => x"2e81af38",
-1016 => x"8c152270",
-1017 => x"83ffff06",
-1018 => x"70832a81",
-1019 => x"32810655",
-1020 => x"55567280",
-1021 => x"2e80da38",
-1022 => x"73842a81",
-1023 => x"32810657",
-1024 => x"ff537680",
-1025 => x"f2387382",
-1026 => x"2a810654",
-1027 => x"73802eb9",
-1028 => x"38b01508",
-1029 => x"5473802e",
-1030 => x"9c3880c0",
-1031 => x"15537373",
-1032 => x"2e8f3873",
-1033 => x"5280cfec",
-1034 => x"08518a9e",
-1035 => x"3f8c1522",
-1036 => x"5676b016",
-1037 => x"0c75db06",
-1038 => x"57768c16",
-1039 => x"23800b84",
-1040 => x"160c9015",
-1041 => x"08750c76",
-1042 => x"56758807",
-1043 => x"54738c16",
-1044 => x"23901508",
-1045 => x"802ebf38",
-1046 => x"8c152270",
-1047 => x"81065553",
-1048 => x"739c3872",
-1049 => x"0a100a81",
-1050 => x"06567585",
-1051 => x"38941508",
-1052 => x"54738816",
-1053 => x"0c805372",
-1054 => x"800c883d",
-1055 => x"0d04800b",
-1056 => x"88160c94",
-1057 => x"15083098",
-1058 => x"160c8053",
-1059 => x"ea397251",
-1060 => x"82a63ffe",
-1061 => x"cb397451",
-1062 => x"8fbc3f8c",
-1063 => x"15227081",
-1064 => x"06555373",
-1065 => x"802effbb",
-1066 => x"38d439f8",
-1067 => x"3d0d7a57",
-1068 => x"76802e81",
-1069 => x"973880cf",
-1070 => x"ec0854b8",
-1071 => x"1408802e",
-1072 => x"80eb388c",
-1073 => x"17227090",
-1074 => x"2b70902c",
-1075 => x"70832a81",
-1076 => x"3281065b",
-1077 => x"5b575577",
-1078 => x"80cb3890",
-1079 => x"17085675",
-1080 => x"802e80c1",
-1081 => x"38760876",
-1082 => x"3176780c",
-1083 => x"79830655",
-1084 => x"55738538",
-1085 => x"94170858",
-1086 => x"7788180c",
-1087 => x"807525a5",
-1088 => x"38745375",
-1089 => x"529c1708",
-1090 => x"51a41708",
-1091 => x"54732d80",
-1092 => x"0b800825",
-1093 => x"80c93880",
-1094 => x"08167580",
-1095 => x"08315656",
-1096 => x"748024dd",
-1097 => x"38800b80",
-1098 => x"0c8a3d0d",
-1099 => x"04735181",
-1100 => x"873f8c17",
-1101 => x"2270902b",
-1102 => x"70902c70",
-1103 => x"832a8132",
-1104 => x"81065b5b",
-1105 => x"575577dd",
-1106 => x"38ff9039",
-1107 => x"a1ab5280",
-1108 => x"cfec0851",
-1109 => x"8cd03f80",
-1110 => x"08800c8a",
-1111 => x"3d0d048c",
-1112 => x"172280c0",
-1113 => x"0758778c",
-1114 => x"1823ff0b",
-1115 => x"800c8a3d",
-1116 => x"0d04fa3d",
-1117 => x"0d797080",
-1118 => x"dc298c11",
-1119 => x"547a5356",
-1120 => x"578fd63f",
-1121 => x"80088008",
-1122 => x"55568008",
-1123 => x"802ea238",
-1124 => x"80088c05",
-1125 => x"54800b80",
-1126 => x"080c7680",
-1127 => x"0884050c",
-1128 => x"73800888",
-1129 => x"050c7453",
-1130 => x"80527351",
-1131 => x"9cf53f75",
-1132 => x"5473800c",
-1133 => x"883d0d04",
-1134 => x"70707074",
-1135 => x"a8f70bbc",
-1136 => x"120c5381",
-1137 => x"0bb8140c",
-1138 => x"800b84dc",
-1139 => x"140c830b",
-1140 => x"84e0140c",
-1141 => x"84e81384",
-1142 => x"e4140c84",
-1143 => x"13085180",
-1144 => x"70720c70",
-1145 => x"84130c70",
-1146 => x"88130c52",
-1147 => x"840b8c12",
-1148 => x"23718e12",
-1149 => x"23719012",
-1150 => x"0c719412",
-1151 => x"0c719812",
-1152 => x"0c709c12",
-1153 => x"0c80c1e6",
-1154 => x"0ba0120c",
-1155 => x"80c2b20b",
-1156 => x"a4120c80",
-1157 => x"c3ae0ba8",
-1158 => x"120c80c3",
-1159 => x"ff0bac12",
-1160 => x"0c881308",
-1161 => x"72710c72",
-1162 => x"84120c72",
-1163 => x"88120c51",
-1164 => x"890b8c12",
-1165 => x"23810b8e",
-1166 => x"12237190",
-1167 => x"120c7194",
-1168 => x"120c7198",
-1169 => x"120c709c",
-1170 => x"120c80c1",
-1171 => x"e60ba012",
-1172 => x"0c80c2b2",
-1173 => x"0ba4120c",
-1174 => x"80c3ae0b",
-1175 => x"a8120c80",
-1176 => x"c3ff0bac",
-1177 => x"120c8c13",
-1178 => x"0872710c",
-1179 => x"7284120c",
-1180 => x"7288120c",
-1181 => x"518a0b8c",
-1182 => x"1223820b",
-1183 => x"8e122371",
-1184 => x"90120c71",
-1185 => x"94120c71",
-1186 => x"98120c70",
-1187 => x"9c120c80",
-1188 => x"c1e60ba0",
-1189 => x"120c80c2",
-1190 => x"b20ba412",
-1191 => x"0c80c3ae",
-1192 => x"0ba8120c",
-1193 => x"80c3ff0b",
-1194 => x"ac120c50",
-1195 => x"505004f8",
-1196 => x"3d0d7a80",
-1197 => x"cfec08b8",
-1198 => x"11085757",
-1199 => x"587481ec",
-1200 => x"38a8f70b",
-1201 => x"bc170c81",
-1202 => x"0bb8170c",
-1203 => x"7484dc17",
-1204 => x"0c830b84",
-1205 => x"e0170c84",
-1206 => x"e81684e4",
-1207 => x"170c8416",
-1208 => x"0875710c",
-1209 => x"7584120c",
-1210 => x"7588120c",
-1211 => x"59840b8c",
-1212 => x"1a23748e",
-1213 => x"1a237490",
-1214 => x"1a0c7494",
-1215 => x"1a0c7498",
-1216 => x"1a0c789c",
-1217 => x"1a0c80c1",
-1218 => x"e60ba01a",
-1219 => x"0c80c2b2",
-1220 => x"0ba41a0c",
-1221 => x"80c3ae0b",
-1222 => x"a81a0c80",
-1223 => x"c3ff0bac",
-1224 => x"1a0c8816",
-1225 => x"0875710c",
-1226 => x"7584120c",
-1227 => x"7588120c",
-1228 => x"57890b8c",
-1229 => x"1823810b",
-1230 => x"8e182374",
-1231 => x"90180c74",
-1232 => x"94180c74",
-1233 => x"98180c76",
-1234 => x"9c180c80",
-1235 => x"c1e60ba0",
-1236 => x"180c80c2",
-1237 => x"b20ba418",
-1238 => x"0c80c3ae",
-1239 => x"0ba8180c",
-1240 => x"80c3ff0b",
-1241 => x"ac180c8c",
-1242 => x"16087571",
-1243 => x"0c758412",
-1244 => x"0c758812",
-1245 => x"0c548a0b",
-1246 => x"8c152382",
-1247 => x"0b8e1523",
-1248 => x"7490150c",
-1249 => x"7494150c",
-1250 => x"7498150c",
-1251 => x"739c150c",
-1252 => x"80c1e60b",
-1253 => x"a0150c80",
-1254 => x"c2b20ba4",
-1255 => x"150c80c3",
-1256 => x"ae0ba815",
-1257 => x"0c80c3ff",
-1258 => x"0bac150c",
-1259 => x"84dc1688",
-1260 => x"11088412",
-1261 => x"08ff0557",
-1262 => x"57578075",
-1263 => x"249f388c",
-1264 => x"16227090",
-1265 => x"2b70902c",
-1266 => x"51555973",
-1267 => x"802e80ed",
-1268 => x"3880dc16",
-1269 => x"ff165656",
-1270 => x"748025e3",
-1271 => x"38760855",
-1272 => x"74802e8f",
-1273 => x"38748811",
-1274 => x"08841208",
-1275 => x"ff055757",
-1276 => x"57c83982",
-1277 => x"fc527751",
-1278 => x"8adf3f80",
-1279 => x"08800855",
-1280 => x"56800880",
-1281 => x"2ea33880",
-1282 => x"088c0575",
-1283 => x"80080c54",
-1284 => x"840b8008",
-1285 => x"84050c73",
-1286 => x"80088805",
-1287 => x"0c82f053",
-1288 => x"74527351",
-1289 => x"97fd3f75",
-1290 => x"54737478",
-1291 => x"0c5573ff",
-1292 => x"b4388c78",
-1293 => x"0c800b80",
-1294 => x"0c8a3d0d",
-1295 => x"04810b8c",
-1296 => x"17237376",
-1297 => x"0c738817",
-1298 => x"0c738417",
-1299 => x"0c739017",
-1300 => x"0c739417",
-1301 => x"0c739817",
-1302 => x"0cff0b8e",
-1303 => x"172373b0",
-1304 => x"170c73b4",
-1305 => x"170c7380",
-1306 => x"c4170c73",
-1307 => x"80c8170c",
-1308 => x"75800c8a",
-1309 => x"3d0d0470",
-1310 => x"70a1ab52",
-1311 => x"735186a6",
-1312 => x"3f505004",
-1313 => x"7070a1ab",
-1314 => x"5280cfec",
-1315 => x"08518696",
-1316 => x"3f505004",
-1317 => x"fb3d0d77",
-1318 => x"70525698",
-1319 => x"903f80d7",
-1320 => x"a80b8805",
-1321 => x"08841108",
-1322 => x"fc06707b",
-1323 => x"319fef05",
-1324 => x"e08006e0",
-1325 => x"80055255",
-1326 => x"55a08075",
-1327 => x"24943880",
-1328 => x"52755197",
-1329 => x"ea3f80d7",
-1330 => x"b0081453",
-1331 => x"7280082e",
-1332 => x"8f387551",
-1333 => x"97d83f80",
-1334 => x"5372800c",
-1335 => x"873d0d04",
-1336 => x"74305275",
-1337 => x"5197c83f",
-1338 => x"8008ff2e",
-1339 => x"a83880d7",
-1340 => x"a80b8805",
-1341 => x"08747631",
-1342 => x"81078412",
-1343 => x"0c5380d6",
-1344 => x"ec087531",
-1345 => x"80d6ec0c",
-1346 => x"755197a2",
-1347 => x"3f810b80",
-1348 => x"0c873d0d",
-1349 => x"04805275",
-1350 => x"5197943f",
-1351 => x"80d7a80b",
-1352 => x"88050880",
-1353 => x"08713154",
-1354 => x"548f7325",
-1355 => x"ffa43880",
-1356 => x"0880d79c",
-1357 => x"083180d6",
-1358 => x"ec0c7281",
-1359 => x"0784150c",
-1360 => x"755196ea",
-1361 => x"3f8053ff",
-1362 => x"9039f73d",
-1363 => x"0d7b7d54",
-1364 => x"5a72802e",
-1365 => x"82833879",
-1366 => x"5196d23f",
-1367 => x"f8138411",
-1368 => x"0870fe06",
-1369 => x"70138411",
-1370 => x"08fc065c",
-1371 => x"57585457",
-1372 => x"80d7b008",
-1373 => x"742e82de",
-1374 => x"38778415",
-1375 => x"0c807381",
-1376 => x"06565974",
-1377 => x"792e81d5",
-1378 => x"38771484",
-1379 => x"11088106",
-1380 => x"565374a0",
-1381 => x"38771656",
-1382 => x"7881e638",
-1383 => x"88140855",
-1384 => x"7480d7b0",
-1385 => x"2e82f938",
-1386 => x"8c140870",
-1387 => x"8c170c75",
-1388 => x"88120c58",
-1389 => x"75810784",
-1390 => x"180c7517",
-1391 => x"76710c54",
-1392 => x"78819138",
-1393 => x"83ff7627",
-1394 => x"81c83875",
-1395 => x"892a7683",
-1396 => x"2a545473",
-1397 => x"802ebf38",
-1398 => x"75862ab8",
-1399 => x"05538474",
-1400 => x"27b43880",
-1401 => x"db145394",
-1402 => x"7427ab38",
-1403 => x"758c2a80",
-1404 => x"ee055380",
-1405 => x"d474279e",
-1406 => x"38758f2a",
-1407 => x"80f70553",
-1408 => x"82d47427",
-1409 => x"91387592",
-1410 => x"2a80fc05",
-1411 => x"538ad474",
-1412 => x"27843880",
-1413 => x"fe537210",
-1414 => x"101080d7",
-1415 => x"a8058811",
-1416 => x"08555573",
-1417 => x"752e82bf",
-1418 => x"38841408",
-1419 => x"fc065975",
-1420 => x"79278d38",
-1421 => x"88140854",
-1422 => x"73752e09",
-1423 => x"8106ea38",
-1424 => x"8c140870",
-1425 => x"8c190c74",
-1426 => x"88190c77",
-1427 => x"88120c55",
-1428 => x"768c150c",
-1429 => x"795194d6",
-1430 => x"3f8b3d0d",
-1431 => x"04760877",
-1432 => x"71315876",
-1433 => x"05881808",
-1434 => x"56567480",
-1435 => x"d7b02e80",
-1436 => x"e0388c17",
-1437 => x"08708c17",
-1438 => x"0c758812",
-1439 => x"0c53fe89",
-1440 => x"39881408",
-1441 => x"8c150870",
-1442 => x"8c130c59",
-1443 => x"88190cfe",
-1444 => x"a3397583",
-1445 => x"2a705454",
-1446 => x"80742481",
-1447 => x"98387282",
-1448 => x"2c81712b",
-1449 => x"80d7ac08",
-1450 => x"0780d7a8",
-1451 => x"0b84050c",
-1452 => x"74101010",
-1453 => x"80d7a805",
-1454 => x"88110871",
-1455 => x"8c1b0c70",
-1456 => x"881b0c79",
-1457 => x"88130c56",
-1458 => x"5a55768c",
-1459 => x"150cff84",
-1460 => x"398159fd",
-1461 => x"b4397716",
-1462 => x"73810654",
-1463 => x"55729838",
-1464 => x"76087771",
-1465 => x"31587505",
-1466 => x"8c180888",
-1467 => x"1908718c",
-1468 => x"120c8812",
-1469 => x"0c555574",
-1470 => x"81078418",
-1471 => x"0c7680d7",
-1472 => x"a80b8805",
-1473 => x"0c80d7a4",
-1474 => x"087526fe",
-1475 => x"c73880d7",
-1476 => x"a0085279",
-1477 => x"51fafd3f",
-1478 => x"79519392",
-1479 => x"3ffeba39",
-1480 => x"81778c17",
-1481 => x"0c778817",
-1482 => x"0c758c19",
-1483 => x"0c758819",
-1484 => x"0c59fd80",
-1485 => x"39831470",
-1486 => x"822c8171",
-1487 => x"2b80d7ac",
-1488 => x"080780d7",
-1489 => x"a80b8405",
-1490 => x"0c751010",
-1491 => x"1080d7a8",
-1492 => x"05881108",
-1493 => x"718c1c0c",
-1494 => x"70881c0c",
-1495 => x"7a88130c",
-1496 => x"575b5653",
-1497 => x"fee43980",
-1498 => x"7324a338",
-1499 => x"72822c81",
-1500 => x"712b80d7",
-1501 => x"ac080780",
-1502 => x"d7a80b84",
-1503 => x"050c5874",
-1504 => x"8c180c73",
-1505 => x"88180c76",
-1506 => x"88160cfd",
-1507 => x"c3398313",
-1508 => x"70822c81",
-1509 => x"712b80d7",
-1510 => x"ac080780",
-1511 => x"d7a80b84",
-1512 => x"050c5953",
-1513 => x"da39f93d",
-1514 => x"0d797b58",
-1515 => x"53800b80",
-1516 => x"cfec0853",
-1517 => x"5672722e",
-1518 => x"bc3884dc",
-1519 => x"13557476",
-1520 => x"2eb33888",
-1521 => x"15088416",
-1522 => x"08ff0554",
-1523 => x"54807324",
-1524 => x"99388c14",
-1525 => x"2270902b",
-1526 => x"53587180",
-1527 => x"d43880dc",
-1528 => x"14ff1454",
-1529 => x"54728025",
-1530 => x"e9387408",
-1531 => x"5574d438",
-1532 => x"80cfec08",
-1533 => x"5284dc12",
-1534 => x"5574802e",
-1535 => x"ad388815",
-1536 => x"08841608",
-1537 => x"ff055454",
-1538 => x"80732498",
-1539 => x"388c1422",
-1540 => x"70902b53",
-1541 => x"5871ad38",
-1542 => x"80dc14ff",
-1543 => x"14545472",
-1544 => x"8025ea38",
-1545 => x"74085574",
-1546 => x"d5387580",
-1547 => x"0c893d0d",
-1548 => x"04735176",
-1549 => x"2d758008",
-1550 => x"0780dc15",
-1551 => x"ff155555",
-1552 => x"56ffa239",
-1553 => x"7351762d",
-1554 => x"75800807",
-1555 => x"80dc15ff",
-1556 => x"15555556",
-1557 => x"ca39ea3d",
-1558 => x"0d688c11",
-1559 => x"22700a10",
-1560 => x"0a810657",
-1561 => x"58567480",
-1562 => x"e4388e16",
-1563 => x"2270902b",
-1564 => x"70902c51",
-1565 => x"55588074",
-1566 => x"24b13898",
-1567 => x"3dc40553",
-1568 => x"735280cf",
-1569 => x"ec085194",
-1570 => x"813f800b",
-1571 => x"80082497",
-1572 => x"387983e0",
-1573 => x"80065473",
-1574 => x"80c0802e",
-1575 => x"818f3873",
-1576 => x"8280802e",
-1577 => x"8191388c",
-1578 => x"16225776",
-1579 => x"90800754",
-1580 => x"738c1723",
-1581 => x"88805280",
-1582 => x"cfec0851",
-1583 => x"819b3f80",
-1584 => x"089d388c",
-1585 => x"16228207",
-1586 => x"55748c17",
-1587 => x"2380c316",
-1588 => x"70770c90",
-1589 => x"170c810b",
-1590 => x"94170c98",
-1591 => x"3d0d0480",
-1592 => x"cfec08a8",
-1593 => x"f70bbc12",
-1594 => x"0c588c16",
-1595 => x"22818007",
-1596 => x"54738c17",
-1597 => x"23800876",
-1598 => x"0c800890",
-1599 => x"170c8880",
-1600 => x"0b94170c",
-1601 => x"74802ed3",
-1602 => x"388e1622",
-1603 => x"70902b70",
-1604 => x"902c5356",
-1605 => x"549afb3f",
-1606 => x"8008802e",
-1607 => x"ffbd388c",
-1608 => x"16228107",
-1609 => x"57768c17",
-1610 => x"23983d0d",
-1611 => x"04810b8c",
-1612 => x"17225855",
-1613 => x"fef539a8",
-1614 => x"160880c3",
-1615 => x"ae2e0981",
-1616 => x"06fee438",
-1617 => x"8c162288",
-1618 => x"80075473",
-1619 => x"8c172388",
-1620 => x"800b80cc",
-1621 => x"170cfedc",
-1622 => x"39f43d0d",
-1623 => x"7e608b11",
-1624 => x"70f8065b",
-1625 => x"55555d72",
-1626 => x"96268338",
-1627 => x"90588078",
-1628 => x"24747926",
-1629 => x"07558054",
-1630 => x"74742e09",
-1631 => x"810680ca",
-1632 => x"387c518e",
-1633 => x"a83f7783",
-1634 => x"f72680c5",
-1635 => x"3877832a",
-1636 => x"70101010",
-1637 => x"80d7a805",
-1638 => x"8c110858",
-1639 => x"58547577",
-1640 => x"2e81f038",
-1641 => x"841608fc",
-1642 => x"068c1708",
-1643 => x"88180871",
-1644 => x"8c120c88",
-1645 => x"120c5b76",
-1646 => x"05841108",
-1647 => x"81078412",
-1648 => x"0c537c51",
-1649 => x"8de83f88",
-1650 => x"16547380",
-1651 => x"0c8e3d0d",
-1652 => x"0477892a",
-1653 => x"78832a58",
-1654 => x"5473802e",
-1655 => x"bf387786",
-1656 => x"2ab80557",
-1657 => x"847427b4",
-1658 => x"3880db14",
-1659 => x"57947427",
-1660 => x"ab38778c",
-1661 => x"2a80ee05",
-1662 => x"5780d474",
-1663 => x"279e3877",
-1664 => x"8f2a80f7",
-1665 => x"055782d4",
-1666 => x"74279138",
-1667 => x"77922a80",
-1668 => x"fc05578a",
-1669 => x"d4742784",
-1670 => x"3880fe57",
-1671 => x"76101010",
-1672 => x"80d7a805",
-1673 => x"8c110856",
-1674 => x"5374732e",
-1675 => x"a3388415",
-1676 => x"08fc0670",
-1677 => x"79315556",
-1678 => x"738f2488",
-1679 => x"e4387380",
-1680 => x"2588e638",
-1681 => x"8c150855",
-1682 => x"74732e09",
-1683 => x"8106df38",
-1684 => x"81175980",
-1685 => x"d7b80856",
-1686 => x"7580d7b0",
-1687 => x"2e82cc38",
-1688 => x"841608fc",
-1689 => x"06707931",
-1690 => x"5555738f",
-1691 => x"24bb3880",
-1692 => x"d7b00b80",
-1693 => x"d7bc0c80",
-1694 => x"d7b00b80",
-1695 => x"d7b80c80",
-1696 => x"742480db",
-1697 => x"38741684",
-1698 => x"11088107",
-1699 => x"84120c53",
-1700 => x"feb03988",
-1701 => x"168c1108",
-1702 => x"57597579",
-1703 => x"2e098106",
-1704 => x"fe823882",
-1705 => x"1459ffab",
-1706 => x"39771678",
-1707 => x"81078418",
-1708 => x"0c7080d7",
-1709 => x"bc0c7080",
-1710 => x"d7b80c80",
-1711 => x"d7b00b8c",
-1712 => x"120c8c11",
-1713 => x"0888120c",
-1714 => x"74810784",
-1715 => x"120c7405",
-1716 => x"74710c5b",
-1717 => x"7c518bd6",
-1718 => x"3f881654",
-1719 => x"fdec3983",
-1720 => x"ff752783",
-1721 => x"91387489",
-1722 => x"2a75832a",
-1723 => x"54547380",
-1724 => x"2ebf3874",
-1725 => x"862ab805",
-1726 => x"53847427",
-1727 => x"b43880db",
-1728 => x"14539474",
-1729 => x"27ab3874",
-1730 => x"8c2a80ee",
-1731 => x"055380d4",
-1732 => x"74279e38",
-1733 => x"748f2a80",
-1734 => x"f7055382",
-1735 => x"d4742791",
-1736 => x"3874922a",
-1737 => x"80fc0553",
-1738 => x"8ad47427",
-1739 => x"843880fe",
-1740 => x"53721010",
-1741 => x"1080d7a8",
-1742 => x"05881108",
-1743 => x"55577377",
-1744 => x"2e868b38",
-1745 => x"841408fc",
-1746 => x"065b747b",
-1747 => x"278d3888",
-1748 => x"14085473",
-1749 => x"772e0981",
-1750 => x"06ea388c",
-1751 => x"140880d7",
-1752 => x"a80b8405",
-1753 => x"08718c19",
-1754 => x"0c758819",
-1755 => x"0c778813",
-1756 => x"0c5c5775",
-1757 => x"8c150c78",
-1758 => x"53807924",
-1759 => x"83983872",
-1760 => x"822c8171",
-1761 => x"2b565674",
-1762 => x"7b2680ca",
-1763 => x"387a7506",
-1764 => x"577682a3",
-1765 => x"3878fc06",
-1766 => x"84055974",
-1767 => x"10707c06",
-1768 => x"55557382",
-1769 => x"92388419",
-1770 => x"59f13980",
-1771 => x"d7a80b84",
-1772 => x"05087954",
-1773 => x"5b788025",
-1774 => x"c63882da",
-1775 => x"3974097b",
-1776 => x"067080d7",
-1777 => x"a80b8405",
-1778 => x"0c5b7410",
-1779 => x"55747b26",
-1780 => x"85387485",
-1781 => x"bc3880d7",
-1782 => x"a80b8805",
-1783 => x"08708412",
-1784 => x"08fc0670",
-1785 => x"7b317b72",
-1786 => x"268f7225",
-1787 => x"075d575c",
-1788 => x"5c557880",
-1789 => x"2e80d938",
-1790 => x"791580d7",
-1791 => x"a0081990",
-1792 => x"11595456",
-1793 => x"80d79c08",
-1794 => x"ff2e8838",
-1795 => x"a08f13e0",
-1796 => x"80065776",
-1797 => x"527c5189",
-1798 => x"963f8008",
-1799 => x"548008ff",
-1800 => x"2e903880",
-1801 => x"08762782",
-1802 => x"a7387480",
-1803 => x"d7a82e82",
-1804 => x"9f3880d7",
-1805 => x"a80b8805",
-1806 => x"08558415",
-1807 => x"08fc0670",
-1808 => x"79317972",
-1809 => x"268f7225",
-1810 => x"075d555a",
-1811 => x"7a83f238",
-1812 => x"77810784",
-1813 => x"160c7715",
-1814 => x"7080d7a8",
-1815 => x"0b88050c",
-1816 => x"74810784",
-1817 => x"120c567c",
-1818 => x"5188c33f",
-1819 => x"88155473",
-1820 => x"800c8e3d",
-1821 => x"0d047483",
-1822 => x"2a705454",
-1823 => x"80742481",
-1824 => x"9b387282",
-1825 => x"2c81712b",
-1826 => x"80d7ac08",
-1827 => x"077080d7",
-1828 => x"a80b8405",
-1829 => x"0c751010",
-1830 => x"1080d7a8",
-1831 => x"05881108",
-1832 => x"718c1b0c",
-1833 => x"70881b0c",
-1834 => x"7988130c",
-1835 => x"57555c55",
-1836 => x"758c150c",
-1837 => x"fdc13978",
-1838 => x"79101010",
-1839 => x"80d7a805",
-1840 => x"70565b5c",
-1841 => x"8c140856",
-1842 => x"75742ea3",
-1843 => x"38841608",
-1844 => x"fc067079",
-1845 => x"31585376",
-1846 => x"8f2483f1",
-1847 => x"38768025",
-1848 => x"84af388c",
-1849 => x"16085675",
-1850 => x"742e0981",
-1851 => x"06df3888",
-1852 => x"14811a70",
-1853 => x"8306555a",
-1854 => x"5472c938",
-1855 => x"7b830656",
-1856 => x"75802efd",
-1857 => x"b838ff1c",
-1858 => x"f81b5b5c",
-1859 => x"881a087a",
-1860 => x"2eea38fd",
-1861 => x"b5398319",
-1862 => x"53fce439",
-1863 => x"83147082",
-1864 => x"2c81712b",
-1865 => x"80d7ac08",
-1866 => x"077080d7",
-1867 => x"a80b8405",
-1868 => x"0c761010",
-1869 => x"1080d7a8",
-1870 => x"05881108",
-1871 => x"718c1c0c",
-1872 => x"70881c0c",
-1873 => x"7a88130c",
-1874 => x"58535d56",
-1875 => x"53fee139",
-1876 => x"80d6ec08",
-1877 => x"17598008",
-1878 => x"762e818b",
-1879 => x"3880d79c",
-1880 => x"08ff2e84",
-1881 => x"8e387376",
-1882 => x"311980d6",
-1883 => x"ec0c7387",
-1884 => x"06705653",
-1885 => x"72802e88",
-1886 => x"38887331",
-1887 => x"70155555",
-1888 => x"76149fff",
-1889 => x"06a08071",
-1890 => x"31167054",
-1891 => x"7e535153",
-1892 => x"869d3f80",
-1893 => x"08568008",
-1894 => x"ff2e819e",
-1895 => x"3880d6ec",
-1896 => x"08137080",
-1897 => x"d6ec0c74",
-1898 => x"7580d7a8",
-1899 => x"0b88050c",
-1900 => x"77763115",
-1901 => x"81075556",
-1902 => x"597a80d7",
-1903 => x"a82e83c0",
-1904 => x"38798f26",
-1905 => x"82ef3881",
-1906 => x"0b84150c",
-1907 => x"841508fc",
-1908 => x"06707931",
-1909 => x"7972268f",
-1910 => x"7225075d",
-1911 => x"555a7a80",
-1912 => x"2efced38",
-1913 => x"80db3980",
-1914 => x"089fff06",
-1915 => x"5574feed",
-1916 => x"387880d6",
-1917 => x"ec0c80d7",
-1918 => x"a80b8805",
-1919 => x"087a1881",
-1920 => x"0784120c",
-1921 => x"5580d798",
-1922 => x"08792786",
-1923 => x"387880d7",
-1924 => x"980c80d7",
-1925 => x"94087927",
-1926 => x"fca03878",
-1927 => x"80d7940c",
-1928 => x"841508fc",
-1929 => x"06707931",
-1930 => x"7972268f",
-1931 => x"7225075d",
-1932 => x"555a7a80",
-1933 => x"2efc9938",
-1934 => x"88398074",
-1935 => x"5753fedd",
-1936 => x"397c5184",
-1937 => x"e93f800b",
-1938 => x"800c8e3d",
-1939 => x"0d048073",
-1940 => x"24a53872",
-1941 => x"822c8171",
-1942 => x"2b80d7ac",
-1943 => x"08077080",
-1944 => x"d7a80b84",
-1945 => x"050c5c5a",
-1946 => x"768c170c",
-1947 => x"7388170c",
-1948 => x"7588180c",
-1949 => x"f9fd3983",
-1950 => x"1370822c",
-1951 => x"81712b80",
-1952 => x"d7ac0807",
-1953 => x"7080d7a8",
-1954 => x"0b84050c",
-1955 => x"5d5b53d8",
-1956 => x"397a7506",
-1957 => x"5c7bfc9f",
-1958 => x"38841975",
-1959 => x"105659f1",
-1960 => x"39ff1781",
-1961 => x"0559f7ab",
-1962 => x"398c1508",
-1963 => x"88160871",
-1964 => x"8c120c88",
-1965 => x"120c5975",
-1966 => x"15841108",
-1967 => x"81078412",
-1968 => x"0c587c51",
-1969 => x"83e83f88",
-1970 => x"1554fba3",
-1971 => x"39771678",
-1972 => x"81078418",
-1973 => x"0c8c1708",
-1974 => x"88180871",
-1975 => x"8c120c88",
-1976 => x"120c5c70",
-1977 => x"80d7bc0c",
-1978 => x"7080d7b8",
-1979 => x"0c80d7b0",
-1980 => x"0b8c120c",
-1981 => x"8c110888",
-1982 => x"120c7781",
-1983 => x"0784120c",
-1984 => x"77057771",
-1985 => x"0c557c51",
-1986 => x"83a43f88",
-1987 => x"1654f5ba",
-1988 => x"39721684",
-1989 => x"11088107",
-1990 => x"84120c58",
-1991 => x"8c160888",
-1992 => x"1708718c",
-1993 => x"120c8812",
-1994 => x"0c577c51",
-1995 => x"83803f88",
-1996 => x"1654f596",
-1997 => x"39728415",
-1998 => x"0cf41af8",
-1999 => x"0670841d",
-2000 => x"08810607",
-2001 => x"841d0c70",
-2002 => x"1c555685",
-2003 => x"0b84150c",
-2004 => x"850b8815",
-2005 => x"0c8f7627",
-2006 => x"fdab3888",
-2007 => x"1b527c51",
-2008 => x"ebe83f80",
-2009 => x"d7a80b88",
-2010 => x"050880d6",
-2011 => x"ec085a55",
-2012 => x"fd933978",
-2013 => x"80d6ec0c",
-2014 => x"7380d79c",
-2015 => x"0cfbef39",
-2016 => x"7284150c",
-2017 => x"fcff39fb",
-2018 => x"3d0d7770",
-2019 => x"7a7c5855",
-2020 => x"53568f75",
-2021 => x"2780e638",
-2022 => x"72760783",
-2023 => x"06517080",
-2024 => x"dc387573",
-2025 => x"52547070",
-2026 => x"84055208",
-2027 => x"74708405",
-2028 => x"560c7371",
-2029 => x"70840553",
-2030 => x"08717084",
-2031 => x"05530c71",
-2032 => x"70840553",
-2033 => x"08717084",
-2034 => x"05530c71",
-2035 => x"70840553",
-2036 => x"08717084",
-2037 => x"05530cf0",
-2038 => x"16565474",
-2039 => x"8f26c738",
-2040 => x"83752795",
-2041 => x"38707084",
-2042 => x"05520874",
-2043 => x"70840556",
-2044 => x"0cfc1555",
-2045 => x"748326ed",
-2046 => x"38737154",
-2047 => x"52ff1551",
-2048 => x"70ff2e98",
-2049 => x"38727081",
-2050 => x"05543372",
-2051 => x"70810554",
-2052 => x"34ff1151",
-2053 => x"70ff2e09",
-2054 => x"8106ea38",
-2055 => x"75800c87",
-2056 => x"3d0d04fb",
-2057 => x"3d0d777a",
-2058 => x"71028c05",
-2059 => x"a3053358",
-2060 => x"54545683",
-2061 => x"732780d4",
-2062 => x"38758306",
-2063 => x"517080cc",
-2064 => x"3874882b",
-2065 => x"75077071",
-2066 => x"902b0755",
-2067 => x"518f7327",
-2068 => x"a7387372",
-2069 => x"70840554",
-2070 => x"0c717471",
-2071 => x"70840553",
-2072 => x"0c747170",
-2073 => x"8405530c",
-2074 => x"74717084",
-2075 => x"05530cf0",
-2076 => x"14545272",
-2077 => x"8f26db38",
-2078 => x"83732790",
-2079 => x"38737270",
-2080 => x"8405540c",
-2081 => x"fc135372",
-2082 => x"8326f238",
-2083 => x"ff135170",
-2084 => x"ff2e9338",
-2085 => x"74727081",
-2086 => x"055434ff",
-2087 => x"115170ff",
-2088 => x"2e098106",
-2089 => x"ef387580",
-2090 => x"0c873d0d",
-2091 => x"04040470",
-2092 => x"70707080",
-2093 => x"0b80dfe4",
-2094 => x"0c765184",
-2095 => x"f33f8008",
-2096 => x"538008ff",
-2097 => x"2e893872",
-2098 => x"800c5050",
-2099 => x"50500480",
-2100 => x"dfe40854",
-2101 => x"73802eef",
-2102 => x"38757471",
-2103 => x"0c527280",
-2104 => x"0c505050",
-2105 => x"5004f93d",
-2106 => x"0d797c55",
-2107 => x"7b548e11",
-2108 => x"2270902b",
-2109 => x"70902c55",
-2110 => x"5780cfec",
-2111 => x"08535856",
-2112 => x"83f63f80",
-2113 => x"0857800b",
-2114 => x"80082493",
-2115 => x"3880d016",
-2116 => x"08800805",
-2117 => x"80d0170c",
-2118 => x"76800c89",
-2119 => x"3d0d048c",
-2120 => x"162283df",
-2121 => x"ff065574",
-2122 => x"8c172376",
-2123 => x"800c893d",
-2124 => x"0d04fa3d",
-2125 => x"0d788c11",
-2126 => x"2270882a",
-2127 => x"70810651",
-2128 => x"57585674",
-2129 => x"a9388c16",
-2130 => x"2283dfff",
-2131 => x"0655748c",
-2132 => x"17237a54",
-2133 => x"79538e16",
-2134 => x"2270902b",
-2135 => x"70902c54",
-2136 => x"5680cfec",
-2137 => x"08525681",
-2138 => x"b23f883d",
-2139 => x"0d048254",
-2140 => x"80538e16",
-2141 => x"2270902b",
-2142 => x"70902c54",
-2143 => x"5680cfec",
-2144 => x"08525782",
-2145 => x"bb3f8c16",
-2146 => x"2283dfff",
-2147 => x"0655748c",
-2148 => x"17237a54",
-2149 => x"79538e16",
-2150 => x"2270902b",
-2151 => x"70902c54",
-2152 => x"5680cfec",
-2153 => x"08525680",
-2154 => x"f23f883d",
-2155 => x"0d04f93d",
-2156 => x"0d797c55",
-2157 => x"7b548e11",
-2158 => x"2270902b",
-2159 => x"70902c55",
-2160 => x"5780cfec",
-2161 => x"08535856",
-2162 => x"81f63f80",
-2163 => x"08578008",
-2164 => x"ff2e9938",
-2165 => x"8c1622a0",
-2166 => x"80075574",
-2167 => x"8c172380",
-2168 => x"0880d017",
-2169 => x"0c76800c",
-2170 => x"893d0d04",
-2171 => x"8c162283",
-2172 => x"dfff0655",
-2173 => x"748c1723",
-2174 => x"76800c89",
-2175 => x"3d0d0470",
-2176 => x"7070748e",
-2177 => x"11227090",
-2178 => x"2b70902c",
-2179 => x"55515153",
-2180 => x"80cfec08",
-2181 => x"51bd3f50",
-2182 => x"505004fb",
-2183 => x"3d0d800b",
-2184 => x"80dfe40c",
-2185 => x"7a537952",
-2186 => x"785182fc",
-2187 => x"3f800855",
-2188 => x"8008ff2e",
-2189 => x"88387480",
-2190 => x"0c873d0d",
-2191 => x"0480dfe4",
-2192 => x"08567580",
-2193 => x"2ef03877",
-2194 => x"76710c54",
-2195 => x"74800c87",
-2196 => x"3d0d0470",
-2197 => x"70707080",
-2198 => x"0b80dfe4",
-2199 => x"0c765184",
-2200 => x"c93f8008",
-2201 => x"538008ff",
-2202 => x"2e893872",
-2203 => x"800c5050",
-2204 => x"50500480",
-2205 => x"dfe40854",
-2206 => x"73802eef",
-2207 => x"38757471",
-2208 => x"0c527280",
-2209 => x"0c505050",
-2210 => x"5004fc3d",
-2211 => x"0d800b80",
-2212 => x"dfe40c78",
-2213 => x"52775187",
-2214 => x"b03f8008",
-2215 => x"548008ff",
-2216 => x"2e883873",
-2217 => x"800c863d",
-2218 => x"0d0480df",
-2219 => x"e4085574",
-2220 => x"802ef038",
-2221 => x"7675710c",
-2222 => x"5373800c",
-2223 => x"863d0d04",
-2224 => x"fb3d0d80",
-2225 => x"0b80dfe4",
-2226 => x"0c7a5379",
-2227 => x"52785184",
-2228 => x"8b3f8008",
-2229 => x"558008ff",
-2230 => x"2e883874",
-2231 => x"800c873d",
-2232 => x"0d0480df",
-2233 => x"e4085675",
-2234 => x"802ef038",
-2235 => x"7776710c",
-2236 => x"5474800c",
-2237 => x"873d0d04",
-2238 => x"fb3d0d80",
-2239 => x"0b80dfe4",
-2240 => x"0c7a5379",
-2241 => x"52785182",
-2242 => x"933f8008",
-2243 => x"558008ff",
-2244 => x"2e883874",
-2245 => x"800c873d",
-2246 => x"0d0480df",
-2247 => x"e4085675",
-2248 => x"802ef038",
-2249 => x"7776710c",
-2250 => x"5474800c",
-2251 => x"873d0d04",
-2252 => x"70707080",
-2253 => x"dfd80889",
-2254 => x"3880dfe8",
-2255 => x"0b80dfd8",
-2256 => x"0c80dfd8",
-2257 => x"08751152",
-2258 => x"52ff5370",
-2259 => x"87fb8080",
-2260 => x"26883870",
-2261 => x"80dfd80c",
-2262 => x"71537280",
-2263 => x"0c505050",
-2264 => x"04fd3d0d",
-2265 => x"800b80cf",
-2266 => x"e0085454",
-2267 => x"72812e9b",
-2268 => x"387380df",
-2269 => x"dc0cc2ae",
-2270 => x"3fc1853f",
-2271 => x"80dfb052",
-2272 => x"8151c3f7",
-2273 => x"3f800851",
-2274 => x"86bf3f72",
-2275 => x"80dfdc0c",
-2276 => x"c2943fc0",
-2277 => x"eb3f80df",
-2278 => x"b0528151",
-2279 => x"c3dd3f80",
-2280 => x"085186a5",
-2281 => x"3f00ff39",
-2282 => x"f53d0d7e",
-2283 => x"6080dfdc",
-2284 => x"08705b58",
-2285 => x"5b5b7580",
-2286 => x"c238777a",
-2287 => x"25a13877",
-2288 => x"1b703370",
-2289 => x"81ff0658",
-2290 => x"5859758a",
-2291 => x"2e983876",
-2292 => x"81ff0651",
-2293 => x"c1af3f81",
-2294 => x"18587978",
-2295 => x"24e13879",
-2296 => x"800c8d3d",
-2297 => x"0d048d51",
-2298 => x"c19b3f78",
-2299 => x"337081ff",
-2300 => x"065257c1",
-2301 => x"903f8118",
-2302 => x"58e03979",
-2303 => x"557a547d",
-2304 => x"5385528d",
-2305 => x"3dfc0551",
-2306 => x"c0b83f80",
-2307 => x"085685b2",
-2308 => x"3f7b8008",
-2309 => x"0c75800c",
-2310 => x"8d3d0d04",
-2311 => x"f63d0d7d",
-2312 => x"7f80dfdc",
-2313 => x"08705b58",
-2314 => x"5a5a7580",
-2315 => x"c1387779",
-2316 => x"25b338c0",
-2317 => x"ab3f8008",
-2318 => x"81ff0670",
-2319 => x"8d327030",
-2320 => x"709f2a51",
-2321 => x"51575776",
-2322 => x"8a2e80c4",
-2323 => x"3875802e",
-2324 => x"bf38771a",
-2325 => x"56767634",
-2326 => x"7651c0a9",
-2327 => x"3f811858",
-2328 => x"787824cf",
-2329 => x"38775675",
-2330 => x"800c8c3d",
-2331 => x"0d047855",
-2332 => x"79547c53",
-2333 => x"84528c3d",
-2334 => x"fc0551ff",
-2335 => x"bfc43f80",
-2336 => x"085684be",
-2337 => x"3f7a8008",
-2338 => x"0c75800c",
-2339 => x"8c3d0d04",
-2340 => x"771a598a",
-2341 => x"79348118",
-2342 => x"588d51ff",
-2343 => x"bfe73f8a",
-2344 => x"51ffbfe1",
-2345 => x"3f7756ff",
-2346 => x"be39fb3d",
-2347 => x"0d80dfdc",
-2348 => x"08705654",
-2349 => x"73883874",
-2350 => x"800c873d",
-2351 => x"0d047753",
-2352 => x"8352873d",
-2353 => x"fc0551ff",
-2354 => x"bef83f80",
-2355 => x"085483f2",
-2356 => x"3f758008",
-2357 => x"0c73800c",
-2358 => x"873d0d04",
-2359 => x"fa3d0d80",
-2360 => x"dfdc0880",
-2361 => x"2ea3387a",
-2362 => x"55795478",
-2363 => x"53865288",
-2364 => x"3dfc0551",
-2365 => x"ffbecb3f",
-2366 => x"80085683",
-2367 => x"c53f7680",
-2368 => x"080c7580",
-2369 => x"0c883d0d",
-2370 => x"0483b73f",
-2371 => x"9d0b8008",
-2372 => x"0cff0b80",
-2373 => x"0c883d0d",
-2374 => x"04f73d0d",
-2375 => x"7b7d5b59",
-2376 => x"bc538052",
-2377 => x"7951f5fb",
-2378 => x"3f807056",
-2379 => x"57985674",
-2380 => x"19703370",
-2381 => x"782b7907",
-2382 => x"8118f81a",
-2383 => x"5a585955",
-2384 => x"58847524",
-2385 => x"ea38767a",
-2386 => x"23841958",
-2387 => x"80705657",
-2388 => x"98567418",
-2389 => x"70337078",
-2390 => x"2b790781",
-2391 => x"18f81a5a",
-2392 => x"58595154",
-2393 => x"847524ea",
-2394 => x"3876821b",
-2395 => x"23881958",
-2396 => x"80705657",
-2397 => x"98567418",
-2398 => x"70337078",
-2399 => x"2b790781",
-2400 => x"18f81a5a",
-2401 => x"58595154",
-2402 => x"847524ea",
-2403 => x"3876841b",
-2404 => x"0c8c1958",
-2405 => x"80705657",
-2406 => x"98567418",
-2407 => x"70337078",
-2408 => x"2b790781",
-2409 => x"18f81a5a",
-2410 => x"58595154",
-2411 => x"847524ea",
-2412 => x"3876881b",
-2413 => x"23901958",
-2414 => x"80705657",
-2415 => x"98567418",
-2416 => x"70337078",
-2417 => x"2b790781",
-2418 => x"18f81a5a",
-2419 => x"58595154",
-2420 => x"847524ea",
-2421 => x"38768a1b",
-2422 => x"23941958",
-2423 => x"80705657",
-2424 => x"98567418",
-2425 => x"70337078",
-2426 => x"2b790781",
-2427 => x"18f81a5a",
-2428 => x"58595154",
-2429 => x"847524ea",
-2430 => x"38768c1b",
-2431 => x"23981958",
-2432 => x"80705657",
-2433 => x"98567418",
-2434 => x"70337078",
-2435 => x"2b790781",
-2436 => x"18f81a5a",
-2437 => x"58595154",
-2438 => x"847524ea",
-2439 => x"38768e1b",
-2440 => x"239c1958",
-2441 => x"80705657",
-2442 => x"b8567418",
-2443 => x"70337078",
-2444 => x"2b790781",
-2445 => x"18f81a5a",
-2446 => x"58595a54",
-2447 => x"887524ea",
-2448 => x"3876901b",
-2449 => x"0c8b3d0d",
-2450 => x"04e93d0d",
-2451 => x"6a80dfdc",
-2452 => x"08575775",
-2453 => x"933880c0",
-2454 => x"800b8418",
-2455 => x"0c75ac18",
-2456 => x"0c75800c",
-2457 => x"993d0d04",
-2458 => x"893d7055",
-2459 => x"6a54558a",
-2460 => x"52993dff",
-2461 => x"bc0551ff",
-2462 => x"bbc83f80",
-2463 => x"08775375",
-2464 => x"5256fd95",
-2465 => x"3fbc3f77",
-2466 => x"80080c75",
-2467 => x"800c993d",
-2468 => x"0d04fc3d",
-2469 => x"0d815480",
-2470 => x"dfdc0888",
-2471 => x"3873800c",
-2472 => x"863d0d04",
-2473 => x"765397b9",
-2474 => x"52863dfc",
-2475 => x"0551ffbb",
-2476 => x"913f8008",
-2477 => x"548c3f74",
-2478 => x"80080c73",
-2479 => x"800c863d",
-2480 => x"0d0480cf",
-2481 => x"ec08800c",
-2482 => x"04f73d0d",
-2483 => x"7b80cfec",
-2484 => x"0882c811",
-2485 => x"085a545a",
-2486 => x"77802e80",
-2487 => x"da388188",
-2488 => x"18841908",
-2489 => x"ff058171",
-2490 => x"2b595559",
-2491 => x"80742480",
-2492 => x"ea388074",
-2493 => x"24b53873",
-2494 => x"822b7811",
-2495 => x"88055656",
-2496 => x"81801908",
-2497 => x"77065372",
-2498 => x"802eb638",
-2499 => x"78167008",
-2500 => x"53537951",
-2501 => x"74085372",
-2502 => x"2dff14fc",
-2503 => x"17fc1779",
-2504 => x"812c5a57",
-2505 => x"57547380",
-2506 => x"25d63877",
-2507 => x"085877ff",
-2508 => x"ad3880cf",
-2509 => x"ec0853bc",
-2510 => x"1308a538",
-2511 => x"7951f8e5",
-2512 => x"3f740853",
-2513 => x"722dff14",
-2514 => x"fc17fc17",
-2515 => x"79812c5a",
-2516 => x"57575473",
-2517 => x"8025ffa8",
-2518 => x"38d13980",
-2519 => x"57ff9339",
-2520 => x"7251bc13",
-2521 => x"0854732d",
-2522 => x"7951f8b9",
-2523 => x"3f707080",
-2524 => x"dfb80bfc",
-2525 => x"05700852",
-2526 => x"5270ff2e",
-2527 => x"9138702d",
-2528 => x"fc127008",
-2529 => x"525270ff",
-2530 => x"2e098106",
-2531 => x"f1385050",
-2532 => x"0404ffba",
-2533 => x"fe3f0400",
+348 => x"803d0d80",
+349 => x"dfe00881",
+350 => x"1180dfe0",
+351 => x"0c51823d",
+352 => x"0d04fe3d",
+353 => x"0d80dfe0",
+354 => x"085380df",
+355 => x"e0085272",
+356 => x"722e8f38",
+357 => x"80cf9c51",
+358 => x"82b03f80",
+359 => x"dfe00853",
+360 => x"e93980cf",
+361 => x"ac5182a2",
+362 => x"3fe039fb",
+363 => x"3d0d7779",
+364 => x"55558056",
+365 => x"757524ab",
+366 => x"38807424",
+367 => x"9d388053",
+368 => x"73527451",
+369 => x"80e13f80",
+370 => x"08547580",
+371 => x"2e853880",
+372 => x"08305473",
+373 => x"800c873d",
+374 => x"0d047330",
+375 => x"76813257",
+376 => x"54dc3974",
+377 => x"30558156",
+378 => x"738025d2",
+379 => x"38ec39fa",
+380 => x"3d0d787a",
+381 => x"57558057",
+382 => x"767524a4",
+383 => x"38759f2c",
+384 => x"54815375",
+385 => x"74327431",
+386 => x"5274519b",
+387 => x"3f800854",
+388 => x"76802e85",
+389 => x"38800830",
+390 => x"5473800c",
+391 => x"883d0d04",
+392 => x"74305581",
+393 => x"57d739fc",
+394 => x"3d0d7678",
+395 => x"53548153",
+396 => x"80747326",
+397 => x"52557280",
+398 => x"2e983870",
+399 => x"802eab38",
+400 => x"807224a6",
+401 => x"38711073",
+402 => x"10757226",
+403 => x"53545272",
+404 => x"ea387351",
+405 => x"78833874",
+406 => x"5170800c",
+407 => x"863d0d04",
+408 => x"720a100a",
+409 => x"720a100a",
+410 => x"53537280",
+411 => x"2ee43871",
+412 => x"7426ed38",
+413 => x"73723175",
+414 => x"7407740a",
+415 => x"100a740a",
+416 => x"100a5555",
+417 => x"5654e339",
+418 => x"f73d0d7c",
+419 => x"70525380",
+420 => x"fd3f7254",
+421 => x"8008550b",
+422 => x"0b80cfb8",
+423 => x"56815780",
+424 => x"0881055a",
+425 => x"8b3de411",
+426 => x"59538259",
+427 => x"f413527b",
+428 => x"88110852",
+429 => x"5381b43f",
+430 => x"80083070",
+431 => x"8008079f",
+432 => x"2c8a0780",
+433 => x"0c538b3d",
+434 => x"0d04f63d",
+435 => x"0d7c80cf",
+436 => x"ec087153",
+437 => x"5553b73f",
+438 => x"72558008",
+439 => x"560b0b80",
+440 => x"cfb85781",
+441 => x"58800881",
+442 => x"055b8c3d",
+443 => x"e4115a53",
+444 => x"825af413",
+445 => x"52881408",
+446 => x"5180f03f",
+447 => x"80083070",
+448 => x"8008079f",
+449 => x"2c8a0780",
+450 => x"0c548c3d",
+451 => x"0d047070",
+452 => x"70707570",
+453 => x"71830653",
+454 => x"555270b4",
+455 => x"38717008",
+456 => x"7009f7fb",
+457 => x"fdff1206",
+458 => x"f8848281",
+459 => x"80065452",
+460 => x"53719b38",
+461 => x"84137008",
+462 => x"7009f7fb",
+463 => x"fdff1206",
+464 => x"f8848281",
+465 => x"80065452",
+466 => x"5371802e",
+467 => x"e7387252",
+468 => x"71335372",
+469 => x"802e8a38",
+470 => x"81127033",
+471 => x"545272f8",
+472 => x"38717431",
+473 => x"800c5050",
+474 => x"505004f2",
+475 => x"3d0d6062",
+476 => x"88110870",
+477 => x"58565f5a",
+478 => x"73802e81",
+479 => x"8c388c1a",
+480 => x"2270832a",
+481 => x"81328106",
+482 => x"56587486",
+483 => x"38901a08",
+484 => x"91387951",
+485 => x"90b73fff",
+486 => x"55800880",
+487 => x"ec388c1a",
+488 => x"22587d08",
+489 => x"55807883",
+490 => x"ffff0670",
+491 => x"0a100a81",
+492 => x"06415c57",
+493 => x"7e772e80",
+494 => x"d7387690",
+495 => x"38740884",
+496 => x"16088817",
+497 => x"57585676",
+498 => x"802ef238",
+499 => x"76548880",
+500 => x"77278438",
+501 => x"88805473",
+502 => x"5375529c",
+503 => x"1a0851a4",
+504 => x"1a085877",
+505 => x"2d800b80",
+506 => x"082582e0",
+507 => x"38800816",
+508 => x"77800831",
+509 => x"7f880508",
+510 => x"80083170",
+511 => x"6188050c",
+512 => x"5b585678",
+513 => x"ffb43880",
+514 => x"5574800c",
+515 => x"903d0d04",
+516 => x"7a813281",
+517 => x"06774056",
+518 => x"75802e81",
+519 => x"bd387690",
+520 => x"38740884",
+521 => x"16088817",
+522 => x"57585976",
+523 => x"802ef238",
+524 => x"881a0878",
+525 => x"83ffff06",
+526 => x"70892a81",
+527 => x"06565956",
+528 => x"73802e82",
+529 => x"f8387577",
+530 => x"278b3877",
+531 => x"872a8106",
+532 => x"5c7b82b5",
+533 => x"38767627",
+534 => x"83387656",
+535 => x"75537852",
+536 => x"79085185",
+537 => x"833f881a",
+538 => x"08763188",
+539 => x"1b0c7908",
+540 => x"167a0c76",
+541 => x"56751977",
+542 => x"77317f88",
+543 => x"05087831",
+544 => x"70618805",
+545 => x"0c415859",
+546 => x"7e802efe",
+547 => x"fa388c1a",
+548 => x"2258ff8a",
+549 => x"39787954",
+550 => x"7c537b52",
+551 => x"5684c93f",
+552 => x"881a0879",
+553 => x"31881b0c",
+554 => x"7908197a",
+555 => x"0c7c7631",
+556 => x"5d7c8e38",
+557 => x"79518ff2",
+558 => x"3f800881",
+559 => x"8f388008",
+560 => x"5f751c77",
+561 => x"77317f88",
+562 => x"05087831",
+563 => x"70618805",
+564 => x"0c5d585c",
+565 => x"7a802efe",
+566 => x"ae387681",
+567 => x"83387408",
+568 => x"84160888",
+569 => x"1757585c",
+570 => x"76802ef2",
+571 => x"3876538a",
+572 => x"527b5182",
+573 => x"d33f8008",
+574 => x"7c318105",
+575 => x"5d800884",
+576 => x"3881175d",
+577 => x"815f7c59",
+578 => x"767d2783",
+579 => x"38765994",
+580 => x"1a08881b",
+581 => x"08115758",
+582 => x"807a085c",
+583 => x"54901a08",
+584 => x"7b278338",
+585 => x"81547579",
+586 => x"25843873",
+587 => x"ba387779",
+588 => x"24fee238",
+589 => x"77537b52",
+590 => x"9c1a0851",
+591 => x"a41a0859",
+592 => x"782d8008",
+593 => x"56800880",
+594 => x"24fee238",
+595 => x"8c1a2280",
+596 => x"c0075e7d",
+597 => x"8c1b23ff",
+598 => x"5574800c",
+599 => x"903d0d04",
+600 => x"7effa338",
+601 => x"ff873975",
+602 => x"537b527a",
+603 => x"5182f93f",
+604 => x"7908167a",
+605 => x"0c79518e",
+606 => x"b13f8008",
+607 => x"cf387c76",
+608 => x"315d7cfe",
+609 => x"bc38feac",
+610 => x"39901a08",
+611 => x"7a087131",
+612 => x"78117056",
+613 => x"5a575280",
+614 => x"cfec0851",
+615 => x"84943f80",
+616 => x"08802eff",
+617 => x"a7388008",
+618 => x"901b0c80",
+619 => x"08167a0c",
+620 => x"77941b0c",
+621 => x"76881b0c",
+622 => x"7656fd99",
+623 => x"39790858",
+624 => x"901a0878",
+625 => x"27833881",
+626 => x"54757727",
+627 => x"843873b3",
+628 => x"38941a08",
+629 => x"54737726",
+630 => x"80d33873",
+631 => x"5378529c",
+632 => x"1a0851a4",
+633 => x"1a085877",
+634 => x"2d800856",
+635 => x"80088024",
+636 => x"fd83388c",
+637 => x"1a2280c0",
+638 => x"075e7d8c",
+639 => x"1b23ff55",
+640 => x"fed73975",
+641 => x"53785277",
+642 => x"5181dd3f",
+643 => x"7908167a",
+644 => x"0c79518d",
+645 => x"953f8008",
+646 => x"802efcd9",
+647 => x"388c1a22",
+648 => x"80c0075e",
+649 => x"7d8c1b23",
+650 => x"ff55fead",
+651 => x"39767754",
+652 => x"79537852",
+653 => x"5681b13f",
+654 => x"881a0877",
+655 => x"31881b0c",
+656 => x"7908177a",
+657 => x"0cfcae39",
+658 => x"fa3d0d7a",
+659 => x"79028805",
+660 => x"a7053355",
+661 => x"53548374",
+662 => x"2780df38",
+663 => x"71830651",
+664 => x"7080d738",
+665 => x"71715755",
+666 => x"83517582",
+667 => x"802913ff",
+668 => x"12525670",
+669 => x"8025f338",
+670 => x"837427bc",
+671 => x"38740876",
+672 => x"327009f7",
+673 => x"fbfdff12",
+674 => x"06f88482",
+675 => x"81800651",
+676 => x"5170802e",
+677 => x"98387451",
+678 => x"80527033",
+679 => x"5772772e",
+680 => x"b9388111",
+681 => x"81135351",
+682 => x"837227ee",
+683 => x"38fc1484",
+684 => x"16565473",
+685 => x"8326c638",
+686 => x"7452ff14",
+687 => x"5170ff2e",
+688 => x"97387133",
+689 => x"5472742e",
+690 => x"98388112",
+691 => x"ff125252",
+692 => x"70ff2e09",
+693 => x"8106eb38",
+694 => x"80517080",
+695 => x"0c883d0d",
+696 => x"0471800c",
+697 => x"883d0d04",
+698 => x"fa3d0d78",
+699 => x"7a7c7272",
+700 => x"72595755",
+701 => x"58565774",
+702 => x"7727b238",
+703 => x"75155176",
+704 => x"7127aa38",
+705 => x"707618ff",
+706 => x"18535353",
+707 => x"70ff2e96",
+708 => x"38ff12ff",
+709 => x"14545272",
+710 => x"337234ff",
+711 => x"115170ff",
+712 => x"2e098106",
+713 => x"ec387680",
+714 => x"0c883d0d",
+715 => x"048f7627",
+716 => x"80e63874",
+717 => x"77078306",
+718 => x"517080dc",
+719 => x"38767552",
+720 => x"53707084",
+721 => x"05520873",
+722 => x"70840555",
+723 => x"0c727170",
+724 => x"84055308",
+725 => x"71708405",
+726 => x"530c7170",
+727 => x"84055308",
+728 => x"71708405",
+729 => x"530c7170",
+730 => x"84055308",
+731 => x"71708405",
+732 => x"530cf015",
+733 => x"5553738f",
+734 => x"26c73883",
+735 => x"74279538",
+736 => x"70708405",
+737 => x"52087370",
+738 => x"8405550c",
+739 => x"fc145473",
+740 => x"8326ed38",
+741 => x"72715452",
+742 => x"ff145170",
+743 => x"ff2eff86",
+744 => x"38727081",
+745 => x"05543372",
+746 => x"70810554",
+747 => x"34ff1151",
+748 => x"ea39ef3d",
+749 => x"0d636567",
+750 => x"405d427b",
+751 => x"802e8582",
+752 => x"386151a9",
+753 => x"e73ff81c",
+754 => x"70841208",
+755 => x"70fc0670",
+756 => x"628b0570",
+757 => x"f8064159",
+758 => x"455c5f41",
+759 => x"57967427",
+760 => x"82c53880",
+761 => x"7b247e7c",
+762 => x"26075880",
+763 => x"5477742e",
+764 => x"09810682",
+765 => x"ab38787b",
+766 => x"2581fe38",
+767 => x"781780d7",
+768 => x"a80b8805",
+769 => x"085b5679",
+770 => x"762e84c5",
+771 => x"38841608",
+772 => x"70fe0617",
+773 => x"84110881",
+774 => x"06415555",
+775 => x"7e828d38",
+776 => x"74fc0658",
+777 => x"79762e84",
+778 => x"e3387818",
+779 => x"5f7e7b25",
+780 => x"81ff387c",
+781 => x"81065473",
+782 => x"82c13876",
+783 => x"77083184",
+784 => x"1108fc06",
+785 => x"56577580",
+786 => x"2e913879",
+787 => x"762e84f0",
+788 => x"38741819",
+789 => x"58777b25",
+790 => x"84913876",
+791 => x"802e829b",
+792 => x"38781556",
+793 => x"7a762482",
+794 => x"92388c17",
+795 => x"08881808",
+796 => x"718c120c",
+797 => x"88120c5e",
+798 => x"75598817",
+799 => x"61fc055b",
+800 => x"5679a426",
+801 => x"85ff387b",
+802 => x"76595593",
+803 => x"7a2780c9",
+804 => x"387b7084",
+805 => x"055d087c",
+806 => x"56760c74",
+807 => x"70840556",
+808 => x"088c180c",
+809 => x"9017589b",
+810 => x"7a27ae38",
+811 => x"74708405",
+812 => x"5608780c",
+813 => x"74708405",
+814 => x"56089418",
+815 => x"0c981758",
+816 => x"a37a2795",
+817 => x"38747084",
+818 => x"05560878",
+819 => x"0c747084",
+820 => x"0556089c",
+821 => x"180ca017",
+822 => x"58747084",
+823 => x"05560875",
+824 => x"5f787084",
+825 => x"055a0c77",
+826 => x"7e708405",
+827 => x"40087170",
+828 => x"8405530c",
+829 => x"7e08710c",
+830 => x"5d787b31",
+831 => x"56758f26",
+832 => x"80c93884",
+833 => x"17088106",
+834 => x"79078418",
+835 => x"0c781784",
+836 => x"11088107",
+837 => x"84120c5b",
+838 => x"6151a791",
+839 => x"3f881754",
+840 => x"73800c93",
+841 => x"3d0d0490",
+842 => x"5bfdb839",
+843 => x"7756fe83",
+844 => x"398c1608",
+845 => x"88170871",
+846 => x"8c120c88",
+847 => x"120c587e",
+848 => x"707c3157",
+849 => x"598f7627",
+850 => x"ffb9387a",
+851 => x"17841808",
+852 => x"81067c07",
+853 => x"84190c76",
+854 => x"81078412",
+855 => x"0c761184",
+856 => x"11088107",
+857 => x"84120c5b",
+858 => x"88055261",
+859 => x"518fda3f",
+860 => x"6151a6b9",
+861 => x"3f881754",
+862 => x"ffa6397d",
+863 => x"52615197",
+864 => x"d73f8008",
+865 => x"5a800880",
+866 => x"2e81ab38",
+867 => x"8008f805",
+868 => x"60840508",
+869 => x"fe066105",
+870 => x"58557477",
+871 => x"2e83f238",
+872 => x"fc195877",
+873 => x"a42681b0",
+874 => x"387b8008",
+875 => x"56579378",
+876 => x"2780dc38",
+877 => x"7b707084",
+878 => x"05520880",
+879 => x"08708405",
+880 => x"800c0c80",
+881 => x"08717084",
+882 => x"0553085d",
+883 => x"567b7670",
+884 => x"8405580c",
+885 => x"579b7827",
+886 => x"b6387670",
+887 => x"84055808",
+888 => x"75708405",
+889 => x"570c7670",
+890 => x"84055808",
+891 => x"75708405",
+892 => x"570ca378",
+893 => x"27993876",
+894 => x"70840558",
+895 => x"08757084",
+896 => x"05570c76",
+897 => x"70840558",
+898 => x"08757084",
+899 => x"05570c76",
+900 => x"70840558",
+901 => x"08775e75",
+902 => x"70840557",
+903 => x"0c747d70",
+904 => x"84055f08",
+905 => x"71708405",
+906 => x"530c7d08",
+907 => x"710c5f7b",
+908 => x"5261518e",
+909 => x"943f6151",
+910 => x"a4f33f79",
+911 => x"800c933d",
+912 => x"0d047d52",
+913 => x"61519690",
+914 => x"3f800880",
+915 => x"0c933d0d",
+916 => x"04841608",
+917 => x"55fbc939",
+918 => x"77537b52",
+919 => x"800851a2",
+920 => x"a53f7b52",
+921 => x"61518de1",
+922 => x"3fcc398c",
+923 => x"16088817",
+924 => x"08718c12",
+925 => x"0c88120c",
+926 => x"5d8c1708",
+927 => x"88180871",
+928 => x"8c120c88",
+929 => x"120c5977",
+930 => x"59fbef39",
+931 => x"7818901c",
+932 => x"40557e75",
+933 => x"24fb9c38",
+934 => x"7a177080",
+935 => x"d7a80b88",
+936 => x"050c757c",
+937 => x"31810784",
+938 => x"120c5684",
+939 => x"17088106",
+940 => x"7b078418",
+941 => x"0c6151a3",
+942 => x"f43f8817",
+943 => x"54fce139",
+944 => x"74181990",
+945 => x"1c5e5a7c",
+946 => x"7a24fb8f",
+947 => x"388c1708",
+948 => x"88180871",
+949 => x"8c120c88",
+950 => x"120c5e88",
+951 => x"1761fc05",
+952 => x"575975a4",
+953 => x"2681b638",
+954 => x"7b795955",
+955 => x"93762780",
+956 => x"c9387b70",
+957 => x"84055d08",
+958 => x"7c56790c",
+959 => x"74708405",
+960 => x"56088c18",
+961 => x"0c901758",
+962 => x"9b7627ae",
+963 => x"38747084",
+964 => x"05560878",
+965 => x"0c747084",
+966 => x"05560894",
+967 => x"180c9817",
+968 => x"58a37627",
+969 => x"95387470",
+970 => x"84055608",
+971 => x"780c7470",
+972 => x"84055608",
+973 => x"9c180ca0",
+974 => x"17587470",
+975 => x"84055608",
+976 => x"75417870",
+977 => x"84055a0c",
+978 => x"77607084",
+979 => x"05420871",
+980 => x"70840553",
+981 => x"0c600871",
+982 => x"0c5e7a17",
+983 => x"7080d7a8",
+984 => x"0b88050c",
+985 => x"7a7c3181",
+986 => x"0784120c",
+987 => x"58841708",
+988 => x"81067b07",
+989 => x"84180c61",
+990 => x"51a2b23f",
+991 => x"78547380",
+992 => x"0c933d0d",
+993 => x"0479537b",
+994 => x"5275519f",
+995 => x"f93ffae9",
+996 => x"39841508",
+997 => x"fc061960",
+998 => x"5859fadd",
+999 => x"3975537b",
+1000 => x"5278519f",
+1001 => x"e13f7a17",
+1002 => x"7080d7a8",
+1003 => x"0b88050c",
+1004 => x"7a7c3181",
+1005 => x"0784120c",
+1006 => x"58841708",
+1007 => x"81067b07",
+1008 => x"84180c61",
+1009 => x"51a1e63f",
+1010 => x"7854ffb2",
+1011 => x"39fa3d0d",
+1012 => x"7880cfec",
+1013 => x"085455b8",
+1014 => x"1308802e",
+1015 => x"81af388c",
+1016 => x"15227083",
+1017 => x"ffff0670",
+1018 => x"832a8132",
+1019 => x"81065555",
+1020 => x"5672802e",
+1021 => x"80da3873",
+1022 => x"842a8132",
+1023 => x"810657ff",
+1024 => x"537680f2",
+1025 => x"3873822a",
+1026 => x"81065473",
+1027 => x"802eb938",
+1028 => x"b0150854",
+1029 => x"73802e9c",
+1030 => x"3880c015",
+1031 => x"5373732e",
+1032 => x"8f387352",
+1033 => x"80cfec08",
+1034 => x"518a9e3f",
+1035 => x"8c152256",
+1036 => x"76b0160c",
+1037 => x"75db0657",
+1038 => x"768c1623",
+1039 => x"800b8416",
+1040 => x"0c901508",
+1041 => x"750c7656",
+1042 => x"75880754",
+1043 => x"738c1623",
+1044 => x"90150880",
+1045 => x"2ebf388c",
+1046 => x"15227081",
+1047 => x"06555373",
+1048 => x"9c38720a",
+1049 => x"100a8106",
+1050 => x"56758538",
+1051 => x"94150854",
+1052 => x"7388160c",
+1053 => x"80537280",
+1054 => x"0c883d0d",
+1055 => x"04800b88",
+1056 => x"160c9415",
+1057 => x"08309816",
+1058 => x"0c8053ea",
+1059 => x"39725182",
+1060 => x"a63ffecb",
+1061 => x"3974518f",
+1062 => x"bc3f8c15",
+1063 => x"22708106",
+1064 => x"55537380",
+1065 => x"2effbb38",
+1066 => x"d439f83d",
+1067 => x"0d7a5776",
+1068 => x"802e8197",
+1069 => x"3880cfec",
+1070 => x"0854b814",
+1071 => x"08802e80",
+1072 => x"eb388c17",
+1073 => x"2270902b",
+1074 => x"70902c70",
+1075 => x"832a8132",
+1076 => x"81065b5b",
+1077 => x"57557780",
+1078 => x"cb389017",
+1079 => x"08567580",
+1080 => x"2e80c138",
+1081 => x"76087631",
+1082 => x"76780c79",
+1083 => x"83065555",
+1084 => x"73853894",
+1085 => x"17085877",
+1086 => x"88180c80",
+1087 => x"7525a538",
+1088 => x"74537552",
+1089 => x"9c170851",
+1090 => x"a4170854",
+1091 => x"732d800b",
+1092 => x"80082580",
+1093 => x"c9388008",
+1094 => x"16758008",
+1095 => x"31565674",
+1096 => x"8024dd38",
+1097 => x"800b800c",
+1098 => x"8a3d0d04",
+1099 => x"73518187",
+1100 => x"3f8c1722",
+1101 => x"70902b70",
+1102 => x"902c7083",
+1103 => x"2a813281",
+1104 => x"065b5b57",
+1105 => x"5577dd38",
+1106 => x"ff9039a1",
+1107 => x"aa5280cf",
+1108 => x"ec08518c",
+1109 => x"d03f8008",
+1110 => x"800c8a3d",
+1111 => x"0d048c17",
+1112 => x"2280c007",
+1113 => x"58778c18",
+1114 => x"23ff0b80",
+1115 => x"0c8a3d0d",
+1116 => x"04fa3d0d",
+1117 => x"797080dc",
+1118 => x"298c1154",
+1119 => x"7a535657",
+1120 => x"8fd63f80",
+1121 => x"08800855",
+1122 => x"56800880",
+1123 => x"2ea23880",
+1124 => x"088c0554",
+1125 => x"800b8008",
+1126 => x"0c768008",
+1127 => x"84050c73",
+1128 => x"80088805",
+1129 => x"0c745380",
+1130 => x"5273519c",
+1131 => x"f53f7554",
+1132 => x"73800c88",
+1133 => x"3d0d0470",
+1134 => x"707074a8",
+1135 => x"f60bbc12",
+1136 => x"0c53810b",
+1137 => x"b8140c80",
+1138 => x"0b84dc14",
+1139 => x"0c830b84",
+1140 => x"e0140c84",
+1141 => x"e81384e4",
+1142 => x"140c8413",
+1143 => x"08518070",
+1144 => x"720c7084",
+1145 => x"130c7088",
+1146 => x"130c5284",
+1147 => x"0b8c1223",
+1148 => x"718e1223",
+1149 => x"7190120c",
+1150 => x"7194120c",
+1151 => x"7198120c",
+1152 => x"709c120c",
+1153 => x"80c1e50b",
+1154 => x"a0120c80",
+1155 => x"c2b10ba4",
+1156 => x"120c80c3",
+1157 => x"ad0ba812",
+1158 => x"0c80c3fe",
+1159 => x"0bac120c",
+1160 => x"88130872",
+1161 => x"710c7284",
+1162 => x"120c7288",
+1163 => x"120c5189",
+1164 => x"0b8c1223",
+1165 => x"810b8e12",
+1166 => x"23719012",
+1167 => x"0c719412",
+1168 => x"0c719812",
+1169 => x"0c709c12",
+1170 => x"0c80c1e5",
+1171 => x"0ba0120c",
+1172 => x"80c2b10b",
+1173 => x"a4120c80",
+1174 => x"c3ad0ba8",
+1175 => x"120c80c3",
+1176 => x"fe0bac12",
+1177 => x"0c8c1308",
+1178 => x"72710c72",
+1179 => x"84120c72",
+1180 => x"88120c51",
+1181 => x"8a0b8c12",
+1182 => x"23820b8e",
+1183 => x"12237190",
+1184 => x"120c7194",
+1185 => x"120c7198",
+1186 => x"120c709c",
+1187 => x"120c80c1",
+1188 => x"e50ba012",
+1189 => x"0c80c2b1",
+1190 => x"0ba4120c",
+1191 => x"80c3ad0b",
+1192 => x"a8120c80",
+1193 => x"c3fe0bac",
+1194 => x"120c5050",
+1195 => x"5004f83d",
+1196 => x"0d7a80cf",
+1197 => x"ec08b811",
+1198 => x"08575758",
+1199 => x"7481ec38",
+1200 => x"a8f60bbc",
+1201 => x"170c810b",
+1202 => x"b8170c74",
+1203 => x"84dc170c",
+1204 => x"830b84e0",
+1205 => x"170c84e8",
+1206 => x"1684e417",
+1207 => x"0c841608",
+1208 => x"75710c75",
+1209 => x"84120c75",
+1210 => x"88120c59",
+1211 => x"840b8c1a",
+1212 => x"23748e1a",
+1213 => x"2374901a",
+1214 => x"0c74941a",
+1215 => x"0c74981a",
+1216 => x"0c789c1a",
+1217 => x"0c80c1e5",
+1218 => x"0ba01a0c",
+1219 => x"80c2b10b",
+1220 => x"a41a0c80",
+1221 => x"c3ad0ba8",
+1222 => x"1a0c80c3",
+1223 => x"fe0bac1a",
+1224 => x"0c881608",
+1225 => x"75710c75",
+1226 => x"84120c75",
+1227 => x"88120c57",
+1228 => x"890b8c18",
+1229 => x"23810b8e",
+1230 => x"18237490",
+1231 => x"180c7494",
+1232 => x"180c7498",
+1233 => x"180c769c",
+1234 => x"180c80c1",
+1235 => x"e50ba018",
+1236 => x"0c80c2b1",
+1237 => x"0ba4180c",
+1238 => x"80c3ad0b",
+1239 => x"a8180c80",
+1240 => x"c3fe0bac",
+1241 => x"180c8c16",
+1242 => x"0875710c",
+1243 => x"7584120c",
+1244 => x"7588120c",
+1245 => x"548a0b8c",
+1246 => x"1523820b",
+1247 => x"8e152374",
+1248 => x"90150c74",
+1249 => x"94150c74",
+1250 => x"98150c73",
+1251 => x"9c150c80",
+1252 => x"c1e50ba0",
+1253 => x"150c80c2",
+1254 => x"b10ba415",
+1255 => x"0c80c3ad",
+1256 => x"0ba8150c",
+1257 => x"80c3fe0b",
+1258 => x"ac150c84",
+1259 => x"dc168811",
+1260 => x"08841208",
+1261 => x"ff055757",
+1262 => x"57807524",
+1263 => x"9f388c16",
+1264 => x"2270902b",
+1265 => x"70902c51",
+1266 => x"55597380",
+1267 => x"2e80ed38",
+1268 => x"80dc16ff",
+1269 => x"16565674",
+1270 => x"8025e338",
+1271 => x"76085574",
+1272 => x"802e8f38",
+1273 => x"74881108",
+1274 => x"841208ff",
+1275 => x"05575757",
+1276 => x"c83982fc",
+1277 => x"5277518a",
+1278 => x"df3f8008",
+1279 => x"80085556",
+1280 => x"8008802e",
+1281 => x"a3388008",
+1282 => x"8c057580",
+1283 => x"080c5484",
+1284 => x"0b800884",
+1285 => x"050c7380",
+1286 => x"0888050c",
+1287 => x"82f05374",
+1288 => x"52735197",
+1289 => x"fd3f7554",
+1290 => x"7374780c",
+1291 => x"5573ffb4",
+1292 => x"388c780c",
+1293 => x"800b800c",
+1294 => x"8a3d0d04",
+1295 => x"810b8c17",
+1296 => x"2373760c",
+1297 => x"7388170c",
+1298 => x"7384170c",
+1299 => x"7390170c",
+1300 => x"7394170c",
+1301 => x"7398170c",
+1302 => x"ff0b8e17",
+1303 => x"2373b017",
+1304 => x"0c73b417",
+1305 => x"0c7380c4",
+1306 => x"170c7380",
+1307 => x"c8170c75",
+1308 => x"800c8a3d",
+1309 => x"0d047070",
+1310 => x"a1aa5273",
+1311 => x"5186a63f",
+1312 => x"50500470",
+1313 => x"70a1aa52",
+1314 => x"80cfec08",
+1315 => x"5186963f",
+1316 => x"505004fb",
+1317 => x"3d0d7770",
+1318 => x"52569890",
+1319 => x"3f80d7a8",
+1320 => x"0b880508",
+1321 => x"841108fc",
+1322 => x"06707b31",
+1323 => x"9fef05e0",
+1324 => x"8006e080",
+1325 => x"05525555",
+1326 => x"a0807524",
+1327 => x"94388052",
+1328 => x"755197ea",
+1329 => x"3f80d7b0",
+1330 => x"08145372",
+1331 => x"80082e8f",
+1332 => x"38755197",
+1333 => x"d83f8053",
+1334 => x"72800c87",
+1335 => x"3d0d0474",
+1336 => x"30527551",
+1337 => x"97c83f80",
+1338 => x"08ff2ea8",
+1339 => x"3880d7a8",
+1340 => x"0b880508",
+1341 => x"74763181",
+1342 => x"0784120c",
+1343 => x"5380d6ec",
+1344 => x"08753180",
+1345 => x"d6ec0c75",
+1346 => x"5197a23f",
+1347 => x"810b800c",
+1348 => x"873d0d04",
+1349 => x"80527551",
+1350 => x"97943f80",
+1351 => x"d7a80b88",
+1352 => x"05088008",
+1353 => x"71315454",
+1354 => x"8f7325ff",
+1355 => x"a4388008",
+1356 => x"80d79c08",
+1357 => x"3180d6ec",
+1358 => x"0c728107",
+1359 => x"84150c75",
+1360 => x"5196ea3f",
+1361 => x"8053ff90",
+1362 => x"39f73d0d",
+1363 => x"7b7d545a",
+1364 => x"72802e82",
+1365 => x"83387951",
+1366 => x"96d23ff8",
+1367 => x"13841108",
+1368 => x"70fe0670",
+1369 => x"13841108",
+1370 => x"fc065c57",
+1371 => x"58545780",
+1372 => x"d7b00874",
+1373 => x"2e82de38",
+1374 => x"7784150c",
+1375 => x"80738106",
+1376 => x"56597479",
+1377 => x"2e81d538",
+1378 => x"77148411",
+1379 => x"08810656",
+1380 => x"5374a038",
+1381 => x"77165678",
+1382 => x"81e63888",
+1383 => x"14085574",
+1384 => x"80d7b02e",
+1385 => x"82f9388c",
+1386 => x"1408708c",
+1387 => x"170c7588",
+1388 => x"120c5875",
+1389 => x"81078418",
+1390 => x"0c751776",
+1391 => x"710c5478",
+1392 => x"81913883",
+1393 => x"ff762781",
+1394 => x"c8387589",
+1395 => x"2a76832a",
+1396 => x"54547380",
+1397 => x"2ebf3875",
+1398 => x"862ab805",
+1399 => x"53847427",
+1400 => x"b43880db",
+1401 => x"14539474",
+1402 => x"27ab3875",
+1403 => x"8c2a80ee",
+1404 => x"055380d4",
+1405 => x"74279e38",
+1406 => x"758f2a80",
+1407 => x"f7055382",
+1408 => x"d4742791",
+1409 => x"3875922a",
+1410 => x"80fc0553",
+1411 => x"8ad47427",
+1412 => x"843880fe",
+1413 => x"53721010",
+1414 => x"1080d7a8",
+1415 => x"05881108",
+1416 => x"55557375",
+1417 => x"2e82bf38",
+1418 => x"841408fc",
+1419 => x"06597579",
+1420 => x"278d3888",
+1421 => x"14085473",
+1422 => x"752e0981",
+1423 => x"06ea388c",
+1424 => x"1408708c",
+1425 => x"190c7488",
+1426 => x"190c7788",
+1427 => x"120c5576",
+1428 => x"8c150c79",
+1429 => x"5194d63f",
+1430 => x"8b3d0d04",
+1431 => x"76087771",
+1432 => x"31587605",
+1433 => x"88180856",
+1434 => x"567480d7",
+1435 => x"b02e80e0",
+1436 => x"388c1708",
+1437 => x"708c170c",
+1438 => x"7588120c",
+1439 => x"53fe8939",
+1440 => x"8814088c",
+1441 => x"1508708c",
+1442 => x"130c5988",
+1443 => x"190cfea3",
+1444 => x"3975832a",
+1445 => x"70545480",
+1446 => x"74248198",
+1447 => x"3872822c",
+1448 => x"81712b80",
+1449 => x"d7ac0807",
+1450 => x"80d7a80b",
+1451 => x"84050c74",
+1452 => x"10101080",
+1453 => x"d7a80588",
+1454 => x"1108718c",
+1455 => x"1b0c7088",
+1456 => x"1b0c7988",
+1457 => x"130c565a",
+1458 => x"55768c15",
+1459 => x"0cff8439",
+1460 => x"8159fdb4",
+1461 => x"39771673",
+1462 => x"81065455",
+1463 => x"72983876",
+1464 => x"08777131",
+1465 => x"5875058c",
+1466 => x"18088819",
+1467 => x"08718c12",
+1468 => x"0c88120c",
+1469 => x"55557481",
+1470 => x"0784180c",
+1471 => x"7680d7a8",
+1472 => x"0b88050c",
+1473 => x"80d7a408",
+1474 => x"7526fec7",
+1475 => x"3880d7a0",
+1476 => x"08527951",
+1477 => x"fafd3f79",
+1478 => x"5193923f",
+1479 => x"feba3981",
+1480 => x"778c170c",
+1481 => x"7788170c",
+1482 => x"758c190c",
+1483 => x"7588190c",
+1484 => x"59fd8039",
+1485 => x"83147082",
+1486 => x"2c81712b",
+1487 => x"80d7ac08",
+1488 => x"0780d7a8",
+1489 => x"0b84050c",
+1490 => x"75101010",
+1491 => x"80d7a805",
+1492 => x"88110871",
+1493 => x"8c1c0c70",
+1494 => x"881c0c7a",
+1495 => x"88130c57",
+1496 => x"5b5653fe",
+1497 => x"e4398073",
+1498 => x"24a33872",
+1499 => x"822c8171",
+1500 => x"2b80d7ac",
+1501 => x"080780d7",
+1502 => x"a80b8405",
+1503 => x"0c58748c",
+1504 => x"180c7388",
+1505 => x"180c7688",
+1506 => x"160cfdc3",
+1507 => x"39831370",
+1508 => x"822c8171",
+1509 => x"2b80d7ac",
+1510 => x"080780d7",
+1511 => x"a80b8405",
+1512 => x"0c5953da",
+1513 => x"39f93d0d",
+1514 => x"797b5853",
+1515 => x"800b80cf",
+1516 => x"ec085356",
+1517 => x"72722ebc",
+1518 => x"3884dc13",
+1519 => x"5574762e",
+1520 => x"b3388815",
+1521 => x"08841608",
+1522 => x"ff055454",
+1523 => x"80732499",
+1524 => x"388c1422",
+1525 => x"70902b53",
+1526 => x"587180d4",
+1527 => x"3880dc14",
+1528 => x"ff145454",
+1529 => x"728025e9",
+1530 => x"38740855",
+1531 => x"74d43880",
+1532 => x"cfec0852",
+1533 => x"84dc1255",
+1534 => x"74802ead",
+1535 => x"38881508",
+1536 => x"841608ff",
+1537 => x"05545480",
+1538 => x"73249838",
+1539 => x"8c142270",
+1540 => x"902b5358",
+1541 => x"71ad3880",
+1542 => x"dc14ff14",
+1543 => x"54547280",
+1544 => x"25ea3874",
+1545 => x"085574d5",
+1546 => x"3875800c",
+1547 => x"893d0d04",
+1548 => x"7351762d",
+1549 => x"75800807",
+1550 => x"80dc15ff",
+1551 => x"15555556",
+1552 => x"ffa23973",
+1553 => x"51762d75",
+1554 => x"80080780",
+1555 => x"dc15ff15",
+1556 => x"555556ca",
+1557 => x"39ea3d0d",
+1558 => x"688c1122",
+1559 => x"700a100a",
+1560 => x"81065758",
+1561 => x"567480e4",
+1562 => x"388e1622",
+1563 => x"70902b70",
+1564 => x"902c5155",
+1565 => x"58807424",
+1566 => x"b138983d",
+1567 => x"c4055373",
+1568 => x"5280cfec",
+1569 => x"08519481",
+1570 => x"3f800b80",
+1571 => x"08249738",
+1572 => x"7983e080",
+1573 => x"06547380",
+1574 => x"c0802e81",
+1575 => x"8f387382",
+1576 => x"80802e81",
+1577 => x"91388c16",
+1578 => x"22577690",
+1579 => x"80075473",
+1580 => x"8c172388",
+1581 => x"805280cf",
+1582 => x"ec085181",
+1583 => x"9b3f8008",
+1584 => x"9d388c16",
+1585 => x"22820755",
+1586 => x"748c1723",
+1587 => x"80c31670",
+1588 => x"770c9017",
+1589 => x"0c810b94",
+1590 => x"170c983d",
+1591 => x"0d0480cf",
+1592 => x"ec08a8f6",
+1593 => x"0bbc120c",
+1594 => x"588c1622",
+1595 => x"81800754",
+1596 => x"738c1723",
+1597 => x"8008760c",
+1598 => x"80089017",
+1599 => x"0c88800b",
+1600 => x"94170c74",
+1601 => x"802ed338",
+1602 => x"8e162270",
+1603 => x"902b7090",
+1604 => x"2c535654",
+1605 => x"9afb3f80",
+1606 => x"08802eff",
+1607 => x"bd388c16",
+1608 => x"22810757",
+1609 => x"768c1723",
+1610 => x"983d0d04",
+1611 => x"810b8c17",
+1612 => x"225855fe",
+1613 => x"f539a816",
+1614 => x"0880c3ad",
+1615 => x"2e098106",
+1616 => x"fee4388c",
+1617 => x"16228880",
+1618 => x"0754738c",
+1619 => x"17238880",
+1620 => x"0b80cc17",
+1621 => x"0cfedc39",
+1622 => x"f43d0d7e",
+1623 => x"608b1170",
+1624 => x"f8065b55",
+1625 => x"555d7296",
+1626 => x"26833890",
+1627 => x"58807824",
+1628 => x"74792607",
+1629 => x"55805474",
+1630 => x"742e0981",
+1631 => x"0680ca38",
+1632 => x"7c518ea8",
+1633 => x"3f7783f7",
+1634 => x"2680c538",
+1635 => x"77832a70",
+1636 => x"10101080",
+1637 => x"d7a8058c",
+1638 => x"11085858",
+1639 => x"5475772e",
+1640 => x"81f03884",
+1641 => x"1608fc06",
+1642 => x"8c170888",
+1643 => x"1808718c",
+1644 => x"120c8812",
+1645 => x"0c5b7605",
+1646 => x"84110881",
+1647 => x"0784120c",
+1648 => x"537c518d",
+1649 => x"e83f8816",
+1650 => x"5473800c",
+1651 => x"8e3d0d04",
+1652 => x"77892a78",
+1653 => x"832a5854",
+1654 => x"73802ebf",
+1655 => x"3877862a",
+1656 => x"b8055784",
+1657 => x"7427b438",
+1658 => x"80db1457",
+1659 => x"947427ab",
+1660 => x"38778c2a",
+1661 => x"80ee0557",
+1662 => x"80d47427",
+1663 => x"9e38778f",
+1664 => x"2a80f705",
+1665 => x"5782d474",
+1666 => x"27913877",
+1667 => x"922a80fc",
+1668 => x"05578ad4",
+1669 => x"74278438",
+1670 => x"80fe5776",
+1671 => x"10101080",
+1672 => x"d7a8058c",
+1673 => x"11085653",
+1674 => x"74732ea3",
+1675 => x"38841508",
+1676 => x"fc067079",
+1677 => x"31555673",
+1678 => x"8f2488e4",
+1679 => x"38738025",
+1680 => x"88e6388c",
+1681 => x"15085574",
+1682 => x"732e0981",
+1683 => x"06df3881",
+1684 => x"175980d7",
+1685 => x"b8085675",
+1686 => x"80d7b02e",
+1687 => x"82cc3884",
+1688 => x"1608fc06",
+1689 => x"70793155",
+1690 => x"55738f24",
+1691 => x"bb3880d7",
+1692 => x"b00b80d7",
+1693 => x"bc0c80d7",
+1694 => x"b00b80d7",
+1695 => x"b80c8074",
+1696 => x"2480db38",
+1697 => x"74168411",
+1698 => x"08810784",
+1699 => x"120c53fe",
+1700 => x"b0398816",
+1701 => x"8c110857",
+1702 => x"5975792e",
+1703 => x"098106fe",
+1704 => x"82388214",
+1705 => x"59ffab39",
+1706 => x"77167881",
+1707 => x"0784180c",
+1708 => x"7080d7bc",
+1709 => x"0c7080d7",
+1710 => x"b80c80d7",
+1711 => x"b00b8c12",
+1712 => x"0c8c1108",
+1713 => x"88120c74",
+1714 => x"81078412",
+1715 => x"0c740574",
+1716 => x"710c5b7c",
+1717 => x"518bd63f",
+1718 => x"881654fd",
+1719 => x"ec3983ff",
+1720 => x"75278391",
+1721 => x"3874892a",
+1722 => x"75832a54",
+1723 => x"5473802e",
+1724 => x"bf387486",
+1725 => x"2ab80553",
+1726 => x"847427b4",
+1727 => x"3880db14",
+1728 => x"53947427",
+1729 => x"ab38748c",
+1730 => x"2a80ee05",
+1731 => x"5380d474",
+1732 => x"279e3874",
+1733 => x"8f2a80f7",
+1734 => x"055382d4",
+1735 => x"74279138",
+1736 => x"74922a80",
+1737 => x"fc05538a",
+1738 => x"d4742784",
+1739 => x"3880fe53",
+1740 => x"72101010",
+1741 => x"80d7a805",
+1742 => x"88110855",
+1743 => x"5773772e",
+1744 => x"868b3884",
+1745 => x"1408fc06",
+1746 => x"5b747b27",
+1747 => x"8d388814",
+1748 => x"08547377",
+1749 => x"2e098106",
+1750 => x"ea388c14",
+1751 => x"0880d7a8",
+1752 => x"0b840508",
+1753 => x"718c190c",
+1754 => x"7588190c",
+1755 => x"7788130c",
+1756 => x"5c57758c",
+1757 => x"150c7853",
+1758 => x"80792483",
+1759 => x"98387282",
+1760 => x"2c81712b",
+1761 => x"5656747b",
+1762 => x"2680ca38",
+1763 => x"7a750657",
+1764 => x"7682a338",
+1765 => x"78fc0684",
+1766 => x"05597410",
+1767 => x"707c0655",
+1768 => x"55738292",
+1769 => x"38841959",
+1770 => x"f13980d7",
+1771 => x"a80b8405",
+1772 => x"0879545b",
+1773 => x"788025c6",
+1774 => x"3882da39",
+1775 => x"74097b06",
+1776 => x"7080d7a8",
+1777 => x"0b84050c",
+1778 => x"5b741055",
+1779 => x"747b2685",
+1780 => x"387485bc",
+1781 => x"3880d7a8",
+1782 => x"0b880508",
+1783 => x"70841208",
+1784 => x"fc06707b",
+1785 => x"317b7226",
+1786 => x"8f722507",
+1787 => x"5d575c5c",
+1788 => x"5578802e",
+1789 => x"80d93879",
+1790 => x"1580d7a0",
+1791 => x"08199011",
+1792 => x"59545680",
+1793 => x"d79c08ff",
+1794 => x"2e8838a0",
+1795 => x"8f13e080",
+1796 => x"06577652",
+1797 => x"7c518996",
+1798 => x"3f800854",
+1799 => x"8008ff2e",
+1800 => x"90388008",
+1801 => x"762782a7",
+1802 => x"387480d7",
+1803 => x"a82e829f",
+1804 => x"3880d7a8",
+1805 => x"0b880508",
+1806 => x"55841508",
+1807 => x"fc067079",
+1808 => x"31797226",
+1809 => x"8f722507",
+1810 => x"5d555a7a",
+1811 => x"83f23877",
+1812 => x"81078416",
+1813 => x"0c771570",
+1814 => x"80d7a80b",
+1815 => x"88050c74",
+1816 => x"81078412",
+1817 => x"0c567c51",
+1818 => x"88c33f88",
+1819 => x"15547380",
+1820 => x"0c8e3d0d",
+1821 => x"0474832a",
+1822 => x"70545480",
+1823 => x"7424819b",
+1824 => x"3872822c",
+1825 => x"81712b80",
+1826 => x"d7ac0807",
+1827 => x"7080d7a8",
+1828 => x"0b84050c",
+1829 => x"75101010",
+1830 => x"80d7a805",
+1831 => x"88110871",
+1832 => x"8c1b0c70",
+1833 => x"881b0c79",
+1834 => x"88130c57",
+1835 => x"555c5575",
+1836 => x"8c150cfd",
+1837 => x"c1397879",
+1838 => x"10101080",
+1839 => x"d7a80570",
+1840 => x"565b5c8c",
+1841 => x"14085675",
+1842 => x"742ea338",
+1843 => x"841608fc",
+1844 => x"06707931",
+1845 => x"5853768f",
+1846 => x"2483f138",
+1847 => x"76802584",
+1848 => x"af388c16",
+1849 => x"08567574",
+1850 => x"2e098106",
+1851 => x"df388814",
+1852 => x"811a7083",
+1853 => x"06555a54",
+1854 => x"72c9387b",
+1855 => x"83065675",
+1856 => x"802efdb8",
+1857 => x"38ff1cf8",
+1858 => x"1b5b5c88",
+1859 => x"1a087a2e",
+1860 => x"ea38fdb5",
+1861 => x"39831953",
+1862 => x"fce43983",
+1863 => x"1470822c",
+1864 => x"81712b80",
+1865 => x"d7ac0807",
+1866 => x"7080d7a8",
+1867 => x"0b84050c",
+1868 => x"76101010",
+1869 => x"80d7a805",
+1870 => x"88110871",
+1871 => x"8c1c0c70",
+1872 => x"881c0c7a",
+1873 => x"88130c58",
+1874 => x"535d5653",
+1875 => x"fee13980",
+1876 => x"d6ec0817",
+1877 => x"59800876",
+1878 => x"2e818b38",
+1879 => x"80d79c08",
+1880 => x"ff2e848e",
+1881 => x"38737631",
+1882 => x"1980d6ec",
+1883 => x"0c738706",
+1884 => x"70565372",
+1885 => x"802e8838",
+1886 => x"88733170",
+1887 => x"15555576",
+1888 => x"149fff06",
+1889 => x"a0807131",
+1890 => x"1670547e",
+1891 => x"53515386",
+1892 => x"9d3f8008",
+1893 => x"568008ff",
+1894 => x"2e819e38",
+1895 => x"80d6ec08",
+1896 => x"137080d6",
+1897 => x"ec0c7475",
+1898 => x"80d7a80b",
+1899 => x"88050c77",
+1900 => x"76311581",
+1901 => x"07555659",
+1902 => x"7a80d7a8",
+1903 => x"2e83c038",
+1904 => x"798f2682",
+1905 => x"ef38810b",
+1906 => x"84150c84",
+1907 => x"1508fc06",
+1908 => x"70793179",
+1909 => x"72268f72",
+1910 => x"25075d55",
+1911 => x"5a7a802e",
+1912 => x"fced3880",
+1913 => x"db398008",
+1914 => x"9fff0655",
+1915 => x"74feed38",
+1916 => x"7880d6ec",
+1917 => x"0c80d7a8",
+1918 => x"0b880508",
+1919 => x"7a188107",
+1920 => x"84120c55",
+1921 => x"80d79808",
+1922 => x"79278638",
+1923 => x"7880d798",
+1924 => x"0c80d794",
+1925 => x"087927fc",
+1926 => x"a0387880",
+1927 => x"d7940c84",
+1928 => x"1508fc06",
+1929 => x"70793179",
+1930 => x"72268f72",
+1931 => x"25075d55",
+1932 => x"5a7a802e",
+1933 => x"fc993888",
+1934 => x"39807457",
+1935 => x"53fedd39",
+1936 => x"7c5184e9",
+1937 => x"3f800b80",
+1938 => x"0c8e3d0d",
+1939 => x"04807324",
+1940 => x"a5387282",
+1941 => x"2c81712b",
+1942 => x"80d7ac08",
+1943 => x"077080d7",
+1944 => x"a80b8405",
+1945 => x"0c5c5a76",
+1946 => x"8c170c73",
+1947 => x"88170c75",
+1948 => x"88180cf9",
+1949 => x"fd398313",
+1950 => x"70822c81",
+1951 => x"712b80d7",
+1952 => x"ac080770",
+1953 => x"80d7a80b",
+1954 => x"84050c5d",
+1955 => x"5b53d839",
+1956 => x"7a75065c",
+1957 => x"7bfc9f38",
+1958 => x"84197510",
+1959 => x"5659f139",
+1960 => x"ff178105",
+1961 => x"59f7ab39",
+1962 => x"8c150888",
+1963 => x"1608718c",
+1964 => x"120c8812",
+1965 => x"0c597515",
+1966 => x"84110881",
+1967 => x"0784120c",
+1968 => x"587c5183",
+1969 => x"e83f8815",
+1970 => x"54fba339",
+1971 => x"77167881",
+1972 => x"0784180c",
+1973 => x"8c170888",
+1974 => x"1808718c",
+1975 => x"120c8812",
+1976 => x"0c5c7080",
+1977 => x"d7bc0c70",
+1978 => x"80d7b80c",
+1979 => x"80d7b00b",
+1980 => x"8c120c8c",
+1981 => x"11088812",
+1982 => x"0c778107",
+1983 => x"84120c77",
+1984 => x"0577710c",
+1985 => x"557c5183",
+1986 => x"a43f8816",
+1987 => x"54f5ba39",
+1988 => x"72168411",
+1989 => x"08810784",
+1990 => x"120c588c",
+1991 => x"16088817",
+1992 => x"08718c12",
+1993 => x"0c88120c",
+1994 => x"577c5183",
+1995 => x"803f8816",
+1996 => x"54f59639",
+1997 => x"7284150c",
+1998 => x"f41af806",
+1999 => x"70841d08",
+2000 => x"81060784",
+2001 => x"1d0c701c",
+2002 => x"5556850b",
+2003 => x"84150c85",
+2004 => x"0b88150c",
+2005 => x"8f7627fd",
+2006 => x"ab38881b",
+2007 => x"527c51eb",
+2008 => x"e83f80d7",
+2009 => x"a80b8805",
+2010 => x"0880d6ec",
+2011 => x"085a55fd",
+2012 => x"93397880",
+2013 => x"d6ec0c73",
+2014 => x"80d79c0c",
+2015 => x"fbef3972",
+2016 => x"84150cfc",
+2017 => x"ff39fb3d",
+2018 => x"0d77707a",
+2019 => x"7c585553",
+2020 => x"568f7527",
+2021 => x"80e63872",
+2022 => x"76078306",
+2023 => x"517080dc",
+2024 => x"38757352",
+2025 => x"54707084",
+2026 => x"05520874",
+2027 => x"70840556",
+2028 => x"0c737170",
+2029 => x"84055308",
+2030 => x"71708405",
+2031 => x"530c7170",
+2032 => x"84055308",
+2033 => x"71708405",
+2034 => x"530c7170",
+2035 => x"84055308",
+2036 => x"71708405",
+2037 => x"530cf016",
+2038 => x"5654748f",
+2039 => x"26c73883",
+2040 => x"75279538",
+2041 => x"70708405",
+2042 => x"52087470",
+2043 => x"8405560c",
+2044 => x"fc155574",
+2045 => x"8326ed38",
+2046 => x"73715452",
+2047 => x"ff155170",
+2048 => x"ff2e9838",
+2049 => x"72708105",
+2050 => x"54337270",
+2051 => x"81055434",
+2052 => x"ff115170",
+2053 => x"ff2e0981",
+2054 => x"06ea3875",
+2055 => x"800c873d",
+2056 => x"0d04fb3d",
+2057 => x"0d777a71",
+2058 => x"028c05a3",
+2059 => x"05335854",
+2060 => x"54568373",
+2061 => x"2780d438",
+2062 => x"75830651",
+2063 => x"7080cc38",
+2064 => x"74882b75",
+2065 => x"07707190",
+2066 => x"2b075551",
+2067 => x"8f7327a7",
+2068 => x"38737270",
+2069 => x"8405540c",
+2070 => x"71747170",
+2071 => x"8405530c",
+2072 => x"74717084",
+2073 => x"05530c74",
+2074 => x"71708405",
+2075 => x"530cf014",
+2076 => x"5452728f",
+2077 => x"26db3883",
+2078 => x"73279038",
+2079 => x"73727084",
+2080 => x"05540cfc",
+2081 => x"13537283",
+2082 => x"26f238ff",
+2083 => x"135170ff",
+2084 => x"2e933874",
+2085 => x"72708105",
+2086 => x"5434ff11",
+2087 => x"5170ff2e",
+2088 => x"098106ef",
+2089 => x"3875800c",
+2090 => x"873d0d04",
+2091 => x"04047070",
+2092 => x"7070800b",
+2093 => x"80dfe40c",
+2094 => x"765184f3",
+2095 => x"3f800853",
+2096 => x"8008ff2e",
+2097 => x"89387280",
+2098 => x"0c505050",
+2099 => x"500480df",
+2100 => x"e4085473",
+2101 => x"802eef38",
+2102 => x"7574710c",
+2103 => x"5272800c",
+2104 => x"50505050",
+2105 => x"04f93d0d",
+2106 => x"797c557b",
+2107 => x"548e1122",
+2108 => x"70902b70",
+2109 => x"902c5557",
+2110 => x"80cfec08",
+2111 => x"53585683",
+2112 => x"f63f8008",
+2113 => x"57800b80",
+2114 => x"08249338",
+2115 => x"80d01608",
+2116 => x"80080580",
+2117 => x"d0170c76",
+2118 => x"800c893d",
+2119 => x"0d048c16",
+2120 => x"2283dfff",
+2121 => x"0655748c",
+2122 => x"17237680",
+2123 => x"0c893d0d",
+2124 => x"04fa3d0d",
+2125 => x"788c1122",
+2126 => x"70882a70",
+2127 => x"81065157",
+2128 => x"585674a9",
+2129 => x"388c1622",
+2130 => x"83dfff06",
+2131 => x"55748c17",
+2132 => x"237a5479",
+2133 => x"538e1622",
+2134 => x"70902b70",
+2135 => x"902c5456",
+2136 => x"80cfec08",
+2137 => x"525681b2",
+2138 => x"3f883d0d",
+2139 => x"04825480",
+2140 => x"538e1622",
+2141 => x"70902b70",
+2142 => x"902c5456",
+2143 => x"80cfec08",
+2144 => x"525782bb",
+2145 => x"3f8c1622",
+2146 => x"83dfff06",
+2147 => x"55748c17",
+2148 => x"237a5479",
+2149 => x"538e1622",
+2150 => x"70902b70",
+2151 => x"902c5456",
+2152 => x"80cfec08",
+2153 => x"525680f2",
+2154 => x"3f883d0d",
+2155 => x"04f93d0d",
+2156 => x"797c557b",
+2157 => x"548e1122",
+2158 => x"70902b70",
+2159 => x"902c5557",
+2160 => x"80cfec08",
+2161 => x"53585681",
+2162 => x"f63f8008",
+2163 => x"578008ff",
+2164 => x"2e99388c",
+2165 => x"1622a080",
+2166 => x"0755748c",
+2167 => x"17238008",
+2168 => x"80d0170c",
+2169 => x"76800c89",
+2170 => x"3d0d048c",
+2171 => x"162283df",
+2172 => x"ff065574",
+2173 => x"8c172376",
+2174 => x"800c893d",
+2175 => x"0d047070",
+2176 => x"70748e11",
+2177 => x"2270902b",
+2178 => x"70902c55",
+2179 => x"51515380",
+2180 => x"cfec0851",
+2181 => x"bd3f5050",
+2182 => x"5004fb3d",
+2183 => x"0d800b80",
+2184 => x"dfe40c7a",
+2185 => x"53795278",
+2186 => x"5182fc3f",
+2187 => x"80085580",
+2188 => x"08ff2e88",
+2189 => x"3874800c",
+2190 => x"873d0d04",
+2191 => x"80dfe408",
+2192 => x"5675802e",
+2193 => x"f0387776",
+2194 => x"710c5474",
+2195 => x"800c873d",
+2196 => x"0d047070",
+2197 => x"7070800b",
+2198 => x"80dfe40c",
+2199 => x"765184c9",
+2200 => x"3f800853",
+2201 => x"8008ff2e",
+2202 => x"89387280",
+2203 => x"0c505050",
+2204 => x"500480df",
+2205 => x"e4085473",
+2206 => x"802eef38",
+2207 => x"7574710c",
+2208 => x"5272800c",
+2209 => x"50505050",
+2210 => x"04fc3d0d",
+2211 => x"800b80df",
+2212 => x"e40c7852",
+2213 => x"775187b0",
+2214 => x"3f800854",
+2215 => x"8008ff2e",
+2216 => x"88387380",
+2217 => x"0c863d0d",
+2218 => x"0480dfe4",
+2219 => x"08557480",
+2220 => x"2ef03876",
+2221 => x"75710c53",
+2222 => x"73800c86",
+2223 => x"3d0d04fb",
+2224 => x"3d0d800b",
+2225 => x"80dfe40c",
+2226 => x"7a537952",
+2227 => x"7851848b",
+2228 => x"3f800855",
+2229 => x"8008ff2e",
+2230 => x"88387480",
+2231 => x"0c873d0d",
+2232 => x"0480dfe4",
+2233 => x"08567580",
+2234 => x"2ef03877",
+2235 => x"76710c54",
+2236 => x"74800c87",
+2237 => x"3d0d04fb",
+2238 => x"3d0d800b",
+2239 => x"80dfe40c",
+2240 => x"7a537952",
+2241 => x"78518293",
+2242 => x"3f800855",
+2243 => x"8008ff2e",
+2244 => x"88387480",
+2245 => x"0c873d0d",
+2246 => x"0480dfe4",
+2247 => x"08567580",
+2248 => x"2ef03877",
+2249 => x"76710c54",
+2250 => x"74800c87",
+2251 => x"3d0d0470",
+2252 => x"707080df",
+2253 => x"d8088938",
+2254 => x"80dfe80b",
+2255 => x"80dfd80c",
+2256 => x"80dfd808",
+2257 => x"75115252",
+2258 => x"ff537087",
+2259 => x"fb808026",
+2260 => x"88387080",
+2261 => x"dfd80c71",
+2262 => x"5372800c",
+2263 => x"50505004",
+2264 => x"fd3d0d80",
+2265 => x"0b80cfe0",
+2266 => x"08545472",
+2267 => x"812e9b38",
+2268 => x"7380dfdc",
+2269 => x"0cc2af3f",
+2270 => x"c1863f80",
+2271 => x"dfb05281",
+2272 => x"51c3ff3f",
+2273 => x"80085186",
+2274 => x"bf3f7280",
+2275 => x"dfdc0cc2",
+2276 => x"953fc0ec",
+2277 => x"3f80dfb0",
+2278 => x"528151c3",
+2279 => x"e53f8008",
+2280 => x"5186a53f",
+2281 => x"00ff39f5",
+2282 => x"3d0d7e60",
+2283 => x"80dfdc08",
+2284 => x"705b585b",
+2285 => x"5b7580c2",
+2286 => x"38777a25",
+2287 => x"a138771b",
+2288 => x"70337081",
+2289 => x"ff065858",
+2290 => x"59758a2e",
+2291 => x"98387681",
+2292 => x"ff0651c1",
+2293 => x"b03f8118",
+2294 => x"58797824",
+2295 => x"e1387980",
+2296 => x"0c8d3d0d",
+2297 => x"048d51c1",
+2298 => x"9c3f7833",
+2299 => x"7081ff06",
+2300 => x"5257c191",
+2301 => x"3f811858",
+2302 => x"e0397955",
+2303 => x"7a547d53",
+2304 => x"85528d3d",
+2305 => x"fc0551c0",
+2306 => x"b93f8008",
+2307 => x"5685b23f",
+2308 => x"7b80080c",
+2309 => x"75800c8d",
+2310 => x"3d0d04f6",
+2311 => x"3d0d7d7f",
+2312 => x"80dfdc08",
+2313 => x"705b585a",
+2314 => x"5a7580c1",
+2315 => x"38777925",
+2316 => x"b338c0ac",
+2317 => x"3f800881",
+2318 => x"ff06708d",
+2319 => x"32703070",
+2320 => x"9f2a5151",
+2321 => x"5757768a",
+2322 => x"2e80c438",
+2323 => x"75802ebf",
+2324 => x"38771a56",
+2325 => x"76763476",
+2326 => x"51c0aa3f",
+2327 => x"81185878",
+2328 => x"7824cf38",
+2329 => x"77567580",
+2330 => x"0c8c3d0d",
+2331 => x"04785579",
+2332 => x"547c5384",
+2333 => x"528c3dfc",
+2334 => x"0551ffbf",
+2335 => x"c53f8008",
+2336 => x"5684be3f",
+2337 => x"7a80080c",
+2338 => x"75800c8c",
+2339 => x"3d0d0477",
+2340 => x"1a598a79",
+2341 => x"34811858",
+2342 => x"8d51ffbf",
+2343 => x"e83f8a51",
+2344 => x"ffbfe23f",
+2345 => x"7756ffbe",
+2346 => x"39fb3d0d",
+2347 => x"80dfdc08",
+2348 => x"70565473",
+2349 => x"88387480",
+2350 => x"0c873d0d",
+2351 => x"04775383",
+2352 => x"52873dfc",
+2353 => x"0551ffbe",
+2354 => x"f93f8008",
+2355 => x"5483f23f",
+2356 => x"7580080c",
+2357 => x"73800c87",
+2358 => x"3d0d04fa",
+2359 => x"3d0d80df",
+2360 => x"dc08802e",
+2361 => x"a3387a55",
+2362 => x"79547853",
+2363 => x"8652883d",
+2364 => x"fc0551ff",
+2365 => x"becc3f80",
+2366 => x"085683c5",
+2367 => x"3f768008",
+2368 => x"0c75800c",
+2369 => x"883d0d04",
+2370 => x"83b73f9d",
+2371 => x"0b80080c",
+2372 => x"ff0b800c",
+2373 => x"883d0d04",
+2374 => x"f73d0d7b",
+2375 => x"7d5b59bc",
+2376 => x"53805279",
+2377 => x"51f5fb3f",
+2378 => x"80705657",
+2379 => x"98567419",
+2380 => x"70337078",
+2381 => x"2b790781",
+2382 => x"18f81a5a",
+2383 => x"58595558",
+2384 => x"847524ea",
+2385 => x"38767a23",
+2386 => x"84195880",
+2387 => x"70565798",
+2388 => x"56741870",
+2389 => x"3370782b",
+2390 => x"79078118",
+2391 => x"f81a5a58",
+2392 => x"59515484",
+2393 => x"7524ea38",
+2394 => x"76821b23",
+2395 => x"88195880",
+2396 => x"70565798",
+2397 => x"56741870",
+2398 => x"3370782b",
+2399 => x"79078118",
+2400 => x"f81a5a58",
+2401 => x"59515484",
+2402 => x"7524ea38",
+2403 => x"76841b0c",
+2404 => x"8c195880",
+2405 => x"70565798",
+2406 => x"56741870",
+2407 => x"3370782b",
+2408 => x"79078118",
+2409 => x"f81a5a58",
+2410 => x"59515484",
+2411 => x"7524ea38",
+2412 => x"76881b23",
+2413 => x"90195880",
+2414 => x"70565798",
+2415 => x"56741870",
+2416 => x"3370782b",
+2417 => x"79078118",
+2418 => x"f81a5a58",
+2419 => x"59515484",
+2420 => x"7524ea38",
+2421 => x"768a1b23",
+2422 => x"94195880",
+2423 => x"70565798",
+2424 => x"56741870",
+2425 => x"3370782b",
+2426 => x"79078118",
+2427 => x"f81a5a58",
+2428 => x"59515484",
+2429 => x"7524ea38",
+2430 => x"768c1b23",
+2431 => x"98195880",
+2432 => x"70565798",
+2433 => x"56741870",
+2434 => x"3370782b",
+2435 => x"79078118",
+2436 => x"f81a5a58",
+2437 => x"59515484",
+2438 => x"7524ea38",
+2439 => x"768e1b23",
+2440 => x"9c195880",
+2441 => x"705657b8",
+2442 => x"56741870",
+2443 => x"3370782b",
+2444 => x"79078118",
+2445 => x"f81a5a58",
+2446 => x"595a5488",
+2447 => x"7524ea38",
+2448 => x"76901b0c",
+2449 => x"8b3d0d04",
+2450 => x"e93d0d6a",
+2451 => x"80dfdc08",
+2452 => x"57577593",
+2453 => x"3880c080",
+2454 => x"0b84180c",
+2455 => x"75ac180c",
+2456 => x"75800c99",
+2457 => x"3d0d0489",
+2458 => x"3d70556a",
+2459 => x"54558a52",
+2460 => x"993dffbc",
+2461 => x"0551ffbb",
+2462 => x"c93f8008",
+2463 => x"77537552",
+2464 => x"56fd953f",
+2465 => x"bc3f7780",
+2466 => x"080c7580",
+2467 => x"0c993d0d",
+2468 => x"04fc3d0d",
+2469 => x"815480df",
+2470 => x"dc088838",
+2471 => x"73800c86",
+2472 => x"3d0d0476",
+2473 => x"5397b952",
+2474 => x"863dfc05",
+2475 => x"51ffbb92",
+2476 => x"3f800854",
+2477 => x"8c3f7480",
+2478 => x"080c7380",
+2479 => x"0c863d0d",
+2480 => x"0480cfec",
+2481 => x"08800c04",
+2482 => x"f73d0d7b",
+2483 => x"80cfec08",
+2484 => x"82c81108",
+2485 => x"5a545a77",
+2486 => x"802e80da",
+2487 => x"38818818",
+2488 => x"841908ff",
+2489 => x"0581712b",
+2490 => x"59555980",
+2491 => x"742480ea",
+2492 => x"38807424",
+2493 => x"b5387382",
+2494 => x"2b781188",
+2495 => x"05565681",
+2496 => x"80190877",
+2497 => x"06537280",
+2498 => x"2eb63878",
+2499 => x"16700853",
+2500 => x"53795174",
+2501 => x"0853722d",
+2502 => x"ff14fc17",
+2503 => x"fc177981",
+2504 => x"2c5a5757",
+2505 => x"54738025",
+2506 => x"d6387708",
+2507 => x"5877ffad",
+2508 => x"3880cfec",
+2509 => x"0853bc13",
+2510 => x"08a53879",
+2511 => x"51f8e53f",
+2512 => x"74085372",
+2513 => x"2dff14fc",
+2514 => x"17fc1779",
+2515 => x"812c5a57",
+2516 => x"57547380",
+2517 => x"25ffa838",
+2518 => x"d1398057",
+2519 => x"ff933972",
+2520 => x"51bc1308",
+2521 => x"54732d79",
+2522 => x"51f8b93f",
+2523 => x"707080df",
+2524 => x"b80bfc05",
+2525 => x"70085252",
+2526 => x"70ff2e91",
+2527 => x"38702dfc",
+2528 => x"12700852",
+2529 => x"5270ff2e",
+2530 => x"098106f1",
+2531 => x"38505004",
+2532 => x"04ffbaff",
+2533 => x"3f040000",
2534 => x"00000040",
2535 => x"476f7420",
2536 => x"696e7465",
OpenPOWER on IntegriCloud