diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.qpf b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.qpf similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.qpf rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.qpf diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.qsf b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.qsf similarity index 98% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.qsf rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.qsf index b90ff5b5..ed15187e 100644 --- a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.qsf +++ b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.qsf @@ -43,28 +43,6 @@ set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL set_global_assignment -name LAST_QUARTUS_VERSION 13.1 set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" -set_global_assignment -name SYSTEMVERILOG_FILE rtl/Flicky_MiST.sv -set_global_assignment -name VERILOG_FILE rtl/FPGA_FLICKY.v -set_global_assignment -name VERILOG_FILE rtl/FlickyMAIN.v -set_global_assignment -name VERILOG_FILE rtl/FlickyVIDEO.v -set_global_assignment -name VERILOG_FILE rtl/FlickySND.v -set_global_assignment -name VERILOG_FILE rtl/z80ip.v -set_global_assignment -name VERILOG_FILE rtl/FlickySPRITE.v -set_global_assignment -name VERILOG_FILE rtl/parts.v -set_global_assignment -name VERILOG_FILE rtl/hvgen.v -set_global_assignment -name VERILOG_FILE rtl/SN76496.v -set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv -set_global_assignment -name VERILOG_FILE rtl/pll_mist.v -set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_1B.v -set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_11B.v -set_global_assignment -name VHDL_FILE rtl/rom/dec_rom.vhd -set_global_assignment -name VHDL_FILE rtl/rom/prg_rom.vhd -set_global_assignment -name VHDL_FILE rtl/rom/snd_rom.vhd -set_global_assignment -name VHDL_FILE rtl/rom/clut.vhd -set_global_assignment -name VHDL_FILE rtl/rom/spr_rom.vhd -set_global_assignment -name VHDL_FILE rtl/rom/tile1.vhd -set_global_assignment -name QIP_FILE ../../common/mist/mist.qip -set_global_assignment -name QIP_FILE ../../common/CPU/T80/T80.qip # Pin & Location Assignments # ========================== @@ -244,4 +222,26 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" - # end ENTITY(Flicky_MiST) # ----------------------- +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Flicky_MiST.sv +set_global_assignment -name VERILOG_FILE rtl/FPGA_FLICKY.v +set_global_assignment -name VERILOG_FILE rtl/FlickyMAIN.v +set_global_assignment -name VERILOG_FILE rtl/FlickyVIDEO.v +set_global_assignment -name VERILOG_FILE rtl/FlickySND.v +set_global_assignment -name VERILOG_FILE rtl/z80ip.v +set_global_assignment -name VERILOG_FILE rtl/FlickySPRITE.v +set_global_assignment -name VERILOG_FILE rtl/parts.v +set_global_assignment -name VERILOG_FILE rtl/hvgen.v +set_global_assignment -name VERILOG_FILE rtl/SN76496.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv +set_global_assignment -name VERILOG_FILE rtl/pll_mist.v +set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_1B.v +set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_11B.v +set_global_assignment -name VHDL_FILE rtl/rom/dec_rom.vhd +set_global_assignment -name VHDL_FILE rtl/rom/prg_rom.vhd +set_global_assignment -name VHDL_FILE rtl/rom/snd_rom.vhd +set_global_assignment -name VHDL_FILE rtl/rom/clut.vhd +set_global_assignment -name VHDL_FILE rtl/rom/spr_rom.vhd +set_global_assignment -name VHDL_FILE rtl/rom/tile1.vhd +set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip +set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.sdc b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.sdc similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Flicky_MiST.sdc rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Flicky_MiST.sdc diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Snapshot/Flicky_MiST.rbf b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Snapshot/Flicky_MiST.rbf similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/Snapshot/Flicky_MiST.rbf rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/Snapshot/Flicky_MiST.rbf diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/clean.bat b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/clean.bat similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/clean.bat rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/clean.bat diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/DPRAM1024_11B.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/DPRAM1024_11B.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/DPRAM1024_11B.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/DPRAM1024_11B.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/DPRAM1024_1B.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/DPRAM1024_1B.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/DPRAM1024_1B.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/DPRAM1024_1B.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FPGA_FLICKY.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FPGA_FLICKY.v similarity index 87% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FPGA_FLICKY.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FPGA_FLICKY.v index 7eaf7e39..ca2dceaa 100644 --- a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FPGA_FLICKY.v +++ b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FPGA_FLICKY.v @@ -46,11 +46,20 @@ wire SNDRQ; FlickyMAIN Main ( .RESET(reset), - .INP0(INP0),.INP1(INP1),.INP2(INP2), - .DSW0(DSW0),.DSW1(DSW1), - .CLK48M(clk48M),.CLK3M(clk3M), - .CPUCLn(CPUCLn),.CPUAD(CPUAD),.CPUDO(CPUDO),.CPUWR(CPUWR), - .VBLK(VBLK),.VIDCS(VIDCS),.VIDDO(VIDDO), + .INP0(INP0), + .INP1(INP1), + .INP2(INP2), + .DSW0(DSW0), + .DSW1(DSW1), + .CLK48M(clk48M), + .CLK3M(clk3M), + .CPUCLn(CPUCLn), + .CPUAD(CPUAD), + .CPUDO(CPUDO), + .CPUWR(CPUWR), + .VBLK(VBLK), + .VIDCS(VIDCS), + .VIDDO(VIDDO), .SNDRQ(SNDRQ), .cpu_rom_addr(cpu_rom_addr), .cpu_rom_do(cpu_rom_do) @@ -67,7 +76,6 @@ FlickyVIDEO Video ( .VBLK(VBLK), .RGB8(POUT), .PALDSW(1'b0), - .cpu_cl(CPUCLn), .cpu_ad(CPUAD), .cpu_wr(CPUWR), @@ -83,8 +91,13 @@ assign PCLK = clk6M; // Sound FlickySND Sound( - clk8M, reset, CPUDO, SNDRQ, SOUT, - snd_rom_addr, snd_rom_do + .clk8M(clk8M), + .reset(reset), + .sndno(CPUDO), + .sndstart(SNDRQ), + .sndout(SOUT), + .snd_rom_addr(snd_rom_addr), + .snd_rom_do(snd_rom_do) ); wire [8:0] HPOS; diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickyMAIN.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickyMAIN.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickyMAIN.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickyMAIN.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickySND.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickySND.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickySND.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickySND.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickySPRITE.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickySPRITE.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickySPRITE.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickySPRITE.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickyVIDEO.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickyVIDEO.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/FlickyVIDEO.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/FlickyVIDEO.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/Flicky_MiST.sv b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/Flicky_MiST.sv similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/Flicky_MiST.sv rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/Flicky_MiST.sv diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/Flicky_MiST.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/Flicky_MiST.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/Flicky_MiST.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/Flicky_MiST.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/SN76496.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/SN76496.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/SN76496.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/SN76496.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/build_id.tcl b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/build_id.tcl similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/build_id.tcl rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/build_id.tcl diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/hvgen.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/hvgen.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/hvgen.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/hvgen.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/parts.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/parts.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/parts.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/parts.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/pll_mist.qip b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/pll_mist.qip similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/pll_mist.qip rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/pll_mist.qip diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/pll_mist.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/pll_mist.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/pll_mist.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/pll_mist.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/clut.vhd b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/clut.vhd similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/clut.vhd rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/clut.vhd diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/dec_flicky.bin b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/dec_flicky.bin similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/dec_flicky.bin rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/dec_flicky.bin diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/dec_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/dec_rom.vhd similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/dec_rom.vhd rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/dec_rom.vhd diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/make.bat b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/make.bat similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/make.bat rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/make.bat diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/prg_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/prg_rom.vhd similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/prg_rom.vhd rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/prg_rom.vhd diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/snd_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/snd_rom.vhd similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/snd_rom.vhd rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/snd_rom.vhd diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/spr_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/spr_rom.vhd similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/spr_rom.vhd rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/rom/spr_rom.vhd diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/sdram.sv b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/sdram.sv similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/sdram.sv rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/sdram.sv diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/z80ip.v b/Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/z80ip.v similarity index 100% rename from Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/z80ip.v rename to Arcade_MiST/Sega System 1 Hardware/Flicky_MiST/rtl/z80ip.v diff --git a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/tile1.vhd b/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/tile1.vhd deleted file mode 100644 index 922da80e..00000000 --- a/Arcade_MiST/Sega System 1 Hardware/MiST-Arcade-Flicky/rtl/rom/tile1.vhd +++ /dev/null @@ -1,534 +0,0 @@ -library ieee; -use ieee.std_logic_1164.all,ieee.numeric_std.all; - -entity tile1 is -port ( - clk : in std_logic; - addr : in std_logic_vector(12 downto 0); - data : out std_logic_vector(7 downto 0) -); -end entity; - -architecture prom of tile1 is - type rom is array(0 to 8191) of std_logic_vector(7 downto 0); - signal rom_data: rom := ( - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"10",X"38",X"10",X"7C",X"FE",X"00",X"00",X"02",X"04",X"7C",X"38",X"10",X"00",X"00",X"00", - X"00",X"10",X"10",X"10",X"10",X"38",X"10",X"10",X"00",X"18",X"1C",X"12",X"12",X"70",X"70",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"7C",X"D6",X"FE",X"BA",X"44",X"38",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"80",X"C0",X"E0",X"E0",X"E7",X"E7",X"E7",X"FF",X"00",X"00",X"80",X"80",X"E7",X"E7",X"E7", - X"FF",X"01",X"03",X"87",X"87",X"E7",X"E7",X"E7",X"FF",X"00",X"00",X"80",X"80",X"FF",X"FF",X"FF", - X"BF",X"A7",X"A7",X"A7",X"A7",X"A7",X"A7",X"A7",X"FF",X"A7",X"A6",X"A1",X"A1",X"BF",X"BF",X"FF", - X"BF",X"27",X"3E",X"C1",X"C1",X"FF",X"FF",X"FF",X"BF",X"E7",X"67",X"87",X"87",X"FF",X"FF",X"FF", - X"81",X"C3",X"A7",X"A7",X"A7",X"A7",X"A7",X"A7",X"BF",X"A7",X"A7",X"A7",X"A7",X"A7",X"BF",X"FF", - X"FF",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"FF",X"FF",X"01",X"03",X"83",X"83",X"FF",X"FF",X"FF", - X"BF",X"A6",X"A4",X"A2",X"A2",X"A7",X"A7",X"A7",X"BF",X"E7",X"27",X"87",X"87",X"E7",X"A7",X"A7", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"FF",X"FF",X"F1",X"E1",X"E1",X"C1",X"C1",X"C1",X"C1",X"C1",X"FD",X"FD",X"C1",X"C1",X"C1", - X"C1",X"C1",X"C1",X"C1",X"C1",X"C1",X"FF",X"FF",X"BF",X"EF",X"FB",X"9D",X"8D",X"8E",X"86",X"86", - X"86",X"86",X"86",X"BE",X"BE",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"FE",X"FE", - X"FF",X"F0",X"E6",X"E8",X"D0",X"D0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0", - X"A0",X"A0",X"A0",X"A0",X"A0",X"BE",X"80",X"FF",X"FF",X"0F",X"67",X"17",X"0B",X"0B",X"05",X"05", - X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"7D",X"01",X"FF", - X"EB",X"FE",X"5F",X"F9",X"B1",X"71",X"F1",X"A1",X"C1",X"C1",X"C1",X"C2",X"C6",X"C4",X"C2",X"C1", - X"C1",X"C1",X"C1",X"C1",X"C1",X"C1",X"FF",X"FE",X"B4",X"DB",X"F6",X"3F",X"18",X"1F",X"1E",X"0A", - X"06",X"06",X"06",X"86",X"C6",X"46",X"86",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"FE",X"F9", - X"FF",X"F0",X"E0",X"E0",X"E0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80", - X"80",X"C0",X"C0",X"E0",X"E0",X"E0",X"F0",X"FF",X"F7",X"37",X"2B",X"2B",X"25",X"25",X"22",X"22", - X"21",X"21",X"31",X"31",X"31",X"21",X"21",X"21",X"22",X"22",X"25",X"25",X"2B",X"2B",X"37",X"E7", - X"FF",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"83",X"84",X"84",X"84",X"80",X"84",X"83",X"80", - X"80",X"80",X"80",X"80",X"80",X"80",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"20",X"20",X"20",X"20",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"74",X"44",X"64",X"44",X"47",X"10",X"00",X"00",X"4D",X"55",X"51",X"55",X"4D",X"A4", - X"00",X"00",X"54",X"94",X"9C",X"C8",X"48",X"62",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"82", - X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80", - X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"1A",X"18",X"00",X"82",X"03",X"02",X"1A",X"42",X"5A",X"58",X"58",X"40",X"93",X"12",X"12",X"18", - X"FF",X"7E",X"7E",X"00",X"00",X"00",X"00",X"00",X"7E",X"7E",X"00",X"00",X"00",X"00",X"7E",X"00", - X"7E",X"7E",X"7E",X"40",X"56",X"34",X"56",X"7E",X"FF",X"01",X"FD",X"00",X"00",X"04",X"08",X"10", - X"01",X"01",X"10",X"98",X"10",X"00",X"01",X"E4",X"05",X"05",X"05",X"04",X"09",X"91",X"11",X"01", - X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"00", - X"FF",X"FF",X"FF",X"C0",X"57",X"35",X"57",X"FF",X"FF",X"80",X"BF",X"20",X"00",X"00",X"18",X"27", - X"A0",X"80",X"00",X"20",X"30",X"28",X"A7",X"20",X"A0",X"84",X"80",X"80",X"30",X"2C",X"20",X"80", - X"FF",X"07",X"F7",X"00",X"00",X"10",X"20",X"44",X"07",X"07",X"46",X"66",X"46",X"06",X"07",X"96", - X"17",X"17",X"17",X"14",X"23",X"45",X"47",X"07",X"FF",X"E0",X"EF",X"08",X"00",X"00",X"06",X"09", - X"E8",X"E0",X"00",X"08",X"0C",X"0A",X"E9",X"28",X"E8",X"E1",X"E0",X"80",X"4C",X"2B",X"48",X"E0", - X"FF",X"1F",X"DF",X"00",X"00",X"40",X"90",X"1C",X"1F",X"17",X"16",X"9E",X"16",X"16",X"17",X"5E", - X"5F",X"5F",X"5F",X"5C",X"93",X"05",X"17",X"1F",X"FF",X"F8",X"FB",X"02",X"00",X"00",X"01",X"0A", - X"FA",X"F8",X"18",X"1A",X"1B",X"1A",X"FA",X"3A",X"FA",X"F8",X"F8",X"98",X"43",X"32",X"4A",X"F8", - X"FF",X"7F",X"7F",X"00",X"00",X"40",X"70",X"7C",X"5F",X"57",X"56",X"7E",X"56",X"56",X"57",X"7E", - X"7F",X"7F",X"7F",X"7C",X"73",X"45",X"17",X"1F",X"FF",X"FE",X"FE",X"00",X"00",X"02",X"06",X"0E", - X"FE",X"FA",X"1A",X"1E",X"1A",X"1A",X"FA",X"3E",X"FE",X"FE",X"FE",X"9E",X"46",X"30",X"48",X"F8", - X"3F",X"40",X"5F",X"40",X"5F",X"50",X"50",X"50",X"50",X"50",X"50",X"5F",X"40",X"50",X"70",X"00", - X"FC",X"02",X"FA",X"00",X"F8",X"08",X"08",X"08",X"08",X"08",X"08",X"F8",X"00",X"0A",X"02",X"00", - X"3F",X"40",X"5F",X"40",X"5F",X"50",X"50",X"5C",X"5E",X"5E",X"5F",X"5F",X"40",X"50",X"70",X"00", - X"3F",X"40",X"5F",X"40",X"5F",X"50",X"57",X"5F",X"5D",X"5F",X"5F",X"5F",X"40",X"50",X"70",X"00", - X"FC",X"02",X"FA",X"00",X"F8",X"08",X"08",X"C8",X"C8",X"E8",X"E8",X"F8",X"00",X"0A",X"02",X"00", - X"3F",X"40",X"5F",X"40",X"5F",X"50",X"53",X"57",X"55",X"57",X"5F",X"5F",X"40",X"50",X"70",X"00", - X"FC",X"02",X"FA",X"00",X"F8",X"08",X"C8",X"E8",X"68",X"E8",X"F8",X"F8",X"00",X"0A",X"02",X"00", - X"3F",X"40",X"5F",X"40",X"5F",X"50",X"53",X"57",X"5F",X"57",X"5F",X"5F",X"40",X"50",X"70",X"00", - X"FC",X"02",X"FA",X"00",X"F8",X"08",X"C8",X"E8",X"E8",X"E8",X"F8",X"F8",X"00",X"0A",X"02",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"10",X"38",X"10",X"7C",X"FE",X"00",X"00",X"02",X"04",X"7C",X"38",X"10",X"00",X"00",X"00", - X"00",X"10",X"10",X"10",X"10",X"38",X"10",X"10",X"00",X"18",X"1C",X"12",X"12",X"70",X"70",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"7C",X"D6",X"FE",X"BA",X"44",X"38",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01", - X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"81", - X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"01", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"39",X"19",X"06",X"0E",X"0D",X"0B",X"07", - X"76",X"B9",X"D9",X"E6",X"6E",X"9D",X"9B",X"67",X"00",X"80",X"C0",X"C0",X"60",X"80",X"90",X"60", - X"70",X"B0",X"D0",X"E0",X"60",X"90",X"90",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01", - X"07",X"1F",X"3F",X"03",X"F0",X"61",X"00",X"00",X"00",X"80",X"81",X"00",X"00",X"FF",X"FF",X"74", - X"00",X"70",X"F0",X"78",X"30",X"00",X"00",X"00",X"00",X"00",X"07",X"78",X"84",X"02",X"02",X"01", - X"50",X"88",X"00",X"00",X"20",X"24",X"58",X"80",X"03",X"01",X"01",X"01",X"03",X"01",X"01",X"00", - X"80",X"80",X"9C",X"BC",X"BC",X"3C",X"3C",X"3F",X"74",X"74",X"74",X"7C",X"7C",X"7C",X"FC",X"FC", - X"00",X"60",X"78",X"7E",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"80",X"87",X"3F",X"7F", - X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"05",X"0D",X"1B",X"00",X"00",X"00",X"00",X"00", - X"B8",X"B8",X"70",X"01",X"00",X"00",X"00",X"00",X"00",X"06",X"38",X"C0",X"00",X"00",X"00",X"00", - X"3E",X"1E",X"0C",X"04",X"00",X"00",X"00",X"00",X"7F",X"3F",X"3F",X"1F",X"04",X"00",X"08",X"00", - X"F0",X"F0",X"C0",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"11",X"EE",X"EE",X"0E",X"EE",X"EE",X"E0",X"EE",X"11",X"EE",X"EE",X"0E",X"EE",X"CE",X"9F",X"2B", - X"11",X"EE",X"EE",X"0E",X"EE",X"EE",X"E0",X"EE",X"11",X"EE",X"EE",X"0E",X"EE",X"EE",X"E0",X"EE", - X"EE",X"0E",X"EE",X"EE",X"E0",X"EE",X"EE",X"EE",X"49",X"88",X"88",X"FF",X"FF",X"EE",X"EE",X"EE", - X"EE",X"8E",X"EE",X"EE",X"E0",X"EE",X"EE",X"EE",X"EE",X"0E",X"EE",X"EE",X"E0",X"EE",X"EE",X"EE", - X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1",X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1", - X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1",X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1", - X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1",X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1", - X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1",X"8F",X"88",X"88",X"E8",X"17",X"11",X"11",X"F1", - X"89",X"40",X"2F",X"1F",X"9F",X"3F",X"3F",X"BF",X"FD",X"7F",X"BF",X"FF",X"FF",X"FF",X"FD",X"F8", - X"89",X"46",X"A6",X"99",X"D1",X"E2",X"E4",X"D8",X"89",X"46",X"26",X"19",X"91",X"62",X"64",X"98", - X"BF",X"3F",X"3F",X"3F",X"BF",X"3F",X"3F",X"DF",X"F8",X"FD",X"FF",X"FF",X"FF",X"FF",X"FD",X"DD", - X"E9",X"E6",X"E6",X"F8",X"F0",X"E2",X"E4",X"F8",X"89",X"02",X"00",X"01",X"90",X"62",X"64",X"90", - X"9F",X"2F",X"2F",X"37",X"B8",X"3F",X"3F",X"BF",X"DF",X"DF",X"BD",X"7D",X"FE",X"FE",X"FE",X"FF", - X"C8",X"E6",X"F6",X"E9",X"F1",X"F2",X"F4",X"78",X"81",X"46",X"26",X"11",X"91",X"62",X"64",X"90", - X"BF",X"5F",X"1F",X"1F",X"8E",X"6F",X"6F",X"8F",X"FF",X"FF",X"FF",X"FF",X"0F",X"6F",X"6F",X"0F", - X"79",X"3A",X"3E",X"1D",X"9F",X"6F",X"67",X"9B",X"89",X"46",X"3E",X"1D",X"B9",X"FA",X"F4",X"C8", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"10",X"38",X"10",X"7C",X"FE",X"00",X"00",X"02",X"04",X"7C",X"38",X"10",X"00",X"00",X"00", - X"00",X"10",X"10",X"10",X"10",X"38",X"10",X"10",X"00",X"18",X"1C",X"12",X"12",X"70",X"70",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"7C",X"D6",X"FE",X"BA",X"44",X"38",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"3F",X"3F",X"1F",X"1F",X"0F",X"0F",X"07", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"80",X"80",X"C0",X"C0",X"E0",X"E0",X"F0", - X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"73",X"AD",X"DE",X"AD",X"73",X"AD",X"DE",X"AD",X"9B",X"67",X"EE",X"5E",X"BE",X"76",X"E6",X"C6", - X"D9",X"E6",X"F7",X"FA",X"FD",X"EE",X"E7",X"E3",X"CE",X"B5",X"7B",X"B5",X"CE",X"B5",X"7B",X"B5", - X"73",X"AF",X"DF",X"BD",X"78",X"F1",X"E2",X"FF",X"8E",X"16",X"86",X"C6",X"E6",X"76",X"3E",X"FE", - X"F1",X"E8",X"E1",X"E3",X"E7",X"EE",X"FC",X"FF",X"CE",X"F5",X"FB",X"BD",X"1E",X"8F",X"47",X"FF", - X"FF",X"FF",X"FF",X"FF",X"DC",X"EB",X"F7",X"DB",X"FF",X"FF",X"FF",X"FF",X"EF",X"5D",X"BE",X"6D", - X"FF",X"FF",X"FF",X"FF",X"57",X"7F",X"AF",X"D7",X"FF",X"FF",X"FF",X"FF",X"AB",X"FA",X"D5",X"AE", - X"F7",X"8F",X"F7",X"DB",X"F7",X"EB",X"DC",X"FF",X"BC",X"C7",X"BE",X"6D",X"BE",X"5D",X"EF",X"FF", - X"BB",X"7C",X"BB",X"D7",X"AF",X"7F",X"57",X"FF",X"74",X"FB",X"75",X"AE",X"D5",X"FA",X"AB",X"FF", - X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40",X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40", - X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40",X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40", - X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40",X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40", - X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40",X"88",X"11",X"00",X"44",X"00",X"01",X"22",X"40", - X"88",X"11",X"00",X"44",X"00",X"FF",X"FF",X"FF",X"88",X"11",X"00",X"44",X"00",X"FF",X"FF",X"FF", - X"88",X"11",X"00",X"44",X"00",X"FF",X"FF",X"FF",X"88",X"11",X"00",X"44",X"00",X"FF",X"FF",X"FF", - X"E8",X"71",X"38",X"5C",X"3E",X"77",X"E3",X"C1",X"8F",X"17",X"0E",X"5C",X"38",X"79",X"FA",X"D8", - X"C8",X"F1",X"70",X"7C",X"3C",X"3F",X"37",X"73",X"8E",X"1D",X"38",X"7C",X"EE",X"C7",X"A3",X"41", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"10",X"38",X"10",X"7C",X"FE",X"00",X"00",X"02",X"04",X"7C",X"38",X"10",X"00",X"00",X"00", - X"00",X"10",X"10",X"10",X"10",X"38",X"10",X"10",X"00",X"18",X"1C",X"12",X"12",X"70",X"70",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"7C",X"D6",X"FE",X"BA",X"44",X"38",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"16",X"0D",X"0E",X"07",X"07",X"02",X"03",X"01", - X"B7",X"7D",X"FE",X"E7",X"E7",X"FE",X"7D",X"B7",X"00",X"00",X"C0",X"C0",X"E0",X"E0",X"70",X"B0", - X"B0",X"70",X"F0",X"E0",X"E0",X"F0",X"70",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"0C", - X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"04",X"00",X"00",X"02",X"07",X"01",X"02",X"00",X"80", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"06",X"07",X"07",X"03",X"01",X"38",X"34",X"1A", - X"30",X"F0",X"F0",X"E0",X"CC",X"9A",X"B6",X"FC",X"D7",X"3F",X"1F",X"0E",X"0E",X"05",X"E5",X"F7", - X"C2",X"80",X"00",X"00",X"E0",X"40",X"C0",X"00",X"00",X"00",X"20",X"90",X"F0",X"00",X"00",X"00", - X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"64",X"34",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"C0",X"C0",X"E0",X"FF",X"FF",X"01",X"FC",X"7E",X"01",X"3F",X"3F",X"FF",X"FE",X"00",X"7E",X"FF", - X"C0",X"FE",X"FE",X"FF",X"7F",X"00",X"7E",X"FF",X"01",X"01",X"03",X"FF",X"FF",X"80",X"3F",X"7E", - X"33",X"11",X"11",X"33",X"7E",X"FC",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7E",X"00",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"7E",X"00",X"FF",X"CC",X"88",X"88",X"CC",X"7E",X"3F",X"80",X"FF", - X"55",X"AA",X"FF",X"FF",X"00",X"00",X"FF",X"7F",X"55",X"AA",X"FF",X"FF",X"00",X"00",X"FE",X"FF", - X"55",X"AA",X"FF",X"FF",X"00",X"00",X"7E",X"FF",X"55",X"AA",X"FF",X"FF",X"00",X"00",X"3F",X"7E", - X"33",X"11",X"11",X"33",X"7E",X"FC",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7E",X"00",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"7E",X"00",X"FF",X"CC",X"88",X"88",X"CC",X"7E",X"3F",X"00",X"FF", - X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"00",X"0C",X"30",X"40",X"80",X"00",X"00", - X"00",X"00",X"00",X"00",X"00",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", - X"02",X"02",X"04",X"04",X"04",X"05",X"07",X"07",X"02",X"00",X"00",X"40",X"E0",X"F0",X"F8",X"FC", - X"00",X"00",X"06",X"0F",X"0F",X"1F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C0", - X"07",X"07",X"07",X"07",X"07",X"04",X"04",X"04",X"FE",X"FF",X"FF",X"FF",X"FE",X"01",X"01",X"03", - X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0", - X"04",X"04",X"04",X"04",X"04",X"04",X"00",X"00",X"03",X"07",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", - X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); -begin -process(clk) -begin - if rising_edge(clk) then - data <= rom_data(to_integer(unsigned(addr))); - end if; -end process; -end architecture; diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Snapshot/Starjack_MiST.rbf b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Snapshot/Starjack_MiST.rbf new file mode 100644 index 00000000..235b7bff Binary files /dev/null and b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Snapshot/Starjack_MiST.rbf differ diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.qpf b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.qpf new file mode 100644 index 00000000..caf2c672 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.qpf @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition +# Date created = 00:21:03 December 03, 2019 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "13.1" +DATE = "00:21:03 December 03, 2019" + +# Revisions + +PROJECT_REVISION = "Starjack_MiST" + diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.qsf b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.qsf new file mode 100644 index 00000000..a90bccbc --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.qsf @@ -0,0 +1,244 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition +# Date created = 06:24:46 May 16, 2020 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# Flicky_MiST_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + + +# Project-Wide Assignments +# ======================== +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name LAST_QUARTUS_VERSION 13.1 +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" + +# Pin & Location Assignments +# ========================== +set_location_assignment PIN_7 -to LED +set_location_assignment PIN_54 -to CLOCK_27 +set_location_assignment PIN_144 -to VGA_R[5] +set_location_assignment PIN_143 -to VGA_R[4] +set_location_assignment PIN_142 -to VGA_R[3] +set_location_assignment PIN_141 -to VGA_R[2] +set_location_assignment PIN_137 -to VGA_R[1] +set_location_assignment PIN_135 -to VGA_R[0] +set_location_assignment PIN_133 -to VGA_B[5] +set_location_assignment PIN_132 -to VGA_B[4] +set_location_assignment PIN_125 -to VGA_B[3] +set_location_assignment PIN_121 -to VGA_B[2] +set_location_assignment PIN_120 -to VGA_B[1] +set_location_assignment PIN_115 -to VGA_B[0] +set_location_assignment PIN_114 -to VGA_G[5] +set_location_assignment PIN_113 -to VGA_G[4] +set_location_assignment PIN_112 -to VGA_G[3] +set_location_assignment PIN_111 -to VGA_G[2] +set_location_assignment PIN_110 -to VGA_G[1] +set_location_assignment PIN_106 -to VGA_G[0] +set_location_assignment PIN_136 -to VGA_VS +set_location_assignment PIN_119 -to VGA_HS +set_location_assignment PIN_65 -to AUDIO_L +set_location_assignment PIN_80 -to AUDIO_R +set_location_assignment PIN_105 -to SPI_DO +set_location_assignment PIN_88 -to SPI_DI +set_location_assignment PIN_126 -to SPI_SCK +set_location_assignment PIN_127 -to SPI_SS2 +set_location_assignment PIN_91 -to SPI_SS3 +set_location_assignment PIN_13 -to CONF_DATA0 +set_location_assignment PIN_49 -to SDRAM_A[0] +set_location_assignment PIN_44 -to SDRAM_A[1] +set_location_assignment PIN_42 -to SDRAM_A[2] +set_location_assignment PIN_39 -to SDRAM_A[3] +set_location_assignment PIN_4 -to SDRAM_A[4] +set_location_assignment PIN_6 -to SDRAM_A[5] +set_location_assignment PIN_8 -to SDRAM_A[6] +set_location_assignment PIN_10 -to SDRAM_A[7] +set_location_assignment PIN_11 -to SDRAM_A[8] +set_location_assignment PIN_28 -to SDRAM_A[9] +set_location_assignment PIN_50 -to SDRAM_A[10] +set_location_assignment PIN_30 -to SDRAM_A[11] +set_location_assignment PIN_32 -to SDRAM_A[12] +set_location_assignment PIN_83 -to SDRAM_DQ[0] +set_location_assignment PIN_79 -to SDRAM_DQ[1] +set_location_assignment PIN_77 -to SDRAM_DQ[2] +set_location_assignment PIN_76 -to SDRAM_DQ[3] +set_location_assignment PIN_72 -to SDRAM_DQ[4] +set_location_assignment PIN_71 -to SDRAM_DQ[5] +set_location_assignment PIN_69 -to SDRAM_DQ[6] +set_location_assignment PIN_68 -to SDRAM_DQ[7] +set_location_assignment PIN_86 -to SDRAM_DQ[8] +set_location_assignment PIN_87 -to SDRAM_DQ[9] +set_location_assignment PIN_98 -to SDRAM_DQ[10] +set_location_assignment PIN_99 -to SDRAM_DQ[11] +set_location_assignment PIN_100 -to SDRAM_DQ[12] +set_location_assignment PIN_101 -to SDRAM_DQ[13] +set_location_assignment PIN_103 -to SDRAM_DQ[14] +set_location_assignment PIN_104 -to SDRAM_DQ[15] +set_location_assignment PIN_58 -to SDRAM_BA[0] +set_location_assignment PIN_51 -to SDRAM_BA[1] +set_location_assignment PIN_85 -to SDRAM_DQMH +set_location_assignment PIN_67 -to SDRAM_DQML +set_location_assignment PIN_60 -to SDRAM_nRAS +set_location_assignment PIN_64 -to SDRAM_nCAS +set_location_assignment PIN_66 -to SDRAM_nWE +set_location_assignment PIN_59 -to SDRAM_nCS +set_location_assignment PIN_33 -to SDRAM_CKE +set_location_assignment PIN_43 -to SDRAM_CLK +set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component" + +# Classic Timing Assignments +# ========================== +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 + +# Analysis & Synthesis Assignments +# ================================ +set_global_assignment -name FAMILY "Cyclone III" +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP +set_global_assignment -name TOP_LEVEL_ENTITY Flicky_MiST + +# Fitter Assignments +# ================== +set_global_assignment -name DEVICE EP3C25E144C8 +set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF +set_global_assignment -name ENABLE_NCE_PIN OFF +set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF +set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO" + +# Assembler Assignments +# ===================== +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name USE_CONFIGURATION_DEVICE OFF + +# SignalTap II Assignments +# ======================== +set_global_assignment -name ENABLE_SIGNALTAP OFF +set_global_assignment -name USE_SIGNALTAP_FILE output_files/zaxx.stp + +# Power Estimation Assignments +# ============================ +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" + +# Advanced I/O Timing Assignments +# =============================== +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall + +# ------------------------- +# start ENTITY(Flicky_MiST) + + # Pin & Location Assignments + # ========================== + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQ[*] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_A[*] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[0] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[1] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQMH + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQML + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nRAS + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCAS + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nWE + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCS + set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*] + set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*] + + # Fitter Assignments + # ================== + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_A[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQ[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_BA[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQML + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQMH + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nRAS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCAS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nWE + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CKE + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CLK + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_R[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_G[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_B[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_HS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_VS + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO + + # start DESIGN_PARTITION(Top) + # --------------------------- + + # Incremental Compilation Assignments + # =================================== + set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top + set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top + set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top + + # end DESIGN_PARTITION(Top) + # ------------------------- + +# end ENTITY(Flicky_MiST) +# ----------------------- +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Flicky_MiST.sv +set_global_assignment -name VERILOG_FILE rtl/FPGA_FLICKY.v +set_global_assignment -name VERILOG_FILE rtl/FlickyMAIN.v +set_global_assignment -name VERILOG_FILE rtl/FlickyVIDEO.v +set_global_assignment -name VERILOG_FILE rtl/FlickySND.v +set_global_assignment -name VERILOG_FILE rtl/z80ip.v +set_global_assignment -name VERILOG_FILE rtl/FlickySPRITE.v +set_global_assignment -name VERILOG_FILE rtl/parts.v +set_global_assignment -name VERILOG_FILE rtl/hvgen.v +set_global_assignment -name VERILOG_FILE rtl/SN76496.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv +set_global_assignment -name VERILOG_FILE rtl/pll_mist.v +set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_1B.v +set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_11B.v +set_global_assignment -name VHDL_FILE rtl/rom/snd_rom.vhd +set_global_assignment -name VHDL_FILE rtl/rom/clut.vhd +set_global_assignment -name VHDL_FILE rtl/rom/spr_rom.vhd +set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip +set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.sdc b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.sdc new file mode 100644 index 00000000..e1813b4a --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/Starjack_MiST.sdc @@ -0,0 +1,134 @@ +## Generated SDC file "vectrex_MiST.out.sdc" + +## Copyright (C) 1991-2013 Altera Corporation +## Your use of Altera Corporation's design tools, logic functions +## and other software and tools, and its AMPP partner logic +## functions, and any output files from any of the foregoing +## (including device programming or simulation files), and any +## associated documentation or information are expressly subject +## to the terms and conditions of the Altera Program License +## Subscription Agreement, Altera MegaCore Function License +## Agreement, or other applicable license agreement, including, +## without limitation, that your use is for the sole purpose of +## programming logic devices manufactured by Altera and sold by +## Altera or its authorized distributors. Please refer to the +## applicable agreement for further details. + + +## VENDOR "Altera" +## PROGRAM "Quartus II" +## VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition" + +## DATE "Sun Jun 24 12:53:00 2018" + +## +## DEVICE "EP3C25E144C8" +## + +# Clock constraints + +# Automatically constrain PLL and other generated clocks +derive_pll_clocks -create_base_clocks + +# Automatically calculate clock uncertainty to jitter and other effects. +derive_clock_uncertainty + +# tsu/th constraints + +# tco constraints + +# tpd constraints + +#************************************************************** +# Time Information +#************************************************************** + +set_time_format -unit ns -decimal_places 3 + + + +#************************************************************** +# Create Clock +#************************************************************** + +create_clock -name {SPI_SCK} -period 41.666 -waveform { 20.8 41.666 } [get_ports {SPI_SCK}] + +set sys_clk "pll|altpll_component|auto_generated|pll1|clk[0]" +set sdram_clk "pll|altpll_component|auto_generated|pll1|clk[1]" +#************************************************************** +# Create Generated Clock +#************************************************************** + + +#************************************************************** +# Set Clock Latency +#************************************************************** + + + +#************************************************************** +# Set Clock Uncertainty +#************************************************************** + +#************************************************************** +# Set Input Delay +#************************************************************** + +set_input_delay -add_delay -clock_fall -clock [get_clocks {CLOCK_27}] 1.000 [get_ports {CLOCK_27}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {CONF_DATA0}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DI}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SCK}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS2}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS3}] + +set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 6.6 [get_ports SDRAM_DQ[*]] +set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min 3.5 [get_ports SDRAM_DQ[*]] + +#************************************************************** +# Set Output Delay +#************************************************************** + +set_output_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DO}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_L}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_R}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {LED}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {VGA_*}] + +set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 1.5 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] +set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min -0.8 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] + +#************************************************************** +# Set Clock Groups +#************************************************************** + +set_clock_groups -asynchronous -group [get_clocks {SPI_SCK}] -group [get_clocks {pll|altpll_component|auto_generated|pll1|clk[*]}] + +#************************************************************** +# Set False Path +#************************************************************** + + + +#************************************************************** +# Set Multicycle Path +#************************************************************** + +set_multicycle_path -to {VGA_*[*]} -setup 2 +set_multicycle_path -to {VGA_*[*]} -hold 1 + +#************************************************************** +# Set Maximum Delay +#************************************************************** + + + +#************************************************************** +# Set Minimum Delay +#************************************************************** + + + +#************************************************************** +# Set Input Transition +#************************************************************** + diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/clean.bat b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/clean.bat new file mode 100644 index 00000000..b3b7c3b5 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/clean.bat @@ -0,0 +1,37 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +del /s *~ +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +rmdir /s /q hc_output +rmdir /s /q .qsys_edit +rmdir /s /q hps_isw_handoff +rmdir /s /q sys\.qsys_edit +rmdir /s /q sys\vip +cd sys +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +cd .. +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +del build_id.v +del c5_pin_model_dump.txt +del PLLJ_PLLSPE_INFO.txt +del /s *.qws +del /s *.ppf +del /s *.ddb +del /s *.csv +del /s *.cmp +del /s *.sip +del /s *.spd +del /s *.bsf +del /s *.f +del /s *.sopcinfo +del /s *.xml +del /s new_rtl_netlist +del /s old_rtl_netlist + +pause diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/DPRAM1024_11B.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/DPRAM1024_11B.v new file mode 100644 index 00000000..37ec49d1 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/DPRAM1024_11B.v @@ -0,0 +1,128 @@ +// megafunction wizard: %RAM: 2-PORT% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altsyncram + +// ============================================================ +// File Name: DPRAM1024_11B.v +// Megafunction Name(s): +// altsyncram +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 17.1.0 Build 590 10/25/2017 SJ Lite Edition +// ************************************************************ + + +//Copyright (C) 2017 Intel Corporation. All rights reserved. +//Your use of Intel Corporation's design tools, logic functions +//and other software and tools, and its AMPP partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Intel Program License +//Subscription Agreement, the Intel Quartus Prime License Agreement, +//the Intel FPGA IP License Agreement, or other applicable license +//agreement, including, without limitation, that your use is for +//the sole purpose of programming logic devices manufactured by +//Intel and sold by Intel or its authorized distributors. Please +//refer to the applicable agreement for further details. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module DPRAM1024_11B ( + address_a, + address_b, + clock_a, + clock_b, + data_a, + data_b, + wren_a, + wren_b, + q_a, + q_b); + + input [9:0] address_a; + input [9:0] address_b; + input clock_a; + input clock_b; + input [15:0] data_a; + input [15:0] data_b; + input wren_a; + input wren_b; + output [15:0] q_a; + output [15:0] q_b; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_off +`endif + tri1 clock_a; + tri0 wren_a; + tri0 wren_b; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_on +`endif + + wire [15:0] sub_wire0; + wire [15:0] sub_wire1; + wire [15:0] q_a = sub_wire0[15:0]; + wire [15:0] q_b = sub_wire1[15:0]; + + altsyncram altsyncram_component ( + .address_a (address_a), + .address_b (address_b), + .clock0 (clock_a), + .clock1 (clock_b), + .data_a (data_a), + .data_b (data_b), + .wren_a (wren_a), + .wren_b (wren_b), + .q_a (sub_wire0), + .q_b (sub_wire1), + .aclr0 (1'b0), + .aclr1 (1'b0), + .addressstall_a (1'b0), + .addressstall_b (1'b0), + .byteena_a (1'b1), + .byteena_b (1'b1), + .clocken0 (1'b1), + .clocken1 (1'b1), + .clocken2 (1'b1), + .clocken3 (1'b1), + .eccstatus (), + .rden_a (1'b1), + .rden_b (1'b1)); + defparam + altsyncram_component.address_reg_b = "CLOCK1", + altsyncram_component.clock_enable_input_a = "BYPASS", + altsyncram_component.clock_enable_input_b = "BYPASS", + altsyncram_component.clock_enable_output_a = "BYPASS", + altsyncram_component.clock_enable_output_b = "BYPASS", + altsyncram_component.indata_reg_b = "CLOCK1", + altsyncram_component.intended_device_family = "Cyclone III", + altsyncram_component.lpm_type = "altsyncram", + altsyncram_component.numwords_a = 1024, + altsyncram_component.numwords_b = 1024, + altsyncram_component.operation_mode = "BIDIR_DUAL_PORT", + altsyncram_component.outdata_aclr_a = "NONE", + altsyncram_component.outdata_aclr_b = "NONE", + altsyncram_component.outdata_reg_a = "CLOCK0", + altsyncram_component.outdata_reg_b = "CLOCK1", + altsyncram_component.power_up_uninitialized = "FALSE", + altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ", + altsyncram_component.read_during_write_mode_port_b = "NEW_DATA_NO_NBE_READ", + altsyncram_component.widthad_a = 10, + altsyncram_component.widthad_b = 10, + altsyncram_component.width_a = 16, + altsyncram_component.width_b = 16, + altsyncram_component.width_byteena_a = 1, + altsyncram_component.width_byteena_b = 1, + altsyncram_component.wrcontrol_wraddress_reg_b = "CLOCK1"; + + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/DPRAM1024_1B.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/DPRAM1024_1B.v new file mode 100644 index 00000000..32434cef --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/DPRAM1024_1B.v @@ -0,0 +1,128 @@ +// megafunction wizard: %RAM: 2-PORT% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altsyncram + +// ============================================================ +// File Name: DPRAM1024_1B.v +// Megafunction Name(s): +// altsyncram +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 17.1.0 Build 590 10/25/2017 SJ Lite Edition +// ************************************************************ + + +//Copyright (C) 2017 Intel Corporation. All rights reserved. +//Your use of Intel Corporation's design tools, logic functions +//and other software and tools, and its AMPP partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Intel Program License +//Subscription Agreement, the Intel Quartus Prime License Agreement, +//the Intel FPGA IP License Agreement, or other applicable license +//agreement, including, without limitation, that your use is for +//the sole purpose of programming logic devices manufactured by +//Intel and sold by Intel or its authorized distributors. Please +//refer to the applicable agreement for further details. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module DPRAM1024_1B ( + address_a, + address_b, + clock_a, + clock_b, + data_a, + data_b, + wren_a, + wren_b, + q_a, + q_b); + + input [9:0] address_a; + input [9:0] address_b; + input clock_a; + input clock_b; + input [0:0] data_a; + input [0:0] data_b; + input wren_a; + input wren_b; + output [0:0] q_a; + output [0:0] q_b; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_off +`endif + tri1 clock_a; + tri0 wren_a; + tri0 wren_b; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_on +`endif + + wire [0:0] sub_wire0; + wire [0:0] sub_wire1; + wire [0:0] q_a = sub_wire0[0:0]; + wire [0:0] q_b = sub_wire1[0:0]; + + altsyncram altsyncram_component ( + .address_a (address_a), + .address_b (address_b), + .clock0 (clock_a), + .clock1 (clock_b), + .data_a (data_a), + .data_b (data_b), + .wren_a (wren_a), + .wren_b (wren_b), + .q_a (sub_wire0), + .q_b (sub_wire1), + .aclr0 (1'b0), + .aclr1 (1'b0), + .addressstall_a (1'b0), + .addressstall_b (1'b0), + .byteena_a (1'b1), + .byteena_b (1'b1), + .clocken0 (1'b1), + .clocken1 (1'b1), + .clocken2 (1'b1), + .clocken3 (1'b1), + .eccstatus (), + .rden_a (1'b1), + .rden_b (1'b1)); + defparam + altsyncram_component.address_reg_b = "CLOCK1", + altsyncram_component.clock_enable_input_a = "BYPASS", + altsyncram_component.clock_enable_input_b = "BYPASS", + altsyncram_component.clock_enable_output_a = "BYPASS", + altsyncram_component.clock_enable_output_b = "BYPASS", + altsyncram_component.indata_reg_b = "CLOCK1", + altsyncram_component.intended_device_family = "Cyclone III", + altsyncram_component.lpm_type = "altsyncram", + altsyncram_component.numwords_a = 1024, + altsyncram_component.numwords_b = 1024, + altsyncram_component.operation_mode = "BIDIR_DUAL_PORT", + altsyncram_component.outdata_aclr_a = "NONE", + altsyncram_component.outdata_aclr_b = "NONE", + altsyncram_component.outdata_reg_a = "CLOCK0", + altsyncram_component.outdata_reg_b = "CLOCK1", + altsyncram_component.power_up_uninitialized = "FALSE", + altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ", + altsyncram_component.read_during_write_mode_port_b = "NEW_DATA_NO_NBE_READ", + altsyncram_component.widthad_a = 10, + altsyncram_component.widthad_b = 10, + altsyncram_component.width_a = 1, + altsyncram_component.width_b = 1, + altsyncram_component.width_byteena_a = 1, + altsyncram_component.width_byteena_b = 1, + altsyncram_component.wrcontrol_wraddress_reg_b = "CLOCK1"; + + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FPGA_FLICKY.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FPGA_FLICKY.v new file mode 100644 index 00000000..66218757 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FPGA_FLICKY.v @@ -0,0 +1,156 @@ +/******************************************************************** + FPGA Implimentation of "FLICKY" (Top Module) + + Copyright (c) 2017,19 MiSTer-X +*********************************************************************/ +module FPGA_FLICKY +( + input clk48M, + input reset, + + input [7:0] INP0, + input [7:0] INP1, + input [7:0] INP2, + + input [7:0] DSW0, + input [7:0] DSW1, + output [2:0] video_r, + output [2:0] video_g, + output [1:0] video_b, + output video_hs, + output video_vs, + output video_hb, + output video_vb, + + output [15:0] SOUT, // Sound Out (PCM) + output [15:0] cpu_rom_addr, + input [7:0] cpu_rom_do, + output [14:0] spr_rom_addr, + input [7:0] spr_rom_do, + output [12:0] snd_rom_addr, + input [7:0] snd_rom_do, + output [13:0] tile_rom_addr, + input [23:0] tile_rom_do +); + +// Clocks +wire clk24M, clk12M, clk6M, clk3M, clk8M ; +CLKGEN clks( clk48M, clk24M, clk12M, clk6M, clk3M, clk8M ); + +// CPU +wire CPUCLn; +wire [15:0] CPUAD; +wire [7:0] CPUDO,VIDDO; +wire CPUWR,VIDCS,VBLK; +wire SNDRQ; + +FlickyMAIN Main ( + .RESET(reset), + .INP0(INP0), + .INP1(INP1), + .INP2(INP2), + .DSW0(DSW0), + .DSW1(DSW1), + .CLK48M(clk48M), + .CLK3M(clk3M), + .CPUCLn(CPUCLn), + .CPUAD(CPUAD), + .CPUDO(CPUDO), + .CPUWR(CPUWR), + .VBLK(VBLK), + .VIDCS(VIDCS), + .VIDDO(VIDDO), + .SNDRQ(SNDRQ), + .cpu_rom_addr(cpu_rom_addr), + .cpu_rom_do(cpu_rom_do) +); + +// Video +FlickyVIDEO Video ( + .VCLKx8(clk48M), + .VCLKx4(clk24M), + .VCLKx2(clk12M), + .VCLK(clk6M), + .PH(HPOS), + .PV(VPOS), + .VBLK(VBLK), + .RGB8(POUT), + .PALDSW(1'b0), + .cpu_cl(CPUCLn), + .cpu_ad(CPUAD), + .cpu_wr(CPUWR), + .cpu_dw(CPUDO), + .cpu_rd(VIDCS), + .cpu_dr(VIDDO), + .spr_rom_addr(spr_rom_addr), + .spr_rom_do(spr_rom_do), + .tile_rom_addr(tile_rom_addr), + .tile_rom_do(tile_rom_do) +); +assign PCLK = clk6M; + +// Sound +FlickySND Sound( + .clk8M(clk8M), + .reset(reset), + .sndno(CPUDO), + .sndstart(SNDRQ), + .sndout(SOUT), + .snd_rom_addr(snd_rom_addr), + .snd_rom_do(snd_rom_do) +); + +wire [8:0] HPOS; +wire [8:0] VPOS; +wire PCLK; +wire [7:0] POUT; + +hvgen hvgen( + .HPOS(HPOS), + .VPOS(VPOS), + .PCLK(PCLK), + .iRGB(POUT), + .oRGB({video_b,video_g,video_r}), + .HBLK(video_hb), + .VBLK(video_vb), + .HSYN(video_hs), + .VSYN(video_vs) +); + + +endmodule + + +//---------------------------------- +// Clock Generator +//---------------------------------- +module CLKGEN +( + input clk48M, + + output clk24M, + output clk12M, + output clk6M, + output clk3M, + + output reg clk8M +); + +reg [4:0] clkdiv; +always @( posedge clk48M ) clkdiv <= clkdiv+1; +assign clk24M = clkdiv[0]; +assign clk12M = clkdiv[1]; +assign clk6M = clkdiv[2]; +assign clk3M = clkdiv[3]; + +reg [1:0] count; +always @( posedge clk48M ) begin + if (count > 2'd2) begin + count <= count - 2'd2; + clk8M <= ~clk8M; + end + else count <= count + 2'd1; +end + +endmodule + diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickyMAIN.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickyMAIN.v new file mode 100644 index 00000000..431cfbf2 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickyMAIN.v @@ -0,0 +1,114 @@ +// Copyright (c) 2017,19 MiSTer-X + +module FlickyMAIN +( + input CLK48M, + input CLK3M, + + input RESET, + + input [7:0] INP0, + input [7:0] INP1, + input [7:0] INP2, + + input [7:0] DSW0, + input [7:0] DSW1, + + input VBLK, + input VIDCS, + input [7:0] VIDDO, + + output CPUCLn, + output [15:0] CPUAD, + output [7:0] CPUDO, + output CPUWR, + + output SNDRQ, + +// input ROMCL, // Downloaded ROM image +// input [24:0] ROMAD, +// input [7:0] ROMDT, +// input ROMEN + output [15:0] cpu_rom_addr, + input [7:0] cpu_rom_do +); + +wire AXSCL = CLK48M; +wire CPUCL = CLK3M; +assign CPUCLn = ~CPUCL; + +wire [7:0] CPUDI; +wire CPURD; + +wire cpu_cs_video; +wire [7:0] cpu_rd_video; + +wire cpu_m1; +wire cpu_mreq, cpu_iorq; +wire _cpu_rd, _cpu_wr; + +Z80IP maincpu( + .reset(RESET), + .clk(CPUCL), + .adr(CPUAD), + .data_in(CPUDI), + .data_out(CPUDO), + .m1(cpu_m1), + .mx(cpu_mreq), + .ix(cpu_iorq), + .rd(_cpu_rd), + .wr(_cpu_wr), + .intreq(VBLK), + .nmireq(1'b0) +); + +assign CPUWR = _cpu_wr & cpu_mreq; +assign CPURD = _cpu_rd & cpu_mreq; + +assign SNDRQ = (CPUAD[4:0] == 5'b1_1000) & cpu_iorq & _cpu_wr; + +wire cpu_cs_port1 = (CPUAD[4:2] == 3'b0_00) & cpu_iorq; +wire cpu_cs_port2 = (CPUAD[4:2] == 3'b0_01) & cpu_iorq; +wire cpu_cs_portS = (CPUAD[4:2] == 3'b0_10) & cpu_iorq; +wire cpu_cs_portA = (CPUAD[4:2] == 3'b0_11) & ~CPUAD[0] & cpu_iorq; +wire cpu_cs_portB =(((CPUAD[4:2] == 3'b0_11) & CPUAD[0]) | (CPUAD[4:0] == 5'b1_0000)) & cpu_iorq; +wire cpu_cs_portI = (CPUAD[4:2] == 3'b1_10) & cpu_iorq; + +wire [7:0] cpu_rd_port1 = INP0; +wire [7:0] cpu_rd_port2 = INP1; +wire [7:0] cpu_rd_portS = INP2; + +wire [7:0] cpu_rd_portA = DSW0; +wire [7:0] cpu_rd_portB = DSW1; + +wire [7:0] cpu_rd_mrom; +wire cpu_cs_mrom = 1'b1; + +assign cpu_rom_addr = CPUAD[15:0]; + +wire [7:0] cpu_rd_mram; +wire cpu_cs_mram = (CPUAD[15:12] == 4'b1100); +SRAM_4096 mainram(CPUCLn, CPUAD[11:0], cpu_rd_mram, cpu_cs_mram & CPUWR, CPUDO ); + +reg [7:0] vidmode; +always @(posedge CPUCLn) begin + if ((CPUAD[4:0] == 5'b1_1001) & cpu_iorq & _cpu_wr) begin + vidmode <= CPUDO; + end +end + +dataselector8 mcpudisel( + CPUDI, + VIDCS, VIDDO, + cpu_cs_port1, cpu_rd_port1, + cpu_cs_port2, cpu_rd_port2, + cpu_cs_portS, cpu_rd_portS, + cpu_cs_portA, cpu_rd_portA, + cpu_cs_portB, cpu_rd_portB, + cpu_cs_mram, cpu_rd_mram, + cpu_cs_mrom, cpu_rom_do, + 8'hFF +); + + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickySND.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickySND.v new file mode 100644 index 00000000..d79239b5 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickySND.v @@ -0,0 +1,214 @@ +// Copyright (c) 2017,19 MiSTer-X + +module FlickySND +( + input clk8M, + input reset, + + input [7:0] sndno, + input sndstart, + + output [15:0] sndout, + output [12:0] snd_rom_addr, + input [7:0] snd_rom_do +); + +//---------------------------------- +// ClockGen +//---------------------------------- +wire clk4M,clk2M; +SndClkGen clkgen(clk8M,clk4M,clk2M); + +wire cpuclkx2 = clk8M; +wire cpu_clk = clk4M; + + +//---------------------------------- +// Z80 (1.5625MHz) +//---------------------------------- +wire [15:0] cpu_ad; +wire [7:0] cpu_di, cpu_do; +wire cpu_mreq, cpu_iorq, cpu_rd, cpu_wr; +wire cpu_irq, cpu_nmi; +wire cpu_irqa, cpu_nmia; + +wire cpu_mw, cpu_cs_rom, cpu_cs_ram, cpu_wr_ram, cpu_cs_psg0, cpu_cs_psg1, cpu_cs_com; +SndADec adec( + cpu_mreq, cpu_wr, cpu_mw, + cpu_ad, cpu_cs_rom, cpu_cs_ram, cpu_wr_ram, cpu_cs_psg0, cpu_cs_psg1, cpu_cs_com +); + +Z80IP cpu( + .clk(cpu_clk), + .reset(reset), + .adr(cpu_ad), + .data_in(cpu_di), + .data_out(cpu_do), + .intreq(cpu_irq), + .intack(cpu_irqa), + .nmireq(cpu_nmi), + .nmiack(cpu_nmia), + .mx(cpu_mreq), + .ix(cpu_iorq), + .rd(cpu_rd), + .wr(cpu_wr) +); + +wire [7:0] rom_dt; // ROM +wire [7:0] ram_do; // RAM +wire [7:0] comlatch; // Sound Command Latch + +//DLROM #(13,8) subir( cpuclkx2, cpu_ad[12:0], rom_dt, ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_110)); // $1C000-$1DFFF +//snd_rom snd_rom( +// .clk(cpuclkx2), +// .addr(cpu_ad[12:0]), +// .data(rom_dt) +//); +assign snd_rom_addr = cpu_ad[12:0]; +assign rom_dt = snd_rom_do; + +SRAM_2048 wram( cpuclkx2, cpu_ad[10:0], ram_do, cpu_wr_ram, cpu_do ); + +dataselector3 scpudisel( + cpu_di, + cpu_cs_rom, rom_dt, + cpu_cs_ram, ram_do, + cpu_cs_com, comlatch, + 8'hFF +); + +SndPlayReq sndreq ( + clk4M, reset, + sndno, sndstart, + cpu_irq, cpu_irqa, + cpu_nmi, cpu_nmia, + comlatch +); + + +//---------------------------------- +// PSGs +//---------------------------------- +wire [7:0] psg0out, psg1out; + +SN76496 psg0( + clk2M, + cpu_clk, + reset, + cpu_cs_psg0, + cpu_mw, + cpu_do, + 4'b1111, + psg0out +); + +SN76496 psg1( + clk4M, + cpu_clk, + reset, + cpu_cs_psg1, + cpu_mw, + cpu_do, + 4'b1111, + psg1out +); + +wire [8:0] psgout = psg0out + psg1out; +assign sndout = { psgout, 6'h0 }; + +endmodule + + +module SndClkGen +( + input clk8M, + output clk4M, + output clk2M +); +reg [1:0] clkdiv; +always @ ( posedge clk8M ) clkdiv <= clkdiv+1; + +assign clk4M = clkdiv[0]; +assign clk2M = clkdiv[1]; + +endmodule + + +module SndADec +( + input cpu_mx, + input cpu_wr, + + output cpu_mw, + + input [15:0] cpu_ad, + output cpu_cs_rom, + output cpu_cs_ram, + output cpu_wr_ram, + output cpu_cs_psg0, + output cpu_cs_psg1, + output cpu_cs_com +); + +assign cpu_mw = cpu_mx & cpu_wr; + +assign cpu_cs_rom = ( cpu_ad[15] == 1'b0 ); +assign cpu_cs_psg0 = ( cpu_ad[15:12] == 4'HA ); +assign cpu_cs_psg1 = ( cpu_ad[15:12] == 4'HC ); +assign cpu_cs_com = ( cpu_ad[15:12] == 4'HE ); + +assign cpu_cs_ram = ( cpu_ad[15:12] == 4'h8 ); +assign cpu_wr_ram = cpu_cs_ram & cpu_mw; + +endmodule + + +//---------------------------------- +// Play Request & IRQ Generator +//---------------------------------- +module SndPlayReq +( + input clk4M, + input reset, + + input [7:0] sndno, + input sndstart, + + output reg cpu_irq, + input cpu_irqa, + + output reg cpu_nmi, + input cpu_nmia, + + output reg [7:0] comlatch +); + +reg [15:0] timercnt; +reg psndstart; + +always @( posedge clk4M or posedge reset ) begin + if ( reset ) begin + cpu_nmi <= 0; + cpu_irq <= 0; + comlatch <= 0; + timercnt <= 0; + psndstart <= 0; + end + else begin + if ( cpu_irqa ) cpu_irq <= 1'b0; + if ( cpu_nmia ) cpu_nmi <= 1'b0; + + if ( ( psndstart ^ sndstart ) & sndstart ) begin + comlatch <= sndno; + cpu_nmi <= 1'b1; + end + psndstart <= sndstart; + + if ( timercnt == 16666 ) cpu_irq <= 1'b1; + if ( timercnt == 33333 ) cpu_irq <= 1'b1; + + timercnt <= ( timercnt == 33333 ) ? 0 : (timercnt+1); // 1/60sec + end +end + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickySPRITE.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickySPRITE.v new file mode 100644 index 00000000..005088fc --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickySPRITE.v @@ -0,0 +1,247 @@ +// Copyright (c) 2017,19 MiSTer-X + +module FlickySPRITE +( + input VCLKx4, + input VCLK, + + input [8:0] PH, + input [8:0] PV, + + output [9:0] sprad, + input [15:0] sprdt, + + output [17:0] sprchad, + input [7:0] sprchdt, + + output reg sprcoll, + output reg [9:0] sprcoll_ad, + + output reg [10:0] sprpx +); + +wire [8:0] HPOS = PH+15; +wire [8:0] VPOS = PV; + +wire HB = HPOS[8]; + +reg [5:0] spr_num; +reg [2:0] spr_ofs; + +reg [1:0] phaseHB; +reg [7:0] svpos; +reg [5:0] hitsprnum [0:31]; +reg [7:0] hitsprvps [0:31]; +reg [4:0] hits; + +reg [3:0] phaseHD; +reg [4:0] hitr; +reg [7:0] yofs; +reg [8:0] xpos; +reg [2:0] bank; +reg [15:0] stride; +reg [15:0] srcadrs; +reg [1:0] waitcnt; +reg [7:0] rdat; +reg [10:0] wdat; +reg hflip; +reg nowflip; +reg we; + +wire [15:0] srca = sprdt[15:0] + (stride * yofs); + +wire [10:0] col0 = { 2'b00, spr_num[4:0], nowflip ? rdat[3:0] : rdat[7:4] }; +wire [10:0] col1 = { 2'b00, spr_num[4:0], nowflip ? rdat[7:4] : rdat[3:0] }; + +wire [10:0] _prevpix; +reg [10:0] prevpix; +wire side = VPOS[0]; + +wire [10:0] opix; +reg [9:0] rad0,rad1=1; +LineBuf lbuf( + VCLKx4, rad0, (rad0==rad1), opix, + VCLKx4, {~side,xpos}, wdat, we & (wdat[3:0] != 4'h0), _prevpix +); +always @(posedge VCLK) rad0 <= {side,HPOS}; +always @(negedge VCLK) begin + sprpx <= opix; + rad1 <= rad0; +end + +assign sprad = { spr_num, spr_ofs }; +assign sprchad = { bank, srcadrs[14:0] }; + +wire [9:0] sprcoll_adr = { spr_num[4:0], prevpix[8:4] }; + + +`define SPSTART 0 +`define SPEND 31 + +always @ ( negedge VCLKx4 ) begin + + // in H-Blank + if ( HB ) begin + + phaseHD <= 0; + we <= 1'b0; + sprcoll <= 1'b0; + + case ( phaseHB ) + + // initialize + 2'h0: begin + svpos <= VPOS+1; + spr_num <= `SPSTART; + spr_ofs <= 0; + hits <= 0; + phaseHB <= 2'h1; + end + + // check v-hit + 2'h1: begin + if ( sprdt[7:0] != 8'hFF ) begin + if ( ( svpos >= sprdt[7:0] ) & ( svpos < sprdt[15:8] ) ) begin + hitsprnum[hits] <= spr_num; + hitsprvps[hits] <= (svpos-sprdt[7:0])+1; + hits <= hits+1; + end + end + phaseHB <= ( spr_num == `SPEND ) ? 2'h2 : 2'h1; + spr_num <= spr_num+1; + end + + default:; + + endcase + + end + + // in H-Disp + else begin + + phaseHB <= 0; + + case ( phaseHD ) + + // initialize + 0: begin + hitr <= 0; + we <= 1'b0; + sprcoll <= 0; + phaseHD <= ( hits > 0 ) ? 1 : 15; + end + + // get hit sprite number + 1: begin + spr_num <= hitsprnum[hitr]; + spr_ofs <= 1; + phaseHD <= 2; + end + + // get yofs/xpos/bank + 2: begin + yofs <= hitsprvps[hitr]; + xpos <= sprdt[8:1]+14; + bank <= { sprdt[13], sprdt[14], sprdt[15] }; + spr_ofs <= 2; + phaseHD <= 3; + end + + // get stride + 3: begin + stride <= sprdt; + spr_ofs <= 3; + phaseHD <= 4; + end + + // get srcadrs & calc chiprom address + 4: begin + srcadrs <= srca; + hflip <= srca[15]; + waitcnt <= 3; + phaseHD <= 5; + end + + // wait chiprom setup + 5: begin + waitcnt <= waitcnt-1; + phaseHD <= ( waitcnt == 0 ) ? 6 : 5; + end + + // rendering to linebuf + 6: begin + sprcoll <= 1'b0; + we <= 1'b0; + rdat <= sprchdt; + nowflip <= srcadrs[15]; + srcadrs <= hflip ? (srcadrs-1) : (srcadrs+1); + phaseHD <= 7; + end + 7: begin + prevpix <= _prevpix; + if ( col0[3:0] != 4'hF ) begin + wdat <= col0; + we <= 1'b1; + phaseHD <= 8; + end + else begin + we <= 1'b0; + phaseHD <= 14; + end + end + 8: begin + // sprite collide process + we <= 1'b0; + if ( col0[3:0] != 4'h0 ) begin + if ( prevpix[3:0] != 4'h0 ) begin + sprcoll <= 1'b1; + sprcoll_ad <= sprcoll_adr; + end + end + xpos <= xpos+1; + phaseHD <= 9; + end + 9: begin + prevpix <= _prevpix; + sprcoll <= 1'b0; + if ( col1[3:0] != 4'hF ) begin + wdat <= col1; + we <= 1'b1; + phaseHD <= 10; + end + else begin + we <= 1'b0; + phaseHD <= 14; + end + end + 10: begin + // sprite collide process + we <= 1'b0; + if ( col1[3:0] != 4'h0 ) begin + if ( prevpix[3:0] != 4'h0 ) begin + sprcoll <= 1'b1; + sprcoll_ad <= sprcoll_adr; + end + end + xpos <= xpos+1; + phaseHD <= 6; + end + + // process next hit sprite + 14: begin + phaseHD <= ( hitr == (hits-1) ) ? 15 : 1; + hitr <= hitr+1; + end + + default: begin + we <= 1'b0; + sprcoll <= 1'b0; + end + + endcase + + end +end + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickyVIDEO.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickyVIDEO.v new file mode 100644 index 00000000..9b3c649a --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/FlickyVIDEO.v @@ -0,0 +1,605 @@ +// Copyright (c) 2017,19 MiSTer-X + +module FlickyVIDEO +( + input VCLKx8, + input VCLKx4, + input VCLKx2, + input VCLK, + + input [8:0] PH, + input [8:0] PV, + + output VBLK, + output [7:0] RGB8, + + input PALDSW, + + input cpu_cl, + input [15:0] cpu_ad, + input cpu_wr, + input [7:0] cpu_dw, + output cpu_rd, + output [7:0] cpu_dr, + output [14:0] spr_rom_addr, + input [7:0] spr_rom_do, + output [13:0] tile_rom_addr, + input [23:0] tile_rom_do +); + +// CPU Interface +wire [10:0] palno; +wire [7:0] palout; + +wire [9:0] sprad; +wire [15:0] sprdt; + +wire [9:0] vram0ad; +wire [15:0] vram0dt; +wire [9:0] vram1ad; +wire [15:0] vram1dt; + +wire [5:0] mixcoll_ad; +wire mixcoll; +wire [9:0] sprcoll_ad; +wire sprcoll; + +wire [15:0] scrx; +wire [7:0] scry; + +VIDCPUINTF intf( + cpu_cl, + cpu_ad, cpu_wr, cpu_dw, + cpu_rd, cpu_dr, + + VCLKx4, VCLK, + palno, palout, + sprad, sprdt, + vram0ad, vram0dt, + vram1ad, vram1dt, + mixcoll_ad, mixcoll, + sprcoll_ad, sprcoll, + scrx, scry +); + + +// HV Coordinate Generator +wire [8:0] HPOS, VPOS; +wire [8:0] BG0HP, BG0VP; +wire [8:0] BG1HP, BG1VP; +VIDHVGEN hv( + PH, PV, + scrx, scry, + HPOS, VPOS, + BG0HP, BG0VP, + BG1HP, BG1VP, + VBLK +); + + +// Sprite Engine +wire [10:0] SPRPX; +wire [14:0] sprchad; +wire [7:0] sprchdt; +//DLROM #(15,8) sprchr(VCLKx8,sprchad,sprchdt, ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:15]==2'b0_1)); // $08000-$0FFFF +spr_rom spr_rom( + .clk(VCLKx8), + .addr(sprchad), + .data(sprchdt) +); +//assign spr_rom_addr = sprchad; +//assign sprchdt = spr_rom_do; + + +FlickySPRITE sprite( + .VCLKx4(VCLKx4),.VCLK(VCLK), + .PH(HPOS),.PV(VPOS), + .sprad(sprad),.sprdt(sprdt), + .sprchad(sprchad),.sprchdt(sprchdt), + .sprcoll(sprcoll),.sprcoll_ad(sprcoll_ad), + .sprpx(SPRPX) +); + + +// BG Scanline Generator +wire [10:0] BG0PX, BG1PX; +wire [13:0] tile0ad, tile1ad, tilead; +wire [23:0] tile0dt, tile1dt, tiledt; +TileChrMUX tilemux(VCLKx8, tile0ad, tile0dt, tile1ad, tile1dt, tilead, tiledt); +//TILES +//FlickyTileChr tilechr(VCLKx8, tilead, tiledt, ROMCL,ROMAD,ROMDT,ROMEN ); +assign tile_rom_addr = tilead; +assign tiledt = tile_rom_do; +BGGEN bg0(VCLK,BG0HP,BG0VP,vram0ad,vram0dt,tile0ad,tile0dt,BG0PX); +BGGEN bg1(VCLK,BG1HP,BG1VP,vram1ad,vram1dt,tile1ad,tile1dt,BG1PX); + + +// Color Mixer & RGB Output +wire [7:0] cltidx,cltval; +//DLROM #(8,8) clut(VCLKx2, cltidx, cltval, ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:8]==9'b1_1110_0000) ); // $1E000-$1E0FF +clut clut( + .clk(VCLKx2), + .addr(cltidx), + .data(cltval) +); + +COLMIX cmix( + VCLK, + BG0PX, BG1PX, SPRPX, + PALDSW, HPOS, VPOS, + cltidx, cltval, + mixcoll, mixcoll_ad, + palno, palout, + RGB8 +); + +endmodule + + +//---------------------------------- +// CPU Interface +//---------------------------------- +module VIDCPUINTF +( + input cpu_cl, + input [15:0] cpu_ad, + input cpu_wr, + input [7:0] cpu_dw, + output cpu_rd, + output [7:0] cpu_dr, + + input VCLKx4, + input VCLK, + + input [10:0] palno, + output [7:0] palout, + + input [9:0] sprad, + output [15:0] sprdt, + + input [9:0] vram0ad, + output [15:0] vram0dt, + + input [9:0] vram1ad, + output [15:0] vram1dt, + + input [5:0] mixcoll_ad, + input mixcoll, + + input [9:0] sprcoll_ad, + input sprcoll, + + output reg [15:0] scrx, + output reg [7:0] scry +); + +// CPU Address Decoders +wire cpu_cs_palram; +wire cpu_cs_spram; +wire cpu_cs_mixcoll; +wire cpu_cs_sprcoll; +wire cpu_cs_vram0; +wire cpu_cs_vram1; + +wire cpu_wr_palram; +wire cpu_wr_spram; +wire cpu_wr_mixcoll; +wire cpu_wr_mixcollclr; +wire cpu_wr_sprcoll; +wire cpu_wr_sprcollclr; +wire cpu_wr_vram0; +wire cpu_wr_vram1; +wire cpu_wr_scrreg; + +VIDADEC adecs( + cpu_ad, + cpu_wr, + + cpu_cs_palram, + cpu_cs_spram, + cpu_cs_mixcoll, + cpu_cs_sprcoll, + cpu_cs_vram0, + cpu_cs_vram1, + + cpu_wr_palram, + cpu_wr_spram, + cpu_wr_mixcoll, + cpu_wr_mixcollclr, + cpu_wr_sprcoll, + cpu_wr_sprcollclr, + cpu_wr_vram0, + cpu_wr_vram1, + cpu_wr_scrreg, + + cpu_rd +); + +// Scroll Register +always @ ( posedge cpu_cl ) begin + if (cpu_wr_scrreg) begin + case({cpu_ad[6],cpu_ad[0]}) + 2'b11: scrx[15:8] <= cpu_dw; + 2'b10: scrx[ 7:0] <= cpu_dw; + 2'b01: scry <= cpu_dw; + 2'b00: ; + endcase + end +end + + +// Palette RAM +wire [7:0] cpu_rd_palram; +DPRAM2048 palram( + cpu_cl, cpu_ad[10:0], cpu_dw, cpu_wr_palram, + VCLK, palno, palout, cpu_rd_palram +); + + +// Sprite Attribute RAM +wire [7:0] cpu_rd_spram; +DPRAM2048_8_16 sprram( + cpu_cl, cpu_ad[10:0], cpu_dw, cpu_wr_spram, + VCLKx4, sprad, sprdt, cpu_rd_spram +); + + +// Collision RAM (Mixer & Sprite) +wire noclip = 1'b1; +wire [7:0] cpu_rd_mixcoll; +wire [7:0] cpu_rd_sprcoll; +COLLRAM_M mixc( + cpu_cl,cpu_ad[5:0],cpu_wr_mixcoll,cpu_wr_mixcollclr,cpu_rd_mixcoll, + VCLKx4,mixcoll_ad,mixcoll & noclip +); +COLLRAM_S sprc( + cpu_cl,cpu_ad[9:0],cpu_wr_sprcoll,cpu_wr_sprcollclr,cpu_rd_sprcoll, + VCLKx4,sprcoll_ad,sprcoll & noclip +); + + +// VRAM +wire [7:0] cpu_rd_vram0, cpu_rd_vram1; +VRAM vram0( + cpu_cl, cpu_ad[10:0], cpu_rd_vram0, cpu_dw, cpu_wr_vram0, + VCLKx4, vram0ad, vram0dt +); +VRAM vram1( + cpu_cl, cpu_ad[10:0], cpu_rd_vram1, cpu_dw, cpu_wr_vram1, + VCLKx4, vram1ad, vram1dt +); + + +// CPU Read Data Selector +dataselector6 videodsel( + cpu_dr, + cpu_cs_palram, cpu_rd_palram, + cpu_cs_vram0, cpu_rd_vram0, + cpu_cs_vram1, cpu_rd_vram1, + cpu_cs_spram, cpu_rd_spram, + cpu_cs_sprcoll, cpu_rd_sprcoll, + cpu_cs_mixcoll, cpu_rd_mixcoll, + 8'hFF +); + +endmodule + + +//---------------------------------- +// Tile ROM +//---------------------------------- +module TileChrMUX +( + input VCLKx8, + + input [13:0] tile0ad, + output reg [23:0] tile0dt, + + input [13:0] tile1ad, + output reg [23:0] tile1dt, + + output [13:0] tilead, + input [23:0] tiledt +); + +reg tphase; +always @(negedge VCLKx8) begin + if (tphase) tile1dt <= tiledt; + else tile0dt <= tiledt; + tphase <= ~tphase; +end +assign tilead = tphase ? tile1ad : tile0ad; + +endmodule +/* +module FlickyTileChr +( + input clk, + input [13:0] adr, + output [23:0] dat, + + input ROMCL, // Downloaded ROM image + input [24:0] ROMAD, + input [7:0] ROMDT, + input ROMEN +); + +wire [23:0] t0dt,t1dt; +assign dat = adr[13] ? t1dt : t0dt; + +//DLROM #(13,8) t00( clk, adr[12:0], t0dt[7:0] ,ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_000)); // $10000-$11FFF +//tile1 tile1( +// .clk(clk), +// .addr(adr[12:0]), +// .data(t0dt[7:0]) +//); + + +//DLROM #(13,8) t01( clk, adr[12:0], t0dt[15:8] ,ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_001)); // $12000-$13FFF +//DLROM #(13,8) t02( clk, adr[12:0], t0dt[23:16],ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_010)); // $14000-$15FFF + +//DLROM #(13,8) t10( clk, adr[12:0], t1dt[7:0] ,ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_011)); // $16000-$17FFF +//DLROM #(13,8) t11( clk, adr[12:0], t1dt[15:8] ,ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_100)); // $18000-$19FFF +//DLROM #(13,8) t12( clk, adr[12:0], t1dt[23:16],ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:13]==4'b1_101)); // $1A000-$1BFFF + +endmodule*/ + + +//---------------------------------- +// HV Coordinate Generator +//---------------------------------- +module VIDHVGEN +( + input [8:0] PH, + input [8:0] PV, + + input [15:0] scrx, + input [7:0] scry, + + output [8:0] HPOS, + output [8:0] VPOS, + + output [8:0] BG0HP, + output [8:0] BG0VP, + + output [8:0] BG1HP, + output [8:0] BG1VP, + + output VBLK +); + +assign VBLK = (PV == 8'd224) & (PH <= 8'd64); + +assign HPOS = PH+1; +assign VPOS = PV; + +wire [8:0] BGHSCR = (511-scrx[9:1])-10; +wire [8:0] BGVSCR = { 1'b0, scry }; + +assign BG0HP = BGHSCR+HPOS; +assign BG0VP = BGVSCR+VPOS; + +assign BG1HP = HPOS+3; +assign BG1VP = VPOS; + +endmodule + + +//---------------------------------- +// CPU Address Decoders +//---------------------------------- +module VIDADEC +( + input [15:0] cpu_ad, + input cpu_wr, + + output cpu_cs_palram, + output cpu_cs_spram, + output cpu_cs_mixcoll, + output cpu_cs_sprcoll, + output cpu_cs_vram0, + output cpu_cs_vram1, + + output cpu_wr_palram, + output cpu_wr_spram, + output cpu_wr_mixcoll, + output cpu_wr_mixcollclr, + output cpu_wr_sprcoll, + output cpu_wr_sprcollclr, + output cpu_wr_vram0, + output cpu_wr_vram1, + output cpu_wr_scrreg, + + output cpu_rd +); + +assign cpu_cs_palram = ( cpu_ad[15:11] == 5'b1101_1 ); +assign cpu_cs_spram = ( cpu_ad[15:11] == 5'b11010 ); +assign cpu_cs_mixcoll = ( cpu_ad[15:10] == 6'b1111_00 ); +wire cpu_cs_mixcollclr = ( cpu_ad[15:10] == 6'b1111_01 ); +assign cpu_cs_sprcoll = ( cpu_ad[15:10] == 6'b1111_10 ); +wire cpu_cs_sprcollclr = ( cpu_ad[15:10] == 6'b1111_11 ); +assign cpu_cs_vram0 = ( cpu_ad[15:11] == 5'b11100 ); +assign cpu_cs_vram1 = ( cpu_ad[15:11] == 5'b11101 ); +wire cpu_cs_scrreg = ((cpu_ad[15: 0] & 16'b1111_1111_1011_1110) == 16'b1110_1111_1011_1100); + + +assign cpu_wr_palram = cpu_cs_palram & cpu_wr; +assign cpu_wr_spram = cpu_cs_spram & cpu_wr; +assign cpu_wr_mixcoll = cpu_cs_mixcoll & cpu_wr; +assign cpu_wr_mixcollclr = cpu_cs_mixcollclr & cpu_wr; +assign cpu_wr_sprcoll = cpu_cs_sprcoll & cpu_wr; +assign cpu_wr_sprcollclr = cpu_cs_sprcollclr & cpu_wr; +assign cpu_wr_vram0 = cpu_cs_vram0 & cpu_wr; +assign cpu_wr_vram1 = cpu_cs_vram1 & cpu_wr; +assign cpu_wr_scrreg = cpu_cs_scrreg & cpu_wr; + + +assign cpu_rd = cpu_cs_palram | + cpu_cs_vram0 | + cpu_cs_vram1 | + cpu_cs_spram | + cpu_cs_sprcoll | + cpu_cs_mixcoll ; + +endmodule + + +//---------------------------------- +// BG Scanline Generator +//---------------------------------- +module BGGEN +( + input VCLK, + + input [8:0] HP, + input [8:0] VP, + + output [9:0] VRAMAD, + input [15:0] VRAMDT, + + output [13:0] TILEAD, + input [23:0] TILEDT, + + output [10:0] OPIX +); + +assign VRAMAD = { VP[7:3], HP[7:3] }; +assign TILEAD = { VRAMDT[15], VRAMDT[10:0], VP[2:0] }; + +reg [31:0] BGREG; +wire [23:0] BGCD = BGREG[23:0]; +wire [7:0] BGPN = BGREG[31:24]; + +wire [31:0] BGPIX; +always @( posedge VCLK ) BGREG <= BGPIX; + +dataselector1_32 pixsft( + BGPIX, + ( HP[2:0] != 2 ),{ BGPN, BGCD[22:0], 1'b0 }, + { VRAMDT[12:5], TILEDT } +); + +assign OPIX = { BGPN, BGCD[7], BGCD[15], BGCD[23] }; + +endmodule + + +//---------------------------------- +// Color Mixer & RGB Output +//---------------------------------- +module COLMIX +( + input VCLK, + + input [10:0] BG0PX, + input [10:0] BG1PX, + input [10:0] SPRPX, + + input PALDSW, + input [8:0] HPOS, + input [8:0] VPOS, + + output [7:0] cltidx, + input [7:0] cltval, + + output mixcoll, + output [5:0] mixcoll_ad, + + output [10:0] palno, + input [7:0] palout, + + output reg [7:0] RGB8 +); + +assign cltidx = { 1'b0, + BG0PX[10:9],(BG0PX[2:0]==0), + BG1PX[10:9],(BG1PX[2:0]==0), + (SPRPX[3:0]==0) +}; + +assign mixcoll = ~(cltval[2]); +assign mixcoll_ad = { cltval[3], SPRPX[8:4] }; + +wire [10:0] palno_i; +dataselector2_11 colsel( + palno_i, + cltval[1], ( 11'h400 | BG0PX[8:0] ), + cltval[0], ( 11'h200 | BG1PX[8:0] ), + ( 11'h000 | SPRPX[8:0] ) +); + +wire [10:0] palno_d = {HPOS[7],VPOS[7:2],HPOS[6:3]}; + +assign palno = PALDSW ? palno_d : palno_i; + +always @( negedge VCLK ) RGB8 <= palout; + +endmodule + + +//---------------------------------- +// Collision RAM +//---------------------------------- +module COLLRAM_M +( + input cpu_cl, + input [5:0] cpu_ad, + input cpu_wr_coll, + input cpu_wr_collclr, + output [7:0] cpu_rd_coll, + + input VCLKx4, + input [5:0] coll_ad, + input coll +); + +reg [63:0] core; +reg coll_rd, coll_sm; + +always @(posedge cpu_cl) coll_rd <= core[cpu_ad]; + +always @(posedge VCLKx4) begin + if (cpu_cl) begin + if (cpu_wr_coll) core[cpu_ad] <= 1'b0; + if (cpu_wr_collclr) coll_sm <= 1'b0; + end + else coll_sm <= coll; + if (coll) core[coll_ad] <= 1'b1; +end + +assign cpu_rd_coll = { coll_sm, 6'b111111, coll_rd }; + +endmodule + +module COLLRAM_S +( + input cpu_cl, + input [9:0] cpu_ad, + input cpu_wr_coll, + input cpu_wr_collclr, + output [7:0] cpu_rd_coll, + + input VCLKx4, + input [9:0] coll_ad, + input coll +); + +reg [1023:0] core; +reg coll_rd, coll_sm; + +always @(posedge cpu_cl) coll_rd <= core[cpu_ad]; + +always @(posedge VCLKx4) begin + if (cpu_cl) begin + if (cpu_wr_coll) core[cpu_ad] <= 1'b0; + if (cpu_wr_collclr) coll_sm <= 1'b0; + end + else coll_sm <= coll; + if (coll) core[coll_ad] <= 1'b1; +end + +assign cpu_rd_coll = { coll_sm, 6'b111111, coll_rd }; + +endmodule + diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/Flicky_MiST.sv b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/Flicky_MiST.sv new file mode 100644 index 00000000..f741edaf --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/Flicky_MiST.sv @@ -0,0 +1,282 @@ + +module Flicky_MiST( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27, + + output [12:0] SDRAM_A, + inout [15:0] SDRAM_DQ, + output SDRAM_DQML, + output SDRAM_DQMH, + output SDRAM_nWE, + output SDRAM_nCAS, + output SDRAM_nRAS, + output SDRAM_nCS, + output [1:0] SDRAM_BA, + output SDRAM_CLK, + output SDRAM_CKE +); + +`include "rtl/build_id.v" + +localparam CONF_STR = { + "STARJACK;ROM;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + + "O89,Lives,3,4,5,Infinite;", + "OAB,Extend,30k/80k/160k,30k/100k/200k,40k/120k/240k,40k/140k/280k;", + "OC,Difficulty,Easy,Hard;", + + "T0,Reset;", + "V,v1.0.",`BUILD_DATE +}; + + +wire [1:0] scanlines = status[4:3]; +wire blend = status[5]; +wire [1:0] dsLives = ~status[9:8]; +wire [1:0] dsExtend = ~status[11:10]; +wire dsDifclt = ~status[12]; + + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = sdram_clk; +assign SDRAM_CKE = 1; +assign AUDIO_R = AUDIO_L; + +wire clk_sys, sdram_clk; +wire pll_locked; +pll_mist pll( + .inclk0(CLOCK_27), + .c0(clk_sys),//48 + .c1(sdram_clk),//96 + .locked(pll_locked) + ); + +wire [31:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [7:0] joystick_0; +wire [7:0] joystick_1; +wire key_pressed; +wire key_strobe; +wire [7:0] key_code; +wire scandoublerD; +wire ypbpr; +wire no_csync; + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_sys ), + .conf_str (CONF_STR ), + .SPI_CLK (SPI_SCK ), + .SPI_SS_IO (CONF_DATA0 ), + .SPI_MISO (SPI_DO ), + .SPI_MOSI (SPI_DI ), + .buttons (buttons ), + .switches (switches ), + .scandoubler_disable (scandoublerD ), + .ypbpr (ypbpr ), + .no_csync (no_csync ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joystick_0 ), + .joystick_1 (joystick_1 ), + .status (status ) + ); + +wire [15:0] audio; +wire hs, vs, cs, hb, vb; +wire blankn = ~(hb | vb); +wire [2:0] g, r; +wire [1:0] b; +wire [15:0] rom_addr; +wire [15:0] rom_do; +wire [14:0] spr_rom_addr; +wire [15:0] spr_rom_do; +wire [12:0] snd_rom_addr; +wire [15:0] snd_rom_do; +wire [13:0] tile_rom_addr; +wire [23:0] tile_rom_do; +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; + +data_io data_io( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS2 ( SPI_SS2 ), + .SPI_DI ( SPI_DI ), + .ioctl_download( ioctl_downl ), + .ioctl_index ( ioctl_index ), + .ioctl_wr ( ioctl_wr ), + .ioctl_addr ( ioctl_addr ), + .ioctl_dout ( ioctl_dout ) +); + + +reg port1_req, port2_req; +wire [24:0] tl_ioctl_addr = ioctl_addr - 17'h1A000; +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( sdram_clk ), + + // port1 used for main + sound CPUs + .port1_req ( port1_req ), + .port1_ack ( ), + .port1_a ( ioctl_addr[23:1] ), + .port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port1_we ( ioctl_downl ), + .port1_d ( {ioctl_dout, ioctl_dout} ), + .port1_q ( ), + + .cpu1_addr ( ioctl_downl ? 16'hffff : {1'b0, rom_addr[15:1]}), + .cpu1_q ( rom_do ), + .cpu2_addr ( ioctl_downl ? 16'hffff : (17'h10000 + spr_rom_addr[14:1]) ), + .cpu2_q ( spr_rom_do ), + .cpu3_addr ( ioctl_downl ? 16'hffff : (16'h8000 + snd_rom_addr[12:1]) ), + .cpu3_q ( snd_rom_do ), + + // port2 for sprite graphics + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( {tl_ioctl_addr[17:16], tl_ioctl_addr[13:0], tl_ioctl_addr[15]} ), // merge tile roms to 32-bit wide words + .port2_ds ( {tl_ioctl_addr[14], ~tl_ioctl_addr[14]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .sp_addr ( ioctl_downl ? 15'h7fff : tile_rom_addr ), + .sp_q ( tile_rom_do ) +); + +always @(posedge clk_sys) begin + reg ioctl_wr_last = 0; + + ioctl_wr_last <= ioctl_wr; + if (ioctl_downl) begin + if (~ioctl_wr_last && ioctl_wr) begin + port1_req <= ~port1_req; + port2_req <= ~port2_req; + end + end +end + +reg reset = 1; +reg rom_loaded = 0; +always @(posedge sdram_clk) begin + reg ioctl_downlD; + ioctl_downlD <= ioctl_downl; + + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded; +end + +wire [7:0] INP0 = ~{m_left, m_right,3'd0,m_fireA,2'd0}; +wire [7:0] INP1 = ~{m_left2,m_right2,3'd0,m_fire2A,2'd0}; +wire [7:0] INP2 = ~{2'd0,m_two_players, m_one_player,3'd0, m_coin1}; + +wire [7:0] DSW0 = 8'hFF; +wire [7:0] DSW1 = {dsDifclt,dsExtend,dsLives,2'b00}; + +FPGA_FLICKY FPGA_FLICKY( + .clk48M(clk_sys), + .reset(reset), + + .INP0(INP0), + .INP1(INP1), + .INP2(INP2), + + .DSW0(DSW0), + .DSW1(DSW1), + .video_r(r), + .video_g(g), + .video_b(b), + .video_hs(hs), + .video_vs(vs), + .video_hb(hb), + .video_vb(vb), + .cpu_rom_addr(rom_addr), + .cpu_rom_do( rom_addr[0] ? rom_do[15:8] : rom_do[7:0] ), + .snd_rom_addr(snd_rom_addr), + .snd_rom_do(snd_rom_addr[0] ? snd_rom_do[15:8] : snd_rom_do[7:0] ), + .spr_rom_addr(spr_rom_addr),//Internal for now + .spr_rom_do(spr_rom_addr[0] ? spr_rom_do[15:8] : spr_rom_do[7:0] ), + .tile_rom_addr(tile_rom_addr), + .tile_rom_do(tile_rom_do), + .SOUT(audio) +); + + +mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? {b,b[1]} : 0 ), + .HSync ( hs ), + .VSync ( vs ), + .VGA_R ( VGA_R ), + .VGA_G ( VGA_G ), + .VGA_B ( VGA_B ), + .VGA_VS ( VGA_VS ), + .VGA_HS ( VGA_HS ), + .ce_divider ( 1'b0 ), + .blend ( blend ), + .rotate ( 2'b0 ), + .scandoubler_disable(scandoublerD ), + .scanlines ( scanlines ), + .ypbpr ( ypbpr ), + .no_csync ( no_csync ) + ); + +dac #( + .C_bits(16)) +dac( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio), + .dac_o(AUDIO_L) + ); + +wire m_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF; +wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F; +wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players; + +arcade_inputs inputs ( + .clk ( clk_sys ), + .key_strobe ( key_strobe ), + .key_pressed ( key_pressed ), + .key_code ( key_code ), + .joystick_0 ( joystick_0 ), + .joystick_1 ( joystick_1 ), + .rotate ( 1'b0 ), + .orientation ( 2'b00 ), + .joyswap ( 1'b0 ), + .oneplayer ( 1'b1 ), + .controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ), + .player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ), + .player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} ) +); + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/Flicky_MiST.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/Flicky_MiST.v new file mode 100644 index 00000000..14ecad99 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/Flicky_MiST.v @@ -0,0 +1,41 @@ +module HVGEN +( + output [8:0] HPOS, + output [8:0] VPOS, + input PCLK, + input [14:0] iRGB, + + output reg [14:0] oRGB, + output reg HBLK = 1, + output reg VBLK = 1, + output reg HSYN = 1, + output reg VSYN = 1 +); + +reg [8:0] hcnt = 0; +reg [8:0] vcnt = 0; + +assign HPOS = hcnt-16; +assign VPOS = vcnt; + +always @(posedge PCLK) begin + case (hcnt) + 15: begin HBLK <= 0; hcnt <= hcnt+1; end + 272: begin HBLK <= 1; hcnt <= hcnt+1; end + 311: begin HSYN <= 0; hcnt <= hcnt+1; end + 342: begin HSYN <= 1; hcnt <= 471; end + 511: begin hcnt <= 0; + case (vcnt) + 223: begin VBLK <= 1; vcnt <= vcnt+1; end + 226: begin VSYN <= 0; vcnt <= vcnt+1; end + 233: begin VSYN <= 1; vcnt <= 483; end + 511: begin VBLK <= 0; vcnt <= 0; end + default: vcnt <= vcnt+1; + endcase + end + default: hcnt <= hcnt+1; + endcase + oRGB <= (HBLK|VBLK) ? 15'h0 : iRGB; +end + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/SN76496.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/SN76496.v new file mode 100644 index 00000000..7ffa7fdd --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/SN76496.v @@ -0,0 +1,174 @@ +// Copyright (c) 2017,19 MiSTer-X + +module SN76496 +( + input clk, + input cpuclk, + input reset, + input ce, + input we, + input [7:0] data, + input [3:0] chmsk, + output reg [7:0] sndout, + output reg [3:0] chactv, + output reg [2:0] lreg +); + +`define RNGINI 16'h0F35 +`define RNGFB0 16'h4000 +`define RNGFB1 16'h8100 + +function [5:0] voltbl; +input [3:0] idx; + case (idx) + 4'h0: voltbl = 63; + 4'h1: voltbl = 50; + 4'h2: voltbl = 40; + 4'h3: voltbl = 32; + 4'h4: voltbl = 25; + 4'h5: voltbl = 20; + 4'h6: voltbl = 16; + 4'h7: voltbl = 13; + 4'h8: voltbl = 10; + 4'h9: voltbl = 8; + 4'hA: voltbl = 6; + 4'hB: voltbl = 5; + 4'hC: voltbl = 4; + 4'hD: voltbl = 3; + 4'hE: voltbl = 2; + 4'hF: voltbl = 0; + endcase +endfunction + +reg [3:0] clks; + +reg [2:0] nzc; +reg [9:0] fq0, fq1, fq2; +reg [9:0] fc0, fc1, fc2; +reg [5:0] fv0, fv1, fv2, fv3; +reg [5:0] _fv0,_fv1,_fv2,_fv3; +reg fo0, fo1, fo2; + +reg [15:0] rng = `RNGINI; +wire [15:0] rfb = rng[0] ? ( nzc[2] ? `RNGFB1 : `RNGFB0 ) : 16'h0; + +wire [1:0] nfq = nzc[1:0]; +wire [10:0] fq3 = ( nfq == 2'b00 ) ? 64 : + ( nfq == 2'b01 ) ? 128 : + ( nfq == 2'b10 ) ? 256 : fq2; +reg [10:0] fc3; +wire fo3 = rng[0]; + +wire [7:0] o0 = ( fo0 & chmsk[0] ) ? { 1'b0, fv0, 1'b0 } : 8'h0; +wire [7:0] o1 = ( fo1 & chmsk[1] ) ? { 1'b0, fv1, 1'b0 } : 8'h0; +wire [7:0] o2 = ( fo2 & chmsk[2] ) ? { 1'b0, fv2, 1'b0 } : 8'h0; +wire [7:0] o3 = ( fo3 & chmsk[3] ) ? { 1'b0, fv3, 1'b0 } : 8'h0; + +wire [8:0] sndmix = o0 + o1 + o2 + o3; + +always @( posedge cpuclk or posedge reset ) begin + if ( reset ) begin + lreg <= 0; + _fv0 <= 0; + _fv1 <= 0; + _fv2 <= 0; + _fv3 <= 0; + fq0 <= 0; + fq1 <= 0; + fq2 <= 0; + nzc <= 0; + chactv <= 0; + end + else begin + // Register write + if ( ce & we ) begin + if ( data[7] ) begin + lreg <= data[6:4]; + case ( data[6:4] ) + 3'h0: fq0[3:0] <= data[3:0]; + 3'h2: fq1[3:0] <= data[3:0]; + 3'h4: fq2[3:0] <= data[3:0]; + 3'h1: begin _fv0 <= voltbl(data[3:0]); chactv[0] <= (~data[3]); end + 3'h3: begin _fv1 <= voltbl(data[3:0]); chactv[1] <= (~data[3]); end + 3'h5: begin _fv2 <= voltbl(data[3:0]); chactv[2] <= (~data[3]); end + 3'h7: begin _fv3 <= voltbl(data[3:0]); chactv[3] <= (~data[3]); end + 3'h6: begin nzc <= data[2:0]; end + endcase + end + else begin + case ( lreg ) + 3'h0: fq0[9:4] <= data[5:0]; + 3'h2: fq1[9:4] <= data[5:0]; + 3'h4: fq2[9:4] <= data[5:0]; + default: begin end + endcase + end + end + end +end + + +always @( posedge clk or posedge reset ) begin + // Reset + if ( reset ) begin + sndout <= 0; + fv0 <= 0; + fv1 <= 0; + fv2 <= 0; + fv3 <= 0; + fc0 <= 0; + fc1 <= 0; + fc2 <= 0; + fc3 <= 0; + fo0 <= 0; + fo1 <= 0; + fo2 <= 0; + clks <= 0; + rng <= `RNGINI; + end + else begin + + // OSCs update + clks <= clks+1; + if ( clks == 0 ) begin + + fv0 <= _fv0; + fv1 <= _fv1; + fv2 <= _fv2; + fv3 <= _fv3; + + if ( fc0 == 0 ) begin + fc0 <= fq0; + fo0 <= ~fo0; + end + else fc0 <= fc0-1; + + if ( fc1 == 0 ) begin + fc1 <= fq1; + fo1 <= ~fo1; + end + else fc1 <= fc1-1; + + if ( fc2 == 0 ) begin + fc2 <= fq2; + fo2 <= ~fo2; + end + else fc2 <= fc2-1; + + // NoiseGen update + if ( fc3 == 0 ) begin + fc3 <= fq3; + rng <= { 1'b0, rng[15:1] } ^ rfb; + end + else fc3 <= fc3-1; + + // Sound update + sndout <= {8{sndmix[8]}}|(sndmix[7:0]); + + end + + end + +end + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/build_id.tcl b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/hvgen.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/hvgen.v new file mode 100644 index 00000000..8ee40db9 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/hvgen.v @@ -0,0 +1,41 @@ +module hvgen +( + output [8:0] HPOS, + output [8:0] VPOS, + input PCLK, + input [14:0] iRGB, + + output reg [14:0] oRGB, + output reg HBLK = 1, + output reg VBLK = 1, + output reg HSYN = 1, + output reg VSYN = 1 +); + +reg [8:0] hcnt = 0; +reg [8:0] vcnt = 0; + +assign HPOS = hcnt-16; +assign VPOS = vcnt; + +always @(posedge PCLK) begin + case (hcnt) + 15: begin HBLK <= 0; hcnt <= hcnt+1; end + 272: begin HBLK <= 1; hcnt <= hcnt+1; end + 311: begin HSYN <= 0; hcnt <= hcnt+1; end + 342: begin HSYN <= 1; hcnt <= 471; end + 511: begin hcnt <= 0; + case (vcnt) + 223: begin VBLK <= 1; vcnt <= vcnt+1; end + 226: begin VSYN <= 0; vcnt <= vcnt+1; end + 233: begin VSYN <= 1; vcnt <= 483; end + 511: begin VBLK <= 0; vcnt <= 0; end + default: vcnt <= vcnt+1; + endcase + end + default: hcnt <= hcnt+1; + endcase + oRGB <= (HBLK|VBLK) ? 15'h0 : iRGB; +end + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/parts.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/parts.v new file mode 100644 index 00000000..ddb4bd8c --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/parts.v @@ -0,0 +1,389 @@ +// Copyright (c) 2017,19 MiSTer-X +/* +module DLROM #(parameter AW,parameter DW) +( + input CL0, + input [(AW-1):0] AD0, + output reg [(DW-1):0] DO0, + + input CL1, + input [(AW-1):0] AD1, + input [(DW-1):0] DI1, + input WE1 +); + +reg [(DW-1):0] core[0:((2**AW)-1)]; + +always @(posedge CL0) DO0 <= core[AD0]; +always @(posedge CL1) if (WE1) core[AD1] <= DI1; + +endmodule*/ + + +//---------------------------------- +// 2K SRAM +//---------------------------------- +module SRAM_2048( CL, ADRS, OUT, WR, IN ); + +input CL; +input [10:0] ADRS; +output [7:0] OUT; +input WR; +input [7:0] IN; + + +reg [7:0] ramcore [0:2047]; +reg [7:0] OUT; + +always @( posedge CL ) begin + if (WR) ramcore[ADRS] <= IN; + else OUT <= ramcore[ADRS]; +end + + +endmodule + + +//---------------------------------- +// 4K SRAM +//---------------------------------- +module SRAM_4096( + input clk, + input [11:0] adrs, + output reg [7:0] out, + input wr, + input [7:0] in +); + +reg [7:0] ramcore [0:4095]; + +always @( posedge clk ) begin + if (wr) ramcore[adrs] <= in; + else out <= ramcore[adrs]; +end + +endmodule + + +//---------------------------------- +// DualPort RAM +//---------------------------------- +module DPRAM2048 +( + input clk0, + input [10:0] adr0, + input [7:0] dat0, + input wen0, + + input clk1, + input [10:0] adr1, + output reg [7:0] dat1, + + output reg [7:0] dtr0 +); + +reg [7:0] core [0:2047]; + +always @( posedge clk0 ) begin + if (wen0) core[adr0] <= dat0; + else dtr0 <= core[adr0]; +end + +always @( posedge clk1 ) begin + dat1 <= core[adr1]; +end + +endmodule + + +module DPRAM1024 +( + input clk0, + input [9:0] adr0, + input [7:0] dat0, + input wen0, + + input clk1, + input [9:0] adr1, + output reg [7:0] dat1, + + output reg [7:0] dtr0 +); + +reg [7:0] core [0:1023]; + +always @( posedge clk0 ) begin + if (wen0) core[adr0] <= dat0; + else dtr0 <= core[adr0]; +end + +always @( posedge clk1 ) begin + dat1 <= core[adr1]; +end + +endmodule + + +module DPRAM2048_8_16 +( + input clk0, + input [10:0] adr0, + input [7:0] dat0, + input wen0, + + input clk1, + input [9:0] adr1, + output [15:0] dat1, + + output [7:0] dtr0 +); + +wire [7:0] do0, do1; +wire [7:0] doH, doL; + +DPRAM1024 core0( clk0, adr0[10:1], dat0, wen0 & (~adr0[0]), clk1, adr1, doL, do0 ); +DPRAM1024 core1( clk0, adr0[10:1], dat0, wen0 & adr0[0], clk1, adr1, doH, do1 ); + +assign dtr0 = adr0[0] ? do1 : do0; +assign dat1 = { doH, doL }; + +endmodule + + +//---------------------------------- +// VRAM +//---------------------------------- +module VRAMs +( + input clk0, + input [9:0] adr0, + output reg [7:0] dat0, + input [7:0] dtw0, + input wen0, + + input clk1, + input [9:0] adr1, + output reg [7:0] dat1 +); + +reg [7:0] core [0:1023]; + +always @( posedge clk0 ) begin + if (wen0) core[adr0] <= dtw0; + else dat0 <= core[adr0]; +end + +always @( posedge clk1 ) begin + dat1 <= core[adr1]; +end + +endmodule + +module VRAM +( + input clk0, + input [10:0] adr0, + output [7:0] dat0, + input [7:0] dtw0, + input wen0, + + input clk1, + input [9:0] adr1, + output [15:0] dat1 +); + +wire even = ~adr0[0]; +wire odd = adr0[0]; + +wire [7:0] do00, do01, do10, do11; +VRAMs ram0( clk0, adr0[10:1], do00, dtw0, wen0 & even, clk1, adr1, do10 ); +VRAMs ram1( clk0, adr0[10:1], do01, dtw0, wen0 & odd, clk1, adr1, do11 ); + +assign dat0 = adr0[0] ? do01 : do00; +assign dat1 = { do11, do10 }; + +endmodule + + +//---------------------------------- +// ScanLine Buffer +//---------------------------------- +module LineBuf +( + input clkr, + input [9:0] radr, + input clre, + output [10:0] rdat, + + input clkw, + input [9:0] wadr, + input [10:0] wdat, + input we, + output [10:0] rdat1 +); + +DPRAM1024_11B core ( + radr,wadr, + clkr,clkw, + 16'h0,{5'h0,wdat}, + clre,we, + rdat,rdat1 +); + +endmodule + + +//---------------------------------- +// Data Selector (32bits) +//---------------------------------- +module dataselector1_32( + + output [31:0] oDATA, + + input iSEL0, + input [31:0] iDATA0, + + input [31:0] dData +); + +assign oDATA = iSEL0 ? iDATA0 : + dData; + +endmodule + + +//---------------------------------- +// Data Selector 3 to 1 +//---------------------------------- +module dataselector3( + + output [7:0] oDATA, + + input iSEL0, + input [7:0] iDATA0, + + input iSEL1, + input [7:0] iDATA1, + + input iSEL2, + input [7:0] iDATA2, + + input [7:0] dData +); + +assign oDATA = iSEL0 ? iDATA0 : + iSEL1 ? iDATA1 : + iSEL2 ? iDATA2 : + dData; + +endmodule + + +//---------------------------------- +// Data Selector 2 to 1 (11bits) +//---------------------------------- +module dataselector2_11( + + output [10:0] oDATA, + + input iSEL0, + input [10:0] iDATA0, + + input iSEL1, + input [10:0] iDATA1, + + input [10:0] dData +); + +assign oDATA = iSEL0 ? iDATA0 : + iSEL1 ? iDATA1 : + dData; + +endmodule + + +//---------------------------------- +// Data Selector 8 to 1 +//---------------------------------- +module dataselector8( + + output [7:0] oDATA, + + input iSEL0, + input [7:0] iDATA0, + + input iSEL1, + input [7:0] iDATA1, + + input iSEL2, + input [7:0] iDATA2, + + input iSEL3, + input [7:0] iDATA3, + + input iSEL4, + input [7:0] iDATA4, + + input iSEL5, + input [7:0] iDATA5, + + input iSEL6, + input [7:0] iDATA6, + + input iSEL7, + input [7:0] iDATA7, + + input [7:0] dData +); + +assign oDATA = iSEL0 ? iDATA0 : + iSEL1 ? iDATA1 : + iSEL2 ? iDATA2 : + iSEL3 ? iDATA3 : + iSEL4 ? iDATA4 : + iSEL5 ? iDATA5 : + iSEL6 ? iDATA6 : + iSEL7 ? iDATA7 : + dData; + +endmodule + +//---------------------------------- +// Data Selector 6 to 1 +//---------------------------------- +module dataselector6( + + output [7:0] oDATA, + + input iSEL0, + input [7:0] iDATA0, + + input iSEL1, + input [7:0] iDATA1, + + input iSEL2, + input [7:0] iDATA2, + + input iSEL3, + input [7:0] iDATA3, + + input iSEL4, + input [7:0] iDATA4, + + input iSEL5, + input [7:0] iDATA5, + + input [7:0] dData +); + +assign oDATA = iSEL0 ? iDATA0 : + iSEL1 ? iDATA1 : + iSEL2 ? iDATA2 : + iSEL3 ? iDATA3 : + iSEL4 ? iDATA4 : + iSEL5 ? iDATA5 : + dData; + +endmodule + + diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/pll_mist.qip b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/pll_mist.qip new file mode 100644 index 00000000..6182871f --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/pll_mist.qip @@ -0,0 +1,4 @@ +set_global_assignment -name IP_TOOL_NAME "ALTPLL" +set_global_assignment -name IP_TOOL_VERSION "13.1" +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "pll_mist.v"] +set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll_mist.ppf"] diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/pll_mist.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/pll_mist.v new file mode 100644 index 00000000..cb06e165 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/pll_mist.v @@ -0,0 +1,337 @@ +// megafunction wizard: %ALTPLL% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altpll + +// ============================================================ +// File Name: pll_mist.v +// Megafunction Name(s): +// altpll +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 13.1.0 Build 162 10/23/2013 SJ Web Edition +// ************************************************************ + + +//Copyright (C) 1991-2013 Altera Corporation +//Your use of Altera Corporation's design tools, logic functions +//and other software and tools, and its AMPP partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Altera Program License +//Subscription Agreement, Altera MegaCore Function License +//Agreement, or other applicable license agreement, including, +//without limitation, that your use is for the sole purpose of +//programming logic devices manufactured by Altera and sold by +//Altera or its authorized distributors. Please refer to the +//applicable agreement for further details. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module pll_mist ( + inclk0, + c0, + c1, + locked); + + input inclk0; + output c0; + output c1; + output locked; + + wire [4:0] sub_wire0; + wire sub_wire2; + wire [0:0] sub_wire6 = 1'h0; + wire [0:0] sub_wire3 = sub_wire0[0:0]; + wire [1:1] sub_wire1 = sub_wire0[1:1]; + wire c1 = sub_wire1; + wire locked = sub_wire2; + wire c0 = sub_wire3; + wire sub_wire4 = inclk0; + wire [1:0] sub_wire5 = {sub_wire6, sub_wire4}; + + altpll altpll_component ( + .inclk (sub_wire5), + .clk (sub_wire0), + .locked (sub_wire2), + .activeclock (), + .areset (1'b0), + .clkbad (), + .clkena ({6{1'b1}}), + .clkloss (), + .clkswitch (1'b0), + .configupdate (1'b0), + .enable0 (), + .enable1 (), + .extclk (), + .extclkena ({4{1'b1}}), + .fbin (1'b1), + .fbmimicbidir (), + .fbout (), + .fref (), + .icdrclk (), + .pfdena (1'b1), + .phasecounterselect ({4{1'b1}}), + .phasedone (), + .phasestep (1'b1), + .phaseupdown (1'b1), + .pllena (1'b1), + .scanaclr (1'b0), + .scanclk (1'b0), + .scanclkena (1'b1), + .scandata (1'b0), + .scandataout (), + .scandone (), + .scanread (1'b0), + .scanwrite (1'b0), + .sclkout0 (), + .sclkout1 (), + .vcooverrange (), + .vcounderrange ()); + defparam + altpll_component.bandwidth_type = "AUTO", + altpll_component.clk0_divide_by = 9, + altpll_component.clk0_duty_cycle = 50, + altpll_component.clk0_multiply_by = 16, + altpll_component.clk0_phase_shift = "0", + altpll_component.clk1_divide_by = 9, + altpll_component.clk1_duty_cycle = 50, + altpll_component.clk1_multiply_by = 32, + altpll_component.clk1_phase_shift = "0", + altpll_component.compensate_clock = "CLK0", + altpll_component.inclk0_input_frequency = 37037, + altpll_component.intended_device_family = "Cyclone III", + altpll_component.lpm_hint = "CBX_MODULE_PREFIX=pll_mist", + altpll_component.lpm_type = "altpll", + altpll_component.operation_mode = "NORMAL", + altpll_component.pll_type = "AUTO", + altpll_component.port_activeclock = "PORT_UNUSED", + altpll_component.port_areset = "PORT_UNUSED", + altpll_component.port_clkbad0 = "PORT_UNUSED", + altpll_component.port_clkbad1 = "PORT_UNUSED", + altpll_component.port_clkloss = "PORT_UNUSED", + altpll_component.port_clkswitch = "PORT_UNUSED", + altpll_component.port_configupdate = "PORT_UNUSED", + altpll_component.port_fbin = "PORT_UNUSED", + altpll_component.port_inclk0 = "PORT_USED", + altpll_component.port_inclk1 = "PORT_UNUSED", + altpll_component.port_locked = "PORT_USED", + altpll_component.port_pfdena = "PORT_UNUSED", + altpll_component.port_phasecounterselect = "PORT_UNUSED", + altpll_component.port_phasedone = "PORT_UNUSED", + altpll_component.port_phasestep = "PORT_UNUSED", + altpll_component.port_phaseupdown = "PORT_UNUSED", + altpll_component.port_pllena = "PORT_UNUSED", + altpll_component.port_scanaclr = "PORT_UNUSED", + altpll_component.port_scanclk = "PORT_UNUSED", + altpll_component.port_scanclkena = "PORT_UNUSED", + altpll_component.port_scandata = "PORT_UNUSED", + altpll_component.port_scandataout = "PORT_UNUSED", + altpll_component.port_scandone = "PORT_UNUSED", + altpll_component.port_scanread = "PORT_UNUSED", + altpll_component.port_scanwrite = "PORT_UNUSED", + altpll_component.port_clk0 = "PORT_USED", + altpll_component.port_clk1 = "PORT_USED", + altpll_component.port_clk2 = "PORT_UNUSED", + altpll_component.port_clk3 = "PORT_UNUSED", + altpll_component.port_clk4 = "PORT_UNUSED", + altpll_component.port_clk5 = "PORT_UNUSED", + altpll_component.port_clkena0 = "PORT_UNUSED", + altpll_component.port_clkena1 = "PORT_UNUSED", + altpll_component.port_clkena2 = "PORT_UNUSED", + altpll_component.port_clkena3 = "PORT_UNUSED", + altpll_component.port_clkena4 = "PORT_UNUSED", + altpll_component.port_clkena5 = "PORT_UNUSED", + altpll_component.port_extclk0 = "PORT_UNUSED", + altpll_component.port_extclk1 = "PORT_UNUSED", + altpll_component.port_extclk2 = "PORT_UNUSED", + altpll_component.port_extclk3 = "PORT_UNUSED", + altpll_component.self_reset_on_loss_lock = "OFF", + altpll_component.width_clock = 5; + + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "9" +// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "9" +// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "48.000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "96.000000" +// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1" +// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "deg" +// Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +// Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "16" +// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "32" +// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "48.00000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "96.00000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll_mist.mif" +// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500" +// Retrieval info: PRIVATE: SPREAD_USE STRING "0" +// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +// Retrieval info: PRIVATE: USE_CLK0 STRING "1" +// Retrieval info: PRIVATE: USE_CLK1 STRING "1" +// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +// Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "9" +// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "16" +// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "9" +// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "32" +// Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +// Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +// Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +// Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +// Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF" +// Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +// Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +// Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +// Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +// Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +// Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked" +// Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +// Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +// Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +// Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +// Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_bb.v FALSE +// Retrieval info: LIB_FILE: altera_mf +// Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/clut.vhd b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/clut.vhd new file mode 100644 index 00000000..c4034af7 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/clut.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity clut is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of clut is + type rom is array(0 to 255) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"0C",X"0E",X"0C",X"0E",X"0D",X"0D",X"0C",X"0E",X"00",X"0E",X"0C",X"0E",X"01",X"0D",X"0C",X"0E", + X"0C",X"0D",X"0C",X"0E",X"0D",X"0D",X"0C",X"0E",X"00",X"0D",X"0C",X"0E",X"01",X"0D",X"0C",X"0E", + X"0E",X"0E",X"0E",X"0E",X"0D",X"0D",X"0E",X"0E",X"02",X"0E",X"0E",X"0E",X"01",X"0D",X"0E",X"0E", + X"0C",X"0D",X"0C",X"0E",X"0D",X"0D",X"0C",X"0E",X"00",X"0D",X"0C",X"0E",X"01",X"0D",X"0C",X"0E", + X"08",X"0E",X"08",X"0E",X"09",X"0D",X"08",X"0E",X"08",X"0E",X"08",X"0E",X"09",X"0D",X"08",X"0E", + X"0C",X"0D",X"0C",X"0E",X"0D",X"0D",X"0C",X"0E",X"00",X"0D",X"0C",X"0E",X"01",X"0D",X"0C",X"0E", + X"0A",X"0E",X"0A",X"0E",X"09",X"0D",X"0A",X"0E",X"0A",X"0E",X"0A",X"0E",X"09",X"0D",X"0A",X"0E", + X"0C",X"0D",X"0C",X"0E",X"0D",X"0D",X"0C",X"0E",X"00",X"0D",X"0C",X"0E",X"01",X"0D",X"0C",X"0E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/make.bat b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/make.bat new file mode 100644 index 00000000..dd865aa1 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/make.bat @@ -0,0 +1,16 @@ +copy /b epr-5320b.129 + epr-5321a.130 + epr-5322a.131 + epr-5323.132 + epr-5324.133 + epr-5325.134 + epr-5324.133 + epr-5325.134 prg.bin +make_vhdl_prom prg.bin prg_rom.vhd + +copy /b epr-5318.86 + epr-5319.93 spr.bin +make_vhdl_prom spr.bin spr_rom.vhd + +make_vhdl_prom epr-5332.3 snd_rom.vhd + +make_vhdl_prom pr-5317.106 clut.vhd + +copy /b epr-5331.82 + epr-5330.65 + epr-5329.81 + epr-5328.64 + epr-5327.80 + epr-5326.63 tile.bin + +copy /b prg.bin + epr-5332.3 + spr.bin + tile.bin STARJACK.ROM +pause + + diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/snd_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/snd_rom.vhd new file mode 100644 index 00000000..ba2d7248 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/snd_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity snd_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of snd_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"F3",X"ED",X"56",X"31",X"00",X"88",X"C3",X"7E",X"00",X"9D",X"1B",X"AA",X"1B",X"B7",X"1B",X"C4", + X"1B",X"D1",X"1B",X"DE",X"1B",X"EB",X"1B",X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"F8",X"1B", + X"00",X"20",X"00",X"00",X"80",X"21",X"00",X"00",X"00",X"01",X"00",X"F0",X"1C",X"00",X"20",X"00", + X"00",X"00",X"22",X"00",X"00",X"00",X"01",X"00",X"F5",X"E5",X"21",X"00",X"80",X"35",X"E1",X"F1", + X"FB",X"C9",X"00",X"01",X"00",X"42",X"1E",X"00",X"20",X"00",X"00",X"00",X"10",X"00",X"00",X"00", + X"01",X"00",X"E8",X"1D",X"00",X"20",X"00",X"00",X"80",X"11",X"00",X"00",X"00",X"01",X"00",X"17", + X"1E",X"00",X"20",X"00",X"00",X"80",X"F3",X"F5",X"3A",X"00",X"E0",X"FE",X"90",X"C2",X"77",X"00", + X"08",X"3E",X"01",X"32",X"02",X"81",X"08",X"32",X"00",X"81",X"F1",X"FB",X"ED",X"45",X"CD",X"66", + X"04",X"21",X"00",X"80",X"11",X"01",X"80",X"01",X"FF",X"07",X"36",X"00",X"ED",X"B0",X"FB",X"CD", + X"8B",X"04",X"21",X"00",X"80",X"7E",X"B7",X"28",X"F6",X"36",X"00",X"DD",X"21",X"00",X"82",X"06", + X"14",X"C5",X"DD",X"CB",X"00",X"7E",X"C4",X"B4",X"00",X"11",X"20",X"00",X"DD",X"19",X"C1",X"10", + X"F0",X"C3",X"8F",X"00",X"DD",X"CB",X"00",X"66",X"C2",X"E0",X"03",X"DD",X"5E",X"03",X"DD",X"56", + X"04",X"13",X"DD",X"73",X"03",X"DD",X"72",X"04",X"DD",X"6E",X"05",X"DD",X"66",X"06",X"B7",X"ED", + X"52",X"CC",X"41",X"02",X"DD",X"CB",X"03",X"46",X"C0",X"DD",X"5E",X"11",X"DD",X"56",X"12",X"7B", + X"B2",X"20",X"07",X"DD",X"36",X"17",X"0F",X"C3",X"B6",X"01",X"DD",X"CB",X"00",X"6E",X"20",X"33", + X"DD",X"7E",X"0B",X"B7",X"20",X"08",X"DD",X"73",X"13",X"DD",X"72",X"14",X"18",X"59",X"3D",X"21", + X"DD",X"06",X"23",X"DD",X"4E",X"0E",X"06",X"00",X"09",X"09",X"4E",X"23",X"66",X"69",X"0E",X"04", + X"09",X"4E",X"23",X"66",X"69",X"4F",X"06",X"00",X"09",X"09",X"7E",X"23",X"66",X"6F",X"CD",X"0E", + X"02",X"18",X"34",X"D5",X"DD",X"6E",X"15",X"DD",X"66",X"16",X"B7",X"ED",X"52",X"F5",X"7D",X"F2", + X"34",X"01",X"ED",X"44",X"67",X"DD",X"5E",X"03",X"CD",X"96",X"06",X"DD",X"5E",X"05",X"CD",X"A2", + X"06",X"5F",X"16",X"00",X"F1",X"7B",X"F2",X"4F",X"01",X"ED",X"44",X"28",X"02",X"15",X"5F",X"E1", + X"19",X"DD",X"75",X"13",X"DD",X"74",X"14",X"DD",X"7E",X"0C",X"B7",X"20",X"0B",X"DD",X"7E",X"0D", + X"2F",X"E6",X"0F",X"DD",X"77",X"17",X"18",X"23",X"3D",X"21",X"DD",X"06",X"23",X"DD",X"4E",X"0E", + X"06",X"00",X"09",X"09",X"4E",X"23",X"66",X"69",X"0E",X"02",X"09",X"4E",X"23",X"66",X"69",X"4F", + X"06",X"00",X"09",X"09",X"7E",X"23",X"66",X"6F",X"CD",X"D4",X"01",X"DD",X"CB",X"00",X"76",X"20", + X"25",X"DD",X"7E",X"01",X"E6",X"0F",X"4F",X"06",X"00",X"21",X"C9",X"01",X"09",X"4E",X"DD",X"7E", + X"13",X"E6",X"0F",X"B1",X"CD",X"00",X"04",X"DD",X"7E",X"13",X"E6",X"F0",X"DD",X"B6",X"14",X"0F", + X"0F",X"0F",X"0F",X"CD",X"00",X"04",X"DD",X"7E",X"01",X"E6",X"0F",X"4F",X"06",X"00",X"21",X"CD", + X"01",X"09",X"7E",X"DD",X"B6",X"17",X"C3",X"00",X"04",X"80",X"A0",X"C0",X"C0",X"90",X"B0",X"D0", + X"F0",X"DD",X"77",X"0F",X"E5",X"DD",X"7E",X"0F",X"CB",X"3F",X"F5",X"4F",X"06",X"00",X"09",X"F1", + X"7E",X"E1",X"38",X"14",X"0F",X"0F",X"0F",X"0F",X"B7",X"28",X"E6",X"FE",X"10",X"20",X"05",X"DD", + X"35",X"0F",X"18",X"E0",X"FE",X"20",X"28",X"0B",X"DD",X"34",X"0F",X"F6",X"F0",X"DD",X"86",X"0D", + X"3C",X"38",X"01",X"AF",X"2F",X"E6",X"0F",X"DD",X"77",X"17",X"C9",X"DD",X"77",X"10",X"E5",X"DD", + X"7E",X"10",X"CB",X"3F",X"F5",X"4F",X"06",X"00",X"09",X"F1",X"7E",X"E1",X"38",X"11",X"0F",X"0F", + X"0F",X"0F",X"B7",X"CA",X"0B",X"02",X"FE",X"10",X"20",X"05",X"DD",X"35",X"10",X"18",X"DF",X"DD", + X"34",X"10",X"2F",X"E6",X"0F",X"6F",X"26",X"00",X"EB",X"19",X"DD",X"75",X"13",X"DD",X"74",X"14", + X"C9",X"DD",X"5E",X"07",X"DD",X"56",X"08",X"1A",X"13",X"B7",X"FA",X"C6",X"02",X"DD",X"CB",X"00", + X"5E",X"20",X"59",X"B7",X"28",X"03",X"DD",X"86",X"09",X"21",X"1C",X"06",X"4F",X"06",X"00",X"09", + X"09",X"7E",X"DD",X"77",X"11",X"23",X"7E",X"DD",X"77",X"12",X"DD",X"CB",X"00",X"6E",X"28",X"16", + X"1A",X"13",X"DD",X"86",X"09",X"21",X"1C",X"06",X"4F",X"06",X"00",X"09",X"09",X"7E",X"DD",X"77", + X"15",X"23",X"7E",X"DD",X"77",X"16",X"D5",X"1A",X"67",X"DD",X"5E",X"02",X"CD",X"96",X"06",X"D1", + X"DD",X"75",X"05",X"DD",X"74",X"06",X"AF",X"DD",X"77",X"0F",X"DD",X"77",X"10",X"13",X"DD",X"73", + X"07",X"DD",X"72",X"08",X"AF",X"DD",X"77",X"03",X"DD",X"77",X"04",X"C9",X"DD",X"77",X"12",X"1A", + X"13",X"DD",X"77",X"11",X"DD",X"CB",X"00",X"6E",X"28",X"CC",X"1A",X"13",X"DD",X"77",X"16",X"1A", + X"13",X"DD",X"77",X"15",X"18",X"C0",X"21",X"D9",X"02",X"E5",X"E6",X"3F",X"21",X"DD",X"02",X"4F", + X"06",X"00",X"09",X"09",X"7E",X"23",X"66",X"6F",X"E9",X"13",X"C3",X"47",X"02",X"AA",X"03",X"03", + X"03",X"08",X"03",X"1D",X"03",X"CF",X"03",X"31",X"03",X"48",X"03",X"4D",X"03",X"58",X"03",X"73", + X"03",X"52",X"03",X"86",X"03",X"8E",X"03",X"A6",X"03",X"AC",X"03",X"B2",X"03",X"B8",X"03",X"BE", + X"03",X"C6",X"03",X"1A",X"DD",X"77",X"02",X"C9",X"1A",X"DD",X"77",X"0D",X"C9",X"0F",X"0E",X"0D", + X"0C",X"0B",X"0A",X"09",X"07",X"08",X"06",X"05",X"04",X"03",X"02",X"01",X"00",X"1A",X"D5",X"5F", + X"DD",X"66",X"02",X"CD",X"96",X"06",X"DD",X"75",X"03",X"DD",X"74",X"04",X"D1",X"E1",X"C3",X"9D", + X"02",X"1A",X"F6",X"E0",X"F5",X"CD",X"00",X"04",X"F1",X"F6",X"FC",X"3C",X"20",X"05",X"DD",X"CB", + X"00",X"B6",X"C9",X"DD",X"CB",X"00",X"F6",X"C9",X"1A",X"DD",X"77",X"0C",X"C9",X"1A",X"DD",X"77", + X"0B",X"C9",X"EB",X"5E",X"23",X"56",X"1B",X"C9",X"1A",X"4F",X"13",X"1A",X"47",X"C5",X"DD",X"E5", + X"E1",X"DD",X"35",X"0A",X"DD",X"4E",X"0A",X"DD",X"35",X"0A",X"06",X"00",X"09",X"72",X"2B",X"73", + X"D1",X"1B",X"C9",X"DD",X"E5",X"E1",X"DD",X"4E",X"0A",X"06",X"00",X"09",X"5E",X"23",X"56",X"DD", + X"34",X"0A",X"DD",X"34",X"0A",X"C9",X"1A",X"DD",X"86",X"09",X"DD",X"77",X"09",X"C9",X"1A",X"13", + X"C6",X"18",X"4F",X"06",X"00",X"DD",X"E5",X"E1",X"09",X"7E",X"B7",X"20",X"02",X"1A",X"77",X"13", + X"35",X"C2",X"52",X"03",X"13",X"C9",X"DD",X"CB",X"00",X"EE",X"1B",X"C9",X"DD",X"CB",X"00",X"AE", + X"1B",X"C9",X"DD",X"CB",X"00",X"DE",X"1B",X"C9",X"DD",X"CB",X"00",X"9E",X"1B",X"C9",X"1A",X"DD", + X"B6",X"00",X"DD",X"77",X"00",X"C9",X"1A",X"2F",X"DD",X"A6",X"00",X"DD",X"77",X"00",X"C9",X"CD", + X"F1",X"03",X"DD",X"36",X"00",X"00",X"E1",X"E1",X"CD",X"C9",X"06",X"AF",X"32",X"02",X"81",X"C9", + X"DD",X"35",X"04",X"C0",X"DD",X"7E",X"03",X"DD",X"77",X"04",X"DD",X"6E",X"05",X"DD",X"66",X"06", + X"E9",X"DD",X"7E",X"01",X"E6",X"0F",X"4F",X"06",X"00",X"21",X"CD",X"01",X"09",X"7E",X"F6",X"0F", + X"DD",X"CB",X"00",X"56",X"C0",X"ED",X"47",X"DD",X"7E",X"01",X"E6",X"F0",X"FE",X"30",X"28",X"10", + X"FE",X"10",X"28",X"06",X"ED",X"57",X"32",X"00",X"A0",X"C9",X"ED",X"57",X"32",X"00",X"C0",X"C9", + X"ED",X"57",X"C9",X"C5",X"E5",X"ED",X"47",X"E6",X"03",X"06",X"00",X"4F",X"21",X"87",X"04",X"09", + X"4E",X"ED",X"57",X"E6",X"30",X"FE",X"30",X"28",X"0F",X"CB",X"67",X"79",X"20",X"05",X"32",X"00", + X"C0",X"18",X"06",X"32",X"00",X"A0",X"18",X"01",X"79",X"E1",X"C1",X"C9",X"21",X"00",X"82",X"11", + X"01",X"82",X"01",X"7F",X"02",X"36",X"00",X"ED",X"B0",X"21",X"00",X"82",X"11",X"01",X"82",X"01", + X"A0",X"01",X"36",X"00",X"ED",X"B0",X"21",X"87",X"04",X"11",X"00",X"A0",X"01",X"04",X"00",X"ED", + X"B0",X"21",X"87",X"04",X"11",X"00",X"C0",X"01",X"04",X"00",X"ED",X"B0",X"C9",X"21",X"00",X"80", + X"7E",X"B7",X"28",X"FC",X"36",X"00",X"C9",X"9F",X"BF",X"DF",X"FF",X"3A",X"00",X"81",X"CB",X"7F", + X"CA",X"4C",X"04",X"FE",X"00",X"CA",X"4C",X"04",X"FE",X"FF",X"CA",X"4C",X"04",X"21",X"BF",X"04", + X"01",X"10",X"00",X"ED",X"B9",X"C0",X"21",X"BF",X"04",X"09",X"09",X"7E",X"23",X"66",X"6F",X"E9", + X"82",X"84",X"85",X"86",X"88",X"89",X"8A",X"8B",X"8C",X"8D",X"8E",X"90",X"93",X"94",X"95",X"DD", + X"04",X"EB",X"04",X"FA",X"04",X"09",X"05",X"2D",X"05",X"3C",X"05",X"4B",X"05",X"5A",X"05",X"76", + X"05",X"8A",X"05",X"9E",X"05",X"AD",X"05",X"BC",X"05",X"CB",X"05",X"DA",X"05",X"CD",X"4C",X"04", + X"21",X"00",X"10",X"11",X"00",X"82",X"AF",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04",X"21",X"7C", + X"10",X"11",X"00",X"82",X"3E",X"01",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04",X"21",X"A4",X"11", + X"11",X"00",X"82",X"3E",X"02",X"08",X"C3",X"E9",X"05",X"3A",X"02",X"81",X"CB",X"47",X"C2",X"0E", + X"06",X"21",X"01",X"81",X"36",X"FF",X"CD",X"B5",X"06",X"CD",X"66",X"04",X"21",X"02",X"81",X"CB", + X"CE",X"21",X"CC",X"12",X"11",X"00",X"83",X"3E",X"03",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04", + X"21",X"3F",X"13",X"11",X"00",X"82",X"3E",X"04",X"08",X"C3",X"E9",X"05",X"CD",X"59",X"04",X"21", + X"4D",X"14",X"11",X"00",X"82",X"3E",X"05",X"08",X"C3",X"E9",X"05",X"CD",X"59",X"04",X"21",X"CF", + X"15",X"11",X"00",X"82",X"3E",X"06",X"08",X"C3",X"E9",X"05",X"3A",X"02",X"81",X"CB",X"47",X"C2", + X"0E",X"06",X"3A",X"02",X"81",X"CB",X"4F",X"C2",X"0E",X"06",X"21",X"81",X"17",X"11",X"E0",X"82", + X"3E",X"07",X"08",X"C3",X"E9",X"05",X"3A",X"02",X"81",X"CB",X"47",X"C2",X"0E",X"06",X"21",X"CE", + X"17",X"11",X"80",X"82",X"3E",X"08",X"08",X"C3",X"E9",X"05",X"3A",X"02",X"81",X"CB",X"47",X"C2", + X"0E",X"06",X"21",X"10",X"18",X"11",X"60",X"82",X"3E",X"09",X"08",X"C3",X"E9",X"05",X"CD",X"4C", + X"04",X"21",X"8A",X"18",X"11",X"00",X"82",X"3E",X"0A",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04", + X"21",X"1D",X"19",X"11",X"E0",X"82",X"3E",X"0B",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04",X"21", + X"3F",X"1A",X"11",X"00",X"82",X"3E",X"0C",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04",X"21",X"E5", + X"1A",X"11",X"00",X"82",X"3E",X"0D",X"08",X"C3",X"E9",X"05",X"CD",X"4C",X"04",X"21",X"79",X"1B", + X"11",X"00",X"82",X"3E",X"0E",X"08",X"C3",X"E9",X"05",X"7E",X"23",X"66",X"6F",X"46",X"23",X"C5", + X"7E",X"23",X"E5",X"FE",X"FF",X"28",X"1D",X"66",X"6F",X"01",X"0E",X"00",X"ED",X"B0",X"08",X"12", + X"08",X"13",X"AF",X"06",X"11",X"12",X"13",X"10",X"FC",X"E1",X"23",X"C1",X"10",X"E1",X"3E",X"80", + X"32",X"00",X"81",X"C9",X"EB",X"01",X"20",X"00",X"09",X"EB",X"18",X"ED",X"00",X"00",X"FF",X"03", + X"C7",X"03",X"90",X"03",X"5D",X"03",X"2D",X"03",X"FF",X"02",X"D4",X"02",X"AB",X"02",X"85",X"02", + X"61",X"02",X"3F",X"02",X"1E",X"02",X"00",X"02",X"E3",X"01",X"C8",X"01",X"AF",X"01",X"96",X"01", + X"80",X"01",X"6A",X"01",X"56",X"01",X"43",X"01",X"30",X"01",X"1F",X"01",X"0F",X"01",X"00",X"01", + X"F2",X"00",X"E4",X"00",X"D7",X"00",X"CB",X"00",X"C0",X"00",X"B5",X"00",X"AB",X"00",X"A1",X"00", + X"98",X"00",X"90",X"00",X"88",X"00",X"80",X"00",X"79",X"00",X"72",X"00",X"6C",X"00",X"66",X"00", + X"60",X"00",X"5B",X"00",X"55",X"00",X"51",X"00",X"4C",X"00",X"48",X"00",X"44",X"00",X"40",X"00", + X"3C",X"00",X"39",X"00",X"36",X"00",X"33",X"00",X"30",X"00",X"2D",X"00",X"2B",X"00",X"28",X"00", + X"26",X"00",X"24",X"00",X"22",X"00",X"16",X"00",X"6A",X"06",X"08",X"29",X"30",X"01",X"19",X"10", + X"FA",X"C9",X"06",X"08",X"ED",X"6A",X"7C",X"38",X"03",X"BB",X"38",X"03",X"93",X"67",X"B7",X"10", + X"F3",X"7D",X"17",X"2F",X"C9",X"06",X"24",X"11",X"20",X"00",X"21",X"00",X"82",X"3A",X"01",X"81", + X"0F",X"30",X"02",X"CB",X"D6",X"19",X"10",X"F8",X"C9",X"3A",X"01",X"81",X"06",X"08",X"21",X"00", + X"82",X"11",X"20",X"00",X"0F",X"30",X"02",X"CB",X"96",X"19",X"10",X"F8",X"C9",X"0F",X"00",X"10", + X"7C",X"10",X"A4",X"11",X"CC",X"12",X"3F",X"13",X"4D",X"14",X"CF",X"15",X"81",X"17",X"CE",X"17", + X"10",X"18",X"8A",X"18",X"1D",X"19",X"3F",X"1A",X"E5",X"1A",X"79",X"1B",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"06",X"10",X"59",X"10",X"75",X"10",X"01",X"09",X"10",X"80",X"20",X"00",X"00",X"00",X"01",X"00", + X"16",X"10",X"02",X"20",X"00",X"00",X"81",X"06",X"86",X"02",X"87",X"00",X"82",X"0E",X"1B",X"06", + X"1B",X"03",X"22",X"03",X"27",X"03",X"2A",X"06",X"23",X"06",X"22",X"06",X"1E",X"06",X"1E",X"03", + X"22",X"03",X"25",X"03",X"2A",X"03",X"25",X"03",X"22",X"03",X"20",X"06",X"20",X"03",X"24",X"03", + X"27",X"03",X"2C",X"06",X"27",X"06",X"24",X"06",X"23",X"06",X"22",X"03",X"22",X"03",X"24",X"06", + X"24",X"03",X"24",X"03",X"26",X"06",X"8A",X"1E",X"10",X"5D",X"10",X"6E",X"10",X"AB",X"BC",X"CD", + X"DE",X"EF",X"FF",X"FE",X"ED",X"DC",X"CB",X"BA",X"A9",X"98",X"87",X"76",X"65",X"01",X"CD",X"EF", + X"FE",X"DC",X"BA",X"98",X"01",X"77",X"10",X"AB",X"CD",X"DC",X"BA",X"00",X"82",X"10",X"91",X"11", + X"9F",X"11",X"08",X"93",X"10",X"A0",X"10",X"AD",X"10",X"BA",X"10",X"C7",X"10",X"D4",X"10",X"E1", + X"10",X"EE",X"10",X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"FB",X"10",X"02",X"20",X"00",X"00", + X"80",X"21",X"00",X"00",X"00",X"20",X"00",X"46",X"11",X"02",X"20",X"00",X"00",X"00",X"22",X"00", + X"00",X"00",X"20",X"00",X"46",X"11",X"02",X"20",X"00",X"00",X"00",X"23",X"00",X"00",X"00",X"20", + X"00",X"46",X"11",X"02",X"20",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"20",X"00",X"46",X"11", + X"02",X"20",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"20",X"00",X"46",X"11",X"02",X"20",X"00", + X"00",X"00",X"12",X"00",X"00",X"00",X"20",X"00",X"46",X"11",X"02",X"20",X"00",X"00",X"00",X"13", + X"00",X"00",X"00",X"20",X"00",X"46",X"11",X"02",X"20",X"00",X"00",X"81",X"0B",X"86",X"01",X"82", + X"0A",X"87",X"01",X"86",X"02",X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"22",X"02",X"86", + X"02",X"27",X"02",X"86",X"02",X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"20",X"02",X"86", + X"02",X"25",X"02",X"86",X"02",X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1E",X"02",X"86", + X"02",X"24",X"02",X"86",X"02",X"1D",X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"1D",X"02",X"86", + X"02",X"22",X"02",X"8A",X"03",X"11",X"81",X"0B",X"86",X"01",X"82",X"0A",X"87",X"01",X"86",X"02", + X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02", + X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02", + X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02", + X"1D",X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"1D",X"02",X"86",X"02",X"22",X"02",X"8A",X"4E", + X"11",X"95",X"11",X"9A",X"11",X"EF",X"FE",X"DC",X"BA",X"02",X"EF",X"FE",X"DC",X"BA",X"01",X"A1", + X"11",X"CD",X"ED",X"00",X"AA",X"11",X"B9",X"12",X"C7",X"12",X"08",X"BB",X"11",X"C8",X"11",X"D5", + X"11",X"E2",X"11",X"EF",X"11",X"FC",X"11",X"09",X"12",X"16",X"12",X"80",X"20",X"00",X"00",X"00", + X"01",X"00",X"23",X"12",X"02",X"20",X"00",X"00",X"80",X"21",X"00",X"00",X"00",X"20",X"00",X"6E", + X"12",X"02",X"20",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"20",X"00",X"6E",X"12",X"02",X"20", + X"00",X"00",X"00",X"23",X"00",X"00",X"00",X"20",X"00",X"6E",X"12",X"02",X"20",X"00",X"00",X"00", + X"10",X"00",X"00",X"00",X"20",X"00",X"6E",X"12",X"02",X"20",X"00",X"00",X"00",X"11",X"00",X"00", + X"00",X"20",X"00",X"6E",X"12",X"02",X"20",X"00",X"00",X"00",X"12",X"00",X"00",X"00",X"20",X"00", + X"6E",X"12",X"02",X"20",X"00",X"00",X"00",X"13",X"00",X"00",X"00",X"20",X"00",X"6E",X"12",X"02", + X"20",X"00",X"00",X"81",X"0B",X"86",X"01",X"82",X"0D",X"87",X"01",X"86",X"02",X"22",X"02",X"86", + X"02",X"27",X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"20",X"02",X"86", + X"02",X"25",X"02",X"86",X"02",X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"1E",X"02",X"86", + X"02",X"24",X"02",X"86",X"02",X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1D",X"02",X"86", + X"02",X"22",X"02",X"86",X"02",X"1D",X"02",X"86",X"02",X"22",X"02",X"8A",X"2B",X"12",X"81",X"0B", + X"86",X"01",X"82",X"0D",X"87",X"01",X"86",X"02",X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02", + X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02", + X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02", + X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1D",X"02",X"86",X"02",X"22",X"02",X"86",X"02", + X"1D",X"02",X"86",X"02",X"22",X"02",X"8A",X"76",X"12",X"BD",X"12",X"C2",X"12",X"EF",X"FE",X"DC", + X"BA",X"02",X"EF",X"FE",X"DC",X"BA",X"01",X"C9",X"12",X"CD",X"ED",X"00",X"D2",X"12",X"FF",X"12", + X"0F",X"13",X"01",X"D5",X"12",X"80",X"11",X"00",X"00",X"00",X"01",X"00",X"E2",X"12",X"00",X"20", + X"00",X"00",X"82",X"0F",X"81",X"03",X"87",X"00",X"86",X"01",X"30",X"05",X"34",X"05",X"32",X"05", + X"37",X"05",X"32",X"05",X"34",X"05",X"30",X"05",X"34",X"05",X"32",X"05",X"37",X"05",X"84",X"03", + X"13",X"0B",X"13",X"DE",X"FF",X"FE",X"DC",X"BA",X"98",X"76",X"01",X"EF",X"FE",X"DC",X"02",X"13", + X"13",X"29",X"13",X"FF",X"FF",X"FF",X"FF",X"EE",X"DD",X"EE",X"DD",X"EE",X"DD",X"EE",X"DD",X"EE", + X"DD",X"EE",X"DD",X"EE",X"DD",X"EE",X"DD",X"EE",X"02",X"FF",X"FF",X"FF",X"FF",X"EE",X"EE",X"DD", + X"DD",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"DD",X"02",X"45", + X"13",X"24",X"14",X"3F",X"14",X"08",X"56",X"13",X"63",X"13",X"70",X"13",X"7D",X"13",X"8A",X"13", + X"97",X"13",X"A4",X"13",X"B1",X"13",X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"BE",X"13",X"02", + X"20",X"00",X"00",X"80",X"21",X"00",X"00",X"00",X"01",X"00",X"D9",X"13",X"02",X"20",X"00",X"00", + X"00",X"22",X"00",X"00",X"00",X"01",X"00",X"D9",X"13",X"02",X"20",X"00",X"00",X"00",X"23",X"00", + X"00",X"00",X"01",X"00",X"D9",X"13",X"02",X"20",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"01", + X"00",X"D9",X"13",X"02",X"20",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"01",X"00",X"D9",X"13", + X"02",X"20",X"00",X"00",X"00",X"12",X"00",X"00",X"00",X"01",X"00",X"D9",X"13",X"02",X"20",X"00", + X"00",X"00",X"13",X"00",X"00",X"00",X"01",X"00",X"D9",X"13",X"02",X"20",X"00",X"00",X"81",X"0B", + X"86",X"01",X"82",X"0D",X"87",X"00",X"1D",X"02",X"1F",X"02",X"20",X"02",X"22",X"02",X"20",X"02", + X"1F",X"02",X"1D",X"02",X"1D",X"02",X"8A",X"C6",X"13",X"81",X"0B",X"86",X"01",X"82",X"0D",X"87", + X"00",X"1D",X"02",X"20",X"02",X"1D",X"02",X"20",X"02",X"1D",X"02",X"20",X"02",X"1D",X"02",X"20", + X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F", + X"02",X"19",X"02",X"1D",X"02",X"19",X"02",X"1D",X"02",X"19",X"02",X"1D",X"02",X"19",X"02",X"1D", + X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F", + X"02",X"8A",X"E1",X"13",X"2A",X"14",X"31",X"14",X"38",X"14",X"EF",X"FE",X"DC",X"BA",X"A9",X"87", + X"01",X"9A",X"AB",X"BC",X"CD",X"DE",X"EE",X"01",X"EF",X"FF",X"FF",X"FD",X"A8",X"65",X"01",X"43", + X"14",X"47",X"14",X"DE",X"FF",X"ED",X"00",X"CD",X"ED",X"DC",X"BA",X"BC",X"00",X"53",X"14",X"4C", + X"15",X"93",X"15",X"08",X"64",X"14",X"71",X"14",X"7E",X"14",X"8B",X"14",X"98",X"14",X"A5",X"14", + X"B2",X"14",X"BF",X"14",X"80",X"20",X"00",X"00",X"00",X"05",X"00",X"CC",X"14",X"02",X"20",X"00", + X"00",X"80",X"21",X"00",X"00",X"00",X"01",X"00",X"F4",X"14",X"02",X"20",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"01",X"00",X"F4",X"14",X"02",X"20",X"00",X"00",X"00",X"23",X"00",X"00",X"00", + X"01",X"00",X"F4",X"14",X"02",X"20",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"00",X"F4", + X"14",X"02",X"20",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"01",X"00",X"F4",X"14",X"02",X"20", + X"00",X"00",X"00",X"12",X"00",X"00",X"00",X"01",X"00",X"F4",X"14",X"02",X"20",X"00",X"00",X"00", + X"13",X"00",X"00",X"00",X"01",X"00",X"F4",X"14",X"02",X"20",X"00",X"00",X"81",X"11",X"86",X"01", + X"87",X"00",X"82",X"0F",X"8D",X"2A",X"0D",X"0D",X"8E",X"81",X"0B",X"86",X"02",X"82",X"0E",X"87", + X"00",X"1D",X"02",X"1F",X"02",X"20",X"02",X"22",X"02",X"20",X"02",X"1F",X"02",X"1D",X"02",X"1D", + X"02",X"8A",X"E1",X"14",X"81",X"11",X"86",X"01",X"87",X"00",X"82",X"0F",X"8D",X"2C",X"0D",X"0D", + X"8E",X"81",X"0B",X"86",X"02",X"82",X"0E",X"87",X"00",X"1D",X"02",X"20",X"02",X"1D",X"02",X"20", + X"02",X"1D",X"02",X"20",X"02",X"1D",X"02",X"20",X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F", + X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F",X"02",X"19",X"02",X"1D",X"02",X"19",X"02",X"1D", + X"02",X"19",X"02",X"1D",X"02",X"19",X"02",X"1D",X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F", + X"02",X"1B",X"02",X"1F",X"02",X"1B",X"02",X"1F",X"02",X"8A",X"09",X"15",X"54",X"15",X"80",X"15", + X"85",X"15",X"8C",X"15",X"11",X"12",X"23",X"34",X"45",X"56",X"67",X"78",X"89",X"9A",X"AB",X"BC", + X"CD",X"DE",X"EF",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE", + X"FE",X"FE",X"FE",X"FE",X"ED",X"DC",X"CB",X"BA",X"A9",X"98",X"87",X"76",X"65",X"43",X"21",X"01", + X"EF",X"FE",X"DC",X"BA",X"01",X"9A",X"AB",X"BC",X"CD",X"DE",X"EE",X"01",X"EF",X"FF",X"FF",X"FD", + X"A8",X"65",X"01",X"9B",X"15",X"B0",X"15",X"C5",X"15",X"C9",X"15",X"DD",X"DD",X"EF",X"FE",X"DC", + X"BB",X"CD",X"DE",X"EF",X"FE",X"DC",X"BB",X"CD",X"EF",X"FE",X"DC",X"BB",X"CD",X"EF",X"FE",X"00", + X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD", + X"EE",X"EE",X"DD",X"DD",X"00",X"DE",X"FF",X"ED",X"00",X"CD",X"ED",X"DC",X"BA",X"BC",X"00",X"D5", + X"15",X"00",X"17",X"47",X"17",X"08",X"E6",X"15",X"F3",X"15",X"00",X"16",X"0D",X"16",X"1A",X"16", + X"27",X"16",X"34",X"16",X"41",X"16",X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"4E",X"16",X"02", + X"20",X"00",X"00",X"80",X"21",X"00",X"00",X"00",X"05",X"00",X"A6",X"16",X"02",X"20",X"00",X"00", + X"00",X"22",X"00",X"00",X"00",X"05",X"00",X"A6",X"16",X"02",X"20",X"00",X"00",X"00",X"23",X"00", + X"00",X"00",X"05",X"00",X"A6",X"16",X"02",X"20",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"05", + X"00",X"A6",X"16",X"02",X"20",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"05",X"00",X"A6",X"16", + X"02",X"20",X"00",X"00",X"00",X"12",X"00",X"00",X"00",X"05",X"00",X"A6",X"16",X"02",X"20",X"00", + X"00",X"00",X"13",X"00",X"00",X"00",X"05",X"00",X"A6",X"16",X"02",X"20",X"00",X"00",X"81",X"11", + X"86",X"01",X"87",X"00",X"82",X"0F",X"8D",X"2C",X"0D",X"0D",X"8E",X"81",X"0B",X"86",X"03",X"82", + X"0D",X"87",X"04",X"86",X"02",X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"22",X"02",X"86", + X"02",X"27",X"02",X"86",X"02",X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"20",X"02",X"86", + X"02",X"25",X"02",X"86",X"02",X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1E",X"02",X"86", + X"02",X"24",X"02",X"86",X"02",X"1D",X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"1D",X"02",X"86", + X"02",X"22",X"02",X"8A",X"63",X"16",X"81",X"11",X"86",X"01",X"87",X"00",X"82",X"0F",X"00",X"03", + X"8D",X"2C",X"0D",X"0A",X"8E",X"81",X"0B",X"86",X"04",X"82",X"0D",X"87",X"04",X"86",X"02",X"22", + X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"27",X"02",X"86",X"02",X"20", + X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"20",X"02",X"86",X"02",X"25",X"02",X"86",X"02",X"1E", + X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1E",X"02",X"86",X"02",X"24",X"02",X"86",X"02",X"1D", + X"02",X"86",X"02",X"22",X"02",X"86",X"02",X"1D",X"02",X"86",X"02",X"22",X"02",X"8A",X"BD",X"16", + X"08",X"17",X"34",X"17",X"39",X"17",X"40",X"17",X"11",X"12",X"23",X"34",X"45",X"56",X"67",X"78", + X"89",X"9A",X"AB",X"BC",X"CD",X"DE",X"EF",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE", + X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"ED",X"DC",X"CB",X"BA",X"A9",X"98",X"87",X"76", + X"65",X"43",X"21",X"01",X"EF",X"FE",X"DC",X"BA",X"01",X"9A",X"AB",X"BC",X"CD",X"DE",X"EE",X"01", + X"EF",X"FF",X"FF",X"FD",X"A8",X"65",X"01",X"4F",X"17",X"64",X"17",X"79",X"17",X"7D",X"17",X"DD", + X"DD",X"EF",X"FE",X"DC",X"BB",X"CD",X"DE",X"EF",X"FE",X"DC",X"BB",X"CD",X"EF",X"FE",X"DC",X"BB", + X"CD",X"EF",X"FE",X"00",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD", + X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"00",X"DE",X"FF",X"ED",X"00",X"CD",X"ED",X"DC", + X"00",X"87",X"17",X"AB",X"17",X"C7",X"17",X"01",X"8A",X"17",X"80",X"13",X"00",X"00",X"00",X"01", + X"00",X"97",X"17",X"00",X"20",X"00",X"00",X"82",X"0D",X"81",X"04",X"86",X"00",X"85",X"03",X"87", + X"00",X"8F",X"8D",X"00",X"09",X"00",X"03",X"08",X"8E",X"90",X"84",X"AF",X"17",X"BF",X"17",X"FE", + X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"ED",X"DC",X"CB",X"BA",X"A9",X"98",X"86",X"01",X"FF", + X"FF",X"DD",X"BB",X"AA",X"88",X"66",X"02",X"C9",X"17",X"CD",X"EF",X"FE",X"DC",X"00",X"D2",X"17", + X"0B",X"18",X"01",X"D5",X"17",X"80",X"10",X"00",X"00",X"00",X"01",X"00",X"E2",X"17",X"08",X"20", + X"00",X"00",X"82",X"0A",X"86",X"00",X"81",X"04",X"87",X"01",X"8D",X"2A",X"27",X"03",X"8E",X"8D", + X"27",X"24",X"04",X"8E",X"8D",X"24",X"1F",X"04",X"8E",X"8D",X"21",X"1E",X"05",X"8E",X"8D",X"1E", + X"1B",X"06",X"8E",X"8D",X"1B",X"24",X"07",X"8E",X"84",X"0B",X"18",X"CD",X"EF",X"FE",X"DC",X"00", + X"14",X"18",X"6E",X"18",X"01",X"17",X"18",X"80",X"23",X"00",X"00",X"00",X"01",X"00",X"24",X"18", + X"00",X"20",X"00",X"00",X"82",X"0F",X"81",X"04",X"86",X"00",X"85",X"03",X"8F",X"00",X"07",X"02", + X"90",X"8F",X"00",X"05",X"02",X"90",X"8F",X"00",X"03",X"01",X"90",X"8F",X"00",X"01",X"02",X"90", + X"8F",X"00",X"08",X"01",X"90",X"8F",X"00",X"06",X"01",X"90",X"8F",X"00",X"04",X"01",X"90",X"8F", + X"00",X"02",X"01",X"90",X"8F",X"00",X"01",X"02",X"90",X"8F",X"00",X"08",X"01",X"90",X"8F",X"00", + X"02",X"02",X"90",X"8F",X"00",X"06",X"01",X"90",X"8F",X"00",X"08",X"01",X"90",X"84",X"72",X"18", + X"82",X"18",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"ED",X"DC",X"CB",X"BA",X"A9",X"98", + X"86",X"01",X"FF",X"FF",X"DD",X"BB",X"AA",X"88",X"66",X"02",X"90",X"18",X"DD",X"18",X"ED",X"18", + X"02",X"95",X"18",X"A2",X"18",X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"AF",X"18",X"0E",X"20", + X"00",X"00",X"80",X"21",X"00",X"00",X"00",X"14",X"00",X"C6",X"18",X"0E",X"20",X"00",X"00",X"82", + X"0F",X"81",X"04",X"87",X"00",X"86",X"01",X"19",X"05",X"1C",X"05",X"1E",X"05",X"86",X"02",X"21", + X"05",X"00",X"05",X"8A",X"B5",X"18",X"82",X"0F",X"81",X"04",X"87",X"00",X"86",X"01",X"19",X"05", + X"1C",X"05",X"1E",X"05",X"86",X"02",X"21",X"05",X"00",X"05",X"8A",X"CC",X"18",X"E1",X"18",X"E7", + X"18",X"DE",X"FF",X"FF",X"FF",X"ED",X"01",X"DC",X"BA",X"98",X"76",X"54",X"01",X"F1",X"18",X"07", + X"19",X"FF",X"FF",X"FF",X"FF",X"EE",X"DD",X"EE",X"DD",X"EE",X"DD",X"EE",X"DD",X"EE",X"DD",X"EE", + X"DD",X"EE",X"DD",X"EE",X"DD",X"EE",X"00",X"FF",X"FF",X"FF",X"FF",X"EE",X"EE",X"DD",X"DD",X"EE", + X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"EE",X"EE",X"DD",X"DD",X"DD",X"00",X"23",X"19",X"90", + X"19",X"9F",X"19",X"01",X"26",X"19",X"80",X"13",X"00",X"00",X"00",X"01",X"00",X"33",X"19",X"00", + X"20",X"00",X"00",X"81",X"06",X"86",X"00",X"85",X"03",X"85",X"07",X"82",X"0F",X"8F",X"00",X"20", + X"05",X"90",X"82",X"0E",X"8F",X"00",X"21",X"05",X"90",X"82",X"0D",X"8F",X"00",X"1F",X"05",X"90", + X"82",X"0C",X"8F",X"00",X"21",X"05",X"90",X"82",X"0B",X"8F",X"00",X"1F",X"05",X"90",X"82",X"0A", + X"8F",X"00",X"21",X"04",X"90",X"82",X"09",X"8F",X"00",X"1F",X"04",X"90",X"82",X"08",X"8F",X"00", + X"21",X"04",X"90",X"82",X"07",X"8F",X"00",X"1F",X"04",X"90",X"82",X"06",X"8F",X"00",X"21",X"04", + X"90",X"82",X"05",X"8F",X"00",X"1F",X"03",X"90",X"82",X"04",X"8F",X"00",X"21",X"03",X"90",X"84", + X"92",X"19",X"FE",X"FE",X"DE",X"DE",X"CD",X"CD",X"BC",X"BC",X"AB",X"AB",X"89",X"89",X"02",X"A1", + X"19",X"FF",X"DD",X"FF",X"DD",X"00",X"AA",X"19",X"2C",X"1A",X"01",X"AD",X"19",X"80",X"11",X"00", + X"00",X"00",X"01",X"00",X"BA",X"19",X"00",X"20",X"00",X"00",X"82",X"0F",X"81",X"04",X"86",X"00", + X"87",X"00",X"82",X"0F",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"0E",X"8D",X"33",X"3B",X"06",X"8E", + X"82",X"0D",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"0C",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"0B", + X"8D",X"33",X"3B",X"06",X"8E",X"82",X"0A",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"09",X"8D",X"33", + X"3B",X"06",X"8E",X"82",X"08",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"07",X"8D",X"33",X"3B",X"06", + X"8E",X"82",X"06",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"05",X"8D",X"33",X"3B",X"06",X"8E",X"82", + X"04",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"03",X"8D",X"33",X"3B",X"06",X"8E",X"82",X"02",X"8D", + X"33",X"3B",X"06",X"8E",X"82",X"01",X"8D",X"33",X"3B",X"06",X"8E",X"84",X"30",X"1A",X"37",X"1A", + X"FE",X"DC",X"BA",X"98",X"87",X"65",X"01",X"FF",X"FF",X"DD",X"BB",X"AA",X"88",X"66",X"02",X"45", + X"1A",X"CC",X"1A",X"DE",X"1A",X"02",X"4A",X"1A",X"57",X"1A",X"80",X"20",X"00",X"00",X"00",X"01", + X"00",X"64",X"1A",X"03",X"20",X"00",X"00",X"80",X"21",X"00",X"00",X"00",X"01",X"00",X"98",X"1A", + X"03",X"20",X"00",X"00",X"81",X"0B",X"86",X"02",X"87",X"00",X"82",X"0F",X"19",X"04",X"00",X"02", + X"86",X"02",X"18",X"02",X"18",X"02",X"18",X"02",X"86",X"01",X"19",X"04",X"00",X"02",X"1B",X"02", + X"1B",X"02",X"1B",X"02",X"8C",X"00",X"02",X"6C",X"1A",X"86",X"02",X"19",X"02",X"00",X"02",X"1B", + X"02",X"00",X"02",X"86",X"01",X"1D",X"0C",X"84",X"81",X"0B",X"86",X"02",X"87",X"00",X"82",X"0F", + X"20",X"04",X"00",X"02",X"86",X"02",X"1F",X"02",X"1F",X"02",X"1F",X"02",X"86",X"01",X"20",X"04", + X"00",X"02",X"22",X"02",X"22",X"02",X"22",X"02",X"8C",X"01",X"02",X"A0",X"1A",X"86",X"02",X"20", + X"02",X"00",X"02",X"22",X"02",X"00",X"02",X"86",X"01",X"24",X"0C",X"84",X"D0",X"1A",X"D9",X"1A", + X"EF",X"FF",X"FE",X"ED",X"DC",X"CB",X"BA",X"98",X"01",X"EF",X"FE",X"DC",X"BA",X"01",X"E0",X"1A", + X"AB",X"CD",X"DC",X"BA",X"00",X"EB",X"1A",X"5E",X"1B",X"70",X"1B",X"02",X"F0",X"1A",X"FD",X"1A", + X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"0A",X"1B",X"FC",X"20",X"00",X"00",X"80",X"21",X"00", + X"00",X"00",X"05",X"00",X"34",X"1B",X"08",X"20",X"00",X"00",X"81",X"04",X"86",X"02",X"87",X"00", + X"82",X"0F",X"1E",X"06",X"22",X"06",X"24",X"06",X"2A",X"06",X"29",X"06",X"27",X"06",X"25",X"06", + X"24",X"06",X"22",X"06",X"21",X"06",X"20",X"06",X"1E",X"06",X"1F",X"06",X"27",X"06",X"8C",X"00", + X"02",X"18",X"1B",X"84",X"81",X"04",X"86",X"02",X"87",X"00",X"82",X"0F",X"1E",X"06",X"22",X"06", + X"24",X"06",X"2A",X"06",X"29",X"06",X"27",X"06",X"25",X"06",X"24",X"06",X"22",X"06",X"21",X"06", + X"20",X"06",X"1E",X"06",X"1F",X"06",X"27",X"06",X"8C",X"01",X"02",X"42",X"1B",X"84",X"62",X"1B", + X"69",X"1B",X"CD",X"EF",X"FE",X"ED",X"DC",X"CB",X"01",X"CD",X"EF",X"FE",X"DC",X"BA",X"98",X"01", + X"72",X"1B",X"AB",X"CD",X"EF",X"FE",X"DC",X"BA",X"00",X"7F",X"1B",X"6F",X"1E",X"A1",X"1E",X"08", + X"90",X"1B",X"9D",X"1B",X"AA",X"1B",X"B7",X"1B",X"C4",X"1B",X"D1",X"1B",X"DE",X"1B",X"EB",X"1B", + X"80",X"20",X"00",X"00",X"00",X"01",X"00",X"F8",X"1B",X"00",X"20",X"00",X"00",X"80",X"21",X"00", + X"00",X"00",X"01",X"00",X"F0",X"1C",X"00",X"20",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"01", + X"00",X"E8",X"1D",X"00",X"20",X"00",X"00",X"00",X"23",X"00",X"00",X"00",X"01",X"00",X"42",X"1E", + X"00",X"20",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"00",X"E8",X"1D",X"00",X"20",X"00", + X"00",X"80",X"11",X"00",X"00",X"00",X"01",X"00",X"17",X"1E",X"00",X"20",X"00",X"00",X"80",X"12", + X"00",X"00",X"00",X"01",X"00",X"42",X"1E",X"00",X"20",X"00",X"00",X"00",X"13",X"00",X"00",X"00", + X"01",X"00",X"42",X"1E",X"00",X"20",X"00",X"00",X"86",X"01",X"87",X"00",X"82",X"0F",X"81",X"0A", + X"00",X"0A",X"8D",X"12",X"19",X"07",X"19",X"25",X"0B",X"25",X"31",X"11",X"31",X"3C",X"14",X"8E", + X"81",X"0C",X"86",X"00",X"87",X"00",X"82",X"0F",X"8D",X"30",X"38",X"06",X"8E",X"82",X"0F",X"8D", + X"2C",X"34",X"06",X"8E",X"82",X"0F",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0E",X"8D",X"30",X"38", + X"06",X"8E",X"82",X"0E",X"8D",X"30",X"38",X"06",X"8E",X"82",X"0D",X"8D",X"30",X"38",X"06",X"8E", + X"82",X"0D",X"8D",X"30",X"38",X"06",X"8E",X"82",X"0C",X"8D",X"30",X"38",X"06",X"8E",X"82",X"0C", + X"8D",X"30",X"38",X"06",X"8E",X"82",X"0B",X"8D",X"30",X"38",X"06",X"8E",X"82",X"0B",X"8D",X"30", + X"38",X"06",X"8E",X"82",X"0A",X"8D",X"30",X"38",X"06",X"8E",X"82",X"0A",X"8D",X"30",X"38",X"06", + X"8E",X"82",X"09",X"8D",X"30",X"38",X"06",X"8E",X"82",X"09",X"8D",X"30",X"38",X"06",X"8E",X"82", + X"08",X"8D",X"30",X"38",X"06",X"8E",X"82",X"08",X"8D",X"30",X"38",X"06",X"8E",X"82",X"07",X"8D", + X"30",X"38",X"06",X"8E",X"82",X"07",X"8D",X"30",X"38",X"06",X"8E",X"82",X"06",X"8D",X"30",X"38", + X"06",X"8E",X"82",X"06",X"8D",X"30",X"38",X"06",X"8E",X"82",X"05",X"8D",X"30",X"38",X"06",X"8E", + X"82",X"05",X"8D",X"30",X"38",X"06",X"8E",X"82",X"04",X"8D",X"30",X"38",X"06",X"8E",X"82",X"04", + X"8D",X"30",X"38",X"06",X"8E",X"82",X"03",X"8D",X"30",X"38",X"06",X"8E",X"82",X"03",X"8D",X"30", + X"38",X"06",X"8E",X"82",X"02",X"8D",X"30",X"38",X"06",X"8E",X"82",X"02",X"8D",X"30",X"38",X"06", + X"8E",X"82",X"01",X"8D",X"30",X"38",X"06",X"8E",X"82",X"01",X"8D",X"30",X"38",X"06",X"8E",X"84", + X"86",X"01",X"87",X"00",X"82",X"0F",X"81",X"0A",X"00",X"0F",X"8D",X"12",X"1B",X"05",X"1B",X"27", + X"0A",X"27",X"33",X"0F",X"31",X"3C",X"14",X"8E",X"81",X"0C",X"86",X"00",X"87",X"00",X"82",X"0F", + X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0F",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0F",X"8D",X"2C", + X"34",X"06",X"8E",X"82",X"0E",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0E",X"8D",X"2C",X"34",X"06", + X"8E",X"82",X"0D",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0D",X"8D",X"2C",X"34",X"06",X"8E",X"82", + X"0C",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0C",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0B",X"8D", + X"2C",X"34",X"06",X"8E",X"82",X"0B",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"0A",X"8D",X"2C",X"34", + X"06",X"8E",X"82",X"0A",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"09",X"8D",X"2C",X"34",X"06",X"8E", + X"82",X"09",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"08",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"08", + X"8D",X"2C",X"34",X"06",X"8E",X"82",X"07",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"07",X"8D",X"2C", + X"34",X"06",X"8E",X"82",X"06",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"06",X"8D",X"2C",X"34",X"06", + X"8E",X"82",X"05",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"05",X"8D",X"2C",X"34",X"06",X"8E",X"82", + X"04",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"04",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"03",X"8D", + X"2C",X"34",X"06",X"8E",X"82",X"03",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"02",X"8D",X"2C",X"34", + X"06",X"8E",X"82",X"02",X"8D",X"2C",X"34",X"06",X"8E",X"82",X"01",X"8D",X"2C",X"34",X"06",X"8E", + X"82",X"01",X"8D",X"2C",X"34",X"06",X"8E",X"84",X"81",X"05",X"86",X"00",X"87",X"00",X"82",X"0F", + X"81",X"05",X"82",X"0F",X"8F",X"00",X"14",X"02",X"00",X"10",X"02",X"00",X"0C",X"02",X"00",X"10", + X"02",X"90",X"81",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C", + X"00",X"0C",X"00",X"0C",X"00",X"06",X"84",X"86",X"01",X"87",X"00",X"82",X"0F",X"81",X"0A",X"8D", + X"12",X"19",X"0A",X"19",X"25",X"0F",X"25",X"31",X"14",X"31",X"3C",X"14",X"8E",X"81",X"0C",X"00", + X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00", + X"06",X"84",X"86",X"01",X"87",X"00",X"82",X"0F",X"81",X"0A",X"00",X"05",X"8D",X"0D",X"1E",X"0A", + X"1E",X"25",X"0F",X"25",X"31",X"0F",X"31",X"3C",X"14",X"8E",X"81",X"0C",X"00",X"0C",X"00",X"0C", + X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"06",X"84",X"73", + X"1E",X"75",X"1E",X"F9",X"00",X"11",X"12",X"23",X"34",X"45",X"56",X"67",X"78",X"89",X"9A",X"AB", + X"BC",X"CD",X"DE",X"EF",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE", + X"FE",X"FE",X"FE",X"FE",X"FE",X"ED",X"DC",X"CB",X"BA",X"A9",X"98",X"87",X"76",X"65",X"43",X"21", + X"01",X"A3",X"1E",X"DE",X"FE",X"DC",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/spr_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/spr_rom.vhd new file mode 100644 index 00000000..daa26f6b --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/rom/spr_rom.vhd @@ -0,0 +1,2070 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity spr_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(14 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of spr_rom is + type rom is array(0 to 32767) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"21", + X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"38",X"88",X"FF",X"FF",X"FF",X"FF",X"11",X"13",X"38",X"23", + X"4F",X"FF",X"FF",X"04",X"33",X"22",X"11",X"12",X"4F",X"FF",X"00",X"33",X"99",X"21",X"11",X"78", + X"1F",X"03",X"21",X"88",X"93",X"33",X"4F",X"FF",X"03",X"21",X"29",X"93",X"34",X"FF",X"FF",X"03", + X"22",X"29",X"91",X"12",X"4F",X"FF",X"00",X"33",X"99",X"22",X"21",X"78",X"1F",X"04",X"44",X"33", + X"33",X"33",X"4F",X"FF",X"11",X"14",X"43",X"33",X"4F",X"FF",X"FF",X"00",X"44",X"33",X"FF",X"FF", + X"FF",X"FF",X"00",X"22",X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"21", + X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"43",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"44",X"38",X"83", + X"3F",X"FF",X"FF",X"02",X"11",X"12",X"22",X"22",X"3F",X"FF",X"01",X"13",X"33",X"31",X"11",X"17", + X"1F",X"04",X"33",X"33",X"22",X"23",X"3F",X"FF",X"02",X"29",X"98",X"33",X"33",X"FF",X"FF",X"04", + X"11",X"88",X"92",X"23",X"3F",X"FF",X"04",X"22",X"19",X"93",X"21",X"2A",X"1F",X"04",X"33",X"49", + X"33",X"34",X"FF",X"FF",X"02",X"24",X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"21",X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"32", + X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"43",X"28",X"8F",X"FF",X"FF",X"FF",X"00",X"43",X"33",X"33", + X"3F",X"FF",X"FF",X"02",X"21",X"12",X"22",X"33",X"3F",X"FF",X"01",X"11",X"32",X"21",X"12",X"27", + X"1F",X"03",X"39",X"93",X"31",X"13",X"4F",X"FF",X"02",X"29",X"81",X"33",X"33",X"3F",X"FF",X"03", + X"21",X"18",X"92",X"22",X"3B",X"1F",X"03",X"21",X"19",X"33",X"34",X"FF",X"FF",X"04",X"33",X"23", + X"34",X"FF",X"FF",X"FF",X"02",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"21", + X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"33",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"33",X"38",X"8F", + X"FF",X"FF",X"FF",X"04",X"43",X"71",X"33",X"3F",X"FF",X"FF",X"02",X"27",X"13",X"33",X"33",X"3F", + X"FF",X"01",X"11",X"22",X"11",X"21",X"17",X"1F",X"05",X"49",X"92",X"22",X"22",X"4F",X"FF",X"02", + X"29",X"18",X"33",X"44",X"3C",X"1F",X"03",X"38",X"19",X"22",X"33",X"FF",X"FF",X"04",X"23",X"99", + X"44",X"FF",X"FF",X"FF",X"00",X"32",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"21",X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"33",X"88",X"FF", + X"FF",X"FF",X"FF",X"00",X"33",X"38",X"88",X"3F",X"FF",X"FF",X"03",X"44",X"33",X"33",X"33",X"5F", + X"FF",X"03",X"37",X"12",X"22",X"22",X"27",X"1F",X"03",X"71",X"33",X"11",X"83",X"3C",X"1F",X"07", + X"19",X"93",X"33",X"34",X"FF",X"FF",X"04",X"39",X"99",X"34",X"FF",X"FF",X"FF",X"03",X"21",X"49", + X"FF",X"FF",X"FF",X"FF",X"00",X"32",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"21",X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"08",X"88",X"35",X"5F",X"FF", + X"FF",X"00",X"43",X"22",X"23",X"44",X"5F",X"FF",X"03",X"77",X"43",X"11",X"13",X"37",X"1F",X"07", + X"74",X"32",X"22",X"33",X"FF",X"FF",X"07",X"43",X"99",X"44",X"FF",X"FF",X"FF",X"04",X"39",X"99", + X"FF",X"FF",X"FF",X"FF",X"00",X"32",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"11",X"11",X"66",X"66",X"6F",X"FF",X"00",X"77",X"77",X"88",X"22",X"3A",X"1F",X"05", + X"77",X"71",X"12",X"24",X"FF",X"FF",X"05",X"77",X"33",X"35",X"FF",X"FF",X"FF",X"05",X"39",X"94", + X"FF",X"FF",X"FF",X"FF",X"00",X"43",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"ED",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E", + X"DA",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"ED",X"AA",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"DA",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"08",X"55",X"ED",X"A2",X"EE",X"AA",X"AA",X"FF",X"00",X"00",X"00",X"00",X"08",X"8E",X"E2",X"22", + X"EA",X"AA",X"A1",X"FF",X"00",X"00",X"00",X"55",X"55",X"BE",X"22",X"22",X"EE",X"BB",X"B2",X"FF", + X"00",X"54",X"44",X"BB",X"BB",X"B6",X"22",X"A1",X"1A",X"33",X"FF",X"FF",X"66",X"55",X"77",X"7E", + X"EE",X"BC",X"62",X"2A",X"A3",X"33",X"FF",X"FF",X"00",X"66",X"66",X"6C",X"CC",X"CC",X"63",X"33", + X"33",X"33",X"FF",X"FF",X"00",X"00",X"00",X"66",X"6C",X"C6",X"55",X"53",X"33",X"3A",X"AA",X"FF", + X"00",X"00",X"00",X"00",X"06",X"66",X"65",X"55",X"53",X"EA",X"A1",X"FF",X"00",X"00",X"00",X"00", + X"06",X"66",X"66",X"65",X"55",X"CB",X"B2",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"66", + X"66",X"5F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"53",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"63",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"56",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"48",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"04",X"84",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"48", + X"44",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"84",X"44",X"4F",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"05",X"55",X"44",X"43",X"44",X"44",X"44",X"FF",X"00",X"00",X"00",X"00", + X"05",X"54",X"43",X"33",X"44",X"44",X"4E",X"FF",X"00",X"00",X"00",X"55",X"55",X"B4",X"33",X"33", + X"44",X"BB",X"B3",X"FF",X"00",X"54",X"44",X"BB",X"BB",X"B0",X"33",X"4E",X"E4",X"55",X"FF",X"FF", + X"00",X"55",X"55",X"54",X"44",X"B0",X"03",X"34",X"45",X"55",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"05",X"55",X"55",X"55",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55", + X"55",X"54",X"44",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"55",X"44",X"4E",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"0B",X"B3",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"5F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"55",X"55",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"55", + X"55",X"5F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"FF", + X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"55",X"55",X"55",X"54",X"FF",X"00",X"00",X"00",X"00", + X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"FF",X"00",X"05",X"55",X"55",X"55",X"50",X"55",X"54", + X"45",X"FF",X"FF",X"FF",X"00",X"00",X"50",X"00",X"55",X"50",X"05",X"55",X"5F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"55",X"54",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"BB",X"BB",X"BF",X"FF",X"FF",X"09",X"9B",X"BE",X"EE",X"FF",X"FF",X"39",X"9E", + X"16",X"DE",X"EF",X"FF",X"43",X"EE",X"11",X"67",X"EF",X"FF",X"43",X"E5",X"E1",X"67",X"EF",X"FF", + X"33",X"75",X"71",X"67",X"EF",X"FF",X"43",X"75",X"D1",X"6E",X"EF",X"FF",X"43",X"77",X"11",X"6E", + X"EF",X"FF",X"38",X"87",X"16",X"BB",X"EF",X"FF",X"08",X"89",X"99",X"BB",X"FF",X"FF",X"00",X"99", + X"99",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"BB",X"BB",X"BF",X"FF",X"FF",X"09",X"9B",X"BE",X"EE",X"FF",X"FF",X"39",X"9E",X"16",X"DE", + X"EF",X"FF",X"23",X"EE",X"11",X"67",X"EF",X"FF",X"23",X"E5",X"E1",X"67",X"EF",X"FF",X"33",X"75", + X"71",X"67",X"EF",X"FF",X"23",X"75",X"D1",X"6E",X"EF",X"FF",X"23",X"77",X"11",X"6E",X"EF",X"FF", + X"38",X"87",X"16",X"BB",X"EF",X"FF",X"08",X"89",X"99",X"BB",X"FF",X"FF",X"00",X"99",X"99",X"9F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"BB", + X"BB",X"BF",X"FF",X"FF",X"09",X"9B",X"BE",X"EE",X"FF",X"FF",X"39",X"9E",X"16",X"DE",X"EF",X"FF", + X"63",X"EE",X"11",X"67",X"EF",X"FF",X"63",X"E5",X"E1",X"67",X"EF",X"FF",X"33",X"75",X"71",X"67", + X"EF",X"FF",X"63",X"75",X"D1",X"6E",X"EF",X"FF",X"63",X"77",X"11",X"6E",X"EF",X"FF",X"38",X"87", + X"16",X"BB",X"EF",X"FF",X"08",X"89",X"99",X"BB",X"FF",X"FF",X"00",X"99",X"99",X"9F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"AF",X"BB",X"DF",X"AA",X"AF",X"FF",X"FF", + X"FF",X"FF",X"AA",X"FF",X"BB",X"DF",X"AA",X"AF",X"AA",X"FF",X"AA",X"AF",X"BB",X"DF",X"AA",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"44",X"44",X"FF",X"FF",X"00",X"00", + X"54",X"42",X"2F",X"FF",X"00",X"00",X"05",X"44",X"33",X"DF",X"00",X"05",X"55",X"3A",X"AA",X"AF", + X"05",X"54",X"44",X"35",X"69",X"8F",X"65",X"2A",X"12",X"35",X"55",X"FF",X"65",X"22",X"A1",X"35", + X"33",X"FF",X"06",X"53",X"22",X"65",X"33",X"DF",X"00",X"06",X"66",X"5A",X"AA",X"AF",X"00",X"00", + X"06",X"56",X"59",X"8F",X"00",X"00",X"55",X"53",X"3F",X"FF",X"00",X"00",X"66",X"55",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"B0",X"9F",X"FF",X"FF",X"FF", + X"00",X"0B",X"BE",X"99",X"FF",X"FF",X"FF",X"00",X"0B",X"BE",X"99",X"FF",X"FF",X"FF",X"00",X"00", + X"ED",X"E0",X"FF",X"FF",X"FF",X"00",X"0C",X"CE",X"AA",X"FF",X"FF",X"FF",X"00",X"0C",X"CE",X"AA", + X"FF",X"FF",X"FF",X"00",X"00",X"C0",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"B0",X"9F",X"FF",X"FF",X"FF", + X"00",X"0B",X"BE",X"99",X"FF",X"FF",X"FF",X"00",X"BB",X"AE",X"99",X"9F",X"FF",X"FF",X"00",X"BA", + X"EE",X"E9",X"9F",X"FF",X"FF",X"00",X"0E",X"ED",X"EE",X"0F",X"FF",X"FF",X"00",X"CB",X"EE",X"E9", + X"AF",X"FF",X"FF",X"00",X"CC",X"BE",X"9A",X"AF",X"FF",X"FF",X"00",X"0C",X"CE",X"AA",X"FF",X"FF", + X"FF",X"00",X"00",X"C0",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"B0",X"9F",X"FF",X"FF",X"FF", + X"00",X"0B",X"AE",X"99",X"FF",X"FF",X"FF",X"00",X"BA",X"AE",X"79",X"9F",X"FF",X"FF",X"0B",X"AA", + X"EE",X"E7",X"99",X"FF",X"FF",X"0B",X"AE",X"ED",X"EE",X"79",X"FF",X"FF",X"00",X"EE",X"DD",X"DE", + X"EF",X"FF",X"FF",X"0C",X"BE",X"ED",X"EE",X"9A",X"FF",X"FF",X"0C",X"BB",X"EE",X"E9",X"AA",X"FF", + X"FF",X"00",X"CB",X"BE",X"9A",X"AF",X"FF",X"FF",X"00",X"0C",X"BE",X"AA",X"FF",X"FF",X"FF",X"00", + X"00",X"C0",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"0A",X"A0",X"77",X"FF",X"FF",X"FF", + X"00",X"A9",X"9E",X"77",X"7F",X"FF",X"FF",X"0A",X"99",X"9E",X"66",X"67",X"FF",X"FF",X"0A",X"99", + X"EE",X"E6",X"67",X"FF",X"FF",X"09",X"9E",X"ED",X"EE",X"67",X"FF",X"FF",X"00",X"EE",X"DD",X"DE", + X"EF",X"FF",X"FF",X"00",X"EE",X"DD",X"DE",X"EF",X"FF",X"FF",X"0A",X"AE",X"ED",X"EE",X"78",X"FF", + X"FF",X"0A",X"AA",X"EE",X"E7",X"78",X"FF",X"FF",X"0B",X"AA",X"AE",X"77",X"88",X"FF",X"FF",X"00", + X"BA",X"AE",X"88",X"8F",X"FF",X"FF",X"00",X"0B",X"A0",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"0A",X"50",X"06",X"7F",X"FF",X"FF", + X"00",X"A9",X"5E",X"E5",X"67",X"FF",X"FF",X"0A",X"98",X"5E",X"E4",X"56",X"7F",X"FF",X"A9",X"87", + X"5E",X"E3",X"45",X"67",X"FF",X"98",X"76",X"EE",X"EE",X"34",X"56",X"FF",X"AA",X"AE",X"ED",X"DE", + X"E7",X"77",X"FF",X"0E",X"EE",X"DD",X"DD",X"EE",X"EF",X"FF",X"0E",X"EE",X"DD",X"DD",X"EE",X"EF", + X"FF",X"BA",X"7E",X"ED",X"DE",X"E3",X"56",X"FF",X"BA",X"87",X"EE",X"EE",X"45",X"67",X"FF",X"BA", + X"98",X"6E",X"EA",X"56",X"79",X"FF",X"0B",X"A9",X"8E",X"EA",X"67",X"9F",X"FF",X"00",X"BA",X"9E", + X"EA",X"79",X"FF",X"FF",X"00",X"0B",X"A0",X"0A",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"09",X"30",X"04",X"5F",X"FF",X"FF",X"00",X"98",X"3E",X"E3",X"45",X"FF",X"FF",X"09",X"87", + X"3E",X"E2",X"34",X"5F",X"FF",X"98",X"76",X"3E",X"E1",X"23",X"45",X"FF",X"87",X"65",X"EE",X"EE", + X"11",X"34",X"FF",X"AA",X"AE",X"ED",X"DE",X"E1",X"13",X"FF",X"0E",X"EE",X"DD",X"DD",X"E6",X"66", + X"FF",X"0E",X"EE",X"DD",X"DD",X"EE",X"EF",X"FF",X"BB",X"BE",X"DD",X"DD",X"EE",X"EF",X"FF",X"87", + X"6E",X"ED",X"DE",X"E1",X"11",X"FF",X"98",X"76",X"EE",X"EE",X"23",X"45",X"FF",X"A9",X"87",X"5E", + X"E2",X"34",X"56",X"FF",X"0A",X"98",X"5E",X"E3",X"45",X"6F",X"FF",X"00",X"A9",X"5E",X"E4",X"56", + X"FF",X"FF",X"00",X"0A",X"50",X"06",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"03",X"33",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"02",X"22",X"22",X"22",X"22",X"22",X"32",X"2F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0C",X"CC", + X"CC",X"53",X"CC",X"3C",X"CC",X"32",X"22",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"CC",X"CC",X"CC", + X"33",X"C3",X"3C",X"CC",X"33",X"22",X"2F",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"CC",X"CC",X"CC", + X"CC",X"CC",X"CC",X"C3",X"31",X"22",X"FF",X"FF",X"00",X"00",X"CC",X"C2",X"CC",X"33",X"33",X"33", + X"33",X"33",X"2C",X"33",X"11",X"2F",X"FF",X"00",X"0C",X"CC",X"22",X"C7",X"33",X"33",X"33",X"33", + X"32",X"22",X"C3",X"31",X"1F",X"FF",X"00",X"CC",X"C3",X"22",X"C7",X"33",X"33",X"33",X"33",X"22", + X"22",X"2C",X"33",X"3C",X"FF",X"0C",X"CC",X"33",X"22",X"CC",X"33",X"33",X"33",X"32",X"22",X"22", + X"22",X"CC",X"CC",X"FF",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"E1",X"11",X"22",X"22", + X"22",X"EC",X"FF",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"71",X"11",X"11",X"22",X"2E", + X"EE",X"FF",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"77",X"71",X"11",X"11",X"EE",X"EE", + X"EF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"33",X"DD",X"77",X"11",X"1E",X"EE",X"EE",X"EF", + X"00",X"00",X"00",X"00",X"00",X"03",X"33",X"23",X"33",X"D7",X"7C",X"EE",X"EE",X"EE",X"EF",X"00", + X"00",X"00",X"00",X"00",X"33",X"22",X"12",X"23",X"3D",X"7C",X"EE",X"EE",X"EE",X"EF",X"00",X"00", + X"00",X"00",X"00",X"32",X"21",X"11",X"22",X"3D",X"77",X"CC",X"CC",X"CC",X"CF",X"00",X"00",X"00", + X"00",X"03",X"32",X"11",X"11",X"12",X"33",X"D7",X"77",X"77",X"77",X"7F",X"00",X"00",X"00",X"00", + X"03",X"32",X"11",X"11",X"12",X"33",X"D7",X"77",X"77",X"77",X"7F",X"00",X"00",X"00",X"00",X"00", + X"32",X"21",X"11",X"22",X"3D",X"77",X"11",X"11",X"11",X"1F",X"00",X"00",X"00",X"00",X"00",X"33", + X"22",X"12",X"23",X"3D",X"75",X"55",X"55",X"55",X"5F",X"00",X"00",X"00",X"00",X"00",X"03",X"33", + X"23",X"33",X"D7",X"7E",X"55",X"55",X"55",X"5F",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"33", + X"DD",X"77",X"EC",X"C5",X"55",X"55",X"5F",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"77", + X"7E",X"CC",X"CC",X"55",X"55",X"5F",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"7E",X"EC", + X"CC",X"CC",X"C5",X"55",X"FF",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"C3",X"CC",X"CC", + X"CC",X"CC",X"5C",X"FF",X"0C",X"CC",X"33",X"CC",X"CC",X"55",X"55",X"55",X"5C",X"CC",X"CC",X"CC", + X"33",X"CC",X"FF",X"00",X"CC",X"C3",X"CC",X"C7",X"55",X"55",X"55",X"55",X"CC",X"CC",X"C3",X"33", + X"3C",X"FF",X"00",X"0C",X"CC",X"CC",X"C7",X"55",X"55",X"55",X"55",X"5C",X"CC",X"33",X"35",X"5F", + X"FF",X"00",X"00",X"CC",X"CC",X"CC",X"55",X"55",X"55",X"55",X"55",X"33",X"33",X"55",X"5F",X"FF", + X"00",X"00",X"0C",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"33",X"35",X"55",X"FF",X"FF",X"00", + X"00",X"00",X"CC",X"CC",X"CC",X"C5",X"5C",X"55",X"CC",X"33",X"55",X"5F",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"CC",X"CC",X"CC",X"5C",X"C5",X"CC",X"33",X"55",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"CC",X"CC",X"CC",X"CC",X"CC",X"33",X"5F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"05",X"55",X"55",X"55",X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"36",X"66",X"66",X"66",X"66",X"66",X"6F",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"03",X"36",X"66",X"66",X"66",X"66",X"66",X"66",X"6F",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"03",X"36",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"33",X"36",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"6F",X"FF",X"FF",X"00", + X"00",X"33",X"31",X"13",X"33",X"33",X"13",X"33",X"30",X"00",X"06",X"66",X"FF",X"FF",X"06",X"33", + X"33",X"11",X"11",X"33",X"33",X"13",X"33",X"30",X"00",X"03",X"66",X"6F",X"FF",X"06",X"63",X"31", + X"11",X"11",X"33",X"33",X"13",X"33",X"33",X"00",X"03",X"36",X"66",X"FF",X"06",X"66",X"11",X"11", + X"11",X"13",X"33",X"13",X"33",X"33",X"33",X"33",X"33",X"33",X"3F",X"06",X"66",X"61",X"11",X"11", + X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"66",X"66",X"66",X"11",X"10",X"00", + X"06",X"16",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"66",X"66",X"66",X"61",X"00",X"06",X"61", + X"13",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"66",X"66",X"66",X"60",X"00",X"63",X"31",X"13", + X"33",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"66",X"66",X"66",X"66",X"06",X"33",X"21",X"11",X"23", + X"36",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"06",X"32",X"11",X"11",X"12",X"36", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"1F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"11", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"06",X"32",X"11",X"11",X"12",X"36",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"06",X"33",X"21",X"11",X"23",X"36",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"63",X"33",X"11",X"33",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"11",X"10",X"06",X"63",X"11",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"01",X"11",X"11",X"00",X"06",X"16",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"22",X"21",X"11",X"11",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"02",X"22", + X"22",X"21",X"11",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"22", + X"22",X"22",X"33",X"13",X"33",X"30",X"02",X"23",X"3F",X"FF",X"FF",X"00",X"33",X"30",X"22",X"22", + X"23",X"33",X"13",X"33",X"30",X"02",X"23",X"FF",X"FF",X"FF",X"00",X"11",X"03",X"02",X"22",X"33", + X"33",X"13",X"33",X"30",X"02",X"2F",X"FF",X"FF",X"FF",X"00",X"21",X"13",X"30",X"23",X"33",X"33", + X"13",X"33",X"30",X"02",X"FF",X"FF",X"FF",X"FF",X"00",X"02",X"21",X"33",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"22",X"23",X"30",X"00",X"33",X"03",X"3F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"22",X"30",X"00",X"30",X"03",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"22",X"32",X"22",X"22",X"22",X"22",X"22",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"03",X"33",X"33",X"33",X"33",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"08",X"88",X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"08", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"8F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"08",X"88",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08", + X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"0B",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"0B",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"0B",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"0B",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"0B",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0B", + X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"BB", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0B",X"BB",X"BB",X"BF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0B",X"BB",X"BB",X"BB",X"BB",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB", + X"BB",X"BF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0B",X"BB",X"BB",X"BB",X"BB",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"BB",X"BB",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0B",X"BB",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"0B",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"0B",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"1B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"1F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"1F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"11",X"11",X"11",X"11",X"11",X"1F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"11", + X"11",X"11",X"FF",X"FF",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"11",X"11",X"FF",X"FF", + X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"11",X"11",X"1F",X"FF",X"00",X"00",X"00",X"01", + X"11",X"11",X"11",X"11",X"11",X"11",X"1F",X"FF",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11", + X"11",X"11",X"11",X"FF",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"FF", + X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"FF",X"00",X"00",X"00",X"00", + X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"FF",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"11", + X"11",X"11",X"11",X"FF",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"11",X"1F",X"FF", + X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"11",X"11",X"1F",X"FF",X"00",X"00",X"00",X"00", + X"00",X"01",X"11",X"11",X"11",X"11",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11", + X"11",X"1F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"1F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"88",X"88",X"8F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"88", + X"88",X"88",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"88",X"88",X"88",X"8F",X"FF", + X"00",X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"88",X"8F",X"FF",X"00",X"00",X"00",X"00", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"00",X"00",X"00",X"00",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"FF",X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF", + X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"00",X"00",X"00",X"08", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88", + X"88",X"88",X"8F",X"FF",X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"88",X"88",X"8F",X"FF", + X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"FF",X"00",X"00",X"00",X"00",X"88",X"88",X"88",X"88", + X"88",X"8F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"88",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"01",X"01",X"11",X"11",X"11",X"11",X"1F",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"11",X"11",X"18",X"88",X"81",X"11",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"11", + X"88",X"81",X"88",X"88",X"11",X"11",X"1F",X"FF",X"FF",X"00",X"00",X"01",X"18",X"88",X"81",X"88", + X"88",X"11",X"11",X"10",X"01",X"FF",X"00",X"00",X"01",X"18",X"88",X"88",X"88",X"88",X"11",X"11", + X"11",X"11",X"FF",X"00",X"00",X"11",X"11",X"88",X"18",X"88",X"88",X"11",X"88",X"11",X"1F",X"FF", + X"00",X"00",X"01",X"18",X"81",X"11",X"18",X"88",X"18",X"81",X"81",X"1F",X"FF",X"00",X"00",X"01", + X"18",X"81",X"11",X"18",X"81",X"18",X"88",X"81",X"11",X"FF",X"00",X"00",X"01",X"11",X"81",X"18", + X"81",X"11",X"88",X"88",X"88",X"11",X"FF",X"00",X"00",X"11",X"11",X"11",X"88",X"81",X"18",X"88", + X"88",X"88",X"81",X"FF",X"00",X"00",X"11",X"11",X"81",X"88",X"81",X"18",X"88",X"88",X"81",X"81", + X"FF",X"00",X"01",X"11",X"18",X"88",X"88",X"81",X"18",X"88",X"88",X"88",X"11",X"FF",X"00",X"00", + X"01",X"18",X"88",X"88",X"88",X"11",X"11",X"11",X"18",X"11",X"1F",X"00",X"00",X"01",X"11",X"88", + X"88",X"88",X"11",X"11",X"11",X"11",X"11",X"FF",X"00",X"00",X"00",X"11",X"81",X"18",X"88",X"88", + X"11",X"88",X"11",X"11",X"FF",X"00",X"00",X"00",X"11",X"11",X"88",X"88",X"88",X"88",X"88",X"11", + X"1F",X"FF",X"00",X"00",X"01",X"11",X"11",X"88",X"88",X"88",X"88",X"88",X"81",X"1F",X"FF",X"00", + X"00",X"00",X"10",X"11",X"11",X"88",X"88",X"88",X"88",X"11",X"11",X"FF",X"00",X"00",X"00",X"00", + X"01",X"11",X"88",X"88",X"88",X"18",X"11",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"11",X"18", + X"18",X"88",X"11",X"1F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"01",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"1F",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"1F",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"1F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"30",X"00",X"00",X"11",X"11",X"11",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"30",X"01", + X"11",X"11",X"11",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"33",X"11",X"BB",X"B1",X"B1", + X"11",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"33",X"3B",X"BB",X"B1",X"BB",X"11",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"13",X"33",X"3B",X"BB",X"BB",X"4B",X"B1",X"1F",X"FF",X"FF",X"00",X"00", + X"01",X"11",X"44",X"44",X"BB",X"B4",X"4B",X"B1",X"1F",X"FF",X"FF",X"00",X"00",X"01",X"11",X"B4", + X"44",X"BB",X"44",X"44",X"4B",X"1F",X"FF",X"FF",X"00",X"00",X"11",X"BB",X"B4",X"44",X"44",X"44", + X"44",X"41",X"1F",X"FF",X"FF",X"00",X"00",X"11",X"BB",X"BB",X"44",X"44",X"4B",X"44",X"11",X"1F", + X"FF",X"FF",X"00",X"00",X"11",X"BB",X"BB",X"B4",X"44",X"BB",X"B3",X"33",X"33",X"FF",X"FF",X"00", + X"01",X"11",X"BB",X"BB",X"BB",X"44",X"4B",X"B3",X"B3",X"33",X"3F",X"FF",X"00",X"00",X"11",X"1B", + X"BB",X"BB",X"44",X"4B",X"BB",X"B1",X"11",X"33",X"FF",X"00",X"00",X"11",X"11",X"34",X"44",X"44", + X"44",X"BB",X"B1",X"10",X"03",X"FF",X"00",X"00",X"11",X"13",X"34",X"44",X"44",X"4B",X"BB",X"B1", + X"1F",X"FF",X"FF",X"00",X"00",X"11",X"33",X"34",X"44",X"44",X"BB",X"B1",X"11",X"FF",X"FF",X"FF", + X"00",X"00",X"33",X"34",X"44",X"BB",X"BB",X"BB",X"B1",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"33", + X"3B",X"BB",X"BB",X"BB",X"BB",X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"03",X"30",X"1B",X"BB",X"BB", + X"B1",X"11",X"11",X"1F",X"FF",X"FF",X"FF",X"00",X"33",X"00",X"11",X"1B",X"BB",X"B1",X"11",X"11", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"1F",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"11",X"11",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"11", + X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"11",X"11",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"1F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0A", + X"A1",X"1A",X"AA",X"11",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"AA",X"11",X"11",X"1A",X"AA", + X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"0A",X"AA",X"11",X"11",X"AA",X"A8",X"8A",X"1F",X"FF",X"FF", + X"00",X"00",X"08",X"A1",X"11",X"AA",X"AA",X"AA",X"8A",X"A1",X"FF",X"FF",X"00",X"00",X"AA",X"AA", + X"1A",X"A8",X"A1",X"AA",X"AA",X"AA",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"A8",X"A1",X"AA", + X"11",X"1A",X"FF",X"FF",X"00",X"00",X"A8",X"81",X"11",X"A8",X"A1",X"AA",X"A1",X"1A",X"FF",X"FF", + X"00",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"11",X"A1",X"1A",X"1F",X"FF",X"00",X"00",X"0A",X"AA", + X"AA",X"11",X"1A",X"11",X"AA",X"AA",X"1F",X"FF",X"00",X"00",X"0A",X"11",X"A1",X"11",X"1A",X"1A", + X"11",X"AA",X"AA",X"FF",X"00",X"00",X"A1",X"1A",X"A1",X"11",X"AA",X"A1",X"11",X"AA",X"8A",X"FF", + X"00",X"00",X"A1",X"1A",X"A1",X"11",X"A8",X"AA",X"AA",X"1A",X"8A",X"FF",X"00",X"00",X"A1",X"11", + X"AA",X"11",X"A8",X"88",X"8A",X"1A",X"AA",X"FF",X"00",X"00",X"AA",X"1A",X"AA",X"11",X"AA",X"A8", + X"8A",X"11",X"A1",X"FF",X"00",X"00",X"AA",X"1A",X"AA",X"AA",X"11",X"AA",X"AA",X"11",X"1F",X"FF", + X"00",X"00",X"AA",X"A8",X"AA",X"AA",X"A1",X"1A",X"A1",X"11",X"FF",X"FF",X"00",X"00",X"0A",X"A8", + X"AA",X"11",X"AA",X"AA",X"A1",X"11",X"FF",X"FF",X"00",X"00",X"00",X"A8",X"AA",X"11",X"A8",X"8A", + X"A1",X"AA",X"AF",X"FF",X"00",X"00",X"00",X"AA",X"AA",X"11",X"AA",X"AA",X"1A",X"AA",X"FF",X"FF", + X"00",X"00",X"00",X"1A",X"AA",X"A1",X"1A",X"A1",X"11",X"AF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"1A",X"AA",X"A1",X"11",X"A1",X"1F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"11",X"A8",X"8A",X"AA", + X"11",X"1F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"AA",X"AA",X"01",X"1F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"11",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"FF",X"00",X"00",X"00",X"00", + X"00",X"01",X"11",X"00",X"AA",X"01",X"1F",X"FF",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"1A", + X"AA",X"11",X"FF",X"FF",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A1",X"AA",X"AA",X"A1",X"1F",X"FF", + X"00",X"00",X"00",X"A1",X"11",X"1A",X"11",X"A1",X"11",X"11",X"1F",X"FF",X"00",X"00",X"00",X"A1", + X"11",X"AA",X"AA",X"11",X"11",X"11",X"AF",X"FF",X"00",X"00",X"00",X"11",X"AA",X"AA",X"AA",X"AA", + X"A1",X"11",X"AF",X"FF",X"00",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"A8",X"89",X"11",X"AF",X"FF", + X"00",X"00",X"01",X"AA",X"11",X"AA",X"11",X"AA",X"89",X"91",X"AF",X"FF",X"00",X"00",X"AA",X"1A", + X"11",X"A8",X"A1",X"99",X"99",X"91",X"AA",X"FF",X"00",X"01",X"1A",X"1A",X"1A",X"AA",X"11",X"99", + X"11",X"11",X"1A",X"FF",X"00",X"11",X"A1",X"11",X"11",X"19",X"11",X"11",X"11",X"11",X"1A",X"AF", + X"00",X"11",X"A1",X"AA",X"11",X"19",X"9A",X"11",X"11",X"11",X"AA",X"AF",X"00",X"01",X"AA",X"AA", + X"11",X"1A",X"99",X"A1",X"11",X"11",X"1A",X"AF",X"00",X"01",X"1A",X"AA",X"11",X"1A",X"AA",X"99", + X"AA",X"11",X"AA",X"1F",X"00",X"0A",X"1A",X"A1",X"11",X"11",X"AA",X"A9",X"AA",X"AA",X"A1",X"1F", + X"00",X"0A",X"AA",X"A1",X"11",X"19",X"AA",X"AA",X"99",X"AA",X"11",X"1F",X"00",X"01",X"AA",X"99", + X"11",X"19",X"AA",X"AA",X"99",X"11",X"11",X"AF",X"00",X"00",X"1A",X"A9",X"11",X"AA",X"AA",X"A9", + X"A9",X"11",X"11",X"AF",X"00",X"00",X"1A",X"A9",X"91",X"AA",X"AA",X"AA",X"91",X"11",X"1A",X"AF", + X"00",X"00",X"11",X"1A",X"9A",X"AA",X"AA",X"1A",X"91",X"11",X"AA",X"FF",X"00",X"00",X"A1",X"1A", + X"11",X"AA",X"A1",X"11",X"91",X"11",X"1A",X"FF",X"00",X"00",X"AA",X"1A",X"11",X"1A",X"A1",X"11", + X"11",X"11",X"AF",X"FF",X"00",X"00",X"0A",X"1A",X"A1",X"1A",X"AA",X"A1",X"11",X"1A",X"AF",X"FF", + X"00",X"00",X"0A",X"1A",X"A1",X"AA",X"A8",X"8A",X"11",X"AA",X"AF",X"FF",X"00",X"00",X"0A",X"11", + X"AA",X"AA",X"A8",X"AA",X"11",X"1A",X"AF",X"FF",X"00",X"00",X"00",X"A1",X"1A",X"AA",X"AA",X"A1", + X"11",X"1A",X"FF",X"FF",X"00",X"00",X"00",X"AA",X"11",X"AA",X"AA",X"11",X"10",X"AA",X"FF",X"FF", + X"00",X"00",X"00",X"01",X"11",X"AA",X"11",X"A1",X"0A",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"11",X"AA",X"11",X"11",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"AA",X"A0",X"11",X"11", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"1F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"1F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"00",X"00", + X"00",X"11",X"00",X"AA",X"01",X"1F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"10",X"00",X"11", + X"11",X"1A",X"AA",X"11",X"11",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0A",X"11",X"AA",X"AA",X"A1", + X"AA",X"AA",X"A1",X"11",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"11",X"11",X"1A",X"11",X"A1", + X"AA",X"A1",X"1A",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"0A",X"A1",X"11",X"AA",X"AA",X"11",X"AA", + X"A1",X"1A",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"AA",X"11",X"AA",X"AA",X"AA",X"11",X"11",X"11", + X"1A",X"8A",X"AF",X"FF",X"FF",X"00",X"0A",X"11",X"1A",X"AA",X"AA",X"1A",X"11",X"11",X"11",X"AA", + X"A1",X"AA",X"AA",X"FF",X"00",X"AA",X"11",X"1A",X"99",X"9A",X"A1",X"11",X"11",X"9A",X"AA",X"1A", + X"AA",X"AA",X"FF",X"00",X"01",X"1A",X"1A",X"99",X"9A",X"91",X"1A",X"1A",X"AA",X"AA",X"AA",X"AA", + X"1A",X"1F",X"00",X"11",X"8A",X"1A",X"AA",X"AA",X"11",X"11",X"AA",X"AA",X"AA",X"AA",X"A1",X"11", + X"AF",X"00",X"11",X"A1",X"1A",X"AA",X"A9",X"11",X"11",X"A1",X"11",X"1A",X"AA",X"11",X"1A",X"AF", + X"00",X"11",X"11",X"AA",X"AA",X"A9",X"9A",X"11",X"11",X"11",X"11",X"1A",X"11",X"AA",X"FF",X"01", + X"1A",X"AA",X"AA",X"AA",X"AA",X"99",X"A1",X"A1",X"11",X"11",X"11",X"11",X"AA",X"AF",X"00",X"0A", + X"1A",X"AA",X"AA",X"AA",X"AA",X"99",X"99",X"A1",X"11",X"11",X"AA",X"AA",X"FF",X"00",X"1A",X"A1", + X"1A",X"AA",X"AA",X"AA",X"A9",X"A9",X"99",X"91",X"1A",X"AA",X"AF",X"FF",X"00",X"AA",X"A1",X"11", + X"AA",X"A9",X"AA",X"AA",X"99",X"A9",X"A9",X"9A",X"A1",X"FF",X"FF",X"00",X"AA",X"A1",X"11",X"11", + X"19",X"AA",X"AA",X"1A",X"AA",X"AA",X"AA",X"11",X"AF",X"FF",X"00",X"AA",X"11",X"11",X"11",X"AA", + X"AA",X"A9",X"1A",X"A1",X"11",X"9A",X"11",X"AF",X"FF",X"00",X"AA",X"AA",X"11",X"11",X"AA",X"AA", + X"AA",X"11",X"11",X"1A",X"99",X"99",X"AA",X"FF",X"00",X"0A",X"AA",X"11",X"1A",X"AA",X"AA",X"11", + X"11",X"11",X"AA",X"9A",X"AA",X"AA",X"FF",X"00",X"11",X"1A",X"A1",X"11",X"AA",X"A1",X"11",X"11", + X"11",X"1A",X"AA",X"AA",X"AA",X"FF",X"00",X"11",X"AA",X"A1",X"11",X"1A",X"AA",X"11",X"11",X"11", + X"AA",X"A1",X"1A",X"AA",X"AF",X"00",X"11",X"AA",X"A1",X"11",X"11",X"A1",X"11",X"11",X"1A",X"AA", + X"11",X"1A",X"A0",X"AF",X"00",X"11",X"1A",X"AA",X"11",X"AA",X"A1",X"AA",X"A9",X"AA",X"A1",X"11", + X"A0",X"00",X"AF",X"00",X"01",X"1A",X"AA",X"AA",X"AA",X"11",X"1A",X"A9",X"99",X"AA",X"AA",X"00", + X"00",X"1F",X"00",X"0A",X"11",X"AA",X"AA",X"88",X"A1",X"11",X"1A",X"99",X"1F",X"FF",X"FF",X"FF", + X"FF",X"00",X"0A",X"AA",X"11",X"AA",X"99",X"11",X"11",X"19",X"9A",X"1F",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"AA",X"A1",X"11",X"99",X"91",X"11",X"11",X"91",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"0A",X"11",X"11",X"A9",X"9A",X"19",X"AA",X"10",X"1F",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"0A",X"11",X"1A",X"AA",X"99",X"99",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"A1",X"11",X"AA",X"AA",X"99",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0A", + X"AA",X"AA",X"0A",X"AA",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0A",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"A0",X"00",X"00",X"0A",X"AA",X"00",X"00", + X"00",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"0A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA", + X"0A",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"0A",X"00",X"00",X"0A",X"AA",X"10",X"0A",X"AF",X"FF",X"FF", + X"FF",X"00",X"0A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"AA",X"10",X"01",X"0A",X"00",X"A0",X"AA",X"A0",X"1A",X"AF",X"FF",X"FF",X"FF",X"00", + X"00",X"0A",X"A0",X"00",X"AA",X"AA",X"00",X"AA",X"A1",X"1A",X"AA",X"AF",X"FF",X"FF",X"00",X"00", + X"AA",X"00",X"AA",X"AA",X"00",X"00",X"01",X"01",X"1A",X"AA",X"AF",X"FF",X"FF",X"00",X"0A",X"10", + X"0A",X"AA",X"AA",X"1A",X"00",X"00",X"00",X"AA",X"00",X"A0",X"0A",X"FF",X"00",X"AA",X"00",X"0A", + X"99",X"9A",X"A1",X"10",X"00",X"00",X"00",X"1A",X"A0",X"0A",X"FF",X"00",X"00",X"0A",X"0A",X"99", + X"91",X"11",X"1A",X"00",X"00",X"00",X"00",X"AA",X"FF",X"FF",X"00",X"00",X"00",X"0A",X"A1",X"10", + X"10",X"10",X"00",X"00",X"A0",X"00",X"AA",X"00",X"AF",X"00",X"00",X"00",X"1A",X"11",X"00",X"00", + X"11",X"00",X"00",X"00",X"00",X"11",X"00",X"AF",X"00",X"00",X"01",X"11",X"10",X"00",X"00",X"01", + X"11",X"10",X"00",X"00",X"11",X"AF",X"FF",X"01",X"1A",X"A1",X"10",X"AA",X"00",X"00",X"00",X"00", + X"01",X"11",X"10",X"11",X"AA",X"AF",X"00",X"00",X"01",X"10",X"11",X"00",X"00",X"00",X"00",X"00", + X"11",X"10",X"AA",X"AF",X"FF",X"00",X"1A",X"A1",X"1A",X"01",X"10",X"00",X"00",X"00",X"00",X"91", + X"10",X"AA",X"FF",X"FF",X"00",X"AA",X"00",X"00",X"A1",X"10",X"00",X"00",X"00",X"00",X"00",X"90", + X"A1",X"FF",X"FF",X"00",X"AA",X"11",X"10",X"01",X"10",X"10",X"00",X"00",X"00",X"A0",X"A0",X"10", + X"AF",X"FF",X"00",X"AA",X"01",X"10",X"00",X"11",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"AF", + X"FF",X"00",X"AA",X"A0",X"11",X"00",X"11",X"10",X"00",X"00",X"01",X"10",X"09",X"00",X"AA",X"FF", + X"0A",X"0A",X"A0",X"10",X"0A",X"01",X"11",X"01",X"11",X"01",X"AA",X"11",X"AA",X"AA",X"FF",X"0A", + X"00",X"1A",X"A0",X"00",X"A0",X"01",X"11",X"11",X"00",X"0A",X"11",X"10",X"AA",X"FF",X"0A",X"00", + X"AA",X"01",X"11",X"0A",X"00",X"11",X"00",X"00",X"AA",X"11",X"0A",X"AA",X"AF",X"00",X"00",X"AA", + X"A1",X"01",X"11",X"10",X"00",X"10",X"10",X"01",X"11",X"10",X"00",X"AF",X"00",X"A0",X"00",X"AA", + X"10",X"A1",X"10",X"AA",X"A9",X"AA",X"01",X"11",X"10",X"00",X"AF",X"0A",X"A0",X"0A",X"AA",X"AA", + X"AA",X"10",X"0A",X"A1",X"11",X"11",X"11",X"00",X"00",X"AF",X"0A",X"AA",X"00",X"00",X"11",X"11", + X"00",X"00",X"0A",X"91",X"11",X"10",X"00",X"0A",X"AF",X"00",X"AA",X"0A",X"AA",X"00",X"01",X"11", + X"11",X"09",X"90",X"00",X"00",X"00",X"AA",X"AF",X"00",X"00",X"00",X"A0",X"0A",X"A0",X"90",X"AA", + X"A0",X"00",X"00",X"00",X"0A",X"AF",X"FF",X"00",X"0A",X"AA",X"00",X"0A",X"A0",X"00",X"AA",X"AA", + X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"0A",X"A0",X"00", + X"00",X"00",X"0A",X"FF",X"FF",X"00",X"00",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AF",X"FF",X"FF",X"00",X"00",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"00",X"AF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"00",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0A",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"A0",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"AF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0A",X"00",X"00",X"00",X"A0",X"00",X"AF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"FF",X"FF",X"FF",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"FF",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"FF",X"FF",X"FF", + X"FF",X"A0",X"00",X"A0",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"FF",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"AF",X"A0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"A0",X"0A",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"FF",X"FF",X"FF",X"FF",X"00",X"A0",X"00",X"00", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"00",X"A0",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"AA",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"A0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"09",X"AA",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"AA",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0A",X"AF",X"FF",X"FF",X"0A",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"AF",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA", + X"00",X"00",X"00",X"AF",X"00",X"00",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"AF",X"00",X"00",X"0A",X"00",X"A0",X"00",X"00",X"0A",X"09",X"99",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"AF", + X"FF",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FA",X"FF",X"FF",X"FF", + X"00",X"00",X"AA",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"0A",X"00",X"00",X"A9",X"00",X"00",X"00",X"00",X"0A",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"0A",X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"0A",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"09",X"07",X"70",X"AF",X"FF",X"FF",X"FF",X"00",X"03",X"9A",X"87",X"78",X"DD", + X"AF",X"FF",X"FF",X"00",X"39",X"A9",X"18",X"81",X"9D",X"EA",X"FF",X"FF",X"03",X"9A",X"99",X"81", + X"18",X"99",X"DE",X"AF",X"FF",X"39",X"9A",X"99",X"98",X"89",X"99",X"DE",X"EA",X"FF",X"99",X"99", + X"A9",X"99",X"A9",X"9E",X"ED",X"DD",X"FF",X"99",X"99",X"99",X"AA",X"EE",X"ED",X"DD",X"D9",X"FF", + X"99",X"88",X"99",X"99",X"ED",X"DD",X"88",X"98",X"FF",X"08",X"22",X"48",X"82",X"42",X"84",X"42", + X"9F",X"FF",X"00",X"A8",X"98",X"98",X"A8",X"98",X"98",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09", + X"05",X"50",X"AF",X"FF",X"FF",X"FF",X"00",X"03",X"9A",X"85",X"58",X"DD",X"AF",X"FF",X"FF",X"00", + X"39",X"A9",X"78",X"87",X"9D",X"EA",X"FF",X"FF",X"03",X"9A",X"99",X"87",X"78",X"99",X"DE",X"AF", + X"FF",X"39",X"9A",X"99",X"98",X"89",X"99",X"DE",X"EA",X"FF",X"99",X"99",X"A9",X"99",X"A9",X"9E", + X"ED",X"DD",X"FF",X"99",X"99",X"99",X"AA",X"EE",X"ED",X"DD",X"D9",X"FF",X"89",X"88",X"99",X"99", + X"ED",X"DD",X"88",X"99",X"FF",X"09",X"42",X"48",X"82",X"44",X"82",X"24",X"8F",X"FF",X"00",X"89", + X"8A",X"89",X"89",X"8A",X"89",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"0B",X"B0",X"AF",X"FF", + X"FF",X"FF",X"00",X"03",X"9A",X"8B",X"B8",X"DD",X"AF",X"FF",X"FF",X"00",X"39",X"A9",X"B8",X"8B", + X"9D",X"EA",X"FF",X"FF",X"03",X"9A",X"99",X"8B",X"B8",X"99",X"DE",X"AF",X"FF",X"39",X"9A",X"99", + X"98",X"89",X"99",X"DE",X"EA",X"FF",X"99",X"99",X"A9",X"99",X"A9",X"9E",X"ED",X"DD",X"FF",X"99", + X"99",X"99",X"AA",X"EE",X"ED",X"DD",X"D9",X"FF",X"99",X"88",X"99",X"99",X"ED",X"DD",X"88",X"A8", + X"FF",X"08",X"22",X"84",X"48",X"24",X"84",X"22",X"9F",X"FF",X"00",X"98",X"98",X"98",X"98",X"A8", + X"98",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"05",X"50",X"AF",X"FF",X"FF",X"FF",X"00",X"03", + X"9A",X"85",X"58",X"DD",X"AF",X"FF",X"FF",X"00",X"39",X"A9",X"C8",X"8C",X"9D",X"EA",X"FF",X"FF", + X"03",X"9A",X"99",X"8C",X"C8",X"99",X"DE",X"AF",X"FF",X"39",X"9A",X"99",X"98",X"89",X"99",X"DE", + X"EA",X"FF",X"99",X"99",X"A9",X"99",X"A9",X"9E",X"ED",X"DD",X"FF",X"99",X"99",X"99",X"AA",X"EE", + X"ED",X"DD",X"D8",X"FF",X"89",X"88",X"99",X"99",X"ED",X"DD",X"88",X"99",X"FF",X"09",X"44",X"82", + X"48",X"24",X"82",X"33",X"8F",X"FF",X"00",X"89",X"89",X"89",X"89",X"89",X"89",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"AB",X"AF",X"FF",X"00",X"00",X"00",X"AB",X"DD",X"DD",X"FF",X"00",X"00",X"AB", + X"EE",X"EE",X"96",X"FF",X"00",X"AB",X"CE",X"EE",X"CA",X"C6",X"FF",X"AA",X"AA",X"11",X"DB",X"A7", + X"77",X"FF",X"88",X"89",X"41",X"AA",X"A9",X"88",X"FF",X"00",X"88",X"89",X"99",X"AA",X"86",X"FF", + X"00",X"00",X"88",X"99",X"9A",X"86",X"FF",X"00",X"00",X"00",X"88",X"99",X"AC",X"FF",X"00",X"00", + X"00",X"00",X"88",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"E7",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"DC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"EF",X"FF",X"FF",X"FF",X"00",X"00",X"0D",X"0C", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"76",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"6C", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CE",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"00", + X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"C0",X"00",X"0D", + X"00",X"CF",X"FF",X"FF",X"00",X"00",X"0D",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0D",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0D",X"0D", + X"FF",X"FF",X"FF",X"FF",X"00",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"C0",X"00", + X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0E",X"FF",X"FF",X"00",X"00",X"07",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"AF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"50",X"0B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"AF",X"FF",X"00",X"5F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"00", + X"00",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"BB",X"DF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"AB",X"BB",X"DF",X"FF",X"00",X"0B",X"BA",X"00",X"00",X"99", + X"AA",X"AA",X"AD",X"FF",X"00",X"B0",X"0A",X"AA",X"AA",X"BB",X"BB",X"BB",X"BB",X"FF",X"BA",X"BA", + X"AA",X"DD",X"DD",X"EE",X"EE",X"C7",X"77",X"FF",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"9A", + X"AA",X"FF",X"00",X"90",X"03",X"33",X"33",X"33",X"33",X"33",X"38",X"FF",X"00",X"09",X"93",X"00", + X"00",X"88",X"99",X"99",X"9A",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"89",X"99",X"AF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"99",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"0C",X"33",X"EB",X"FF",X"FF", + X"00",X"BC",X"31",X"EB",X"BF",X"FF",X"0A",X"BB",X"31",X"EB",X"BD",X"FF",X"9A",X"BB",X"AA",X"7B", + X"CC",X"7F",X"AA",X"AB",X"31",X"67",X"CC",X"CF",X"BC",X"C4",X"53",X"16",X"7E",X"EF",X"16",X"A5", + X"44",X"36",X"A1",X"3F",X"22",X"A4",X"54",X"26",X"A8",X"8F",X"AA",X"A5",X"45",X"16",X"BB",X"BF", + X"88",X"9A",X"42",X"6B",X"BB",X"AF",X"89",X"9A",X"AA",X"AB",X"BB",X"AF",X"09",X"9A",X"26",X"BA", + X"BA",X"FF",X"00",X"9A",X"31",X"BA",X"AF",X"FF",X"00",X"0A",X"31",X"BA",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"0A",X"31",X"99",X"FF",X"FF",X"00",X"9A",X"32",X"9B",X"AF",X"FF",X"09",X"94",X"53",X"18", + X"AA",X"FF",X"92",X"A4",X"45",X"26",X"A8",X"BF",X"36",X"A4",X"54",X"26",X"A1",X"3F",X"1C",X"A4", + X"52",X"11",X"EC",X"3F",X"CA",X"AB",X"31",X"17",X"CB",X"CF",X"AA",X"BB",X"AA",X"7B",X"CC",X"BF", + X"AB",X"BB",X"31",X"EB",X"CC",X"CF",X"0B",X"BB",X"31",X"EB",X"B7",X"FF",X"00",X"DC",X"31",X"EB", + X"EF",X"FF",X"00",X"0D",X"33",X"DE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"08",X"26",X"89",X"FF",X"FF",X"00",X"94",X"54",X"66",X"9F",X"FF",X"09",X"25",X"44",X"16", + X"A9",X"FF",X"92",X"C4",X"52",X"6B",X"C1",X"9F",X"2C",X"AC",X"AA",X"EE",X"BC",X"2F",X"AA",X"BA", + X"31",X"7B",X"CC",X"CF",X"AB",X"BB",X"21",X"EB",X"BC",X"CF",X"0D",X"BB",X"21",X"EB",X"BD",X"FF", + X"00",X"DC",X"23",X"EB",X"7F",X"FF",X"00",X"0D",X"DD",X"DD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"0A",X"21",X"29",X"FF",X"FF",X"00",X"A4",X"54",X"16", + X"9F",X"FF",X"0A",X"AA",X"42",X"6B",X"B9",X"FF",X"AA",X"BB",X"BB",X"CC",X"CB",X"9F",X"CB",X"BB", + X"41",X"EB",X"CC",X"CF",X"CC",X"BB",X"31",X"7B",X"BD",X"DF",X"0C",X"CB",X"33",X"EB",X"ED",X"FF", + X"00",X"CE",X"EE",X"E7",X"EF",X"FF",X"00",X"0D",X"DD",X"D7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"08",X"21",X"1B", + X"FF",X"FF",X"00",X"AB",X"AA",X"AC",X"CF",X"FF",X"0A",X"AB",X"26",X"EB",X"CC",X"FF",X"BA",X"BB", + X"26",X"EB",X"BC",X"CF",X"DD",X"AB",X"26",X"EB",X"BE",X"EF",X"0E",X"DE",X"EE",X"EE",X"7E",X"FF", + X"00",X"DD",X"DD",X"DD",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"0A",X"98",X"EB", + X"FF",X"FF",X"00",X"AB",X"33",X"EB",X"BF",X"FF",X"09",X"9A",X"26",X"EB",X"BB",X"FF",X"CC",X"CE", + X"EE",X"EE",X"77",X"EF",X"CC",X"CD",X"DD",X"DD",X"DE",X"DF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"55",X"FF",X"FF",X"77",X"55",X"5F",X"FF", + X"0A",X"AA",X"FF",X"FF",X"99",X"99",X"9F",X"FF",X"EE",X"98",X"49",X"FF",X"AA",X"99",X"49",X"FF", + X"7A",X"99",X"89",X"FF",X"99",X"99",X"9F",X"FF",X"07",X"77",X"FF",X"FF",X"DC",X"CC",X"6F",X"FF", + X"0D",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"55",X"FF",X"FF", + X"75",X"55",X"7F",X"FF",X"0A",X"AA",X"FF",X"FF",X"99",X"99",X"9F",X"FF",X"AA",X"98",X"49",X"FF", + X"EE",X"99",X"49",X"FF",X"7A",X"99",X"89",X"FF",X"99",X"99",X"9F",X"FF",X"07",X"77",X"FF",X"FF", + X"CC",X"C6",X"6F",X"FF",X"0C",X"C6",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"05",X"57",X"FF",X"FF",X"55",X"77",X"AF",X"FF",X"0A",X"AA",X"FF",X"FF",X"99",X"99",X"9F",X"FF", + X"AA",X"98",X"49",X"FF",X"AA",X"99",X"49",X"FF",X"EE",X"99",X"89",X"FF",X"99",X"99",X"9F",X"FF", + X"07",X"77",X"FF",X"FF",X"C6",X"66",X"5F",X"FF",X"0C",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"05",X"7A",X"FF",X"FF",X"57",X"77",X"AF",X"FF",X"0A",X"AA",X"FF",X"FF", + X"99",X"99",X"9F",X"FF",X"AA",X"98",X"49",X"FF",X"EE",X"99",X"49",X"FF",X"22",X"99",X"89",X"FF", + X"99",X"99",X"9F",X"FF",X"07",X"77",X"FF",X"FF",X"66",X"65",X"5F",X"FF",X"06",X"55",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0A",X"7C",X"FF",X"FF",X"A7",X"7C",X"BF",X"FF", + X"0A",X"AA",X"FF",X"FF",X"99",X"99",X"9F",X"FF",X"EE",X"98",X"49",X"FF",X"22",X"99",X"49",X"FF", + X"AA",X"99",X"89",X"FF",X"99",X"99",X"9F",X"FF",X"07",X"77",X"FF",X"FF",X"65",X"55",X"DF",X"FF", + X"05",X"5D",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"CB",X"FF",X"FF", + X"7C",X"CB",X"5F",X"FF",X"0A",X"AA",X"FF",X"FF",X"99",X"99",X"9F",X"FF",X"22",X"98",X"49",X"FF", + X"AA",X"99",X"49",X"FF",X"AA",X"99",X"89",X"FF",X"99",X"99",X"9F",X"FF",X"07",X"77",X"FF",X"FF", + X"55",X"DD",X"DF",X"FF",X"05",X"DD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"07",X"B5",X"FF",X"FF",X"77",X"7B",X"5F",X"FF",X"0A",X"AA",X"FF",X"FF",X"99",X"99",X"9F",X"FF", + X"77",X"98",X"49",X"FF",X"AA",X"99",X"49",X"FF",X"AA",X"99",X"89",X"FF",X"99",X"99",X"9F",X"FF", + X"07",X"77",X"FF",X"FF",X"5D",X"DC",X"CF",X"FF",X"0D",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"07",X"75",X"FF",X"FF",X"C7",X"75",X"5F",X"FF",X"0A",X"AA",X"FF",X"FF", + X"99",X"99",X"9F",X"FF",X"AA",X"98",X"49",X"FF",X"AA",X"99",X"49",X"FF",X"AA",X"99",X"89",X"FF", + X"99",X"99",X"9F",X"FF",X"07",X"77",X"FF",X"FF",X"DD",X"CC",X"CF",X"FF",X"0D",X"CC",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"03",X"22",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"33",X"33",X"33",X"00",X"01",X"1F", + X"FF",X"FF",X"03",X"33",X"22",X"22",X"11",X"10",X"AA",X"AA",X"FF",X"FF",X"A3",X"32",X"2D",X"44", + X"44",X"3A",X"A2",X"2A",X"AF",X"FF",X"CC",X"A3",X"3D",X"66",X"99",X"CD",X"D3",X"3D",X"CF",X"FF", + X"0C",X"CC",X"CC",X"CC",X"CC",X"C0",X"CD",X"DC",X"FF",X"FF",X"00",X"0D",X"DD",X"DD",X"DD",X"00", + X"0A",X"AF",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"03",X"22",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"33",X"33", + X"33",X"00",X"0A",X"AF",X"FF",X"FF",X"03",X"33",X"22",X"22",X"11",X"10",X"A2",X"2A",X"FF",X"FF", + X"A3",X"32",X"2D",X"44",X"44",X"3D",X"D2",X"2D",X"AF",X"FF",X"CC",X"A3",X"3D",X"66",X"99",X"CD", + X"DD",X"DD",X"CF",X"FF",X"0C",X"CC",X"CC",X"CC",X"CC",X"C0",X"DA",X"AD",X"FF",X"FF",X"00",X"0D", + X"DD",X"DD",X"DD",X"00",X"0A",X"AF",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"CF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"22",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"33",X"33",X"33",X"00",X"02",X"2F",X"FF",X"FF",X"03",X"33",X"22",X"22",X"11",X"10", + X"D2",X"2D",X"FF",X"FF",X"A3",X"32",X"2E",X"44",X"44",X"3D",X"DD",X"DD",X"AF",X"FF",X"CC",X"A3", + X"3E",X"66",X"99",X"CD",X"DA",X"AD",X"CF",X"FF",X"0C",X"CC",X"CC",X"CC",X"CC",X"C0",X"DA",X"AD", + X"FF",X"FF",X"00",X"0D",X"DD",X"DD",X"DD",X"00",X"0D",X"DF",X"FF",X"FF",X"00",X"00",X"0C",X"CC", + X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"22",X"1F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"33",X"33",X"33",X"00",X"02",X"2F",X"FF",X"FF",X"03",X"33", + X"22",X"22",X"11",X"10",X"DD",X"DD",X"FF",X"FF",X"A3",X"32",X"2E",X"44",X"44",X"3D",X"DA",X"AD", + X"AF",X"FF",X"CC",X"A3",X"3E",X"66",X"99",X"CD",X"DA",X"AD",X"7F",X"FF",X"0C",X"CC",X"CC",X"CC", + X"CC",X"C0",X"77",X"77",X"FF",X"FF",X"00",X"0D",X"DD",X"DD",X"DD",X"00",X"03",X"3F",X"FF",X"FF", + X"00",X"00",X"0C",X"CC",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"03",X"22",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"33",X"33",X"33",X"00",X"0C",X"CF", + X"FF",X"FF",X"03",X"33",X"22",X"22",X"11",X"10",X"CA",X"AC",X"FF",X"FF",X"A3",X"32",X"2E",X"44", + X"44",X"3D",X"DA",X"AD",X"AF",X"FF",X"CC",X"A3",X"3E",X"66",X"99",X"C7",X"77",X"77",X"7F",X"FF", + X"0C",X"CC",X"CC",X"CC",X"CC",X"C0",X"72",X"27",X"FF",X"FF",X"00",X"0D",X"DD",X"DD",X"DD",X"00", + X"03",X"3F",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"11",X"11", + X"FF",X"FF",X"01",X"77",X"77",X"1F",X"FF",X"17",X"71",X"17",X"71",X"FF",X"17",X"11",X"11",X"71", + X"FF",X"17",X"11",X"11",X"71",X"FF",X"17",X"71",X"17",X"71",X"FF",X"01",X"77",X"77",X"1F",X"FF", + X"00",X"11",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"11",X"11",X"FF",X"FF",X"01",X"11",X"11",X"1F",X"FF",X"11",X"17",X"71",X"11",X"FF",X"11",X"71", + X"17",X"11",X"FF",X"11",X"71",X"17",X"11",X"FF",X"11",X"17",X"71",X"11",X"FF",X"01",X"11",X"11", + X"1F",X"FF",X"00",X"11",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"77",X"77",X"FF",X"FF",X"07",X"88",X"88",X"7F",X"FF",X"78",X"89",X"98",X"87",X"FF", + X"78",X"9A",X"A9",X"87",X"FF",X"78",X"9A",X"A9",X"87",X"FF",X"78",X"89",X"98",X"87",X"FF",X"07", + X"88",X"88",X"7F",X"FF",X"00",X"77",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"88",X"88",X"FF",X"FF",X"08",X"99",X"99",X"8F",X"FF",X"89",X"9A",X"A9", + X"98",X"FF",X"89",X"AB",X"BA",X"98",X"FF",X"89",X"AB",X"BA",X"98",X"FF",X"89",X"9A",X"A9",X"98", + X"FF",X"08",X"99",X"99",X"8F",X"FF",X"00",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"88",X"88",X"FF",X"FF",X"08",X"99",X"99",X"8F",X"FF",X"89", + X"9B",X"B9",X"98",X"FF",X"89",X"BD",X"DB",X"98",X"FF",X"89",X"BD",X"DB",X"98",X"FF",X"89",X"9B", + X"B9",X"98",X"FF",X"08",X"99",X"99",X"8F",X"FF",X"00",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"88",X"88",X"FF",X"FF",X"08",X"AA",X"AA",X"8F", + X"FF",X"8A",X"AC",X"CA",X"A8",X"FF",X"8A",X"CE",X"EC",X"A8",X"FF",X"8A",X"CE",X"EC",X"A8",X"FF", + X"8A",X"AC",X"CA",X"A8",X"FF",X"08",X"AA",X"AA",X"8F",X"FF",X"00",X"88",X"88",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"99",X"99",X"FF",X"FF",X"09",X"CC", + X"CC",X"9F",X"FF",X"9C",X"CD",X"DC",X"C9",X"FF",X"9C",X"DE",X"ED",X"C9",X"FF",X"9C",X"DE",X"ED", + X"C9",X"FF",X"9C",X"CD",X"DC",X"C9",X"FF",X"09",X"CC",X"CC",X"9F",X"FF",X"00",X"99",X"99",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02", + X"11",X"FF",X"FF",X"FF",X"00",X"02",X"23",X"33",X"12",X"FF",X"FF",X"02",X"22",X"3E",X"EE",X"E1", + X"2F",X"FF",X"22",X"23",X"EE",X"55",X"EE",X"11",X"FF",X"AA",X"AE",X"E9",X"55",X"5E",X"EA",X"FF", + X"0C",X"AE",X"99",X"EE",X"66",X"E3",X"FF",X"0C",X"AE",X"99",X"EE",X"66",X"E3",X"FF",X"22",X"3E", + X"E8",X"88",X"6E",X"E1",X"FF",X"77",X"77",X"EE",X"88",X"EE",X"CC",X"FF",X"0C",X"CD",X"7E",X"EE", + X"ED",X"7F",X"FF",X"00",X"0C",X"CD",X"DD",X"CC",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"66",X"66", + X"FF",X"FF",X"06",X"77",X"77",X"6F",X"FF",X"67",X"71",X"17",X"76",X"FF",X"67",X"11",X"11",X"76", + X"FF",X"67",X"11",X"11",X"76",X"FF",X"67",X"71",X"17",X"76",X"FF",X"06",X"77",X"77",X"6F",X"FF", + X"00",X"66",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"55",X"55",X"FF",X"FF",X"05",X"11",X"11",X"5F",X"FF",X"51",X"17",X"71",X"15",X"FF",X"51",X"71", + X"17",X"15",X"FF",X"51",X"71",X"17",X"15",X"FF",X"51",X"17",X"71",X"15",X"FF",X"05",X"11",X"11", + X"5F",X"FF",X"00",X"55",X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"77",X"77",X"FF",X"FF",X"07",X"88",X"88",X"7F",X"FF",X"78",X"89",X"98",X"87",X"FF", + X"78",X"9A",X"A9",X"87",X"FF",X"78",X"9A",X"A9",X"87",X"FF",X"78",X"89",X"98",X"87",X"FF",X"07", + X"88",X"88",X"7F",X"FF",X"00",X"77",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"66",X"66",X"FF",X"FF",X"06",X"99",X"99",X"6F",X"FF",X"69",X"9A",X"A9", + X"96",X"FF",X"69",X"AB",X"BA",X"96",X"FF",X"69",X"AB",X"BA",X"96",X"FF",X"69",X"9A",X"A9",X"96", + X"FF",X"06",X"99",X"99",X"6F",X"FF",X"00",X"66",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"55",X"55",X"FF",X"FF",X"05",X"99",X"99",X"5F",X"FF",X"59", + X"9B",X"B9",X"95",X"FF",X"59",X"BD",X"DB",X"95",X"FF",X"59",X"BD",X"DB",X"95",X"FF",X"59",X"9B", + X"B9",X"95",X"FF",X"05",X"99",X"99",X"5F",X"FF",X"00",X"55",X"55",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"77",X"77",X"FF",X"FF",X"07",X"AA",X"AA",X"7F", + X"FF",X"7A",X"AC",X"CA",X"A7",X"FF",X"7A",X"CE",X"EC",X"A7",X"FF",X"7A",X"CE",X"EC",X"A7",X"FF", + X"7A",X"AC",X"CA",X"A7",X"FF",X"07",X"AA",X"AA",X"7F",X"FF",X"00",X"77",X"77",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"66",X"66",X"FF",X"FF",X"06",X"CC", + X"CC",X"6F",X"FF",X"6C",X"CD",X"DC",X"C6",X"FF",X"6C",X"DE",X"ED",X"C6",X"FF",X"6C",X"DE",X"ED", + X"C6",X"FF",X"6C",X"CD",X"DC",X"C6",X"FF",X"06",X"CC",X"CC",X"6F",X"FF",X"00",X"66",X"66",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"01",X"FF",X"1E",X"1F",X"01",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"CC",X"0C",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"0C",X"CC",X"C2",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0C", + X"2C",X"22",X"2C",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"C2",X"2C",X"22",X"CC",X"CF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"22",X"CC",X"C2",X"2C",X"2C",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0C",X"CC",X"C2",X"CC",X"C2",X"2C",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"22", + X"C2",X"2C",X"C2",X"2C",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"22",X"CC",X"2C",X"CC",X"CC", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"C2",X"2C",X"CC",X"2C",X"CF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"C2",X"CC",X"22",X"2C",X"CF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0C", + X"CC",X"C2",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"CC",X"0C",X"CF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"04",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"E0",X"00",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"C0",X"00",X"C0",X"00",X"00",X"CC",X"EF",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"12", + X"CC",X"21",X"2C",X"CF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"C1",X"22",X"11",X"12",X"2F", + X"FF",X"FF",X"FF",X"FF",X"00",X"04",X"22",X"22",X"11",X"11",X"C1",X"2F",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"02",X"11",X"11",X"11",X"CC",X"2F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"11", + X"11",X"1C",X"C1",X"1F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"11",X"11",X"12",X"C1",X"2C", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"21",X"11",X"CC",X"11",X"CF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"22",X"1C",X"C1",X"22",X"CC",X"CE",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"C2", + X"12",X"12",X"12",X"2F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"11",X"12",X"22",X"CF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0E",X"00",X"E0",X"EF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"0E",X"00",X"0C",X"00",X"C0",X"00",X"E0",X"0E",X"FF",X"FF",X"FF", + X"00",X"00",X"C0",X"0C",X"0C",X"C0",X"C0",X"C0",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CC", + X"4D",X"C0",X"CC",X"CC",X"FF",X"FF",X"FF",X"FF",X"00",X"0E",X"CC",X"C2",X"DD",X"DD",X"D1",X"CC", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"04",X"D2",X"D2",X"11",X"1C",X"CC",X"FF",X"FF",X"FF",X"FF", + X"00",X"0E",X"CC",X"C1",X"2D",X"1D",X"CD",X"4C",X"CE",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"DD", + X"22",X"DD",X"D2",X"1F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"DD",X"CC",X"CC",X"CD",X"2C", + X"EF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"2D",X"EC",X"CD",X"42",X"CF",X"FF",X"FF",X"FF",X"FF", + X"00",X"0E",X"0C",X"21",X"2C",X"D1",X"1D",X"CC",X"EF",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"11", + X"2C",X"CD",X"2D",X"CC",X"FF",X"FF",X"FF",X"FF",X"00",X"EC",X"CC",X"D2",X"CC",X"22",X"42",X"CC", + X"CE",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"CC",X"CC",X"CC",X"0C",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"C0",X"00",X"C0",X"CC",X"0C",X"C0",X"EF",X"FF",X"FF",X"FF",X"00",X"0E",X"00",X"0E", + X"00",X"0C",X"00",X"0E",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"EF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"0E",X"00",X"00",X"C0",X"0C",X"00",X"00",X"EF",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"0D", + X"C0",X"CC",X"00",X"0C",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"DD",X"C2",X"CC",X"C2",X"CC", + X"FF",X"FF",X"FF",X"FF",X"04",X"00",X"0C",X"DD",X"DC",X"CC",X"CC",X"D2",X"FF",X"FF",X"FF",X"FF", + X"00",X"CC",X"02",X"2C",X"CC",X"22",X"2C",X"CD",X"CC",X"FF",X"FF",X"FF",X"00",X"0C",X"CC",X"DC", + X"2C",X"C2",X"22",X"2C",X"DF",X"FF",X"FF",X"FF",X"00",X"00",X"CD",X"DC",X"22",X"C2",X"22",X"CD", + X"DD",X"2C",X"EF",X"FF",X"00",X"0C",X"DD",X"CC",X"22",X"CC",X"DC",X"22",X"DD",X"CF",X"FF",X"FF", + X"EC",X"CC",X"CC",X"C2",X"2C",X"22",X"DC",X"22",X"CD",X"CF",X"FF",X"FF",X"00",X"0C",X"2C",X"CC", + X"DC",X"22",X"DC",X"2C",X"2C",X"CF",X"FF",X"FF",X"00",X"02",X"22",X"DC",X"DC",X"22",X"DD",X"C2", + X"DC",X"0C",X"FF",X"FF",X"4C",X"CC",X"CC",X"DC",X"2D",X"CC",X"DC",X"CC",X"DD",X"CF",X"FF",X"FF", + X"00",X"CC",X"2C",X"DD",X"2C",X"DD",X"DC",X"22",X"DD",X"CF",X"FF",X"FF",X"00",X"02",X"22",X"DC", + X"C2",X"2C",X"CC",X"22",X"2D",X"CF",X"FF",X"FF",X"00",X"CC",X"CC",X"DC",X"22",X"22",X"2C",X"CD", + X"DD",X"FF",X"FF",X"FF",X"0E",X"00",X"2C",X"DC",X"2C",X"22",X"22",X"CD",X"CC",X"CC",X"FF",X"FF", + X"00",X"00",X"0C",X"CD",X"CD",X"22",X"22",X"CC",X"C2",X"00",X"EF",X"FF",X"00",X"0C",X"CC",X"2C", + X"CD",X"CC",X"CC",X"C2",X"CF",X"FF",X"FF",X"FF",X"00",X"0C",X"C2",X"22",X"CC",X"C2",X"DD",X"C2", + X"CC",X"FF",X"FF",X"FF",X"00",X"0C",X"C0",X"0C",X"CC",X"22",X"DC",X"00",X"0C",X"FF",X"FF",X"FF", + X"00",X"44",X"00",X"0C",X"00",X"00",X"C0",X"00",X"00",X"EF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"EF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"6F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"60",X"03",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"33",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"CC", + X"3C",X"CC",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CD",X"DD",X"3C",X"CC",X"33", + X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"DD",X"C3",X"C3",X"C3",X"33",X"3F",X"FF",X"FF",X"FF", + X"00",X"00",X"CC",X"3D",X"DC",X"C3",X"C3",X"33",X"33",X"FF",X"FF",X"FF",X"00",X"00",X"DC",X"CD", + X"DD",X"CC",X"3C",X"CC",X"33",X"3F",X"FF",X"FF",X"00",X"0C",X"CD",X"DD",X"DC",X"CC",X"CC",X"CC", + X"33",X"3F",X"FF",X"FF",X"00",X"0C",X"CC",X"DC",X"C3",X"3C",X"CC",X"CC",X"33",X"3F",X"FF",X"FF", + X"00",X"03",X"CC",X"DC",X"CD",X"33",X"CC",X"C3",X"33",X"3F",X"FF",X"FF",X"00",X"00",X"CD",X"CD", + X"3D",X"D3",X"CD",X"CC",X"33",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"DC",X"DC",X"C3",X"DC",X"C3", + X"33",X"FF",X"FF",X"FF",X"00",X"00",X"CC",X"DD",X"DC",X"CD",X"DD",X"33",X"33",X"FF",X"FF",X"FF", + X"00",X"00",X"3C",X"CD",X"DC",X"CD",X"D3",X"C3",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CD", + X"CD",X"3D",X"3C",X"C3",X"00",X"06",X"FF",X"FF",X"06",X"00",X"00",X"3C",X"CD",X"DC",X"D3",X"33", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"C0",X"33",X"C3",X"33",X"3F",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"0D",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"06", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"03",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"33",X"C3",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"33",X"C3",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"CC",X"33",X"C3",X"3F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"3C",X"CC",X"33",X"3C",X"33",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"03",X"33",X"C3",X"33",X"CC",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"33", + X"33",X"C3",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"3C",X"C3",X"CC",X"CC",X"33", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"3C",X"CC",X"33",X"C3",X"33",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"33",X"3C",X"C3",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"03",X"33",X"3F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"6F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"43",X"40",X"4F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"04",X"40",X"44",X"43",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"34",X"30",X"44",X"4F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"44",X"30",X"43",X"4F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"04",X"43",X"30",X"3F",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"04",X"33",X"04",X"03",X"4F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"30",X"34",X"44",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"04",X"03",X"3F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"AF",X"FF",X"BB",X"DA",X"FF",X"AA",X"AA",X"FF", + X"AA",X"AF",X"FF",X"AA",X"AA",X"FF",X"BB",X"DA",X"FF",X"AA",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"BB",X"BC",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"9B",X"CC",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"FF",X"FF",X"FF",X"FF",X"99",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"9C",X"CF", + X"FF",X"FF",X"FF",X"98",X"8C",X"00",X"00",X"00",X"00",X"00",X"09",X"9C",X"CC",X"FF",X"FF",X"FF", + X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"08",X"8A",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"8A",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0A",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"9C",X"CF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"09",X"9C",X"CC",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"08",X"8A",X"AA",X"00",X"AA",X"AC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8A", + X"A0",X"00",X"9A",X"CC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"00",X"00",X"99", + X"CC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"98",X"8C",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"FF",X"00",X"00",X"0C",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"9C",X"CF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"09",X"9C",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"08",X"8A",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"8A",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0A", + X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"CF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"09",X"AC",X"CF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09", + X"9C",X"CF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"CF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"8F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"9C",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"09",X"9C",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"08",X"8A",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"8A", + X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"70",X"70",X"7F",X"70",X"70",X"7F",X"77",X"77",X"7F",X"77",X"77",X"7F",X"FF", + X"FF",X"FF",X"77",X"77",X"7F",X"70",X"00",X"7F",X"77",X"77",X"7F",X"77",X"77",X"7F",X"FF",X"FF", + X"FF",X"77",X"77",X"7F",X"70",X"00",X"7F",X"77",X"77",X"7F",X"77",X"77",X"7F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"70",X"77",X"7F",X"70",X"70",X"7F",X"77",X"70",X"7F",X"77",X"70",X"7F",X"FF", + X"FF",X"FF",X"77",X"77",X"7F",X"70",X"00",X"7F",X"77",X"77",X"7F",X"77",X"77",X"7F",X"FF",X"FF", + X"FF",X"77",X"77",X"7F",X"70",X"00",X"7F",X"77",X"77",X"7F",X"77",X"77",X"7F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"0E",X"FF",X"ED",X"EF",X"ED",X"EF",X"0E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"3E",X"2E",X"3E",X"2E",X"3E",X"2F",X"3E",X"2E",X"3E",X"2E",X"3E",X"2F",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AF",X"88",X"88",X"88",X"88",X"66",X"FF",X"44",X"44",X"44",X"43",X"EB",X"7F", + X"55",X"55",X"54",X"44",X"EB",X"7F",X"88",X"88",X"88",X"43",X"ED",X"DF",X"DD",X"DD",X"DD",X"DD", + X"DD",X"FF",X"EE",X"EE",X"EE",X"EE",X"EE",X"EF",X"3E",X"2E",X"3E",X"2E",X"3E",X"2F",X"3E",X"2E", + X"3E",X"2E",X"3E",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"2E",X"3E",X"2E",X"3E",X"2E",X"3F",X"2E",X"3E",X"2E",X"3E",X"2E",X"3F",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AF",X"88",X"88",X"88",X"88",X"66",X"FF",X"44",X"44",X"44",X"43",X"1B",X"7F",X"55",X"55", + X"54",X"44",X"1B",X"7F",X"88",X"88",X"88",X"43",X"1D",X"DF",X"DD",X"DD",X"DD",X"DD",X"DD",X"FF", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EF",X"2E",X"3E",X"2E",X"3E",X"2E",X"3F",X"2E",X"3E",X"2E",X"3E", + X"2E",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"06",X"66",X"66",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"77",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"22", + X"27",X"77",X"77",X"77",X"77",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"02",X"22",X"26",X"66",X"66", + X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"06",X"62",X"22",X"22",X"27",X"77",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"06",X"22",X"22",X"22",X"26",X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"22",X"22",X"22",X"26",X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"07",X"72",X"22",X"22",X"26", + X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"06",X"76",X"72",X"22",X"22",X"22",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"08",X"87",X"22",X"22",X"22",X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"78",X"72",X"22",X"22",X"27",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"72", + X"22",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"06",X"66",X"66",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"2F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"66",X"66",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"02",X"77",X"77",X"00",X"00",X"00",X"2F",X"FF",X"FF",X"FF",X"00",X"00",X"77",X"77", + X"77",X"75",X"52",X"22",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"07",X"66",X"66",X"52",X"22",X"2F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"75",X"52",X"22",X"22",X"25",X"6F",X"FF",X"FF",X"FF", + X"00",X"00",X"07",X"62",X"22",X"22",X"22",X"5F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"07",X"52", + X"22",X"22",X"22",X"2F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"07",X"52",X"22",X"22",X"25",X"72", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"22",X"22",X"22",X"25",X"67",X"6F",X"FF",X"FF",X"FF", + X"00",X"00",X"05",X"22",X"22",X"22",X"58",X"82",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"72",X"22", + X"22",X"55",X"87",X"22",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"25",X"55",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"20",X"66",X"66",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"04",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"4F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"04",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"04",X"4F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"44", + X"4F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"44",X"4F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"44",X"44",X"4F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"4F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"44",X"44",X"44",X"4F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"04",X"44",X"44",X"44", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"04",X"44",X"44",X"44",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"04",X"44",X"4F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04", + X"4F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"4F",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"4F",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"04",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"04",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"04",X"40",X"4F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"43",X"43",X"43",X"4F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"32",X"44",X"42",X"30", + X"4F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"24",X"33",X"34",X"24",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"44",X"43",X"33",X"33",X"44",X"4F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"33",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"43",X"33",X"33",X"33",X"34", + X"44",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"23",X"33",X"33",X"24",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"43",X"24",X"33",X"34",X"23",X"4F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04", + X"32",X"43",X"42",X"34",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"44",X"34",X"34",X"04", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"40",X"40",X"44",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"04",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"08",X"88",X"88",X"8F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"08",X"77",X"77",X"77",X"88",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"87",X"77",X"66",X"66",X"77",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"07",X"77", + X"66",X"64",X"46",X"67",X"88",X"FF",X"FF",X"FF",X"00",X"00",X"07",X"76",X"64",X"44",X"44",X"66", + X"78",X"FF",X"FF",X"FF",X"00",X"00",X"87",X"66",X"44",X"33",X"34",X"46",X"67",X"FF",X"FF",X"FF", + X"00",X"00",X"87",X"64",X"43",X"33",X"33",X"44",X"67",X"8F",X"FF",X"FF",X"00",X"00",X"87",X"64", + X"43",X"33",X"33",X"44",X"67",X"8F",X"FF",X"FF",X"00",X"00",X"87",X"64",X"43",X"33",X"33",X"34", + X"68",X"8F",X"FF",X"FF",X"00",X"00",X"87",X"64",X"44",X"33",X"33",X"44",X"67",X"8F",X"FF",X"FF", + X"00",X"00",X"87",X"66",X"44",X"33",X"33",X"44",X"67",X"8F",X"FF",X"FF",X"00",X"00",X"88",X"76", + X"44",X"34",X"44",X"46",X"67",X"8F",X"FF",X"FF",X"00",X"00",X"08",X"76",X"64",X"44",X"66",X"66", + X"77",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"87",X"66",X"66",X"67",X"77",X"88",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"88",X"77",X"77",X"77",X"78",X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"08", + X"88",X"78",X"78",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"88",X"8F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"33",X"03",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"30",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"30",X"00",X"33",X"3F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"02",X"00",X"00",X"00",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"00", + X"33",X"33",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"23",X"33",X"32",X"23",X"00", + X"02",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"32",X"00",X"23",X"33",X"2F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"20",X"00",X"22",X"33",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"30",X"00",X"00",X"23",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"20",X"00",X"00",X"02", + X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"32",X"00",X"00",X"23",X"3F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"02",X"22",X"00",X"02",X"33",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"22", + X"32",X"22",X"33",X"23",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"02",X"20",X"33",X"33",X"23",X"32", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"33",X"23",X"02",X"2F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"40",X"03",X"33",X"33",X"4F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"44", + X"33",X"32",X"33",X"3F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"43",X"20",X"23",X"3F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"34",X"00",X"02",X"33",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"44",X"42",X"30",X"00",X"04",X"44",X"44",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33", + X"20",X"00",X"00",X"02",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"20",X"00",X"00",X"03", + X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"22",X"40",X"00",X"23",X"3F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"34",X"32",X"32",X"33",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"44",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"40",X"33",X"00",X"04", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"44",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"33",X"00",X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"33",X"93",X"03",X"33", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"33",X"33",X"22",X"33",X"33",X"33",X"00",X"3F",X"FF", + X"00",X"00",X"33",X"33",X"20",X"20",X"22",X"33",X"03",X"FF",X"FF",X"FF",X"00",X"00",X"33",X"33", + X"00",X"00",X"20",X"20",X"33",X"FF",X"FF",X"FF",X"00",X"00",X"33",X"02",X"00",X"00",X"00",X"02", + X"33",X"3F",X"FF",X"FF",X"00",X"03",X"93",X"20",X"00",X"00",X"00",X"00",X"23",X"FF",X"FF",X"FF", + X"00",X"03",X"92",X"02",X"00",X"00",X"00",X"02",X"33",X"03",X"FF",X"FF",X"00",X"03",X"30",X"00", + X"00",X"00",X"00",X"00",X"22",X"93",X"FF",X"FF",X"00",X"03",X"32",X"00",X"00",X"00",X"00",X"00", + X"03",X"3F",X"FF",X"FF",X"00",X"03",X"33",X"00",X"00",X"00",X"00",X"02",X"22",X"3F",X"FF",X"FF", + X"00",X"00",X"33",X"00",X"00",X"00",X"00",X"00",X"23",X"3F",X"FF",X"FF",X"00",X"00",X"33",X"00", + X"20",X"00",X"00",X"00",X"33",X"3F",X"FF",X"FF",X"00",X"00",X"33",X"22",X"00",X"00",X"00",X"00", + X"23",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"33",X"22",X"00",X"02",X"32",X"33",X"00",X"3F",X"FF", + X"00",X"00",X"00",X"03",X"33",X"22",X"23",X"33",X"3F",X"FF",X"FF",X"FF",X"00",X"30",X"03",X"00", + X"33",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"30",X"03",X"00",X"03",X"03",X"33",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"03",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00", + X"03",X"00",X"3F",X"FF",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"03",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"33",X"13",X"33",X"30",X"00",X"00",X"03",X"FF",X"00",X"00",X"00",X"00",X"31",X"11",X"13",X"11", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"31",X"01",X"11",X"11",X"3F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"30",X"11",X"11",X"13",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"10",X"11",X"11",X"3F",X"FF",X"FF",X"FF",X"FF",X"03",X"00",X"00",X"03",X"31",X"11",X"11",X"33", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"11",X"11",X"11",X"3F",X"FF",X"FF",X"FF",X"FF", + X"03",X"00",X"00",X"00",X"31",X"10",X"13",X"3F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0A",X"11",X"13",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"03",X"33",X"33",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"90",X"03",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03", + X"33",X"44",X"43",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"44",X"66",X"64",X"43", + X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"44",X"36",X"67",X"86",X"44",X"33",X"FF",X"FF",X"FF", + X"00",X"00",X"03",X"46",X"66",X"77",X"77",X"64",X"33",X"30",X"03",X"FF",X"00",X"00",X"34",X"66", + X"77",X"88",X"78",X"86",X"44",X"4F",X"FF",X"FF",X"00",X"00",X"34",X"68",X"78",X"11",X"18",X"88", + X"64",X"33",X"FF",X"FF",X"00",X"03",X"36",X"88",X"81",X"11",X"11",X"88",X"64",X"33",X"FF",X"FF", + X"00",X"03",X"46",X"88",X"11",X"11",X"11",X"88",X"63",X"33",X"FF",X"FF",X"00",X"03",X"46",X"88", + X"11",X"11",X"11",X"17",X"64",X"33",X"FF",X"FF",X"00",X"03",X"34",X"88",X"11",X"11",X"11",X"17", + X"64",X"4F",X"FF",X"FF",X"00",X"03",X"46",X"87",X"81",X"11",X"11",X"87",X"86",X"33",X"FF",X"FF", + X"00",X"33",X"46",X"67",X"81",X"11",X"18",X"77",X"64",X"4F",X"FF",X"FF",X"00",X"00",X"34",X"68", + X"88",X"11",X"87",X"76",X"63",X"3F",X"FF",X"FF",X"00",X"00",X"34",X"68",X"78",X"88",X"78",X"64", + X"43",X"3F",X"FF",X"FF",X"00",X"00",X"33",X"46",X"77",X"77",X"86",X"44",X"43",X"FF",X"FF",X"FF", + X"00",X"00",X"03",X"34",X"66",X"66",X"64",X"43",X"3F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33", + X"44",X"44",X"43",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"33",X"33",X"33",X"3F", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"02",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"02",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"20", + X"00",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"70",X"7F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"07",X"08",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"01",X"00",X"00",X"7F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"07",X"00",X"77",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"1F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"2F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"02",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"07",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"70", + X"00",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"70",X"7F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"07",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"01",X"00",X"00",X"7F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"07",X"00",X"77",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"1F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"7F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"07",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"70",X"00",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"06",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"6F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"08",X"88",X"8F",X"FF",X"FF",X"FF",X"00",X"08",X"88",X"99",X"88",X"8F",X"FF",X"FF", + X"00",X"88",X"99",X"99",X"99",X"88",X"FF",X"FF",X"08",X"89",X"9A",X"AA",X"A9",X"98",X"8F",X"FF", + X"08",X"99",X"AA",X"BB",X"AA",X"99",X"8F",X"FF",X"88",X"9A",X"AB",X"BB",X"BA",X"A9",X"88",X"FF", + X"89",X"9A",X"BB",X"CC",X"BB",X"A9",X"98",X"FF",X"89",X"9A",X"BC",X"CC",X"CB",X"A9",X"98",X"FF", + X"89",X"9A",X"BC",X"CC",X"CB",X"A9",X"98",X"FF",X"89",X"9A",X"BB",X"CC",X"BB",X"A9",X"98",X"FF", + X"88",X"9A",X"AB",X"BB",X"BA",X"A9",X"88",X"FF",X"08",X"99",X"AA",X"BB",X"AA",X"99",X"8F",X"FF", + X"08",X"89",X"9A",X"AA",X"A9",X"98",X"8F",X"FF",X"00",X"88",X"99",X"99",X"99",X"88",X"FF",X"FF", + X"00",X"08",X"88",X"99",X"88",X"8F",X"FF",X"FF",X"00",X"00",X"08",X"88",X"8F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"99",X"9F",X"FF",X"FF",X"FF",X"00",X"09",X"99",X"AA",X"99",X"9F",X"FF",X"FF", + X"00",X"99",X"AA",X"AA",X"AA",X"99",X"FF",X"FF",X"09",X"9A",X"AB",X"BB",X"BA",X"A9",X"9F",X"FF", + X"09",X"AA",X"BB",X"CC",X"BB",X"AA",X"9F",X"FF",X"99",X"AB",X"BC",X"CC",X"CB",X"BA",X"99",X"FF", + X"9A",X"AB",X"CC",X"DD",X"CC",X"BA",X"A9",X"FF",X"9A",X"AB",X"CD",X"DD",X"DC",X"BA",X"A9",X"FF", + X"9A",X"AB",X"CD",X"DD",X"DC",X"BA",X"A9",X"FF",X"9A",X"AB",X"CC",X"DD",X"CC",X"BA",X"A9",X"FF", + X"99",X"AB",X"BC",X"CC",X"CB",X"BA",X"99",X"FF",X"09",X"AA",X"BB",X"CC",X"BB",X"AA",X"9F",X"FF", + X"09",X"9A",X"AB",X"BB",X"BA",X"A9",X"9F",X"FF",X"00",X"99",X"AA",X"AA",X"AA",X"99",X"FF",X"FF", + X"00",X"09",X"99",X"AA",X"99",X"9F",X"FF",X"FF",X"00",X"00",X"09",X"99",X"9F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0A",X"AA",X"AF",X"FF",X"FF",X"FF",X"00",X"0A",X"AA",X"BB",X"AA",X"AF",X"FF",X"FF", + X"00",X"AA",X"BB",X"BB",X"BB",X"AA",X"FF",X"FF",X"0A",X"AB",X"BC",X"CC",X"CB",X"BA",X"AF",X"FF", + X"0A",X"BB",X"CC",X"DD",X"CC",X"BB",X"AF",X"FF",X"AA",X"BC",X"CD",X"DD",X"DC",X"CB",X"AA",X"FF", + X"AB",X"BC",X"DD",X"EE",X"DD",X"CB",X"BA",X"FF",X"AB",X"CC",X"DE",X"EE",X"ED",X"CC",X"BA",X"FF", + X"AB",X"CC",X"DE",X"EE",X"ED",X"CC",X"BA",X"FF",X"AB",X"BC",X"DD",X"EE",X"DD",X"CB",X"BA",X"FF", + X"AA",X"BC",X"CD",X"DD",X"DC",X"CB",X"AA",X"FF",X"0A",X"BB",X"CC",X"DD",X"CC",X"BB",X"AF",X"FF", + X"0A",X"AB",X"BC",X"CC",X"CB",X"BA",X"AF",X"FF",X"00",X"AA",X"BB",X"BB",X"BB",X"AA",X"FF",X"FF", + X"00",X"0A",X"AA",X"BB",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"0A",X"AA",X"AF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0A",X"AA",X"AF",X"FF",X"FF",X"FF",X"00",X"0A",X"AA",X"CC",X"AA",X"AF",X"FF",X"FF", + X"00",X"AA",X"CC",X"CC",X"CC",X"AA",X"FF",X"FF",X"0A",X"AC",X"CD",X"DD",X"DC",X"CA",X"AF",X"FF", + X"0A",X"CC",X"DD",X"EE",X"DD",X"CC",X"AF",X"FF",X"AA",X"CD",X"DE",X"EE",X"ED",X"DC",X"AA",X"FF", + X"AC",X"CD",X"EE",X"EE",X"EE",X"DC",X"CA",X"FF",X"AC",X"CD",X"EE",X"EE",X"EE",X"DC",X"CA",X"FF", + X"AC",X"CD",X"EE",X"EE",X"EE",X"DC",X"CA",X"FF",X"AC",X"CD",X"EE",X"EE",X"EE",X"DC",X"CA",X"FF", + X"AA",X"CD",X"DE",X"EE",X"ED",X"DC",X"AA",X"FF",X"0A",X"CC",X"DD",X"EE",X"DD",X"CC",X"AF",X"FF", + X"0A",X"AC",X"CD",X"DD",X"DC",X"CA",X"AF",X"FF",X"00",X"AA",X"CC",X"CC",X"CC",X"AA",X"FF",X"FF", + X"00",X"0A",X"AA",X"CC",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"0A",X"AA",X"AF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0B",X"BB",X"BF",X"FF",X"FF",X"FF",X"00",X"0B",X"BB",X"EE",X"BB",X"BF",X"FF",X"FF", + X"00",X"BB",X"EE",X"EE",X"EE",X"BB",X"FF",X"FF",X"0B",X"BE",X"EB",X"BB",X"BE",X"EB",X"BF",X"FF", + X"0B",X"EE",X"BB",X"66",X"BB",X"EE",X"BF",X"FF",X"BB",X"EB",X"B6",X"66",X"6B",X"BE",X"BB",X"FF", + X"BE",X"EB",X"66",X"66",X"66",X"BE",X"EB",X"FF",X"BE",X"EB",X"66",X"66",X"66",X"BE",X"EB",X"FF", + X"BE",X"EB",X"66",X"66",X"66",X"BE",X"EB",X"FF",X"BE",X"EB",X"66",X"66",X"66",X"BE",X"EB",X"FF", + X"BB",X"EB",X"B6",X"66",X"6B",X"BE",X"BB",X"FF",X"0B",X"EE",X"BB",X"66",X"BB",X"EE",X"BF",X"FF", + X"0B",X"BE",X"EB",X"BB",X"BE",X"EB",X"BF",X"FF",X"00",X"BB",X"EE",X"EE",X"EE",X"BB",X"FF",X"FF", + X"00",X"0B",X"BB",X"EE",X"BB",X"BF",X"FF",X"FF",X"00",X"00",X"0B",X"BB",X"BF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"00",X"08",X"89",X"99",X"98",X"8F",X"FF",X"FF", + X"00",X"88",X"99",X"AA",X"99",X"88",X"FF",X"FF",X"00",X"89",X"9A",X"AA",X"A9",X"98",X"FF",X"FF", + X"08",X"89",X"AA",X"BB",X"AA",X"98",X"8F",X"FF",X"08",X"89",X"AB",X"BB",X"BA",X"98",X"8F",X"FF", + X"08",X"89",X"AB",X"BB",X"BA",X"98",X"8F",X"FF",X"08",X"89",X"AA",X"BB",X"AA",X"98",X"8F",X"FF", + X"00",X"89",X"9A",X"AA",X"A9",X"98",X"FF",X"FF",X"00",X"88",X"99",X"AA",X"99",X"88",X"FF",X"FF", + X"00",X"08",X"89",X"99",X"98",X"8F",X"FF",X"FF",X"00",X"00",X"88",X"88",X"88",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"08",X"88",X"8F",X"FF",X"FF",X"FF",X"00",X"08",X"88",X"00",X"88",X"8F",X"FF",X"FF", + X"00",X"88",X"00",X"00",X"00",X"88",X"FF",X"FF",X"08",X"80",X"08",X"88",X"80",X"08",X"8F",X"FF", + X"08",X"00",X"88",X"99",X"88",X"00",X"8F",X"FF",X"88",X"08",X"89",X"99",X"98",X"80",X"88",X"FF", + X"80",X"08",X"99",X"AA",X"99",X"80",X"08",X"FF",X"80",X"08",X"9A",X"AA",X"A9",X"80",X"08",X"FF", + X"80",X"08",X"9A",X"AA",X"A9",X"80",X"08",X"FF",X"80",X"08",X"99",X"AA",X"99",X"80",X"08",X"FF", + X"88",X"08",X"89",X"99",X"98",X"80",X"88",X"FF",X"08",X"00",X"88",X"99",X"88",X"00",X"8F",X"FF", + X"08",X"80",X"08",X"88",X"80",X"08",X"8F",X"FF",X"00",X"88",X"00",X"00",X"00",X"88",X"FF",X"FF", + X"00",X"08",X"88",X"00",X"88",X"8F",X"FF",X"FF",X"00",X"00",X"08",X"88",X"8F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"00",X"08",X"80",X"00",X"08",X"8F",X"FF",X"FF", + X"00",X"88",X"00",X"88",X"00",X"88",X"FF",X"FF",X"00",X"80",X"08",X"88",X"80",X"08",X"FF",X"FF", + X"08",X"80",X"88",X"99",X"88",X"08",X"8F",X"FF",X"08",X"80",X"89",X"99",X"98",X"08",X"8F",X"FF", + X"08",X"80",X"89",X"99",X"98",X"08",X"8F",X"FF",X"08",X"80",X"88",X"99",X"88",X"08",X"8F",X"FF", + X"00",X"80",X"08",X"88",X"80",X"08",X"FF",X"FF",X"00",X"88",X"00",X"88",X"00",X"88",X"FF",X"FF", + X"00",X"08",X"80",X"00",X"08",X"8F",X"FF",X"FF",X"00",X"00",X"88",X"88",X"88",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"90",X"00",X"09",X"8F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"09",X"FF",X"FF",X"FF", + X"00",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"09",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"09",X"FF",X"FF",X"00",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"09",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"90",X"00",X"09",X"FF",X"FF",X"00",X"09",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"09",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"9F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"08",X"00",X"09",X"FF",X"FF",X"00",X"00",X"00",X"00",X"08",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"9F",X"FF",X"08",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"00",X"00",X"00",X"00",X"00",X"08",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"80",X"08",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"08",X"00",X"00",X"80",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"09",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"00",X"F9",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"C0",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"99",X"C7",X"CC",X"FF",X"FF",X"FF", + X"00",X"09",X"99",X"C7",X"CC",X"CF",X"FF",X"FF",X"00",X"99",X"99",X"C7",X"EC",X"CC",X"FF",X"FF", + X"09",X"99",X"99",X"E7",X"EE",X"CC",X"CF",X"FF",X"99",X"99",X"99",X"E7",X"EE",X"EC",X"CC",X"FF", + X"07",X"77",X"77",X"77",X"77",X"77",X"7F",X"FF",X"AA",X"AA",X"AE",X"E7",X"EE",X"CC",X"CC",X"FF", + X"88",X"88",X"88",X"E7",X"EA",X"AA",X"AA",X"FF",X"08",X"88",X"88",X"67",X"BA",X"AA",X"AF",X"FF", + X"00",X"88",X"88",X"67",X"BA",X"AA",X"FF",X"FF",X"00",X"08",X"88",X"67",X"BA",X"AF",X"FF",X"FF", + X"00",X"00",X"88",X"67",X"BA",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"60",X"BF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"C0",X"DF",X"FF",X"FF",X"FF",X"00",X"00",X"99",X"C7",X"DD",X"FF",X"FF",X"FF", + X"00",X"09",X"99",X"B7",X"BD",X"DF",X"FF",X"FF",X"00",X"99",X"99",X"B7",X"ED",X"DD",X"FF",X"FF", + X"09",X"99",X"99",X"E7",X"ED",X"DD",X"DF",X"FF",X"99",X"99",X"99",X"E7",X"BD",X"DD",X"DD",X"FF", + X"07",X"99",X"99",X"B7",X"CD",X"DD",X"7F",X"FF",X"AA",X"77",X"99",X"B7",X"DD",X"77",X"CC",X"FF", + X"88",X"AA",X"77",X"B7",X"77",X"CC",X"AA",X"FF",X"08",X"88",X"AA",X"77",X"EE",X"AA",X"AF",X"FF", + X"00",X"88",X"88",X"67",X"AA",X"AA",X"FF",X"FF",X"00",X"08",X"88",X"67",X"AA",X"AF",X"FF",X"FF", + X"00",X"00",X"88",X"67",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"60",X"AF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"08",X"E0",X"EF",X"FF",X"FF",X"FF",X"00",X"00",X"88",X"E7",X"ED",X"FF",X"FF",X"FF", + X"00",X"08",X"88",X"E7",X"ED",X"DF",X"FF",X"FF",X"00",X"88",X"88",X"E7",X"BD",X"DD",X"FF",X"FF", + X"08",X"88",X"88",X"B7",X"BD",X"DD",X"DF",X"FF",X"88",X"88",X"88",X"B7",X"CD",X"DD",X"DD",X"FF", + X"08",X"88",X"88",X"C7",X"CD",X"DD",X"DF",X"FF",X"B7",X"88",X"88",X"C7",X"DD",X"DD",X"7C",X"FF", + X"8B",X"78",X"88",X"C7",X"DD",X"D7",X"CB",X"FF",X"08",X"B7",X"88",X"C7",X"DD",X"7C",X"BF",X"FF", + X"00",X"8B",X"78",X"C7",X"D7",X"EB",X"FF",X"FF",X"00",X"08",X"B7",X"C7",X"7E",X"BF",X"FF",X"FF", + X"00",X"00",X"8B",X"77",X"DB",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"B0",X"BF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"C7",X"CF",X"FF",X"FF",X"FF", + X"00",X"00",X"98",X"C7",X"CC",X"FF",X"FF",X"FF",X"00",X"09",X"88",X"C7",X"CC",X"CF",X"FF",X"FF", + X"00",X"98",X"88",X"C7",X"CC",X"CC",X"FF",X"FF",X"09",X"88",X"88",X"C7",X"CC",X"CC",X"CF",X"FF", + X"98",X"88",X"88",X"C7",X"CC",X"CC",X"CC",X"FF",X"88",X"88",X"88",X"C7",X"CC",X"CC",X"CC",X"FF", + X"08",X"88",X"88",X"C7",X"CC",X"CC",X"CF",X"FF",X"00",X"88",X"88",X"C7",X"CC",X"CC",X"FF",X"FF", + X"00",X"08",X"88",X"C7",X"CC",X"CF",X"FF",X"FF",X"00",X"00",X"88",X"C7",X"CC",X"FF",X"FF",X"FF", + X"00",X"00",X"08",X"C7",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"0A",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"98",X"77",X"AC",X"FF",X"FF",X"FF", + X"00",X"09",X"87",X"C7",X"7A",X"CF",X"FF",X"FF",X"00",X"98",X"78",X"C7",X"C7",X"AC",X"FF",X"FF", + X"09",X"87",X"88",X"C7",X"BC",X"7A",X"CF",X"FF",X"98",X"78",X"88",X"C7",X"BB",X"C7",X"AC",X"FF", + X"87",X"88",X"88",X"B7",X"BB",X"BC",X"7A",X"FF",X"08",X"88",X"88",X"B7",X"BB",X"BC",X"CF",X"FF", + X"88",X"88",X"88",X"B7",X"BB",X"BB",X"CC",X"FF",X"08",X"88",X"88",X"B7",X"BB",X"BB",X"BF",X"FF", + X"00",X"88",X"88",X"B7",X"BB",X"BB",X"FF",X"FF",X"00",X"08",X"88",X"B7",X"BB",X"BF",X"FF",X"FF", + X"00",X"00",X"88",X"B7",X"BB",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"B0",X"BF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"E0",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"99",X"E7",X"EC",X"FF",X"FF",X"FF", + X"00",X"09",X"99",X"E7",X"EE",X"CF",X"FF",X"FF",X"00",X"99",X"88",X"77",X"AA",X"EC",X"FF",X"FF", + X"09",X"88",X"77",X"E7",X"77",X"AA",X"CF",X"FF",X"98",X"77",X"88",X"E7",X"EE",X"77",X"AC",X"FF", + X"07",X"88",X"88",X"C7",X"EC",X"CC",X"7F",X"FF",X"88",X"88",X"88",X"C7",X"BB",X"CC",X"CC",X"FF", + X"88",X"88",X"88",X"C7",X"BB",X"BB",X"CC",X"FF",X"08",X"88",X"88",X"C7",X"BB",X"BB",X"BF",X"FF", + X"00",X"88",X"88",X"C7",X"BB",X"BB",X"FF",X"FF",X"00",X"08",X"88",X"C7",X"BB",X"BF",X"FF",X"FF", + X"00",X"00",X"88",X"C7",X"BB",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"C0",X"BF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"C0",X"DF",X"FF",X"FF",X"FF",X"00",X"00",X"99",X"C7",X"DD",X"FF",X"FF",X"FF", + X"00",X"09",X"9C",X"7D",X"DD",X"DF",X"FF",X"FF",X"00",X"99",X"9C",X"7D",X"DD",X"DD",X"FF",X"FF", + X"09",X"99",X"E7",X"DD",X"DD",X"DD",X"DF",X"FF",X"99",X"99",X"E7",X"DC",X"BE",X"EB",X"DD",X"FF", + X"07",X"77",X"77",X"77",X"77",X"77",X"7F",X"FF",X"66",X"66",X"7B",X"BB",X"EE",X"BB",X"CC",X"FF", + X"88",X"88",X"A7",X"AA",X"AA",X"AA",X"AA",X"FF",X"08",X"88",X"A7",X"AA",X"AA",X"AA",X"AF",X"FF", + X"00",X"88",X"8A",X"7A",X"AA",X"AA",X"FF",X"FF",X"00",X"08",X"8A",X"7A",X"AA",X"AF",X"FF",X"FF", + X"00",X"00",X"88",X"A7",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"A0",X"AF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"C0",X"DF",X"FF",X"FF",X"FF",X"00",X"00",X"9C",X"7D",X"DD",X"FF",X"FF",X"FF", + X"00",X"09",X"C7",X"DD",X"DD",X"DF",X"FF",X"FF",X"00",X"9B",X"7D",X"DD",X"DD",X"DD",X"FF",X"FF", + X"09",X"B7",X"DD",X"DD",X"DD",X"DD",X"DF",X"FF",X"9B",X"7D",X"DD",X"DC",X"CB",X"BE",X"EE",X"FF", + X"07",X"77",X"77",X"77",X"77",X"77",X"7F",X"FF",X"B7",X"CC",X"CC",X"CC",X"BB",X"EE",X"EE",X"FF", + X"8B",X"79",X"99",X"99",X"99",X"99",X"99",X"FF",X"08",X"B7",X"99",X"99",X"99",X"99",X"9F",X"FF", + X"00",X"9B",X"79",X"99",X"99",X"99",X"FF",X"FF",X"00",X"08",X"B7",X"99",X"99",X"9F",X"FF",X"FF", + X"00",X"00",X"8B",X"79",X"99",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"B0",X"9F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"CF",X"FF",X"FF",X"FF", + X"00",X"00",X"CC",X"CC",X"CC",X"FF",X"FF",X"FF",X"00",X"0C",X"CC",X"CC",X"CC",X"CF",X"FF",X"FF", + X"00",X"CC",X"CC",X"CC",X"CC",X"CC",X"FF",X"FF",X"0C",X"CC",X"CC",X"CC",X"CC",X"CC",X"CF",X"FF", + X"07",X"77",X"77",X"77",X"77",X"77",X"7F",X"FF",X"0C",X"CC",X"CC",X"CC",X"CC",X"CC",X"CF",X"FF", + X"09",X"99",X"99",X"99",X"99",X"99",X"9F",X"FF",X"00",X"99",X"99",X"99",X"99",X"99",X"FF",X"FF", + X"00",X"09",X"99",X"99",X"99",X"9F",X"FF",X"FF",X"00",X"00",X"99",X"99",X"99",X"FF",X"FF",X"FF", + X"00",X"00",X"09",X"99",X"9F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"99",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0C",X"0A",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"BC",X"C7",X"AC",X"FF",X"FF",X"FF", + X"00",X"0B",X"BB",X"CC",X"7A",X"CF",X"FF",X"FF",X"00",X"BB",X"BB",X"BB",X"C7",X"AC",X"FF",X"FF", + X"0B",X"BB",X"BB",X"BB",X"BC",X"7A",X"EF",X"FF",X"BB",X"BB",X"BB",X"BB",X"BB",X"C7",X"AE",X"FF", + X"07",X"77",X"77",X"77",X"77",X"77",X"7A",X"FF",X"BB",X"BB",X"BB",X"BB",X"CC",X"CC",X"7F",X"FF", + X"88",X"88",X"88",X"88",X"88",X"87",X"8A",X"FF",X"08",X"88",X"88",X"88",X"88",X"78",X"AF",X"FF", + X"00",X"88",X"88",X"88",X"87",X"8A",X"FF",X"FF",X"00",X"08",X"88",X"88",X"78",X"AF",X"FF",X"FF", + X"00",X"00",X"88",X"87",X"8A",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"08",X"AF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0A",X"C0",X"CF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"C7",X"9C",X"FF",X"FF",X"FF", + X"00",X"0A",X"AA",X"AC",X"79",X"CF",X"FF",X"FF",X"00",X"AA",X"AA",X"AC",X"79",X"EC",X"FF",X"FF", + X"0A",X"AA",X"AA",X"AC",X"E7",X"9E",X"CF",X"FF",X"AA",X"AA",X"AA",X"AE",X"E7",X"9E",X"EC",X"FF", + X"07",X"77",X"77",X"77",X"77",X"77",X"7F",X"FF",X"BB",X"BB",X"BB",X"BB",X"EE",X"7E",X"EE",X"FF", + X"88",X"88",X"88",X"88",X"87",X"8A",X"AA",X"FF",X"08",X"88",X"88",X"88",X"87",X"8A",X"AF",X"FF", + X"00",X"88",X"88",X"88",X"78",X"AA",X"FF",X"FF",X"00",X"08",X"88",X"88",X"78",X"AF",X"FF",X"FF", + X"00",X"00",X"88",X"87",X"8A",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"80",X"9F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"B2",X"E0",X"00",X"00",X"00",X"00",X"00",X"B2",X"EF",X"FF",X"0B",X"B1", + X"EE",X"00",X"00",X"00",X"00",X"0B",X"B1",X"EE",X"FF",X"AB",X"B9",X"6E",X"E0",X"00",X"00",X"00", + X"AB",X"B9",X"6E",X"EF",X"BB",X"41",X"46",X"E0",X"00",X"00",X"00",X"BB",X"41",X"46",X"EF",X"59", + X"15",X"1A",X"50",X"00",X"00",X"00",X"59",X"15",X"1A",X"5F",X"AA",X"41",X"4D",X"D0",X"00",X"00", + X"00",X"AA",X"41",X"4D",X"DF",X"AA",X"A9",X"DD",X"B0",X"00",X"00",X"00",X"AA",X"A9",X"DD",X"BF", + X"0A",X"A5",X"DB",X"00",X"00",X"00",X"00",X"0A",X"A5",X"DB",X"FF",X"00",X"A1",X"A0",X"00",X"0B", + X"2E",X"00",X"00",X"A1",X"AF",X"FF",X"00",X"00",X"00",X"00",X"AB",X"1E",X"EF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"0A",X"BB",X"96",X"EE",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B", + X"B4",X"14",X"6E",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"05",X"91",X"51",X"A5",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"0A",X"A4",X"14",X"DD",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"0A",X"AA",X"9D",X"DB",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"AA",X"5D",X"BF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0A",X"1A",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"2E", + X"3E",X"2E",X"3E",X"2F",X"FF",X"2E",X"3E",X"2E",X"3E",X"2F",X"FF",X"2E",X"3E",X"2E",X"3E",X"2F", + X"FF",X"EE",X"EE",X"EE",X"EE",X"EF",X"FF",X"99",X"99",X"99",X"99",X"7F",X"FF",X"55",X"55",X"55", + X"55",X"6C",X"FF",X"EE",X"E4",X"44",X"7E",X"66",X"CF",X"EE",X"E4",X"44",X"7E",X"66",X"CF",X"EE", + X"E4",X"44",X"77",X"66",X"CF",X"EE",X"E5",X"55",X"55",X"66",X"CF",X"EE",X"E6",X"66",X"66",X"66", + X"CF",X"EE",X"EB",X"BB",X"BB",X"69",X"AF",X"77",X"77",X"77",X"77",X"77",X"FF",X"DD",X"DD",X"DD", + X"DD",X"DF",X"FF",X"EE",X"EE",X"EE",X"EE",X"EF",X"FF",X"2E",X"3E",X"2E",X"3E",X"2F",X"FF",X"2E", + X"3E",X"2E",X"3E",X"2F",X"FF",X"2E",X"3E",X"2E",X"3E",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3E",X"2E",X"3E",X"2E",X"3F",X"FF",X"3E",X"2E",X"3E", + X"2E",X"3F",X"FF",X"3E",X"2E",X"3E",X"2E",X"3F",X"FF",X"EE",X"EE",X"EE",X"EE",X"EF",X"FF",X"99", + X"99",X"99",X"99",X"7F",X"FF",X"55",X"55",X"55",X"55",X"6C",X"FF",X"11",X"E4",X"44",X"7E",X"66", + X"CF",X"11",X"E4",X"44",X"7E",X"66",X"CF",X"EE",X"E4",X"44",X"77",X"66",X"CF",X"EE",X"E5",X"55", + X"55",X"66",X"CF",X"11",X"E6",X"66",X"66",X"66",X"CF",X"11",X"EB",X"BB",X"BB",X"69",X"AF",X"77", + X"77",X"77",X"77",X"77",X"FF",X"DD",X"DD",X"DD",X"DD",X"DF",X"FF",X"EE",X"EE",X"EE",X"EE",X"EF", + X"FF",X"3E",X"2E",X"3E",X"2E",X"3F",X"FF",X"3E",X"2E",X"3E",X"2E",X"3F",X"FF",X"3E",X"2E",X"3E", + X"2E",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"B8",X"88",X"88",X"88", + X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B",X"BA",X"88",X"88",X"88",X"88", + X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0D",X"AA",X"9A",X"AA",X"AA",X"AA",X"66", + X"66",X"6F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"D9",X"98",X"AA",X"AA",X"AA",X"AA",X"66", + X"64",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0D",X"88",X"7A",X"AA",X"AA",X"AA",X"AD",X"34", + X"4F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"D7",X"76",X"AA",X"AA",X"AA",X"DD",X"53",X"44", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0D",X"66",X"5A",X"AA",X"AA",X"D7",X"53",X"34",X"7F", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"D5",X"54",X"AA",X"AE",X"E6",X"53",X"13",X"4F",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"44",X"3A",X"AE",X"66",X"43",X"13",X"47",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"D3",X"32",X"DE",X"65",X"43",X"13",X"46",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0D",X"22",X"D7",X"65",X"43",X"13",X"44",X"FF",X"0B",X"D0",X"00", + X"00",X"00",X"00",X"00",X"00",X"DD",X"D7",X"65",X"43",X"11",X"33",X"6F",X"BB",X"AD",X"00",X"00", + X"00",X"00",X"00",X"00",X"0D",X"76",X"54",X"43",X"11",X"23",X"6F",X"CA",X"A9",X"D0",X"00",X"00", + X"00",X"00",X"00",X"00",X"D6",X"54",X"33",X"11",X"23",X"6F",X"BB",X"9A",X"8D",X"00",X"00",X"00", + X"00",X"00",X"00",X"0D",X"54",X"31",X"11",X"23",X"5F",X"BB",X"C8",X"87",X"D0",X"00",X"00",X"00", + X"00",X"00",X"00",X"D4",X"31",X"11",X"23",X"5F",X"BB",X"CC",X"77",X"6D",X"00",X"00",X"00",X"00", + X"00",X"0C",X"DD",X"31",X"11",X"23",X"5F",X"BB",X"CC",X"C6",X"65",X"D0",X"00",X"00",X"00",X"00", + X"CC",X"BD",X"D1",X"AA",X"23",X"5F",X"BB",X"BC",X"CC",X"55",X"4D",X"00",X"00",X"00",X"00",X"CC", + X"BA",X"DD",X"A9",X"93",X"5F",X"CB",X"BC",X"CC",X"C4",X"43",X"D0",X"00",X"00",X"0C",X"CB",X"BA", + X"9D",X"D9",X"88",X"5F",X"0B",X"BC",X"CC",X"CC",X"33",X"2D",X"00",X"00",X"0C",X"CB",X"AA",X"98", + X"DD",X"87",X"7F",X"0B",X"BC",X"CC",X"CC",X"C2",X"2D",X"D0",X"00",X"CC",X"BB",X"A9",X"98",X"7D", + X"D7",X"6F",X"0B",X"BB",X"CC",X"CC",X"CC",X"DD",X"7D",X"0C",X"CC",X"BA",X"A9",X"88",X"76",X"DD", + X"5F",X"0C",X"BB",X"CC",X"CC",X"CC",X"D8",X"76",X"DC",X"CB",X"BA",X"A9",X"88",X"76",X"5D",X"DF", + X"00",X"BB",X"CC",X"CC",X"CC",X"E8",X"76",X"5D",X"DB",X"AA",X"99",X"87",X"76",X"54",X"DF",X"00", + X"BB",X"BC",X"CC",X"CE",X"E8",X"76",X"54",X"DD",X"AA",X"98",X"87",X"66",X"54",X"FF",X"00",X"CB", + X"BC",X"CC",X"CE",X"88",X"76",X"64",X"4D",X"D9",X"98",X"77",X"65",X"5F",X"FF",X"00",X"0B",X"BA", + X"CC",X"DD",X"88",X"76",X"65",X"44",X"DD",X"98",X"77",X"65",X"5F",X"FF",X"00",X"0C",X"BA",X"AC", + X"D8",X"88",X"77",X"66",X"5A",X"AD",X"D8",X"76",X"65",X"FF",X"FF",X"00",X"00",X"BA",X"AA",X"A8", + X"88",X"87",X"76",X"5A",X"99",X"DD",X"76",X"55",X"FF",X"FF",X"00",X"00",X"0A",X"AA",X"A9",X"88", + X"87",X"77",X"65",X"98",X"8D",X"D6",X"5F",X"FF",X"FF",X"00",X"00",X"00",X"BA",X"A9",X"88",X"88", + X"67",X"77",X"78",X"77",X"DD",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B",X"AA",X"98",X"88",X"88", + X"77",X"79",X"76",X"6F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"BB",X"AA",X"99",X"88",X"88", + X"99",X"96",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"AA",X"A9",X"99",X"99",X"99", + X"9F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A9",X"AF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"00",X"BB",X"BB",X"BB",X"88",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"BB",X"BB",X"BB",X"B8",X"88",X"77",X"8F",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"BB",X"BB",X"BB",X"AA",X"AA",X"88",X"76",X"66",X"9F",X"FF",X"FF",X"FF",X"00",X"00", + X"0B",X"BB",X"BA",X"AA",X"AA",X"AA",X"AD",X"76",X"55",X"55",X"9F",X"FF",X"FF",X"00",X"00",X"8A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"9D",X"66",X"54",X"44",X"49",X"FF",X"FF",X"00",X"09",X"87",X"6A", + X"9A",X"AA",X"AA",X"AA",X"DD",X"65",X"44",X"33",X"34",X"FF",X"FF",X"00",X"0D",X"87",X"65",X"5A", + X"9A",X"AA",X"A9",X"D7",X"65",X"43",X"32",X"23",X"6F",X"FF",X"00",X"00",X"DD",X"75",X"44",X"1A", + X"AA",X"A9",X"D7",X"65",X"43",X"11",X"22",X"4F",X"FF",X"00",X"00",X"00",X"DD",X"51",X"12",X"3A", + X"A9",X"D6",X"65",X"44",X"31",X"12",X"37",X"FF",X"00",X"00",X"00",X"00",X"DD",X"22",X"33",X"4D", + X"D7",X"65",X"44",X"31",X"12",X"35",X"FF",X"00",X"00",X"00",X"00",X"00",X"DD",X"34",X"4D",X"76", + X"55",X"44",X"31",X"12",X"35",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"4D",X"76",X"54", + X"44",X"31",X"11",X"35",X"6F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"66",X"54",X"44", + X"31",X"11",X"35",X"6F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"54",X"44",X"16", + X"12",X"35",X"6F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"41",X"46",X"66", + X"35",X"6F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7C",X"DD",X"56",X"67",X"86", + X"6F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0B",X"76",X"4C",X"DD",X"78",X"89",X"9F", + X"AD",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"64",X"43",X"3C",X"DD",X"89",X"AF",X"A9", + X"AD",X"D0",X"00",X"00",X"00",X"00",X"00",X"07",X"54",X"33",X"22",X"1C",X"DD",X"BF",X"99",X"87", + X"7D",X"D0",X"00",X"00",X"00",X"00",X"B7",X"54",X"33",X"21",X"13",X"4C",X"DF",X"BB",X"87",X"66", + X"5D",X"D0",X"00",X"00",X"00",X"96",X"54",X"32",X"21",X"33",X"45",X"7F",X"BB",X"CA",X"65",X"54", + X"4D",X"D0",X"00",X"00",X"75",X"44",X"32",X"11",X"34",X"45",X"8F",X"BB",X"CC",X"CA",X"44",X"33", + X"1D",X"D0",X"09",X"75",X"43",X"32",X"11",X"34",X"57",X"BF",X"BB",X"BC",X"CC",X"CA",X"31",X"1D", + X"6D",X"D6",X"65",X"43",X"22",X"11",X"44",X"59",X"FF",X"0B",X"BC",X"CC",X"CC",X"CA",X"1D",X"66", + X"6D",X"DB",X"43",X"21",X"11",X"45",X"58",X"FF",X"0B",X"BB",X"CC",X"CC",X"CC",X"CD",X"66",X"54", + X"4D",X"DB",X"21",X"13",X"45",X"7B",X"FF",X"0B",X"BB",X"CC",X"CC",X"CC",X"DD",X"66",X"55",X"43", + X"5D",X"DB",X"34",X"55",X"9F",X"FF",X"00",X"BB",X"BC",X"CC",X"CC",X"D7",X"76",X"55",X"33",X"67", + X"8D",X"DB",X"57",X"8F",X"FF",X"00",X"BB",X"BC",X"CC",X"CC",X"D7",X"76",X"55",X"37",X"67",X"88", + X"9D",X"DB",X"BF",X"FF",X"00",X"0B",X"BB",X"CC",X"CD",X"D8",X"77",X"65",X"54",X"57",X"89",X"9A", + X"AD",X"DF",X"FF",X"00",X"00",X"BB",X"AC",X"CD",X"88",X"77",X"66",X"55",X"54",X"59",X"AA",X"BB", + X"CF",X"FF",X"00",X"00",X"BB",X"AA",X"CD",X"88",X"87",X"76",X"66",X"55",X"55",X"5B",X"BC",X"FF", + X"FF",X"00",X"00",X"0B",X"AA",X"A9",X"98",X"88",X"77",X"76",X"66",X"66",X"66",X"6F",X"FF",X"FF", + X"00",X"00",X"00",X"AA",X"AA",X"99",X"88",X"88",X"77",X"77",X"77",X"77",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"0B",X"AA",X"A9",X"98",X"88",X"88",X"88",X"77",X"8F",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"0A",X"AA",X"AA",X"AA",X"9A",X"A8",X"89",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"00",X"0A",X"AA",X"AA",X"AA",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"88", + X"88",X"88",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B",X"88",X"88",X"88", + X"88",X"77",X"77",X"8F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0B",X"B8",X"88",X"88",X"88",X"77", + X"65",X"55",X"66",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"BB",X"B8",X"88",X"88",X"87",X"76",X"54", + X"44",X"45",X"68",X"FF",X"FF",X"FF",X"00",X"0B",X"BB",X"B8",X"88",X"88",X"87",X"65",X"33",X"33", + X"44",X"56",X"8F",X"FF",X"FF",X"00",X"BB",X"BB",X"AA",X"AA",X"AA",X"D7",X"54",X"33",X"33",X"34", + X"45",X"68",X"FF",X"FF",X"0B",X"BB",X"BA",X"AA",X"AA",X"AA",X"D7",X"54",X"33",X"12",X"33",X"44", + X"56",X"8F",X"FF",X"0B",X"BB",X"AA",X"AA",X"AA",X"AA",X"E7",X"54",X"31",X"11",X"23",X"34",X"56", + X"8F",X"FF",X"BB",X"BA",X"AA",X"AA",X"AA",X"AA",X"E7",X"54",X"33",X"11",X"12",X"34",X"45",X"68", + X"FF",X"BB",X"AA",X"AA",X"AA",X"AA",X"AA",X"E7",X"54",X"33",X"11",X"12",X"34",X"45",X"68",X"FF", + X"12",X"34",X"56",X"78",X"9A",X"BC",X"D7",X"54",X"43",X"15",X"67",X"89",X"AB",X"CD",X"FF",X"12", + X"34",X"56",X"78",X"9A",X"BC",X"D7",X"54",X"43",X"15",X"67",X"89",X"AB",X"CD",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"12",X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"12",X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"12",X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"12",X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"12",X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"12",X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12", + X"34",X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"34", + X"56",X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"34",X"56", + X"78",X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"34",X"56",X"78", + X"9A",X"BC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"FF",X"12",X"34",X"56",X"78",X"9A",X"BC",X"D8",X"75",X"43",X"35",X"67",X"89",X"AB",X"CD", + X"FF",X"12",X"34",X"56",X"78",X"9A",X"CC",X"D8",X"65",X"54",X"35",X"67",X"89",X"AB",X"CD",X"FF", + X"BB",X"CC",X"CC",X"CC",X"CC",X"CC",X"E8",X"66",X"55",X"43",X"44",X"55",X"56",X"8B",X"FF",X"BB", + X"BC",X"CC",X"CC",X"CC",X"CC",X"E8",X"76",X"65",X"54",X"55",X"55",X"66",X"8B",X"FF",X"0B",X"BB", + X"CC",X"CC",X"CC",X"CC",X"E8",X"77",X"66",X"55",X"55",X"56",X"68",X"BF",X"FF",X"0B",X"BB",X"BC", + X"CC",X"CC",X"CC",X"D8",X"77",X"66",X"65",X"55",X"66",X"78",X"BF",X"FF",X"00",X"BB",X"BB",X"CC", + X"CC",X"CC",X"D8",X"87",X"77",X"66",X"66",X"67",X"8B",X"FF",X"FF",X"00",X"0B",X"BB",X"BB",X"BB", + X"BB",X"BB",X"88",X"77",X"77",X"77",X"78",X"BF",X"FF",X"FF",X"00",X"00",X"BB",X"BB",X"BB",X"BB", + X"BB",X"B8",X"87",X"77",X"78",X"8B",X"FF",X"FF",X"FF",X"00",X"00",X"0B",X"BB",X"BB",X"BB",X"BB", + X"BB",X"88",X"88",X"8B",X"BF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B",X"BB",X"CC",X"CC",X"CC", + X"BB",X"BB",X"BF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"CC",X"CC",X"CC",X"CC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"A9",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"08",X"88",X"76",X"66",X"66",X"67",X"7F",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"0B",X"88",X"87",X"65",X"55",X"55",X"55",X"67",X"7F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"88",X"88",X"76",X"54",X"44",X"44",X"44",X"56",X"77",X"FF",X"FF",X"FF",X"00", + X"00",X"0B",X"88",X"88",X"76",X"54",X"31",X"12",X"33",X"45",X"66",X"6F",X"FF",X"FF",X"00",X"00", + X"BB",X"88",X"AD",X"76",X"54",X"33",X"11",X"22",X"34",X"5B",X"BC",X"FF",X"FF",X"00",X"00",X"BB", + X"8A",X"AD",X"86",X"65",X"43",X"11",X"11",X"29",X"AA",X"BB",X"CF",X"FF",X"00",X"0B",X"BB",X"AA", + X"AD",X"88",X"66",X"54",X"31",X"17",X"89",X"9A",X"AD",X"DF",X"FF",X"00",X"BB",X"BA",X"AA",X"AA", + X"D8",X"76",X"55",X"33",X"67",X"88",X"9D",X"DB",X"BF",X"FF",X"00",X"BB",X"BA",X"AA",X"AA",X"D8", + X"76",X"65",X"43",X"67",X"8D",X"DB",X"56",X"9F",X"FF",X"0B",X"BB",X"AA",X"AA",X"AA",X"DD",X"87", + X"65",X"43",X"5D",X"DB",X"34",X"55",X"8F",X"FF",X"0B",X"BB",X"AA",X"AA",X"AA",X"CD",X"86",X"64", + X"4D",X"DB",X"21",X"13",X"45",X"7B",X"FF",X"0B",X"BA",X"AA",X"AA",X"AA",X"1D",X"87",X"6D",X"DB", + X"43",X"21",X"11",X"45",X"59",X"FF",X"BB",X"BA",X"AA",X"AA",X"31",X"1D",X"8D",X"D6",X"65",X"43", + X"22",X"11",X"44",X"58",X"FF",X"BB",X"AA",X"AA",X"44",X"33",X"1D",X"D0",X"09",X"75",X"43",X"32", + X"11",X"34",X"57",X"BF",X"BB",X"AA",X"65",X"54",X"4D",X"D0",X"00",X"00",X"75",X"44",X"32",X"11", + X"34",X"45",X"9F",X"BB",X"87",X"66",X"5D",X"D0",X"00",X"00",X"00",X"96",X"54",X"32",X"21",X"33", + X"45",X"8F",X"99",X"87",X"7D",X"D0",X"00",X"00",X"00",X"00",X"B7",X"54",X"33",X"21",X"13",X"4C", + X"DF",X"A9",X"AD",X"D0",X"00",X"00",X"00",X"00",X"00",X"07",X"54",X"33",X"22",X"1C",X"DD",X"BF", + X"AD",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"64",X"43",X"3C",X"DD",X"89",X"AF",X"D0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0B",X"76",X"4C",X"DD",X"78",X"89",X"9F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7C",X"DD",X"56",X"67",X"86",X"5F",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"44",X"46",X"66",X"44",X"5F",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"DD",X"55",X"54",X"46",X"44",X"45",X"6F",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"DD",X"86",X"66",X"55",X"44",X"45",X"55",X"7F",X"00",X"00",X"00",X"00",X"00",X"00", + X"DD",X"4D",X"87",X"76",X"65",X"55",X"55",X"66",X"FF",X"00",X"00",X"00",X"00",X"00",X"DD",X"34", + X"4D",X"88",X"77",X"66",X"66",X"66",X"68",X"FF",X"00",X"00",X"00",X"00",X"DD",X"22",X"33",X"4D", + X"D8",X"67",X"76",X"66",X"66",X"78",X"FF",X"00",X"00",X"00",X"DD",X"51",X"12",X"3C",X"CC",X"D8", + X"67",X"77",X"77",X"77",X"8F",X"FF",X"00",X"00",X"DD",X"75",X"44",X"1C",X"CC",X"CC",X"D8",X"87", + X"77",X"77",X"88",X"8F",X"FF",X"00",X"0D",X"87",X"65",X"5C",X"CC",X"CC",X"CC",X"D8",X"88",X"88", + X"88",X"88",X"FF",X"FF",X"00",X"09",X"87",X"6C",X"CC",X"CC",X"CC",X"CC",X"DD",X"98",X"88",X"88", + X"88",X"FF",X"FF",X"00",X"00",X"8B",X"BC",X"CC",X"CC",X"CC",X"CC",X"CD",X"99",X"88",X"88",X"8F", + X"FF",X"FF",X"00",X"00",X"0B",X"BB",X"BC",X"CC",X"CC",X"CC",X"CD",X"99",X"99",X"99",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"BB",X"BB",X"BB",X"CC",X"CC",X"AA",X"99",X"AA",X"9F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"BB",X"BB",X"BB",X"BA",X"AA",X"AA",X"9F",X"FF",X"FF",X"FF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"BB",X"BB",X"BB",X"9A",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"00",X"00",X"76",X"65",X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00", + X"76",X"65",X"54",X"44",X"44",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"99",X"76", + X"54",X"43",X"33",X"33",X"36",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"09",X"88",X"65",X"43", + X"33",X"22",X"33",X"76",X"6F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"98",X"86",X"54",X"31",X"11", + X"11",X"18",X"77",X"DF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"98",X"76",X"43",X"11",X"11",X"11", + X"98",X"8D",X"D6",X"FF",X"FF",X"FF",X"00",X"00",X"B9",X"98",X"76",X"43",X"33",X"33",X"1A",X"99", + X"DD",X"76",X"5F",X"FF",X"FF",X"00",X"0B",X"B9",X"9A",X"D8",X"54",X"44",X"43",X"3A",X"AD",X"D8", + X"76",X"65",X"FF",X"FF",X"00",X"0B",X"B9",X"AA",X"DD",X"85",X"55",X"54",X"33",X"DD",X"98",X"77", + X"65",X"FF",X"FF",X"00",X"CB",X"BA",X"AA",X"AE",X"86",X"76",X"65",X"4D",X"D9",X"98",X"77",X"65", + X"5F",X"FF",X"00",X"BB",X"BA",X"AA",X"AE",X"E8",X"76",X"66",X"DD",X"AA",X"98",X"87",X"66",X"5F", + X"FF",X"00",X"BB",X"AA",X"AA",X"AA",X"E8",X"77",X"7D",X"DB",X"AA",X"99",X"87",X"76",X"54",X"FF", + X"0C",X"BB",X"AA",X"AA",X"AA",X"D8",X"88",X"DD",X"CB",X"BA",X"A9",X"88",X"76",X"5D",X"FF",X"0B", + X"BB",X"AA",X"AA",X"AA",X"DD",X"8D",X"0C",X"CC",X"BA",X"A9",X"88",X"76",X"DD",X"6F",X"0B",X"BA", + X"AA",X"AA",X"A2",X"2D",X"D0",X"00",X"CC",X"BB",X"A9",X"98",X"7D",X"D7",X"6F",X"0B",X"BA",X"AA", + X"AA",X"33",X"2D",X"00",X"00",X"0C",X"CB",X"AA",X"98",X"DD",X"87",X"7F",X"CB",X"BA",X"AA",X"A4", + X"43",X"D0",X"00",X"00",X"0C",X"CB",X"BA",X"9D",X"D9",X"88",X"4F",X"BB",X"AA",X"AA",X"55",X"4D", + X"00",X"00",X"00",X"00",X"CC",X"BA",X"DD",X"A9",X"93",X"4F",X"BB",X"AA",X"A6",X"65",X"D0",X"00", + X"00",X"00",X"00",X"CC",X"BD",X"D3",X"AA",X"33",X"4F",X"BB",X"AA",X"77",X"6D",X"00",X"00",X"00", + X"00",X"00",X"0C",X"DD",X"33",X"33",X"34",X"5F",X"BB",X"A8",X"87",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"D4",X"44",X"33",X"45",X"5F",X"BB",X"9A",X"8D",X"00",X"00",X"00",X"00",X"00",X"00", + X"0D",X"54",X"55",X"44",X"55",X"6F",X"CA",X"A9",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"D7", + X"66",X"65",X"55",X"56",X"6F",X"BC",X"AD",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"77",X"77", + X"66",X"66",X"66",X"7F",X"0B",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"D7",X"67",X"77", + X"77",X"77",X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"22",X"D8",X"77",X"77",X"77", + X"77",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D3",X"32",X"DE",X"87",X"77",X"77",X"78", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"44",X"3C",X"CE",X"88",X"77",X"77",X"89",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"D5",X"54",X"CC",X"CE",X"E8",X"88",X"88",X"AF",X"FF",X"00", + X"00",X"00",X"00",X"00",X"0D",X"66",X"5C",X"CC",X"CC",X"D8",X"88",X"8A",X"9F",X"FF",X"00",X"00", + X"00",X"00",X"00",X"D7",X"76",X"CC",X"CC",X"CC",X"DD",X"88",X"A9",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"0D",X"88",X"7C",X"CC",X"CC",X"CC",X"CD",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"D9",X"98",X"CC",X"CC",X"CC",X"CC",X"AA",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0D",X"AA", + X"9C",X"CC",X"CC",X"CC",X"AA",X"AA",X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"0B",X"BA",X"BB", + X"BB",X"BB",X"BB",X"BB",X"BF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"BB",X"BB",X"BB", + X"BB",X"BB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"33", + X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"33",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"A9",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"55", + X"AF",X"FF",X"FF",X"FF",X"00",X"00",X"09",X"55",X"9F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"99", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"00", + X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"00",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"33", + X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"83",X"00",X"38",X"FF",X"FF",X"FF",X"00",X"00",X"83",X"00", + X"38",X"FF",X"FF",X"FF",X"00",X"00",X"83",X"00",X"38",X"FF",X"FF",X"FF",X"00",X"00",X"83",X"00", + X"38",X"FF",X"FF",X"FF",X"00",X"00",X"08",X"33",X"8F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"11", + X"1F",X"FF",X"FF",X"FF",X"00",X"00",X"11",X"33",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"13",X"33", + X"31",X"FF",X"FF",X"FF",X"00",X"01",X"13",X"00",X"31",X"1F",X"FF",X"FF",X"00",X"01",X"30",X"00", + X"03",X"1F",X"FF",X"FF",X"00",X"01",X"30",X"00",X"03",X"1F",X"FF",X"FF",X"00",X"01",X"13",X"00", + X"31",X"1F",X"FF",X"FF",X"00",X"00",X"13",X"33",X"31",X"FF",X"FF",X"FF",X"00",X"00",X"11",X"33", + X"11",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"11",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"33",X"33", + X"33",X"FF",X"FF",X"FF",X"00",X"03",X"33",X"33",X"33",X"3F",X"FF",X"FF",X"00",X"03",X"30",X"00", + X"03",X"3F",X"FF",X"FF",X"00",X"33",X"00",X"00",X"00",X"33",X"FF",X"FF",X"00",X"33",X"00",X"00", + X"00",X"33",X"FF",X"FF",X"00",X"33",X"00",X"00",X"00",X"33",X"FF",X"FF",X"00",X"33",X"00",X"00", + X"00",X"33",X"FF",X"FF",X"00",X"03",X"30",X"00",X"03",X"3F",X"FF",X"FF",X"00",X"03",X"33",X"33", + X"33",X"3F",X"FF",X"FF",X"00",X"00",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"33",X"33", + X"33",X"FF",X"FF",X"FF",X"00",X"03",X"38",X"88",X"83",X"3F",X"FF",X"FF",X"00",X"03",X"80",X"00", + X"08",X"3F",X"FF",X"FF",X"00",X"38",X"00",X"00",X"00",X"83",X"FF",X"FF",X"00",X"38",X"00",X"00", + X"00",X"83",X"FF",X"FF",X"00",X"38",X"00",X"00",X"00",X"83",X"FF",X"FF",X"00",X"38",X"00",X"00", + X"00",X"83",X"FF",X"FF",X"00",X"03",X"80",X"00",X"08",X"3F",X"FF",X"FF",X"00",X"03",X"38",X"88", + X"83",X"3F",X"FF",X"FF",X"00",X"00",X"33",X"33",X"33",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"33", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"83",X"33",X"38",X"FF",X"FF",X"FF",X"00",X"08",X"30",X"00", + X"03",X"8F",X"FF",X"FF",X"00",X"83",X"00",X"00",X"00",X"38",X"FF",X"FF",X"00",X"30",X"00",X"00", + X"00",X"03",X"FF",X"FF",X"08",X"30",X"00",X"11",X"00",X"03",X"8F",X"FF",X"08",X"30",X"01",X"00", + X"10",X"03",X"8F",X"FF",X"08",X"30",X"01",X"00",X"10",X"03",X"8F",X"FF",X"08",X"30",X"00",X"11", + X"00",X"03",X"8F",X"FF",X"00",X"30",X"00",X"00",X"00",X"03",X"FF",X"FF",X"00",X"83",X"00",X"00", + X"00",X"38",X"FF",X"FF",X"00",X"08",X"30",X"00",X"03",X"8F",X"FF",X"FF",X"00",X"00",X"83",X"33", + X"38",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"11", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"11",X"11",X"11",X"FF",X"FF",X"FF",X"00",X"01",X"10",X"00", + X"01",X"1F",X"FF",X"FF",X"00",X"11",X"00",X"00",X"00",X"11",X"FF",X"FF",X"00",X"10",X"00",X"88", + X"00",X"01",X"FF",X"FF",X"01",X"10",X"08",X"00",X"80",X"01",X"1F",X"FF",X"01",X"10",X"08",X"00", + X"80",X"01",X"1F",X"FF",X"01",X"10",X"08",X"00",X"80",X"01",X"1F",X"FF",X"01",X"10",X"08",X"00", + X"80",X"01",X"1F",X"FF",X"00",X"10",X"00",X"88",X"00",X"01",X"FF",X"FF",X"00",X"11",X"00",X"00", + X"00",X"11",X"FF",X"FF",X"00",X"01",X"10",X"00",X"01",X"1F",X"FF",X"FF",X"00",X"00",X"11",X"11", + X"11",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"88",X"88", + X"88",X"FF",X"FF",X"FF",X"00",X"08",X"81",X"11",X"18",X"8F",X"FF",X"FF",X"00",X"88",X"10",X"00", + X"01",X"88",X"FF",X"FF",X"08",X"81",X"00",X"00",X"00",X"18",X"8F",X"FF",X"08",X"10",X"00",X"00", + X"00",X"11",X"8F",X"FF",X"88",X"10",X"00",X"00",X"00",X"01",X"88",X"FF",X"88",X"10",X"00",X"00", + X"00",X"01",X"88",X"FF",X"88",X"10",X"00",X"00",X"00",X"01",X"88",X"FF",X"88",X"10",X"00",X"00", + X"00",X"01",X"88",X"FF",X"08",X"10",X"00",X"00",X"00",X"01",X"8F",X"FF",X"08",X"81",X"00",X"00", + X"00",X"18",X"8F",X"FF",X"00",X"88",X"10",X"00",X"01",X"88",X"FF",X"FF",X"00",X"08",X"81",X"11", + X"18",X"8F",X"FF",X"FF",X"00",X"00",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"81",X"11", + X"18",X"FF",X"FF",X"FF",X"00",X"08",X"18",X"88",X"81",X"8F",X"FF",X"FF",X"00",X"81",X"80",X"00", + X"08",X"18",X"FF",X"FF",X"08",X"18",X"00",X"00",X"00",X"81",X"8F",X"FF",X"01",X"80",X"00",X"00", + X"00",X"81",X"8F",X"FF",X"81",X"80",X"00",X"00",X"00",X"08",X"18",X"FF",X"81",X"80",X"00",X"00", + X"00",X"08",X"18",X"FF",X"81",X"80",X"00",X"00",X"00",X"08",X"18",X"FF",X"81",X"80",X"00",X"00", + X"00",X"08",X"18",X"FF",X"01",X"80",X"00",X"00",X"00",X"08",X"1F",X"FF",X"08",X"18",X"00",X"00", + X"00",X"81",X"8F",X"FF",X"00",X"81",X"80",X"00",X"08",X"18",X"FF",X"FF",X"00",X"08",X"18",X"88", + X"81",X"8F",X"FF",X"FF",X"00",X"00",X"81",X"11",X"18",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"11",X"88", + X"11",X"FF",X"FF",X"FF",X"00",X"01",X"88",X"88",X"88",X"1F",X"FF",X"FF",X"00",X"18",X"80",X"00", + X"08",X"81",X"FF",X"FF",X"01",X"88",X"00",X"00",X"00",X"88",X"1F",X"FF",X"01",X"80",X"00",X"00", + X"00",X"08",X"1F",X"FF",X"18",X"80",X"00",X"00",X"00",X"08",X"81",X"FF",X"18",X"80",X"00",X"00", + X"00",X"08",X"81",X"FF",X"18",X"80",X"00",X"00",X"00",X"08",X"81",X"FF",X"18",X"80",X"00",X"00", + X"00",X"08",X"81",X"FF",X"01",X"80",X"00",X"00",X"00",X"08",X"1F",X"FF",X"01",X"88",X"00",X"00", + X"00",X"88",X"1F",X"FF",X"00",X"18",X"80",X"00",X"08",X"81",X"FF",X"FF",X"00",X"01",X"88",X"88", + X"88",X"1F",X"FF",X"FF",X"00",X"00",X"11",X"88",X"11",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"11", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"88",X"88", + X"88",X"FF",X"FF",X"FF",X"00",X"08",X"8A",X"AA",X"A8",X"8F",X"FF",X"FF",X"00",X"88",X"A0",X"00", + X"0A",X"88",X"FF",X"FF",X"08",X"8A",X"00",X"00",X"00",X"A8",X"8F",X"FF",X"08",X"A0",X"00",X"00", + X"00",X"AA",X"8F",X"FF",X"88",X"A0",X"00",X"00",X"00",X"0A",X"88",X"FF",X"88",X"A0",X"00",X"00", + X"00",X"0A",X"88",X"FF",X"88",X"A0",X"00",X"00",X"00",X"0A",X"88",X"FF",X"88",X"A0",X"00",X"00", + X"00",X"0A",X"88",X"FF",X"08",X"A0",X"00",X"00",X"00",X"0A",X"8F",X"FF",X"08",X"8A",X"00",X"00", + X"00",X"A8",X"8F",X"FF",X"00",X"88",X"A0",X"00",X"0A",X"88",X"FF",X"FF",X"00",X"08",X"8A",X"AA", + X"A8",X"8F",X"FF",X"FF",X"00",X"00",X"88",X"88",X"88",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"8A",X"AA", + X"A8",X"FF",X"FF",X"FF",X"00",X"08",X"AB",X"BB",X"BA",X"8F",X"FF",X"FF",X"00",X"8A",X"B0",X"00", + X"0B",X"A8",X"FF",X"FF",X"08",X"AB",X"00",X"00",X"00",X"BA",X"8F",X"FF",X"0A",X"B0",X"00",X"00", + X"00",X"BB",X"AF",X"FF",X"8A",X"B0",X"00",X"00",X"00",X"0B",X"A8",X"FF",X"8A",X"B0",X"00",X"00", + X"00",X"0B",X"A8",X"FF",X"8A",X"B0",X"00",X"00",X"00",X"0B",X"A8",X"FF",X"8A",X"B0",X"00",X"00", + X"00",X"0B",X"A8",X"FF",X"0A",X"B0",X"00",X"00",X"00",X"0B",X"AF",X"FF",X"08",X"AB",X"00",X"00", + X"00",X"BA",X"8F",X"FF",X"00",X"8A",X"B0",X"00",X"0B",X"A8",X"FF",X"FF",X"00",X"08",X"AB",X"BB", + X"BA",X"8F",X"FF",X"FF",X"00",X"00",X"8A",X"AA",X"A8",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"88", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"AA",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AB",X"BB", + X"BA",X"FF",X"FF",X"FF",X"00",X"0A",X"BC",X"CC",X"CB",X"AF",X"FF",X"FF",X"00",X"AB",X"C0",X"00", + X"0C",X"BA",X"FF",X"FF",X"0A",X"BC",X"00",X"00",X"00",X"CB",X"AF",X"FF",X"0B",X"C0",X"00",X"00", + X"00",X"CC",X"BF",X"FF",X"AB",X"C0",X"00",X"00",X"00",X"0C",X"BA",X"FF",X"AB",X"C0",X"00",X"00", + X"00",X"0C",X"BA",X"FF",X"AB",X"C0",X"00",X"00",X"00",X"0C",X"BA",X"FF",X"AB",X"C0",X"00",X"00", + X"00",X"0C",X"BA",X"FF",X"0B",X"C0",X"00",X"00",X"00",X"0C",X"BF",X"FF",X"0A",X"BC",X"00",X"00", + X"00",X"CB",X"AF",X"FF",X"00",X"AB",X"C0",X"00",X"0C",X"BA",X"FF",X"FF",X"00",X"0A",X"BC",X"CC", + X"CB",X"AF",X"FF",X"FF",X"00",X"00",X"AB",X"BB",X"BA",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"AA", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"FF",X"FF",X"FF",X"00",X"0A",X"99",X"99",X"AF",X"FF", + X"FF",X"00",X"A9",X"99",X"88",X"89",X"FF",X"FF",X"0B",X"A9",X"98",X"55",X"58",X"AF",X"FF",X"0A", + X"99",X"88",X"52",X"56",X"9F",X"FF",X"BA",X"99",X"88",X"52",X"25",X"8A",X"FF",X"AA",X"98",X"65", + X"53",X"35",X"69",X"FF",X"23",X"45",X"67",X"89",X"AB",X"CD",X"FF",X"23",X"45",X"67",X"89",X"AB", + X"CD",X"FF",X"23",X"45",X"67",X"89",X"AB",X"CD",X"FF",X"AB",X"BA",X"76",X"54",X"45",X"69",X"FF", + X"BB",X"BA",X"98",X"55",X"56",X"8A",X"FF",X"0A",X"BA",X"99",X"75",X"56",X"9F",X"FF",X"0B",X"BB", + X"A9",X"96",X"69",X"AF",X"FF",X"00",X"AB",X"BA",X"A9",X"99",X"FF",X"FF",X"00",X"0A",X"BB",X"AA", + X"AF",X"FF",X"FF",X"00",X"00",X"BB",X"BB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"FF",X"FF",X"FF",X"00", + X"0A",X"99",X"99",X"AF",X"FF",X"FF",X"00",X"A9",X"99",X"88",X"89",X"FF",X"FF",X"0B",X"A9",X"98", + X"55",X"58",X"AF",X"FF",X"0A",X"99",X"88",X"52",X"56",X"9F",X"FF",X"BA",X"99",X"88",X"52",X"25", + X"8A",X"FF",X"AA",X"98",X"65",X"53",X"35",X"69",X"FF",X"87",X"65",X"43",X"21",X"35",X"7B",X"FF", + X"87",X"65",X"43",X"21",X"35",X"7B",X"FF",X"87",X"65",X"43",X"21",X"35",X"7B",X"FF",X"AB",X"BA", + X"76",X"54",X"45",X"69",X"FF",X"BB",X"BA",X"98",X"55",X"56",X"8A",X"FF",X"0A",X"BA",X"99",X"75", + X"56",X"9F",X"FF",X"0B",X"BB",X"A9",X"96",X"69",X"AF",X"FF",X"00",X"AB",X"BA",X"A9",X"99",X"FF", + X"FF",X"00",X"0A",X"BB",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"BB",X"BB",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA", + X"AA",X"FF",X"FF",X"FF",X"00",X"0A",X"99",X"99",X"AF",X"FF",X"FF",X"00",X"A9",X"99",X"88",X"89", + X"FF",X"FF",X"0B",X"A9",X"98",X"55",X"58",X"AF",X"FF",X"0A",X"99",X"88",X"52",X"56",X"9F",X"FF", + X"BA",X"99",X"88",X"52",X"25",X"8A",X"FF",X"AA",X"98",X"65",X"53",X"35",X"69",X"FF",X"CC",X"BB", + X"A9",X"87",X"54",X"31",X"FF",X"CC",X"BB",X"A9",X"87",X"54",X"31",X"FF",X"CC",X"BB",X"A9",X"87", + X"54",X"31",X"FF",X"AB",X"BA",X"76",X"54",X"45",X"69",X"FF",X"BB",X"BA",X"98",X"55",X"56",X"8A", + X"FF",X"0A",X"BA",X"99",X"75",X"56",X"9F",X"FF",X"0B",X"BB",X"A9",X"96",X"69",X"AF",X"FF",X"00", + X"AB",X"BA",X"A9",X"99",X"FF",X"FF",X"00",X"0A",X"BB",X"AA",X"AF",X"FF",X"FF",X"00",X"00",X"BB", + X"BB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"30", + X"FF",X"32",X"13",X"FF",X"31",X"23",X"FF",X"03",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"10",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"20", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"30",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"40", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"60", + X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"70",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"80", + X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"90",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/sdram.sv b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/sdram.sv new file mode 100644 index 00000000..9f78c393 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/sdram.sv @@ -0,0 +1,355 @@ +// +// sdram.v +// +// sdram controller implementation for the MiST board +// https://github.com/mist-devel/mist-board +// +// Copyright (c) 2013 Till Harbaum +// Copyright (c) 2019 Gyorgy Szombathelyi +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +module sdram ( + + // interface to the MT48LC16M16 chip + inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus + output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus + output reg SDRAM_DQML, // two byte masks + output reg SDRAM_DQMH, // two byte masks + output reg [1:0] SDRAM_BA, // two banks + output SDRAM_nCS, // a single chip select + output SDRAM_nWE, // write enable + output SDRAM_nRAS, // row address select + output SDRAM_nCAS, // columns address select + + // cpu/chipset interface + input init_n, // init signal after FPGA config to initialize RAM + input clk, // sdram clock + + input port1_req, + output reg port1_ack, + input port1_we, + input [23:1] port1_a, + input [1:0] port1_ds, + input [15:0] port1_d, + output reg [15:0] port1_q, + + input [16:1] cpu1_addr, + output reg [15:0] cpu1_q, + input [16:1] cpu2_addr, + output reg [15:0] cpu2_q, + input [16:1] cpu3_addr, + output reg [15:0] cpu3_q, + + input port2_req, + output reg port2_ack, + input port2_we, + input [23:1] port2_a, + input [1:0] port2_ds, + input [15:0] port2_d, + output reg [31:0] port2_q, + + input [16:2] sp_addr, + output reg [31:0] sp_q +); + +localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz +localparam BURST_LENGTH = 3'b001; // 000=1, 001=2, 010=4, 011=8 +localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved +localparam CAS_LATENCY = 3'd2; // 2/3 allowed +localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed +localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write + +localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH}; + +// 64ms/8192 rows = 7.8us -> 842 cycles@108MHz +localparam RFRSH_CYCLES = 10'd842; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +/* + SDRAM state machine for 2 bank interleaved access + 1 word burst, CL2 +cmd issued registered + 0 RAS0 cas1 - data0 read burst terminated + 1 ras0 + 2 data1 returned + 3 CAS0 data1 returned + 4 RAS1 cas0 + 5 ras1 + 6 CAS1 data0 returned +*/ + +localparam STATE_RAS0 = 3'd0; // first state in cycle +localparam STATE_RAS1 = 3'd4; // Second ACTIVE command after RAS0 + tRRD (15ns) +localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY + 1'd1; // CAS phase - 3 +localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 6 +localparam STATE_READ0 = 3'd0;// STATE_CAS0 + CAS_LATENCY + 2'd2; // 7 +localparam STATE_READ1 = 3'd3; +localparam STATE_DS1b = 3'd0; +localparam STATE_READ1b = 3'd4; +localparam STATE_LAST = 3'd6; + +reg [2:0] t; + +always @(posedge clk) begin + t <= t + 1'd1; + if (t == STATE_LAST) t <= STATE_RAS0; +end + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 1ms (32 8Mhz cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [4:0] reset; +reg init = 1'b1; +always @(posedge clk, negedge init_n) begin + if(!init_n) begin + reset <= 5'h1f; + init <= 1'b1; + end else begin + if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1; + init <= !(reset == 0); + end +end + +// --------------------------------------------------------------------- +// ------------------ generate ram control signals --------------------- +// --------------------------------------------------------------------- + +// all possible commands +localparam CMD_INHIBIT = 4'b1111; +localparam CMD_NOP = 4'b0111; +localparam CMD_ACTIVE = 4'b0011; +localparam CMD_READ = 4'b0101; +localparam CMD_WRITE = 4'b0100; +localparam CMD_BURST_TERMINATE = 4'b0110; +localparam CMD_PRECHARGE = 4'b0010; +localparam CMD_AUTO_REFRESH = 4'b0001; +localparam CMD_LOAD_MODE = 4'b0000; + +reg [3:0] sd_cmd; // current command sent to sd ram +reg [15:0] sd_din; +// drive control signals according to current command +assign SDRAM_nCS = sd_cmd[3]; +assign SDRAM_nRAS = sd_cmd[2]; +assign SDRAM_nCAS = sd_cmd[1]; +assign SDRAM_nWE = sd_cmd[0]; + +reg [24:1] addr_latch[3]; +reg [24:1] addr_latch_next[2]; +reg [16:1] addr_last[4]; +reg [16:2] addr_last2[2]; +reg [15:0] din_latch[2]; +reg [1:0] oe_latch; +reg [1:0] we_latch; +reg [1:0] ds[2]; + +reg port1_state; +reg port2_state; + +localparam PORT_NONE = 3'd0; +localparam PORT_CPU1 = 3'd1; +localparam PORT_CPU2 = 3'd2; +localparam PORT_CPU3 = 3'd3; +localparam PORT_SP = 3'd1; +localparam PORT_REQ = 3'd4; + +reg [2:0] next_port[2]; +reg [2:0] port[2]; + +reg refresh; +reg [10:0] refresh_cnt; +wire need_refresh = (refresh_cnt >= RFRSH_CYCLES); + +// PORT1: bank 0,1 +always @(*) begin + if (refresh) begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end else if (port1_req ^ port1_state) begin + next_port[0] = PORT_REQ; + addr_latch_next[0] = { 1'b0, port1_a }; + end else if (cpu1_addr != addr_last[PORT_CPU1]) begin + next_port[0] = PORT_CPU1; + addr_latch_next[0] = { 8'd0, cpu1_addr }; + end else if (cpu2_addr != addr_last[PORT_CPU2]) begin + next_port[0] = PORT_CPU2; + addr_latch_next[0] = { 8'd0, cpu2_addr }; + end else if (cpu3_addr != addr_last[PORT_CPU3]) begin + next_port[0] = PORT_CPU3; + addr_latch_next[0] = { 8'd0, cpu3_addr }; + end else begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end +end + +// PORT1: bank 2,3 +always @(*) begin + if (port2_req ^ port2_state) begin + next_port[1] = PORT_REQ; + addr_latch_next[1] = { 1'b1, port2_a }; + end else if (sp_addr != addr_last2[PORT_SP]) begin + next_port[1] = PORT_SP; + addr_latch_next[1] = { 1'b1, 7'd0, sp_addr, 1'b0 }; + end else begin + next_port[1] = PORT_NONE; + addr_latch_next[1] = addr_latch[1]; + end +end + +always @(posedge clk) begin + + // permanently latch ram data to reduce delays + sd_din <= SDRAM_DQ; + SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ; + { SDRAM_DQMH, SDRAM_DQML } <= 2'b11; + sd_cmd <= CMD_NOP; // default: idle + refresh_cnt <= refresh_cnt + 1'd1; + + if(init) begin + // initialization takes place at the end of the reset phase + if(t == STATE_RAS0) begin + + if(reset == 15) begin + sd_cmd <= CMD_PRECHARGE; + SDRAM_A[10] <= 1'b1; // precharge all banks + end + + if(reset == 10 || reset == 8) begin + sd_cmd <= CMD_AUTO_REFRESH; + end + + if(reset == 2) begin + sd_cmd <= CMD_LOAD_MODE; + SDRAM_A <= MODE; + SDRAM_BA <= 2'b00; + end + end + end else begin + // RAS phase + // bank 0,1 + if(t == STATE_RAS0) begin + addr_latch[0] <= addr_latch_next[0]; + port[0] <= next_port[0]; + { oe_latch[0], we_latch[0] } <= 2'b00; + + if (next_port[0] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[0][22:10]; + SDRAM_BA <= addr_latch_next[0][24:23]; + addr_last[next_port[0]] <= addr_latch_next[0][16:1]; + if (next_port[0] == PORT_REQ) begin + { oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we }; + ds[0] <= port1_ds; + din_latch[0] <= port1_d; + port1_state <= port1_req; + end else begin + { oe_latch[0], we_latch[0] } <= 2'b10; + ds[0] <= 2'b11; + end + end + end + + // bank 2,3 + if(t == STATE_RAS1) begin + refresh <= 1'b0; + addr_latch[1] <= addr_latch_next[1]; + { oe_latch[1], we_latch[1] } <= 2'b00; + port[1] <= next_port[1]; + + if (next_port[1] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[1][22:10]; + SDRAM_BA <= addr_latch_next[1][24:23]; + addr_last2[next_port[1]] <= addr_latch_next[1][16:2]; + if (next_port[1] == PORT_REQ) begin + { oe_latch[1], we_latch[1] } <= { ~port1_we, port1_we }; + ds[1] <= port2_ds; + din_latch[1] <= port2_d; + port2_state <= port2_req; + end else begin + { oe_latch[1], we_latch[1] } <= 2'b10; + ds[1] <= 2'b11; + end + end + + if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin + refresh <= 1'b1; + refresh_cnt <= 0; + sd_cmd <= CMD_AUTO_REFRESH; + end + end + + // CAS phase + if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin + sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[0]; + if (we_latch[0]) begin + SDRAM_DQ <= din_latch[0]; + port1_ack <= port1_req; + end + SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[0][24:23]; + end + + if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin + sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + if (we_latch[1]) begin + SDRAM_DQ <= din_latch[1]; + port2_ack <= port2_req; + end + SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[1][24:23]; + end + + // Data returned + if(t == STATE_READ0 && oe_latch[0]) begin + case(port[0]) + PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end + PORT_CPU1: begin cpu1_q <= sd_din; end + PORT_CPU2: begin cpu2_q <= sd_din; end + PORT_CPU3: begin cpu3_q <= sd_din; end + default: ; + endcase; + end + + if(t == STATE_READ1 && oe_latch[1]) begin + case(port[1]) + PORT_REQ: port2_q[15:0] <= sd_din; + PORT_SP : sp_q[15:0] <= sd_din; + default: ; + endcase; + end + + if(t == STATE_DS1b && oe_latch[1]) { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + + if(t == STATE_READ1b && oe_latch[1]) begin + case(port[1]) + PORT_REQ: begin port2_q[31:16] <= sd_din; port2_ack <= port2_req; end + PORT_SP : begin sp_q[31:16] <= sd_din; end + default: ; + endcase; + end + end +end + +endmodule diff --git a/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/z80ip.v b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/z80ip.v new file mode 100644 index 00000000..4cfb5265 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/Starjack_MiST/rtl/z80ip.v @@ -0,0 +1,59 @@ +// Copyright (c) 2017,19 MiSTer-X + +module Z80IP +( + input reset, + input clk, + output [15:0] adr, + input [7:0] data_in, + output [7:0] data_out, + output m1, + output mx, + output ix, + output rd, + output wr, + input intreq, + output intack, + input nmireq, + output nmiack +); + +wire i_mreq, i_iorq, i_rd, i_wr, i_rfsh, i_m1; + +T80s cpu +( + .CLK(~clk), + .RESET_n(~reset), + .INT_n(~intreq), + .NMI_n(~nmireq), + .MREQ_n(i_mreq), + .IORQ_n(i_iorq), + .RFSH_n(i_rfsh), + .RD_n(i_rd), + .WR_n(i_wr), + .A(adr), + .DI(data_in), + .DO(data_out), + .WAIT_n(1'b1), + .BUSRQ_n(1'b1), + .BUSAK_n(), + .HALT_n(), + .M1_n(i_m1) +); + +wire mreq = (~i_mreq) & (i_rfsh); +wire iorq = ~i_iorq; +wire rdr = ~i_rd; +wire wrr = ~i_wr; + +assign intack = (adr==16'h38) & mx & rdr; +assign nmiack = (adr==16'h66) & mx & rdr; + +assign m1 = ~i_m1; +assign mx = mreq; +assign ix = iorq; +assign rd = rdr; +assign wr = wrr; + +endmodule +