From bfef66d46135d3aface8628920577ab58039c3af Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 31 Oct 2022 15:24:06 +0100 Subject: [PATCH] Tank Battalion --- .../rtl/Blockede_MiST.sv | 4 +- .../Gremlin Blockade Hardware/rtl/blockade.v | 20 +- Arcade_MiST/Namco Tank_Battalion/README.txt | 39 + Arcade_MiST/Namco Tank_Battalion/TankBatt.qpf | 30 + Arcade_MiST/Namco Tank_Battalion/TankBatt.qsf | 189 + Arcade_MiST/Namco Tank_Battalion/clean.bat | 15 + .../Namco Tank_Battalion/rtl/EngineSound.vhd | 164 + .../Namco Tank_Battalion/rtl/TankBatt_MiST.sv | 178 + .../Namco Tank_Battalion/rtl/Tankb_fpga.v | 614 + .../Namco Tank_Battalion/rtl/build_id.tcl | 35 + Arcade_MiST/Namco Tank_Battalion/rtl/clock.v | 29 + Arcade_MiST/Namco Tank_Battalion/rtl/pll.qip | 4 + Arcade_MiST/Namco Tank_Battalion/rtl/pll.v | 376 + Arcade_MiST/Namco Tank_Battalion/rtl/ram.v | 170 + .../Namco Tank_Battalion/rtl/rom/a1.vhd | 150 + .../Namco Tank_Battalion/rtl/rom/b1.vhd | 150 + .../Namco Tank_Battalion/rtl/rom/c1.vhd | 150 + .../Namco Tank_Battalion/rtl/rom/d1.vhd | 150 + .../Namco Tank_Battalion/rtl/rom/explode.txt | 52096 ++++++++++++++++ .../Namco Tank_Battalion/rtl/rom/fire.txt | 21792 +++++++ .../Namco Tank_Battalion/rtl/rom/k3.vhd | 150 + .../Namco Tank_Battalion/rtl/rom/l3.vhd | 38 + .../Namco Tank_Battalion/rtl/sound_FSM.v | 98 + .../Namco Tank_Battalion/rtl/ttl_chips.v | 621 + common/CPU/6502_6510/ALU.v | 108 + common/CPU/6502_6510/cpu.v | 1244 + 26 files changed, 78605 insertions(+), 9 deletions(-) create mode 100644 Arcade_MiST/Namco Tank_Battalion/README.txt create mode 100644 Arcade_MiST/Namco Tank_Battalion/TankBatt.qpf create mode 100644 Arcade_MiST/Namco Tank_Battalion/TankBatt.qsf create mode 100644 Arcade_MiST/Namco Tank_Battalion/clean.bat create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/EngineSound.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/TankBatt_MiST.sv create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/Tankb_fpga.v create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/build_id.tcl create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/clock.v create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/pll.qip create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/pll.v create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/ram.v create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/a1.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/b1.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/c1.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/d1.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/explode.txt create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/fire.txt create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/k3.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/rom/l3.vhd create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/sound_FSM.v create mode 100644 Arcade_MiST/Namco Tank_Battalion/rtl/ttl_chips.v create mode 100644 common/CPU/6502_6510/ALU.v create mode 100644 common/CPU/6502_6510/cpu.v diff --git a/Arcade_MiST/Gremlin Blockade Hardware/rtl/Blockede_MiST.sv b/Arcade_MiST/Gremlin Blockade Hardware/rtl/Blockede_MiST.sv index ff8ae1e2..214dbc09 100644 --- a/Arcade_MiST/Gremlin Blockade Hardware/rtl/Blockede_MiST.sv +++ b/Arcade_MiST/Gremlin Blockade Hardware/rtl/Blockede_MiST.sv @@ -226,8 +226,8 @@ begin dip_overlay_type <= sw[2:1]; dip_boom <= sw[3]; IN_1 <= ~{m_coin1, 2'b0, m_one_player, dip_comotion_lives, dip_boom, 2'b00}; - IN_2 <= ~{m_left2, m_down2, m_right2, m_up2, m_left, m_down, m_right, m_up}; - IN_4 <= ~{m_left4, m_down4, m_right4, m_up4, m_left3, m_down3, m_right3, m_up3}; + IN_2 <= ~{m_left3, m_down3, m_right3, m_up3, m_left, m_down, m_right, m_up}; + IN_4 <= ~{m_left4, m_down4, m_right4, m_up4, m_left4, m_down4, m_right4, m_up4}; end 7'h2: // GAME_HUSTLE begin diff --git a/Arcade_MiST/Gremlin Blockade Hardware/rtl/blockade.v b/Arcade_MiST/Gremlin Blockade Hardware/rtl/blockade.v index bda5c3cf..0056f60c 100644 --- a/Arcade_MiST/Gremlin Blockade Hardware/rtl/blockade.v +++ b/Arcade_MiST/Gremlin Blockade Hardware/rtl/blockade.v @@ -54,6 +54,13 @@ localparam GAME_HUSTLE = 2; localparam GAME_BLASTO = 3; localparam GAME_MINESWEEPER = 4; localparam GAME_MINESWEEPER4 = 5; + +localparam COIN_START_TIMER_WIDTH = 6; +reg [COIN_START_TIMER_WIDTH-1:0] coin_start; + +localparam COIN_LATCH_TIMER_WIDTH = 6; +reg [COIN_LATCH_TIMER_WIDTH-1:0] coin_latch; + // CPU and Video system clock enables // ---------------------------------- @@ -116,7 +123,8 @@ wire WR_N; wire SYNC /*verilator public_flat*/; // CPU reset can originate from system reset signal or coin start signal (only for CoMotion, Hustle, and Blasto) -wire RESET = reset || (game_mode != GAME_BLOCKADE && coin_start > 6'b0); +//wire RESET = reset || (game_mode != GAME_BLOCKADE && coin_start > 6'b0); +wire RESET = reset || (game_mode != GAME_BLOCKADE && coin_start > {COIN_START_TIMER_WIDTH{1'b0}}); // 8080A CPU vm80a cpu @@ -417,9 +425,7 @@ assign audio_r = audio_l; // ------------ wire OUTP1 = OUTP && ADDR[0]; reg coin_last; -reg [5:0] coin_start; reg coin_inserted; -reg [5:0] coin_latch; always @(posedge clk) begin if(reset) @@ -434,10 +440,10 @@ always @(posedge clk) begin begin if(coin_inserted) begin - coin_latch <= 6'b111111; + coin_latch <= {COIN_LATCH_TIMER_WIDTH{1'b1}}; coin_inserted <= 1'b0; end - if(coin_latch > 6'b0) coin_latch <= coin_latch - 1'b1; + if(coin_latch > {COIN_LATCH_TIMER_WIDTH{1'b0}}) coin_latch <= coin_latch - 1'b1; end // When coin input is going high, latch coin inserted and start reset pulse @@ -445,11 +451,11 @@ always @(posedge clk) begin if(coin && !coin_last) begin coin_inserted <= 1'b1; - coin_start <= 6'b111111; + coin_start <= {COIN_START_TIMER_WIDTH{1'b1}}; end // Decrement coin start timer if active - if(coin_start > 6'b0) coin_start <= coin_start - 6'b1; + if(coin_start > {COIN_START_TIMER_WIDTH{1'b0}}) coin_start <= coin_start - 6'b1; end end diff --git a/Arcade_MiST/Namco Tank_Battalion/README.txt b/Arcade_MiST/Namco Tank_Battalion/README.txt new file mode 100644 index 00000000..d0ee2412 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/README.txt @@ -0,0 +1,39 @@ +--------------------------------------------------------------------------------- +-- +-- Arcade version of Tank Battalion for MiSTer from Namco - MiSTerRetroWolf +-- +-- V 1.0 08/20/2022 - Nick Stone +--------------------------------------------------------------------------------- +-- Supports screen and controls rotation on HDMI output. +-- Sound now supported via samples +-- +-- Inputs: +-- UP,DOWN,LEFT,RIGHT : Tank Movements +-- Fire +-- Coin 1 +-- Start 1 Player +-- Start 2 Players (alternate play) +-- Test button: in DIP settings enable test mode +-- and then the test button toggle which bullet is selected +-- +-- +--------------------------------------------------------------------------------- + + *** Attention *** + +ROMs are not included. In order to use this arcade, you need to provide the +correct ROMs. + +To simplify the process .mra files are provided in the releases folder, that +specifies the required ROMs with checksums. The ROMs .zip filename refers to the +corresponding file of the M.A.M.E. project. + +Please refer to https://github.com/MiSTer-devel/Main_MiSTer/wiki/Arcade-Roms for +information on how to setup and use the environment. + +Quickreference for folders and file placement: + +/_Arcade/.mra +/_Arcade/cores/.rbf +/_Arcade/mame/.zip +/_Arcade/hbmame/.zip diff --git a/Arcade_MiST/Namco Tank_Battalion/TankBatt.qpf b/Arcade_MiST/Namco Tank_Battalion/TankBatt.qpf new file mode 100644 index 00000000..ec965046 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/TankBatt.qpf @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2014 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.4 Build 182 03/12/2014 SJ Full Version +# Date created = 16:01:18 November 25, 2020 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "13.1" +DATE = "16:01:18 November 25, 2020" + +# Revisions + +PROJECT_REVISION = "TankBatt" diff --git a/Arcade_MiST/Namco Tank_Battalion/TankBatt.qsf b/Arcade_MiST/Namco Tank_Battalion/TankBatt.qsf new file mode 100644 index 00000000..d8616919 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/TankBatt.qsf @@ -0,0 +1,189 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2014 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.4 Build 182 03/12/2014 SJ Full Version +# Date created = 14:46:10 October 31, 2022 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# TankBatt_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" +set_global_assignment -name SMART_RECOMPILE ON +set_global_assignment -name SYSTEMVERILOG_FILE rtl/TankBatt_MiST.sv +set_global_assignment -name VERILOG_FILE rtl/Tankb_fpga.v +set_global_assignment -name VERILOG_FILE rtl/ttl_chips.v +set_global_assignment -name VERILOG_FILE rtl/sound_FSM.v +set_global_assignment -name VHDL_FILE rtl/EngineSound.vhd +set_global_assignment -name VERILOG_FILE rtl/clock.v +set_global_assignment -name VERILOG_FILE rtl/ram.v +set_global_assignment -name VERILOG_FILE rtl/pll.v +set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/mist/mist.qip" +set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/CPU/T65/T65.qip" +set_global_assignment -name VHDL_FILE rtl/rom/l3.vhd +set_global_assignment -name VHDL_FILE rtl/rom/k3.vhd +set_global_assignment -name VHDL_FILE rtl/rom/a1.vhd +set_global_assignment -name VHDL_FILE rtl/rom/b1.vhd +set_global_assignment -name VHDL_FILE rtl/rom/c1.vhd +set_global_assignment -name VHDL_FILE rtl/rom/d1.vhd + +# 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 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 +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON + +# 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 VERILOG_INPUT_VERSION SYSTEMVERILOG_2005 +set_global_assignment -name VERILOG_SHOW_LMF_MAPPING_MESSAGES OFF +set_global_assignment -name SEARCH_PATH Mist_FPGA/common/CPU/T80/ -tag from_archive +set_global_assignment -name SEARCH_PATH Mist_FPGA/common/Sound/ym2149/ -tag from_archive +set_global_assignment -name SEARCH_PATH Mist_FPGA/common/mist/ -tag from_archive +set_global_assignment -name SEARCH_PATH rtl/ -tag from_archive +set_global_assignment -name SEARCH_PATH rtl/rom/ -tag from_archive +set_global_assignment -name SEARCH_PATH rtl/ttl/ -tag from_archive +set_global_assignment -name TOP_LEVEL_ENTITY TankBatt_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" +set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON +set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON +set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA ON + +# 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/dect.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(TankBatt_MiST) + + # Fitter Assignments + # ================== + 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(TankBatt_MiST) +# ------------------------- +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Namco Tank_Battalion/clean.bat b/Arcade_MiST/Namco Tank_Battalion/clean.bat new file mode 100644 index 00000000..83fb0c47 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/clean.bat @@ -0,0 +1,15 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +del PLLJ_PLLSPE_INFO.txt +del *.qws +del *.ppf +del *.qip +del *.ddb +pause diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/EngineSound.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/EngineSound.vhd new file mode 100644 index 00000000..51d098bb --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/EngineSound.vhd @@ -0,0 +1,164 @@ +-- Motor sound generator for Kee Games Ultra Tank +-- This was originally created for Sprint 2 - Identical circuit +-- Similar circuits are used in a number of other games +-- (c) 2017 James Sweet +-- +-- Original circuit used a 555 configured as an astable oscillator with the frequency controlled by +-- a four bit binary value. The output of this oscillator drives a counter configured to produce an +-- irregular thumping simulating the sound of an engine. +-- +-- This 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 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. + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.STD_LOGIC_ARITH.all; +use IEEE.STD_LOGIC_UNSIGNED.all; + +entity EngineSound is +generic( + constant Freq_tune : integer := 50 -- Value from 0-100 used to tune the overall engine sound frequency + ); +port( + Clk_6 : in std_logic; + Reset : in std_logic; + highrpm : in std_logic; + Motor : out std_logic_vector(5 downto 0) + ); +end EngineSound; + +architecture rtl of EngineSound is + +signal RPM_val : integer range 1 to 350; +signal Ramp_term_unfilt : integer range 1 to 80000; +signal Ramp_Count : integer range 0 to 80000; +signal Ramp_term : integer range 1 to 80000; +signal Freq_mod : integer range 0 to 400; +signal Motor_Clk : std_logic; + +signal Counter_A : std_logic; +signal Counter_B : unsigned(2 downto 0); +signal Counter_A_clk : std_logic; + +signal Motor_prefilter : unsigned(1 downto 0); +signal Motor_filter_t1 : unsigned(3 downto 0); +signal Motor_filter_t2 : unsigned(3 downto 0); +signal Motor_filter_t3 : unsigned(3 downto 0); +signal Motor_filtered : unsigned(5 downto 0); + +signal ena_count : std_logic_vector(10 downto 0) := (others => '0'); +signal ena_3k : std_logic := '0'; + +begin + +Enable: process(clk_6) +begin + if rising_edge(CLK_6) then + ena_count <= ena_count + "1"; + ena_3k <= '0'; + if (ena_count(10 downto 0) = "00000000000") then + ena_3k <= '1'; + end if; + end if; +end process; + +-- The frequency of the oscillator is set by a 4 bit binary value controlled by the game CPU +-- in the real hardware this is a 555 coupled to a 4 bit resistor DAC used to pull the frequency. +-- The output of this DAC has a capacitor to smooth out the frequency variation. +-- The constants assigned to RPM_val can be tweaked to adjust the frequency curve + +Speed_select: process(Clk_6) +begin + if rising_edge(Clk_6) then + if (highrpm = '1') then + RPM_val <= 25; + else + RPM_val <= 50; + end if; + end if; +end process; + + +-- There is a RC filter between the frequency control DAC and the 555 to smooth out the transitions between the +-- 16 possible states. We can simulate a reasonable approximation of that behavior using a linear slope which is +-- not truly accurate but should be close enough. +RC_filt: process(clk_6, ena_3k, ramp_term_unfilt) +begin + if rising_edge(clk_6) then + if ena_3k = '1' then + if ramp_term_unfilt > ramp_term then + ramp_term <= ramp_term + 10; + elsif ramp_term_unfilt = ramp_term then + ramp_term <= ramp_term; + else + ramp_term <= ramp_term - 8; + end if; + end if; + end if; +end process; + + +-- Ramp_term terminates the ramp count, the higher this value, the longer the ramp will count up and the lower +-- the frequency. RPM_val is multiplied by a constant which can be adjusted by changing the value of freq_tune +-- to simulate the function of the frequency adjustment pot in the original hardware. +ramp_term_unfilt <= ((200 - freq_tune) * RPM_val); + +-- Variable frequency oscillator roughly approximating the function of a 555 astable oscillator +Ramp_osc: process(clk_6) +begin + if rising_edge(clk_6) then + motor_clk <= '1'; + ramp_count <= ramp_count + 1; + if ramp_count > ramp_term then + ramp_count <= 0; + motor_clk <= '0'; + end if; + end if; +end process; + + +-- 7492 counter with XOR on two of the outputs creates lumpy engine sound from smooth pulse train +-- 7492 has two sections, one div-by-2 and one div-by-6. +Engine_counter: process(motor_clk, counter_A_clk, counter_B, reset) +begin + if reset = '1' then + Counter_B <= (others => '0'); + elsif rising_edge(motor_clk) then + Counter_B <= Counter_B + '1'; + end if; + Counter_A_clk <= Counter_B(0) xor Counter_B(2); + if reset = '1' then + Counter_A <= '0'; + elsif rising_edge(counter_A_clk) then + Counter_A <= (not Counter_A); + end if; +end process; +motor_prefilter <= ('0' & Counter_B(2)) + ('0' & Counter_B(1)) + ('0' & Counter_A); + +-- Very simple low pass filter, borrowed from MikeJ's Asteroids code +Engine_filter: process(clk_6) +begin + if rising_edge(clk_6) then + if (ena_3k = '1') then + motor_filter_t1 <= ("00" & motor_prefilter) + ("00" & motor_prefilter); + motor_filter_t2 <= motor_filter_t1; + motor_filter_t3 <= motor_filter_t2; + end if; + motor_filtered <= ("00" & motor_filter_t1) + + ('0' & motor_filter_t2 & '0') + + ("00" & motor_filter_t3); + end if; +end process; + +motor <= std_logic_vector(motor_filtered); + +end rtl; \ No newline at end of file diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/TankBatt_MiST.sv b/Arcade_MiST/Namco Tank_Battalion/rtl/TankBatt_MiST.sv new file mode 100644 index 00000000..c5a7a01e --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/TankBatt_MiST.sv @@ -0,0 +1,178 @@ + +module TankBatt_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 +); + +`include "rtl\build_id.v" + +//Todo Sound + +localparam CONF_STR = { + "CENTIPED;;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", +// "O6,Joystick Swap,Off,On;", + "O8,Test Mode,Off,On;", + "O9,Lives,3,2;", + "OCD,Coinage,1 Coin/1 Credit,2 Coins/1 Credit,1 Coin/2 Credits,Freeplay;", + "OAB,Bonus,20000,10000,None,15000;", + "OE,Cabinet,Upright,Cocktail;", + + "T0,Reset;", + "V,v1.50.",`BUILD_DATE +}; + +wire rotate = status[2]; +wire [1:0] scanlines = status[4:3]; +wire blend = status[5]; +wire joyswap = status[6]; + + +wire service = status[8]; +wire cabinet = status[14]; +wire [1:0] coinage = status[13:12]; +wire lives = status[9]; +wire [1:0] bonus = status[13:12]; + +wire [1:0] orientation = 2'b11; + +assign LED = 1'b1; +assign AUDIO_R = AUDIO_L; + +wire clk_6, clk_18, clk_36; +wire pll_locked; +pll pll( + .inclk0(CLOCK_27), + .areset(0), + .c0(clk_36),//36.864 + .c1(clk_18),//18.432 + .c2(clk_6)//6.144 + ); + +wire [63:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [31:0] joystick_0; +wire [31:0] joystick_1; +wire scandoublerD; +wire ypbpr; +wire no_csync; +wire key_pressed; +wire [7:0] key_code; +wire key_strobe; +wire r, g, b; +wire hs, vs, vb, hb; +wire blankn = ~(hb | vb); +wire [15:0] audio; +wire [5:0] motor; +wire resetn = ~(status[0] | buttons[1]); + +Tankb_fpga Tankb_fpga( + .CLK_18M(clk_18), + .CLK_6M(clk_6), + .RESET_n(resetn), + .vid_r(r), + .vid_g(g), + .vid_b(b), + .vid_hs(hs), + .vid_vs(vs), + .vid_hb(hb), + .vid_vb(vb), + .P1(~{service,m_coin2,m_coin1,m_fireA,m_right,m_down,m_left,m_up}), + .P2(~{1'b0,m_two_players,m_one_player,m_fire2A,m_right2,m_down2,m_left2,m_up2}), + .DSW(~{2'b00,lives,bonus,coinage,cabinet}), + .audio(audio) +); + +mist_video #(.COLOR_DEPTH(1), .SD_HCNT_WIDTH(9)) mist_video( + .clk_sys ( clk_36 ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? b : 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 ), + .scanlines ( scanlines ), + .rotate ( {orientation[1],rotate} ), + .ce_divider ( 1'b0 ), + .blend ( blend ), + .scandoubler_disable(scandoublerD ), + .no_csync ( no_csync ), + .ypbpr ( ypbpr ) + ); + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_18 ), + .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 ) + ); + +dac #( + .C_bits(16)) +dac ( + .clk_i(clk_18), + .res_n_i(1), + .dac_i({~audio[15],audio[14:0]}), + .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_18 ), + .key_strobe ( key_strobe ), + .key_pressed ( key_pressed ), + .key_code ( key_code ), + .joystick_0 ( joystick_0 ), + .joystick_1 ( joystick_1 ), + .rotate ( rotate ), + .orientation ( orientation ), + .joyswap ( joyswap ), + .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/Namco Tank_Battalion/rtl/Tankb_fpga.v b/Arcade_MiST/Namco Tank_Battalion/rtl/Tankb_fpga.v new file mode 100644 index 00000000..7455287d --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/Tankb_fpga.v @@ -0,0 +1,614 @@ +module Tankb_fpga( + input CLK_18M, + input CLK_6M, + input RESET_n, + output vid_r, + output vid_g, + output vid_b, + output vid_hs, + output vid_vs, + output vid_cs, + output vid_hb, + output vid_vb, + input [7:0] P1, + input [7:0] P2, + input [7:0] DSW, + output signed [15:0] audio +); + +wire nRESET = (nRESET_PO & RESET_n); + +//power-on reset +reg [5:0] reset_cnt = 0; +wire nRESET_PO = &reset_cnt; +always @(posedge clk) begin + reset_cnt <= reset_cnt + !nRESET_PO; +end +//end power-on reset +//wire & reg setup +wire clk = CLK_18M; +wire PUR = nRESET; +wire A5_1_nq,A6_1_q,A6_1_nq,A6_2_q,A6_2_nq; +wire H1,H2,H4,H8,H16,H32,H64,H128,nH256; +wire A5_2_d=(~H64 & H32); +wire H256=~nH256; +wire B6_ca,C6_ca,E6_ca,D6_ca; +wire nHSYNC; +wire M6Hz=~A6_2_q; +wire nM6PRI=A6_1_nq; +wire D5_2_nq; +wire Phi=H4; +wire nH4_nH8=(~H4 & ~H8); +wire V1,V2,V4,V8,V16,V32,V64,V128,nVSYNC; +wire H256star,nH256star; +wire nCOMPSYNC=(nHSYNC & nVSYNC); +wire nINTACK,nIRQ,VBLANK; +wire F5_1_d=~(V128 & V64 & V32); +wire [7:0] L2_q,K2_d; +wire J2_q; +wire [5:0] J3_q; +wire RBG2; +wire E5_14=!(H4 & H2 & H1); +wire [3:0] D4_2_y; +wire C4_11=(D4_2_y[2] & D4_2_y[0]); +wire [3:0] B2_y,C2_y,B3_y; +wire [11:0] VA; +wire Phi2=Phi; +wire NMION = J4_q[7]; +wire explode = J4_q[5]; + +wire fire = J4_q[4]; +wire motor_hi = J4_q[3]; +wire motor_on = J4_q[2]; +wire nNMI = ~(VBLANK & NMION); + +//end wire & reg setup + +assign vid_hs = ~nHSYNC; +assign vid_vs = ~nVSYNC; +assign vid_hb = H256star; +assign vid_vb = VBLANK; + +////wires +wire nDIPSW,F4_o9,F4_o8,F4_o6,nIN1,nIN0,nWDR,nOUT1,nOUT0; +wire [7:0] rom1a_dout,rom1b_dout,rom1c_dout,rom1d_dout; +wire [7:0] ram1e1j_dout,ram1f1k_dout,ram1h1l_dout,vram_dout,bullet_dout; + +wire DIP_Y,IN1_Y,IN0_Y; + +//start of address decoding + +wire nPhi2,nWO,C4_6,nROM; +assign nROM=!A[13]; +wire [3:0] C3_1_y; + + ls139 icC3_1( + .a(A[11]), + .b(A[12]), + .n_g(nROM), + .y(C3_1_y) + ); + +wire nROM_A1_cs = C3_1_y[0]; +wire nROM_B1_cs = C3_1_y[1]; +wire nROM_C1_cs = C3_1_y[2]; +wire nROM_D1_cs = C3_1_y[3]; + + +wire [3:0] C3_2_y,D4_1_y; +assign nPhi2=~Phi2; +wire E4_3=!(nROM & H2); +assign C4_6=(E4_3 & C3_2_y[1]); + + ls139 icC3_2( + .a(r_w), + .b(1'b0), + .n_g(A[13]), + .y(C3_2_y) + ); + +assign nWO=C3_2_y[0]; + + ls139 icD4_1( + .a(A[10]), + .b(A[11]), + .n_g(C4_6), + .y(D4_1_y) + ); + +wire nVRAM=D4_1_y[2]; +wire nWRAM1=D4_1_y[1]; +wire nWRAM0=D4_1_y[0]; + + ls42 icF4( + .in({D4_1_y[3],nWO,A[4],A[3]}), + .out({F4_o9,F4_o8,nDIPSW,F4_o6,nIN1,nIN0,nWDR,nINTACK,nOUT1,nOUT0}) + ); + +//end address decode + +//start horizontal timer + ls107 icA6_1( + .clear(PUR), + .clk(~clk), + .j(A6_2_nq), + .k(PUR), + .q(A6_1_q), + .qnot(A6_1_nq) + ); + + ls107 icA6_2( + .clear(PUR), + .clk(~clk), + .j(A6_1_q), + .k(PUR), + .q(A6_2_q), + .qnot(A6_2_nq) + ); + + ls74 icA5( + .n_pre1(PUR), + .n_pre2(PUR), + .n_clr1(PUR), + .n_clr2(H256), + .clk1(M6Hz), + .clk2(H16), + .d1(A5_1_nq), + .d2(A5_2_d), + .q1(H1), + .n_q1(A5_1_nq), + .q2(), + .n_q2(nHSYNC) + ); + + ls161 icB6( + .n_clr(PUR), + .clk(M6Hz), + .din(4'b0), + .enp(H1), + .ent(H1), + .n_load(PUR), + .q({H16,H8,H4,H2}), + .rco(B6_ca) + ); + + ls161 icC6( + .n_clr(PUR), + .clk(M6Hz), + .din(4'b0100), + .enp(B6_ca), + .ent(B6_ca), + .n_load(~C6_ca), + .q({nH256,H128,H64,H32}), + .rco(C6_ca) + ); +//end horizontal timer + +//start vertical timer + + ls74 icD5( + .n_pre1(PUR), + .n_pre2(PUR), + .n_clr1(PUR), + .n_clr2(PUR), + .clk1(H8), + .clk2(nHSYNC), + .d1(H256), + .d2(D5_2_nq), + .q1(H256star), + .n_q1(nH256star), + .q2(V1), + .n_q2(D5_2_nq) + ); + + ls161 icD6( + .n_clr(PUR), + .clk(nHSYNC), + .din(4'b1100), + .enp(V1), + .ent(V1), + .n_load(~E6_ca), + .q({V16,V8,V4,V2}), + .rco(D6_ca) + ); + + ls161 icE6( + .n_clr(PUR), + .clk(nHSYNC), + .din(4'b0111), + .enp(D6_ca), + .ent(D6_ca), + .n_load(~E6_ca), + .q({nVSYNC,V128,V64,V32}), + .rco(E6_ca) + ); + +//end vertical timer +//vblank + + ls74 icF5( + .n_pre1(PUR), + .n_pre2(nINTACK), + .n_clr1(PUR), + .n_clr2(PUR), + .clk1(V16), + .clk2(V16), + .d1(F5_1_d), + .d2(1'b0), + .q1(), + .n_q1(VBLANK), + .q2(nIRQ), + .n_q2() + ); + +//end vblank +//start screen render 3 + +wire [7:0] dsp_din; + + ls273 icL2( + .d(dsp_din), + .clk(H4), + .res(PUR), + .q(L2_q) + ); + +k3 k3( + .clk(clk), + .addr({L2_q,V4,V2,V1}), + .data(K2_d) +); + + ls166 icJ2( + .clk(M6Hz), + .load(C4_11), + .in(K2_d), + .out(J2_q) + ); + +//end of screen render 3 +//start of screen render 4 + + ls174 icJ3( + .d(L2_q[7:2]), + .clk(C4_11), + .mr(PUR), + .q(J3_q) + ); + +wire vid_i; +l3 l3( + .clk(clk), + .addr({J3_q[5:0],E3_q,J2_q}), + .data({vid_b,vid_g,vid_r,vid_i}) +); + +//end of screen render 4 +//screen render 1a + + ls139 icD4_2( + .a(H256), + .b(H256star), + .n_g(E5_14), + .y(D4_2_y) + ); + +//end of screen render 1a +//start of address buffers +wire C4_3=(1'b1 & H256);//nPhi2 - 1'b1 + + ls157 icB2( + .i0({4{1'b0}}), + .i1({PUR,1'b0,V128,V64}), + .n_e(C4_3),//1'b0 + .s(1'b1), + .z(B2_y) + ); + +assign VA[11]=B2_y[3]; +assign VA[10]=B2_y[2]; +assign VA[9]=B2_y[1]; +assign VA[8]=B2_y[0]; + + ls157 icC2( + .i0({4{1'b0}}), + .i1({V32,V16,V8,H128}), + .n_e(C4_3),// + .s(1'b1), + .z(C2_y) + ); + +assign VA[7]=C2_y[3]; +assign VA[6]=C2_y[2]; +assign VA[5]=C2_y[1]; +assign VA[4]=C2_y[0]; + + ls157 icB3( + .i0({4{1'b0}}), + .i1({H64,H32,H16,H8}), + .n_e(1'b0), + .s(1'b1), + .z(B3_y) + ); + +assign VA[3]=B3_y[3]; +assign VA[2]=B3_y[2]; +assign VA[1]=B3_y[1]; +assign VA[0]=B3_y[0]; + +//end of address buffers +//start of video out + +assign vid_cs = nCOMPSYNC; + +//end of video out +//start of cpuclk +wire cpu_clken; +clock cpu_clk1( + .clk(clk), + .rst_n(nRESET), + .Phi2(Phi2), + .cpu_clken(cpu_clken) + ); +//end of cpuclk +//CPU 6502 +wire [15:0] A; +wire r_w; +wire [7:0] cpudata_in,cpudata_out; + +T65 T65( + .Res_n(nRESET), + .Enable(cpu_clken), + .Clk(clk), + .Rdy(1), + .IRQ_n(nIRQ), + .NMI_n(nNMI), + .R_W_n(r_w), + .A(A), + .DI(cpudata_in), + .DO(cpudata_out) + ); + +//end of CPU 6502 +//start of ROMs + +a1 a1( + .clk(clk), + .addr(A[10:0]), + .data(rom1a_dout) +); + +b1 b1( + .clk(clk), + .addr(A[10:0]), + .data(rom1b_dout) +); + +c1 c1( + .clk(clk), + .addr(A[10:0]), + .data(rom1c_dout) +); + +d1 d1( + .clk(clk), + .addr(A[10:0]), + .data(rom1d_dout) +); + +//end of ROMs +//start RAMs + + ram2114_DP icE1_J1( //a is cpu side, b is display side - WRAM0 + .data_a(cpudata_out), + .data_b(), + .addr_a(A[10:0]), + .addr_b(VA[10:0]), + .we_a(!nWO & !nWRAM0), + .we_b(1'b0), + .clk(clk), + .q_a(ram1e1j_dout), + .q_b(bullet_dout) + ); + + ram2114 icF1_K1( + .data(cpudata_out), + .addr(A[10:0]), + .we(!nWO & !nWRAM1), + .clk(clk), + .q(ram1f1k_dout) + ); + + ram2114_DP icH1_L1( //a is cpu side, b is display side + .data_a(cpudata_out), + .data_b(), + .addr_a(A[10:0]), + .addr_b(VA[10:0]), + .we_a(!nWO & !nVRAM), + .we_b(1'b0), + .clk(clk), + .q_a(ram1h1l_dout), + .q_b(vram_dout) +); + +//end RAMs +//start of Address muxing + +assign cpudata_in = !nROM_A1_cs ? rom1a_dout : + !nROM_B1_cs ? rom1b_dout : + !nROM_C1_cs ? rom1c_dout : + !nROM_D1_cs ? rom1d_dout : + !nWRAM0 ? ram1e1j_dout : + !nWRAM1 ? ram1f1k_dout : + !nVRAM ? ram1h1l_dout : + !nDIPSW ? {DIP_Y,7'b0000000} : + !nIN0 ? {IN0_Y,7'b0000000} : + !nIN1 ? {IN1_Y,7'b0000000} : + 8'hFF; + +wire nWRAM0_VA = (VA[11:4] == 8'b00000000); +wire nVRAM_VA = (VA[11:10] == 2'b10); + +assign dsp_din = nWRAM0_VA ? bullet_dout : + nVRAM_VA ? vram_dout : + 8'hFF; + +//end of Address muxing +//bullet render 2 + +wire F3_out,E4_11,H3_ca; +wire [3:0] H3_sigma,H2_sigma; +assign F3_out=!(H256 & H2_sigma[3] & H2_sigma[2] & H2_sigma[1] & H2_sigma[0] & H3_sigma[3] & H3_sigma[2] & E4_11); + + ls283 icH3( + .a({V8,V4,V2,V1}), + .b(L2_q[3:0]), + .c_in(1'b0), + .sum(H3_sigma), + .c_out(H3_ca) + ); + + ls283 icH2( + .a({V128,V64,V32,V16}), + .b(L2_q[7:4]), + .c_in(H3_ca), + .sum(H2_sigma), + .c_out() + ); + +wire D2_d,E3_1_nq,E3_q; +assign E4_11=!(H3_sigma[1] & H3_sigma[0]); + + ls74 icE3( + .n_pre1(PUR), + .n_pre2(PUR), + .n_clr1(PUR), + .n_clr2(nH256star), + .clk1(H8), + .clk2(nM6PRI), + .d1(F3_out), + .d2(D2_d), + .q1(), + .n_q1(E3_1_nq), + .q2(E3_q), + .n_q2() + ); + +wire E4_6,E5_out; +assign E4_6=!(H2 & H1); +assign E5_out=!(E3_1_nq & nH4_nH8 & E4_6); + +//end of bullet render 2 +//bullet render 1 + +wire [3:0] F2_q,E2_q; +wire F2_ca; +wire C5_3=(H256star & E5_out); + +ls163 icF2( + .n_clr(D4_2_y[2]), + .clk(M6Hz), + .din(L2_q[3:0]), + .enp(1'b1), + .ent(1'b1), + .n_load(D4_2_y[3]), + .q(F2_q), + .rco(F2_ca) + ); + + ls163 icE2( + .n_clr(D4_2_y[2]), + .clk(M6Hz), + .din(L2_q[7:4]), + .enp(F2_ca), + .ent(F2_ca), + .n_load(D4_2_y[3]), + .q(E2_q), + .rco() + ); + + ram8125 icD2( + .di(H256star), + .addr({E2_q,F2_q}), + .we(!M6Hz), + .clk(clk), + .cs(!C5_3), + .q(D2_d) + ); + +//end of bullet render 1 +//start of peripherals + + ls251 icF7( + .CBA(A[2:0]), + .s(nDIPSW), + .D(DSW), + .Y(DIP_Y), + .W() + ); + + ls251 icD7( + .CBA(A[2:0]), + .s(nIN1), + .D(P2), + .Y(IN1_Y), + .W() + ); + + ls251 icE7( + .CBA(A[2:0]), + .s(nIN0), + .D(P1), + .Y(IN0_Y), + .W() + ); + +wire [7:0] J4_q; + + ls259 icJ4( + .A(A[2:0]), + .nE(nOUT1), + .nC(nRESET), + .D(cpudata_out[0]), + .Q(J4_q) + ); + +//end of peripherals +//start of sound + +wire [15:0] wav1_amp; +wire [15:0] wav2_amp; +wire [15:0] wav3_amp; + + sound #(52095,"rom/explode.txt") wav1 + ( + .clk(CLK_18M), + .trigger(explode),//needs to be the explosion latch + .RESET_n(RESET_n), + .sound_out(wav1_amp) + ); + + sound #(21791,"rom/fire.txt") wav2 + ( + .clk(CLK_18M), + .trigger(fire),//needs to be the fire latch + .RESET_n(RESET_n), + .sound_out(wav2_amp) + ); + +EngineSound EngineSound( + .Clk_6(CLK_6M), + .Reset(motor_on), + .highrpm(motor_hi), + .Motor(wav3_amp[14:9]) + ); + +// Audio mixer +// ----------- +// - Combine discrete audio circuit and wave output, then invert +wire signed [15:0] sound_combined = 16'hFFFF - (wav1_amp + wav2_amp + wav3_amp); +assign audio = sound_combined; //can just use sound combined if no pause + +//end of sound + +endmodule \ No newline at end of file diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/build_id.tcl b/Arcade_MiST/Namco Tank_Battalion/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/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/Namco Tank_Battalion/rtl/clock.v b/Arcade_MiST/Namco Tank_Battalion/rtl/clock.v new file mode 100644 index 00000000..cdc89905 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/clock.v @@ -0,0 +1,29 @@ +module clock( + input clk, + input rst_n, + input Phi2, + output cpu_clken + ); + +wire ff1_out; + +ls74 LS74 +( + .n_pre1(1'b1), + .n_pre2(), + .n_clr1(1'b1), + .n_clr2(), + .clk1(clk), + .clk2(), + .d1(Phi2), + .d2(), + .q1(ff1_out), + .q2(), + .n_q1(), + .n_q2() +); + +wire int1 = (Phi2 ^ ff1_out); +assign cpu_clken = (Phi2 & int1); + +endmodule diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/pll.qip b/Arcade_MiST/Namco Tank_Battalion/rtl/pll.qip new file mode 100644 index 00000000..afd958be --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/pll.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.v"] +set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.ppf"] diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/pll.v b/Arcade_MiST/Namco Tank_Battalion/rtl/pll.v new file mode 100644 index 00000000..d7fbe2d0 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/pll.v @@ -0,0 +1,376 @@ +// megafunction wizard: %ALTPLL% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altpll + +// ============================================================ +// File Name: pll.v +// Megafunction Name(s): +// altpll +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 13.1.4 Build 182 03/12/2014 SJ Full Version +// ************************************************************ + + +//Copyright (C) 1991-2014 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 ( + areset, + inclk0, + c0, + c1, + c2, + locked); + + input areset; + input inclk0; + output c0; + output c1; + output c2; + output locked; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_off +`endif + tri0 areset; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_on +`endif + + wire [4:0] sub_wire0; + wire sub_wire2; + wire [0:0] sub_wire7 = 1'h0; + wire [2:2] sub_wire4 = sub_wire0[2:2]; + 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 c2 = sub_wire4; + wire sub_wire5 = inclk0; + wire [1:0] sub_wire6 = {sub_wire7, sub_wire5}; + + altpll altpll_component ( + .areset (areset), + .inclk (sub_wire6), + .clk (sub_wire0), + .locked (sub_wire2), + .activeclock (), + .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 = 52, + altpll_component.clk0_duty_cycle = 50, + altpll_component.clk0_multiply_by = 71, + altpll_component.clk0_phase_shift = "0", + altpll_component.clk1_divide_by = 375, + altpll_component.clk1_duty_cycle = 50, + altpll_component.clk1_multiply_by = 256, + altpll_component.clk1_phase_shift = "0", + altpll_component.clk2_divide_by = 508, + altpll_component.clk2_duty_cycle = 50, + altpll_component.clk2_multiply_by = 71, + altpll_component.clk2_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", + 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_USED", + 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_USED", + 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 "52" +// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "3" +// Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "508" +// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "36.865383" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "18.431999" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "3.773622" +// 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 "ps" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps" +// 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: MIRROR_CLK2 STRING "0" +// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "71" +// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "2" +// Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "71" +// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "36.86400000" +// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "18.43200000" +// Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "3.77000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "1" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 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_SHIFT2 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 "ps" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg" +// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1" +// 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.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: STICKY_CLK2 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_CLK2 STRING "1" +// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA2 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 "52" +// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "71" +// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "375" +// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "256" +// Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "508" +// Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "71" +// Retrieval info: CONSTANT: CLK2_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_USED" +// 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_USED" +// 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: areset 0 0 0 0 INPUT GND "areset" +// 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: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2" +// 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: @areset 0 0 0 0 areset 0 0 0 0 +// 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: c2 0 0 0 0 @clk 0 0 1 2 +// Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_bb.v FALSE +// Retrieval info: LIB_FILE: altera_mf +// Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/ram.v b/Arcade_MiST/Namco Tank_Battalion/rtl/ram.v new file mode 100644 index 00000000..6620edca --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/ram.v @@ -0,0 +1,170 @@ +module ram2114 +( + input [7:0] data, + input [10:0] addr, + input we,clk, + output [7:0] q +); + + reg [7:0] ram[2047:0]; + + reg [10:0] addr_reg; + +//RAM initialization Option 1 - Fill + initial + begin : INIT + integer i; + for(i = 0; i < 2048; i = i + 1) + ram[i] = {8{1'b0}}; + end + + always @ (posedge clk) + begin + // Write + if (we)//! + ram[addr] <= data; + + addr_reg <= addr; + end + + assign q = ram[addr_reg]; + +endmodule + +module ram2114_DP +( + input [7:0] data_a, data_b, + input [10:0] addr_a, addr_b, + input we_a, we_b, clk, + output reg [7:0] q_a, q_b +); + + // Declare the RAM variable + reg [7:0] ram[2047:0]; + + initial + begin : INIT + integer i; + for(i = 0; i < 2048; i = i + 1) + ram[i] = {8{1'b0}}; + end + + // Port A + always @ (posedge clk) + begin + if (we_a) //! + begin + ram[addr_a] <= data_a; + q_a <= data_a; + end + else + begin + q_a <= ram[addr_a]; + end + end + + // Port B + always @ (posedge clk) + begin + if (we_b) // + begin + ram[addr_b] <= data_b; + q_b <= data_b; + end + else + begin + q_b <= ram[addr_b]; + end + end + +endmodule +//New Modules +module ram8125 +( + input di, + input [7:0] addr, + input we,clk,cs, + output q +); + + reg ram[0:1023]; + + reg [7:0] addr_reg; + + initial + begin : INIT + integer i; + for(i = 0; i < 1024; i = i + 1) + ram[i] = 1'b0; + end + + always @ (posedge clk) + begin + // Write + if (we && cs) + ram[addr] <= di; + + addr_reg <= addr; + end + + assign q = ram[addr_reg]; + +endmodule +/*============================================================================ + Generic single-port RAM module + + Author: Jim Gregory - https://github.com/JimmyStones/ + Version: 1.0 + Date: 2022-01-28 + + This program 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 program 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 . +===========================================================================*/ + +`timescale 1 ps / 1 ps + +module spram # ( + parameter address_width = 8, + parameter data_width = 8, + parameter init_file= "" +) +( + input clk, + input [(address_width-1):0] address, + input [(data_width-1):0] data, + output reg [(data_width-1):0] q, + input wren +); + + localparam ramLength = (2**address_width); + + reg [(data_width-1):0] mem [ramLength-1:0]; + + initial begin + if (init_file>0) $readmemh(init_file, mem); + end + + always @(posedge clk) + begin + if (wren) + begin + mem[address] <= data; + q <= data; + end + else + begin + q <= mem[address]; + end + end + +endmodule \ No newline at end of file diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/rom/a1.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/a1.vhd new file mode 100644 index 00000000..bcd41f36 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/a1.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity a1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(10 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of a1 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"E6",X"0A",X"07",X"B0",X"B0",X"B5",X"BC",X"B2",X"B1",X"C4",X"E6",X"0A",X"07",X"C4",X"B8",X"B7", + X"B9",X"C2",X"C0",X"C5",X"E8",X"0A",X"09",X"B0",X"B0",X"B0",X"BE",X"B9",X"BF",X"B3",X"B0",X"A1", + X"E8",X"0A",X"09",X"B0",X"B0",X"C3",X"BE",X"B9",X"BF",X"B3",X"B0",X"A2",X"C8",X"09",X"09",X"B0", + X"C4",X"B9",X"B4",X"B5",X"C2",X"B3",X"B0",X"A1",X"C8",X"09",X"09",X"C3",X"C4",X"B9",X"B4",X"B5", + X"C2",X"B3",X"B0",X"A2",X"E8",X"0A",X"12",X"B0",X"B0",X"B0",X"B0",X"B0",X"B0",X"B0",X"B0",X"B0", + X"C9",X"B1",X"BC",X"C0",X"B0",X"B5",X"B5",X"C2",X"B6",X"EA",X"0A",X"05",X"C3",X"C5",X"BE",X"BF", + X"B2",X"8A",X"09",X"05",X"B0",X"B0",X"A0",X"A0",X"A0",X"CA",X"09",X"07",X"B7",X"BE",X"B9",X"B8", + X"C4",X"BF",X"BE",X"EC",X"0A",X"04",X"BB",X"BE",X"B1",X"C4",X"3B",X"0B",X"14",X"A0",X"A8",X"A9", + X"A1",X"B0",X"B4",X"B5",X"C4",X"B9",X"BD",X"B9",X"BC",X"B0",X"BF",X"B3",X"BD",X"B1",X"BE",X"B0", + X"AC",X"40",X"0B",X"03",X"B0",X"B0",X"B0",X"E0",X"08",X"03",X"B0",X"B0",X"B0",X"5F",X"0B",X"03", + X"B0",X"B0",X"B0",X"40",X"0B",X"03",X"C0",X"C5",X"A1",X"E0",X"08",X"03",X"C0",X"C5",X"A2",X"5F", + X"0B",X"03",X"D2",X"F5",X"F0",X"40",X"0B",X"16",X"C0",X"C5",X"A2",X"B0",X"B0",X"B0",X"B5",X"C2", + X"BF",X"B3",X"C3",X"B0",X"B8",X"B7",X"B9",X"B8",X"B0",X"B0",X"B0",X"C0",X"C5",X"A1",X"5F",X"0B", + X"16",X"D1",X"F5",X"F0",X"E0",X"E0",X"E0",X"E8",X"E9",X"E7",X"E8",X"E0",X"F3",X"E3",X"EF",X"F2", + X"E5",X"E0",X"E0",X"E0",X"D2",X"F5",X"F0",X"7F",X"0B",X"09",X"C9",X"B1",X"BC",X"C0",X"B0",X"B5", + X"B5",X"C2",X"B6",X"7F",X"0B",X"06",X"C4",X"B9",X"B4",X"B5",X"C2",X"B3",X"F0",X"0A",X"11",X"BE", + X"BF",X"C4",X"C4",X"C5",X"B2",X"B0",X"C4",X"C2",X"B1",X"C4",X"C3",X"B0",X"B8",X"C3",X"C5",X"C0", + X"72",X"0B",X"18",X"C3",X"C4",X"C0",X"B0",X"A0",X"A0",X"A0",X"A0",X"B0",X"B0",X"C2",X"BF",X"B6", + X"B0",X"BB",X"BE",X"B1",X"C4",X"B0",X"C3",X"C5",X"BE",X"BF",X"B2",X"D6",X"0A",X"0E",X"0F",X"0E", + X"0D",X"0C",X"B0",X"DF",X"DE",X"DD",X"DC",X"AF",X"AE",X"AD",X"B0",X"AC",X"B6",X"09",X"03",X"BF", + X"C7",X"C4",X"6E",X"0A",X"05",X"B4",X"BE",X"C5",X"BF",X"C2",X"96",X"0A",X"0A",X"B5",X"BE",X"BF", + X"B0",X"C2",X"B5",X"C9",X"B1",X"BC",X"C0",X"58",X"0A",X"07",X"CB",X"B0",X"C9",X"B4",X"B1",X"B5", + X"C2",X"11",X"0A",X"05",X"F2",X"EF",X"F5",X"EE",X"E4",X"89",X"0A",X"0A",X"F0",X"EC",X"E1",X"F9", + X"E5",X"F2",X"E0",X"F4",X"F7",X"EF",X"67",X"0A",X"07",X"F2",X"E5",X"E1",X"E4",X"F9",X"E0",X"FB", + X"67",X"0A",X"07",X"BE",X"BF",X"B9",X"C3",X"C3",X"B9",X"BD",X"2A",X"0B",X"13",X"C3",X"BB",X"BE", + X"B1",X"C4",X"B0",X"C9",X"BD",X"B5",X"BE",X"B5",X"B0",X"C9",X"BF",X"C2",X"C4",X"C3",X"B5",X"B4", + X"CD",X"0A",X"0E",X"81",X"83",X"B0",X"B0",X"C2",X"C5",X"BF",X"B0",X"B4",X"BE",X"B5",X"B6",X"B5", + X"B4",X"4C",X"09",X"02",X"80",X"82",X"15",X"0B",X"11",X"C3",X"C4",X"C0",X"B0",X"B0",X"B0",X"B0", + X"B0",X"B0",X"5D",X"5F",X"B0",X"B0",X"BB",X"BE",X"B1",X"C4",X"54",X"0A",X"02",X"5C",X"5E",X"59", + X"0A",X"07",X"DF",X"DE",X"DD",X"DC",X"AF",X"AE",X"AD",X"98",X"0A",X"04",X"B5",X"BD",X"B1",X"B7", + X"D8",X"09",X"04",X"C2",X"B5",X"C6",X"BF",X"87",X"0A",X"04",X"EF",X"F6",X"E5",X"F2",X"C7",X"09", + X"04",X"E7",X"E1",X"ED",X"E5",X"07",X"06",X"04",X"05",X"03",X"04",X"01",X"00",X"04",X"07",X"05", + X"04",X"01",X"00",X"04",X"03",X"00",X"04",X"7A",X"64",X"25",X"64",X"D0",X"63",X"7B",X"63",X"26", + X"63",X"D1",X"62",X"7C",X"62",X"27",X"62",X"CE",X"64",X"79",X"64",X"24",X"64",X"CF",X"63",X"7A", + X"63",X"25",X"63",X"D0",X"62",X"7B",X"62",X"00",X"06",X"00",X"00",X"01",X"80",X"03",X"E6",X"67", + X"F0",X"F9",X"99",X"FC",X"3E",X"60",X"03",X"00",X"00",X"00",X"C0",X"00",X"67",X"30",X"FF",X"99", + X"C0",X"3F",X"E6",X"70",X"00",X"19",X"9C",X"C0",X"06",X"67",X"33",X"99",X"99",X"CC",X"26",X"06", + X"00",X"09",X"81",X"80",X"0E",X"67",X"F9",X"F0",X"01",X"FE",X"7C",X"00",X"00",X"00",X"0F",X"80", + X"00",X"03",X"E6",X"67",X"F0",X"F9",X"99",X"FC",X"00",X"66",X"03",X"00",X"19",X"80",X"C3",X"3E", + X"67",X"30",X"CF",X"99",X"CC",X"00",X"06",X"00",X"00",X"01",X"80",X"00",X"00",X"08",X"00",X"00", + X"02",X"00",X"03",X"FC",X"9F",X"30",X"FF",X"27",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"E6",X"67",X"30",X"F9",X"99",X"CC",X"3E",X"66",X"03",X"00",X"19",X"80",X"C0",X"06",X"67",X"F3", + X"99",X"99",X"FC",X"26",X"06",X"00",X"09",X"81",X"80",X"0E",X"67",X"FC",X"F0",X"19",X"FF",X"3C", + X"00",X"06",X"00",X"00",X"01",X"80",X"03",X"FE",X"67",X"F0",X"FF",X"99",X"FC",X"00",X"00",X"00", + X"00",X"00",X"00",X"03",X"FC",X"9C",X"F0",X"FF",X"27",X"3C",X"00",X"08",X"00",X"00",X"02",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"F3",X"FC",X"F0",X"FC",X"FF",X"3C",X"00",X"0C", + X"00",X"00",X"03",X"00",X"03",X"CC",X"CF",X"F0",X"F3",X"33",X"FC",X"3C",X"CC",X"00",X"00",X"03", + X"00",X"00",X"00",X"CF",X"F3",X"93",X"33",X"FC",X"24",X"C0",X"00",X"09",X"30",X"00",X"0E",X"4C", + X"CF",X"F0",X"00",X"33",X"FC",X"00",X"0C",X"FF",X"0F",X"FF",X"00",X"03",X"FF",X"C0",X"00",X"00", + X"33",X"9C",X"00",X"0C",X"E7",X"0F",X"33",X"39",X"C3",X"CC",X"CE",X"70",X"F3",X"33",X"9C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"80",X"00",X"00",X"20",X"00",X"00", + X"08",X"00",X"00",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"18",X"00",X"00",X"06", + X"00",X"03",X"F8",X"1F",X"F0",X"FE",X"07",X"FC",X"00",X"18",X"00",X"00",X"06",X"00",X"03",X"F9", + X"9F",X"F0",X"FE",X"67",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7E",X"67",X"F3",X"9F", + X"99",X"FC",X"20",X"06",X"00",X"08",X"01",X"80",X"0E",X"7E",X"67",X"F0",X"1F",X"99",X"FC",X"00", + X"00",X"00",X"00",X"00",X"00",X"03",X"F9",X"9F",X"F0",X"FE",X"67",X"FC",X"00",X"18",X"00",X"00", + X"06",X"00",X"03",X"F8",X"1F",X"F0",X"FE",X"07",X"FC",X"00",X"18",X"00",X"00",X"06",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"FF",X"F8",X"01",X"00",X"00",X"00",X"40",X"00",X"00",X"1C",X"FF",X"86",X"00",X"00",X"01", + X"40",X"00",X"00",X"73",X"9F",X"FE",X"7C",X"20",X"08",X"00",X"08",X"02",X"00",X"0E",X"7F",X"F9", + X"F0",X"00",X"00",X"1C",X"00",X"00",X"05",X"07",X"3F",X"E1",X"81",X"00",X"00",X"00",X"40",X"00", + X"00",X"33",X"FF",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",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"03",X"CF",X"3C",X"F0",X"F3", + X"CF",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"CF",X"3C",X"F0",X"F3",X"CF",X"3C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"4F",X"3C",X"F3",X"93",X"CF",X"3C",X"24",X"00",X"00",X"09", + X"00",X"00",X"0E",X"4F",X"3C",X"F0",X"13",X"CF",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"CF",X"3C",X"F0",X"F3",X"CF",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"CF",X"3C",X"F0", + X"F3",X"CF",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"CC",X"F3",X"30",X"F3",X"3C",X"CC",X"00",X"C0",X"33",X"00",X"30",X"0C",X"C3",X"FC",X"CF", + X"30",X"FF",X"33",X"CC",X"00",X"0C",X"00",X"00",X"03",X"00",X"00",X"7F",X"CF",X"F3",X"9F",X"F3", + X"FC",X"20",X"00",X"00",X"08",X"00",X"00",X"0E",X"7F",X"F3",X"F0",X"1F",X"FC",X"FC",X"00",X"03", + X"00",X"00",X"00",X"C0",X"03",X"FF",X"33",X"F0",X"FF",X"CC",X"FC",X"00",X"30",X"00",X"00",X"0C", + X"00",X"03",X"33",X"3C",X"F0",X"CC",X"CF",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"01",X"01",X"00",X"00",X"00",X"02", + X"03",X"02",X"00",X"03",X"00",X"00",X"00",X"00",X"01",X"01",X"02",X"03",X"01",X"00",X"00",X"00", + X"01",X"01",X"02",X"03",X"01",X"00",X"00",X"02",X"01",X"02",X"01",X"03",X"01",X"00",X"00",X"01", + X"02",X"02",X"02",X"02",X"02",X"00",X"00",X"01",X"02",X"02",X"02",X"02",X"02",X"00",X"00",X"02", + X"02",X"03",X"03",X"02",X"02",X"00",X"00",X"02",X"02",X"03",X"02",X"02",X"03",X"00",X"00",X"00", + X"01",X"01",X"02",X"03",X"01",X"00",X"00",X"00",X"01",X"01",X"02",X"03",X"01",X"00",X"00",X"02", + X"01",X"02",X"01",X"03",X"01",X"00",X"00",X"00",X"02",X"02",X"02",X"02",X"02",X"00",X"00",X"00", + X"02",X"02",X"02",X"02",X"02",X"00",X"00",X"02",X"02",X"03",X"03",X"02",X"02",X"00",X"00",X"01", + X"02",X"02",X"02",X"02",X"02",X"00",X"00",X"01",X"02",X"02",X"02",X"02",X"02",X"00",X"00",X"02", + X"02",X"03",X"03",X"02",X"02",X"00",X"00",X"01",X"02",X"03",X"02",X"02",X"03",X"00",X"00",X"03", + X"04",X"05",X"05",X"04",X"05",X"06",X"06",X"05",X"06",X"07",X"07",X"07",X"07",X"07",X"07",X"03", + X"02",X"02",X"01",X"02",X"02",X"01",X"01",X"01",X"01",X"01",X"01",X"02",X"01",X"02",X"01",X"20", + X"20",X"30",X"60",X"50",X"30",X"30",X"50",X"40",X"80",X"60",X"A0",X"50",X"80",X"80",X"A0",X"20", + X"40",X"40",X"60",X"40",X"60",X"70",X"90",X"60",X"70",X"90",X"B0",X"80",X"A8",X"C8",X"F4",X"03", + X"02",X"02",X"01",X"01",X"03",X"01",X"03",X"01",X"02",X"03",X"04",X"02",X"02",X"02",X"02",X"F0", + X"F0",X"F0",X"F0",X"F4",X"F0",X"E8",X"E0",X"F0",X"C8",X"F0",X"C8",X"01",X"00",X"01",X"01",X"01", + X"00",X"00",X"01",X"01",X"01",X"01",X"00",X"01",X"01",X"01",X"01",X"00",X"00",X"01",X"01",X"01", + X"00",X"01",X"01",X"00",X"01",X"00",X"01",X"01",X"01",X"01",X"00",X"00",X"01",X"00",X"01",X"02", + X"02",X"00",X"07",X"06",X"06",X"07",X"00",X"00",X"03",X"00",X"03",X"09",X"08",X"00",X"00",X"08", + X"09",X"04",X"07",X"09",X"04",X"00",X"00",X"07",X"00",X"09",X"05",X"06",X"08",X"00",X"05",X"06", + X"00",X"08",X"00",X"80",X"05",X"06",X"08",X"80",X"04",X"07",X"09",X"80",X"02",X"06",X"07",X"80", + X"03",X"08",X"09",X"A9",X"B5",X"84",X"08",X"64",X"0B",X"01",X"02",X"00",X"02",X"FB",X"09",X"03", + X"58",X"0A",X"A9",X"B5",X"7B",X"0B",X"9B",X"08",X"00",X"03",X"01",X"03",X"E3",X"09",X"02",X"86", + X"09",X"09",X"49",X"59",X"3A",X"4D",X"42",X"55",X"46",X"41",X"44",X"4C",X"0D",X"09",X"52",X"54", + X"53",X"0D",X"3B",X"0D",X"4D",X"53",X"54",X"45",X"4E",X"30",X"09",X"4C",X"44",X"41",X"09",X"5A", + X"20",X"3A",X"4D",X"42",X"55",X"46",X"41",X"44",X"48",X"0D",X"09",X"43",X"4D",X"50",X"09",X"49", + X"20",X"2F",X"42",X"48",X"0D",X"09",X"42",X"4E",X"45",X"09",X"52",X"20",X"3A",X"4D",X"53",X"54", + X"31",X"31",X"32",X"0D",X"09",X"4C",X"44",X"41",X"09",X"5A",X"20",X"3A",X"4D",X"42",X"55",X"46", + X"41",X"44",X"4C",X"0D",X"09",X"43",X"4D",X"50",X"09",X"49",X"20",X"2F",X"41",X"32",X"48",X"0D", + X"09",X"42",X"43",X"43",X"09",X"52",X"20",X"3A",X"4D",X"53",X"54",X"31",X"32",X"31",X"0D",X"09", + X"42",X"43",X"53",X"09",X"52",X"20",X"3A",X"4D",X"53",X"54",X"31",X"32",X"38",X"0D",X"4D",X"53", + X"54",X"31",X"31",X"32",X"09",X"43",X"4D",X"50",X"09",X"49",X"20",X"2F",X"38",X"0D",X"09",X"42", + X"4E",X"45",X"09",X"52",X"20",X"3A",X"4D",X"53",X"54",X"31",X"32",X"31",X"0D",X"09",X"4C",X"44", + X"41",X"09",X"5A",X"20",X"3A",X"4D",X"42",X"55",X"46",X"41",X"44",X"4C",X"0D",X"09",X"43",X"4D", + X"50",X"09",X"49",X"20",X"2F",X"35",X"45",X"48",X"0D",X"09",X"42",X"43",X"43",X"09",X"52",X"20", + X"3A",X"4D",X"53",X"54",X"31",X"32",X"38",X"0D",X"4D",X"53",X"54",X"31",X"32",X"31",X"09",X"54", + X"59",X"41",X"0D",X"09",X"43",X"4C",X"43",X"0D",X"09",X"41",X"44",X"43",X"09",X"5A",X"20",X"3A", + X"4D",X"42",X"55",X"46",X"41",X"44",X"4C",X"0D",X"09",X"41",X"4E",X"44",X"09",X"49",X"20",X"2F", + X"31",X"46",X"48",X"0D",X"09",X"43",X"4D",X"50",X"09",X"49",X"20",X"2F",X"32",X"0D",X"09",X"42", + X"45",X"51",X"09",X"52",X"20",X"3A",X"4D",X"53",X"54",X"31",X"32",X"38",X"0D",X"09",X"43",X"4D", + X"50",X"09",X"49",X"20",X"2F",X"31",X"44",X"48",X"0D",X"09",X"42",X"4E",X"45",X"09",X"52",X"20", + X"3A",X"4D",X"53",X"54",X"45",X"4E",X"31",X"0D",X"4D",X"53",X"54",X"31",X"32",X"38",X"09",X"4C", + X"44",X"41",X"09",X"49",X"20",X"2F",X"31",X"30",X"48",X"0D",X"09",X"52",X"54",X"53",X"0D",X"4D", + X"53",X"54",X"31",X"30",X"33",X"09",X"49",X"4E",X"59",X"0D",X"4D",X"53",X"54",X"31",X"30",X"34", + X"09",X"49",X"4E",X"58",X"0D",X"4D",X"53",X"54",X"45",X"4E",X"31",X"09",X"4C",X"44",X"41",X"09", + X"49",X"59",X"3A",X"4D",X"42",X"55",X"46",X"41",X"44",X"4C",X"0D",X"09",X"43",X"4D",X"50",X"09", + X"49",X"20",X"2F",X"31",X"31",X"48",X"0D",X"09",X"42",X"43",X"43",X"09",X"52",X"20",X"3A",X"4D", + X"53",X"54",X"31",X"30",X"32",X"0D",X"09",X"43",X"4D",X"50",X"09",X"49",X"20",X"2F",X"39",X"30", + X"48",X"0D",X"09",X"42",X"43",X"53",X"09",X"52",X"20",X"3A",X"4D",X"53",X"54",X"31",X"30",X"32", + X"0D",X"09",X"4C",X"44",X"41",X"09",X"49",X"20",X"2F",X"30",X"0D",X"4D",X"53",X"54",X"31",X"30", + X"32",X"09",X"52",X"54",X"53",X"0D",X"3B",X"0D",X"4D",X"53",X"31",X"30",X"58",X"09",X"54",X"58"); +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/Namco Tank_Battalion/rtl/rom/b1.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/b1.vhd new file mode 100644 index 00000000..c664e4e3 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/b1.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity b1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(10 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of b1 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"20",X"A1",X"6F",X"20",X"B8",X"7B",X"2C",X"0F",X"0C",X"30",X"49",X"A9",X"01",X"8D",X"00",X"0C", + X"8D",X"01",X"0C",X"20",X"A2",X"79",X"20",X"F8",X"7C",X"90",X"25",X"A0",X"01",X"20",X"75",X"77", + X"F0",X"1E",X"A5",X"B5",X"30",X"04",X"C6",X"B5",X"D0",X"E1",X"A0",X"01",X"B9",X"0D",X"0C",X"10", + X"0F",X"B9",X"05",X"0C",X"10",X"0A",X"88",X"10",X"F3",X"A0",X"00",X"2C",X"07",X"0C",X"30",X"07", + X"98",X"29",X"01",X"A8",X"A9",X"01",X"2C",X"A9",X"00",X"99",X"08",X"0C",X"20",X"A1",X"7E",X"20", + X"82",X"70",X"F0",X"AC",X"20",X"96",X"6F",X"20",X"B2",X"6F",X"20",X"26",X"70",X"20",X"85",X"70", + X"2C",X"0F",X"0C",X"10",X"F5",X"60",X"20",X"96",X"6F",X"20",X"00",X"68",X"20",X"B2",X"6F",X"E6", + X"C7",X"A5",X"CA",X"85",X"A4",X"58",X"A5",X"CB",X"F0",X"08",X"20",X"45",X"6C",X"20",X"13",X"6E", + X"F0",X"09",X"20",X"45",X"6C",X"20",X"64",X"6E",X"20",X"23",X"6F",X"20",X"27",X"71",X"20",X"54", + X"73",X"20",X"C9",X"6F",X"20",X"78",X"6C",X"A5",X"B8",X"D0",X"06",X"20",X"2A",X"71",X"A2",X"01", + X"2C",X"A2",X"00",X"8E",X"0A",X"0C",X"A2",X"01",X"8E",X"0F",X"0C",X"A2",X"FF",X"86",X"5E",X"A5", + X"8B",X"C5",X"2C",X"F0",X"FA",X"85",X"2C",X"C6",X"59",X"C6",X"5A",X"A2",X"00",X"A5",X"59",X"D0", + X"03",X"8E",X"0D",X"0C",X"A5",X"5A",X"D0",X"03",X"8E",X"0C",X"0C",X"A5",X"5C",X"F0",X"0F",X"C6", + X"5C",X"A5",X"5C",X"A2",X"01",X"29",X"08",X"D0",X"02",X"A2",X"00",X"8E",X"09",X"0C",X"A9",X"00", + X"85",X"14",X"A2",X"0A",X"B5",X"3C",X"F0",X"37",X"E6",X"14",X"20",X"C4",X"73",X"B5",X"47",X"86", + X"24",X"10",X"70",X"29",X"7F",X"D0",X"36",X"8A",X"0A",X"AA",X"A0",X"00",X"20",X"57",X"74",X"9D", + X"60",X"02",X"20",X"55",X"74",X"9D",X"60",X"02",X"A0",X"20",X"20",X"56",X"74",X"9D",X"60",X"02", + X"20",X"55",X"74",X"9D",X"60",X"02",X"A9",X"14",X"20",X"16",X"74",X"A6",X"24",X"F6",X"47",X"CA", + X"CA",X"10",X"C1",X"4C",X"FC",X"6A",X"A9",X"18",X"AC",X"A9",X"1C",X"D0",X"EB",X"C9",X"09",X"F0", + X"F5",X"C9",X"12",X"F0",X"F4",X"C9",X"1B",X"D0",X"E4",X"8A",X"0A",X"AA",X"A0",X"00",X"BD",X"60", + X"02",X"91",X"28",X"E8",X"C8",X"BD",X"60",X"02",X"91",X"28",X"A0",X"20",X"E8",X"BD",X"60",X"02", + X"91",X"28",X"E8",X"C8",X"BD",X"60",X"02",X"91",X"28",X"A6",X"24",X"A0",X"00",X"94",X"3C",X"94", + X"47",X"F0",X"BC",X"D0",X"5E",X"38",X"B5",X"3B",X"E9",X"21",X"B0",X"02",X"D6",X"3C",X"95",X"3B", + X"20",X"C6",X"73",X"20",X"64",X"74",X"A0",X"03",X"20",X"2C",X"74",X"9D",X"00",X"02",X"E8",X"88", + X"10",X"F6",X"20",X"6E",X"74",X"C6",X"23",X"D0",X"ED",X"38",X"A5",X"28",X"E9",X"5F",X"B0",X"02", + X"C6",X"29",X"85",X"28",X"A9",X"18",X"4C",X"18",X"69",X"A2",X"20",X"2C",X"A2",X"30",X"A0",X"04", + X"84",X"23",X"A0",X"03",X"8A",X"91",X"28",X"AA",X"E8",X"88",X"10",X"F8",X"20",X"6E",X"74",X"C6", + X"23",X"D0",X"EF",X"4C",X"1B",X"69",X"A0",X"00",X"20",X"FE",X"6C",X"A0",X"20",X"20",X"FE",X"6C", + X"4C",X"59",X"69",X"C9",X"09",X"F0",X"D2",X"C9",X"12",X"F0",X"D1",X"C9",X"1B",X"F0",X"CA",X"C9", + X"24",X"F0",X"07",X"C9",X"60",X"F0",X"DF",X"4C",X"1D",X"69",X"20",X"64",X"74",X"A0",X"03",X"BD", + X"00",X"02",X"91",X"28",X"E8",X"88",X"10",X"F7",X"20",X"6E",X"74",X"C6",X"23",X"D0",X"EE",X"A6", + X"24",X"B5",X"48",X"10",X"0E",X"29",X"40",X"F0",X"07",X"A9",X"EC",X"85",X"2E",X"20",X"05",X"74", + X"4C",X"5B",X"69",X"18",X"B5",X"3B",X"69",X"21",X"90",X"02",X"F6",X"3C",X"95",X"3B",X"20",X"C6", + X"73",X"B5",X"48",X"AA",X"24",X"B5",X"10",X"03",X"09",X"70",X"2C",X"09",X"60",X"A0",X"00",X"91", + X"28",X"A0",X"20",X"18",X"69",X"01",X"91",X"28",X"E0",X"0A",X"D0",X"09",X"A9",X"80",X"20",X"34", + X"76",X"A9",X"80",X"D0",X"03",X"BD",X"25",X"6C",X"20",X"34",X"76",X"C6",X"A5",X"E6",X"A7",X"20", + X"76",X"6D",X"86",X"8E",X"4C",X"1B",X"69",X"20",X"0D",X"6D",X"A9",X"00",X"8D",X"0F",X"0C",X"A5", + X"B8",X"D0",X"0E",X"A0",X"D9",X"A2",X"61",X"20",X"9A",X"73",X"A0",X"E0",X"A2",X"61",X"20",X"9A", + X"73",X"20",X"94",X"70",X"A5",X"B8",X"F0",X"76",X"24",X"13",X"70",X"21",X"C6",X"A4",X"F0",X"1D", + X"A5",X"A7",X"85",X"A6",X"C9",X"14",X"90",X"07",X"20",X"22",X"71",X"A9",X"00",X"85",X"90",X"A9", + X"00",X"85",X"A5",X"A5",X"B4",X"F0",X"5F",X"20",X"57",X"6C",X"4C",X"A1",X"68",X"24",X"B5",X"10", + X"14",X"A0",X"69",X"A2",X"61",X"20",X"9A",X"73",X"A0",X"E7",X"A2",X"61",X"20",X"9A",X"73",X"A0", + X"EE",X"A2",X"61",X"D0",X"1D",X"A0",X"4A",X"A2",X"61",X"20",X"9A",X"73",X"A4",X"B5",X"F0",X"07", + X"A0",X"3C",X"A2",X"61",X"20",X"9A",X"73",X"A0",X"D9",X"A2",X"61",X"20",X"9A",X"73",X"A0",X"E0", + X"A2",X"61",X"20",X"9A",X"73",X"A9",X"80",X"A4",X"B5",X"F0",X"01",X"4A",X"05",X"B4",X"C9",X"C0", + X"D0",X"12",X"A5",X"B5",X"D0",X"05",X"20",X"C9",X"6F",X"30",X"03",X"20",X"CC",X"6F",X"20",X"9A", + X"70",X"4C",X"6C",X"68",X"85",X"B4",X"A2",X"00",X"A5",X"B5",X"D0",X"08",X"A2",X"7F",X"24",X"CD", + X"10",X"02",X"A2",X"FF",X"86",X"B5",X"20",X"6E",X"6C",X"4C",X"A1",X"68",X"A5",X"53",X"05",X"54", + X"F0",X"56",X"F8",X"18",X"A2",X"FD",X"B5",X"56",X"75",X"A3",X"95",X"A3",X"E8",X"D0",X"F7",X"D8", + X"A9",X"00",X"85",X"53",X"85",X"54",X"A5",X"9F",X"30",X"09",X"A5",X"A1",X"C5",X"CC",X"90",X"03", + X"20",X"94",X"6D",X"A2",X"03",X"CA",X"30",X"1B",X"B5",X"A0",X"D5",X"C3",X"90",X"15",X"F0",X"F5", + X"B5",X"A0",X"95",X"C3",X"CA",X"10",X"F9",X"24",X"B5",X"10",X"05",X"20",X"FA",X"71",X"D0",X"03", + X"20",X"E2",X"71",X"A2",X"02",X"A5",X"B5",X"F0",X"07",X"10",X"0A",X"20",X"EC",X"71",X"D0",X"08", + X"20",X"DC",X"71",X"D0",X"03",X"20",X"D4",X"71",X"A5",X"14",X"D0",X"22",X"A5",X"13",X"F0",X"03", + X"4C",X"47",X"6A",X"A5",X"A7",X"C9",X"14",X"90",X"15",X"20",X"0D",X"6D",X"A9",X"00",X"8D",X"0F", + X"0C",X"20",X"22",X"71",X"A9",X"00",X"85",X"90",X"20",X"57",X"6C",X"4C",X"A1",X"68",X"A5",X"8D", + X"C9",X"3C",X"90",X"0E",X"A9",X"00",X"85",X"8D",X"E6",X"8E",X"E6",X"8F",X"E6",X"91",X"D0",X"02", + X"E6",X"92",X"A5",X"92",X"D0",X"17",X"A0",X"01",X"A5",X"91",X"C9",X"14",X"F0",X"0A",X"C9",X"28", + X"F0",X"05",X"C9",X"3C",X"D0",X"07",X"C8",X"C8",X"84",X"26",X"20",X"53",X"71",X"A5",X"A6",X"C9", + X"14",X"B0",X"0E",X"A5",X"A5",X"C5",X"99",X"B0",X"08",X"A5",X"8E",X"C5",X"9A",X"90",X"02",X"66", + X"57",X"A5",X"13",X"D0",X"42",X"A0",X"04",X"A5",X"8B",X"29",X"20",X"F0",X"02",X"A0",X"00",X"84", + X"2E",X"20",X"05",X"74",X"2C",X"0F",X"0C",X"30",X"03",X"4C",X"43",X"7D",X"A5",X"B8",X"F0",X"2B", + X"A5",X"8B",X"29",X"10",X"F0",X"18",X"A5",X"B5",X"D0",X"06",X"A0",X"91",X"A2",X"60",X"D0",X"11", + X"30",X"06",X"A0",X"97",X"A2",X"60",X"D0",X"09",X"A0",X"9D",X"A2",X"60",X"D0",X"03",X"20",X"2E", + X"6C",X"20",X"9A",X"73",X"4C",X"AF",X"68",X"A5",X"B8",X"D0",X"F3",X"A0",X"D9",X"A2",X"61",X"20", + X"9A",X"73",X"A0",X"E0",X"A2",X"61",X"20",X"9A",X"73",X"A5",X"C0",X"F0",X"E1",X"A9",X"00",X"8D", + X"0F",X"0C",X"4C",X"6C",X"68",X"03",X"00",X"06",X"00",X"15",X"00",X"30",X"00",X"80",X"A5",X"B5", + X"D0",X"06",X"A0",X"A3",X"A2",X"60",X"D0",X"0C",X"30",X"06",X"A0",X"A9",X"A2",X"60",X"D0",X"04", + X"A0",X"AF",X"A2",X"60",X"60",X"20",X"06",X"70",X"20",X"EC",X"6D",X"4C",X"96",X"71",X"20",X"06", + X"70",X"20",X"FF",X"6D",X"4C",X"B6",X"71",X"20",X"9A",X"70",X"A5",X"B5",X"F0",X"08",X"20",X"CC", + X"6F",X"20",X"94",X"72",X"F0",X"62",X"20",X"C9",X"6F",X"20",X"8E",X"72",X"F0",X"0D",X"20",X"9A", + X"70",X"A5",X"B5",X"D0",X"4D",X"20",X"94",X"72",X"20",X"CC",X"6F",X"20",X"B5",X"6F",X"A5",X"B5", + X"D0",X"06",X"20",X"DC",X"6F",X"4C",X"8B",X"6C",X"20",X"DF",X"6F",X"A5",X"B8",X"F0",X"0D",X"20", + X"45",X"6C",X"20",X"8B",X"6E",X"24",X"90",X"30",X"0A",X"20",X"85",X"6E",X"20",X"0E",X"73",X"A9", + X"80",X"85",X"90",X"20",X"97",X"70",X"20",X"45",X"6C",X"20",X"EA",X"70",X"20",X"B1",X"6D",X"20", + X"49",X"6D",X"20",X"E8",X"6E",X"20",X"E9",X"6F",X"A5",X"B5",X"D0",X"03",X"4C",X"B8",X"72",X"4C", + X"BE",X"72",X"20",X"C9",X"6F",X"20",X"8E",X"72",X"24",X"B5",X"10",X"AF",X"20",X"B5",X"6F",X"20", + X"DF",X"6F",X"20",X"4E",X"6C",X"20",X"C3",X"6E",X"24",X"90",X"30",X"0A",X"20",X"A4",X"6E",X"20", + X"58",X"73",X"A9",X"80",X"85",X"90",X"20",X"97",X"70",X"20",X"4E",X"6C",X"20",X"EA",X"70",X"20", + X"A2",X"6D",X"20",X"40",X"6D",X"20",X"E3",X"6E",X"20",X"EF",X"6F",X"4C",X"BE",X"72",X"B1",X"28", + X"C9",X"11",X"90",X"04",X"C9",X"60",X"90",X"04",X"A9",X"00",X"91",X"28",X"60",X"A9",X"06",X"85", + X"8A",X"24",X"13",X"70",X"07",X"A9",X"00",X"85",X"2E",X"20",X"05",X"74",X"20",X"2E",X"6C",X"20", + X"9A",X"73",X"A5",X"8A",X"D0",X"FC",X"60",X"A2",X"09",X"A0",X"9E",X"86",X"29",X"84",X"28",X"A5", + X"A7",X"60",X"A2",X"0B",X"A0",X"80",X"86",X"29",X"84",X"28",X"A9",X"14",X"38",X"E5",X"A7",X"60", + X"20",X"32",X"6D",X"A2",X"FE",X"A0",X"FF",X"D0",X"07",X"20",X"27",X"6D",X"A2",X"CF",X"A0",X"CE", + X"85",X"26",X"84",X"24",X"86",X"25",X"A2",X"0A",X"A0",X"00",X"C6",X"26",X"30",X"03",X"A5",X"25", + X"2C",X"A5",X"24",X"91",X"28",X"C8",X"C0",X"02",X"90",X"F0",X"20",X"7A",X"74",X"CA",X"D0",X"E8", + X"60",X"20",X"32",X"6D",X"10",X"0A",X"24",X"B5",X"30",X"F7",X"20",X"27",X"6D",X"38",X"E9",X"01", + X"4A",X"A0",X"00",X"90",X"01",X"C8",X"AA",X"F0",X"06",X"20",X"7A",X"74",X"CA",X"D0",X"FA",X"A9", + X"CF",X"91",X"28",X"60",X"A9",X"80",X"85",X"9F",X"A9",X"49",X"85",X"5C",X"E6",X"A4",X"24",X"B5", + X"10",X"0F",X"A9",X"86",X"38",X"E5",X"A4",X"85",X"23",X"A0",X"60",X"A2",X"09",X"A9",X"48",X"D0", + X"0B",X"A6",X"A4",X"CA",X"86",X"23",X"A0",X"7E",X"A2",X"0B",X"A9",X"4C",X"84",X"28",X"86",X"29", + X"A2",X"05",X"86",X"24",X"85",X"25",X"A6",X"23",X"CA",X"30",X"10",X"A5",X"25",X"20",X"16",X"74", + X"20",X"7A",X"74",X"20",X"7A",X"74",X"C6",X"24",X"D0",X"EE",X"60",X"A9",X"00",X"A8",X"91",X"28", + X"C8",X"91",X"28",X"A0",X"20",X"91",X"28",X"C8",X"91",X"28",X"D0",X"E4",X"A2",X"60",X"A0",X"B5", + X"20",X"9A",X"73",X"A5",X"C9",X"D0",X"01",X"60",X"A2",X"60",X"A0",X"97",X"4C",X"9A",X"73",X"A2", + X"60",X"A0",X"CE",X"D0",X"F7",X"80",X"61",X"8A",X"61",X"A0",X"61",X"B1",X"61",X"B6",X"61",X"CA", + X"61",X"CF",X"61",X"A5",X"C0",X"D0",X"E0",X"A2",X"0C",X"86",X"5D",X"BC",X"05",X"6E",X"BD",X"06", + X"6E",X"AA",X"20",X"9A",X"73",X"A6",X"5D",X"CA",X"CA",X"10",X"EE",X"20",X"03",X"6F",X"A0",X"00", + X"84",X"2F",X"B9",X"25",X"6C",X"85",X"AB",X"A0",X"B5",X"A9",X"09",X"A2",X"0B",X"20",X"14",X"6F", + X"A9",X"A0",X"8D",X"95",X"09",X"20",X"94",X"70",X"8D",X"D5",X"09",X"8D",X"B5",X"09",X"8D",X"95", + X"09",X"20",X"A3",X"70",X"A4",X"2F",X"C8",X"C8",X"C0",X"0A",X"D0",X"D4",X"A9",X"AA",X"8D",X"B5", + X"09",X"A9",X"00",X"60",X"A2",X"60",X"A0",X"FC",X"20",X"9A",X"73",X"A6",X"CC",X"30",X"10",X"A2", + X"61",X"A0",X"10",X"20",X"9A",X"73",X"A0",X"72",X"A9",X"09",X"A2",X"2C",X"20",X"14",X"6F",X"A0", + X"2B",X"A2",X"61",X"D0",X"1C",X"A0",X"42",X"A2",X"61",X"D0",X"1D",X"A2",X"61",X"A0",X"4A",X"20", + X"9A",X"73",X"A5",X"B5",X"F0",X"07",X"A2",X"61",X"A0",X"3C",X"20",X"9A",X"73",X"A2",X"61",X"A0", + X"57",X"4C",X"9A",X"73",X"A2",X"61",X"A0",X"61",X"20",X"D0",X"6E",X"A5",X"B5",X"30",X"06",X"A0", + X"8E",X"A9",X"09",X"D0",X"5F",X"A0",X"51",X"A9",X"0A",X"84",X"2A",X"85",X"2B",X"A9",X"20",X"A0", + X"00",X"F0",X"59",X"A2",X"61",X"A0",X"69",X"20",X"9A",X"73",X"A0",X"76",X"A2",X"61",X"D0",X"D1", + X"20",X"9A",X"73",X"A5",X"B8",X"D0",X"03",X"A6",X"E3",X"2C",X"A6",X"A3",X"86",X"AA",X"A2",X"0A", + X"4C",X"A4",X"7B",X"20",X"E8",X"73",X"D0",X"03",X"20",X"D5",X"73",X"20",X"D3",X"6E",X"A5",X"B5", + X"10",X"06",X"A0",X"00",X"A9",X"0A",X"D0",X"C1",X"A0",X"DF",X"D0",X"B5",X"A2",X"60",X"A0",X"E7", + X"4C",X"9A",X"73",X"A5",X"CB",X"F0",X"F5",X"A2",X"60",X"A0",X"F3",X"20",X"9A",X"73",X"A2",X"20", + X"A0",X"7F",X"A9",X"0A",X"84",X"2A",X"85",X"2B",X"A9",X"E0",X"A0",X"20",X"85",X"25",X"A9",X"00", + X"4C",X"16",X"72",X"20",X"03",X"6F",X"A9",X"FF",X"85",X"B8",X"A5",X"CB",X"D0",X"0D",X"20",X"73", + X"77",X"D0",X"08",X"A2",X"03",X"20",X"A4",X"7B",X"20",X"E8",X"6E",X"A5",X"27",X"49",X"01",X"85", + X"27",X"A6",X"C0",X"E0",X"01",X"F0",X"03",X"8D",X"01",X"0C",X"8D",X"00",X"0C",X"A0",X"10",X"20", + X"B4",X"70",X"A6",X"C0",X"0E",X"0D",X"0C",X"6A",X"0E",X"0E",X"0C",X"6A",X"85",X"5F",X"24",X"5F", + X"50",X"0A",X"10",X"05",X"88",X"D0",X"E8",X"F0",X"BA",X"E0",X"02",X"AD",X"E0",X"01",X"A5",X"CB", + X"F0",X"02",X"90",X"F0",X"A0",X"00",X"70",X"02",X"A0",X"40",X"84",X"B4",X"84",X"C9",X"A5",X"CB", + X"F0",X"08",X"50",X"03",X"20",X"AE",X"7B",X"20",X"AE",X"7B",X"A2",X"FF",X"86",X"B8",X"E8",X"8E", + X"01",X"0C",X"8E",X"00",X"0C",X"60",X"A2",X"18",X"A9",X"00",X"9D",X"00",X"0C",X"CA",X"10",X"FA", + X"60",X"A2",X"F0",X"A9",X"00",X"CA",X"95",X"10",X"8D",X"18",X"0C",X"D0",X"F8",X"F0",X"12",X"A2", + X"00",X"2C",X"A2",X"C0",X"2C",X"A2",X"9F",X"A9",X"00",X"CA",X"95",X"00",X"8D",X"18",X"0C",X"D0", + X"F8",X"8E",X"09",X"0C",X"E8",X"8E",X"0A",X"0C",X"60",X"A9",X"87",X"2C",X"A9",X"9F",X"85",X"23", + X"A2",X"00",X"A9",X"90",X"A4",X"B8",X"F0",X"2D",X"A0",X"17",X"D0",X"1B",X"A9",X"D0",X"2C",X"A9", + X"E8",X"A2",X"00",X"A0",X"47",X"84",X"23",X"D0",X"EB",X"A2",X"66",X"A9",X"23",X"D0",X"04",X"A2", + X"66",X"A9",X"32",X"A0",X"0E",X"84",X"23",X"86",X"1F",X"85",X"1E",X"A6",X"23",X"B1",X"1E",X"95"); +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/Namco Tank_Battalion/rtl/rom/c1.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/c1.vhd new file mode 100644 index 00000000..1ff481ff --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/c1.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity c1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(10 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of c1 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"60",X"CA",X"88",X"10",X"F8",X"60",X"A9",X"00",X"A2",X"0F",X"95",X"00",X"CA",X"10",X"FB",X"A9", + X"00",X"A0",X"0B",X"84",X"1F",X"A0",X"00",X"84",X"1E",X"A2",X"04",X"88",X"91",X"1E",X"D0",X"FB", + X"C6",X"1F",X"CA",X"D0",X"F6",X"60",X"A0",X"40",X"A2",X"08",X"84",X"28",X"86",X"29",X"A0",X"FF", + X"C8",X"A5",X"28",X"29",X"20",X"F0",X"03",X"A9",X"EA",X"2C",X"A9",X"DA",X"18",X"20",X"24",X"74", + X"C0",X"1F",X"90",X"EC",X"20",X"6E",X"74",X"A5",X"29",X"C9",X"0B",X"D0",X"E1",X"A5",X"28",X"C9", + X"C0",X"90",X"DB",X"60",X"20",X"5E",X"70",X"24",X"B5",X"10",X"02",X"49",X"FF",X"60",X"A9",X"02", + X"25",X"60",X"18",X"F0",X"01",X"38",X"A9",X"01",X"25",X"61",X"69",X"00",X"4A",X"66",X"61",X"66", + X"60",X"A9",X"4A",X"25",X"60",X"D0",X"06",X"A9",X"43",X"65",X"61",X"85",X"61",X"A5",X"60",X"85", + X"C2",X"60",X"A9",X"03",X"2C",X"A9",X"C0",X"85",X"1F",X"20",X"96",X"74",X"8D",X"18",X"0C",X"A5", + X"1F",X"D0",X"F6",X"60",X"A2",X"04",X"2C",X"A2",X"06",X"2C",X"A2",X"0D",X"20",X"A3",X"70",X"CA", + X"D0",X"FA",X"60",X"A9",X"01",X"8D",X"0A",X"0C",X"A9",X"00",X"8D",X"09",X"0C",X"8D",X"0C",X"0C", + X"8D",X"0D",X"0C",X"2C",X"A9",X"50",X"38",X"48",X"E9",X"01",X"D0",X"FC",X"68",X"E9",X"01",X"8D", + X"18",X"0C",X"08",X"48",X"AD",X"0F",X"0C",X"30",X"03",X"4C",X"43",X"7D",X"A5",X"B8",X"30",X"07", + X"A5",X"C0",X"F0",X"03",X"4C",X"1D",X"6C",X"68",X"28",X"D0",X"DC",X"60",X"A9",X"10",X"84",X"1E", + X"86",X"1F",X"A0",X"1B",X"91",X"1E",X"88",X"10",X"FB",X"60",X"A2",X"08",X"A0",X"42",X"20",X"DC", + X"70",X"A2",X"0B",X"A0",X"A2",X"20",X"DE",X"70",X"A0",X"82",X"20",X"FF",X"70",X"A0",X"9D",X"48", + X"84",X"1E",X"A0",X"0B",X"84",X"1F",X"A0",X"00",X"A2",X"1B",X"68",X"91",X"1E",X"48",X"20",X"AE", + X"74",X"CA",X"D0",X"F6",X"68",X"60",X"A5",X"A3",X"24",X"CE",X"30",X"05",X"F8",X"18",X"69",X"03", + X"D8",X"60",X"A2",X"03",X"20",X"A4",X"7B",X"20",X"B5",X"6F",X"85",X"26",X"20",X"16",X"71",X"C9", + X"0A",X"90",X"02",X"A9",X"09",X"0A",X"0A",X"0A",X"A8",X"A2",X"05",X"B9",X"CF",X"64",X"24",X"CF", + X"30",X"03",X"B9",X"1F",X"65",X"95",X"93",X"C8",X"CA",X"10",X"F0",X"A9",X"00",X"85",X"A5",X"85", + X"A6",X"85",X"A7",X"A5",X"93",X"20",X"90",X"71",X"BD",X"6F",X"65",X"85",X"99",X"A5",X"94",X"20", + X"90",X"71",X"BD",X"7F",X"65",X"85",X"9A",X"A5",X"96",X"20",X"90",X"71",X"BD",X"9F",X"65",X"85", + X"9C",X"A5",X"97",X"20",X"90",X"71",X"BD",X"AF",X"65",X"85",X"9D",X"A5",X"98",X"20",X"90",X"71", + X"BD",X"BF",X"65",X"85",X"9E",X"A5",X"95",X"20",X"90",X"71",X"BD",X"8F",X"65",X"85",X"9B",X"60", + X"0A",X"0A",X"65",X"26",X"AA",X"60",X"A9",X"A0",X"8D",X"A1",X"09",X"8D",X"C1",X"09",X"8D",X"E1", + X"0A",X"8D",X"01",X"0B",X"A4",X"C9",X"D0",X"09",X"8D",X"81",X"08",X"8D",X"A1",X"08",X"20",X"D2", + X"71",X"20",X"DA",X"71",X"30",X"2C",X"A9",X"D0",X"8D",X"3E",X"0A",X"8D",X"5E",X"0A",X"8D",X"FE", + X"08",X"8D",X"1E",X"09",X"8D",X"5E",X"0B",X"8D",X"7E",X"0B",X"20",X"EA",X"71",X"20",X"F2",X"71", + X"30",X"28",X"A2",X"5A",X"A9",X"A1",X"A0",X"08",X"D0",X"30",X"A2",X"42",X"A9",X"01",X"A0",X"0B", + X"D0",X"28",X"A2",X"25",X"A9",X"C1",X"A0",X"09",X"D0",X"20",X"A2",X"5A",X"A9",X"BE",X"A0",X"0A", + X"D0",X"0E",X"A2",X"42",X"A9",X"5E",X"A0",X"08",X"D0",X"06",X"A2",X"25",X"A9",X"9E",X"A0",X"09", + X"84",X"2B",X"A0",X"20",X"84",X"25",X"A0",X"00",X"F0",X"08",X"84",X"2B",X"A0",X"E0",X"84",X"25", + X"A0",X"A0",X"85",X"2A",X"A9",X"02",X"85",X"2D",X"A9",X"00",X"85",X"26",X"B5",X"A0",X"48",X"4A", + X"4A",X"4A",X"4A",X"20",X"38",X"72",X"A5",X"2D",X"D0",X"02",X"C6",X"26",X"68",X"29",X"0F",X"20", + X"38",X"72",X"CA",X"C6",X"2D",X"10",X"E5",X"60",X"F0",X"02",X"C6",X"26",X"24",X"B5",X"10",X"03", + X"09",X"D0",X"2C",X"09",X"A0",X"24",X"26",X"30",X"02",X"A9",X"00",X"91",X"2A",X"98",X"18",X"65", + X"25",X"A8",X"60",X"A5",X"1E",X"95",X"6D",X"A5",X"1F",X"95",X"6E",X"A5",X"1D",X"95",X"6C",X"60", + X"86",X"1F",X"84",X"1E",X"85",X"1D",X"A5",X"1D",X"0A",X"0A",X"65",X"18",X"A0",X"00",X"91",X"1E", + X"69",X"01",X"C8",X"91",X"1E",X"69",X"01",X"A0",X"20",X"91",X"1E",X"C8",X"69",X"01",X"91",X"1E", + X"60",X"84",X"21",X"86",X"22",X"A0",X"82",X"A2",X"0B",X"84",X"1E",X"86",X"1F",X"60",X"A0",X"80", + X"A2",X"02",X"D0",X"04",X"A0",X"40",X"A2",X"05",X"20",X"81",X"72",X"A0",X"1A",X"84",X"24",X"A4", + X"24",X"B1",X"1E",X"C9",X"11",X"90",X"02",X"A9",X"00",X"A0",X"00",X"20",X"8D",X"74",X"C6",X"24", + X"D0",X"ED",X"20",X"DE",X"72",X"D0",X"E4",X"60",X"A0",X"80",X"A2",X"02",X"D0",X"04",X"A0",X"40", + X"A2",X"05",X"20",X"81",X"72",X"A0",X"1A",X"84",X"24",X"A0",X"00",X"B1",X"21",X"A4",X"24",X"91", + X"1E",X"20",X"8F",X"74",X"C6",X"24",X"D0",X"F1",X"20",X"DE",X"72",X"D0",X"E8",X"60",X"20",X"AE", + X"74",X"C9",X"42",X"D0",X"04",X"A5",X"1F",X"C9",X"08",X"60",X"A5",X"C7",X"4C",X"FB",X"72",X"A5", + X"B8",X"F0",X"F7",X"A6",X"A3",X"E0",X"09",X"90",X"06",X"A5",X"C2",X"29",X"07",X"10",X"0A",X"BD", + X"F5",X"61",X"24",X"CF",X"30",X"03",X"BD",X"FE",X"61",X"0A",X"AA",X"60",X"C6",X"BA",X"20",X"EF", + X"72",X"BD",X"07",X"62",X"A8",X"BD",X"08",X"62",X"85",X"1F",X"84",X"1E",X"A0",X"80",X"A2",X"02", + X"A5",X"B5",X"D0",X"04",X"A5",X"BA",X"F0",X"04",X"A0",X"40",X"A2",X"05",X"84",X"21",X"86",X"22", + X"A0",X"00",X"A2",X"55",X"86",X"23",X"A2",X"08",X"B1",X"1E",X"85",X"24",X"06",X"24",X"A9",X"00", + X"90",X"02",X"A9",X"01",X"20",X"8D",X"74",X"CA",X"D0",X"F2",X"20",X"86",X"74",X"C6",X"23",X"D0", + X"E5",X"86",X"BA",X"60",X"24",X"CD",X"10",X"B4",X"20",X"EF",X"72",X"BD",X"17",X"62",X"A8",X"BD", + X"18",X"62",X"84",X"1E",X"85",X"1F",X"A0",X"40",X"A2",X"05",X"84",X"21",X"86",X"22",X"A0",X"00", + X"A2",X"55",X"86",X"23",X"A2",X"04",X"B1",X"1E",X"4A",X"4A",X"4A",X"4A",X"10",X"04",X"A2",X"08", + X"B1",X"1E",X"85",X"24",X"46",X"24",X"A9",X"00",X"90",X"02",X"A9",X"01",X"20",X"8D",X"74",X"CA", + X"D0",X"F2",X"20",X"96",X"74",X"C6",X"23",X"D0",X"E5",X"60",X"86",X"2B",X"84",X"2A",X"A0",X"00", + X"B1",X"2A",X"85",X"28",X"E6",X"2A",X"D0",X"02",X"E6",X"2B",X"B1",X"2A",X"85",X"29",X"E6",X"2A", + X"D0",X"02",X"E6",X"2B",X"B1",X"2A",X"A8",X"A2",X"00",X"B1",X"2A",X"81",X"28",X"20",X"7A",X"74", + X"88",X"D0",X"F6",X"60",X"B5",X"3B",X"85",X"28",X"B5",X"3C",X"85",X"29",X"60",X"A2",X"00",X"A9", + X"80",X"A0",X"0C",X"D0",X"26",X"A2",X"8A",X"8E",X"5E",X"0A",X"E8",X"8E",X"5F",X"0A",X"A0",X"1E", + X"84",X"28",X"A0",X"0A",X"A9",X"80",X"D0",X"11",X"A2",X"9A",X"8E",X"A0",X"09",X"E8",X"8E",X"A1", + X"09",X"A0",X"C0",X"84",X"28",X"A0",X"09",X"A9",X"90",X"A2",X"0C",X"86",X"2E",X"D0",X"12",X"A9", + X"90",X"A0",X"E3",X"D0",X"08",X"24",X"B5",X"30",X"F6",X"A9",X"80",X"A0",X"FB",X"84",X"28",X"A0", + X"09",X"84",X"29",X"18",X"65",X"2E",X"A0",X"00",X"18",X"91",X"28",X"C8",X"69",X"01",X"91",X"28", + X"A0",X"20",X"69",X"01",X"91",X"28",X"C8",X"69",X"01",X"91",X"28",X"60",X"A5",X"29",X"C9",X"0B", + X"D0",X"08",X"A5",X"28",X"C9",X"A2",X"90",X"0C",X"B0",X"18",X"C9",X"08",X"D0",X"06",X"A5",X"28", + X"C9",X"5E",X"90",X"0E",X"98",X"18",X"65",X"28",X"29",X"1F",X"C9",X"02",X"F0",X"04",X"C9",X"1D", + X"D0",X"05",X"A9",X"10",X"60",X"C8",X"E8",X"B1",X"28",X"C9",X"11",X"90",X"06",X"C9",X"90",X"B0", + X"02",X"A9",X"00",X"60",X"8A",X"0A",X"0A",X"0A",X"AA",X"A9",X"04",X"85",X"23",X"60",X"18",X"A5", + X"28",X"69",X"20",X"90",X"02",X"E6",X"29",X"85",X"28",X"60",X"38",X"A5",X"28",X"E9",X"20",X"B0", + X"02",X"C6",X"29",X"85",X"28",X"60",X"E6",X"1E",X"D0",X"02",X"E6",X"1F",X"60",X"91",X"21",X"E6", + X"21",X"D0",X"02",X"E6",X"22",X"60",X"38",X"A5",X"1E",X"E9",X"01",X"B0",X"02",X"C6",X"1F",X"85", + X"1E",X"60",X"18",X"A5",X"1E",X"69",X"20",X"90",X"02",X"E6",X"1F",X"85",X"1E",X"60",X"38",X"A5", + X"1E",X"E9",X"20",X"B0",X"02",X"C6",X"1F",X"85",X"1E",X"60",X"86",X"1F",X"84",X"1E",X"85",X"1D", + X"A8",X"F0",X"34",X"88",X"88",X"30",X"3A",X"F0",X"40",X"A0",X"00",X"20",X"96",X"74",X"B1",X"1E", + X"85",X"1B",X"A0",X"20",X"B1",X"1E",X"85",X"1C",X"05",X"1B",X"8A",X"A2",X"01",X"B4",X"1B",X"F0", + X"0C",X"C0",X"60",X"90",X"0D",X"C0",X"80",X"90",X"04",X"C0",X"A0",X"90",X"05",X"CA",X"10",X"ED", + X"18",X"60",X"38",X"AA",X"60",X"A0",X"00",X"20",X"AE",X"74",X"B1",X"1E",X"85",X"1B",X"C8",X"D0", + X"D3",X"A0",X"20",X"20",X"A2",X"74",X"4C",X"FA",X"74",X"20",X"86",X"74",X"A0",X"01",X"B1",X"1E", + X"85",X"1B",X"A0",X"21",X"D0",X"BE",X"A8",X"F0",X"0F",X"88",X"88",X"30",X"14",X"F0",X"1B",X"20", + X"C9",X"74",X"20",X"46",X"75",X"F0",X"F8",X"60",X"20",X"F5",X"74",X"20",X"46",X"75",X"F0",X"F8", + X"60",X"20",X"01",X"75",X"20",X"46",X"75",X"F0",X"F8",X"60",X"20",X"09",X"75",X"20",X"46",X"75", + X"F0",X"F8",X"60",X"A9",X"00",X"60",X"F0",X"FB",X"A2",X"01",X"B5",X"1B",X"C9",X"10",X"F0",X"13", + X"90",X"F1",X"29",X"F0",X"C9",X"90",X"F0",X"12",X"C9",X"80",X"F0",X"0E",X"C9",X"40",X"F0",X"0A", + X"CA",X"10",X"E7",X"A5",X"9D",X"C5",X"8F",X"A9",X"01",X"60",X"A5",X"60",X"C5",X"9C",X"A9",X"01", + X"60",X"A4",X"6D",X"84",X"1E",X"A4",X"6E",X"84",X"1F",X"A4",X"6C",X"84",X"1D",X"F0",X"0F",X"88", + X"88",X"30",X"14",X"F0",X"1B",X"20",X"C9",X"74",X"20",X"AC",X"75",X"F0",X"F8",X"60",X"20",X"F5", + X"74",X"20",X"AC",X"75",X"F0",X"F8",X"60",X"20",X"01",X"75",X"20",X"AC",X"75",X"F0",X"F8",X"60", + X"20",X"09",X"75",X"20",X"AC",X"75",X"F0",X"F8",X"60",X"A9",X"00",X"60",X"F0",X"FB",X"A2",X"01", + X"B5",X"1B",X"C9",X"10",X"F0",X"0B",X"90",X"F1",X"29",X"F0",X"C9",X"50",X"F0",X"04",X"CA",X"10", + X"EF",X"18",X"A9",X"01",X"60",X"B5",X"00",X"18",X"69",X"03",X"49",X"F8",X"29",X"F8",X"85",X"1E", + X"A9",X"02",X"06",X"1E",X"2A",X"06",X"1E",X"2A",X"95",X"31",X"B5",X"01",X"4A",X"4A",X"4A",X"18", + X"65",X"1E",X"95",X"30",X"60",X"B5",X"31",X"85",X"1E",X"B5",X"30",X"46",X"1E",X"6A",X"46",X"1E", + X"6A",X"29",X"F8",X"49",X"F8",X"38",X"E9",X"01",X"95",X"00",X"B5",X"30",X"0A",X"0A",X"0A",X"18", + X"69",X"06",X"95",X"01",X"60",X"B5",X"6C",X"49",X"01",X"C5",X"1D",X"18",X"08",X"A5",X"37",X"69", + X"0B",X"4A",X"4A",X"4A",X"29",X"06",X"49",X"06",X"28",X"D0",X"10",X"69",X"02",X"C9",X"08",X"D0", + X"0A",X"A4",X"A7",X"C0",X"06",X"F0",X"09",X"C0",X"0C",X"F0",X"05",X"A6",X"58",X"95",X"48",X"60", + X"A9",X"0A",X"D0",X"F7",X"A4",X"B8",X"F0",X"0D",X"F8",X"18",X"65",X"53",X"85",X"53",X"A5",X"54", + X"69",X"00",X"85",X"54",X"D8",X"60",X"D5",X"01",X"D0",X"0F",X"98",X"D5",X"00",X"D0",X"0A",X"A9", + X"00",X"95",X"31",X"95",X"01",X"95",X"00",X"85",X"19",X"60",X"A9",X"08",X"A8",X"D0",X"03",X"A9", + X"04",X"A8",X"85",X"19",X"84",X"1A",X"B5",X"36",X"C9",X"02",X"90",X"01",X"E8",X"29",X"01",X"F0", + X"08",X"B5",X"00",X"38",X"E5",X"1A",X"95",X"00",X"60",X"A5",X"19",X"18",X"75",X"00",X"95",X"00", + X"60",X"B5",X"30",X"85",X"1E",X"B5",X"31",X"85",X"1F",X"B5",X"36",X"85",X"1D",X"29",X"02",X"D0", + X"03",X"A0",X"01",X"2C",X"A0",X"20",X"B1",X"1E",X"84",X"1A",X"85",X"1C",X"A0",X"00",X"84",X"19", + X"B1",X"1E",X"85",X"1B",X"A8",X"25",X"1C",X"29",X"F0",X"AA",X"98",X"05",X"1C",X"60",X"38",X"60", + X"B5",X"1B",X"F0",X"FA",X"C9",X"10",X"B0",X"F7",X"A4",X"1D",X"F0",X"0F",X"88",X"88",X"30",X"08", + X"F0",X"03",X"A9",X"1A",X"2C",X"A9",X"11",X"2C",X"A9",X"08",X"2C",X"A9",X"FF",X"18",X"75",X"1B", + X"A8",X"B9",X"EF",X"65",X"BE",X"CB",X"65",X"D0",X"02",X"49",X"FF",X"18",X"60",X"A5",X"1D",X"29", + X"02",X"D0",X"03",X"A9",X"08",X"2C",X"A9",X"10",X"E0",X"00",X"F0",X"03",X"38",X"E9",X"04",X"A8", + X"8A",X"49",X"01",X"AA",X"B5",X"1B",X"85",X"20",X"88",X"B9",X"13",X"66",X"30",X"06",X"C5",X"20", + X"D0",X"F6",X"18",X"60",X"38",X"60",X"A5",X"1B",X"29",X"03",X"85",X"1B",X"A5",X"1C",X"29",X"03", + X"85",X"1C",X"A5",X"1D",X"A0",X"00",X"29",X"02",X"D0",X"0E",X"C4",X"1B",X"F0",X"06",X"A0",X"02", + X"C4",X"1B",X"D0",X"03",X"C8",X"C4",X"1C",X"60",X"C4",X"1B",X"F0",X"06",X"A0",X"01",X"C4",X"1B", + X"D0",X"F5",X"C8",X"C8",X"C4",X"1C",X"60",X"A4",X"1B",X"F0",X"12",X"88",X"88",X"30",X"05",X"F0", + X"09",X"20",X"AE",X"74",X"20",X"96",X"74",X"4C",X"4D",X"77",X"20",X"AE",X"74",X"A2",X"18",X"CA", + X"CA",X"CA",X"30",X"1A",X"B5",X"6E",X"F0",X"F7",X"C5",X"1F",X"D0",X"F3",X"B5",X"6D",X"C5",X"1E", + X"D0",X"ED",X"86",X"19",X"A2",X"0A",X"B5",X"3C",X"F0",X"04",X"CA",X"CA",X"10",X"F8",X"60",X"A5", + X"B8",X"F0",X"0E",X"A2",X"00",X"24",X"B5",X"10",X"02",X"A2",X"08",X"BD",X"04",X"0C",X"29",X"80", + X"60",X"20",X"71",X"75",X"90",X"09",X"20",X"5E",X"70",X"C9",X"D0",X"90",X"02",X"A9",X"00",X"60", + X"A4",X"1D",X"C0",X"01",X"D0",X"03",X"20",X"AE",X"74",X"C0",X"02",X"D0",X"03",X"20",X"96",X"74", + X"A5",X"1E",X"95",X"3B",X"A5",X"1F",X"95",X"3C",X"60",X"A5",X"B8",X"F0",X"07",X"A9",X"1F",X"85", + X"59",X"8D",X"0D",X"0C",X"60",X"20",X"06",X"77",X"F0",X"03",X"4C",X"41",X"78",X"20",X"37",X"77", + X"30",X"26",X"20",X"A0",X"77",X"86",X"58",X"A6",X"19",X"D0",X"0C",X"A9",X"80",X"A6",X"58",X"95", + X"48",X"05",X"13",X"85",X"13",X"D0",X"03",X"20",X"05",X"76",X"20",X"A9",X"77",X"A9",X"00",X"A6", + X"19",X"95",X"6E",X"10",X"7A",X"20",X"64",X"77",X"30",X"75",X"A9",X"C0",X"95",X"48",X"85",X"13", + X"20",X"A9",X"77",X"A5",X"6A",X"95",X"3B",X"A5",X"6B",X"95",X"3C",X"D0",X"62",X"A6",X"16",X"4C"); +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/Namco Tank_Battalion/rtl/rom/d1.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/d1.vhd new file mode 100644 index 00000000..c853e5c8 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/d1.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity d1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(10 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of d1 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"5F",X"76",X"A6",X"16",X"20",X"C5",X"75",X"20",X"81",X"76",X"F0",X"35",X"29",X"F0",X"A4",X"16", + X"F0",X"0A",X"E0",X"40",X"D0",X"0E",X"C9",X"40",X"D0",X"0A",X"F0",X"99",X"E0",X"50",X"D0",X"04", + X"C9",X"50",X"F0",X"91",X"C9",X"A0",X"B0",X"08",X"E0",X"90",X"F0",X"B9",X"E0",X"80",X"F0",X"B5", + X"A2",X"01",X"B5",X"1B",X"F0",X"08",X"C9",X"10",X"90",X"2B",X"C9",X"40",X"90",X"21",X"CA",X"10", + X"F1",X"A9",X"FF",X"85",X"19",X"A6",X"16",X"B5",X"01",X"B4",X"00",X"A6",X"17",X"20",X"46",X"76", + X"A6",X"16",X"B5",X"01",X"B4",X"00",X"A6",X"18",X"20",X"46",X"76",X"A5",X"19",X"D0",X"9E",X"A6", + X"16",X"20",X"4F",X"76",X"60",X"A2",X"01",X"20",X"B0",X"76",X"B0",X"39",X"85",X"21",X"A2",X"00", + X"20",X"B0",X"76",X"B0",X"30",X"A8",X"10",X"1C",X"A5",X"21",X"10",X"18",X"A9",X"00",X"A8",X"91", + X"1E",X"98",X"A4",X"1A",X"91",X"1E",X"20",X"64",X"77",X"30",X"D4",X"20",X"90",X"77",X"A9",X"80", + X"95",X"47",X"D0",X"CB",X"98",X"10",X"02",X"49",X"FF",X"A0",X"00",X"91",X"1E",X"A5",X"21",X"10", + X"02",X"49",X"FF",X"10",X"DD",X"20",X"DD",X"76",X"B0",X"03",X"4C",X"41",X"78",X"86",X"21",X"20", + X"B0",X"76",X"10",X"02",X"A9",X"00",X"A6",X"21",X"B4",X"19",X"10",X"C8",X"B5",X"6C",X"85",X"1D", + X"85",X"20",X"B5",X"6D",X"85",X"1E",X"85",X"21",X"B4",X"6E",X"84",X"1F",X"84",X"22",X"60",X"A5", + X"22",X"C5",X"1C",X"F0",X"04",X"B0",X"17",X"90",X"12",X"A2",X"80",X"A5",X"1B",X"29",X"E0",X"85", + X"17",X"A5",X"21",X"29",X"E0",X"C5",X"17",X"F0",X"07",X"B0",X"03",X"A2",X"01",X"2C",X"A2",X"00", + X"86",X"17",X"A2",X"80",X"A5",X"1B",X"29",X"1F",X"85",X"18",X"A5",X"21",X"29",X"1F",X"C5",X"18", + X"F0",X"07",X"B0",X"03",X"A2",X"02",X"2C",X"A2",X"03",X"86",X"18",X"20",X"54",X"70",X"29",X"01", + X"AA",X"B5",X"17",X"30",X"09",X"C5",X"20",X"F0",X"1A",X"20",X"BE",X"74",X"90",X"28",X"8A",X"49", + X"01",X"AA",X"B5",X"17",X"30",X"0D",X"C5",X"20",X"F0",X"09",X"A6",X"22",X"A4",X"21",X"20",X"BA", + X"74",X"90",X"13",X"A5",X"20",X"A6",X"22",X"A4",X"21",X"20",X"BA",X"74",X"B0",X"11",X"A5",X"61", + X"C5",X"9E",X"B0",X"0B",X"90",X"46",X"20",X"5E",X"70",X"C5",X"9B",X"B0",X"E6",X"90",X"40",X"20", + X"54",X"70",X"08",X"A5",X"20",X"28",X"30",X"03",X"49",X"03",X"2C",X"49",X"02",X"A6",X"22",X"A4", + X"21",X"20",X"BA",X"74",X"90",X"29",X"A5",X"1D",X"49",X"01",X"A6",X"22",X"A4",X"21",X"20",X"BA", + X"74",X"90",X"1C",X"A5",X"20",X"49",X"01",X"A6",X"22",X"A4",X"21",X"20",X"BA",X"74",X"90",X"0F", + X"A5",X"20",X"A6",X"22",X"A4",X"21",X"85",X"1D",X"84",X"1E",X"86",X"1F",X"A9",X"80",X"2C",X"A9", + X"00",X"85",X"58",X"0A",X"A8",X"91",X"21",X"C8",X"91",X"21",X"A0",X"20",X"91",X"21",X"C8",X"91", + X"21",X"60",X"A0",X"03",X"A2",X"04",X"24",X"B5",X"10",X"02",X"A2",X"0C",X"CA",X"BD",X"00",X"0C", + X"0A",X"90",X"04",X"88",X"10",X"F6",X"60",X"BD",X"BC",X"79",X"A8",X"60",X"03",X"01",X"02",X"00", + X"FF",X"FF",X"FF",X"FF",X"02",X"00",X"03",X"01",X"A2",X"00",X"20",X"BC",X"78",X"A9",X"E3",X"85", + X"1B",X"A9",X"09",X"85",X"1C",X"20",X"CF",X"78",X"4C",X"48",X"7A",X"48",X"98",X"48",X"8A",X"48", + X"E6",X"8D",X"E6",X"8B",X"20",X"A2",X"79",X"B0",X"02",X"84",X"5E",X"A5",X"8B",X"29",X"07",X"D0", + X"66",X"A5",X"6E",X"F0",X"5F",X"A5",X"B8",X"F0",X"CF",X"20",X"A2",X"79",X"90",X"0C",X"A9",X"FF", + X"A4",X"5E",X"85",X"5E",X"30",X"12",X"C4",X"6C",X"F0",X"0E",X"C4",X"6C",X"D0",X"0C",X"98",X"A6", + X"6E",X"A4",X"6D",X"20",X"BA",X"74",X"90",X"18",X"A4",X"6C",X"A6",X"6D",X"A5",X"6E",X"84",X"1D", + X"86",X"1E",X"85",X"1F",X"A5",X"5B",X"F0",X"04",X"C6",X"5B",X"10",X"0D",X"A9",X"00",X"F0",X"06", + X"A9",X"04",X"85",X"5B",X"A9",X"01",X"8D",X"0B",X"0C",X"A9",X"00",X"A8",X"91",X"6D",X"C8",X"91", + X"6D",X"A0",X"20",X"91",X"6D",X"C8",X"91",X"6D",X"A2",X"00",X"A0",X"40",X"84",X"18",X"20",X"66", + X"72",X"20",X"53",X"72",X"4C",X"21",X"7B",X"85",X"1D",X"0A",X"18",X"65",X"1D",X"AA",X"85",X"16", + X"B5",X"6E",X"D0",X"41",X"24",X"57",X"10",X"EC",X"20",X"5E",X"70",X"29",X"01",X"0A",X"AA",X"A1", + X"62",X"F0",X"08",X"8A",X"49",X"02",X"AA",X"A1",X"62",X"D0",X"D9",X"E6",X"A6",X"E6",X"A5",X"A9", + X"00",X"85",X"57",X"85",X"8E",X"B5",X"63",X"85",X"1F",X"A9",X"63",X"24",X"B5",X"10",X"02",X"A9", + X"7B",X"85",X"1E",X"20",X"5E",X"70",X"29",X"01",X"F0",X"01",X"E8",X"B5",X"66",X"85",X"1D",X"A6", + X"16",X"A0",X"50",X"D0",X"A7",X"A5",X"8B",X"29",X"08",X"D0",X"76",X"20",X"BC",X"78",X"F0",X"05", + X"8A",X"29",X"01",X"F0",X"0A",X"A4",X"6A",X"84",X"1B",X"A4",X"6B",X"84",X"1C",X"D0",X"06",X"84", + X"1C",X"A4",X"6D",X"84",X"1B",X"20",X"CF",X"78",X"A6",X"16",X"A0",X"50",X"84",X"18",X"20",X"66", + X"72",X"20",X"53",X"72",X"48",X"20",X"16",X"71",X"A8",X"68",X"C0",X"12",X"B0",X"0C",X"24",X"CF", + X"30",X"04",X"C0",X"06",X"B0",X"04",X"24",X"58",X"10",X"37",X"A4",X"8A",X"D0",X"33",X"20",X"16", + X"75",X"B0",X"2E",X"A5",X"33",X"F0",X"07",X"A5",X"35",X"D0",X"26",X"A0",X"04",X"2C",X"A0",X"02", + X"A6",X"16",X"B5",X"6C",X"AA",X"96",X"36",X"A6",X"16",X"B5",X"6D",X"AA",X"96",X"30",X"A6",X"16", + X"B5",X"6E",X"AA",X"96",X"31",X"98",X"AA",X"20",X"E5",X"75",X"20",X"5A",X"76",X"A9",X"00",X"85", + X"8F",X"A5",X"8A",X"F0",X"04",X"C6",X"8A",X"10",X"75",X"A5",X"8B",X"29",X"01",X"F0",X"52",X"A5", + X"31",X"D0",X"3B",X"24",X"12",X"30",X"2D",X"20",X"6F",X"77",X"D0",X"62",X"38",X"66",X"12",X"A5", + X"6E",X"F0",X"5B",X"85",X"31",X"A5",X"6D",X"85",X"30",X"A5",X"6C",X"85",X"36",X"A2",X"00",X"86", + X"37",X"A5",X"B8",X"F0",X"07",X"A9",X"11",X"85",X"5A",X"8D",X"0C",X"0C",X"20",X"E5",X"75",X"20", + X"5A",X"76",X"D0",X"3A",X"20",X"6F",X"77",X"F0",X"02",X"46",X"12",X"4C",X"9E",X"7B",X"A2",X"00", + X"86",X"16",X"A9",X"02",X"85",X"17",X"0A",X"85",X"18",X"20",X"02",X"78",X"E6",X"37",X"4C",X"9E", + X"7B",X"A5",X"8B",X"29",X"02",X"F0",X"03",X"A2",X"02",X"2C",X"A2",X"04",X"B5",X"31",X"F0",X"0E", + X"86",X"16",X"8A",X"49",X"06",X"85",X"17",X"A9",X"00",X"85",X"18",X"20",X"02",X"78",X"68",X"AA", + X"68",X"A8",X"68",X"40",X"F8",X"18",X"A9",X"01",X"75",X"A0",X"95",X"A0",X"D8",X"60",X"F8",X"38", + X"A5",X"C0",X"E9",X"01",X"85",X"C0",X"D8",X"60",X"AD",X"1E",X"0C",X"85",X"CE",X"AD",X"1F",X"0C", + X"85",X"CF",X"A0",X"73",X"A2",X"60",X"20",X"9A",X"73",X"A9",X"02",X"2C",X"1D",X"0C",X"30",X"02", + X"A9",X"03",X"85",X"CA",X"A0",X"CC",X"A2",X"09",X"20",X"61",X"7C",X"A0",X"10",X"AD",X"1B",X"0C", + X"30",X"09",X"2C",X"1C",X"0C",X"10",X"0D",X"A0",X"15",X"D0",X"09",X"A0",X"20",X"2C",X"1C",X"0C", + X"10",X"02",X"A0",X"FF",X"84",X"CC",X"A0",X"59",X"A2",X"60",X"20",X"9A",X"73",X"A5",X"CC",X"30", + X"0E",X"A0",X"61",X"A2",X"60",X"20",X"9A",X"73",X"A0",X"AA",X"20",X"78",X"6E",X"F0",X"07",X"A0", + X"69",X"A2",X"60",X"20",X"9A",X"73",X"20",X"68",X"7F",X"85",X"CD",X"10",X"06",X"A0",X"00",X"A2", + X"60",X"D0",X"04",X"A0",X"0A",X"A2",X"60",X"20",X"9A",X"73",X"0E",X"1A",X"0C",X"6A",X"0E",X"19", + X"0C",X"6A",X"29",X"C0",X"85",X"CB",X"D0",X"07",X"A0",X"44",X"A2",X"60",X"4C",X"9A",X"73",X"30", + X"09",X"A0",X"20",X"A2",X"60",X"20",X"9A",X"73",X"F0",X"07",X"A0",X"14",X"A2",X"60",X"20",X"9A", + X"73",X"24",X"CB",X"70",X"06",X"A0",X"38",X"A2",X"60",X"D0",X"E1",X"A0",X"2C",X"A2",X"60",X"D0", + X"DB",X"84",X"2A",X"86",X"2B",X"09",X"A0",X"A0",X"00",X"91",X"2A",X"60",X"48",X"8A",X"48",X"8D", + X"18",X"0C",X"A6",X"C8",X"F0",X"08",X"CA",X"86",X"C8",X"D0",X"03",X"8E",X"08",X"0C",X"A9",X"00", + X"2C",X"05",X"0C",X"10",X"0C",X"2C",X"06",X"0C",X"10",X"07",X"2C",X"07",X"0C",X"30",X"40",X"A9", + X"80",X"85",X"C6",X"20",X"B4",X"70",X"AD",X"05",X"0C",X"10",X"F8",X"AD",X"06",X"0C",X"10",X"F3", + X"AD",X"07",X"0C",X"10",X"EE",X"A9",X"01",X"8D",X"08",X"0C",X"A2",X"20",X"24",X"C6",X"30",X"14", + X"8D",X"03",X"0C",X"20",X"B4",X"70",X"8D",X"03",X"0C",X"E6",X"C1",X"24",X"CB",X"10",X"24",X"70", + X"03",X"20",X"A4",X"7B",X"A9",X"00",X"85",X"C1",X"20",X"A4",X"7B",X"A9",X"30",X"85",X"C8",X"A2", + X"00",X"A5",X"C0",X"C9",X"98",X"B0",X"02",X"A2",X"01",X"8E",X"02",X"0C",X"68",X"AA",X"68",X"8D", + X"10",X"0C",X"40",X"A5",X"C1",X"C9",X"02",X"F0",X"DB",X"D0",X"E0",X"E0",X"04",X"B0",X"06",X"38", + X"A9",X"00",X"8D",X"0F",X"02",X"60",X"18",X"60",X"B0",X"F1",X"2C",X"07",X"0C",X"30",X"F7",X"2C", + X"0F",X"02",X"30",X"F2",X"A9",X"80",X"8D",X"0F",X"02",X"98",X"A2",X"02",X"8E",X"0B",X"02",X"A2", + X"02",X"4A",X"3E",X"08",X"02",X"CA",X"10",X"FA",X"CE",X"0B",X"02",X"D0",X"F2",X"AD",X"08",X"02", + X"29",X"0F",X"C9",X"0F",X"D0",X"D0",X"AD",X"09",X"02",X"C9",X"00",X"D0",X"C9",X"AD",X"0A",X"02", + X"C9",X"1A",X"D0",X"C2",X"8C",X"0B",X"02",X"A0",X"7A",X"A2",X"60",X"20",X"9A",X"73",X"AC",X"0B", + X"02",X"18",X"60",X"78",X"A9",X"0C",X"D8",X"85",X"01",X"A9",X"00",X"85",X"00",X"A8",X"91",X"00", + X"C8",X"D0",X"FB",X"C8",X"8C",X"0A",X"0C",X"A2",X"00",X"A9",X"00",X"85",X"00",X"85",X"01",X"A0", + X"02",X"8D",X"18",X"0C",X"8A",X"91",X"00",X"18",X"69",X"11",X"C8",X"D0",X"F8",X"AA",X"E8",X"E6", + X"01",X"A5",X"01",X"C9",X"0C",X"D0",X"EA",X"A9",X"00",X"85",X"01",X"A0",X"02",X"A6",X"02",X"8D", + X"18",X"0C",X"8A",X"D1",X"00",X"D0",X"22",X"18",X"69",X"11",X"C8",X"D0",X"F6",X"AA",X"E8",X"E6", + X"01",X"A5",X"01",X"C9",X"0C",X"D0",X"E8",X"A6",X"02",X"E8",X"E0",X"10",X"D0",X"BB",X"A9",X"BB", + X"85",X"00",X"A9",X"BF",X"85",X"01",X"4C",X"BE",X"7D",X"51",X"00",X"A2",X"BC",X"29",X"0F",X"D0", + X"02",X"A2",X"B8",X"86",X"00",X"A5",X"01",X"4A",X"4A",X"18",X"69",X"A1",X"85",X"01",X"A9",X"08", + X"85",X"03",X"A9",X"00",X"85",X"02",X"A8",X"A9",X"B0",X"8D",X"18",X"0C",X"91",X"02",X"C8",X"D0", + X"FB",X"E6",X"03",X"A5",X"03",X"C9",X"0C",X"D0",X"EE",X"A5",X"00",X"8D",X"E4",X"09",X"A5",X"01", + X"8D",X"04",X"0A",X"A9",X"BD",X"8D",X"A4",X"0A",X"A9",X"B1",X"8D",X"C4",X"0A",X"A9",X"C2",X"8D", + X"E4",X"0A",X"A5",X"01",X"C9",X"BF",X"F0",X"0B",X"8D",X"18",X"0C",X"AD",X"0F",X"0C",X"10",X"F8", + X"4C",X"43",X"7D",X"A9",X"00",X"85",X"00",X"A9",X"60",X"85",X"01",X"A2",X"00",X"A0",X"00",X"8D", + X"18",X"0C",X"8A",X"18",X"71",X"00",X"C8",X"D0",X"FA",X"AA",X"E6",X"01",X"A5",X"01",X"29",X"07", + X"D0",X"ED",X"A5",X"01",X"18",X"E9",X"60",X"4A",X"4A",X"4A",X"A8",X"8A",X"D9",X"F5",X"7F",X"D0", + X"0E",X"C0",X"03",X"D0",X"D6",X"A9",X"BB",X"8D",X"E2",X"09",X"A9",X"BF",X"4C",X"48",X"7E",X"A9", + X"B0",X"8D",X"E2",X"09",X"98",X"18",X"69",X"A1",X"8D",X"02",X"0A",X"A9",X"BD",X"8D",X"A2",X"0A", + X"A9",X"BF",X"8D",X"C2",X"0A",X"A9",X"C2",X"8D",X"E2",X"0A",X"AD",X"02",X"0A",X"C9",X"BF",X"D0", + X"35",X"A9",X"80",X"85",X"01",X"85",X"03",X"85",X"05",X"85",X"07",X"85",X"09",X"85",X"0B",X"85", + X"0D",X"85",X"0F",X"A9",X"48",X"85",X"00",X"A9",X"58",X"85",X"02",X"A9",X"68",X"85",X"04",X"A9", + X"78",X"85",X"06",X"A9",X"88",X"85",X"08",X"A9",X"97",X"85",X"0A",X"A9",X"A7",X"85",X"0C",X"A9", + X"B7",X"85",X"0E",X"4C",X"66",X"68",X"8D",X"18",X"0C",X"AD",X"0F",X"0C",X"10",X"F8",X"4C",X"43", + X"7D",X"20",X"BF",X"7E",X"20",X"E7",X"7E",X"AD",X"07",X"0C",X"0A",X"AD",X"01",X"08",X"2A",X"8D", + X"01",X"08",X"29",X"0F",X"C9",X"0C",X"D0",X"06",X"EE",X"00",X"08",X"EE",X"00",X"08",X"60",X"AD", + X"00",X"08",X"29",X"0E",X"AA",X"20",X"D7",X"7E",X"B0",X"0C",X"6A",X"6A",X"30",X"01",X"E8",X"B0", + X"03",X"D6",X"00",X"60",X"F6",X"00",X"60",X"A0",X"00",X"B9",X"00",X"0C",X"10",X"06",X"C8",X"C0", + X"04",X"D0",X"F6",X"60",X"98",X"18",X"60",X"A2",X"00",X"B4",X"00",X"E0",X"0A",X"90",X"01",X"C8", + X"C0",X"57",X"90",X"4C",X"C0",X"5F",X"B0",X"48",X"E8",X"B4",X"00",X"C0",X"4F",X"90",X"41",X"C0", + X"57",X"B0",X"3D",X"E8",X"E0",X"10",X"D0",X"E1",X"A9",X"A0",X"85",X"88",X"A2",X"00",X"BD",X"41", + X"7F",X"30",X"1E",X"0A",X"0A",X"0A",X"0A",X"0A",X"09",X"1A",X"A8",X"BD",X"41",X"7F",X"4A",X"4A", + X"4A",X"29",X"03",X"09",X"08",X"85",X"89",X"A5",X"88",X"84",X"88",X"A0",X"00",X"91",X"88",X"85", + X"88",X"BD",X"41",X"7F",X"0A",X"30",X"02",X"E6",X"88",X"E8",X"A5",X"88",X"C9",X"C5",X"D0",X"CE", + X"60",X"06",X"09",X"80",X"80",X"80",X"80",X"80",X"80",X"07",X"08",X"80",X"80",X"19",X"80",X"80", + X"80",X"80",X"16",X"80",X"14",X"0B",X"0C",X"80",X"80",X"80",X"4E",X"10",X"80",X"80",X"11",X"4F", + X"15",X"17",X"13",X"80",X"80",X"80",X"80",X"0D",X"AD",X"18",X"0C",X"49",X"FF",X"60",X"41",X"4E", + X"4B",X"20",X"53",X"45",X"41",X"52",X"43",X"48",X"0D",X"53",X"54",X"4E",X"4B",X"50",X"53",X"31", + X"09",X"4C",X"44",X"59",X"09",X"5A",X"20",X"3A",X"42",X"55",X"46",X"44",X"41",X"54",X"41",X"31", + X"0D",X"09",X"42",X"45",X"51",X"09",X"52",X"20",X"3A",X"53",X"54",X"50",X"31",X"31",X"30",X"09", + X"09",X"53",X"4F",X"4E",X"4F",X"20",X"4D",X"41",X"4D",X"41",X"0D",X"09",X"44",X"45",X"59",X"0D", + X"09",X"44",X"45",X"59",X"0D",X"09",X"42",X"4D",X"49",X"09",X"52",X"20",X"3A",X"53",X"54",X"50", + X"31",X"30",X"32",X"0D",X"09",X"42",X"45",X"51",X"09",X"52",X"20",X"3A",X"53",X"54",X"50",X"31", + X"30",X"35",X"0D",X"09",X"4A",X"53",X"52",X"09",X"41",X"20",X"3A",X"53",X"42",X"32",X"30",X"41", + X"44",X"31",X"0D",X"53",X"54",X"50",X"31",X"30",X"32",X"09",X"4A",X"53",X"52",X"09",X"41",X"20", + X"3A",X"44",X"45",X"43",X"41",X"86",X"09",X"49",X"1E",X"0A",X"DB",X"79",X"43",X"7D",X"6C",X"7C"); +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/Namco Tank_Battalion/rtl/rom/explode.txt b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/explode.txt new file mode 100644 index 00000000..460122a6 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/explode.txt @@ -0,0 +1,52096 @@ +FA +F7 +F8 +F7 +F6 +F6 +F8 +F7 +F7 +F8 +F7 +F6 +F8 +F6 +F7 +F8 +F6 +F7 +F7 +F6 +F6 +F7 +F5 +F6 +F5 +F6 +F6 +F6 +F5 +F6 +F5 +F7 +F5 +F4 +F5 +F4 +F5 +F5 +F7 +F6 +F7 +F5 +F5 +F5 +F7 +F5 +F6 +F5 +F3 +F4 +F3 +F5 +F3 +F4 +F4 +F4 +F6 +F5 +F7 +F6 +F8 +F7 +F8 +F8 +F9 +FA +F9 +FB +FA +FB +FA +FB +F9 +FB +FA +FA +F8 +FA +F8 +F8 +F9 +F8 +F8 +F6 +F8 +F9 +F7 +F7 +F7 +F9 +F7 +F7 +F8 +F7 +F7 +F7 +F7 +F7 +F9 +F7 +F9 +FA +F9 +FB +FC +FD +FD +FE +FC +FD +FE +FE +FE +FD +FF +FF +FF +01 +FF +00 +00 +02 +00 +02 +00 +00 +01 +00 +00 +00 +01 +FF +00 +FF +00 +00 +FF +00 +00 +00 +00 +00 +00 +00 +01 +02 +01 +03 +02 +02 +02 +02 +01 +03 +01 +00 +FF +FF +FE +FC +FD +FB +FB +FA +FC +FB +FB +FD +FD +FC +FB +FB +F9 +FB +FA +FC +FA +FB +FB +FB +FB +FA +FC +FC +FE +FD +FB +FB +FA +F9 +F9 +F8 +FA +FB +FA +FC +FA +FB +FB +FD +FD +FD +FD +FB +FB +FA +FC +FA +FC +FA +FC +FB +FC +FA +FB +F9 +FB +F9 +F9 +FB +FB +FB +FC +FA +FB +FA +FC +FA +FC +FC +FD +FD +FE +FF +00 +00 +FF +FD +FE +FD +FF +FD +FE +FC +FD +FD +FE +FD +FB +FC +FA +FB +F9 +F9 +F8 +FA +FA +FA +F9 +FA +FA +FC +FA +FC +FB +FB +FB +FB +FC +FC +FC +FB +FB +FC +FA +FB +FA +FC +FB +FC +FC +FC +FE +FC +FD +FE +FE +FD +FF +00 +FF +00 +00 +00 +FF +01 +00 +FF +01 +02 +00 +02 +00 +02 +02 +02 +02 +03 +03 +05 +03 +05 +03 +03 +03 +03 +03 +05 +04 +04 +04 +05 +04 +02 +03 +03 +01 +02 +01 +03 +04 +02 +02 +01 +03 +04 +02 +04 +04 +02 +04 +03 +03 +03 +03 +03 +02 +02 +01 +01 +01 +02 +00 +00 +00 +00 +00 +02 +02 +00 +02 +03 +01 +02 +00 +00 +02 +01 +02 +02 +02 +03 +01 +03 +01 +03 +01 +01 +01 +01 +FF +01 +00 +00 +00 +00 +00 +00 +00 +00 +01 +00 +01 +FF +01 +01 +01 +01 +01 +01 +02 +01 +01 +02 +00 +01 +02 +00 +01 +01 +01 +FF +00 +01 +FF +01 +00 +01 +00 +00 +00 +01 +01 +01 +01 +01 +02 +00 +02 +00 +02 +02 +01 +01 +01 +02 +00 +00 +FF +01 +01 +01 +00 +02 +01 +01 +FF +01 +02 +00 +02 +00 +02 +01 +02 +00 +02 +00 +02 +01 +03 +01 +01 +00 +02 +00 +02 +00 +02 +00 +01 +01 +02 +01 +02 +02 +02 +01 +03 +02 +04 +04 +04 +06 +07 +05 +07 +05 +07 +06 +06 +07 +05 +05 +06 +04 +06 +04 +04 +04 +04 +04 +05 +03 +05 +04 +04 +04 +04 +04 +04 +03 +05 +05 +04 +06 +05 +05 +03 +05 +04 +04 +04 +04 +02 +04 +03 +03 +01 +02 +02 +02 +02 +03 +01 +01 +01 +01 +01 +01 +02 +00 +02 +00 +01 +00 +FF +00 +FF +00 +FE +00 +00 +00 +01 +00 +01 +00 +FF +00 +00 +00 +00 +FF +01 +01 +01 +01 +01 +02 +03 +03 +02 +02 +02 +00 +02 +02 +02 +01 +02 +03 +01 +03 +02 +02 +03 +01 +03 +01 +02 +03 +03 +03 +03 +03 +03 +05 +05 +04 +05 +03 +04 +03 +02 +03 +03 +03 +04 +03 +05 +04 +06 +05 +07 +06 +08 +08 +07 +09 +0A +09 +09 +08 +09 +08 +08 +06 +05 +07 +05 +06 +04 +04 +02 +02 +00 +00 +00 +00 +FF +FF +FE +FE +FE +FE +FF +FD +FD +FD +FC +FC +FD +FB +FB +FB +FB +F9 +FB +FB +FA +FA +FA +F8 +F8 +F8 +F8 +F8 +F9 +F9 +FB +FB +FC +FC +FD +FD +FD +FE +FC +FE +FC +FC +FD +FC +FE +FD +FB +FB +FA +FB +FB +FA +FB +FB +FC +FD +FC +FD +FD +FE +FD +FE +FD +FE +FF +FD +00 +FF +00 +FE +FD +FF +FE +FC +FE +FC +FD +FF +FD +FE +FD +FF +FF +FF +FE +FC +FC +FA +FA +F8 +FA +FA +FA +F9 +FA +FA +FA +FC +FB +FB +FB +F9 +F9 +F8 +F7 +F7 +F8 +F8 +FA +FB +F9 +FB +FA +FA +FA +F9 +F9 +F8 +F7 +F7 +F7 +F6 +F6 +F7 +F6 +F5 +F5 +F3 +F3 +F0 +F0 +F1 +F1 +F1 +F1 +F0 +F0 +F0 +F1 +EF +EF +EF +EE +ED +EE +EF +EE +F0 +F0 +F1 +F1 +F2 +F1 +F2 +F2 +F3 +F3 +F3 +F4 +F3 +F1 +F2 +F2 +F2 +F1 +F1 +F0 +EE +EE +EC +EE +EC +EC +EC +EE +EC +ED +ED +ED +EE +ED +EE +EE +ED +EF +F0 +F0 +F1 +F2 +F0 +F2 +F2 +F2 +F3 +F2 +F3 +F3 +F3 +F4 +F3 +F4 +28 +6E +7F +7C +7F +7D +7E +7F +7D +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7F +7F +7F +7E +7F +7F +7F +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7F +7F +7F +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7F +7F +7F +7F +7D +7D +7A +79 +76 +76 +73 +71 +71 +6E +6D +6B +6A +68 +67 +65 +65 +63 +63 +62 +5F +5F +5D +5D +5C +5A +5A +5A +58 +58 +57 +55 +55 +55 +53 +53 +52 +52 +50 +51 +50 +4F +4F +4F +4D +4E +4D +4D +4D +4B +4C +4B +4B +4A +4A +4A +49 +49 +48 +47 +47 +46 +46 +44 +45 +44 +43 +43 +41 +42 +40 +41 +40 +3E +3F +3D +3E +3C +3C +3B +3B +3A +3A +39 +39 +39 +37 +37 +36 +36 +35 +35 +34 +34 +32 +33 +31 +31 +31 +2F +30 +2E +2F +2D +2D +2C +2C +2C +2A +2A +29 +29 +28 +28 +27 +27 +26 +25 +25 +25 +23 +23 +22 +22 +21 +21 +20 +20 +1F +1F +1D +1E +1C +1D +1B +1C +1B +19 +1A +19 +18 +18 +17 +17 +16 +16 +16 +15 +15 +13 +13 +13 +12 +12 +11 +10 +10 +0F +0F +0F +0E +0D +0D +0C +0C +0B +0B +0A +0B +09 +0A +08 +09 +07 +08 +06 +07 +06 +05 +05 +04 +04 +04 +03 +03 +02 +FC +EA +DC +D2 +CA +C4 +BE +BA +B3 +AF +A8 +A4 +9F +9B +96 +92 +8E +8A +86 +83 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +81 +80 +81 +8B +92 +98 +9E +A4 +A9 +B0 +B5 +BB +BF +C5 +C9 +CF +D3 +D8 +DA +E0 +E3 +E7 +EB +EF +F2 +F6 +F9 +FB +FF +00 +04 +06 +0A +0B +0F +0F +12 +15 +17 +19 +1A +1B +1F +20 +22 +22 +24 +26 +27 +29 +29 +2B +2C +2D +2F +2F +30 +30 +32 +32 +34 +34 +35 +36 +35 +37 +36 +38 +38 +39 +38 +3A +39 +39 +3B +3A +3B +39 +3B +3C +3B +3C +3B +3C +3C +3B +3C +3B +3C +3B +3C +3B +3C +3B +3C +3B +3B +39 +3B +3A +3B +39 +39 +3A +38 +39 +37 +39 +38 +36 +38 +36 +36 +36 +36 +35 +35 +35 +34 +35 +33 +33 +32 +32 +31 +31 +31 +31 +2F +30 +30 +2F +2F +2D +2F +2D +2E +2C +2D +2C +2C +2A +2B +2A +29 +29 +2A +28 +28 +27 +1F +0B +FF +F5 +EC +E8 +E0 +DB +D5 +D0 +CA +C6 +C0 +BC +B6 +B2 +AD +AA +A6 +A1 +9E +9A +98 +93 +91 +8D +8B +88 +86 +82 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +82 +83 +83 +85 +84 +86 +87 +87 +88 +89 +89 +8A +8A +8C +8C +8E +8D +8F +8F +90 +91 +92 +92 +92 +94 +95 +94 +96 +96 +97 +97 +99 +9A +99 +9B +9C +9C +9D +9D +9F +9E +A0 +A0 +A1 +A2 +A2 +A3 +A3 +A5 +A4 +A6 +A6 +A7 +A7 +A8 +A9 +B4 +C5 +D4 +DD +E3 +EB +F0 +F6 +FC +00 +06 +0C +11 +15 +1A +1E +24 +27 +2C +2F +34 +37 +3B +3E +41 +45 +47 +4B +4D +50 +52 +56 +58 +59 +5D +5D +61 +62 +64 +66 +68 +69 +6A +6B +6D +6E +70 +71 +72 +72 +73 +73 +75 +75 +74 +75 +75 +76 +75 +76 +75 +76 +75 +76 +75 +76 +75 +76 +75 +74 +75 +75 +75 +74 +74 +72 +74 +72 +73 +72 +72 +72 +71 +71 +71 +71 +70 +71 +70 +6F +70 +70 +6F +6D +6F +6E +6E +6C +6E +6D +6B +6D +6B +6C +6B +6B +6A +6A +6A +69 +6A +68 +69 +67 +68 +66 +67 +66 +65 +65 +63 +64 +62 +63 +61 +62 +60 +61 +60 +5F +5F +5E +5E +5C +5D +5C +5B +5B +59 +5A +59 +59 +57 +58 +56 +56 +55 +55 +54 +54 +54 +52 +52 +50 +51 +50 +4F +4F +4E +4E +4D +4D +4D +4C +4B +4B +4A +4A +48 +49 +47 +48 +47 +47 +46 +46 +46 +44 +44 +43 +3F +2F +20 +15 +0D +06 +01 +FB +F7 +F0 +EC +E7 +E1 +DD +D8 +D4 +CF +CC +C7 +C4 +C0 +BD +BA +B6 +B4 +B1 +AD +AB +A7 +A5 +A3 +A1 +9F +9C +9A +97 +96 +94 +93 +91 +8F +8F +8D +8B +8B +88 +88 +86 +86 +84 +84 +82 +82 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +81 +80 +80 +8C +9B +A7 +AE +B6 +BA +C1 +C5 +CC +D0 +D6 +DA +E0 +E3 +E9 +EC +F1 +F4 +F8 +FD +00 +02 +04 +FA +EE +E5 +E0 +DE +DA +D9 +D5 +D4 +D0 +CE +CB +CA +C7 +C6 +C3 +C3 +C0 +BE +BD +BB +BA +B7 +B7 +B6 +B5 +B4 +B2 +B0 +B0 +AE +AE +AC +AD +AB +AB +A9 +AA +A8 +A9 +A7 +A7 +A6 +A7 +A6 +A5 +A5 +A4 +A5 +A3 +A4 +A3 +A4 +A3 +A3 +A4 +A3 +A3 +A2 +A3 +A3 +A3 +A3 +A3 +A3 +A3 +A5 +A4 +A4 +A4 +A4 +A5 +A4 +A5 +A5 +A6 +A7 +A5 +A6 +A7 +A7 +A7 +A6 +A8 +A9 +A7 +A9 +AA +A8 +AA +AA +A9 +AB +AA +AC +AB +AD +AC +AE +AE +AF +B0 +AF +B1 +B0 +B2 +B2 +B3 +B2 +B4 +B3 +B5 +B4 +B6 +B6 +B6 +B7 +B8 +B7 +B9 +B8 +BA +B9 +BB +BA +BC +BB +BD +BE +BD +BF +BE +C0 +C0 +C1 +C1 +C2 +C2 +C2 +C3 +C4 +C2 +C4 +C4 +C5 +C5 +C6 +C5 +C7 +C6 +C8 +C7 +C9 +C8 +CA +C9 +CB +CB +CB +CD +CC +CE +CE +CE +CF +CE +D0 +CF +D1 +D1 +D2 +D0 +D2 +D2 +D2 +D3 +D2 +D4 +D4 +D5 +D4 +D6 +D6 +D6 +D7 +D8 +D7 +D9 +D8 +DA +DA +DA +DB +DA +DC +DB +DC +DC +DE +DE +DE +DF +DD +DF +DF +DF +DF +E1 +DF +E1 +E2 +E0 +E2 +E3 +E1 +E3 +E2 +E4 +E4 +E3 +E5 +E6 +E5 +E7 +E5 +E7 +E8 +E6 +E8 +E8 +E9 +E7 +E9 +E8 +EA +E8 +EA +EA +EA +EB +EB +EB +EA +EC +ED +EC +ED +EE +EC +F0 +FD +0B +18 +1F +27 +2C +30 +37 +3B +41 +45 +4B +4F +54 +58 +5C +61 +64 +67 +6B +6F +71 +75 +77 +7B +7D +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7D +7F +7D +75 +6D +67 +62 +5E +5A +55 +51 +4D +48 +45 +40 +3D +39 +37 +33 +2F +2C +28 +27 +24 +21 +1E +1C +19 +18 +15 +11 +11 +0D +0D +0A +09 +08 +04 +03 +01 +01 +FF +FF +FC +FC +FA +F9 +F8 +F6 +F6 +F4 +F3 +F3 +F1 +F2 +F0 +EF +EF +ED +ED +EC +EC +EB +EB +E9 +EA +E8 +E9 +E7 +E7 +E8 +E6 +E7 +E5 +E5 +E6 +E4 +E4 +E3 +E5 +E3 +E4 +E2 +E4 +E2 +E4 +E3 +E4 +E2 +E2 +E1 +E3 +E1 +E3 +E1 +E3 +E2 +E3 +E1 +E2 +E3 +E3 +E3 +E3 +E3 +E2 +E3 +E2 +E3 +E2 +E3 +E2 +E4 +E2 +E4 +E4 +E4 +E4 +E5 +E5 +E6 +E6 +E7 +E7 +EA +F7 +04 +0E +13 +19 +1E +22 +28 +2C +32 +34 +39 +3C +41 +45 +47 +4B +4E +52 +54 +58 +5A +5E +60 +63 +65 +68 +69 +6B +6E +70 +71 +73 +75 +75 +77 +78 +78 +7A +79 +7B +7A +7C +7C +7D +7C +7D +7E +7E +7E +7E +7E +7E +7E +7E +7D +7E +7E +7D +7E +7C +7C +7D +7C +7C +7B +7B +7B +7A +7B +7A +79 +76 +6B +61 +58 +54 +4E +4A +47 +41 +3E +38 +36 +32 +2E +2B +28 +25 +22 +1E +1A +18 +15 +12 +10 +0D +0B +08 +06 +05 +01 +00 +FE +FD +FB +F9 +F8 +F5 +F5 +F2 +F2 +F0 +EE +EE +EC +EB +EA +E8 +E8 +E6 +E6 +E4 +E4 +E2 +E2 +E0 +E0 +DF +DF +DD +DE +DD +DD +DC +DC +DA +DB +DA +DA +DA +D8 +DA +D8 +D8 +D9 +D7 +D7 +D6 +D7 +D7 +D6 +D6 +DB +E8 +F5 +FB +00 +04 +08 +0D +0F +15 +17 +1C +20 +23 +26 +29 +2C +2E +32 +34 +37 +39 +3C +3E +41 +42 +45 +47 +47 +4B +4B +44 +39 +30 +2B +26 +24 +20 +1F +1B +18 +15 +13 +11 +0D +0C +08 +08 +04 +03 +01 +00 +FE +FE +FA +F9 +F7 +F7 +F4 +F4 +F2 +F0 +F0 +EE +EE +EC +EA +EA +E9 +E8 +E7 +E6 +E6 +E5 +E4 +E3 +E2 +E2 +E0 +E1 +DF +E0 +DE +DF +DD +DD +DD +DC +DC +DB +DB +DB +DB +D9 +DA +DA +DA +D8 +D9 +DA +D8 +DA +D8 +D8 +D7 +D9 +D8 +D7 +D8 +D7 +D8 +D7 +D8 +D7 +D8 +D7 +D8 +D8 +D8 +D7 +D8 +D8 +D7 +D8 +D8 +D8 +D7 +D9 +D9 +D9 +D9 +D9 +D8 +D9 +D8 +DA +DA +DA +DA +DC +DB +DA +DC +DC +DC +DE +DC +DE +DE +DE +DE +E0 +DE +DF +DF +E0 +E1 +E2 +E0 +E2 +E2 +E3 +E1 +E3 +E4 +E3 +E3 +E5 +E4 +E4 +E6 +E5 +E5 +E7 +E6 +E5 +E7 +E7 +E7 +E8 +E8 +E8 +E8 +E9 +E9 +E9 +E9 +EB +E9 +EB +EB +EB +EA +EC +EC +EC +EB +ED +ED +ED +EC +EE +EE +EE +ED +EF +EF +EF +EE +F0 +F1 +F0 +EF +F1 +F1 +F1 +F1 +F1 +F2 +F3 +F2 +F1 +F3 +F3 +F3 +F2 +F4 +F3 +F4 +F5 +F4 +F4 +F4 +F4 +F5 +F5 +F5 +F4 +F6 +F7 +F6 +F7 +F6 +F6 +F8 +F7 +F7 +F7 +F7 +F7 +F7 +F9 +F7 +F8 +F8 +F8 +F7 +F9 +F9 +F9 +F8 +FA +F8 +FA +FA +FA +F9 +FB +F9 +FB +FB +FB +FB +FB +FB +FB +FB +FB +FC +FC +FC +FB +FD +FC +FC +FE +FD +FD +FD +FD +FC +FD +FC +FD +FD +FD +FD +FE +FF +FD +FF +FD +FF +FD +FE +FE +FF +FF +FF +FF +FF +00 +FF +00 +FF +00 +FF +01 +FF +00 +00 +00 +01 +01 +02 +00 +02 +00 +02 +01 +02 +00 +02 +02 +03 +01 +03 +02 +03 +02 +03 +02 +02 +02 +04 +02 +04 +03 +03 +03 +03 +03 +04 +04 +05 +03 +05 +04 +04 +04 +06 +05 +05 +06 +06 +05 +06 +05 +04 +06 +06 +06 +06 +07 +06 +06 +06 +06 +08 +07 +07 +07 +07 +07 +08 +07 +07 +07 +07 +09 +08 +08 +09 +07 +09 +07 +09 +07 +09 +07 +08 +08 +0A +08 +0A +08 +0A +0A +09 +0A +08 +0A +08 +0A +0B +0A +0A +0A +0A +0A +0B +0A +0B +0B +09 +0B +0A +0A +0B +0C +0B +0B +0B +0B +0E +19 +26 +2E +35 +39 +3F +42 +46 +4B +4E +53 +56 +59 +5D +5F +63 +66 +68 +6B +6F +70 +74 +75 +77 +78 +79 +7A +7B +7C +7D +7E +7E +7E +7F +7F +7F +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7E +7E +7E +7D +7E +7C +7C +7C +7B +7B +7B +79 +7A +78 +79 +78 +77 +77 +76 +76 +76 +74 +75 +73 +74 +72 +73 +72 +71 +71 +70 +71 +6F +70 +6E +6F +6E +6E +6C +6D +6C +6C +6B +6C +6A +6A +6B +6A +69 +69 +68 +68 +68 +67 +67 +66 +67 +65 +65 +64 +64 +63 +63 +62 +62 +61 +61 +61 +5F +60 +5F +5E +5E +5D +5D +5C +5C +5C +5A +5B +5A +5A +59 +59 +57 +57 +56 +56 +55 +55 +54 +54 +53 +53 +52 +52 +51 +50 +50 +4F +4F +4F +4E +4E +4D +4C +4C +4B +4B +4B +49 +4A +49 +48 +48 +48 +46 +46 +45 +45 +44 +44 +43 +43 +42 +43 +42 +41 +41 +40 +40 +3F +3F +3E +3E +3E +3C +3D +3D +3C +3B +3B +3B +3A +3A +38 +39 +37 +38 +36 +37 +36 +35 +36 +34 +35 +34 +34 +33 +33 +31 +32 +31 +31 +31 +2F +30 +2F +2E +2E +2D +2D +2C +2D +2B +2C +2B +2B +2A +2A +29 +29 +29 +28 +28 +27 +27 +26 +26 +26 +25 +25 +23 +25 +24 +22 +23 +21 +23 +22 +22 +21 +21 +1F +21 +1F +1F +1F +1F +1D +1F +1D +1C +1E +1C +1C +1C +1B +1B +1B +1B +19 +1B +1A +18 +19 +19 +17 +19 +17 +17 +18 +17 +15 +17 +17 +15 +15 +15 +15 +14 +15 +13 +13 +13 +14 +12 +12 +12 +12 +12 +10 +12 +12 +10 +0A +FF +F8 +F2 +ED +E9 +E6 +E3 +DF +DC +D9 +D6 +D3 +CF +CD +CA +C8 +C4 +C3 +BF +BE +BC +BA +B8 +B6 +B3 +B3 +B1 +AF +AE +AC +AC +A9 +A9 +A8 +A6 +A6 +A5 +A3 +A3 +A1 +A1 +9F +A0 +9E +9E +9C +9D +9C +9B +9B +99 +9A +99 +99 +99 +98 +98 +98 +98 +99 +97 +97 +96 +97 +97 +96 +97 +97 +97 +98 +97 +97 +9E +A9 +B1 +B5 +BB +BD +C2 +C4 +C8 +CA +CF +D1 +D5 +D8 +D9 +DD +DE +E2 +E4 +E6 +E8 +EB +ED +EE +F2 +F2 +F4 +F6 +F8 +FA +FC +FC +FF +FF +00 +01 +03 +03 +05 +05 +08 +08 +0A +0B +0B +0C +0C +0E +0E +10 +10 +11 +11 +13 +12 +14 +14 +14 +15 +16 +16 +16 +16 +18 +16 +18 +19 +17 +19 +19 +1A +19 +19 +1B +1A +1A +1A +1B +19 +1B +1B +1C +1B +1B +1B +1B +1C +1B +1C +1B +1C +1B +1C +1B +1C +1A +1C +1A +1C +1B +1B +19 +1B +19 +1B +1B +19 +1B +19 +1B +1B +19 +19 +19 +1A +19 +19 +1A +18 +18 +18 +18 +18 +18 +16 +18 +17 +18 +18 +17 +16 +16 +16 +16 +17 +15 +15 +15 +15 +15 +15 +14 +10 +06 +FD +F7 +F1 +EE +EC +E8 +E4 +E1 +DD +DA +D6 +D5 +D2 +CF +CC +CA +C6 +C5 +C4 +C1 +BE +BD +BB +B8 +B7 +B5 +B5 +B2 +B2 +AF +AF +AD +AC +AA +AA +A9 +A8 +A8 +A7 +A5 +A5 +A4 +A2 +A3 +A1 +A2 +A1 +A0 +A0 +9E +9F +9E +9E +9F +9D +9D +9D +9D +9B +9C +9B +9C +9B +9C +9B +9C +9A +9C +9A +9B +9A +9B +9B +9D +9B +9C +9B +9C +9B +9C +9C +9E +9D +9D +9D +9D +9F +9D +9E +9E +9F +9E +9F +A0 +A1 +9F +A1 +A1 +A1 +A2 +A1 +A3 +A2 +A3 +A4 +A3 +A5 +A5 +A5 +A6 +A6 +A7 +A7 +A6 +A8 +A9 +A8 +AA +A9 +A9 +AB +AA +AB +AB +AC +AD +AC +AE +AF +B4 +C0 +C7 +CF +D3 +D7 +D9 +DF +E1 +E6 +E9 +EC +F0 +F3 +F6 +F8 +FC +FE +00 +02 +05 +08 +09 +0D +0E +10 +13 +13 +17 +18 +19 +1C +1D +1E +20 +21 +23 +24 +25 +26 +28 +28 +2A +2A +2C +2C +2E +2E +2F +2F +31 +30 +32 +32 +32 +34 +33 +35 +35 +36 +35 +37 +36 +37 +37 +37 +38 +38 +39 +38 +38 +38 +3A +39 +3A +39 +3A +3A +39 +3A +39 +3A +3A +39 +3A +39 +3A +39 +3A +3A +38 +3A +34 +2B +20 +1B +16 +13 +0F +0B +08 +04 +01 +FE +FC +F9 +F6 +F4 +F1 +EE +EC +E9 +E7 +E4 +E4 +E0 +E0 +DC +DC +DA +D8 +D6 +D5 +D4 +D1 +D1 +CF +CF +CC +CC +CA +CA +C9 +C7 +C7 +C5 +C6 +C5 +C3 +C3 +C2 +C2 +C2 +C0 +C0 +BF +BF +BE +BE +BE +C4 +CF +D6 +DC +DF +E3 +E5 +E9 +EB +EF +F2 +F4 +F8 +FA +FC +FF +00 +02 +03 +07 +09 +0B +0D +0D +11 +12 +14 +15 +16 +18 +19 +1B +1B +1E +1E +20 +21 +22 +22 +24 +25 +26 +27 +27 +28 +28 +2A +2B +2A +2C +2B +2D +2C +2E +2F +2E +2F +30 +2F +31 +30 +30 +32 +30 +32 +31 +31 +33 +32 +33 +32 +32 +32 +32 +32 +34 +34 +32 +34 +32 +34 +32 +34 +33 +33 +31 +33 +33 +32 +33 +32 +33 +33 +31 +33 +31 +32 +30 +32 +30 +32 +31 +31 +2F +31 +30 +31 +2F +2F +30 +2F +2F +2D +2F +2F +2F +2D +2D +2E +2D +2D +2B +2D +2C +2C +2A +2C +2B +2B +29 +2B +2B +29 +2A +28 +2A +28 +29 +28 +28 +28 +27 +27 +27 +26 +26 +27 +25 +26 +24 +26 +24 +24 +24 +24 +22 +23 +24 +22 +23 +22 +22 +20 +22 +21 +1F +21 +1F +1F +1F +20 +1E +1E +1E +1E +1D +1D +1E +1C +1C +1C +1D +1B +1B +1B +1B +19 +1B +1B +19 +19 +19 +19 +18 +18 +18 +18 +17 +17 +17 +15 +17 +15 +17 +15 +15 +15 +15 +15 +15 +13 +15 +13 +13 +14 +12 +12 +11 +13 +13 +12 +10 +12 +11 +11 +0F +11 +10 +11 +0F +0F +0F +0F +0F +0E +0E +0F +0D +0F +0D +0E +0C +0E +0D +0D +0B +0D +0B +0D +0B +0B +0C +0B +0B +0B +0A +09 +0B +09 +0B +09 +09 +09 +09 +09 +09 +08 +08 +07 +09 +07 +09 +07 +07 +07 +06 +08 +06 +06 +07 +07 +07 +06 +06 +04 +05 +06 +04 +05 +04 +04 +04 +05 +03 +05 +03 +04 +02 +04 +03 +01 +02 +02 +02 +03 +01 +03 +01 +01 +00 +02 +00 +02 +02 +00 +00 +00 +00 +00 +00 +FF +00 +01 +FF +01 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FE +FF +00 +FF +00 +FF +00 +FF +FE +FE +FF +FE +FF +FE +FF +FE +FE +FC +FE +FD +FD +FD +FC +FE +FC +FC +FC +FB +FD +FB +FC +FD +FB +FB +FC +FA +FB +FC +FB +FC +FB +F9 +FA +FA +FA +FA +FA +FA +FA +FB +FB +FA +F9 +F9 +F9 +FA +F9 +F9 +FA +F9 +F8 +F7 +EE +E5 +DD +D7 +D2 +CF +CC +C8 +C5 +C2 +BE +BC +B8 +B6 +B3 +B1 +AF +AC +AA +A7 +A6 +A3 +A2 +A0 +9E +9C +9B +98 +98 +96 +95 +94 +92 +92 +90 +90 +8F +8D +8D +8C +8C +8A +8A +8A +88 +89 +87 +88 +86 +87 +85 +86 +85 +86 +84 +85 +84 +85 +84 +85 +85 +84 +85 +84 +85 +85 +84 +85 +84 +85 +85 +86 +86 +85 +86 +87 +87 +87 +86 +88 +88 +87 +89 +89 +89 +89 +8A +8A +8B +8A +8C +8B +8D +8D +8D +8E +8D +8F +90 +8F +91 +90 +92 +92 +92 +93 +93 +94 +94 +95 +95 +96 +97 +96 +98 +97 +99 +9A +99 +9B +9A +9C +9C +9D +9D +9F +9E +A0 +A0 +A0 +A2 +A1 +A3 +A3 +A4 +A4 +A5 +A5 +A7 +A7 +A8 +A7 +A9 +A8 +AA +AA +B2 +BC +C6 +CC +D0 +D4 +D8 +DC +E0 +E5 +E7 +EB +EE +F2 +F5 +F7 +FB +FD +00 +02 +05 +08 +08 +0C +0E +10 +13 +14 +16 +18 +1A +1A +1E +1F +21 +22 +23 +25 +26 +28 +28 +2A +2A +2C +2E +2E +2F +30 +30 +32 +32 +34 +34 +35 +35 +36 +36 +38 +37 +39 +38 +3A +39 +3B +3A +3B +3C +3B +3C +3D +3D +3D +3C +3D +3E +3C +3E +3D +3E +3D +3E +3E +3E +3E +3E +3F +3F +3E +3F +3E +3F +3D +3F +3D +3D +3D +3E +3C +3E +3C +3E +3C +3D +3A +32 +26 +1F +19 +15 +11 +0E +0B +07 +04 +00 +FE +FA +F8 +F4 +F2 +EF +ED +EA +E8 +E6 +E4 +E0 +E0 +DC +DC +DA +D8 +D5 +D5 +D3 +D2 +D0 +CF +CE +CD +CB +CB +C8 +C8 +C6 +C7 +C5 +C5 +C3 +C3 +C1 +C2 +C0 +C1 +C0 +BF +BF +BF +BE +BD +BD +BD +BD +BB +BC +BB +BC +BA +BB +BB +BA +BB +BC +BA +BA +B9 +BB +BB +BB +B9 +BB +B9 +BB +BB +BA +BB +BA +BB +BA +BB +BA +BC +BC +BC +BC +BD +BD +BD +BD +BD +BE +BF +BD +BF +BE +BF +BF +BE +C0 +C0 +C0 +C0 +C2 +C0 +C1 +C1 +C3 +C1 +C3 +C4 +C2 +C4 +C3 +C4 +C4 +C5 +C5 +C6 +C6 +C7 +C7 +C8 +C9 +C8 +CA +C9 +CB +CB +CB +CC +CB +CD +CD +CD +CE +CD +CF +CE +D0 +CF +D1 +D0 +D2 +D1 +D3 +D3 +D3 +D4 +D4 +D5 +D5 +D5 +D7 +D5 +D7 +D7 +D7 +D8 +D8 +D9 +D9 +D9 +DA +DA +DA +DA +DB +DB +DD +DB +DF +E7 +F2 +F9 +FE +03 +06 +0B +0D +11 +14 +18 +1B +1F +22 +25 +27 +2A +2C +2F +31 +33 +37 +38 +3A +3D +3D +41 +42 +44 +44 +47 +48 +4A +4A +4D +4D +4F +4F +51 +51 +53 +54 +55 +55 +57 +57 +59 +58 +5A +59 +5B +5B +5C +5C +5C +5E +5D +5F +5E +5F +5F +5F +5F +60 +61 +60 +61 +60 +61 +62 +62 +61 +62 +61 +61 +60 +61 +61 +60 +61 +60 +61 +61 +60 +60 +5F +60 +5F +60 +5E +5E +5E +5F +5E +5D +5E +5D +5D +5B +5D +5B +5C +5C +5A +5A +5A +5A +59 +5A +58 +58 +58 +57 +56 +56 +57 +56 +55 +55 +53 +55 +54 +53 +53 +52 +52 +51 +52 +50 +51 +50 +4F +4F +4E +4E +4E +4C +4E +4C +4D +4B +4C +4A +4B +49 +4A +48 +49 +48 +48 +47 +47 +46 +46 +46 +44 +45 +43 +44 +44 +42 +43 +42 +42 +41 +41 +40 +40 +40 +40 +3E +3E +3E +3E +3E +3C +3C +3C +3C +3C +3A +3A +3B +39 +3A +38 +38 +38 +38 +37 +37 +37 +37 +35 +35 +36 +34 +34 +34 +34 +33 +33 +31 +33 +32 +32 +31 +31 +31 +30 +2F +28 +1D +14 +0D +07 +05 +FF +FE +F9 +F7 +F3 +EF +EC +E8 +E6 +E3 +DF +DE +DA +D8 +D5 +D4 +D0 +D0 +CC +CC +C8 +C8 +C6 +C4 +C1 +C1 +C0 +BD +BD +BB +BA +B8 +B8 +B6 +B6 +B4 +B4 +B2 +B3 +B2 +B1 +B1 +AF +AF +AE +AE +AD +AD +AC +AC +AC +AC +AB +AB +AB +AA +AA +A9 +AA +A9 +A9 +A8 +A9 +A9 +A8 +A9 +A8 +A9 +A9 +A8 +A9 +A8 +A9 +A8 +AA +A9 +AA +AA +AB +AA +AB +AB +AB +AA +AB +AB +AD +AC +AC +AD +AE +AC +AD +AD +AF +AE +AF +B0 +AE +B0 +B0 +AF +B1 +B1 +B1 +B1 +B3 +B1 +B3 +B4 +B2 +B4 +B3 +B5 +B4 +B6 +B5 +B6 +B6 +B8 +B6 +B8 +B7 +B9 +BA +BA +BB +BA +BD +C8 +D1 +DA +DF +E3 +E7 +EB +EF +F4 +F7 +F9 +FE +FF +04 +07 +0A +0C +0F +11 +14 +16 +1A +1B +1E +20 +22 +24 +27 +28 +2A +2A +2E +2E +30 +31 +33 +34 +36 +37 +37 +3A +3A +3C +3D +3D +3E +3E +40 +40 +42 +43 +43 +43 +44 +44 +45 +45 +46 +46 +48 +47 +48 +48 +48 +48 +4A +48 +4A +47 +3F +33 +2C +26 +24 +1F +1D +18 +16 +11 +0F +0B +09 +05 +03 +01 +FF +FD +FA +00 +09 +0E +13 +14 +17 +17 +1B +1C +1E +20 +20 +23 +23 +26 +26 +28 +29 +2B +2B +2D +2E +2E +30 +30 +31 +31 +33 +33 +35 +34 +36 +36 +37 +38 +37 +39 +38 +3A +39 +3B +39 +3B +3C +3B +3C +3B +3D +3D +3C +3D +3B +3D +3E +3D +3E +3D +3E +3E +3D +3E +3C +3E +3C +3D +3C +3D +3C +3D +3D +3C +3C +3C +3C +3A +3C +3C +3B +3C +3A +3A +3B +39 +3B +3A +3A +38 +3A +39 +3A +38 +38 +38 +39 +38 +36 +38 +37 +37 +36 +37 +36 +35 +35 +36 +35 +33 +35 +34 +34 +33 +33 +33 +31 +33 +31 +31 +32 +30 +31 +2F +31 +30 +2F +30 +2F +2F +2E +2E +2E +2F +2D +2E +2C +2D +2D +2B +2B +2B +2B +2A +2A +2A +29 +29 +29 +29 +29 +28 +28 +27 +26 +26 +26 +27 +25 +25 +25 +25 +24 +24 +25 +24 +23 +23 +21 +23 +22 +22 +20 +22 +21 +20 +20 +20 +20 +1E +20 +1E +1E +1E +1F +1D +1D +1D +1D +1D +1B +1D +1C +1C +1A +1C +1A +1A +1B +1A +1A +19 +19 +1A +19 +19 +18 +17 +19 +17 +18 +16 +18 +16 +17 +15 +17 +16 +16 +14 +16 +15 +16 +14 +14 +14 +13 +14 +12 +14 +12 +12 +12 +13 +12 +11 +10 +12 +11 +11 +10 +11 +0F +10 +0E +10 +0F +0F +0D +0F +0D +0E +0F +0D +0D +0E +0D +0E +0C +0C +0C +0D +0B +0C +0B +0C +0B +0B +09 +0B +0B +0A +0A +08 +0A +09 +09 +08 +09 +08 +09 +07 +07 +08 +07 +07 +08 +06 +06 +07 +06 +06 +06 +07 +06 +04 +06 +04 +06 +04 +04 +04 +04 +05 +04 +04 +02 +04 +04 +02 +04 +02 +02 +02 +02 +02 +02 +02 +03 +02 +02 +00 +02 +02 +00 +02 +02 +00 +00 +00 +00 +00 +00 +01 +00 +00 +00 +FF +00 +00 +00 +00 +00 +FE +00 +FE +FF +FF +FF +FF +FF +FE +FE +FE +FE +FE +FE +FE +FF +FD +FD +FC +FE +FC +FD +FD +FD +FD +FE +FC +FC +FD +FC +FB +FC +FD +FB +FD +FB +FB +FA +FC +FB +FB +FB +FB +FB +FB +FB +FA +FC +F5 +EB +E0 +DA +D5 +D1 +CE +CA +C7 +C3 +C0 +BC +BA +B6 +B4 +B1 +AF +AC +AA +A7 +A4 +A3 +A1 +9E +9D +9A +9A +97 +97 +94 +93 +92 +90 +90 +8F +8D +8D +8C +8A +8A +89 +87 +87 +86 +86 +86 +85 +85 +83 +84 +82 +83 +81 +82 +82 +82 +81 +81 +81 +80 +81 +80 +81 +81 +80 +83 +8C +98 +9E +A4 +A8 +AC +AF +B3 +B7 +BB +BD +C1 +C4 +C8 +CA +CE +CF +D3 +D6 +D7 +DB +DD +DE +E2 +E5 +E6 +E8 +EB +EB +EF +F0 +F2 +F2 +F5 +F6 +F8 +FA +FB +FB +FD +FE +00 +FF +01 +02 +03 +05 +05 +07 +07 +08 +09 +09 +0B +0B +0D +0C +0E +0D +0F +0F +10 +11 +10 +12 +12 +12 +12 +14 +14 +14 +14 +15 +15 +15 +15 +17 +16 +16 +16 +16 +18 +16 +18 +16 +18 +18 +18 +11 +06 +FC +F8 +F2 +F0 +EC +E8 +E5 +E1 +DF +DB +D9 +D5 +D3 +D0 +CD +CB +C7 +C6 +C4 +C2 +C0 +BE +BB +BB +B9 +BF +C8 +D0 +D4 +D8 +DA +DB +DF +E2 +E3 +E6 +E9 +E9 +EC +ED +F0 +F1 +F5 +F6 +F7 +F9 +FB +FB +FE +FF +FF +01 +02 +02 +04 +06 +06 +08 +08 +0A +09 +0B +0B +0D +0D +0F +0F +0F +11 +10 +12 +11 +13 +12 +14 +13 +15 +14 +16 +15 +17 +16 +16 +18 +16 +18 +18 +18 +18 +19 +19 +19 +19 +19 +18 +1A +1A +1A +1B +1A +1B +1B +1A +1B +1B +1B +1B +1C +1B +1C +1B +1C +1B +1C +1B +1C +1B +1C +1A +1A +1A +1B +1A +1B +1A +1B +1B +1A +1B +1B +1A +1A +1A +1A +1A +1B +1A +19 +1A +1A +1A +1A +19 +19 +19 +18 +18 +18 +18 +19 +18 +18 +16 +18 +18 +16 +18 +17 +15 +16 +16 +16 +17 +11 +08 +FE +F5 +F1 +ED +E9 +E6 +E1 +DE +DA +D8 +D3 +D1 +CD +CC +C9 +C6 +C4 +C0 +C0 +BC +BA +B8 +B5 +B5 +B4 +B0 +B0 +AD +AC +AA +AA +A8 +A7 +A5 +A5 +A3 +A3 +A1 +A1 +9F +9F +9E +9E +9D +9C +9C +9A +9B +99 +9A +99 +99 +99 +97 +98 +98 +98 +98 +96 +99 +9F +AB +B3 +BA +BE +C1 +C5 +C9 +CC +CF +D3 +D5 +D9 +DB +DF +E2 +E4 +E7 +E9 +EC +ED +F1 +F4 +F4 +F8 +F8 +FB +FD +FF +00 +02 +02 +06 +06 +08 +09 +0B +0C +0D +0F +0F +11 +12 +14 +14 +16 +16 +16 +18 +18 +1A +1A +1B +1B +1C +1C +1E +1D +1F +1E +20 +1F +21 +22 +21 +22 +22 +22 +22 +23 +23 +25 +25 +23 +25 +25 +26 +25 +25 +25 +27 +25 +27 +26 +27 +27 +26 +27 +25 +27 +26 +26 +26 +28 +26 +27 +27 +27 +28 +27 +26 +26 +26 +26 +27 +26 +27 +26 +27 +26 +26 +26 +27 +25 +25 +26 +24 +26 +24 +26 +25 +25 +23 +25 +24 +24 +25 +24 +25 +23 +23 +24 +22 +24 +23 +21 +23 +22 +23 +22 +22 +20 +22 +21 +22 +20 +20 +20 +21 +20 +20 +1E +20 +20 +20 +1F +1E +1F +1E +1E +1D +1D +1D +1E +1D +1C +1D +1C +1D +1B +1B +1B +1B +1B +1A +1A +1B +19 +1B +19 +19 +19 +19 +1A +18 +18 +17 +19 +19 +17 +19 +18 +16 +18 +18 +17 +18 +16 +16 +17 +15 +17 +17 +15 +15 +16 +15 +16 +14 +13 +15 +13 +15 +14 +14 +12 +14 +12 +14 +13 +11 +13 +11 +13 +11 +11 +11 +11 +11 +11 +0F +10 +11 +0F +11 +0F +0F +10 +0E +10 +0F +0D +0E +0E +0E +0F +0D +0D +0C +0E +0D +0D +0D +0B +0C +0C +0C +0C +0C +0A +0A +0C +0A +0C +0A +0A +0A +0B +0A +0A +0B +0A +0A +08 +0A +09 +0A +08 +0A +08 +09 +07 +08 +08 +03 +F7 +EE +E6 +E2 +DE +DA +D6 +D4 +CF +CD +C8 +C6 +C3 +C0 +BC +BA +B7 +B5 +B2 +B0 +AE +AC +AA +A8 +A5 +A4 +A2 +A1 +9F +9E +9D +9C +9A +98 +98 +97 +96 +94 +94 +92 +92 +92 +91 +90 +90 +8E +8E +8D +8E +8C +8D +8B +8C +8B +8C +8A +8B +8B +8A +8B +8A +8B +8B +8A +8B +8A +8B +8A +8A +8B +8A +8A +8B +8B +8C +8B +8B +8D +8D +8C +8E +8D +8E +8E +8F +8F +90 +8F +91 +92 +92 +96 +A0 +AC +B2 +B9 +BD +C1 +C5 +C8 +CD +D1 +D5 +D7 +DC +DE +E3 +E5 +E9 +EB +EE +F0 +F4 +F6 +F6 +EF +E6 +E1 +DD +DC +D9 +D7 +D6 +D4 +D3 +D1 +D0 +CE +CE +CB +CB +C9 +C9 +C7 +C7 +C5 +C5 +C3 +C3 +C1 +C1 +C0 +C0 +BF +BF +BF +BD +BE +BD +BB +BC +BB +BB +BA +BA +BA +BA +BA +B9 +B9 +B9 +B9 +B9 +B8 +B9 +B9 +B8 +B9 +B8 +B9 +B8 +B9 +B8 +BA +B9 +BA +B9 +BA +B9 +BB +BB +BB +BA +BC +BD +BC +BD +BC +BD +BC +BE +BC +BE +BF +BD +BF +BE +C0 +BF +BF +C1 +C0 +C0 +C2 +C1 +C1 +C2 +C1 +C3 +C2 +C4 +C3 +C5 +C4 +C5 +C6 +C7 +C6 +C8 +C7 +C9 +C8 +CA +CA +CB +CC +CB +CD +CD +CE +CE +CE +CF +CF +CF +CF +D0 +D0 +D1 +D1 +D2 +D2 +D3 +D3 +D3 +D4 +D5 +D4 +D5 +D5 +D7 +D6 +D7 +D7 +D8 +D9 +D8 +DA +D9 +DA +DA +DB +DB +DC +DC +DD +DC +DE +DF +DE +DF +E0 +DE +E0 +E0 +E0 +E1 +E1 +E2 +E2 +EA +F5 +FF +05 +0A +0C +12 +15 +1A +1D +1F +25 +27 +2B +2D +31 +33 +37 +39 +3C +3E +41 +44 +45 +47 +4A +4B +4E +4E +52 +52 +55 +55 +58 +59 +5A +5C +5D +5D +5F +60 +60 +62 +62 +64 +65 +65 +67 +66 +68 +67 +69 +68 +6A +6A +6B +6B +6B +6C +6C +6C +6C +6D +6E +6D +6E +6D +6E +6C +6E +6E +6E +6C +6E +6D +6E +6D +6E +6D +6E +6D +6E +6C +6D +6C +6C +6D +6C +6C +6B +6B +6B +6B +6A +6B +69 +69 +69 +69 +68 +68 +68 +67 +68 +67 +66 +67 +66 +66 +65 +64 +65 +64 +64 +63 +63 +62 +62 +62 +60 +61 +5F +60 +5E +5F +5F +5E +5D +5D +5D +5C +5C +5B +5A +5A +59 +5A +58 +59 +57 +58 +56 +57 +55 +56 +54 +55 +54 +54 +53 +53 +52 +52 +51 +51 +51 +50 +50 +4F +4F +4F +4E +4E +4C +4D +47 +3B +30 +28 +24 +1F +1B +18 +13 +0F +0B +08 +04 +00 +FE +FA +F8 +F4 +F2 +EE +ED +E9 +E7 +E4 +E4 +E0 +DE +DD +DA +DA +D6 +D6 +D3 +D2 +D1 +CF +CE +CC +CB +C9 +C9 +C8 +C6 +C6 +C4 +C4 +C3 +C2 +C1 +C0 +C0 +BF +BF +BE +BD +BD +BD +BC +BB +BB +BB +BB +C5 +CE +D7 +DD +E0 +E4 +E7 +EB +EF +F2 +F5 +F8 +FA +FE +FF +03 +05 +08 +09 +0D +0D +10 +13 +15 +16 +19 +19 +1D +1D +20 +21 +22 +24 +25 +27 +29 +2A +2A +2C +2C +2E +2E +30 +31 +31 +33 +33 +35 +34 +36 +37 +37 +37 +38 +39 +39 +3A +3A +3B +3B +3C +3C +3D +3D +3B +3D +3C +3E +3E +3D +3E +3F +3E +3F +3E +3F +3E +3F +3E +3F +3E +3F +3E +3F +3F +3F +3E +3E +3E +3E +3E +3E +37 +2A +21 +19 +15 +10 +0E +08 +06 +01 +00 +FB +F9 +F4 +F1 +F0 +EC +EA +E7 +E4 +E2 +DE +DD +DB +D9 +D8 +D4 +D4 +D0 +CF +CD +CD +CA +C9 +C8 +C6 +C6 +C3 +C3 +C1 +C1 +BF +BF +BE +BE +BC +BC +BB +BB +B9 +B9 +B8 +B8 +B6 +B7 +B6 +B6 +B6 +B4 +B5 +B4 +B5 +B3 +B4 +B4 +B3 +B4 +B3 +B3 +B3 +B3 +B2 +B3 +B2 +B3 +B3 +B3 +B2 +B3 +B3 +B2 +B4 +B4 +B4 +B3 +B4 +B4 +B4 +B4 +B5 +B4 +B5 +B5 +B5 +B7 +B5 +B7 +B6 +B8 +B7 +B7 +B8 +B7 +B9 +B8 +B9 +B8 +BA +BB +B9 +BB +BB +BB +BB +BD +BB +BD +BD +BD +BE +BE +BF +BE +C0 +BF +C1 +C2 +C1 +C3 +C2 +C4 +C4 +C4 +C5 +C5 +C6 +C7 +C6 +C7 +C7 +C9 +C7 +C9 +CA +C8 +CA +CA +CB +CC +CC +CC +CD +CD +CE +CD +CF +CE +D0 +D0 +D0 +D1 +D1 +D2 +D1 +D3 +D4 +D3 +D3 +D4 +D4 +D6 +D4 +D6 +D7 +D5 +D7 +D7 +D8 +D9 +D8 +DA +E2 +EF +F6 +FD +02 +05 +09 +0D +11 +15 +18 +1C +1F +22 +26 +28 +2C +2E +31 +34 +35 +39 +3B +3E +40 +41 +44 +45 +48 +4A +4A +4D +4D +50 +51 +53 +53 +55 +55 +58 +59 +59 +5B +5B +5D +5C +5E +5F +5F +61 +60 +62 +62 +62 +63 +63 +63 +64 +64 +65 +65 +66 +65 +65 +66 +67 +66 +67 +65 +67 +67 +68 +67 +68 +67 +68 +68 +68 +67 +68 +66 +66 +67 +65 +67 +65 +66 +64 +66 +64 +65 +64 +64 +62 +64 +63 +63 +63 +61 +61 +61 +61 +60 +61 +5F +60 +5E +5F +5E +5E +5E +5C +5D +5C +5C +5B +5B +5B +59 +5A +59 +58 +58 +58 +56 +57 +55 +56 +55 +55 +55 +53 +54 +52 +53 +51 +52 +51 +50 +51 +50 +4F +4F +4F +4F +4D +4D +4C +4C +4B +4B +4A +4A +4A +49 +49 +48 +48 +48 +47 +47 +46 +45 +45 +45 +44 +44 +43 +43 +42 +42 +41 +41 +40 +41 +3F +40 +3F +3F +3F +3D +3E +3C +3D +3C +3C +3B +3B +3A +3A +39 +3A +39 +38 +38 +37 +37 +37 +37 +35 +35 +35 +35 +34 +34 +33 +33 +32 +32 +32 +31 +31 +30 +31 +2F +30 +2E +2E +2F +2D +2D +2D +2D +2C +2C +2B +2B +2B +29 +2B +2A +29 +29 +27 +29 +28 +28 +27 +26 +26 +26 +26 +24 +26 +24 +24 +24 +24 +23 +23 +23 +21 +23 +21 +21 +22 +20 +21 +1F +21 +1F +1F +20 +1E +1E +1E +1E +1E +1C +1E +1D +1D +1A +10 +03 +FD +F5 +F1 +EE +E8 +E6 +E0 +DE +DA +D7 +D3 +CF +CD +C9 +C7 +C4 +C1 +BF +BC +BA +B9 +B5 +B3 +B0 +B0 +AD +AC +AA +A8 +A7 +A5 +A4 +A2 +A2 +A0 +9F +9E +9D +9C +9B +9A +99 +98 +98 +96 +97 +95 +95 +95 +94 +94 +93 +93 +93 +92 +97 +A3 +AB +B3 +B7 +BB +BE +C2 +C5 +CA +CC +D1 +D4 +D6 +DA +DC +E0 +E1 +E5 +E6 +E9 +EB +EF +F0 +F2 +F4 +F6 +F8 +FA +FC +FD +00 +FF +02 +02 +05 +05 +08 +09 +0A +0B +0C +0E +0E +10 +10 +12 +12 +13 +14 +14 +16 +17 +16 +18 +18 +18 +1A +19 +1B +1B +1C +1C +1D +1C +1E +1D +1F +1E +1E +1E +20 +1E +20 +1F +21 +21 +1F +21 +22 +22 +20 +22 +20 +22 +22 +22 +22 +23 +22 +23 +22 +23 +23 +22 +22 +22 +23 +21 +21 +21 +22 +21 +22 +21 +21 +21 +21 +20 +20 +21 +20 +21 +21 +20 +20 +1E +20 +1E +20 +1E +1F +1F +1A +0D +04 +FC +F8 +F2 +EF +EC +E7 +E3 +E0 +DD +D9 +D6 +D3 +CF +CD +C9 +C7 +C4 +C2 +BF +BE +BA +B9 +B7 +B5 +B2 +B1 +AF +AE +AC +AB +AA +A7 +A7 +A5 +A5 +A4 +A2 +A2 +A1 +9F +9F +9E +9D +9C +9B +9B +9B +9A +99 +99 +99 +98 +97 +97 +97 +97 +97 +96 +96 +96 +94 +95 +94 +95 +94 +95 +95 +95 +95 +94 +95 +94 +96 +96 +96 +95 +96 +95 +96 +96 +98 +96 +97 +97 +98 +99 +98 +99 +98 +99 +9B +99 +9B +9A +9B +9B +9D +9C +9D +9D +9E +9E +9F +9F +9F +A0 +A1 +A0 +A2 +A1 +A2 +A3 +A3 +A4 +A4 +A5 +A5 +A6 +A7 +A6 +A8 +A8 +A9 +AA +AA +AB +AC +AC +AD +AD +AD +AF +AE +B0 +B0 +B1 +B2 +B1 +B3 +B3 +B4 +B5 +B4 +B6 +B6 +B6 +B7 +B8 +B8 +B9 +B9 +BA +BB +BA +BC +BB +BD +BD +BE +BE +BF +BE +BF +BF +C1 +C0 +C1 +C2 +C2 +C3 +C7 +D3 +DE +E5 +EB +EF +F3 +F7 +FC +FF +04 +06 +0A +0D +12 +14 +18 +1A +1E +21 +24 +26 +29 +2B +2D +2F +31 +34 +35 +37 +39 +3B +3E +3E +40 +42 +43 +45 +46 +47 +49 +4A +4A +4C +4C +4E +4F +4F +51 +51 +52 +52 +54 +54 +54 +55 +55 +56 +4F +42 +3A +33 +2F +2A +28 +24 +20 +1D +19 +17 +13 +11 +0D +0B +07 +05 +03 +FF +00 +FC +FA +F7 +F7 +F3 +F2 +F1 +EF +ED +EC +EA +E9 +E7 +E7 +E5 +E4 +E2 +E2 +E1 +DF +DF +DD +DD +DC +DA +DA +D9 +D9 +D8 +D7 +D6 +D6 +D6 +D5 +D5 +D4 +D4 +D2 +D3 +D1 +D3 +D2 +D0 +D1 +D0 +D1 +D0 +D0 +D0 +D0 +D0 +CF +CF +CF +CF +CF +D8 +E4 +ED +F4 +F8 +FC +FF +03 +06 +0B +0D +11 +14 +18 +1A +1E +21 +23 +26 +28 +2B +2D +2F +31 +34 +37 +37 +3A +3A +3E +3D +34 +2B +22 +1F +1B +19 +16 +14 +12 +0E +0C +0A +08 +05 +02 +01 +FF +FE +FC +FC +F9 +F7 +F6 +F4 +F4 +F2 +F0 +EF +ED +ED +EB +EB +E9 +E9 +E8 +E6 +E7 +E5 +E5 +E3 +E3 +E2 +E2 +E0 +E1 +E0 +E0 +DE +DF +DD +DE +DD +DC +DC +DC +DC +DA +DC +DA +DA +DB +E0 +EC +F5 +FC +01 +04 +08 +0B +0F +13 +15 +1A +1C +20 +23 +26 +28 +2B +2D +31 +31 +35 +37 +3A +3B +3E +3F +3F +43 +44 +46 +47 +49 +4A +4C +4D +4D +4F +4F +51 +51 +53 +54 +55 +55 +57 +57 +58 +59 +59 +5A +5A +5B +5B +5B +5D +5C +5E +5D +5D +5D +5F +5E +5F +5F +5F +60 +5E +60 +5B +4F +45 +3C +38 +33 +30 +2C +27 +24 +20 +1D +19 +16 +12 +0E +0C +08 +07 +03 +02 +FF +FD +FB +F9 +F6 +F4 +F2 +EF +EF +EE +EA +EA +E7 +E7 +E4 +E4 +E1 +E1 +DF +DF +DE +DC +DC +DB +D9 +D9 +D7 +D7 +D5 +D5 +D4 +D4 +D2 +D3 +D1 +D2 +D1 +D1 +CF +D0 +CF +CD +CE +CD +CD +CD +CD +CC +CB +CD +CB +CB +CB +CB +CA +CC +CA +CA +C9 +C9 +CA +C9 +CA +C9 +CA +CA +CA +CB +CA +CB +CA +CB +CC +CA +CC +CB +CC +CC +CB +CD +CC +CE +CC +CD +CD +CF +CD +CE +CD +CF +CF +CF +CF +CF +D0 +D0 +D0 +CF +D1 +D1 +D1 +D0 +D1 +D3 +D1 +D2 +D3 +D4 +D2 +D4 +D4 +D4 +D4 +D5 +D5 +D6 +D6 +D8 +D7 +D7 +D8 +D8 +D9 +D9 +D9 +D8 +DA +DA +DA +DB +DA +DB +DB +DC +DC +DE +DD +DD +DF +DE +E0 +DE +DF +DF +E0 +E0 +E2 +E0 +E2 +E2 +E3 +E3 +E3 +E3 +E4 +E4 +E5 +E3 +E5 +E5 +E5 +E4 +E6 +E5 +E6 +E8 +E6 +E8 +E8 +E8 +E8 +E9 +E9 +E8 +EA +EA +EA +EB +EC +EB +EB +EB +ED +EB +EC +EC +ED +ED +ED +ED +EE +EE +EE +EE +EF +F0 +EE +EF +F0 +F0 +F0 +F0 +F2 +F2 +F1 +F2 +F1 +F3 +F1 +F3 +F2 +F4 +F3 +F5 +FD +09 +10 +18 +1C +21 +23 +29 +2C +30 +32 +37 +3A +3E +41 +44 +46 +49 +4C +4E +51 +53 +56 +58 +59 +5C +5D +60 +61 +63 +64 +66 +68 +68 +6B +6B +6D +6D +6F +6F +71 +70 +72 +70 +72 +72 +72 +73 +74 +74 +74 +74 +73 +74 +73 +73 +73 +70 +65 +5D +55 +52 +4D +4A +46 +42 +3F +3B +38 +34 +32 +2E +2C +28 +26 +22 +21 +1D +1C +19 +17 +15 +12 +10 +0F +0D +0B +09 +07 +06 +04 +03 +01 +00 +FF +FE +FD +FB +FB +F8 +F8 +F6 +F6 +F4 +F4 +F2 +F2 +F1 +F1 +F0 +EE +EE +EE +EC +ED +EB +EB +EA +EA +E9 +EA +E8 +E8 +E8 +E8 +E6 +E8 +E7 +E6 +E6 +E6 +E4 +E5 +E6 +E5 +E3 +E4 +E4 +E4 +E4 +E4 +E4 +E5 +E3 +E3 +E3 +E3 +E3 +E3 +E2 +E3 +E2 +E3 +E2 +E3 +E2 +E2 +E3 +E2 +E3 +E3 +E3 +E3 +E5 +E3 +E4 +E4 +E4 +E4 +E3 +E5 +E5 +E5 +E4 +E6 +E6 +E6 +E6 +E5 +E7 +E7 +E7 +E6 +E8 +E8 +E8 +E9 +E9 +E9 +E8 +EA +EA +EA +EA +EA +EB +F4 +FF +07 +0D +13 +16 +1A +1D +21 +25 +28 +2C +2F +33 +35 +38 +3B +3E +40 +43 +46 +47 +4A +4C +4E +51 +52 +53 +56 +57 +59 +5A +5C +5D +5F +5F +61 +61 +63 +64 +65 +65 +67 +67 +69 +69 +6A +6A +6B +6A +6B +6C +6B +6C +6C +6B +6C +6B +6C +6C +6C +6B +6C +6C +6B +6C +6B +6B +6B +6A +6B +6A +6A +69 +69 +6A +68 +69 +68 +69 +69 +67 +67 +68 +67 +65 +67 +65 +66 +65 +66 +64 +64 +64 +64 +64 +63 +63 +61 +63 +61 +62 +60 +61 +60 +60 +5F +5F +5D +5E +5C +5D +5B +5C +5A +5B +5A +5A +5A +58 +59 +57 +58 +56 +57 +56 +56 +55 +55 +54 +54 +53 +53 +51 +52 +50 +51 +4F +50 +4E +4F +4E +4D +4C +4D +4B +4C +4A +4B +48 +3E +33 +2A +25 +20 +1A +18 +12 +10 +0B +07 +04 +00 +FF +FB +F8 +F4 +F2 +EF +ED +EB +E7 +E6 +E2 +E1 +DE +DD +DB +D9 +D7 +D4 +D4 +D3 +CF +CF +CE +CB +CB +C8 +C8 +C6 +C6 +C4 +C4 +C2 +C2 +C1 +C0 +BE +BF +BE +BC +BC +BB +BB +BB +B9 +BA +B8 +B8 +B7 +B8 +B7 +B7 +B7 +B5 +B7 +B6 +B5 +B5 +B5 +B5 +B4 +B5 +B4 +B5 +B5 +B4 +B5 +B4 +B5 +B4 +B5 +B5 +B5 +B4 +B5 +B4 +B6 +B5 +B5 +B7 +B5 +B7 +B6 +B7 +BF +CA +D3 +D9 +DC +E1 +E5 +E9 +EB +F0 +F2 +F7 +FA +FC +00 +01 +05 +07 +0B +0D +0F +12 +13 +16 +18 +1B +1B +1D +1F +22 +22 +25 +26 +28 +28 +2A +2A +2D +2D +2F +2F +31 +31 +33 +33 +35 +35 +36 +37 +37 +39 +38 +3A +39 +3B +3A +3C +3C +3C +3D +3D +3E +3E +3F +3E +3E +40 +3F +40 +3F +40 +3F +40 +3E +40 +40 +41 +40 +41 +3F +3F +40 +40 +40 +3F +40 +3F +40 +3E +3F +3E +3F +3D +3F +3E +3E +3D +3E +3D +3E +3C +3C +3C +3D +3C +3A +3C +3A +3A +3A +3B +39 +39 +39 +39 +38 +39 +39 +37 +38 +37 +35 +37 +35 +35 +35 +35 +34 +34 +34 +33 +33 +33 +31 +32 +30 +32 +31 +30 +31 +30 +30 +2E +2E +2E +2F +2E +2D +2D +2B +2D +2C +2A +2C +2A +2B +29 +29 +2A +28 +28 +28 +28 +26 +27 +26 +26 +26 +24 +26 +25 +25 +23 +25 +23 +23 +23 +23 +22 +22 +22 +21 +21 +21 +20 +20 +1F +1F +20 +1F +1E +1E +17 +0C +01 +FC +F6 +F3 +EF +EB +E7 +E2 +E0 +DC +D9 +D5 +D3 +CF +CD +C9 +C7 +C5 +C2 +C0 +BE +BB +B9 +B6 +B5 +B2 +B2 +AF +AE +AC +AC +A9 +A8 +A7 +A5 +A5 +A3 +A2 +A1 +9F +9F +9E +9E +9C +9B +9C +9A +9A +9A +98 +98 +97 +97 +97 +97 +96 +9F +AB +B2 +B8 +BB +BF +C2 +C6 +C9 +CD +CF +D3 +D5 +D9 +DB +DE +E1 +E3 +E6 +E9 +EA +ED +EF +F2 +F2 +F4 +F5 +F9 +FB +FB +FD +FE +00 +00 +03 +04 +05 +06 +07 +08 +0A +0A +0C +0D +0D +0E +0E +10 +11 +11 +13 +12 +14 +14 +15 +15 +16 +17 +16 +18 +18 +18 +19 +1A +18 +1A +1A +1A +1A +1A +1C +1C +1B +1C +1C +1D +1B +1D +1C +1D +1B +1D +1D +1D +1D +1D +1D +1D +18 +0C +03 +FC +F8 +F5 +EF +ED +E8 +E6 +E1 +DF +DB +D9 +D5 +D3 +CF +CE +CB +C8 +C6 +C3 +C2 +BF +BE +BC +BA +BF +C7 +D0 +D6 +D8 +DB +DD +DF +E2 +E5 +E7 +E8 +EB +ED +EE +F0 +F2 +F3 +F5 +F6 +F7 +FA +FA +FD +FD +FF +FF +01 +01 +03 +03 +05 +05 +07 +07 +09 +09 +0A +0B +0C +0C +0D +0D +0E +0E +0F +10 +10 +0F +11 +11 +12 +12 +12 +12 +13 +13 +13 +0B +00 +F8 +F1 +EF +E9 +E7 +E3 +E0 +DC +DA +D6 +D4 +D1 +CE +CC +CA +C7 +C5 +C2 +BF +BE +BC +BA +B8 +B7 +B4 +B4 +B2 +B1 +AF +AE +AC +AC +AA +AA +A8 +A8 +A6 +A6 +A4 +A4 +A2 +A2 +A2 +A0 +A1 +9F +9F +9E +9F +9D +9F +9D +9D +9E +9C +A0 +A8 +B3 +BB +C0 +C4 +C8 +CB +CD +D2 +D4 +D9 +DB +DF +E1 +E5 +E6 +EA +EB +EE +F0 +F4 +F5 +F8 +F9 +FB +FD +00 +FF +03 +04 +06 +06 +09 +0A +0B +0D +0D +10 +10 +12 +12 +14 +14 +16 +15 +17 +17 +19 +1A +1A +1C +1C +1D +1E +1D +1F +1E +20 +21 +21 +21 +22 +21 +23 +21 +23 +23 +24 +24 +24 +24 +24 +25 +26 +26 +25 +25 +25 +27 +25 +27 +26 +27 +26 +27 +26 +27 +27 +26 +26 +27 +27 +27 +26 +27 +26 +26 +26 +25 +25 +26 +24 +26 +26 +24 +26 +24 +24 +24 +24 +25 +23 +23 +24 +23 +24 +23 +21 +23 +21 +23 +22 +20 +22 +21 +21 +20 +20 +20 +1F +20 +1F +1F +20 +1F +1E +1E +1E +1E +1D +1D +1E +1C +1C +1D +1C +1C +1A +1C +1B +1B +19 +1B +1A +1A +19 +19 +1A +18 +18 +19 +18 +18 +16 +18 +17 +15 +17 +15 +17 +15 +15 +15 +16 +15 +13 +15 +13 +14 +13 +13 +13 +13 +11 +13 +11 +12 +0F +06 +FC +F3 +EE +E9 +E5 +E1 +DC +D9 +D5 +D2 +CF +CB +C9 +C5 +C3 +BF +BE +BA +B8 +B5 +B3 +B1 +AF +AC +AB +A9 +A8 +A6 +A5 +A2 +A2 +9F +9F +9D +9D +9C +9A +98 +98 +97 +96 +96 +94 +94 +92 +93 +91 +92 +90 +91 +8F +8F +8F +8F +8F +8D +8E +8E +8E +8E +8C +8D +8C +8D +8D +8C +8D +8C +8D +8C +8C +8E +8E +8E +8F +8D +8F +8F +8E +8F +8E +90 +8F +90 +8F +91 +91 +91 +91 +92 +91 +93 +94 +92 +94 +94 +94 +96 +94 +96 +95 +97 +97 +96 +98 +98 +99 +99 +9A +9A +9A +9B +9B +9C +9C +9D +9D +9E +9E +A0 +9E +A1 +AA +B6 +BE +C5 +C8 +CE +D2 +D6 +D9 +DF +E1 +E6 +E8 +ED +F0 +F2 +F6 +F8 +FC +FF +00 +04 +05 +09 +0B +0D +0F +12 +12 +16 +16 +1A +1B +1D +1E +20 +21 +23 +25 +25 +27 +29 +29 +2B +2C +2C +2E +2E +30 +31 +31 +31 +33 +33 +35 +34 +36 +36 +37 +37 +38 +37 +39 +39 +3A +3A +3A +3A +3B +3B +3B +3C +3C +3D +3D +3C +3D +3C +3C +3D +3D +3D +3D +3E +3E +3E +3E +3E +3D +3E +3D +3D +3B +3D +3B +3D +3D +3C +3D +3B +3B +3C +3B +3C +3A +3A +3B +3A +3B +39 +39 +3A +3A +39 +39 +37 +39 +37 +37 +38 +36 +37 +35 +2C +20 +18 +11 +0C +09 +04 +01 +FC +FA +F6 +F3 +F0 +EC +E9 +E5 +E4 +E0 +DE +DB +D9 +D5 +D4 +D2 +D0 +CE +CC +CA +C8 +C7 +C5 +C3 +C1 +C1 +BE +BE +BC +BB +B9 +B9 +B7 +B7 +B5 +B5 +B3 +B4 +B2 +B2 +B1 +B0 +B0 +AF +AF +AE +AE +AE +AC +AC +AC +AB +AB +AB +AC +AA +AA +A9 +AA +A9 +AA +AA +A9 +A9 +AA +A9 +A9 +A9 +A8 +AA +AA +AA +AA +AA +AA +AA +AA +A9 +AA +AA +AB +AA +AB +AB +AD +AB +AC +AC +AE +AD +AC +AE +AE +AE +AE +B0 +AE +B0 +B0 +B0 +B1 +B1 +B1 +B2 +B1 +B3 +B2 +B4 +B4 +B5 +B4 +B6 +B5 +B7 +B7 +B7 +B8 +B8 +B9 +B9 +BA +BB +BB +BC +BC +BD +BD +BE +BF +BF +BE +C0 +C0 +C1 +C2 +C1 +C3 +C2 +C4 +C4 +C4 +C5 +C5 +C5 +C6 +C7 +C6 +C8 +C7 +C9 +C8 +CA +CA +CA +CB +CB +CC +CC +CD +CC +CE +CD +CF +CF +CF +D0 +D0 +D1 +D1 +D1 +D3 +D1 +D3 +D3 +D3 +D5 +D4 +D5 +D6 +D5 +D5 +D7 +D6 +D7 +D7 +D6 +D8 +D7 +D9 +DA +D8 +DA +DA +DA +DB +DB +DC +DB +DD +DC +DE +DD +DF +DE +DE +E0 +DE +E0 +E1 +E0 +E0 +E2 +E0 +E1 +E1 +E1 +E3 +E1 +E3 +E4 +E2 +E4 +E4 +E4 +E5 +E5 +E5 +E5 +E5 +E5 +E7 +E6 +E7 +E8 +E7 +E7 +E9 +E8 +F0 +FC +04 +0A +10 +13 +17 +1B +1D +23 +25 +29 +2D +30 +32 +36 +38 +3C +3E +41 +43 +45 +48 +4A +4D +4F +50 +52 +52 +56 +58 +59 +5A +5B +5D +5F +5F +61 +61 +63 +63 +65 +65 +67 +67 +69 +68 +6A +6A +6B +6B +6C +6D +6D +6E +6D +6F +6F +6E +6F +6F +70 +70 +6F +70 +6F +70 +6F +70 +6F +70 +70 +6F +70 +70 +6E +6F +6F +6E +6E +6E +6E +6E +6E +6E +6E +6D +6B +6D +6C +6C +6A +6C +6B +69 +6B +69 +6A +6A +69 +69 +67 +68 +66 +67 +67 +65 +66 +64 +65 +63 +64 +62 +63 +61 +62 +60 +61 +60 +5F +5F +5E +5F +5D +5E +5C +5D +5B +5C +5A +5B +5A +5A +58 +59 +57 +58 +57 +56 +56 +55 +55 +54 +54 +54 +53 +53 +52 +51 +51 +50 +50 +50 +4E +4F +4F +4D +4E +4C +4D +4B +4C +4A +4B +49 +4A +49 +48 +48 +47 +47 +47 +45 +46 +45 +44 +44 +43 +43 +43 +41 +42 +40 +41 +40 +3F +3F +3F +3F +3D +3E +3C +3D +3B +3C +3A +3B +39 +3A +39 +39 +38 +37 +38 +37 +36 +36 +35 +35 +34 +35 +33 +34 +32 +33 +31 +32 +30 +31 +31 +2F +2F +30 +2E +2F +2E +2C +2E +2C +2C +2D +2B +2C +2A +2A +2A +2A +28 +2A +29 +27 +29 +20 +15 +0A +04 +00 +FC +F6 +F3 +F0 +EB +E7 +E4 +E0 +DD +D9 +D7 +D4 +D1 +CD +CC +C8 +C6 +C4 +C2 +C0 +BD +BB +B9 +B8 +B6 +B3 +B3 +B0 +B0 +AF +AD +AC +AB +AA +A7 +A7 +A5 +A5 +A5 +A3 +A3 +A1 +A1 +A0 +A0 +9E +9F +9E +9D +9D +9C +9C +9B +9C +9A +9C +9A +9B +99 +9A +99 +99 +9A +99 +9A +9A +99 +9A +9A +9A +9A +9A +9A +9A +9A +99 +9B +9A +9B +9A +9B +9B +9C +9C +9C +9C +9E +9C +9E +9D +9E +9E +A0 +9E +A0 +9F +A1 +A1 +A0 +A2 +A1 +A3 +A3 +A3 +A4 +A3 +A4 +A5 +A5 +A6 +A5 +A7 +A6 +A7 +A7 +A8 +A8 +A9 +AA +A9 +AB +AB +AB +AC +AD +AC +AE +AE +AD +AF +AF +B0 +B1 +B1 +B2 +B3 +B2 +B4 +B5 +B4 +B6 +B5 +B7 +B6 +B7 +B7 +B8 +B8 +B9 +B9 +BA +BA +BB +BB +BB +BD +BC +BE +BE +BE +BF +C0 +BF +C1 +C0 +C2 +C1 +C3 +C2 +C4 +C4 +C4 +C5 +C5 +C7 +C6 +C8 +C7 +C9 +C8 +CA +C9 +CB +CA +CB +CB +CD +CB +CD +CE +CC +CE +CE +CE +CF +CE +D0 +D0 +D0 +D0 +D1 +D1 +D3 +D1 +D3 +D3 +D3 +D3 +D5 +D4 +D6 +D6 +D6 +D7 +D6 +D7 +D8 +D9 +D9 +D9 +DA +DB +D9 +DB +DB +DA +DC +DD +DC +E0 +EA +F4 +FD +01 +05 +09 +0D +11 +16 +18 +1D +1F +24 +26 +2A +2C +30 +31 +35 +37 +39 +3C +3C +33 +2A +23 +21 +1D +1D +19 +19 +15 +15 +12 +10 +0F +0D +0B +09 +09 +07 +05 +04 +02 +02 +01 +FF +00 +FF +FC +FC +FB +F9 +FA +F9 +F7 +F7 +F6 +F6 +F5 +F3 +F4 +F2 +F2 +F1 +F1 +F1 +F0 +EF +F0 +EE +EE +EE +EE +ED +ED +ED +EB +ED +EB +EB +EA +EC +EB +EA +E9 +EB +E9 +EA +EA +EA +EA +E9 +EA +EA +E8 +EA +E9 +E9 +E8 +E9 +E8 +E9 +E8 +E9 +E9 +E8 +E9 +E8 +E9 +E8 +E9 +E8 +EA +E9 +EA +EA +EA +EA +E9 +EA +EB +E9 +EA +EA +EC +EB +EB +EC +ED +EB +EC +ED +ED +ED +EC +EE +EC +EE +ED +EE +EE +EE +EF +EF +EF +EF +F0 +F0 +F0 +F0 +F0 +F2 +F0 +F1 +F2 +F2 +F2 +F1 +F3 +F3 +F3 +F2 +F3 +F3 +F5 +F3 +F5 +F4 +F4 +F6 +F5 +F4 +F6 +F7 +F6 +F6 +F7 +F7 +F7 +F8 +F6 +F8 +F7 +F9 +F8 +F8 +FA +F8 +FA +F8 +FA +FA +FA +F9 +FB +FA +FA +FC +FB +FB +FB +FA +FC +FC +FC +FB +FC +FC +FE +FC +FD +FD +FE +FE +FD +FF +FD +FE +00 +FE +00 +FE +00 +00 +00 +FF +00 +FF +00 +00 +FF +01 +01 +06 +12 +1C +22 +28 +2A +30 +32 +36 +3B +3E +41 +43 +48 +4A +4D +4F +53 +55 +58 +59 +5D +5E +61 +62 +65 +66 +69 +69 +6B +6C +6E +6F +71 +71 +73 +72 +74 +74 +75 +74 +76 +74 +76 +77 +76 +77 +76 +77 +76 +77 +77 +76 +77 +77 +76 +77 +77 +75 +75 +75 +76 +74 +75 +74 +75 +74 +73 +73 +73 +72 +73 +71 +71 +71 +72 +70 +71 +6F +6F +6F +6F +6D +6F +6E +6D +6E +6C +6C +6D +6C +6A +6C +6B +6A +6B +6A +68 +6A +68 +69 +68 +67 +68 +66 +66 +67 +65 +65 +64 +64 +64 +63 +63 +62 +62 +62 +60 +61 +5F +60 +5E +5F +5D +5E +5C +5D +5B +5C +5A +5B +59 +5A +58 +59 +57 +58 +57 +56 +56 +55 +55 +54 +54 +53 +53 +52 +52 +50 +51 +50 +4F +4F +4F +4D +4E +4C +4D +4C +4B +4B +4B +49 +4A +49 +48 +48 +48 +46 +47 +46 +45 +45 +44 +44 +44 +41 +3A +2E +27 +20 +1D +17 +15 +10 +0D +0A +06 +03 +FF +FE +FA +F8 +F4 +F3 +EF +ED +EB +E9 +E5 +E4 +E2 +DF +DE +DB +DB +D8 +D8 +D6 +D4 +D3 +D1 +D0 +CE +CE +CC +CC +CB +C9 +C7 +C7 +C6 +C6 +C4 +C4 +C4 +C2 +C2 +C0 +C1 +BF +C0 +BF +BE +BE +BD +BD +BB +BC +BD +BB +BB +BB +BB +B9 +BA +B9 +BA +B9 +B9 +B9 +B9 +B8 +B8 +B9 +B8 +B9 +B8 +B8 +B9 +B9 +B9 +B9 +B8 +B9 +B9 +B9 +BA +B9 +BA +B9 +BA +BA +BA +BC +BA +BC +BB +BB +BB +BD +BB +BC +BC +BD +BC +BD +BD +BE +BE +BE +BE +BF +BE +BF +BE +BF +BF +C0 +C0 +C0 +C2 +C0 +C2 +C2 +C2 +C4 +C2 +C4 +C3 +C5 +C5 +C5 +C5 +C7 +C6 +C7 +C7 +C9 +C8 +C8 +CA +C8 +CA +CB +C9 +CB +CB +CB +CC +CC +CD +CC +CE +CE +CE +CE +D0 +CF +CE +D0 +D0 +D1 +D1 +D2 +D3 +D1 +D3 +D3 +D3 +D4 +D3 +D4 +D5 +D4 +D6 +D6 +D6 +D6 +D8 +D6 +D8 +D8 +D8 +D9 +D9 +D9 +D8 +DA +DB +D9 +DB +DC +DB +DB +DD +DC +DC +DE +DC +DE +DD +DE +DD +DF +DF +DF +E0 +E0 +E0 +E0 +E2 +E0 +E2 +E2 +E3 +E2 +E2 +E3 +E4 +E3 +E3 +E4 +E4 +E4 +E3 +E5 +E6 +E4 +E5 +E6 +E6 +E6 +E6 +E6 +E7 +E7 +E7 +E7 +E7 +E9 +E7 +E8 +E7 +E8 +E8 +EA +E9 +E8 +EA +EB +E9 +EA +EA +EA +EB +EC +EB +EC +EA +EC +EC +EC +EB +EC +EC +ED +EE +EC +ED +EC +EE +EF +EE +EF +EE +EE +F0 +EE +F0 +EE +F0 +F0 +F0 +F1 +EF +F1 +F1 +F2 +F1 +F2 +F1 +F1 +F3 +F3 +F1 +F3 +F1 +F3 +F3 +F4 +F3 +F4 +F2 +F6 +FE +08 +0F +13 +18 +1B +1E +22 +25 +29 +2B +2F +31 +35 +36 +3A +3B +3F +3F +43 +45 +48 +49 +4B +4B +4F +4F +52 +52 +54 +55 +57 +58 +5A +5A +5C +5C +5E +5E +60 +60 +61 +62 +62 +63 +63 +64 +65 +64 +66 +67 +66 +67 +67 +67 +67 +67 +69 +68 +68 +69 +68 +69 +69 +68 +69 +68 +69 +68 +68 +68 +67 +68 +66 +68 +66 +67 +66 +67 +66 +66 +65 +65 +66 +64 +65 +64 +65 +65 +63 +64 +62 +62 +63 +62 +61 +62 +60 +61 +5F +60 +5F +5F +5E +5E +5D +5D +5C +5C +5B +5B +5A +5A +5A +59 +59 +59 +58 +57 +57 +56 +56 +54 +55 +53 +54 +52 +53 +51 +52 +51 +51 +50 +50 +49 +3E +35 +2E +28 +25 +21 +1D +1A +15 +13 +0F +0B +08 +04 +02 +00 +FD +FB +F7 +F6 +F2 +F1 +ED +EC +EA +E8 +E6 +E4 +E1 +E1 +E0 +DD +DB +DB +D8 +D8 +D6 +D5 +D3 +D3 +D1 +D1 +CF +CF +CD +CD +CB +CB +CA +CA +C8 +C8 +C8 +C6 +C7 +C5 +C6 +C4 +C5 +C4 +C2 +C4 +C3 +C1 +C2 +C1 +C1 +C1 +C1 +BF +C0 +BF +C0 +BF +C0 +BF +C0 +BF +C0 +BE +BF +BE +BF +BE +BE +BF +BE +BF +BE +BF +BF +C1 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C2 +C0 +C2 +C1 +C1 +C2 +C2 +C1 +C2 +C2 +C3 +C2 +C3 +C2 +C4 +C3 +C5 +C4 +C5 +C6 +C5 +C5 +C7 +C5 +C7 +C7 +C7 +C7 +C8 +C8 +CA +C9 +C9 +CA +C9 +CB +CB +CB +CC +CC +CD +CC +CE +CD +CF +D0 +CE +D0 +D1 +CF +D1 +D2 +D0 +D2 +D2 +D2 +D2 +D4 +D2 +D3 +D4 +D4 +D4 +D4 +D6 +D4 +D4 +D6 +D6 +D6 +D5 +D7 +D8 +D7 +D8 +D9 +D7 +D9 +DA +D8 +DA +D9 +DB +D9 +DB +DA +DC +DA +DC +DB +DC +DB +DD +DD +DD +DE +DD +DF +DD +DF +DF +DF +DF +DF +E1 +E0 +DF +E1 +E1 +E1 +E0 +E2 +E3 +E1 +E3 +E4 +E2 +E4 +E3 +EA +F3 +FC +01 +07 +09 +0D +11 +13 +17 +1A +1E +1F +22 +26 +28 +2B +2E +30 +33 +33 +37 +39 +3C +3D +3E +41 +41 +43 +45 +45 +48 +48 +4B +4B +4D +4E +4E +50 +51 +51 +53 +53 +54 +54 +56 +56 +57 +57 +58 +58 +58 +5A +58 +5A +5A +5A +5B +5C +5C +5C +5C +5B +5D +5C +5C +5D +5D +5C +5D +5D +5D +5C +5C +5C +5B +5C +5B +5C +5B +5C +5A +5B +5B +5A +5A +59 +5A +59 +57 +59 +58 +58 +58 +57 +55 +57 +56 +56 +55 +54 +55 +54 +54 +54 +53 +52 +53 +52 +51 +51 +4F +51 +4F +50 +4F +4F +4F +4D +4E +4C +4D +4C +4C +4B +4B +4B +4A +49 +49 +48 +48 +48 +47 +46 +46 +45 +45 +44 +44 +44 +42 +43 +41 +42 +41 +40 +41 +3F +40 +3F +3E +3E +3D +3D +3C +3C +3B +3B +3B +3A +39 +3A +38 +39 +37 +38 +37 +37 +35 +36 +34 +35 +33 +34 +34 +33 +33 +32 +32 +30 +31 +2F +30 +2C +23 +18 +11 +0A +07 +02 +00 +FC +F8 +F5 +F1 +EE +EA +E8 +E5 +E3 +DF +DD +D9 +D8 +D4 +D3 +D1 +CF +CE +CA +CC +D2 +DC +E0 +E4 +E6 +E7 +EA +EB +EE +EF +F1 +F3 +F5 +F6 +F8 +F9 +FB +FC +FE +FE +FF +01 +01 +03 +03 +06 +05 +07 +08 +09 +09 +0B +0A +0C +0C +0E +0F +0E +10 +0F +11 +10 +12 +12 +12 +13 +12 +14 +15 +14 +14 +15 +16 +14 +16 +16 +17 +16 +17 +16 +16 +18 +16 +18 +18 +17 +18 +17 +18 +17 +18 +17 +18 +17 +18 +17 +18 +17 +18 +17 +18 +17 +18 +18 +18 +18 +17 +17 +17 +17 +15 +15 +17 +15 +17 +15 +17 +17 +16 +15 +16 +15 +16 +15 +15 +14 +14 +14 +14 +14 +12 +14 +12 +14 +12 +12 +12 +13 +13 +11 +11 +12 +12 +11 +11 +0F +11 +0F +10 +0E +10 +0F +0F +0D +0E +0F +0D +0D +0D +0D +0E +0C +0C +0C +0C +0B +0B +0B +0B +09 +0A +0A +0A +0A +09 +09 +0A +08 +08 +07 +09 +07 +09 +07 +08 +06 +08 +07 +07 +06 +07 +06 +06 +04 +06 +05 +05 +06 +04 +04 +04 +04 +05 +03 +03 +02 +04 +02 +02 +03 +02 +03 +02 +00 +02 +01 +01 +02 +00 +00 +01 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +FE +00 +FE +00 +FE +FE +FE +FF +FE +FF +FE +FE +FC +FE +FC +FE +FC +FB +FD +FB +FC +FD +FB +FB +FC +FB +FB +FB +FB +F9 +FA +FA +FA +FB +F9 +FA +F8 +FA +F9 +F8 +FA +F9 +F7 +F8 +F8 +F8 +F2 +E8 +DF +D7 +D3 +CF +CC +C8 +C5 +C1 +BF +BC +B8 +B6 +B2 +B0 +AE +AB +A9 +A7 +A3 +A3 +A0 +9F +9E +9A +9A +97 +97 +94 +94 +93 +91 +90 +8F +8D +8D +8C +8A +8B +89 +89 +87 +87 +86 +86 +85 +85 +85 +84 +84 +83 +83 +83 +82 +82 +81 +82 +80 +81 +80 +81 +80 +81 +80 +81 +80 +81 +81 +83 +81 +82 +81 +82 +81 +83 +83 +83 +82 +83 +83 +85 +83 +85 +84 +85 +86 +86 +86 +87 +88 +87 +87 +87 +88 +89 +88 +8A +89 +8B +8A +8B +8B +8D +8C +8E +8D +8E +8F +8F +8F +90 +90 +91 +92 +93 +92 +94 +93 +95 +95 +96 +96 +97 +97 +99 +98 +9A +9B +9A +9C +9B +9D +9D +9E +9E +9F +A0 +A0 +A2 +A1 +A3 +A2 +A4 +A5 +A4 +A6 +A6 +A7 +A7 +A8 +A9 +A8 +AA +AA +AB +AB +AC +AD +AD +AE +AE +AF +AF +AF +B1 +B0 +B2 +B1 +B3 +B3 +B3 +B4 +B5 +B4 +B6 +B5 +B7 +B6 +B8 +B8 +B9 +B9 +BA +BA +BB +BB +BC +BD +BC +BE +BD +BE +BE +BF +BF +C0 +C0 +C1 +C1 +C2 +C3 +C2 +C3 +C3 +C5 +C5 +C5 +C6 +C6 +C8 +C8 +C8 +C9 +C8 +CA +C9 +CB +CA +CC +CC +CC +CD +CD +CE +CF +CE +D0 +CE +D0 +D0 +D0 +D1 +D1 +D2 +D2 +D2 +D4 +D3 +D5 +D3 +D5 +D5 +D5 +D5 +D6 +D6 +D7 +D7 +D8 +D8 +D8 +D8 +D9 +D8 +DA +DA +DA +DA +DC +DA +DC +DB +DD +DB +DD +DD +DD +DD +DD +DE +DF +DE +DE +DE +E0 +DF +DF +E1 +DF +E1 +E1 +E1 +E1 +E1 +E3 +E1 +E2 +E2 +E4 +E3 +E4 +E4 +E5 +E4 +E4 +E5 +E4 +E5 +E4 +E6 +E6 +E6 +E6 +E6 +E8 +E7 +E7 +E7 +E7 +E8 +E8 +E8 +E9 +E9 +EA +E9 +E9 +EA +EB +EA +EB +EA +EC +EA +EC +ED +EB +EC +EC +EC +ED +ED +ED +ED +EF +ED +EF +ED +EF +EE +F0 +EF +EF +F0 +F0 +F4 +FE +08 +0D +14 +16 +1B +1F +22 +24 +29 +2B +2F +31 +35 +37 +3A +3C +3F +41 +44 +44 +48 +49 +4C +4D +50 +52 +52 +55 +56 +56 +59 +59 +5C +5C +5E +5F +5F +61 +61 +63 +64 +64 +65 +65 +67 +66 +68 +67 +69 +69 +69 +6B +6A +6B +6C +6A +6C +6C +6D +6C +6D +6B +6D +6E +6D +6E +6D +6E +6D +6B +6D +6C +6D +6D +6C +6D +6B +6C +6B +6C +6A +6B +69 +6B +6A +69 +66 +5B +51 +48 +44 +3F +3C +38 +34 +30 +2D +2A +25 +23 +1F +1D +19 +17 +13 +12 +0E +0D +09 +08 +04 +03 +02 +FF +FF +FB +FB +F9 +F7 +F5 +F5 +F2 +F2 +F0 +EF +EC +EC +EA +EA +E8 +E8 +E7 +E5 +E5 +E3 +E3 +E1 +E2 +E1 +DF +E0 +DF +DD +DE +DC +DD +DB +DA +DB +DB +D9 +DA +D8 +DA +D8 +D8 +D8 +D8 +D8 +D6 +D8 +D6 +D8 +D6 +D6 +D6 +D6 +D6 +D5 +D6 +D5 +D6 +D6 +D5 +D6 +D5 +D6 +D5 +D6 +D5 +D6 +D6 +D5 +D6 +D6 +D6 +D5 +D6 +D5 +D7 +D7 +D7 +D8 +D6 +D7 +D6 +D7 +D7 +D9 +D8 +D7 +D8 +D8 +DA +D8 +D9 +D9 +DB +D9 +DB +DA +DC +DC +DC +DB +DD +DE +DC +DE +DE +DE +DE +E0 +DE +DF +DF +E1 +DF +E0 +E2 +E0 +E2 +E2 +E1 +E2 +E2 +E4 +E2 +E3 +E3 +E5 +E4 +E3 +E5 +E5 +E5 +E5 +E6 +E6 +E5 +E6 +E8 +E6 +E7 +E7 +E9 +E8 +E8 +E8 +EA +E8 +E9 +E9 +EB +E9 +EA +EC +EA +EC +EB +ED +EC +EB +ED +ED +ED +ED +EE +EE +EF +ED +EF +ED +EE +EE +F0 +EF +F0 +EE +EF +EF +F1 +EF +F1 +EF +F0 +F0 +F2 +F1 +F0 +F1 +F1 +F3 +F1 +F3 +F1 +F3 +F2 +F4 +F3 +F2 +F4 +F4 +F4 +F4 +F6 +F4 +F4 +F6 +F4 +F6 +F5 +F5 +F7 +F6 +F6 +F7 +F6 +F6 +F8 +F7 +F7 +F8 +F6 +F8 +F8 +F8 +F8 +F8 +F9 +F9 +FA +F8 +FA +F8 +FA +FB +FB +F9 +FB +F9 +FB +FC +FA +FB +FB +FB +FC +FC +FC +FC +FC +FC +FC +FB +FD +FE +FC +FD +FD +FD +FD +FD +FF +FD +FF +FE +FD +FE +FE +FE +FE +00 +FF +FE +00 +FE +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +00 +00 +00 +FF +00 +00 +01 +FF +01 +00 +01 +01 +02 +00 +01 +02 +03 +02 +03 +03 +02 +03 +02 +02 +03 +04 +02 +04 +02 +03 +03 +05 +04 +04 +05 +03 +04 +04 +04 +08 +14 +1D +24 +28 +2C +2F +33 +36 +3A +3C +40 +42 +46 +48 +4B +4E +50 +52 +54 +58 +59 +5B +5D +5E +60 +63 +63 +65 +66 +68 +6A +6B +6B +6D +6E +6E +6F +70 +70 +71 +70 +72 +71 +71 +72 +72 +73 +73 +72 +73 +72 +73 +73 +72 +73 +72 +73 +71 +72 +71 +72 +72 +70 +70 +70 +71 +70 +6E +70 +6E +6F +6F +6E +6E +6D +6D +6D +6B +6D +6C +6A +6C +6A +6B +6B +6A +6A +6A +69 +69 +68 +68 +68 +67 +67 +67 +66 +66 +65 +60 +54 +4D +46 +42 +3D +3B +35 +33 +2F +2C +28 +26 +23 +20 +1D +19 +18 +14 +12 +0F +0D +0A +0A +07 +04 +02 +01 +00 +FF +FC +FB +F8 +F8 +F5 +F5 +F2 +F2 +F0 +F0 +EE +ED +EB +EC +E9 +EA +E8 +E8 +E7 +E5 +E5 +E3 +E3 +E2 +E2 +E0 +E1 +DF +E0 +DE +DF +DD +DE +DD +DC +DC +DB +DB +DA +DC +DB +DA +DA +DA +D8 +D9 +D8 +D8 +D9 +D9 +D9 +D7 +D8 +D9 +D8 +D8 +D8 +D8 +D8 +D7 +D8 +D8 +D8 +D8 +D8 +D8 +DC +E7 +EE +F4 +FA +FC +00 +02 +06 +09 +0C +0F +12 +14 +17 +19 +1C +1E +21 +22 +24 +27 +27 +2B +2D +2D +30 +30 +33 +33 +36 +37 +37 +39 +3A +3A +3D +3C +3E +3F +40 +41 +42 +42 +42 +44 +44 +45 +45 +46 +46 +47 +47 +48 +48 +49 +48 +4A +48 +4A +4B +49 +4B +49 +4B +48 +40 +35 +2F +29 +27 +23 +20 +1C +1A +17 +13 +11 +0D +0C +08 +07 +03 +02 +FF +FE +FC +FA +F7 +F7 +F3 +F3 +F0 +EF +ED +ED +EA +EA +E7 +E7 +E5 +E5 +E3 +E3 +E1 +E1 +DF +DF +DD +DD +DB +DB +D9 +DA +D8 +D8 +D7 +D7 +D6 +D6 +D6 +D4 +D5 +D3 +D3 +D2 +D3 +D2 +D3 +D1 +D1 +D1 +D1 +D0 +CF +D1 +CF +D0 +CE +D0 +CF +CE +CF +CE +CF +CF +CE +CF +CE +CE +CE +CD +CE +CE +CE +CE +CF +CF +CF +CE +CF +CE +CF +CE +CF +CF +D0 +CE +D0 +CF +CF +D0 +D0 +D0 +D0 +D1 +D0 +D1 +D0 +D2 +D2 +D2 +D2 +D2 +D2 +D4 +D2 +D4 +D3 +D4 +D4 +D6 +D5 +D5 +D6 +D5 +D7 +D6 +D7 +D8 +D7 +D7 +D8 +D8 +DE +E7 +F0 +F5 +FA +FE +00 +04 +07 +0B +0E +11 +13 +17 +18 +1C +1D +21 +24 +21 +19 +12 +0E +0C +0A +08 +07 +05 +04 +02 +01 +FF +FF +FE +FC +FC +FA +FA +F8 +F8 +F6 +F6 +F4 +F4 +F2 +F2 +F0 +F1 +EF +EF +EF +ED +ED +ED +EB +EC +EA +EB +E9 +EA +E8 +EA +E9 +E7 +E9 +E7 +E7 +E7 +E7 +E6 +E5 +E6 +E6 +E6 +E6 +E5 +E5 +E5 +E4 +E4 +E5 +E3 +E4 +E3 +E4 +E4 +E4 +E4 +E4 +E4 +E4 +E3 +E3 +E3 +E2 +E4 +E2 +E3 +E4 +E3 +E4 +E4 +E4 +E3 +E4 +E4 +E3 +E4 +E3 +E4 +E3 +E4 +E4 +E6 +E4 +E6 +E5 +E7 +E5 +E7 +E7 +E7 +E7 +E6 +E8 +E6 +E8 +E8 +E8 +E8 +E9 +F1 +FB +01 +07 +0B +0D +12 +14 +18 +1B +1E +21 +24 +27 +2A +2B +2F +31 +34 +35 +37 +3A +3A +3E +3F +41 +42 +44 +45 +47 +48 +4A +4A +4C +4D +4E +4F +50 +51 +52 +52 +53 +53 +55 +55 +56 +56 +57 +58 +58 +59 +5A +58 +5A +5A +59 +5B +57 +4F +44 +3F +39 +37 +33 +30 +2D +2A +27 +23 +21 +1D +1C +18 +17 +15 +11 +0F +0D +0B +09 +07 +05 +04 +00 +00 +FF +FD +FB +FA +F9 +F7 +F6 +F5 +F4 +F2 +F2 +F0 +F0 +EE +EE +EC +EC +EA +EA +E8 +E9 +E7 +E7 +E7 +E6 +E5 +E3 +E4 +E2 +E3 +E2 +E1 +E1 +E1 +E1 +E0 +E0 +E2 +E9 +F4 +F9 +FF +01 +03 +07 +09 +0D +0F +13 +14 +18 +19 +1D +1F +22 +23 +25 +27 +29 +2C +2C +2F +30 +32 +33 +35 +35 +37 +39 +39 +3B +3B +3C +3E +3E +40 +41 +41 +41 +43 +43 +44 +45 +44 +46 +46 +47 +46 +48 +47 +48 +49 +47 +49 +4A +4A +49 +49 +4B +4A +4B +4A +4B +4B +4B +4A +4B +4A +4B +4A +4B +4A +4B +4A +48 +4A +4A +49 +4A +49 +49 +47 +49 +48 +48 +47 +47 +47 +47 +46 +46 +46 +47 +46 +44 +46 +44 +44 +44 +44 +42 +44 +43 +43 +42 +42 +40 +42 +40 +40 +40 +40 +3F +3F +3E +3F +3E +3E +3D +3C +3D +3C +3C +3B +3A +3A +3A +39 +39 +38 +39 +37 +37 +36 +37 +35 +36 +35 +34 +35 +33 +33 +33 +32 +32 +32 +31 +31 +30 +30 +2E +30 +2E +2F +2F +2E +2D +2C +2D +2B +2B +2C +2A +2B +29 +29 +2A +28 +29 +27 +27 +28 +26 +26 +26 +26 +25 +25 +24 +24 +23 +24 +1E +12 +0A +03 +00 +FC +F8 +F4 +F1 +ED +EA +E7 +E4 +E0 +DE +DA +D9 +D5 +D3 +D1 +CE +CC +CA +C8 +C6 +C4 +C2 +C1 +BE +BE +BC +BB +B9 +B8 +B7 +B4 +B4 +B2 +B2 +B0 +B0 +AE +AE +AC +AC +AC +AA +AA +A9 +A9 +A8 +A8 +A6 +A7 +A5 +A6 +A5 +A5 +A5 +A3 +A4 +A4 +A3 +A3 +A2 +A3 +A2 +A4 +A2 +A2 +A1 +A1 +A2 +A1 +A2 +A1 +A2 +A2 +A1 +A3 +A2 +A3 +A2 +A3 +A2 +A4 +A2 +A4 +A4 +A4 +A4 +A4 +A5 +A5 +A5 +A6 +A7 +A5 +A7 +A7 +A7 +A7 +A9 +A7 +A9 +A9 +A9 +AA +B2 +BD +C4 +CA +CF +D2 +D6 +D8 +DD +DF +E4 +E6 +EA +EC +F0 +F1 +F5 +F6 +FA +FC +FE +FF +03 +04 +06 +08 +09 +02 +F9 +F5 +F1 +EF +ED +EB +EA +E7 +E7 +E3 +E3 +E0 +E0 +DD +DD +DB +D9 +D8 +D6 +D6 +D5 +D3 +D3 +D2 +D0 +D0 +CE +CF +CE +CC +CC +CB +CB +CA +CA +CA +C8 +C9 +C7 +C7 +C6 +C7 +C5 +C7 +C6 +C4 +C6 +C5 +C3 +C4 +C4 +C4 +C3 +C4 +C3 +C3 +C3 +C3 +C2 +C3 +C2 +C3 +C3 +C2 +C3 +C3 +C2 +C3 +C3 +C2 +C3 +C3 +C2 +C3 +C2 +C4 +C4 +C4 +C4 +C4 +C4 +C5 +C6 +C5 +C5 +C5 +C4 +C6 +C6 +C6 +C5 +C7 +C7 +C6 +C7 +C6 +C8 +C8 +C8 +C8 +CA +C8 +C9 +C8 +CA +CA +CA +C9 +CB +CB +CB +CC +CD +CD +CD +CD +CE +CE +CF +CF +CF +CF +D1 +CF +D1 +D2 +D0 +D2 +D2 +D2 +D3 +D3 +D3 +D2 +D4 +D4 +D4 +D5 +D6 +D5 +D5 +D6 +D5 +D6 +D6 +D8 +D6 +D8 +D8 +D9 +D9 +D9 +D9 +DB +DB +DB +DB +DA +DC +DD +DC +DC +DD +DD +DF +DE +DD +DE +DE +E0 +DF +E0 +E0 +E1 +E0 +E1 +E2 +E0 +E1 +E1 +E3 +E2 +E3 +E3 +E4 +E3 +E4 +E4 +E5 +E5 +E5 +EA +F5 +FC +02 +06 +0A +0E +10 +15 +17 +1B +1D +21 +24 +27 +28 +2C +2E +31 +32 +34 +37 +39 +3B +3C +3F +41 +41 +43 +44 +45 +48 +48 +4A +4B +4B +4D +4D +4F +4F +51 +51 +53 +54 +54 +55 +55 +56 +57 +57 +58 +59 +59 +59 +5A +58 +5A +5A +5B +59 +5B +5C +5C +5C +5C +5B +5C +5B +5C +5B +5B +5C +5B +5C +5B +5C +5B +5B +5B +5B +5A +5B +5A +5A +5A +59 +5A +58 +59 +58 +59 +57 +57 +58 +56 +56 +56 +56 +55 +56 +54 +54 +54 +54 +54 +52 +52 +52 +52 +52 +50 +51 +50 +50 +50 +4E +4F +4D +4E +4E +4C +4D +4C +4B +4B +4A +4A +4A +48 +49 +48 +47 +48 +46 +47 +45 +46 +44 +45 +43 +44 +43 +43 +42 +42 +41 +41 +40 +41 +40 +3F +3F +3D +3F +3D +3E +3C +3D +3D +3B +3B +3A +3A +39 +39 +38 +39 +38 +37 +37 +36 +36 +36 +2E +24 +1B +15 +0F +0C +08 +04 +FF +FE +F9 +F7 +F3 +F1 +ED +EB +E7 +E6 +E2 +E0 +DD +DC +D9 +D7 +D5 +D2 +D1 +CF +CD +CC +CB +C7 +C7 +C5 +C4 +C2 +C1 +C0 +BE +BE +BD +BC +BA +BA +B9 +B9 +B7 +B7 +B6 +B6 +B4 +B5 +B4 +B4 +B3 +B3 +B1 +B3 +BA +C5 +CC +D0 +D4 +D6 +DA +DC +E1 +E4 +E5 +E9 +EB +EE +F1 +F2 +F6 +F6 +FA +FA +FD +FF +00 +03 +03 +06 +06 +09 +09 +0C +0C +0F +0F +11 +11 +13 +14 +16 +15 +17 +17 +19 +19 +1B +1B +1D +1C +1E +1E +1F +20 +1F +21 +21 +21 +22 +23 +22 +24 +22 +24 +24 +25 +24 +24 +25 +25 +25 +25 +26 +26 +26 +26 +27 +27 +26 +27 +26 +27 +26 +27 +27 +27 +26 +27 +26 +27 +26 +26 +26 +27 +26 +24 +26 +24 +26 +25 +25 +25 +25 +24 +25 +25 +25 +24 +24 +24 +22 +24 +23 +23 +24 +22 +23 +22 +23 +22 +22 +22 +20 +22 +20 +21 +20 +21 +1F +1F +1F +20 +1E +1E +1E +1F +1D +1D +1D +1E +1C +1C +1D +1B +1B +1A +1C +1A +1A +1B +1A +1A +18 +1A +19 +19 +17 +19 +18 +18 +16 +18 +16 +17 +15 +17 +16 +14 +16 +14 +14 +15 +13 +15 +14 +12 +13 +13 +13 +12 +12 +12 +12 +10 +12 +10 +12 +11 +10 +10 +10 +0F +10 +0F +0F +0D +0F +0F +0E +0D +0E +0D +0D +0C +0D +0D +0C +0A +0B +0B +0B +0A +0B +09 +0B +09 +09 +08 +0A +09 +08 +08 +09 +09 +07 +07 +07 +07 +08 +07 +07 +05 +07 +05 +07 +05 +06 +04 +06 +05 +05 +04 +04 +05 +05 +03 +03 +03 +04 +03 +02 +02 +03 +02 +01 +03 +01 +01 +01 +01 +01 +01 +FF +00 +01 +FF +01 +01 +00 +FF +00 +FF +00 +00 +FE +FF +FE +FF +FE +00 +00 +FE +FE +FD +FF +FD +FD +FD +FE +FC +FE +FC +FC +FB +FD +FC +FB +FD +FC +FD +FD +FC +FB +FB +FB +FB +FB +FC +FA +FC +FC +FA +FA +FA +FA +F9 +FB +FA +FA +F8 +FA +F9 +F9 +F9 +FA +F8 +F8 +F9 +F7 +F9 +F9 +F7 +F7 +F7 +F6 +F7 +F7 +F7 +F6 +F8 +F7 +F6 +F7 +F5 +F7 +F6 +F6 +F6 +F6 +F4 +F5 +F4 +F5 +F4 +F5 +F5 +F5 +F3 +F5 +F3 +F4 +F4 +F4 +F4 +F5 +F3 +F3 +F4 +F2 +F3 +F3 +F2 +F3 +F3 +F2 +F4 +F2 +F4 +F2 +F2 +F2 +F2 +F2 +F1 +F2 +F1 +F2 +F2 +F2 +F2 +F2 +F0 +F1 +F2 +F0 +F2 +F0 +F1 +F0 +F1 +F0 +F1 +F1 +F1 +F2 +F0 +F1 +EF +F1 +EF +EA +DF +D6 +D1 +CB +C9 +C4 +C2 +BE +BC +B7 +B5 +B2 +B0 +AD +A9 +A8 +A5 +A3 +A1 +9F +9C +9B +98 +98 +95 +94 +92 +92 +90 +8E +8E +8C +8C +8A +8A +88 +87 +87 +85 +85 +84 +84 +82 +83 +82 +81 +81 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +82 +81 +82 +81 +83 +83 +82 +84 +83 +85 +85 +84 +86 +86 +86 +87 +86 +88 +87 +8E +99 +A1 +A9 +AE +B0 +B5 +B8 +BD +C0 +C4 +C7 +CB +CE +D2 +D4 +D8 +DA +DE +DF +E3 +E4 +E8 +E9 +ED +ED +F1 +F1 +F4 +F6 +F8 +FA +FC +FC +00 +FF +01 +02 +04 +04 +07 +07 +09 +09 +0C +0D +0D +0F +0F +11 +10 +12 +12 +14 +15 +15 +15 +17 +16 +18 +18 +18 +1A +19 +1B +1A +1C +1B +1D +1C +1C +1E +1C +1D +1F +1E +1E +1E +1F +20 +20 +1E +20 +20 +21 +20 +20 +21 +20 +21 +21 +20 +21 +20 +21 +21 +20 +21 +20 +21 +20 +21 +21 +1F +21 +20 +21 +1F +18 +0D +05 +00 +FB +F8 +F5 +F0 +EE +EA +E7 +E3 +E1 +DD +DC +D8 +D7 +D3 +D2 +CF +CD +CB +C8 +C8 +C5 +C4 +C1 +C0 +BE +BE +BC +BA +B9 +B7 +B6 +B6 +B4 +B4 +B2 +B2 +B0 +B1 +B0 +AE +AE +AD +AD +AC +AC +AB +AB +AA +AA +A9 +A9 +A9 +A9 +A7 +A8 +A8 +A8 +A8 +A6 +A7 +A6 +A7 +A6 +A7 +A7 +A7 +A7 +A7 +A7 +A7 +A7 +A8 +A8 +A7 +A8 +A8 +A8 +A8 +A9 +A9 +A8 +A9 +A9 +AA +A9 +AA +AB +AB +AB +AB +AC +AD +AC +AD +AE +AD +AE +AF +AE +AF +AF +AF +B1 +AF +B1 +B0 +B2 +B2 +B2 +B2 +B3 +B2 +B4 +B4 +B5 +B5 +B6 +B7 +B6 +B8 +B7 +B9 +B8 +BA +BA +BA +BB +BA +BC +BC +BD +BE +BD +BF +BE +C0 +BF +C1 +C1 +C2 +C3 +C2 +C4 +C3 +C5 +C5 +C5 +C6 +C5 +C7 +C7 +C7 +C8 +C8 +C9 +C9 +CA +CA +CA +CC +CA +D1 +DB +E5 +EB +EF +F5 +F7 +FB +FF +02 +04 +08 +0C +0E +12 +14 +18 +1A +1D +1F +22 +25 +25 +29 +2B +2D +2F +31 +31 +35 +36 +38 +3A +3B +3B +3E +3F +3F +41 +41 +44 +44 +45 +46 +46 +48 +49 +48 +4A +4A +4C +4D +4C +4E +4D +4F +4F +4E +50 +50 +50 +50 +51 +52 +51 +52 +51 +53 +51 +53 +52 +53 +52 +53 +52 +52 +52 +54 +54 +53 +54 +53 +51 +53 +52 +53 +52 +53 +52 +53 +52 +52 +50 +52 +51 +52 +51 +4F +51 +50 +51 +50 +4E +50 +4E +4F +4D +4F +4E +4D +4E +4D +4D +4B +4D +4B +4B +4C +4B +49 +4B +49 +4A +49 +47 +49 +47 +47 +47 +47 +46 +46 +46 +45 +45 +43 +45 +44 +42 +44 +42 +43 +41 +41 +41 +41 +3F +40 +3F +3F +3F +3D +3F +3E +3D +3E +3C +3D +3B +3C +3A +3A +3A +3A +39 +39 +39 +38 +38 +38 +37 +37 +35 +37 +35 +35 +36 +34 +34 +34 +34 +33 +33 +32 +31 +28 +1C +15 +0E +09 +07 +03 +00 +FC +F9 +F6 +F2 +EE +EC +E8 +E6 +E4 +E0 +DF +DC +D8 +D7 +D4 +D3 +D0 +CF +CD +CA +CA +C7 +C7 +C5 +C4 +C1 +C1 +BF +BF +BD +BD +BC +BB +BA +B8 +B8 +B6 +B6 +B5 +B5 +B4 +B4 +B3 +B3 +B1 +B2 +B0 +B1 +AF +B0 +AF +AF +AE +B0 +AE +AE +AD +AE +AD +AE +AD +AE +AE +AE +AD +AE +AD +AE +AD +AE +AE +AE +AD +AE +AD +AF +AF +AF +B0 +AF +AF +B0 +AF +B0 +B0 +B2 +B0 +B2 +B2 +B2 +B3 +B5 +BC +C9 +CF +D6 +D9 +DC +E2 +E4 +E9 +EB +F0 +F2 +F6 +F8 +FC +FE +01 +03 +06 +09 +0B +0E +0E +12 +14 +16 +18 +19 +1B +1D +1F +20 +22 +23 +25 +27 +27 +29 +2A +2C +2C +2E +2F +30 +30 +32 +32 +33 +33 +35 +34 +36 +36 +38 +37 +37 +3A +36 +2C +23 +1B +17 +13 +11 +0D +0B +07 +05 +01 +00 +FD +FC +F8 +F6 +F4 +F2 +F0 +EE +EC +EB +E8 +E6 +E5 +E2 +E2 +E0 +DF +DD +DC +DB +D9 +D9 +D7 +D7 +D5 +D5 +D4 +D3 +D2 +D0 +D0 +CF +CF +CD +CE +CD +CC +CC +CB +CB +CA +CB +CA +C8 +C9 +CA +C8 +C9 +C8 +C7 +C9 +C7 +C7 +C6 +C7 +C6 +C7 +C6 +C7 +C6 +C7 +C6 +C7 +C6 +C7 +C6 +C6 +C7 +C6 +C7 +C7 +C8 +CF +DA +E1 +E9 +EC +F0 +F3 +F7 +FB +FE +01 +04 +08 +0B +0D +0F +13 +15 +18 +19 +1D +1D +20 +22 +25 +25 +29 +2A +2C +2E +2E +31 +32 +33 +33 +2A +21 +1C +16 +14 +12 +10 +0D +0B +08 +06 +04 +02 +00 +FF +FD +FB +F9 +F8 +F6 +F5 +F3 +F2 +F0 +EF +ED +ED +EC +EB +E9 +E8 +E8 +E7 +E6 +E5 +E4 +E2 +E2 +E0 +E1 +DF +E0 +DE +DF +DD +DE +DD +DC +DC +DA +DB +DB +DB +DA +DA +D8 +DA +D9 +D7 +D8 +D8 +D8 +D6 +D7 +D8 +D6 +D7 +D6 +D7 +D6 +D7 +D7 +D6 +D7 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D7 +D7 +D7 +D8 +D7 +D9 +D7 +D8 +D8 +DA +D8 +DA +D8 +DA +DA +DA +D9 +DA +DB +DB +DB +DB +DB +DC +DC +DE +DD +DC +DE +DE +DE +DF +E0 +DF +E0 +E1 +E0 +E1 +E2 +E1 +E2 +E3 +E3 +E4 +E3 +E2 +E4 +E4 +E4 +E4 +E6 +E4 +E5 +E6 +E6 +E6 +E7 +E7 +E7 +E8 +E8 +E8 +E8 +E9 +EA +E9 +E9 +EA +EB +EA +EA +EC +EB +EB +EB +ED +EC +EC +EE +EC +EE +ED +EF +ED +EF +EE +EF +EE +EF +EF +F1 +F0 +EF +F1 +F2 +F0 +F2 +F1 +F3 +F1 +F2 +F2 +F4 +F2 +F3 +F3 +F5 +F3 +F5 +F5 +F5 +F5 +F5 +F6 +F9 +03 +0C +14 +19 +1B +20 +22 +27 +29 +2E +31 +33 +37 +39 +3D +3E +42 +43 +47 +48 +4C +4E +50 +50 +53 +54 +57 +58 +59 +5B +5B +5E +5E +60 +61 +63 +63 +65 +65 +67 +67 +68 +68 +6A +6A +6B +6B +6D +6C +6D +6D +6E +6F +6D +6F +6F +70 +6F +70 +6F +71 +70 +71 +70 +71 +70 +71 +70 +71 +70 +70 +70 +6E +70 +6F +70 +70 +6F +6E +6F +6F +6D +6E +6D +6E +6D +6D +6C +6D +6C +6A +6C +6B +69 +6B +6A +69 +69 +68 +69 +68 +66 +67 +67 +65 +66 +65 +65 +63 +64 +62 +63 +62 +62 +61 +61 +60 +60 +60 +5E +5F +5D +5E +5C +5D +5B +5C +5A +5B +59 +5A +59 +58 +58 +58 +56 +57 +55 +55 +55 +54 +54 +53 +53 +51 +52 +50 +51 +50 +50 +4E +4F +4D +4E +4D +4C +4C +4B +4A +4A +49 +49 +49 +47 +48 +46 +47 +45 +46 +44 +45 +43 +44 +43 +43 +41 +42 +40 +41 +40 +3F +40 +3F +3E +3F +3D +3E +3C +3D +3B +3C +3A +3B +3A +39 +3A +39 +38 +38 +38 +36 +37 +35 +36 +35 +34 +35 +33 +34 +32 +33 +32 +32 +32 +30 +31 +2F +30 +2F +2F +2E +2E +2D +2E +2C +2C +2C +2B +2B +29 +2B +2A +29 +29 +27 +29 +27 +28 +26 +26 +26 +26 +25 +24 +24 +24 +24 +23 +23 +22 +22 +23 +22 +22 +21 +20 +20 +20 +1E +1F +1D +1F +1E +1D +1E +1D +1C +1C +1C +1A +1C +1A +1A +1A +1B +1A +18 +1A +18 +18 +18 +18 +17 +18 +17 +16 +16 +16 +15 +15 +16 +15 +15 +15 +13 +13 +13 +13 +11 +13 +12 +12 +10 +12 +11 +0F +11 +10 +10 +0E +0F +0F +0F +0F +0D +0F +0D +0E +0C +0E +0D +0D +0B +0D +0C +0C +0C +0A +0C +0A +0A +09 +0B +0A +09 +09 +0A +08 +09 +07 +09 +07 +08 +06 +08 +08 +06 +06 +05 +07 +06 +05 +05 +05 +06 +04 +04 +03 +05 +03 +05 +03 +04 +02 +03 +03 +02 +02 +02 +02 +01 +03 +01 +01 +01 +01 +01 +01 +01 +00 +FF +01 +FF +01 +FF +00 +FF +00 +FF +00 +00 +FE +FF +FF +FF +00 +FF +FF +FD +FF +FD +FF +FD +FE +FD +FF +FE +FD +FD +FC +FC +FC +FC +FD +FC +FC +FA +FC +FB +FA +FC +FA +FA +F9 +FB +FA +F9 +F9 +F9 +F9 +F9 +F9 +FA +F8 +F8 +F8 +F8 +F8 +F8 +F9 +F7 +F7 +F8 +F6 +F7 +F7 +F7 +F6 +F8 +F6 +F8 +F6 +F6 +F5 +F7 +F5 +F7 +F6 +F6 +F7 +F6 +F5 +F4 +F6 +F5 +F6 +F4 +F6 +F5 +F5 +F3 +F5 +F3 +F4 +F3 +F4 +F4 +F4 +F4 +F4 +F2 +F3 +F4 +F2 +F4 +F2 +F4 +F3 +F3 +F3 +F1 +F2 +F2 +F2 +F2 +F2 +F2 +F1 +F2 +F1 +F2 +F3 +F2 +F2 +F2 +F0 +F1 +F2 +F0 +F2 +F0 +F1 +F1 +F1 +F1 +F2 +F0 +F0 +F1 +EF +F0 +F0 +EF +F0 +EF +F0 +F0 +F0 +F0 +F0 +EE +EE +F0 +EE +F0 +EF +EF +EE +EF +EE +EF +EF +EE +EF +EF +EE +EF +EF +EF +EF +EE +EE +EE +EE +ED +EE +ED +EE +EE +ED +EE +ED +EE +ED +EE +ED +EE +EE +ED +EE +ED +EE +ED +EE +EE +EE +EE +EE +EF +EE +EE +EF +EE +EE +EE +ED +ED +ED +EC +ED +EC +ED +EC +ED +EC +ED +EC +ED +ED +EC +ED +EC +EE +EC +ED +EE +ED +EC +ED +EC +EC +EC +EC +EC +EC +EC +EC +EB +EC +EB +EB +EC +EB +EC +EB +EC +EC +EC +ED +EB +ED +EB +EB +EB +EC +EA +EB +EA +EB +EB +EA +EB +EA +EB +EB +EB +EB +EB +EA +EB +EA +EB +EA +EB +EA +EA +EB +EA +EB +EA +EB +EA +EA +EB +EA +EB +EA +EB +EA +EB +EA +EB +EA +EB +EA +EB +EA +EB +EB +EB +EB +EB +EA +EA +E1 +D8 +D0 +CB +C8 +C4 +C2 +BF +BB +B9 +B5 +B3 +AF +AE +AA +A9 +A5 +A4 +A2 +A0 +9E +9D +9C +A2 +AB +B0 +B3 +B6 +B8 +B9 +BD +BD +BF +C2 +C2 +C6 +C6 +C8 +C9 +CC +CC +CF +CF +D2 +D3 +D4 +D6 +D6 +D8 +D9 +D9 +DB +DC +DE +DD +DF +E0 +E0 +E2 +E3 +E4 +E4 +E5 +E5 +E7 +E7 +E7 +E9 +E9 +EB +EB +EB +EC +ED +ED +EE +ED +EF +EE +EF +EF +F1 +F1 +F2 +F1 +F1 +F3 +F1 +F3 +F3 +F4 +F3 +F4 +F4 +F5 +F4 +F5 +F5 +F5 +F6 +F4 +F6 +F6 +F7 +F5 +F7 +F6 +F6 +F8 +F7 +F7 +F7 +F7 +F6 +F8 +F6 +F8 +F9 +F8 +F8 +F8 +F8 +F7 +F9 +F7 +F9 +F7 +EE +E5 +DD +D9 +D5 +D3 +CF +CD +C9 +C7 +C3 +C2 +BF +BB +BA +B8 +B6 +B3 +B2 +AF +AE +AC +AA +A9 +A7 +A6 +A4 +A4 +A2 +A1 +9F +9F +9E +9D +9C +9B +99 +9A +98 +98 +97 +97 +96 +96 +96 +94 +94 +93 +94 +93 +92 +93 +93 +92 +92 +92 +91 +92 +91 +92 +92 +91 +93 +92 +93 +92 +93 +92 +93 +92 +94 +94 +94 +93 +95 +95 +95 +95 +95 +96 +9A +A6 +AE +B3 +B8 +BB +BF +C2 +C6 +CA +CC +D0 +D2 +D6 +D8 +DA +DE +DF +E3 +E4 +E8 +EA +EC +ED +F1 +F1 +F4 +F6 +F8 +FA +FA +FE +FE +FF +01 +01 +04 +04 +07 +07 +08 +0A +0A +0C +0C +0E +0E +10 +10 +12 +12 +14 +14 +16 +16 +16 +17 +17 +19 +19 +1A +1A +1B +1B +1C +1C +1D +1D +1F +1F +1E +1E +1E +20 +1E +20 +20 +20 +20 +20 +20 +20 +22 +21 +21 +21 +21 +22 +22 +22 +22 +21 +22 +23 +23 +22 +23 +23 +23 +23 +22 +23 +22 +22 +20 +22 +22 +21 +22 +22 +22 +21 +22 +22 +21 +22 +20 +22 +22 +21 +20 +21 +21 +20 +21 +20 +20 +1E +20 +1E +20 +1F +1F +1D +1E +1E +1E +1E +1F +1E +1E +1E +1A +12 +08 +01 +FE +FA +F7 +F3 +F1 +ED +EB +E7 +E5 +E2 +E0 +DC +DA +D8 +D5 +D5 +D2 +D1 +CE +CB +CB +C8 +C8 +C5 +C5 +C2 +C2 +C0 +C0 +BE +BE +BD +BB +BB +BA +B8 +B8 +B6 +B7 +B6 +B4 +B5 +B4 +B2 +B3 +B2 +B2 +B1 +B1 +B1 +B0 +B0 +AF +B0 +B0 +AE +AF +AE +AF +AF +AF +AF +AF +AF +AE +AF +AE +AF +AE +AF +AF +AF +B0 +AF +B0 +B1 +B0 +B0 +B1 +B0 +B1 +B1 +B1 +B3 +B1 +B3 +B3 +B3 +B4 +B3 +B4 +B4 +B5 +B6 +B6 +B6 +B7 +B7 +B7 +B7 +B8 +B8 +B9 +B9 +B9 +BA +BA +BC +BB +BC +BB +BD +BC +BE +BD +BF +BF +BF +C0 +C0 +C1 +C1 +C3 +C3 +C3 +C4 +C3 +C5 +C4 +C6 +C6 +C6 +C8 +C7 +C9 +C8 +CA +C9 +CA +CA +CB +CB +CC +CD +CC +CE +CD +CF +CE +D0 +D0 +D0 +D1 +D0 +D2 +D1 +D3 +D2 +D4 +D3 +D5 +D4 +D6 +D5 +D6 +D6 +D8 +D6 +D8 +D7 +D9 +DA +D9 +DA +DA +DA +DB +DB +DC +DB +DD +DD +DD +DD +DE +DE +DF +DE +E0 +E0 +E1 +E2 +E0 +E2 +E3 +E1 +E5 +ED +F7 +FD +02 +04 +07 +0C +0E +12 +15 +17 +1B +1D +21 +22 +26 +27 +2B +2B +2F +31 +32 +35 +36 +38 +3A +3C +3D +3F +41 +42 +43 +45 +45 +47 +48 +48 +4A +4A +4C +4D +4D +4F +4E +50 +51 +52 +53 +53 +54 +54 +55 +54 +56 +55 +57 +55 +57 +57 +58 +58 +58 +59 +58 +59 +58 +58 +58 +5A +59 +5A +58 +59 +59 +59 +58 +59 +59 +58 +58 +58 +59 +58 +58 +51 +48 +3F +3B +36 +34 +30 +2C +2A +26 +24 +20 +1E +1B +19 +16 +14 +10 +0F +0C +0B +07 +07 +03 +03 +01 +00 +FE +FE +FA +FA +F8 +F8 +F5 +F7 +FE +06 +0B +0E +11 +11 +15 +16 +19 +1A +1D +1E +20 +22 +24 +25 +27 +27 +2A +2A +2D +2D +2F +2F +31 +31 +33 +34 +34 +36 +36 +38 +38 +3A +39 +3B +3B +3C +3D +3D +3E +3E +3F +3E +3F +3F +41 +40 +3F +41 +40 +42 +40 +42 +43 +42 +43 +43 +42 +43 +42 +43 +42 +43 +41 +43 +44 +44 +43 +44 +43 +44 +42 +44 +43 +43 +43 +43 +42 +43 +43 +43 +43 +42 +41 +42 +41 +42 +41 +41 +40 +41 +41 +40 +3E +40 +3F +3F +3D +3F +3F +3D +3D +3D +3E +3D +3B +3D +3B +3C +3A +3C +3B +3A +3B +3A +3A +38 +3A +38 +38 +38 +38 +38 +36 +38 +36 +36 +36 +36 +35 +35 +35 +33 +35 +34 +34 +33 +2D +23 +1A +16 +10 +0E +0A +08 +04 +02 +FF +FD +FA +F6 +F4 +F1 +EF +ED +EB +E8 +E7 +E5 +E3 +E0 +E0 +DD +DB +DA +D7 +D7 +D5 +D4 +D2 +D2 +D1 +CF +CF +CD +CD +CC +CB +CA +C9 +C7 +C7 +C7 +C6 +C5 +C5 +C3 +C3 +C2 +C3 +C1 +C2 +C1 +C1 +C2 +CA +D2 +D9 +DD +E1 +E3 +E6 +E8 +EC +EE +F1 +F4 +F5 +F8 +FA +FC +FD +00 +01 +03 +05 +07 +07 +0B +0C +0C +0F +0F +12 +12 +14 +15 +17 +18 +18 +1A +1A +1C +1C +1E +1F +1F +1F +21 +22 +22 +23 +23 +24 +24 +26 +25 +27 +26 +28 +27 +29 +27 +29 +29 +29 +29 +2B +29 +2B +2B +2C +2B +2C +2B +2C +2D +2D +2D +2D +2D +2C +2C +2D +2C +2D +2D +2D +2D +2B +2D +2D +2D +2D +2D +2D +2C +2D +2C +2D +2C +2C +2C +2C +2B +2B +2C +2B +2B +2C +2A +2A +2A +2B +2A +2A +2A +28 +2A +28 +2A +28 +28 +29 +29 +29 +29 +28 +26 +28 +27 +27 +25 +27 +26 +26 +26 +25 +25 +26 +25 +25 +23 +25 +25 +23 +24 +22 +24 +24 +22 +22 +22 +22 +23 +21 +22 +20 +22 +21 +21 +1F +21 +21 +1F +20 +1F +20 +20 +1E +1F +1D +1F +1E +1E +1D +1E +1D +1C +1C +1C +1D +1C +1B +1A +1C +1A +1A +1A +16 +0C +05 +FF +FB +F7 +F5 +F2 +EE +EC +E8 +E6 +E2 +E0 +DD +DB +D8 +D8 +D5 +D4 +DC +E2 +E5 +E9 +EA +EC +EE +EF +EF +F1 +F2 +F4 +F5 +F5 +F8 +F9 +F9 +FB +FB +FD +FE +FD +FF +00 +FF +01 +01 +02 +02 +03 +04 +05 +05 +06 +06 +07 +07 +08 +08 +07 +09 +09 +0A +0B +09 +0B +0B +0B +0A +0C +0C +0C +0B +0D +0E +0D +0E +0D +0E +0F +0D +0F +0D +0F +0E +07 +FE +F8 +F2 +F0 +EC +EA +E6 +E5 +E1 +E0 +DC +DA +D8 +D6 +D4 +D0 +D0 +CD +CD +CA +C8 +C7 +C5 +C4 +C2 +C2 +C1 +BF +BD +BD +BB +BB +B8 +BC +C3 +CB +D0 +D2 +D6 +D7 +D9 +DC +DD +E0 +E2 +E4 +E6 +E8 +EA +EC +EC +F0 +F0 +F3 +F4 +F4 +F7 +F7 +FA +FA +FC +FC +FF +FF +00 +00 +02 +03 +03 +05 +04 +06 +06 +08 +09 +09 +0A +0A +0C +0B +0D +0C +0D +0D +0F +0E +0F +0F +11 +10 +10 +12 +10 +12 +12 +13 +11 +13 +13 +14 +13 +14 +13 +14 +14 +14 +15 +13 +14 +15 +15 +15 +15 +16 +15 +16 +15 +16 +15 +16 +16 +16 +15 +16 +16 +15 +15 +15 +15 +15 +16 +15 +14 +16 +16 +14 +14 +14 +14 +14 +14 +15 +14 +15 +15 +13 +15 +13 +13 +13 +13 +13 +13 +13 +13 +14 +12 +14 +12 +12 +11 +13 +12 +12 +13 +11 +13 +12 +12 +11 +11 +11 +11 +11 +11 +12 +10 +10 +10 +11 +0F +11 +10 +0E +0F +10 +0E +10 +0E +0E +0D +0F +0D +0F +0E +0E +0F +0F +0E +0C +0E +0E +0D +0E +0C +0C +0B +0D +0B +0D +0B +0B +0B +0C +0B +0C +0B +0C +0B +09 +0B +09 +0B +09 +0B +09 +09 +08 +0A +09 +09 +0A +09 +09 +09 +08 +08 +08 +08 +09 +08 +08 +09 +07 +08 +06 +08 +09 +07 +07 +08 +06 +06 +05 +07 +06 +06 +07 +05 +07 +05 +05 +05 +05 +05 +05 +05 +06 +04 +06 +04 +04 +03 +05 +04 +04 +04 +04 +04 +05 +04 +03 +03 +04 +03 +04 +02 +FF +F5 +EE +E8 +E6 +E3 +DF +DD +D9 +D7 +D4 +D1 +CF +CC +CA +C7 +C6 +C3 +C2 +BF +BF +BE +BA +BA +B8 +B7 +B6 +B3 +B3 +B1 +B1 +AF +AF +AD +AD +AC +AA +AB +AA +A8 +A8 +A7 +A7 +A7 +A5 +A5 +A5 +A5 +A3 +A5 +A3 +A3 +A2 +A4 +A3 +A1 +A2 +A1 +A2 +A2 +A1 +A2 +A1 +A1 +A1 +A2 +A1 +A2 +A2 +A2 +A3 +A1 +A3 +A2 +A3 +A3 +A2 +A4 +A4 +A4 +A4 +A4 +A5 +A5 +A4 +A6 +A7 +A5 +A7 +A6 +A7 +A7 +A7 +A9 +A7 +A9 +A9 +A9 +AA +A9 +AB +AB +AC +AB +AD +AC +AD +AD +AE +AE +AF +AF +B0 +B0 +B2 +B1 +B2 +B3 +B3 +B4 +B4 +B5 +B5 +B7 +B6 +B8 +B8 +B9 +B9 +BB +BA +BC +BC +BD +BD +BE +BE +BE +BF +BF +C0 +C0 +C1 +C1 +C2 +C3 +C2 +C4 +C4 +C4 +C5 +C5 +C6 +C7 +C6 +C8 +C7 +CA +D1 +D9 +E0 +E4 +E8 +EA +EF +F1 +F5 +F8 +F9 +FD +FF +02 +03 +07 +07 +0B +0E +0F +11 +13 +15 +17 +18 +1B +1B +1E +1F +20 +22 +23 +25 +25 +27 +27 +29 +29 +2B +2C +2C +2E +2E +30 +30 +32 +31 +33 +33 +34 +34 +35 +36 +36 +37 +36 +38 +37 +38 +38 +38 +38 +3A +39 +39 +3B +3A +3A +3A +3A +3A +3C +3B +3C +3B +3C +3B +3C +3C +3C +3B +3C +3B +3C +3C +3B +3C +3B +3C +3C +3B +3C +3B +3B +3B +3B +3A +3B +3A +3B +39 +3B +39 +39 +3A +3A +3A +39 +37 +39 +38 +39 +38 +38 +36 +38 +38 +37 +36 +36 +36 +37 +36 +34 +36 +35 +35 +34 +34 +35 +33 +34 +32 +34 +34 +32 +32 +32 +32 +30 +32 +31 +31 +30 +30 +31 +2F +2F +2F +2F +2E +2E +2F +2D +2E +2D +2D +29 +20 +19 +12 +0F +0B +08 +05 +01 +00 +FD +FB +F7 +F5 +F3 +F0 +EE +EC +E9 +E8 +E6 +E4 +E2 +E2 +DE +DE +DC +DA +DA +D7 +D7 +D5 +D5 +D3 +D3 +D1 +D1 +D0 +CF +CE +CD +CC +CB +CB +C9 +CA +C8 +C8 +C8 +C6 +C7 +C6 +C6 +C5 +C5 +C5 +C5 +C4 +C3 +C4 +C3 +C3 +C2 +C3 +C2 +C3 +C3 +C3 +C2 +C2 +C2 +C2 +C1 +C2 +C1 +C2 +C2 +C3 +C1 +C3 +C3 +C3 +C3 +C3 +C3 +CA +D3 +D9 +DE +E1 +E3 +E7 +EA +ED +F0 +F1 +F5 +F7 +FA +FC +FE +00 +01 +05 +05 +07 +09 +0B +0D +0F +10 +13 +13 +15 +17 +18 +19 +1B +1C +1B +13 +0D +07 +05 +02 +01 +FF +FE +FC +FA +F7 +F7 +F5 +F4 +F2 +F1 +F0 +ED +ED +EB +EB +EA +E8 +E7 +E6 +E4 +E5 +E3 +E3 +E1 +E1 +E1 +E0 +E0 +DE +DE +DD +DD +DC +DC +DB +DB +D9 +DA +D9 +D9 +D8 +DA +D8 +D8 +D7 +D9 +D7 +D7 +D7 +D8 +D7 +D7 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D7 +D6 +D7 +D6 +D8 +D6 +D8 +D7 +D8 +D7 +D8 +D7 +D8 +D7 +D9 +D9 +D9 +D9 +D9 +D9 +DA +DA +DA +DC +E2 +EC +F2 +F5 +F9 +FC +00 +01 +05 +07 +0A +0D +0E +12 +14 +17 +18 +1A +1C +1E +20 +22 +25 +26 +27 +29 +2A +2C +2E +2E +30 +31 +33 +33 +35 +36 +37 +38 +38 +3A +39 +3B +3B +3D +3C +3E +3D +3F +3F +40 +3F +41 +41 +41 +43 +42 +42 +42 +44 +43 +44 +43 +44 +44 +44 +44 +44 +44 +46 +45 +46 +45 +46 +45 +46 +45 +46 +46 +45 +46 +45 +45 +45 +45 +44 +45 +44 +45 +45 +44 +43 +43 +44 +42 +43 +43 +42 +43 +42 +43 +43 +41 +41 +41 +42 +41 +40 +40 +40 +40 +40 +3E +40 +3E +3F +3E +3F +3D +3D +3D +3D +3C +3C +3D +3B +3B +3C +3A +3A +3A +3A +39 +3A +39 +39 +37 +39 +37 +37 +37 +37 +35 +37 +35 +35 +35 +35 +34 +34 +35 +33 +34 +32 +32 +32 +32 +31 +32 +32 +31 +30 +31 +30 +2F +30 +2E +2E +2F +2E +2E +2C +2E +2D +2C +2D +2C +2A +2C +2B +2A +2B +29 +29 +29 +25 +1B +15 +0F +0C +07 +05 +01 +00 +FD +FA +F8 +F6 +F2 +F1 +ED +EC +EA +E8 +E6 +E4 +E2 +E2 +DF +DC +DC +DA +D9 +D7 +D6 +D4 +D4 +D3 +D2 +D1 +CF +CF +CD +CD +CC +CB +C9 +CA +C8 +C8 +C8 +C7 +C7 +C6 +C6 +C5 +C5 +C4 +C2 +C3 +C2 +C2 +C1 +C2 +C2 +C0 +C1 +C1 +C1 +BF +C0 +BF +C0 +C0 +BF +C0 +BF +C0 +BF +C0 +BF +C0 +BF +C0 +C0 +BF +C0 +BF +C0 +BF +C0 +C1 +C1 +C1 +C1 +C1 +C1 +C2 +C3 +C3 +C1 +C5 +CD +D6 +DA +DF +E1 +E6 +E8 +EC +EE +F1 +F4 +F5 +F9 +FA +FE +FE +01 +03 +03 +07 +07 +0B +0C +0D +0F +10 +12 +13 +14 +17 +17 +19 +19 +1B +1C +1E +1E +1E +16 +10 +0A +08 +05 +03 +02 +FF +FF +FD +FC +F8 +F8 +F5 +F5 +F3 +F1 +F0 +EE +EE +ED +EB +EA +E8 +E8 +E7 +E5 +E5 +E4 +E4 +E3 +E1 +E1 +E0 +E0 +DE +DF +DD +DE +DD +DB +DC +DC +DA +DB +DA +DA +D9 +D9 +DA +D9 +D8 +D7 +D9 +D8 +D7 +D7 +D7 +D7 +D6 +D7 +D6 +D7 +D7 +D7 +D6 +D8 +D6 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D6 +D6 +D7 +D7 +D7 +D7 +D7 +D8 +D7 +D9 +D8 +D9 +D8 +D8 +D9 +D9 +D9 +D9 +D9 +D9 +DB +D9 +DB +DC +DB +DB +DC +DC +DC +DD +DE +DD +DD +DE +DE +DE +DE +DF +DF +DE +DF +DF +E1 +E0 +E0 +E1 +E1 +E3 +E1 +E3 +E4 +E2 +E4 +E4 +E4 +E5 +E5 +E5 +E5 +E5 +E6 +EA +F4 +F9 +FF +01 +05 +08 +09 +0D +0F +12 +15 +16 +1A +1B +1E +1F +22 +23 +26 +28 +2A +2B +2C +2E +2E +31 +31 +34 +34 +36 +37 +38 +3A +3B +3C +3D +3D +3E +3F +3F +40 +40 +42 +42 +43 +43 +45 +44 +45 +45 +46 +47 +45 +47 +47 +48 +48 +49 +47 +49 +48 +4A +48 +4A +49 +4A +4A +4A +49 +4A +4A +4B +4B +4A +4A +48 +4A +49 +49 +4B +4A +49 +4A +48 +48 +48 +49 +48 +48 +47 +47 +48 +47 +47 +45 +47 +46 +46 +45 +45 +45 +44 +44 +45 +43 +43 +44 +42 +43 +42 +42 +42 +40 +42 +40 +40 +41 +41 +3F +3F +3F +40 +3F +3D +3F +3F +3D +3D +3E +3C +3C +3C +3B +3B +3A +3A +3A +37 +2E +27 +21 +1C +1A +16 +14 +10 +0E +0A +09 +05 +03 +01 +FE +FD +FA +F7 +F7 +F3 +F3 +F2 +EE +ED +EB +EB +E8 +E8 +E6 +E5 +E2 +E2 +E0 +E0 +DE +DE +DC +DD +E1 +E9 +EE +F1 +F3 +F5 +F8 +F9 +FB +FD +FF +00 +01 +03 +04 +06 +07 +09 +0B +0B +0E +0E +10 +10 +12 +12 +14 +15 +16 +17 +18 +19 +18 +1A +1A +1B +1C +1D +1C +1E +1E +1F +1E +20 +1F +20 +20 +22 +20 +22 +23 +21 +22 +22 +23 +24 +22 +24 +24 +25 +25 +24 +25 +24 +24 +25 +25 +25 +25 +26 +25 +26 +25 +26 +25 +26 +25 +26 +26 +25 +26 +26 +25 +23 +25 +25 +24 +25 +25 +24 +25 +23 +25 +24 +24 +23 +24 +22 +24 +24 +22 +22 +22 +22 +22 +23 +21 +21 +21 +21 +21 +21 +20 +20 +21 +21 +20 +20 +1E +20 +1F +20 +1F +1E +1F +1E +1F +1E +1C +1D +1D +1D +1D +1D +1B +1D +1B +1D +1B +1C +1A +1C +1B +1A +1A +1A +1B +19 +19 +19 +1A +18 +19 +17 +19 +17 +18 +16 +18 +17 +17 +15 +17 +16 +16 +16 +14 +16 +14 +15 +14 +14 +14 +0C +05 +FF +FA +F8 +F5 +F1 +EF +EB +E9 +E6 +E4 +E1 +DF +DD +DC +D9 +D7 +D5 +D3 +D1 +D1 +CE +CC +CC +C9 +C9 +C8 +C5 +C5 +C3 +C3 +C2 +C0 +C0 +BE +BE +BE +BC +BB +BB +BA +BA +B9 +B8 +B9 +B7 +B8 +B7 +B5 +B6 +B5 +B5 +B6 +B5 +B5 +B4 +B6 +BD +C4 +CA +CD +CF +D2 +D4 +D8 +D9 +DD +DD +E0 +E2 +E6 +E6 +EA +EA +EC +EF +EF +F2 +F2 +F5 +F5 +F8 +F8 +FB +FB +FD +FD +00 +FF +01 +01 +02 +04 +04 +06 +05 +07 +07 +09 +0A +0B +0B +0B +0C +0C +0D +0D +0E +0E +0F +10 +0F +11 +10 +12 +11 +13 +11 +13 +13 +13 +13 +14 +15 +13 +15 +14 +15 +16 +15 +15 +15 +15 +15 +15 +17 +16 +16 +17 +16 +16 +17 +16 +16 +17 +16 +17 +17 +16 +17 +16 +17 +16 +17 +17 +16 +17 +16 +17 +16 +17 +17 +15 +17 +15 +15 +15 +16 +14 +16 +15 +16 +14 +16 +14 +14 +13 +15 +13 +15 +14 +13 +13 +13 +13 +13 +14 +12 +12 +13 +11 +13 +12 +12 +12 +12 +12 +11 +11 +0B +03 +FC +F9 +F6 +F2 +F0 +ED +EB +E7 +E6 +E3 +E1 +DF +DC +DA +D8 +D6 +D4 +D2 +D1 +CF +CE +CD +CA +CA +C8 +C7 +C6 +C4 +C4 +C2 +C2 +C0 +C0 +BF +BE +BE +BD +BB +BC +BA +BA +BA +B8 +B9 +B8 +B7 +B7 +B8 +B6 +B6 +B7 +B5 +B5 +B4 +B5 +B4 +B5 +B3 +B5 +B3 +B4 +B3 +B4 +B3 +B4 +B4 +B4 +B3 +B4 +B3 +B4 +B4 +B4 +B5 +B4 +B5 +B5 +B4 +B5 +B4 +B6 +B6 +B7 +B8 +B7 +B7 +B8 +B7 +B7 +B7 +B7 +B8 +B9 +B7 +B9 +B9 +B9 +BB +C0 +C9 +CE +D4 +D6 +D9 +DB +DF +E2 +E3 +E7 +E9 +EC +EF +EF +F3 +F5 +F8 +F8 +FA +FC +FE +FF +02 +02 +05 +05 +08 +08 +0B +0B +0D +0D +10 +10 +12 +12 +14 +14 +16 +16 +17 +17 +19 +19 +1B +1A +1C +1D +1C +1E +1D +1F +1E +20 +21 +21 +20 +22 +20 +22 +23 +21 +22 +24 +22 +24 +24 +25 +24 +25 +23 +25 +25 +25 +25 +26 +25 +26 +26 +25 +26 +25 +26 +25 +26 +26 +26 +26 +25 +26 +25 +26 +24 +26 +24 +24 +24 +24 +24 +24 +25 +24 +25 +24 +25 +23 +25 +23 +23 +24 +24 +22 +24 +22 +22 +22 +23 +22 +23 +21 +21 +21 +21 +21 +21 +20 +20 +20 +20 +20 +1F +1E +20 +1F +1F +1D +1F +1F +1E +1E +1E +1C +1E +1D +1D +1D +1C +1C +1C +1D +1B +1B +1C +1A +1C +1A +1A +1B +1A +1A +1A +1A +18 +1A +18 +1A +18 +19 +17 +19 +18 +18 +17 +17 +18 +16 +16 +16 +16 +17 +16 +16 +14 +16 +15 +15 +13 +15 +14 +15 +13 +13 +13 +13 +14 +12 +12 +12 +13 +12 +12 +12 +11 +12 +11 +12 +10 +10 +10 +10 +11 +10 +0F +10 +0E +10 +0F +0D +0E +0E +0E +0E +0F +0D +0D +0E +0E +0D +0E +0D +0D +0B +0D +0B +0D +0B +0D +0C +0A +0B +0B +0B +0C +0B +0B +09 +0B +09 +0B +0B +09 +09 +09 +09 +09 +09 +09 +07 +09 +07 +03 +FC +F5 +F1 +ED +EB +E8 +E6 +E4 +E0 +DE +DB +DA +D7 +D7 +D3 +D2 +CF +CE +CD +CB +CA +C8 +C7 +C4 +C4 +C2 +C2 +C0 +C0 +BE +BE +BC +BC +BB +B9 +B9 +B7 +B8 +B6 +B6 +B5 +B5 +B4 +B4 +B3 +B3 +B2 +B2 +B2 +B2 +B0 +B1 +B1 +B1 +AF +B0 +AF +B0 +B0 +B0 +AF +B0 +AF +AF +AF +AE +AF +AE +B0 +B1 +AF +B0 +AF +B0 +AF +B0 +AF +B1 +B1 +B1 +B0 +B1 +B2 +B2 +B2 +B1 +B3 +B4 +B3 +B3 +B3 +B5 +B3 +B4 +B5 +B5 +B5 +B6 +B7 +B6 +B6 +B8 +B6 +B8 +B8 +B8 +B9 +B9 +BA +BB +BB +BC +BC +BC +BD +BD +BE +BF +BE +C0 +C0 +C0 +C1 +C1 +C2 +C1 +C3 +C4 +C2 +C4 +C3 +C5 +C4 +C5 +C5 +C6 +C7 +C7 +C6 +C8 +C8 +C9 +C8 +CA +C9 +CB +CB +CC +CB +CD +CC +CE +CD +CF +CE +D0 +CE +D0 +D0 +D0 +D0 +D2 +D1 +D2 +D3 +D1 +D3 +D2 +D4 +D4 +D4 +D4 +D4 +D6 +D5 +D5 +D6 +D6 +D8 +D6 +D8 +D8 +D9 +D9 +D9 +D9 +DA +DA +DA +DC +DA +DB +DB +DD +DB +DC +DC +DE +DC +DE +DE +DE +DE +DF +DF +DF +DF +E0 +E0 +E0 +E2 +E0 +E2 +E2 +E2 +E1 +E3 +E3 +E3 +E3 +E4 +E5 +E3 +E5 +E5 +E5 +E4 +E6 +E6 +E6 +E6 +E8 +E6 +E8 +E7 +E7 +E9 +E7 +E9 +EA +E8 +EA +EA +EA +E9 +EB +EB +EB +EA +EC +ED +EC +EC +ED +ED +ED +ED +ED +ED +EE +EE +ED +EF +EE +F0 +EE +F0 +F0 +F1 +EF +F0 +F0 +F2 +F1 +F1 +F1 +F3 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F4 +F2 +F3 +F2 +F4 +F5 +F3 +F4 +F4 +F4 +F4 +F6 +F5 +F5 +F5 +F5 +F7 +F7 +F5 +F7 +F6 +F8 +F6 +F9 +FF +04 +0B +0D +11 +14 +16 +19 +1B +1E +20 +23 +24 +27 +29 +2A +2D +2E +30 +30 +33 +34 +35 +37 +39 +39 +3B +3C +3E +3E +40 +40 +42 +43 +43 +45 +44 +46 +46 +48 +47 +49 +49 +49 +4A +4A +4C +4B +4D +4C +4C +4E +4D +4E +4D +4F +4E +4F +4F +4D +4F +50 +50 +50 +4F +4D +4F +4E +50 +50 +4F +50 +4F +4E +4F +4E +4F +4F +4E +4F +4E +4D +4E +4D +4E +4D +4D +4B +4D +4C +4C +4A +4C +4B +4B +49 +4B +4B +49 +49 +48 +48 +48 +48 +46 +48 +46 +46 +46 +46 +44 +46 +44 +44 +45 +43 +43 +44 +43 +42 +43 +43 +41 +42 +40 +40 +40 +40 +40 +40 +3E +3E +3E +3E +39 +31 +2A +25 +22 +1E +1C +18 +16 +13 +11 +0E +0C +0A +08 +04 +04 +00 +00 +FE +FB +FB +F9 +F7 +F5 +F5 +F2 +F2 +F0 +EE +EE +EC +EB +EA +E8 +E8 +E6 +E6 +E4 +E5 +E3 +E3 +E2 +E1 +E1 +DF +DF +DF +DD +DE +DC +DD +DB +DC +DA +DC +DB +D9 +DA +D9 +D8 +DA +D8 +D8 +D8 +D8 +D6 +D7 +D8 +D7 +D6 +D7 +D6 +D6 +D7 +D5 +D7 +D5 +D7 +D6 +D6 +DD +E3 +EA +ED +F1 +F3 +F6 +F9 +FA +FE +FF +02 +03 +05 +08 +08 +0C +0C +0E +10 +12 +13 +14 +16 +17 +19 +19 +1B +1B +1E +1C +18 +10 +0D +09 +09 +05 +05 +02 +01 +FF +00 +FD +FD +FA +FA +F8 +F6 +F6 +F4 +F4 +F3 +F1 +F1 +EF +EF +ED +ED +EB +EB +EB +E9 +E9 +E8 +E8 +E8 +E7 +E7 +E5 +E6 +E4 +E5 +E4 +E2 +E3 +E4 +E3 +E1 +E3 +E1 +E1 +E0 +E2 +E0 +E0 +DF +E1 +DF +E0 +E1 +E0 +DF +DF +DF +DF +DE +DF +DE +DF +DE +DF +DF +DF +E0 +E7 +ED +F4 +F7 +FA +FD +FE +01 +02 +06 +06 +0A +0B +0F +0F +12 +12 +16 +17 +19 +1A +1C +1D +1E +20 +21 +23 +24 +24 +26 +26 +27 +29 +29 +2B +2C +2C +2E +2E +2F +2F +31 +30 +32 +32 +32 +33 +34 +33 +35 +33 +35 +35 +36 +37 +36 +36 +36 +37 +37 +37 +38 +37 +37 +37 +39 +39 +38 +39 +39 +38 +39 +38 +38 +39 +38 +39 +38 +38 +39 +37 +37 +37 +36 +38 +36 +38 +36 +32 +2A +24 +1F +1D +1A +16 +15 +11 +0F +0D +0B +09 +06 +05 +01 +00 +FF +FF +FC +FB +F8 +F8 +F5 +F5 +F2 +F2 +F5 +FC +FF +03 +05 +05 +08 +08 +0A +0C +0D +0D +10 +11 +12 +13 +14 +14 +16 +17 +16 +18 +18 +1A +1A +1B +1C +1D +1D +1E +1D +1F +1E +1F +20 +20 +21 +21 +22 +22 +22 +22 +24 +23 +23 +23 +24 +25 +23 +25 +25 +26 +24 +26 +25 +26 +25 +26 +24 +26 +25 +27 +25 +26 +25 +25 +25 +25 +26 +25 +26 +25 +26 +25 +25 +26 +24 +26 +24 +26 +24 +1F +17 +10 +0E +0A +08 +05 +03 +FF +FE +FC +F8 +F8 +F4 +F3 +F1 +EF +ED +ED +E9 +E9 +E6 +E6 +E3 +E3 +E1 +E0 +DE +DE +DC +DC +DB +D9 +D9 +D8 +D6 +D6 +D4 +D4 +D3 +D3 +D2 +D1 +D1 +D0 +D0 +CF +CF +CE +CE +CD +CD +CD +CC +CC +CC +CC +CA +CB +CB +CB +CA +CA +CA +CA +CA +C9 +CA +C8 +CA +C9 +C9 +C8 +C9 +C9 +C8 +C9 +C8 +C9 +C9 +C8 +C9 +CA +CB +C9 +CB +C9 +CB +CA +CB +CB +CA +CB +CB +CA +CC +CC +CC +CC +CC +CC +CC +CB +CD +CD +CE +CD +CF +D7 +DD +E3 +E6 +E9 +EB +EF +F1 +F3 +F6 +F8 +FB +FD +FF +00 +03 +03 +06 +08 +08 +0C +0D +0E +10 +11 +13 +13 +15 +15 +18 +18 +1A +1B +1B +1D +1D +1F +1F +1F +21 +22 +22 +23 +23 +24 +24 +26 +25 +27 +26 +28 +28 +29 +29 +29 +29 +29 +2B +2A +2A +2A +2C +2B +2C +2A +2C +2D +2B +2D +2D +2D +2D +2C +2D +2C +2D +2C +2D +2C +2D +2C +2D +2C +2B +2D +2C +2D +2C +2D +2D +2C +2D +2C +2D +2C +2A +2C +2B +2C +2B +2C +2A +2A +2A +2B +2A +2B +2B +29 +29 +29 +2A +2A +28 +28 +29 +28 +29 +27 +27 +27 +27 +26 +26 +27 +26 +26 +25 +25 +26 +24 +25 +23 +25 +24 +22 +24 +24 +22 +22 +22 +23 +22 +20 +22 +21 +21 +1F +21 +20 +20 +1F +1F +1F +1F +1F +1D +1F +1E +1D +1D +1D +1E +1C +1C +1C +1D +1C +1C +1B +1B +1C +1A +1A +1B +19 +1B +1A +19 +19 +1A +18 +19 +17 +19 +18 +17 +17 +17 +17 +16 +16 +17 +16 +16 +14 +16 +15 +15 +13 +14 +14 +14 +12 +14 +13 +14 +12 +12 +13 +13 +11 +12 +10 +12 +10 +11 +10 +10 +11 +0F +0F +0F +10 +0E +0E +0D +0F +0D +0F +0D +0E +0D +0D +0D +0D +0B +0D +0C +0C +0B +0B +0B +0C +0B +0B +09 +0B +0A +0A +0A +08 +0A +09 +09 +09 +07 +08 +08 +08 +08 +08 +07 +07 +06 +FF +F9 +F4 +EF +EE +EA +E8 +E5 +E3 +E1 +DF +DD +DA +D8 +D6 +D6 +D3 +D0 +D0 +CF +CC +CC +C9 +C9 +C8 +C5 +C5 +C3 +C3 +C1 +C1 +BF +BF +BD +BE +BC +BC +BB +BA +BA +B9 +B9 +B8 +B8 +B7 +B7 +B6 +B6 +B6 +B6 +B4 +B6 +B5 +B4 +B4 +B4 +B3 +B4 +B3 +B4 +B3 +B2 +B3 +B2 +B3 +B3 +B2 +B3 +B2 +B3 +B3 +B3 +B4 +BC +C2 +C8 +CB +CD +D1 +D2 +D4 +D8 +D8 +DC +DE +E0 +E1 +E4 +E6 +E8 +EA +EC +ED +EF +F1 +F1 +F4 +F4 +F7 +F7 +F9 +FA +FC +FC +FE +FF +FF +00 +00 +02 +02 +04 +03 +05 +05 +07 +06 +08 +08 +09 +09 +0A +0A +0B +0B +0C +0C +0D +0D +0E +0E +0D +0F +0F +0F +0F +11 +0F +11 +11 +12 +10 +12 +11 +11 +11 +13 +12 +12 +12 +12 +12 +12 +12 +12 +14 +12 +14 +13 +14 +13 +14 +14 +13 +14 +13 +14 +14 +13 +14 +14 +13 +14 +13 +14 +13 +14 +13 +14 +14 +13 +13 +14 +13 +14 +14 +13 +12 +13 +13 +12 +13 +12 +11 +11 +11 +12 +10 +12 +0F +08 +01 +FD +F9 +F8 +F4 +F2 +F0 +EE +EA +E9 +E6 +E5 +E2 +E2 +E0 +DE +DC +DB +D9 +D8 +D5 +D5 +D3 +D3 +D1 +D0 +CF +CF +CE +CD +CC +CB +C9 +C9 +C7 +C7 +C6 +C6 +C5 +C5 +C3 +C4 +C2 +C3 +C1 +C2 +C1 +C0 +C0 +C0 +C0 +BE +BF +BE +BF +BF +BE +BE +BE +BE +BE +BD +BD +BE +BD +BE +BD +BE +BD +BE +BD +BE +BD +BE +BF +BD +BF +BF +BE +BF +BE +BF +BE +BF +BF +BF +C0 +C0 +C0 +C1 +C0 +C2 +C0 +C1 +C2 +C2 +C2 +C1 +C3 +C3 +C3 +C3 +C4 +C4 +C5 +C6 +C5 +C5 +C7 +C6 +C6 +C8 +C6 +C8 +C9 +C8 +C8 +C9 +CA +CA +CB +CB +CB +CB +CD +CB +CD +CD +CD +CD +CE +CE +CE +CF +D0 +CF +D0 +D0 +D0 +D0 +D2 +D1 +D2 +D2 +D3 +D4 +D2 +D3 +D3 +D5 +D4 +D4 +D6 +D5 +D5 +D6 +D6 +D5 +D7 +D7 +D7 +D7 +D8 +D8 +D9 +D9 +DB +DA +DA +DC +DA +DB +DB +DD +DC +DC +DD +DE +DD +DD +DE +DF +DE +DF +E0 +DF +DF +E1 +DF +E1 +E2 +E0 +E2 +E2 +E2 +E1 +E3 +E2 +E4 +E2 +E4 +E4 +E4 +E3 +E5 +E5 +E5 +E5 +E5 +E7 +E5 +E7 +E8 +E6 +E8 +E9 +E7 +E9 +E7 +E9 +E9 +E9 +E9 +E8 +EA +EB +EA +EB +EA +EC +EB +EC +EC +ED +EC +EC +EE +EC +EE +EC +EF +F3 +FB +00 +02 +05 +07 +0B +0B +0F +10 +14 +14 +18 +19 +1C +1D +1E +20 +22 +23 +25 +26 +27 +22 +1D +19 +15 +15 +14 +11 +11 +0F +0F +0D +0D +0B +09 +09 +07 +07 +05 +05 +04 +04 +02 +02 +00 +00 +00 +00 +FF +FE +FE +FD +FD +FC +FC +FB +FB +FA +FA +FA +F9 +F8 +F8 +F8 +F8 +F6 +F8 +F6 +F6 +F6 +F7 +F5 +F5 +F6 +F5 +F5 +F3 +F4 +F6 +FC +02 +06 +0A +0C +0E +0F +13 +16 +17 +19 +1B +1D +1D +21 +21 +24 +25 +27 +27 +2A +2B +2B +2D +2D +30 +30 +32 +33 +34 +34 +35 +36 +36 +38 +37 +39 +3A +39 +3B +3B +3B +3C +3D +3D +3E +3E +3F +3E +3F +3F +40 +3E +40 +40 +41 +40 +41 +3F +41 +41 +41 +42 +41 +42 +41 +42 +42 +41 +42 +42 +42 +41 +42 +40 +42 +40 +41 +40 +41 +40 +41 +40 +40 +3E +40 +3F +40 +40 +3E +3E +3E +3F +3F +3D +3D +3D +3D +3C +3C +3D +3C +3C +3A +3C +3A +3A +3A +3B +39 +39 +39 +39 +38 +39 +38 +36 +38 +38 +36 +36 +36 +37 +35 +35 +35 +36 +35 +33 +35 +34 +33 +33 +33 +33 +32 +32 +33 +31 +31 +31 +30 +30 +30 +31 +2F +2F +2F +2F +2D +2F +2E +2C +2E +2C +2B +2D +2B +2B +2B +2B +2A +2B +2A +28 +2A +29 +28 +28 +28 +28 +27 +28 +26 +26 +27 +27 +25 +25 +25 +21 +19 +14 +0E +0C +08 +07 +03 +02 +FF +FE +FB +F9 +F7 +F5 +F3 +F1 +EF +EE +EC +EB +E8 +E8 +E5 +E5 +E3 +E1 +E1 +DE +DE +DC +DC +DB +DA +D9 +D9 +D8 +D7 +D6 +D4 +D4 +D3 +D3 +D3 +D1 +D1 +D0 +D0 +D0 +CE +D0 +CE +CE +CE +CC +CD +CB +CC +CC +CC +CA +CB +CB +CA +CC +CA +CB +CB +C9 +CA +C9 +CA +C9 +CA +CA +CA +C9 +CA +CA +CA +CA +CA +CA +CA +CB +CA +CB +CA +CB +CB +CB +CB +CB +CB +CC +CD +CC +CB +CC +CB +CD +CD +CD +CD +CE +CE +CE +D0 +CE +CF +D0 +D0 +D0 +D1 +D1 +D1 +D1 +D3 +D2 +D3 +D3 +D3 +D4 +D5 +D4 +D4 +D4 +D6 +D4 +D6 +D5 +D6 +D7 +D7 +D7 +D6 +D8 +D9 +D7 +D9 +D9 +DA +DB +E3 +E9 +ED +F1 +F3 +F6 +F8 +FB +FD +FF +00 +03 +03 +07 +08 +0A +0C +0C +0F +10 +12 +13 +12 +0C +08 +05 +02 +02 +00 +00 +FE +FE +FD +FB +FB +FA +F8 +F8 +F6 +F6 +F5 +F4 +F4 +F2 +F2 +F1 +F0 +F0 +F0 +EF +ED +EE +EC +ED +EC +EC +EB +EA +EA +EA +EA +E9 +E9 +E9 +E7 +E8 +E8 +E8 +E6 +E7 +E8 +E6 +E8 +E7 +E6 +E6 +E6 +E6 +E5 +E7 +E5 +E7 +E5 +E7 +EB +F3 +F8 +FC +FE +00 +00 +04 +07 +07 +0B +0B +0F +10 +12 +13 +15 +17 +17 +1A +1A +1D +1D +1F +20 +22 +22 +24 +25 +25 +27 +27 +29 +29 +29 +2B +2B +2D +2A +24 +1E +1A +18 +16 +15 +11 +11 +10 +0D +0C +0B +08 +08 +05 +05 +03 +01 +01 +00 +00 +FE +FD +FB +FB +F9 +F9 +F8 +F7 +F7 +F6 +F6 +F4 +F4 +F2 +F2 +F1 +F1 +F0 +F0 +F0 +EF +EE +EE +ED +ED +EC +EC +EB +EC +EA +EC +EA +EA +E9 +EB +E9 +E9 +E8 +EA +E9 +E9 +E9 +E8 +E7 +E9 +E7 +E8 +E8 +E7 +E8 +E7 +E8 +E7 +E8 +E8 +E8 +E8 +E7 +E8 +E7 +E8 +E7 +E7 +E9 +E7 +E9 +E7 +E8 +E9 +EA +E9 +EA +E9 +EA +EA +EB +EA +E9 +EB +EC +EB +EB +EB +ED +EB +EC +EC +EB +ED +ED +ED +ED +ED +EC +EE +EE +EE +EE +ED +EE +ED +EF +ED +EF +EF +F0 +EF +EF +EF +EF +F0 +F1 +EF +F0 +F0 +F0 +F0 +F0 +F0 +F2 +F0 +F1 +F1 +F3 +F2 +F3 +F2 +F3 +F3 +F3 +F2 +F3 +F3 +F2 +F3 +F3 +F5 +F3 +F5 +F3 +F5 +F4 +F4 +F4 +F3 +F5 +F6 +F4 +F6 +F4 +F6 +F4 +F5 +F5 +F7 +F5 +F7 +F5 +F7 +F6 +F8 +F7 +F8 +FD +02 +08 +0A +0E +10 +12 +14 +16 +1A +1C +1E +1F +20 +22 +24 +26 +27 +28 +2B +2C +2C +2F +2F +31 +32 +32 +34 +35 +36 +36 +38 +38 +3A +39 +3A +3C +3B +3D +3D +3D +3E +3E +3F +40 +3F +41 +42 +40 +42 +42 +43 +42 +42 +44 +44 +42 +44 +42 +44 +45 +44 +45 +44 +45 +44 +45 +44 +45 +44 +44 +44 +44 +3D +37 +31 +2E +2B +29 +26 +24 +20 +1F +1E +1A +19 +15 +15 +13 +12 +0E +0E +0B +0B +0A +07 +06 +04 +03 +01 +01 +FF +00 +FD +FD +FC +FA +FA +F9 +F8 +F8 +F6 +F6 +F4 +F4 +F4 +F2 +F2 +F1 +F1 +EF +F0 +EF +EE +EE +ED +ED +ED +EC +EC +EA +EB +EB +EB +EA +EA +EA +E8 +E9 +E8 +EA +E9 +E7 +E8 +E8 +E8 +E7 +E7 +E7 +E7 +E7 +E7 +E6 +E8 +E6 +E7 +E7 +E5 +E6 +E7 +E5 +E6 +E6 +E5 +E6 +E5 +E6 +E6 +E6 +E7 +E6 +E8 +E6 +E7 +E7 +E7 +E7 +E8 +E8 +E8 +E7 +E9 +E9 +E9 +E9 +E8 +E9 +E9 +EB +E9 +EA +EA +EA +EB +EB +EC +EA +EC +EC +EC +EC +EB +ED +EE +EC +EE +EC +EF +F5 +FC +00 +02 +05 +07 +09 +0B +0E +11 +12 +14 +15 +18 +19 +1B +1D +1E +1F +1A +14 +12 +0E +0E +0C +0B +0B +09 +09 +08 +06 +06 +04 +04 +03 +02 +00 +00 +FF +00 +FE +FF +FD +FD +FB +FC +FA +FB +FB +FA +F9 +F9 +F8 +F8 +F6 +F7 +F8 +F6 +F6 +F6 +F6 +F4 +F5 +F6 +F4 +F4 +F3 +F5 +F3 +F3 +F2 +F4 +F2 +F4 +F3 +F3 +F1 +F3 +F2 +F2 +F2 +F2 +F2 +F0 +F1 +F1 +F1 +F2 +F0 +F1 +F0 +F1 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F2 +F1 +F2 +F3 +F2 +F2 +F3 +F2 +F2 +F1 +F1 +F2 +F1 +F2 +F2 +F2 +F3 +F4 +F4 +F2 +F4 +F2 +F4 +F4 +F5 +F3 +F5 +F3 +F4 +F3 +F4 +F3 +F5 +F3 +F5 +F4 +F3 +F5 +F5 +F5 +F4 +F6 +F4 +F6 +F7 +F6 +F6 +F5 +F7 +F5 +F7 +F7 +F7 +F9 +00 +05 +0B +0E +0F +12 +15 +17 +19 +1B +1B +1F +1F +23 +23 +26 +27 +29 +29 +2C +2D +2F +30 +31 +32 +33 +34 +35 +35 +37 +38 +38 +3A +3A +3B +3B +3D +3D +3D +3E +3E +3F +3F +41 +41 +40 +42 +40 +42 +42 +42 +42 +43 +44 +43 +44 +43 +43 +44 +44 +45 +44 +45 +44 +45 +45 +45 +44 +44 +44 +43 +44 +43 +43 +43 +43 +43 +43 +43 +41 +3D +35 +30 +2C +2A +27 +25 +21 +21 +1E +1A +1A +16 +16 +12 +12 +0E +0E +0D +09 +08 +06 +05 +04 +02 +01 +FF +FF +FF +FC +FD +00 +06 +0B +0C +0F +10 +12 +13 +14 +16 +16 +18 +18 +1A +1B +1B +1D +1E +1E +20 +20 +21 +21 +23 +22 +24 +24 +25 +24 +26 +25 +27 +26 +28 +27 +29 +27 +29 +29 +29 +29 +2B +2A +2A +2A +2C +2B +2C +2C +2B +2B +2C +2B +2C +2C +2D +2D +2C +2C +2C +2C +2C +2D +2B +2B +2C +2B +2C +2C +2B +2C +2A +2B +2B +2A +2A +2B +29 +2B +29 +2B +29 +29 +29 +29 +29 +29 +27 +29 +28 +29 +28 +28 +27 +27 +28 +26 +26 +26 +26 +26 +26 +25 +25 +25 +24 +24 +25 +24 +24 +22 +24 +23 +21 +23 +22 +22 +20 +22 +21 +21 +20 +20 +20 +21 +1F +1F +1F +20 +1F +1D +1F +1E +1D +1D +1E +1D +1D +1B +1D +1C +1A +1C +1B +19 +1B +1A +1A +18 +1A +1A +19 +17 +19 +17 +17 +17 +18 +17 +16 +17 +15 +17 +15 +15 +15 +15 +16 +14 +14 +14 +15 +13 +14 +12 +14 +11 +0A +04 +FF +FD +FB +F7 +F5 +F1 +F1 +EE +EA +EA +E7 +E4 +E4 +E1 +E1 +DF +E0 +E3 +E9 +EB +EE +EE +F0 +F0 +F2 +F2 +F4 +F3 +F5 +F6 +F7 +F7 +F9 +F8 +FA +FB +FB +FD +FC +FC +FD +FD +FE +FE +FF +FF +00 +FF +00 +01 +00 +00 +02 +00 +02 +01 +01 +03 +02 +02 +03 +03 +04 +03 +03 +03 +05 +04 +04 +04 +05 +03 +04 +04 +06 +05 +05 +06 +04 +06 +04 +06 +04 +05 +05 +06 +05 +06 +05 +06 +04 +06 +05 +06 +04 +06 +05 +05 +05 +06 +04 +06 +05 +05 +05 +06 +05 +05 +03 +05 +03 +05 +03 +05 +03 +05 +03 +03 +02 +04 +02 +04 +02 +04 +02 +04 +03 +03 +03 +02 +02 +03 +01 +02 +02 +02 +02 +03 +01 +01 +02 +01 +02 +01 +01 +02 +00 +00 +01 +00 +01 +00 +00 +00 +00 +01 +00 +00 +00 +FF +00 +00 +FF +00 +FF +FF +00 +FE +00 +FF +FF +00 +FF +00 +FF +00 +00 +FF +FE +FF +FE +FD +FE +FE +FD +FF +FD +FD +FD +FD +FD +FD +FD +FE +FE +FD +FC +FC +FC +FD +FC +FD +FB +FD +FC +FC +FA +FC +FB +FA +FC +FA +FC +FA +FA +F9 +FB +F9 +FB +F9 +FB +F9 +F9 +F8 +FA +F8 +FA +F8 +FA +F9 +F7 +F7 +F9 +F7 +F8 +F9 +F7 +F9 +F8 +F8 +F6 +F8 +F6 +F8 +F7 +F6 +F7 +F6 +F8 +F6 +F8 +F6 +F6 +F5 +F7 +F5 +F7 +F5 +F7 +F5 +F7 +F5 +F7 +F7 +F6 +F4 +F6 +F4 +F5 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F6 +F5 +F5 +F5 +F3 +F5 +F4 +F4 +F3 +ED +E7 +E1 +DF +DD +DA +D8 +D6 +D4 +D2 +D0 +CD +CD +CA +CA +C8 +C7 +C5 +C3 +C2 +C0 +C0 +BE +BE +BD +BB +BB +B9 +B9 +B8 +B6 +B6 +B5 +B5 +B3 +B4 +B3 +B2 +B2 +B1 +B1 +B0 +B0 +AF +AE +AF +AD +AE +AD +AE +AD +AD +AD +AC +AD +AD +AB +AC +AB +AC +AC +AC +AB +AC +AC +AC +AC +AB +AD +AE +AD +AC +AD +AC +AE +AE +AE +AE +AD +AF +B0 +AE +AF +AF +B0 +AF +B0 +B0 +B2 +B1 +B0 +B2 +B2 +B2 +B3 +B2 +B4 +B2 +B4 +B4 +B4 +B4 +B6 +B4 +B6 +B5 +B6 +B6 +B7 +B7 +B8 +B8 +B9 +B9 +BA +BA +BB +BB +BC +BC +BD +BD +BC +BE +BF +BF +BF +BF +BF +C0 +C0 +C2 +C0 +C2 +C3 +C2 +C3 +C3 +C5 +C3 +C5 +C6 +C5 +C6 +C6 +C6 +C7 +C7 +C7 +C8 +C7 +C9 +C9 +C9 +C9 +CA +CB +CC +CA +CC +CB +CD +CC +CD +CE +CE +CE +CE +D0 +CE +D0 +D0 +D0 +D1 +D1 +D1 +D3 +D1 +D3 +D3 +D4 +DB +E0 +E6 +E9 +EA +EE +EE +F2 +F5 +F6 +F8 +FB +FC +FC +FF +00 +02 +03 +05 +07 +07 +0A +0A +0C +0D +0F +0F +11 +12 +13 +14 +14 +16 +16 +18 +18 +19 +1B +1B +1C +1C +1D +1D +1F +1E +20 +1F +21 +20 +22 +22 +23 +21 +23 +23 +23 +23 +25 +23 +25 +24 +26 +24 +26 +26 +25 +26 +25 +27 +25 +27 +26 +27 +27 +25 +27 +26 +28 +26 +27 +25 +27 +26 +26 +27 +27 +28 +27 +28 +28 +27 +27 +25 +26 +26 +24 +1E +18 +14 +10 +0F +0C +0A +06 +06 +02 +01 +FF +FE +FC +FC +F9 +F7 +F7 +F5 +F3 +F2 +F0 +F0 +ED +ED +EB +EB +E9 +EA +E7 +E7 +E5 +E5 +E3 +E3 +E1 +E2 +E1 +DF +E0 +DE +DE +DD +DD +DC +DC +DB +DB +DB +D9 +DA +D9 +D9 +D9 +D8 +D8 +D8 +D6 +D7 +D6 +D7 +D7 +D7 +D7 +D5 +D6 +D5 +D6 +D5 +D6 +D6 +D6 +D6 +D5 +D6 +D5 +D6 +D5 +D6 +D6 +D6 +D6 +D6 +D5 +D6 +D6 +D6 +D6 +D7 +D6 +D7 +D7 +D7 +D7 +D8 +D8 +D8 +D9 +D8 +DA +D8 +D9 +DA +DA +DA +DB +DC +DA +DC +DB +DD +DB +DD +DE +DC +DE +DF +DD +DF +DF +E0 +DE +E0 +E1 +DF +E0 +E0 +E2 +E0 +E2 +E0 +E1 +E2 +E2 +E2 +E2 +E2 +E4 +E3 +E2 +E4 +E4 +E4 +E4 +E6 +E4 +E5 +E4 +E6 +E7 +E5 +E7 +E7 +E7 +E7 +E6 +E8 +EA +F1 +F5 +FA +FC +00 +FF +03 +05 +06 +08 +0A +0C +0E +11 +12 +13 +15 +17 +18 +19 +1B +1C +1E +1E +20 +21 +22 +22 +24 +25 +25 +27 +27 +29 +29 +2A +2A +2C +2B +2D +2D +2E +2D +2F +2E +30 +30 +30 +31 +32 +30 +32 +32 +33 +31 +33 +33 +34 +33 +34 +33 +33 +35 +34 +35 +34 +35 +34 +35 +35 +34 +35 +34 +35 +34 +35 +34 +34 +35 +33 +34 +33 +34 +32 +34 +33 +33 +34 +33 +31 +33 +31 +33 +31 +31 +32 +31 +31 +32 +30 +31 +31 +2F +31 +2F +30 +2F +2F +30 +2F +2D +2F +2E +2F +2D +2D +2D +2E +2C +2D +2B +2D +2B +2C +2B +2B +2B +2A +2A +2A +2B +29 +29 +2A +29 +29 +28 +28 +29 +27 +27 +27 +28 +26 +26 +26 +27 +25 +26 +24 +26 +25 +24 +24 +24 +24 +24 +23 +24 +23 +23 +22 +23 +23 +22 +21 +22 +20 +21 +1F +21 +20 +20 +1F +1F +20 +1E +1E +1E +1F +1D +1E +1C +1E +1C +1D +1B +1D +1B +1C +1A +1C +1B +1B +19 +1B +1A +1B +1A +18 +1A +18 +1A +19 +17 +19 +17 +19 +17 +17 +17 +18 +17 +18 +16 +16 +16 +16 +17 +15 +15 +16 +15 +16 +14 +14 +15 +14 +14 +12 +14 +13 +14 +13 +13 +11 +13 +11 +13 +12 +11 +11 +12 +12 +11 +0F +11 +10 +11 +0F +10 +0E +10 +0F +0F +0E +0E +0E +0E +0E +0E +0D +0E +0E +0C +0C +0D +0C +0D +0C +0C +0C +0B +0C +0C +0B +0B +0A +0A +0A +0A +0A +0B +0A +08 +09 +09 +09 +09 +0A +08 +08 +09 +08 +08 +08 +08 +06 +07 +08 +06 +08 +06 +06 +06 +06 +07 +05 +07 +07 +05 +05 +06 +05 +06 +05 +05 +05 +03 +04 +04 +03 +05 +04 +04 +05 +03 +05 +05 +03 +03 +03 +03 +03 +03 +03 +03 +04 +02 +04 +02 +02 +01 +03 +01 +03 +01 +03 +00 +FE +F7 +F2 +EF +EB +EA +E8 +E6 +E3 +E2 +DF +DE +DC +D9 +D9 +D7 +D6 +D4 +D3 +D1 +D0 +CF +CE +CC +CC +CB +CA +C9 +C7 +C7 +C5 +C5 +C5 +C3 +C3 +C2 +C2 +C1 +C1 +C0 +C0 +BE +C0 +BE +BE +BE +BE +BC +BD +BC +BD +BD +BD +BB +BC +BB +BC +BC +BB +BC +BC +BB +BC +BC +BB +BC +BB +BC +BC +BC +BB +BC +BB +BD +BD +BD +BD +BC +BD +BD +BC +BD +BC +BE +BE +BE +BD +BD +BF +BF +BF +BE +C0 +BE +C0 +C1 +BF +C1 +C2 +C0 +C2 +C2 +C2 +C3 +C2 +C3 +C4 +C4 +C5 +C4 +C6 +C5 +C7 +C7 +C7 +C8 +C8 +C8 +C8 +C9 +C9 +C9 +CB +CA +CC +CB +CB +CC +CC +CD +CC +CE +CE +CE +CF +CE +D0 +CE +D0 +D0 +D0 +D1 +D1 +D2 +D2 +D2 +D1 +D3 +D2 +D4 +D4 +D4 +D3 +D5 +D5 +D6 +D5 +D7 +DC +E2 +E7 +E9 +ED +EE +F0 +F2 +F4 +F6 +F8 +FA +FD +FE +FF +01 +02 +04 +06 +06 +09 +09 +0B +0C +0C +0F +0F +11 +12 +12 +14 +14 +16 +16 +16 +18 +19 +1A +1B +1A +1C +1C +1D +1D +1D +1F +1E +20 +1F +21 +21 +21 +21 +21 +23 +23 +21 +23 +24 +23 +23 +24 +24 +24 +24 +24 +24 +26 +25 +26 +25 +26 +25 +26 +26 +24 +26 +25 +25 +27 +27 +25 +27 +26 +27 +26 +27 +26 +27 +26 +26 +26 +26 +25 +26 +25 +24 +26 +25 +25 +25 +25 +23 +25 +25 +24 +25 +24 +25 +23 +23 +23 +24 +24 +23 +21 +23 +22 +23 +23 +22 +22 +20 +22 +21 +22 +20 +20 +20 +20 +20 +20 +1F +1F +20 +1E +1E +1E +1F +1D +1F +1E +17 +12 +0C +0A +06 +06 +02 +00 +FF +FD +FB +F8 +F8 +F6 +F4 +F2 +F1 +EF +EE +EC +EC +EA +E9 +E7 +E7 +E5 +E5 +E3 +E3 +E1 +E1 +E0 +DE +DE +DD +DD +DB +DB +DA +DA +D9 +D9 +D8 +D8 +D7 +D7 +D5 +D6 +D5 +D5 +D6 +D4 +D4 +D4 +D4 +D2 +D3 +D4 +D2 +D4 +D2 +D2 +D2 +D1 +D2 +D1 +D2 +D2 +D1 +D2 +D1 +D2 +D1 +D2 +D2 +D1 +D2 +D1 +D2 +D2 +D1 +D2 +D2 +D2 +D2 +D2 +D2 +D2 +D3 +D4 +D2 +D3 +D2 +D4 +D2 +D4 +D4 +D4 +D3 +D5 +D5 +D5 +D6 +D6 +D6 +D5 +D7 +D7 +D7 +D8 +D8 +D8 +D7 +D9 +DA +D8 +DA +DB +D9 +DA +DA +DC +DB +DB +DD +DB +DD +DC +DD +DD +E0 +E4 +EB +EF +F2 +F4 +F7 +F8 +FA +FC +FE +00 +00 +04 +04 +07 +07 +09 +0B +0C +0D +10 +10 +12 +13 +13 +16 +17 +17 +19 +19 +1A +1B +1C +1D +1E +1F +1F +20 +21 +21 +21 +22 +22 +23 +24 +23 +25 +24 +26 +25 +27 +27 +25 +27 +28 +26 +28 +28 +29 +27 +29 +29 +2A +28 +2A +2A +2A +29 +2A +2A +28 +2A +28 +2A +2B +2A +29 +2A +29 +2A +2B +2B +2A +29 +2A +2A +2A +29 +2A +28 +2A +28 +27 +29 +29 +28 +29 +28 +29 +28 +29 +27 +27 +28 +27 +27 +27 +27 +28 +27 +27 +25 +27 +27 +26 +27 +26 +26 +26 +24 +26 +24 +25 +23 +24 +25 +23 +23 +23 +24 +24 +22 +22 +22 +23 +22 +22 +21 +22 +21 +20 +21 +21 +1F +21 +1F +1F +20 +1F +20 +20 +1F +1E +1E +1F +1D +1D +1D +1C +1E +1C +1C +1C +1D +1C +1D +1B +1B +1B +1C +1A +1C +1A +1B +19 +1A +1B +19 +19 +19 +19 +1A +19 +1A +1A +19 +18 +19 +18 +18 +19 +19 +18 +16 +17 +18 +18 +18 +16 +17 +15 +17 +16 +15 +16 +15 +15 +14 +14 +14 +14 +15 +15 +14 +12 +14 +14 +13 +12 +13 +11 +13 +11 +11 +12 +12 +10 +12 +10 +10 +10 +10 +10 +10 +0F +0F +0F +10 +0E +0E +0E +0F +0D +0D +0C +0E +0D +0D +0D +0D +0D +0C +0D +0D +0D +0D +0B +0D +0B +0B +0A +07 +00 +FD +F9 +F7 +F5 +F3 +F0 +EE +EE +EB +E9 +E6 +E6 +E4 +E3 +E0 +E0 +DE +DD +DB +DB +D9 +D9 +D6 +D6 +D5 +D3 +D4 +D3 +D1 +D1 +CF +CF +CF +D5 +D9 +DE +DE +E1 +E3 +E4 +E6 +E7 +E7 +EA +EA +EC +ED +EE +F0 +EF +F2 +F2 +F4 +F4 +F6 +F7 +F6 +F8 +F8 +FA +FA +FA +FC +FD +FC +FE +FD +FF +FE +00 +00 +FF +00 +00 +00 +01 +01 +03 +02 +04 +02 +04 +05 +03 +05 +05 +05 +05 +06 +07 +05 +07 +05 +06 +08 +07 +07 +07 +08 +06 +08 +09 +09 +08 +08 +07 +02 +FE +F9 +F7 +F5 +F4 +F0 +F0 +EE +EC +EA +E9 +E7 +E6 +E5 +E3 +E2 +E0 +E0 +DE +DE +DB +DB +DA +D9 +D9 +D8 +D6 +D6 +D5 +D5 +D4 +D2 +D3 +D1 +D2 +D0 +D1 +CF +D0 +CE +CE +CE +CE +CD +CD +CD +CC +CC +CD +CC +CA +CB +CA +CC +CB +C9 +CA +C9 +CA +CA +CA +C9 +CA +C9 +CA +C9 +CA +CA +CA +CA +CA +CA +CA +CA +CA +CA +CA +CB +CA +CB +CB +CC +CB +CB +CC +CD +CB +CC +CD +CE +CD +CD +CF +CD +CE +CF +CF +CF +D0 +CF +D1 +D0 +D3 +D8 +DC +E1 +E4 +E7 +E8 +E9 +ED +EE +F1 +F2 +F4 +F7 +F7 +FA +FB +FC +FE +FE +00 +00 +02 +03 +05 +06 +06 +09 +09 +0B +0A +0C +0D +0E +0E +10 +10 +12 +11 +13 +12 +14 +14 +15 +15 +16 +16 +17 +17 +18 +18 +19 +19 +1A +1B +1A +1A +1C +1A +1B +1B +1D +1C +1D +1D +1D +1D +1D +1E +1C +1E +1E +1E +1E +1E +1E +1E +1F +1E +1F +1E +1F +1E +1F +1E +1F +1E +1F +1D +1F +1E +1F +1E +20 +1F +20 +1C +16 +10 +0E +0B +09 +07 +05 +03 +01 +00 +FD +FD +FA +FA +F7 +F7 +F6 +F4 +F3 +F8 +FC +00 +FF +01 +01 +03 +03 +04 +05 +05 +07 +07 +08 +09 +08 +0A +0A +0C +0B +0D +0C +0E +0D +0F +0E +10 +10 +0F +11 +0F +11 +11 +11 +11 +13 +12 +12 +12 +13 +13 +13 +14 +12 +13 +13 +15 +13 +15 +14 +14 +14 +16 +15 +15 +15 +15 +15 +16 +15 +16 +16 +15 +16 +16 +16 +16 +15 +16 +14 +16 +15 +15 +15 +15 +15 +14 +0F +08 +06 +02 +00 +00 +FC +FB +F9 +F9 +F6 +F4 +F3 +F0 +F0 +EE +ED +EB +EB +E9 +E8 +E6 +E6 +E5 +E3 +E3 +E1 +E1 +E0 +DF +DF +DD +DD +DD +DC +DB +DA +DA +D9 +D9 +D8 +D8 +D7 +D7 +D6 +D6 +D7 +D5 +D5 +D5 +D5 +D4 +D4 +D4 +D4 +D4 +D3 +D2 +D3 +D2 +D4 +D2 +D4 +D2 +D2 +D1 +D2 +D1 +D2 +D2 +D2 +D2 +D3 +D2 +D3 +D3 +D3 +D3 +D3 +D3 +D2 +D3 +D3 +D2 +D4 +D4 +D4 +D6 +D4 +D6 +D5 +D4 +D6 +D5 +D7 +D7 +D7 +D7 +D9 +D8 +DA +D8 +DA +DB +E0 +E6 +E9 +EC +ED +F0 +F2 +F4 +F6 +F8 +F9 +FB +FD +FF +FF +01 +02 +04 +04 +07 +08 +0A +0B +0C +0D +0E +0F +0F +10 +10 +12 +13 +13 +15 +15 +16 +17 +17 +18 +18 +19 +1A +19 +1B +1A +1C +1B +1D +1C +1E +1E +1E +1F +1D +1F +1F +20 +1E +20 +21 +21 +20 +20 +20 +22 +20 +22 +20 +22 +22 +20 +22 +23 +21 +23 +22 +23 +23 +22 +23 +23 +23 +23 +23 +22 +22 +22 +22 +22 +21 +22 +22 +20 +22 +21 +22 +21 +21 +22 +22 +20 +20 +20 +20 +20 +20 +1F +1C +15 +11 +0D +0D +09 +09 +07 +04 +02 +00 +FF +FE +FD +FA +FA +F8 +F6 +F5 +F4 +F2 +F2 +F0 +EE +EE +EC +EC +EA +EA +E8 +E9 +E7 +E7 +E5 +E6 +E5 +E3 +E3 +E2 +E2 +E1 +E1 +E0 +DF +E0 +DF +DE +DE +DD +DE +DD +DD +DD +DB +DD +DC +DC +DA +DB +DB +DB +DB +DC +DB +DA +DA +DA +DA +DB +DA +DA +DA +DA +DB +DB +DB +DA +DA +DA +DA +DA +DF +E6 +EA +ED +F0 +F1 +F3 +F3 +F6 +F8 +FB +FB +FD +00 +FF +01 +03 +03 +06 +07 +07 +09 +09 +0B +0C +0C +0E +0F +10 +11 +10 +0A +06 +04 +01 +01 +FF +FF +FE +FC +FC +FB +F9 +F8 +F6 +F7 +F5 +F5 +F3 +F3 +F1 +F2 +F0 +F0 +EF +EF +EF +ED +EE +ED +ED +EB +EC +EA +E9 +EB +E9 +E9 +E8 +E9 +E7 +E9 +E8 +E8 +E6 +E7 +E7 +E7 +E5 +E6 +E7 +E6 +E6 +E7 +E6 +E5 +E4 +E6 +E4 +E5 +E4 +E5 +E5 +E5 +E4 +E5 +E5 +E4 +E5 +E4 +E5 +E5 +E5 +E6 +EC +F1 +F4 +F8 +FA +FC +FD +FF +FF +03 +04 +06 +06 +09 +09 +0C +0D +0D +10 +10 +12 +13 +15 +16 +16 +18 +19 +19 +1A +1B +1B +1D +1D +1E +1F +1E +20 +20 +21 +22 +21 +23 +23 +23 +24 +24 +25 +26 +24 +25 +27 +25 +27 +27 +28 +27 +27 +28 +28 +28 +28 +27 +29 +28 +29 +2A +2A +28 +2A +28 +2A +29 +29 +29 +2A +2A +2B +2B +2B +2A +2B +29 +29 +29 +29 +29 +2A +29 +2A +2A +29 +29 +29 +2A +29 +27 +29 +27 +29 +27 +29 +27 +27 +27 +28 +27 +28 +26 +26 +26 +27 +25 +27 +25 +26 +25 +26 +25 +25 +25 +23 +25 +23 +24 +23 +24 +23 +23 +21 +23 +22 +23 +22 +22 +20 +22 +21 +21 +20 +20 +21 +1F +1F +1F +20 +1E +1E +1E +1E +1E +1F +1D +1D +1D +1E +1D +1E +1C +1C +1C +1C +1C +1C +1C +1B +1B +1B +19 +1B +1A +1A +1A +1A +18 +1A +19 +19 +19 +18 +18 +19 +17 +18 +16 +14 +0D +09 +06 +03 +01 +00 +FE +FC +FA +F8 +F8 +F4 +F4 +F1 +F1 +EF +ED +EC +EA +EA +E8 +E8 +E6 +E6 +E5 +E3 +E3 +E1 +E1 +E0 +DE +DE +DD +DD +DC +DC +DB +DA +DA +D9 +D9 +D8 +D8 +D6 +D7 +D7 +D7 +D5 +D7 +D6 +D4 +D5 +D5 +D5 +D3 +D5 +D3 +D4 +D3 +D5 +D3 +D3 +D3 +D3 +D3 +D4 +D2 +D3 +D2 +D2 +D1 +D3 +D4 +D2 +D3 +D3 +D2 +D3 +D2 +D3 +D3 +D3 +D3 +D4 +D4 +D4 +D3 +D4 +D3 +D5 +D6 +D4 +D5 +D5 +D7 +D5 +D7 +D6 +D8 +D7 +D8 +D7 +D9 +DB +E2 +E6 +E8 +EC +EC +EF +F1 +F2 +F6 +F6 +F9 +F9 +FC +FD +FE +00 +00 +02 +02 +04 +05 +07 +07 +09 +09 +0B +0B +0D +0D +0E +0E +10 +10 +12 +12 +13 +14 +14 +14 +15 +15 +17 +16 +18 +18 +18 +1A +18 +1A +1A +1B +1A +1C +1B +1C +1C +1D +1B +1D +1D +1D +1D +1E +1C +1E +1C +1E +1E +1F +1E +1E +1E +1F +1E +1F +1D +1F +1F +1D +1F +1F +1F +1F +20 +1F +20 +20 +1F +20 +1E +1F +1E +1E +1E +1F +1E +1F +1F +1F +1D +1F +1D +1D +1D +1D +1E +1D +1E +1E +1D +1B +1D +1C +1C +1C +1D +1B +1B +1B +1B +1C +1A +1C +1A +1A +19 +1B +19 +1B +1A +18 +1A +19 +1A +1A +18 +18 +18 +19 +17 +19 +17 +17 +16 +18 +16 +16 +18 +15 +12 +0D +07 +05 +01 +01 +FF +FE +FC +FA +F9 +F6 +F6 +F3 +F3 +F1 +EF +EE +EC +EC +EA +EA +E8 +E8 +E6 +E6 +E5 +E3 +E3 +E1 +E1 +E0 +E0 +DE +DF +DE +DC +DD +DC +DB +DB +DA +DA +D8 +D9 +D9 +D8 +D7 +D7 +D7 +D7 +D5 +D6 +D7 +D5 +D5 +D4 +D5 +D5 +D5 +D4 +D5 +D3 +D4 +D4 +D4 +D5 +D3 +D3 +D3 +D2 +D3 +D2 +D3 +D2 +D3 +D3 +D4 +D4 +D3 +D4 +D3 +D3 +D4 +D4 +D4 +D5 +D3 +D4 +D4 +D6 +D4 +D6 +D7 +D5 +D7 +D7 +D7 +D6 +D8 +D8 +D8 +D7 +D9 +D9 +D9 +D8 +DA +DA +DA +DA +DC +DA +DC +DC +DC +DC +DD +DD +DD +DD +DE +DF +DD +DE +DE +DE +DE +DF +DF +DE +DF +DF +E0 +E0 +E0 +E0 +E2 +E0 +E1 +E2 +E3 +E2 +E2 +E2 +E2 +E4 +E2 +E3 +E3 +E3 +E4 +E2 +E4 +E3 +E5 +E4 +E3 +E5 +E5 +E5 +E4 +E6 +E6 +E6 +E5 +E7 +E7 +E6 +E7 +E6 +E7 +E6 +E8 +E7 +E7 +E8 +E9 +E7 +E9 +E9 +E9 +E9 +E9 +EB +EA +EA +EA +EA +EC +EA +EC +EA +EC +EB +EB +EB +ED +EB +EC +EC +EE +EC +EE +ED +EF +ED +EE +EF +EF +EF +EF +EF +EE +EF +EE +F0 +EE +F0 +F0 +F0 +F0 +F0 +F0 +F2 +F0 +F1 +F0 +F2 +F2 +F2 +F2 +F2 +F1 +F2 +F2 +F1 +F3 +F2 +F2 +F2 +F4 +F3 +F3 +F5 +F3 +F4 +F5 +F6 +F4 +F6 +F4 +F5 +F5 +F5 +F5 +F5 +F5 +F7 +F5 +F7 +F6 +F8 +F6 +F7 +F8 +F9 +F8 +F9 +F8 +F8 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +FB +F9 +FA +F9 +FA +FB +FC +FB +FC +FB +FB +FC +FB +FC +FB +FB +FB +FA +FC +FC +FC +FC +FC +FC +FC +FB +FD +FD +FD +FD +FD +FD +FD +FD +FD +FD +00 +04 +0A +0C +0F +10 +12 +14 +16 +18 +18 +1B +1B +1E +1E +20 +22 +22 +24 +24 +26 +26 +28 +28 +2A +2A +2B +27 +23 +1F +1D +1C +1A +1A +18 +17 +15 +15 +13 +13 +11 +11 +0F +10 +0E +0E +0C +0C +0B +09 +09 +08 +08 +08 +06 +06 +06 +04 +05 +03 +04 +02 +03 +01 +02 +00 +01 +FF +01 +00 +FF +00 +FF +FF +FF +FF +FF +FD +FF +FE +FD +FF +FE +FE +FC +FD +FD +FD +FB +FB +FD +FB +FC +FC +FB +FD +FC +FC +FC +FC +00 +05 +08 +0C +0E +0E +12 +12 +14 +16 +18 +19 +1B +1C +1E +1E +20 +20 +22 +23 +25 +25 +27 +26 +28 +28 +2A +2B +2B +2C +2D +2D +2E +2E +2F +2F +30 +30 +32 +32 +31 +33 +32 +34 +34 +32 +34 +34 +35 +33 +35 +33 +35 +34 +36 +35 +36 +35 +36 +34 +36 +36 +37 +36 +37 +36 +37 +37 +36 +37 +35 +37 +36 +35 +36 +35 +36 +35 +36 +35 +35 +35 +35 +34 +34 +34 +35 +33 +33 +34 +32 +34 +34 +32 +32 +33 +32 +33 +31 +31 +31 +32 +30 +30 +30 +30 +31 +30 +30 +2F +30 +2F +2F +2D +2F +2E +2E +2C +2E +2D +2D +2B +2D +2D +2C +2A +2C +2B +2B +29 +2A +2B +29 +2A +29 +29 +2A +28 +28 +28 +28 +27 +25 +1E +1A +16 +14 +12 +0F +0E +0D +09 +09 +06 +04 +02 +01 +FF +FF +FD +FC +FA +FA +F8 +F8 +F7 +F5 +F5 +F3 +F3 +F1 +F1 +EF +EF +ED +ED +EC +EC +EB +E9 +EB +EE +F4 +F5 +F9 +F9 +FA +FC +FD +FF +FF +00 +02 +03 +04 +05 +05 +06 +07 +07 +09 +09 +0B +0A +0C +0C +0D +0D +0E +0E +0F +0F +10 +11 +10 +12 +11 +13 +11 +13 +13 +13 +14 +14 +14 +14 +14 +16 +15 +15 +15 +16 +17 +16 +17 +15 +17 +18 +17 +18 +17 +18 +17 +18 +17 +18 +18 +17 +18 +17 +18 +18 +17 +18 +18 +17 +18 +18 +17 +18 +17 +18 +17 +18 +17 +17 +18 +16 +18 +17 +17 +15 +16 +16 +16 +17 +15 +17 +16 +17 +16 +15 +15 +16 +14 +16 +15 +15 +16 +15 +15 +14 +14 +14 +14 +14 +14 +14 +12 +13 +13 +13 +13 +14 +12 +12 +12 +13 +11 +13 +12 +12 +11 +12 +11 +11 +12 +10 +0F +11 +0F +11 +0F +0F +0E +10 +0E +0F +0F +0E +0E +0E +0E +0E +0F +0D +0D +0D +0D +0E +0D +0E +0D +0C +0D +0D +0C +0D +0C +0D +0B +0B +0B +0B +0B +0B +0B +0B +0C +0A +0A +0B +0A +0A +0B +09 +0B +0A +09 +0A +09 +09 +09 +09 +0A +09 +07 +09 +07 +09 +08 +08 +08 +08 +06 +07 +07 +07 +06 +06 +06 +06 +06 +06 +06 +05 +04 +06 +04 +06 +05 +05 +05 +04 +05 +04 +04 +04 +04 +04 +05 +05 +04 +03 +04 +02 +04 +03 +03 +03 +03 +03 +02 +02 +02 +01 +01 +01 +01 +01 +02 +00 +02 +00 +00 +00 +01 +00 +00 +00 +01 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FE +00 +FE +00 +FE +00 +FE +00 +FF +FE +FF +FB +F7 +F2 +EF +ED +EA +EA +E6 +E6 +E3 +E2 +E0 +E0 +DD +DD +DB +D9 +D9 +D7 +D7 +D6 +D4 +D4 +D2 +D2 +D1 +CF +D2 +D6 +DB +DC +DE +DE +E1 +E1 +E4 +E4 +E4 +E6 +E6 +E8 +E8 +E8 +EA +EB +EB +EC +EC +EE +EE +F0 +F0 +F1 +F1 +F2 +F3 +F2 +F3 +F3 +F4 +F5 +F4 +F6 +F7 +F5 +F7 +F7 +F7 +F7 +F8 +F8 +FA +F8 +FA +FB +FA +FA +FC +FA +FC +FB +FD +FC +FC +FD +FD +FE +FD +FE +FE +FF +FD +FF +FE +FD +FF +FC +F8 +F2 +F0 +EC +EC +EA +E9 +E7 +E6 +E4 +E3 +E1 +DF +DF +DD +DD +DB +DB +DA +D8 +D8 +D6 +D6 +D4 +D4 +D2 +D2 +D2 +D0 +D1 +CF +CF +CF +CD +CE +CC +CD +CC +CB +CB +CA +CA +C9 +CB +C9 +C9 +CA +C8 +C8 +C7 +C8 +C7 +C9 +C8 +C6 +C7 +C6 +C7 +C6 +C7 +C6 +C7 +C6 +C7 +C7 +C8 +C8 +C7 +C8 +C8 +C8 +C8 +C8 +C7 +C8 +C7 +C8 +C7 +C9 +CA +C8 +C9 +C8 +CA +CA +CB +CC +CA +CC +CC +CC +CC +CE +CC +CE +CD +CE +CD +CE +CE +D0 +CE +D0 +D0 +D0 +D0 +D0 +D2 +D1 +D3 +D1 +D3 +D3 +D2 +D4 +D4 +D4 +D5 +D5 +D5 +D5 +D5 +D7 +D5 +D7 +D8 +D7 +D6 +D7 +D7 +D9 +D8 +D8 +D9 +D9 +D9 +D9 +DA +DA +DA +D9 +DB +DB +DB +DC +DC +DC +DB +DD +DD +DD +DC +DE +DE +DE +DD +DF +E0 +DE +DF +DF +E0 +E0 +DF +E0 +E0 +E2 +E2 +E0 +E2 +E2 +E3 +E4 +EA +EE +F2 +F3 +F5 +F6 +FA +FB +FB +FF +FF +00 +01 +03 +04 +06 +06 +09 +09 +0B +0B +0D +0D +0F +10 +10 +11 +11 +13 +13 +15 +15 +16 +17 +16 +18 +18 +19 +19 +1A +1A +1B +1C +1A +1C +1D +1C +1E +1D +1E +1E +1F +1D +1F +1F +1F +1F +1A +16 +11 +10 +0E +0C +0A +08 +08 +05 +05 +03 +02 +00 +00 +FE +FE +FC +FC +FB +FA +F9 +F7 +F7 +F6 +F6 +F5 +F3 +F3 +F3 +F1 +F1 +F1 +F0 +F0 +EE +EF +EE +EE +ED +ED +EC +EC +EA +EB +EA +EA +EA +EA +E8 +EA +E8 +E9 +E7 +E8 +E8 +E9 +E7 +E7 +E7 +E7 +E6 +E7 +E6 +E7 +E7 +E7 +E6 +E5 +E7 +E5 +E6 +E7 +E5 +E7 +E6 +E8 +E6 +E8 +E7 +E9 +E7 +E8 +E8 +EA +E9 +E8 +E9 +E9 +EB +EA +EA +EA +E9 +EA +EB +E9 +EA +EA +EC +EA +EB +EB +EB +EB +ED +EB +EC +EC +EB +ED +EE +EC +ED +EC +ED +EE +EC +ED +EE +EE +EE +EE +EE +EE +ED +EF +EF +EF +EF +EF +F1 +EF +F0 +EF +F1 +F2 +F0 +F2 +F0 +F1 +F0 +F1 +F1 +F1 +F2 +F0 +F2 +F1 +F3 +F6 +FC +FE +01 +02 +04 +06 +07 +09 +0A +0C +0D +0F +10 +12 +12 +15 +15 +17 +17 +19 +19 +1B +1B +1D +1D +1F +1F +1F +21 +21 +22 +22 +23 +23 +24 +24 +25 +25 +26 +27 +26 +28 +26 +28 +28 +29 +27 +29 +2A +29 +29 +29 +2B +2B +2A +2B +29 +2B +2C +2C +29 +24 +1E +1C +1A +18 +17 +15 +14 +11 +11 +0F +0D +0C +0A +0A +08 +08 +05 +05 +03 +03 +02 +00 +01 +FF +FF +FE +FE +FD +FB +FB +FB +FA +F9 +F9 +F8 +F8 +F7 +F7 +F6 +F6 +F4 +F6 +F4 +F5 +F3 +F4 +F3 +F4 +F3 +F3 +F2 +F1 +F2 +F0 +F0 +EF +F1 +EF +EF +EE +F0 +EE +F0 +EF +EE +EE +EE +EE +EE +EE +EE +EF +F5 +F8 +FC +FF +00 +00 +02 +04 +06 +07 +08 +0A +0C +0D +0D +0F +0F +11 +12 +14 +13 +15 +15 +17 +17 +19 +19 +1B +1B +1C +1D +1E +1E +1F +1F +20 +20 +21 +21 +23 +21 +23 +23 +24 +24 +25 +23 +25 +25 +25 +25 +26 +26 +26 +27 +26 +26 +26 +28 +27 +26 +28 +26 +28 +28 +26 +28 +28 +28 +29 +28 +29 +27 +27 +27 +28 +26 +28 +27 +27 +27 +27 +28 +27 +27 +26 +26 +27 +25 +27 +25 +25 +26 +25 +25 +25 +25 +26 +24 +24 +25 +24 +24 +24 +24 +24 +24 +24 +23 +24 +23 +22 +23 +23 +22 +23 +21 +21 +22 +21 +21 +1F +21 +21 +20 +20 +1F +1F +1F +20 +1F +1D +1F +1D +1E +1E +1C +1E +1E +1D +1E +1D +1B +1D +1C +1D +1B +1B +1B +1B +1C +1B +1A +1A +1A +1A +1A +19 +19 +19 +19 +19 +18 +18 +18 +18 +18 +16 +17 +18 +16 +18 +16 +16 +17 +16 +17 +16 +16 +15 +16 +16 +14 +15 +14 +15 +13 +15 +15 +14 +13 +14 +12 +14 +13 +13 +12 +13 +12 +12 +12 +13 +11 +0E +09 +04 +02 +FF +FE +FD +FB +F9 +F7 +F6 +F4 +F3 +F1 +F0 +EE +EE +ED +EB +EA +E9 +E7 +E7 +E5 +E5 +E5 +E3 +E3 +E1 +E2 +E0 +E0 +DE +DE +DE +E1 +E6 +E8 +EB +EB +EE +EE +F0 +F0 +F2 +F2 +F4 +F4 +F6 +F6 +F8 +F9 +F9 +FA +FA +FC +FC +FD +FE +FF +00 +FF +00 +FF +01 +01 +01 +02 +01 +03 +03 +03 +03 +05 +03 +05 +05 +05 +05 +06 +07 +05 +07 +06 +08 +07 +07 +09 +08 +09 +07 +09 +09 +0A +08 +0A +09 +0A +08 +0A +0A +09 +0B +0A +0B +0A +0B +0A +0B +0A +0A +0B +0A +0B +0A +0B +0B +0A +0B +0A +0A +0B +09 +0B +09 +0B +09 +07 +02 +FE +FD +F9 +F8 +F7 +F4 +F4 +F1 +F1 +EF +ED +ED +EB +E9 +E9 +E7 +E7 +E5 +E5 +E3 +E3 +E5 +E9 +ED +ED +EF +EF +F1 +F1 +F3 +F3 +F5 +F4 +F6 +F6 +F8 +F7 +F8 +FA +FA +FB +FB +FC +FC +FD +FD +FE +FE +FF +00 +FF +00 +FF +01 +FF +01 +01 +01 +02 +02 +02 +02 +03 +04 +02 +04 +05 +03 +05 +04 +04 +04 +06 +04 +06 +05 +05 +06 +07 +07 +05 +07 +06 +06 +05 +07 +08 +06 +08 +08 +08 +08 +06 +08 +07 +08 +07 +08 +06 +08 +06 +08 +07 +08 +06 +08 +08 +08 +08 +07 +08 +07 +07 +07 +07 +08 +07 +07 +07 +07 +07 +07 +06 +08 +06 +08 +06 +06 +06 +06 +06 +07 +07 +05 +07 +06 +05 +05 +05 +05 +05 +05 +05 +05 +05 +05 +05 +05 +06 +04 +04 +04 +05 +03 +05 +04 +04 +02 +04 +03 +04 +02 +04 +01 +FE +F8 +F6 +F3 +F3 +F0 +EF +ED +EC +EA +E9 +E7 +E6 +E4 +E4 +E2 +E1 +DF +DF +DE +DC +DC +DB +DB +D9 +D9 +D7 +D7 +D7 +D6 +D6 +D5 +D4 +D4 +D2 +D4 +D2 +D2 +D1 +D0 +D0 +CF +D0 +CE +D0 +CE +CE +CE +CF +CD +CF +CD +CD +CC +CD +CC +CD +CD +CB +CC +CC +D1 +D6 +D8 +DC +DC +E0 +E0 +E3 +E4 +E5 +E7 +E7 +EA +EB +EB +EE +EE +F0 +F0 +EF +EB +E7 +E6 +E4 +E5 +E4 +E3 +E3 +E2 +E0 +E1 +DF +E0 +DF +DF +DE +DE +DD +DC +DC +DB +DB +DA +DC +DA +DA +D9 +DA +DA +DA +D9 +D8 +DA +D8 +DA +D9 +D8 +D8 +D8 +D8 +D8 +D8 +D8 +D7 +D9 +D7 +D8 +D7 +D7 +D7 +D7 +D6 +D8 +D8 +D8 +D7 +D8 +D8 +D8 +D9 +D8 +DA +D8 +DA +D9 +DA +D9 +DA +DC +DA +DC +DA +DB +DB +DD +DB +DD +DB +DD +DD +DD +DD +DD +DD +DD +DF +DD +DE +DD +DE +DE +E0 +DE +DF +E0 +E1 +E0 +E0 +E2 +E1 +E1 +E1 +E2 +E2 +E2 +E2 +E3 +E3 +E3 +E3 +E3 +E5 +E3 +E5 +E4 +E4 +E4 +E5 +E5 +E5 +E4 +E5 +E5 +E7 +E5 +E7 +E9 +EF +F1 +F6 +F6 +F8 +FA +FC +FC +FE +00 +00 +02 +03 +05 +06 +08 +09 +09 +08 +03 +00 +00 +FF +FF +FD +FE +FD +FB +FB +FA +FA +F8 +F9 +F7 +F8 +F7 +F6 +F6 +F5 +F5 +F4 +F4 +F3 +F3 +F3 +F3 +F2 +F2 +F3 +F1 +F1 +F1 +F2 +F0 +F0 +F1 +F0 +F1 +F0 +EE +F0 +EF +F0 +EF +F0 +EF +ED +EE +EE +EE +EE +EE +EE +EE +ED +EE +ED +EE +EE +EE +EE +EE +EE +EE +F0 +EF +EF +EF +EF +F0 +F0 +F0 +EF +F1 +F1 +F1 +F1 +F3 +F3 +F1 +F3 +F1 +F3 +F4 +F3 +F3 +F3 +F3 +F4 +F3 +F3 +F4 +F2 +F4 +F4 +F5 +F4 +F3 +F5 +F3 +F5 +F5 +F5 +F5 +F4 +F5 +F5 +F7 +F5 +F7 +F5 +F6 +F5 +F6 +F6 +F6 +F6 +F6 +F6 +F5 +F7 +F7 +F7 +F7 +F7 +F7 +F7 +F7 +F7 +F6 +F8 +F8 +F8 +F7 +F9 +F9 +F9 +F9 +F9 +F9 +FA +F9 +F8 +F9 +F8 +FA +F8 +FA +FB +FA +FA +F9 +FB +FA +FB +FC +FA +FC +FB +FC +00 +02 +07 +0A +0A +0D +0D +0F +11 +11 +14 +14 +17 +17 +19 +1A +1A +1C +1C +1E +1E +20 +20 +22 +23 +24 +23 +25 +25 +26 +26 +27 +27 +28 +28 +29 +29 +2B +2A +2A +2C +2B +2B +2D +2B +2D +2E +2D +2D +2E +2E +2F +2D +2F +2D +2F +2E +30 +2F +2F +30 +2F +30 +2F +30 +30 +30 +30 +30 +2F +30 +2F +30 +2F +30 +2F +2F +2D +2F +2E +2F +2E +2F +2E +2F +2F +2F +2E +2F +2D +2D +2D +2E +2E +2E +2E +2D +2B +2D +2C +2D +2C +2C +2C +2D +2C +2A +2C +2A +2C +2A +2A +2B +2B +2A +2A +29 +29 +29 +29 +28 +28 +28 +28 +26 +28 +27 +26 +26 +26 +27 +26 +26 +24 +26 +24 +24 +24 +25 +23 +23 +23 +23 +22 +22 +23 +21 +22 +22 +20 +22 +20 +20 +21 +20 +20 +1E +20 +20 +1F +1F +1D +1F +1E +1E +1D +1D +1E +1D +1D +1C +1C +1D +1B +1D +1B +1C +1A +1C +1A +1B +1B +19 +1B +1A +18 +19 +19 +19 +19 +1A +18 +18 +19 +18 +18 +18 +18 +17 +17 +19 +17 +18 +16 +17 +15 +17 +16 +15 +15 +15 +15 +15 +15 +13 +15 +14 +14 +14 +14 +13 +13 +14 +13 +13 +11 +13 +11 +13 +13 +12 +12 +12 +10 +12 +10 +12 +10 +10 +11 +0F +11 +0F +0F +0F +10 +0F +10 +0E +0E +0E +0F +0E +0E +0F +0D +0D +0E +0C +0E +0E +0C +0C +0C +0D +0B +0D +0B +0B +0A +0C +0B +0B +0B +09 +0A +0B +09 +0B +09 +0B +0B +09 +0B +09 +0A +09 +09 +09 +0A +08 +0A +09 +0A +09 +08 +08 +09 +07 +09 +07 +09 +07 +09 +08 +07 +07 +08 +08 +07 +08 +08 +06 +06 +06 +06 +05 +07 +05 +07 +06 +06 +04 +06 +05 +05 +05 +05 +05 +06 +04 +04 +04 +04 +04 +04 +04 +04 +03 +02 +04 +03 +03 +04 +04 +02 +02 +02 +02 +02 +02 +02 +02 +02 +02 +03 +02 +00 +02 +00 +02 +02 +00 +02 +01 +01 +01 +FF +00 +00 +00 +00 +00 +FF +00 +01 +FF +01 +FF +00 +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +FE +00 +FE +FE +00 +FE +FF +FF +FF +00 +FE +00 +FF +FF +FD +FF +FD +FE +FE +FD +FE +FD +FE +FD +FE +FD +FF +FD +FF +FE +FC +FD +FE +FD +FD +FD +FC +FD +FC +FC +FD +FC +FD +FC +FE +FD +FD +FD +FB +FC +FC +FC +FC +FC +FC +FC +FC +FB +FD +FC +FB +FD +FB +FD +FC +FA +FB +FB +FB +FC +FA +FC +FB +FA +FC +FA +FC +F9 +F6 +F1 +EF +ED +EA +EA +E7 +E7 +E4 +E4 +E2 +E1 +DF +DF +DD +DD +DC +DB +DA +D9 +D8 +D7 +D6 +D5 +D4 +D3 +D3 +D1 +D2 +D0 +D1 +CF +D0 +CE +CF +CD +CD +CC +CD +CB +CC +CA +CB +CB +CB +C9 +CA +CA +CA +C8 +C9 +C8 +C9 +CA +C8 +CA +C8 +C8 +C7 +C8 +C8 +C8 +C8 +C7 +C8 +C7 +C8 +C7 +C8 +C8 +C8 +C9 +C8 +C8 +C9 +C8 +C9 +C8 +C9 +CA +C9 +CA +C9 +C9 +CA +CA +CC +CA +CB +CB +CD +CB +CD +CD +CD +CD +CF +CE +CD +CF +CF +CF +D0 +CF +D0 +D1 +D1 +D1 +D1 +D2 +D2 +D1 +D3 +D3 +D3 +D4 +D4 +D4 +D4 +D5 +D5 +D5 +D7 +D6 +D6 +D7 +D7 +D6 +D7 +D7 +D9 +D8 +D8 +DA +D8 +D9 +D9 +DB +DA +DA +DB +DB +DB +DB +DC +DD +DB +DD +DC +DE +DC +DD +DD +DF +DE +DD +DF +E0 +DF +E0 +E1 +E0 +E1 +E2 +E1 +E4 +E8 +EC +ED +F1 +F1 +F4 +F4 +F7 +F7 +FA +FA +FC +FC +FF +FF +00 +00 +02 +02 +04 +05 +07 +06 +09 +09 +0A +0A +0C +0C +0E +0E +0F +10 +10 +11 +12 +11 +13 +13 +13 +14 +15 +15 +15 +16 +15 +17 +15 +17 +18 +18 +17 +18 +18 +18 +18 +18 +17 +19 +1A +19 +19 +19 +19 +19 +19 +1A +1B +19 +1B +1A +1A +1B +1A +1B +1B +1B +1B +1B +1B +1B +1B +1B +1B +1B +1A +1B +1A +1B +1A +1A +1A +1A +1B +1A +18 +1A +19 +1A +1A +1A +18 +1A +18 +19 +18 +17 +19 +18 +19 +19 +18 +19 +19 +18 +18 +19 +17 +17 +17 +17 +17 +17 +17 +19 +17 +16 +17 +15 +16 +17 +16 +16 +14 +16 +15 +16 +15 +15 +15 +15 +16 +14 +14 +14 +15 +14 +13 +13 +13 +14 +13 +13 +13 +13 +14 +12 +14 +12 +12 +11 +13 +11 +13 +12 +12 +10 +12 +11 +10 +12 +10 +0C +08 +03 +03 +00 +FF +FE +FD +FB +F9 +F8 +F6 +F5 +F3 +F3 +F1 +F1 +EF +ED +EE +EC +EC +EB +EA +E8 +E8 +E6 +E6 +E6 +E4 +E5 +E4 +E4 +E3 +E2 +E2 +E0 +E1 +DF +E0 +DF +DF +DF +DD +DF +DD +DD +DC +DC +DD +DD +DD +DB +DD +DC +DC +DC +DD +E2 +E5 +E8 +EA +EB +ED +EE +F0 +F1 +F2 +F3 +F5 +F6 +F7 +F7 +F9 +F9 +FB +FB +FD +FD +FF +FF +00 +00 +00 +01 +01 +03 +03 +04 +04 +05 +05 +06 +07 +07 +07 +08 +08 +09 +0A +09 +09 +0B +09 +0B +0C +0B +0C +0C +0B +0D +0D +0D +0E +0D +0D +0F +0F +0D +0F +0D +0E +0F +0F +0F +10 +0E +09 +07 +04 +00 +00 +FE +FE +FB +FB +F9 +F9 +F7 +F7 +F4 +F4 +F2 +F2 +F0 +F0 +F0 +EF +EE +ED +EC +EC +EB +EA +EA +E8 +E8 +E9 +ED +F0 +F3 +F4 +F6 +F6 +F8 +F8 +FA +FB +FC +FC +FE +FD +FF +00 +00 +00 +02 +02 +03 +03 +04 +03 +05 +06 +06 +07 +06 +07 +07 +09 +07 +09 +09 +0A +0B +09 +0B +0B +0C +0B +0B +0C +0D +0B +0D +0D +0E +0D +0E +0C +0E +0F +0D +0F +0D +0E +0E +0E +0F +0D +0F +10 +0F +10 +10 +10 +0F +10 +0E +0F +0F +0F +11 +10 +10 +10 +10 +10 +11 +10 +11 +10 +11 +10 +11 +11 +10 +11 +10 +11 +0F +11 +0F +11 +10 +0F +10 +10 +0E +10 +0E +10 +0F +10 +0E +10 +0E +0E +0D +0F +0D +0F +0E +0F +0F +0E +0F +0E +0E +0F +0D +0D +0D +0E +0C +0E +0C +0E +0E +0C +0C +0C +0C +0D +0D +0C +0D +0C +0D +0C +0B +0B +0C +0B +0C +0B +0B +09 +05 +00 +FF +FC +FB +F9 +F8 +F6 +F5 +F4 +F2 +F2 +EF +EF +EE +EC +EC +EA +EA +E8 +E8 +E7 +E5 +E5 +E4 +E2 +E3 +E1 +E2 +E0 +E0 +DF +DF +DF +DE +DD +DC +DD +DC +DB +DB +DB +DB +DA +D9 +DB +DA +D8 +D9 +D8 +DA +D8 +D8 +D8 +D8 +D8 +D8 +D8 +D7 +D8 +D7 +D7 +D8 +D6 +D7 +D7 +D6 +D7 +D6 +D7 +D7 +D6 +D7 +D6 +D7 +D7 +D6 +D7 +D8 +D8 +D8 +D8 +D9 +DA +D8 +DA +D9 +DB +DA +D9 +DB +DB +DB +DB +DB +DD +DB +DC +DD +DD +DD +DD +DE +DD +DF +DF +DF +DF +E1 +E0 +E1 +E0 +E2 +E0 +E2 +E1 +E2 +E2 +E2 +E2 +E4 +E2 +E3 +E3 +E3 +E4 +E4 +E4 +E5 +E4 +E5 +E4 +E5 +E6 +E5 +E7 +E5 +E7 +E6 +E8 +E7 +E7 +E7 +E7 +E7 +E7 +E9 +E8 +E8 +E8 +E8 +E8 +EA +E9 +E9 +E9 +EB +E9 +EB +E9 +EA +E9 +EA +E9 +EA +EA +EA +EA +EB +E9 +EA +EA +EB +EB +EA +EC +EA +EC +EB +ED +EC +EB +ED +ED +ED +ED +ED +ED +EE +ED +EE +ED +ED +ED +EF +ED +EE +EE +ED +EF +EF +EF +EF +EF +EF +EF +EF +EF +EF +EF +F1 +EF +F1 +F0 +F0 +F0 +F1 +F1 +F1 +F2 +F2 +F3 +F1 +F2 +F3 +F3 +F3 +F4 +F2 +F3 +F2 +F3 +F4 +F2 +F4 +F3 +F2 +F4 +F5 +F3 +F5 +F6 +F4 +F5 +F5 +F5 +F5 +F6 +F6 +F4 +F6 +F5 +F7 +F5 +F7 +F5 +F7 +F5 +F7 +F6 +F6 +F8 +F8 +F7 +F7 +F7 +F7 +F8 +F8 +F9 +F7 +F8 +F8 +F8 +F9 +F9 +FA +F8 +F9 +F9 +FB +FA +FA +FA +F9 +FA +F9 +FB +F9 +FB +FA +FC +FA +FC +FC +FD +FB +FC +FD +FE +02 +05 +08 +09 +0B +0C +0E +10 +11 +11 +13 +13 +16 +16 +18 +18 +1A +1B +1B +1D +1E +1E +1F +1F +21 +21 +22 +22 +23 +23 +24 +24 +25 +25 +26 +26 +28 +26 +28 +28 +28 +29 +29 +2A +29 +29 +2B +29 +2B +29 +2B +2C +2A +2C +2C +2B +2C +28 +23 +21 +1D +1D +1A +1A +18 +16 +15 +13 +13 +11 +11 +0E +0F +0E +0B +0B +09 +09 +08 +07 +07 +05 +05 +05 +03 +03 +01 +02 +00 +00 +00 +FF +00 +FE +FF +FD +FE +FD +FD +FC +FC +FA +FC +FA +FA +FA +F9 +F9 +F9 +FA +F8 +F8 +F7 +F9 +F8 +F6 +F7 +F6 +F7 +F7 +F7 +F6 +F6 +F6 +F6 +F5 +F6 +F6 +F6 +F5 +F7 +F6 +F6 +F8 +F8 +F6 +F8 +F6 +F8 +F6 +F7 +F7 +F7 +F8 +F8 +F8 +F7 +F9 +F7 +F9 +F9 +F9 +FA +F8 +FA +F8 +FA +F8 +F9 +FA +FA +FA +FA +FA +F9 +FA +F9 +FB +F9 +FB +F9 +FB +FB +FC +FA +FC +FA +FC +FA +FB +FB +FA +FC +FA +FC +FA +FB +FB +FD +FC +FC +FB +FD +FD +FD +FD +FE +FC +FE +FD +FD +FD +FF +FD +FE +FE +FD +FE +FD +FE +FE +FD +FE +FE +FD +FE +FD +FE +FD +FF +FE +FF +FF +00 +FE +00 +FF +FF +FF +FF +FE +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +00 +FF +FF +FF +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +01 +00 +01 +00 +FF +01 +FF +00 +FF +00 +00 +FF +01 +00 +00 +00 +00 +01 +01 +FF +01 +00 +01 +01 +01 +01 +01 +01 +02 +01 +02 +01 +01 +01 +02 +00 +02 +01 +01 +03 +02 +02 +03 +01 +03 +01 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +02 +03 +03 +02 +03 +03 +02 +03 +02 +02 +02 +02 +02 +02 +01 +03 +03 +03 +03 +03 +02 +04 +03 +03 +03 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +03 +03 +03 +03 +04 +02 +04 +02 +04 +05 +04 +04 +04 +05 +04 +05 +03 +04 +04 +06 +05 +05 +05 +05 +06 +06 +05 +05 +05 +05 +05 +07 +06 +06 +06 +06 +06 +07 +06 +07 +06 +07 +06 +07 +06 +07 +07 +06 +07 +06 +07 +07 +07 +06 +07 +06 +07 +06 +07 +06 +06 +07 +05 +07 +07 +06 +06 +06 +06 +07 +07 +06 +06 +06 +07 +0D +0F +12 +13 +13 +16 +17 +18 +19 +1A +1A +1C +1C +1E +1F +1F +21 +21 +23 +23 +23 +25 +25 +25 +26 +26 +27 +29 +28 +2A +29 +2B +2B +2B +2B +2B +2D +2C +2B +2D +2D +2E +2C +2E +2E +2F +2D +2F +2D +2F +2E +2F +2E +30 +2E +30 +2F +30 +30 +2F +30 +2F +30 +30 +30 +2F +30 +2F +30 +2F +2F +2D +2F +2F +2E +2F +2F +2F +2E +2F +2D +2D +2D +2E +2C +2D +2C +2D +2C +2C +2B +2C +2B +2C +2A +2C +2A +2B +2B +2A +2B +2A +2B +2A +28 +2A +29 +29 +27 +29 +28 +28 +28 +27 +27 +27 +27 +26 +26 +26 +27 +26 +25 +25 +25 +25 +21 +1D +19 +17 +14 +14 +10 +10 +0E +0D +0B +0A +08 +07 +06 +04 +04 +02 +01 +FF +00 +FF +FD +FD +FB +FB +F9 +F9 +F9 +F8 +F7 +F6 +F4 +F5 +F3 +F4 +F2 +F1 +F2 +F0 +F0 +F0 +F0 +F0 +EE +EF +ED +ED +EC +ED +EB +EC +EA +EC +EA +EA +E9 +EB +E9 +E9 +E8 +E9 +E9 +E9 +E8 +E7 +E9 +E7 +E9 +E7 +E9 +E7 +E8 +E8 +E8 +E6 +E8 +E7 +E6 +E7 +E6 +E7 +E6 +E8 +E7 +E7 +E7 +E7 +E7 +E9 +E7 +E7 +E9 +E9 +E9 +E8 +E9 +E9 +EA +EA +E9 +E9 +EB +EB +EB +EB +EB +EB +EB +EA +EC +EC +EC +EC +ED +EB +ED +ED +EE +EC +ED +ED +ED +EE +EE +EE +ED +EF +F0 +EE +EF +EF +EF +EF +EF +F1 +EF +F1 +F0 +EF +F0 +EF +F0 +F0 +F0 +F0 +F1 +F1 +F2 +F0 +F2 +F0 +F2 +F0 +F1 +F1 +F3 +F1 +F2 +F2 +F2 +F2 +F4 +F3 +F3 +F4 +F2 +F3 +F2 +F3 +F2 +F3 +F3 +F2 +F3 +F3 +F3 +F4 +F2 +F4 +F4 +F5 +F4 +F5 +F4 +F3 +F5 +F5 +F5 +F4 +F6 +F6 +F8 +FB +FF +FF +03 +03 +05 +06 +07 +09 +0A +0C +0C +0E +0F +0F +11 +11 +12 +14 +13 +15 +16 +16 +18 +17 +19 +19 +1A +1B +1B +1C +1C +1C +1E +1D +1E +1F +1E +1F +20 +1F +20 +21 +1F +21 +20 +22 +20 +22 +21 +20 +22 +22 +22 +23 +22 +23 +23 +23 +23 +21 +23 +22 +23 +22 +1D +1A +17 +13 +13 +11 +10 +0F +0C +0C +0B +09 +07 +07 +05 +05 +03 +03 +01 +01 +FF +00 +FE +FE +FD +FB +FC +FA +FA +F8 +F9 +F8 +F8 +F6 +F6 +F5 +F5 +F5 +F4 +F4 +F4 +F2 +F2 +F2 +F1 +F2 +F0 +F0 +EF +F1 +F0 +F0 +EF +F0 +EF +EE +EE +EE +EE +EC +ED +ED +ED +ED +EC +EC +EC +EC +ED +EC +EC +EC +EE +ED +ED +ED +ED +EF +EE +EF +EE +EE +ED +EF +EE +EE +EE +ED +EF +EF +EE +F0 +EE +F0 +EE +F0 +F0 +F0 +F0 +F1 +F0 +F1 +EF +F2 +F4 +F9 +FB +FD +FF +FF +01 +01 +03 +05 +05 +07 +07 +0A +0B +0B +0C +0C +0E +0E +10 +10 +12 +13 +12 +14 +14 +16 +15 +17 +16 +17 +17 +18 +18 +1A +18 +1A +1A +1B +1C +1B +1A +1C +1C +1C +1C +1D +1E +1D +1D +1D +1F +1E +1E +1E +1F +1E +1F +1D +1F +1F +20 +1E +1F +1C +17 +14 +11 +0F +0D +0D +0A +0A +08 +06 +06 +03 +03 +01 +01 +00 +00 +FF +FE +FC +FC +FA +FA +F9 +F9 +F8 +F8 +F6 +F6 +F5 +F5 +F4 +F4 +F3 +F3 +F2 +F2 +F1 +F1 +F1 +F0 +EF +F0 +EF +ED +EF +ED +ED +ED +ED +EB +ED +EB +ED +EB +EB +EA +EC +EA +EC +EB +EA +EA +EA +EA +EB +E9 +EB +EC +F2 +F4 +F7 +F8 +FA +FC +FD +FE +FF +FF +01 +01 +03 +03 +05 +06 +07 +07 +09 +09 +0B +0A +0C +0C +0D +0E +0E +0F +0F +11 +10 +12 +11 +13 +13 +13 +14 +14 +14 +14 +16 +14 +16 +16 +16 +17 +16 +18 +17 +17 +18 +16 +18 +18 +19 +18 +19 +17 +19 +17 +19 +19 +1A +18 +1A +18 +1A +19 +1A +1A +19 +1A +19 +19 +19 +19 +19 +1A +1A +18 +1A +19 +1A +1A +1A +19 +1A +19 +1A +19 +1A +19 +19 +19 +19 +17 +18 +18 +18 +19 +17 +19 +18 +18 +17 +17 +18 +17 +18 +16 +17 +15 +17 +16 +16 +16 +16 +15 +15 +16 +16 +15 +15 +13 +15 +14 +10 +0C +09 +06 +05 +02 +02 +00 +00 +FE +FD +FA +FA +F8 +F8 +F6 +F5 +F3 +F3 +F1 +F1 +EF +EF +EE +EC +EC +EB +EB +E9 +EA +E8 +E8 +E7 +E7 +E6 +E6 +E5 +E5 +E5 +E4 +E3 +E3 +E2 +E2 +E1 +E1 +E1 +E1 +E1 +DF +E1 +DF +DF +DF +DF +DE +E0 +DF +DD +DF +DD +DE +DE +DE +DD +DE +DD +DD +DD +DD +DC +DD +DC +DD +DC +DD +DD +DC +DD +DD +DC +DE +DC +DE +DE +DE +DE +DF +DE +E0 +DF +DE +E0 +DE +E0 +E0 +E0 +E1 +E1 +E1 +E0 +E1 +E1 +E0 +E1 +E1 +E3 +E1 +E2 +E3 +E3 +E3 +E4 +E3 +E3 +E3 +E4 +E4 +E4 +E4 +E4 +E4 +E6 +E4 +E5 +E5 +E5 +E6 +E6 +E6 +E5 +E7 +E8 +E6 +E7 +E7 +E7 +E6 +E8 +E8 +E8 +E8 +E9 +E9 +E8 +EA +E8 +E9 +E9 +E9 +EA +EA +EB +E9 +EA +EA +EA +EA +EC +EB +EA +EB +EB +EA +EC +EB +EA +EC +EC +EC +EC +EB +EC +EC +EC +EC +EC +ED +ED +ED +ED +EE +ED +EE +EF +EE +EE +EF +EE +EE +EE +EE +F0 +F0 +EE +EF +EF +EE +F0 +EE +F0 +F0 +F0 +F0 +F0 +F0 +EF +F1 +F1 +F1 +F1 +F1 +F1 +F1 +F1 +F3 +F3 +F1 +F3 +F1 +F2 +F2 +F1 +F3 +F4 +F3 +F4 +F2 +F3 +F2 +F3 +F2 +F3 +F2 +F3 +F3 +F3 +F3 +F5 +F3 +F4 +F3 +F4 +F3 +F4 +F4 +F6 +F4 +F6 +F4 +F5 +F5 +F5 +F5 +F5 +F5 +F5 +F7 +F5 +F7 +F5 +F7 +F5 +F6 +F7 +F8 +F7 +F7 +F7 +F7 +F7 +F7 +F8 +F7 +F7 +F7 +F7 +F9 +F8 +F8 +F8 +F8 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F7 +F8 +F8 +F7 +F8 +F8 +F8 +F9 +F8 +F7 +F9 +F9 +F9 +FA +F9 +F8 +F9 +F8 +F9 +F9 +F8 +F9 +F8 +F9 +F9 +F9 +F9 +FB +F9 +FB +F9 +FB +FB +FB +FB +FC +FA +FC +FB +FB +FD +FC +FC +FD +FC +FC +FC +FB +FD +FC +FC +FC +FC +FC +FE +FC +FE +FD +FD +FD +FD +FC +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FE +FC +FE +FD +FE +FD +FE +FD +FE +FE +FF +FE +FF +FE +FE +FE +FE +FD +FE +FD +FF +FD +FF +FD +FE +FE +FF +FE +FF +FF +FF +FF +FD +FF +FF +FD +FF +00 +FF +FF +FF +FF +FF +FF +FE +FF +FE +FF +FE +FF +FE +FF +FE +FF +FF +FE +FF +FE +FF +FF +FF +FE +FF +FE +FF +FF +FE +FF +FF +FF +FF +FF +FF +FE +00 +FF +FF +FF +FF +FF +05 +07 +0A +0A +0D +0D +0F +0F +12 +12 +14 +14 +16 +16 +18 +18 +1A +1A +1C +1B +1D +1D +1E +1F +1F +20 +20 +21 +21 +22 +23 +23 +24 +24 +24 +24 +25 +25 +25 +25 +27 +26 +27 +26 +26 +28 +26 +28 +27 +27 +28 +28 +29 +27 +29 +29 +28 +29 +28 +29 +29 +28 +29 +29 +28 +29 +28 +29 +28 +29 +28 +29 +28 +29 +28 +29 +29 +28 +28 +28 +29 +27 +27 +27 +27 +27 +27 +28 +27 +26 +26 +27 +26 +27 +26 +24 +26 +26 +25 +26 +24 +24 +25 +24 +24 +24 +21 +1F +19 +17 +14 +13 +11 +11 +0F +0C +0C +0A +08 +07 +06 +05 +02 +02 +00 +FF +00 +FE +FE +FD +FB +FB +F9 +F9 +F9 +F8 +F7 +F6 +F6 +F4 +F4 +F3 +F3 +F3 +F2 +F5 +F9 +FC +FD +FE +00 +FF +01 +01 +02 +02 +04 +04 +06 +06 +06 +08 +08 +09 +09 +0B +0A +0C +0B +0D +0C +0E +0D +0E +0F +0F +0E +10 +10 +10 +10 +12 +10 +12 +11 +13 +12 +12 +13 +13 +14 +13 +13 +15 +14 +14 +14 +15 +13 +15 +14 +14 +14 +10 +0C +08 +08 +05 +05 +02 +02 +00 +00 +FE +FE +FD +FB +FB +F9 +F7 +F7 +F6 +F9 +FC +FF +FF +00 +00 +01 +02 +03 +04 +03 +05 +05 +05 +06 +06 +07 +07 +08 +07 +09 +0A +08 +0A +0B +0A +0B +0B +0B +0B +0D +0C +0B +0D +0D +0E +0C +0E +0F +0D +0F +0D +0F +0D +0F +0F +10 +0F +0F +0F +0F +10 +0F +10 +0F +10 +10 +0F +10 +0F +10 +10 +0F +10 +0F +10 +0F +0F +10 +0F +10 +0F +10 +0F +0F +10 +0F +0F +10 +0E +0D +0F +0D +0F +0E +0E +0E +0E +0E +0F +0D +0D +0D +0E +0C +0E +0C +0E +0D +0D +0B +0D +0B +0D +0B +0D +0B +0B +0A +0C +0B +0B +0C +0B +0A +0A +0B +0A +0B +09 +0B +0A +0A +08 +0A +09 +09 +09 +09 +0A +08 +08 +08 +09 +07 +03 +00 +FC +FB +F9 +F8 +F7 +F4 +F4 +F1 +F1 +EF +EF +EE +EC +EC +EA +EA +E8 +E8 +E6 +E6 +E6 +E4 +E4 +E2 +E2 +E1 +E1 +E0 +E0 +DF +DF +DE +DE +DD +DD +DC +DC +DA +DB +D9 +DB +DA +D8 +DA +D9 +D7 +D8 +D8 +D8 +D6 +D8 +D6 +D7 +D6 +D7 +D6 +D7 +D5 +D7 +D9 +DE +E0 +E3 +E3 +E5 +E7 +E7 +EA +EA +EC +ED +EF +F0 +F1 +F1 +F3 +F3 +F5 +F6 +F7 +F7 +F8 +F8 +FA +FB +FB +FC +FD +FD +FD +FE +FE +00 +00 +00 +FF +01 +00 +02 +01 +03 +03 +03 +03 +05 +04 +04 +06 +04 +06 +07 +05 +07 +08 +06 +08 +06 +08 +06 +08 +07 +07 +07 +09 +07 +09 +07 +07 +09 +07 +09 +08 +08 +08 +08 +08 +08 +08 +07 +09 +09 +09 +09 +08 +04 +00 +FD +FD +FA +FA +F8 +F6 +F6 +F3 +F3 +F1 +F1 +F0 +EF +EE +ED +EB +EB +E9 +E9 +E8 +E8 +E6 +E6 +E5 +E5 +E5 +E3 +E3 +E2 +E2 +E1 +E1 +E2 +E7 +E9 +EC +EC +ED +EF +EF +F1 +F1 +F3 +F4 +F5 +F5 +F6 +F6 +F8 +F8 +F9 +F9 +FB +FA +FC +FC +FD +FE +FE +FF +FE +00 +FF +00 +FF +01 +00 +01 +01 +02 +02 +04 +03 +03 +04 +05 +04 +03 +05 +06 +04 +06 +04 +06 +06 +07 +06 +07 +06 +07 +05 +07 +05 +07 +06 +07 +07 +08 +06 +08 +07 +07 +07 +08 +06 +08 +07 +07 +07 +08 +07 +09 +08 +07 +09 +07 +08 +07 +08 +08 +08 +08 +07 +07 +07 +07 +06 +08 +07 +07 +08 +06 +08 +06 +08 +09 +08 +08 +08 +08 +06 +07 +07 +07 +07 +07 +07 +07 +07 +07 +08 +07 +08 +07 +06 +05 +FF +FE +FA +F9 +F7 +F7 +F5 +F5 +F2 +F2 +F1 +EF +EE +EC +EC +EA +EA +E9 +E7 +E7 +E6 +E6 +E4 +E4 +E2 +E3 +E2 +E1 +E1 +DF +E0 +DE +DF +DD +DE +DC +DC +DB +DC +DA +DC +DB +DA +DA +DA +D8 +DA +D8 +D8 +D7 +D9 +D7 +D8 +D8 +D6 +D7 +D6 +D7 +D7 +D7 +D7 +D6 +D7 +D6 +D7 +D6 +D7 +D7 +D6 +D7 +D6 +D7 +D7 +D7 +D8 +D7 +D8 +D8 +D8 +D8 +D8 +DA +D9 +D8 +DA +DB +D9 +DB +DA +DB +DA +DB +DB +DC +DC +DC +DC +DD +DE +DD +DE +DF +DE +DD +DE +DD +DF +DF +DF +E0 +DE +E0 +E0 +E0 +E0 +E2 +E0 +E2 +E0 +E1 +E1 +E3 +E1 +E3 +E2 +E3 +E3 +E3 +E3 +E3 +E5 +E3 +E5 +E3 +E4 +E5 +E4 +E5 +E6 +E4 +E5 +E5 +E6 +E6 +E5 +E6 +E6 +E8 +E6 +E8 +E7 +E7 +E7 +E7 +E8 +E8 +E8 +E7 +E9 +E9 +E9 +E8 +EA +E8 +EA +EA +EB +E9 +EA +EA +EC +EA +EC +EB +EB +EB +ED +EC +EB +ED +EB +ED +EC +EE +ED +ED +ED +EC +EE +EE +EE +EF +EE +EE +EE +EE +EE +F0 +EF +EF +EF +EF +EF +EF +EE +F0 +F1 +F0 +F0 +F0 +F0 +F2 +F0 +F1 +F2 +F0 +F2 +F0 +F2 +F0 +F2 +F2 +F2 +F1 +F2 +F1 +F2 +F3 +F1 +F2 +F3 +F3 +F3 +F3 +F3 +F2 +F4 +F3 +F3 +F3 +F2 +F4 +F5 +F4 +F4 +F5 +F3 +F4 +F4 +F6 +F4 +F5 +F3 +F5 +F4 +F4 +F5 +F5 +F5 +F5 +F5 +F4 +F6 +F4 +F6 +F4 +F6 +F5 +F8 +FA +FF +FF +02 +02 +04 +06 +06 +08 +09 +09 +0B +0C +0C +0E +0E +10 +10 +11 +12 +12 +14 +14 +15 +16 +15 +17 +16 +18 +18 +18 +19 +19 +1A +1A +1B +1C +1A +1C +1D +1B +1D +1D +1D +1D +1D +1C +1E +1E +1E +1E +1E +1E +20 +1F +20 +20 +20 +1F +20 +1F +1F +1F +21 +20 +1F +21 +1F +21 +20 +21 +20 +20 +20 +20 +20 +21 +1F +1F +1F +20 +20 +20 +21 +21 +20 +21 +20 +20 +21 +1F +1F +20 +1F +20 +21 +20 +20 +1F +20 +1E +1E +1E +1F +1D +1F +1D +1C +1E +1D +1E +1D +1E +1E +1C +1C +1D +1C +1C +1B +1A +1C +1A +1C +1A +1B +1C +1A +1A +1A +1A +1A +1A +19 +19 +19 +1A +19 +17 +19 +17 +18 +18 +16 +17 +15 +10 +0E +0A +0A +08 +05 +05 +02 +02 +00 +FF +FF +FC +FC +FA +FA +F8 +F8 +F6 +F6 +F6 +F4 +F4 +F2 +F2 +F1 +F0 +F0 +EF +EF +ED +EE +EC +ED +EC +EB +EB +EA +EA +EA +E8 +E8 +E7 +E8 +E7 +E7 +E7 +E5 +E6 +E7 +E5 +E5 +E4 +E6 +E4 +E6 +E4 +E4 +E3 +E5 +E3 +E5 +E4 +E4 +E5 +E3 +E3 +E4 +E3 +E2 +E3 +E3 +E3 +E3 +E3 +E3 +E3 +E3 +E4 +E4 +E4 +E3 +E5 +E4 +E5 +E6 +E4 +E6 +E4 +E6 +E6 +E6 +E6 +E8 +E7 +E6 +E8 +E6 +E7 +E7 +E9 +E8 +E8 +E8 +E8 +EA +E8 +E9 +E9 +E9 +E9 +E8 +EA +E9 +E9 +E9 +E9 +E9 +EB +E9 +EB +E9 +EB +EC +EB +EB +EB +EB +EC +ED +EB +ED +ED +ED +EC +ED +EC +EE +EE +EE +EE +EE +ED +EF +F0 +EF +F0 +EF +EF +EF +EF +EF +EF +EE +F0 +F1 +EF +F1 +EF +F0 +F0 +F0 +F1 +F0 +EF +F1 +F1 +F1 +F0 +F2 +F3 +F3 +F2 +F2 +F2 +F1 +F2 +F1 +F3 +F1 +F3 +F4 +F3 +F3 +F3 +F3 +F2 +F3 +F2 +F3 +F2 +F3 +F2 +F3 +F3 +F3 +F3 +F5 +F3 +F4 +F4 +F3 +F5 +F5 +F4 +F5 +F5 +F7 +F6 +F6 +F6 +F5 +F7 +F5 +F6 +F7 +F7 +F7 +F7 +F7 +F6 +F7 +F6 +F7 +F6 +F7 +F6 +F7 +F7 +F8 +F6 +F8 +F8 +F9 +F7 +F8 +F8 +F8 +F9 +F9 +FA +F8 +FA +F9 +F8 +FA +FA +FA +FB +FA +FA +F9 +FB +FA +FB +F9 +FB +FC +00 +01 +05 +05 +07 +09 +0A +0A +0C +0C +0E +0F +0F +11 +12 +13 +13 +14 +15 +15 +17 +16 +18 +18 +19 +19 +1A +1A +1B +1B +1C +1D +1C +1E +1E +1E +1E +1E +20 +1F +1F +20 +21 +1F +21 +21 +21 +21 +21 +21 +22 +22 +23 +22 +22 +23 +22 +23 +22 +22 +24 +23 +24 +23 +24 +24 +23 +24 +23 +24 +24 +23 +24 +24 +23 +24 +23 +24 +24 +23 +24 +22 +22 +22 +23 +23 +22 +22 +22 +21 +21 +21 +22 +21 +20 +1F +19 +17 +15 +12 +12 +0F +0F +0D +0B +0B +08 +08 +06 +06 +04 +04 +03 +02 +00 +00 +FE +FE +FD +FD +FC +FA +FB +F9 +F9 +F8 +F7 +F7 +F6 +F6 +F4 +F5 +F4 +F4 +F3 +F2 +F2 +F2 +F1 +F0 +F0 +EF +F1 +F0 +EE +F0 +EE +F0 +EE +EE +EE +EE +EE +F2 +F4 +F8 +F9 +FB +FC +FE +FE +00 +FF +01 +01 +03 +03 +04 +04 +06 +07 +07 +09 +08 +09 +0B +0A +0C +0C +0D +0C +0E +0D +0F +0E +10 +0F +11 +10 +11 +12 +13 +12 +13 +14 +13 +13 +13 +15 +14 +14 +15 +15 +15 +15 +15 +16 +16 +16 +17 +16 +17 +16 +17 +17 +16 +17 +17 +16 +17 +16 +17 +16 +17 +17 +16 +17 +16 +16 +16 +16 +18 +18 +16 +18 +17 +18 +18 +16 +18 +16 +17 +15 +17 +17 +14 +10 +0C +0A +08 +08 +06 +05 +04 +02 +02 +FF +00 +FF +FD +FD +FB +FB +FA +F9 +F8 +F6 +F6 +F4 +F4 +F4 +F2 +F3 +F1 +F1 +F0 +F0 +EF +EF +EE +EE +ED +ED +ED +EC +EB +EB +EB +EB +E9 +EB +E9 +E9 +E9 +E9 +E8 +E7 +E9 +E7 +E8 +E7 +E7 +E7 +E7 +E5 +E6 +E6 +E6 +E6 +E6 +E4 +E6 +E5 +E6 +E5 +E6 +E6 +E6 +E5 +E6 +E6 +E8 +E6 +E7 +E8 +E6 +E7 +E7 +E6 +E7 +E7 +E7 +E7 +E7 +E9 +E8 +E7 +E8 +E7 +E9 +E9 +E9 +E9 +E9 +EA +EA +EA +EA +EB +EB +EB +EB +EA +EB +EC +EA +EB +EB +ED +EC +EB +ED +ED +ED +EC +ED +ED +ED +EF +ED +EF +ED +EE +ED +EF +ED +EF +ED +EE +EE +F0 +EE +F0 +EF +EF +F1 +EF +F0 +F0 +F0 +EF +F0 +F0 +F0 +F0 +F0 +EF +F0 +F0 +F2 +F0 +F2 +F1 +F0 +F2 +F1 +F1 +F6 +F9 +FC +FC +FE +FF +00 +01 +03 +03 +05 +05 +07 +07 +09 +0A +0B +0A +0C +0C +0E +0F +0E +10 +10 +10 +12 +11 +13 +14 +13 +15 +14 +16 +15 +17 +17 +17 +18 +18 +18 +19 +1A +18 +1A +1A +1B +19 +1B +1A +1C +1A +1C +1B +1B +1B +1D +1B +1D +1D +1D +1C +1D +1C +1D +1C +1D +1D +1C +1D +1C +1D +1D +1C +1D +1C +1D +1C +1D +1C +1D +1C +1C +1C +1A +1B +1C +1A +1C +1B +1B +1C +1C +1B +1A +1A +1A +1A +1A +1A +1B +19 +19 +1A +19 +19 +1A +18 +18 +19 +18 +19 +18 +19 +18 +18 +16 +18 +17 +17 +18 +17 +15 +17 +16 +16 +16 +16 +14 +16 +16 +15 +16 +15 +16 +14 +14 +14 +15 +13 +14 +15 +13 +13 +13 +12 +0F +0A +08 +05 +05 +02 +01 +00 +FF +FF +FD +FD +FA +FA +F8 +F8 +F6 +F6 +F5 +F3 +F3 +F3 +F2 +F1 +F0 +EF +EE +EE +ED +ED +EB +EC +EA +EB +EA +E9 +E9 +E9 +EC +EF +F2 +F3 +F3 +F5 +F5 +F7 +F7 +F9 +F9 +FB +FA +FC +FD +FD +FE +FE +00 +00 +FF +01 +00 +02 +02 +02 +03 +04 +03 +04 +04 +06 +05 +07 +06 +06 +08 +07 +09 +07 +09 +09 +09 +09 +09 +0B +09 +0B +0A +0A +0C +0A +0C +0A +0C +0A +0B +0C +0C +0C +0C +0D +0D +0C +0D +0C +0D +0D +0C +0D +0D +0C +0D +0C +0D +0C +0D +0C +0D +0C +0D +0C +0D +0B +0D +0B +0D +0D +0B +0B +0C +0A +0C +0B +0B +0B +07 +04 +00 +00 +FF +FC +FC +FA +F8 +F8 +F6 +F6 +F5 +F4 +F3 +F2 +F1 +F0 +F0 +EE +EE +EC +EC +EB +EA +EA +E9 +E9 +E8 +E7 +E7 +E6 +E6 +E5 +E5 +E5 +E4 +E4 +E3 +E4 +E2 +E2 +E2 +E2 +E0 +E2 +E1 +E0 +E0 +E0 +E0 +E0 +E0 +DE +E0 +DE +DF +DF +DE +E0 +DE +E0 +DE +DE +DD +DE +DF +E0 +DE +DF +DE +E0 +E0 +E0 +DF +E0 +E0 +E2 +E0 +E1 +E2 +E0 +E2 +E2 +E2 +E3 +E2 +E2 +E4 +E2 +E3 +E3 +E4 +E3 +E4 +E4 +E4 +E4 +E3 +E5 +E5 +E5 +E6 +E4 +E6 +E6 +E6 +E6 +E6 +E6 +E8 +E6 +E7 +E7 +E6 +E7 +E8 +E7 +E6 +E8 +E8 +E8 +E8 +E8 +E7 +E9 +E9 +E9 +E8 +EA +EA +EA +E9 +EA +E9 +EA +EB +EB +EB +EB +ED +EC +EC +EB +EC +EC +EE +EC +ED +ED +EC +EE +EC +ED +EE +EE +EE +ED +EE +ED +EF +ED +EE +EE +F0 +EE +F0 +EE +F0 +F1 +F0 +F0 +F0 +F0 +F0 +F1 +EF +F1 +F0 +F1 +F1 +F2 +F0 +F2 +F0 +F1 +F1 +F0 +F1 +F2 +F0 +F2 +F1 +F3 +F1 +F3 +F4 +F8 +FA +FD +FD +FE +00 +FF +01 +01 +04 +04 +06 +06 +06 +08 +09 +0A +0B +0C +0D +0C +0E +0D +0F +0F +10 +11 +11 +11 +12 +12 +13 +14 +14 +15 +15 +16 +15 +16 +16 +16 +16 +17 +17 +17 +17 +19 +17 +19 +18 +18 +1A +19 +19 +1A +19 +1A +18 +1A +1A +1A +1B +1A +1B +1A +1B +1A +1B +1A +1B +1B +1A +1B +1A +1B +1A +1B +1A +1B +1B +1B +1A +1B +1A +1B +1B +1B +1B +1A +1A +1A +19 +1A +19 +19 +19 +19 +19 +19 +19 +19 +17 +18 +18 +18 +18 +18 +19 +18 +18 +16 +18 +16 +18 +17 +18 +16 +18 +16 +16 +15 +17 +16 +17 +15 +17 +16 +17 +17 +15 +17 +15 +15 +15 +15 +16 +14 +16 +14 +14 +15 +14 +14 +14 +14 +13 +14 +12 +14 +12 +14 +13 +12 +11 +13 +11 +13 +12 +12 +11 +10 +0C +09 +06 +04 +02 +02 +00 +00 +FE +FD +FC +FA +FA +F8 +F8 +F6 +F6 +F4 +F4 +F2 +F2 +F0 +F0 +EF +EF +EE +EC +ED +EC +EB +EB +EA +EA +E9 +E9 +E8 +E8 +E7 +E7 +E7 +E7 +E5 +E7 +E6 +E4 +E6 +E5 +E3 +E5 +E3 +E4 +E2 +E4 +E3 +E2 +E3 +E3 +E3 +E1 +E3 +E2 +E5 +E9 +EB +ED +EE +EF +F1 +F1 +F3 +F3 +F6 +F6 +F8 +F8 +FA +FB +FA +FC +FC +FE +FE +00 +FF +00 +FF +01 +01 +03 +03 +03 +04 +05 +04 +06 +06 +05 +07 +07 +07 +08 +08 +09 +09 +09 +09 +0A +0B +0A +0A +0B +0B +0B +0B +0B +0B +0D +0C +0C +0C +0D +0B +0D +0B +0C +0C +0E +0D +0E +0E +0E +0E +0E +0E +0D +0E +0E +0E +0E +0D +0E +0D +0D +0D +0D +0C +0E +0E +0E +0F +0E +0F +0E +0F +0E +0F +0E +0E +0E +0E +0E +0B +08 +04 +03 +01 +00 +FF +FE +FD +FB +FB +FA +F8 +F8 +F6 +F6 +F5 +F3 +F3 +F1 +F1 +F0 +EF +EF +EF +ED +ED +EB +EC +EB +EA +EA +EA +E8 +E9 +E7 +E8 +E7 +E7 +E5 +E7 +E6 +E4 +E6 +E4 +E5 +E4 +E4 +E4 +E4 +E4 +E2 +E3 +E3 +E3 +E3 +E3 +E2 +E2 +E2 +E2 +E2 +E6 +E9 +EC +ED +EF +EF +F1 +F1 +F3 +F5 +F5 +F7 +F6 +F8 +F9 +FA +FA +FC +FB +FD +FD +FD +FF +FF +00 +01 +00 +02 +01 +03 +02 +04 +04 +04 +05 +04 +06 +07 +05 +07 +07 +07 +08 +08 +09 +0A +08 +0A +0A +0A +0B +09 +0B +0B +0C +0A +0C +0B +0D +0C +0C +0D +0C +0C +0C +0C +0C +0E +0D +0D +0D +0D +0E +0C +0E +0F +0E +0E +0E +0F +0E +0E +0F +0D +0F +0E +0E +0E +0F +0E +0E +0D +0B +07 +05 +01 +01 +FF +FF +FD +FD +FB +FB +F9 +F9 +F8 +F7 +F5 +F5 +F3 +F3 +F3 +F1 +F1 +F0 +EF +EF +EE +EE +ED +ED +EC +EC +EB +EB +EB +E9 +EA +E8 +EA +E8 +E8 +E8 +E8 +E7 +E8 +E7 +E6 +E5 +E7 +E5 +E5 +E4 +E5 +E5 +E5 +E4 +E4 +E4 +E5 +E3 +E3 +E2 +E4 +E2 +E3 +E3 +E3 +E3 +E4 +E4 +E4 +E4 +E4 +E6 +E5 +E5 +E6 +E4 +E5 +E5 +E7 +E6 +E6 +E6 +E5 +E6 +E5 +E6 +E7 +E6 +E5 +E7 +E7 +E7 +E6 +E7 +E7 +E9 +E7 +E8 +E8 +EA +E8 +E9 +E9 +E9 +EB +E9 +EB +EA +E9 +EA +EA +EB +E9 +EB +EB +EB +EA +EB +EB +EC +EC +EC +EC +ED +ED +ED +EC +EE +EC +EE +EF +EE +EE +EE +EE +EE +EE +ED +EF +EE +EE +EF +EF +EF +EE +F0 +F1 +EF +F1 +EF +F1 +F2 +F1 +F0 +F2 +F0 +F3 +F6 +F9 +FA +FD +FD +FF +00 +FF +01 +01 +03 +04 +04 +06 +07 +07 +08 +08 +0A +0A +0B +0C +0C +0D +0D +0E +0E +0F +0F +10 +11 +10 +12 +11 +13 +12 +12 +14 +12 +14 +14 +14 +14 +16 +15 +15 +15 +17 +16 +17 +16 +16 +16 +18 +18 +16 +18 +18 +19 +18 +19 +18 +19 +18 +19 +1A +18 +1A +19 +1A +19 +1A +19 +1A +19 +1A +1A +19 +1A +19 +1A +18 +1A +19 +19 +19 +18 +18 +16 +11 +0F +0D +0B +0A +09 +07 +07 +04 +04 +02 +02 +00 +00 +FF +FF +FD +FD +FC +FA +FB +FA +F8 +F8 +F7 +F7 +F5 +F5 +F5 +F4 +F4 +F3 +F3 +F2 +F1 +F2 +F0 +F1 +EF +F0 +EE +F0 +EE +EE +ED +EF +EE +EE +ED +EE +EC +EC +EB +EC +EB +ED +EB +EB +EC +EA +EB +EA +EB +EC +EA +EC +EB +EB +EB +ED +EB +ED +EB +EC +EE +EC +EE +EC +EE +EF +EE +EE +EE +EF +F2 +F5 +F8 +F8 +FA +FA +FC +FC +FE +FF +00 +00 +02 +03 +03 +04 +05 +05 +07 +08 +08 +09 +0A +09 +0B +0A +0C +0D +0D +0E +0E +0D +0F +0E +10 +10 +10 +10 +12 +10 +12 +13 +11 +12 +12 +14 +14 +13 +13 +15 +15 +15 +14 +14 +15 +15 +15 +13 +0F +0C +0A +0A +07 +06 +06 +04 +04 +02 +02 +01 +FF +00 +00 +FF +FE +FD +FD +FB +FB +FA +FA +FA +F8 +F9 +F7 +F7 +F7 +F5 +F6 +F6 +F4 +F4 +F5 +F3 +F3 +F2 +F2 +F2 +F2 +F0 +F2 +F1 +EF +F1 +F0 +EF +EF +EF +EE +F0 +EF +ED +EF +EE +EE +EE +EE +EE +ED +EF +EE +EC +EE +EC +EE +EE +EE +EE +EE +ED +EE +EE +EE +EE +EE +EE +EE +F0 +EE +EF +EF +EF +EF +EF +EF +EE +F0 +F1 +EF +F1 +F0 +F0 +EF +F1 +EF +F0 +F1 +F1 +F1 +F2 +F0 +F1 +F1 +F0 +F2 +F1 +F1 +F2 +F2 +F2 +F2 +F2 +F2 +F3 +F3 +F4 +F2 +F4 +F3 +F3 +F5 +F3 +F4 +F4 +F3 +F4 +F4 +F5 +F5 +F5 +F5 +F5 +F4 +F6 +F4 +F6 +F9 +FD +FE +FF +01 +01 +03 +03 +05 +05 +07 +08 +09 +09 +0B +0C +0C +0E +0D +0C +09 +06 +05 +04 +04 +02 +02 +01 +01 +00 +00 +00 +FF +00 +FE +FF +FE +FE +FC +FD +FC +FC +FA +FC +FA +FA +FA +FA +FA +FA +F8 +FA +F8 +FA +F8 +F8 +F8 +F8 +F8 +F8 +F6 +F8 +F7 +F6 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +FA +F9 +F9 +F9 +F9 +F8 +FA +FA +FA +FB +FF +FF +03 +03 +05 +06 +06 +08 +08 +0A +0B +0B +0D +0D +0F +0E +10 +11 +11 +12 +12 +14 +13 +15 +14 +16 +15 +17 +16 +17 +18 +18 +18 +18 +1A +18 +19 +19 +1B +19 +1B +1B +1B +1B +1B +1B +1B +1D +1C +1C +1D +1C +1D +1C +1C +1C +1D +1B +1C +1C +1E +1D +1E +1D +1E +1E +1E +1E +1D +1E +1D +1E +1D +1E +1D +1E +1D +1D +1D +1B +1C +1C +1C +1D +1D +1D +1C +1D +1C +1D +1C +1D +1C +1C +1C +1A +1B +1C +1A +1C +1A +1C +1C +1B +1A +1B +1A +1B +1A +1B +1B +1A +19 +19 +19 +19 +19 +1A +19 +19 +17 +19 +19 +17 +19 +17 +18 +17 +17 +18 +17 +17 +17 +15 +16 +16 +16 +17 +17 +16 +16 +14 +11 +0E +0A +0A +08 +07 +05 +03 +03 +01 +01 +FF +00 +FE +FE +FC +FC +FB +FA +F8 +F8 +F7 +F7 +F6 +F4 +F5 +F3 +F3 +F2 +F2 +F1 +F1 +F0 +F0 +F0 +EF +EF +EF +ED +EE +EC +EE +EC +EC +EB +ED +EC +EA +EB +EB +EB +EA +E9 +EA +EB +E9 +E9 +E9 +E9 +E9 +EA +E9 +E8 +E8 +EA +E8 +EA +E9 +E9 +E9 +EA +EA +EA +EA +EA +EB +EA +EA +EB +EA +EB +EB +EC +EB +E9 +EA +E9 +EB +E9 +EB +EB +EB +EA +EC +EA +EB +EA +EB +EB +EA +EB +EA +EC +EC +EC +EC +ED +ED +ED +EE +ED +ED +EE +EF +ED +EF +ED +EE +ED +EE +EE +EE +ED +EF +ED +EF +ED +EE +EF +F0 +EE +F0 +EE +EF +EE +F0 +EE +F0 +F0 +F0 +F1 +EF +F1 +F2 +F0 +F1 +F0 +F1 +F1 +F3 +F1 +F3 +F1 +F2 +F2 +F1 +F2 +F1 +F3 +F2 +F2 +F2 +F2 +F2 +F4 +F2 +F4 +F2 +F4 +F3 +F3 +F5 +F4 +F4 +F4 +F4 +F3 +F5 +F5 +F5 +F5 +F5 +F4 +F6 +F4 +F6 +F7 +F6 +F6 +F6 +F6 +F6 +F5 +F6 +F6 +F5 +F6 +F5 +F6 +F5 +F6 +F6 +F6 +F7 +F7 +F7 +F6 +F7 +F7 +F7 +F6 +F8 +F8 +F8 +F7 +F9 +F7 +F9 +FA +F9 +F9 +FA +F8 +F9 +F9 +F9 +FA +FB +FB +F9 +FB +F9 +FB +FA +F9 +FA +F9 +FB +FA +FA +FA +FA +FC +FB +FC +FB +FC +FD +FD +FC +FC +FD +FB +FD +FD +FE +FC +FE +FD +FD +FD +FD +FB +FD +FD +FD +FE +FC +FD +FC +FD +FD +FC +FD +FC +FD +FD +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FE +FC +FD +FC +FE +00 +01 +05 +05 +07 +08 +08 +0A +0A +0C +0C +0E +0D +0E +10 +10 +12 +13 +12 +14 +13 +15 +14 +16 +15 +17 +17 +17 +18 +18 +19 +1A +19 +1B +19 +1B +1C +1A +1C +1C +1D +1C +1D +1D +1D +1D +1D +1D +1E +1F +1F +1E +1E +1E +1F +1E +1F +1E +20 +1E +20 +1F +1F +1D +1F +1F +1F +1F +1F +1E +1F +1E +1F +1E +1F +1E +1D +1A +16 +14 +12 +11 +0F +0F +0D +0D +0B +0B +09 +08 +06 +07 +05 +05 +03 +03 +02 +01 +FF +00 +FF +FF +FF +FD +FD +FD +FB +FD +00 +01 +03 +03 +05 +05 +07 +06 +08 +08 +0A +0A +0A +0C +0C +0C +0D +0D +0F +0E +0F +0F +0F +0F +11 +10 +11 +12 +12 +12 +12 +12 +13 +14 +13 +13 +14 +12 +13 +13 +15 +13 +15 +13 +15 +13 +15 +15 +14 +14 +16 +14 +16 +15 +16 +15 +16 +16 +14 +16 +15 +14 +14 +15 +14 +14 +15 +14 +15 +15 +15 +15 +15 +14 +14 +14 +12 +13 +14 +12 +14 +12 +14 +13 +14 +13 +14 +12 +14 +12 +14 +13 +13 +11 +13 +12 +12 +12 +13 +11 +13 +11 +12 +11 +13 +11 +11 +11 +11 +11 +12 +11 +11 +11 +11 +10 +10 +0F +11 +0F +11 +0F +11 +11 +0F +10 +0F +0F +10 +0E +10 +0E +10 +0F +0F +0D +0F +0E +09 +07 +03 +03 +02 +FF +00 +FD +FD +FB +FB +FA +F9 +F7 +F7 +F5 +F5 +F3 +F3 +F1 +F1 +F1 +EF +F0 +EF +EE +EC +ED +EB +EC +EA +EB +E9 +EA +E9 +E8 +E8 +E8 +E8 +E6 +E7 +E6 +E6 +E7 +E6 +E6 +E5 +E6 +E5 +E5 +E4 +E5 +E3 +E5 +E4 +E2 +E3 +E2 +E4 +E2 +E3 +E5 +E3 +E4 +E5 +E6 +EA +EC +EF +EF +F1 +F1 +F3 +F3 +F5 +F5 +F7 +F8 +F8 +FA +FA +FC +FC +FC +FE +FD +FF +00 +FF +00 +00 +01 +01 +02 +02 +03 +03 +04 +04 +05 +05 +05 +05 +07 +05 +07 +07 +07 +07 +09 +08 +08 +08 +09 +0A +09 +09 +0A +08 +0A +0B +0A +0A +0A +0B +0A +0B +0C +0C +0B +0B +0B +0C +0A +0C +0A +0C +0B +08 +05 +01 +01 +FF +FF +FD +FD +FB +FB +F9 +F9 +F8 +F6 +F6 +F6 +F4 +F4 +F2 +F2 +F1 +F1 +EF +EF +EF +EE +EE +ED +ED +EC +ED +EB +EB +EA +EA +E9 +EA +E8 +EA +E9 +E7 +E9 +E8 +E6 +E8 +E6 +E8 +E6 +E6 +E5 +E7 +E5 +E7 +E6 +E4 +E5 +E5 +E5 +E5 +E5 +E4 +E5 +E4 +E6 +E4 +E5 +E5 +E5 +E5 +E5 +E5 +E7 +E5 +E6 +E6 +E6 +E6 +E6 +E6 +E7 +E8 +E6 +E8 +E7 +E9 +E7 +E8 +E9 +E9 +E9 +E9 +E9 +E9 +E9 +EA +EA +EA +E9 +EA +E9 +EB +EC +EA +EC +ED +F1 +F2 +F5 +F6 +F6 +F8 +F9 +FB +FB +FD +FD +FE +00 +FF +00 +01 +02 +02 +03 +03 +05 +05 +07 +07 +08 +07 +09 +09 +09 +0A +0A +0B +0C +0B +0D +0B +0D +0D +0D +0D +0E +0F +0D +0F +0F +10 +0F +10 +0E +10 +11 +0F +11 +10 +11 +11 +10 +11 +10 +10 +11 +0F +10 +10 +12 +10 +12 +11 +12 +11 +12 +12 +11 +12 +11 +12 +11 +12 +12 +11 +12 +11 +12 +11 +12 +12 +11 +12 +11 +12 +10 +12 +10 +11 +11 +11 +10 +10 +11 +0F +11 +0F +11 +11 +10 +11 +10 +11 +10 +10 +11 +0F +11 +10 +10 +11 +0F +0F +0F +10 +0F +10 +11 +10 +10 +0E +0F +0D +0F +0E +0F +0E +0F +0D +0F +0E +0E +0C +0E +0C +0E +0D +0D +0D +0D +09 +06 +03 +01 +01 +FF +00 +FD +FD +FB +FA +FA +F8 +F8 +F6 +F5 +F5 +F3 +F3 +F3 +F2 +F0 +F0 +EF +EF +EF +ED +ED +EC +EC +EC +EB +EA +EA +E9 +E9 +E8 +E8 +E7 +E7 +E6 +E8 +E6 +E6 +E6 +E6 +E4 +E6 +E4 +E6 +E4 +E6 +E4 +E4 +E4 +E5 +E4 +E5 +E4 +E3 +E5 +E5 +E5 +E5 +E5 +E5 +E5 +E6 +E4 +E5 +E6 +E6 +E6 +E5 +E6 +E5 +E6 +E6 +E6 +E7 +E7 +E8 +E6 +E8 +E7 +E6 +E8 +E6 +E8 +EA +EE +F0 +F2 +F3 +F3 +F5 +F5 +F7 +F7 +F8 +FA +FA +FC +FC +FC +FE +FE +00 +FF +00 +00 +01 +01 +02 +02 +03 +03 +04 +04 +05 +05 +06 +06 +06 +06 +07 +08 +08 +08 +08 +0A +09 +09 +0B +0A +0A +0A +0B +0C +0A +0C +0B +0D +0C +0C +0C +0C +0C +0C +0E +0D +0D +0D +0D +0E +0D +0E +0D +0D +0D +0D +0D +0F +0E +0E +0F +0E +0E +0F +0D +0F +0E +0E +0B +07 +05 +03 +02 +00 +00 +FF +FF +FE +FC +FC +FA +FA +F8 +F8 +F6 +F7 +F6 +F5 +F4 +F4 +F2 +F3 +F1 +F1 +F0 +F0 +EF +F0 +EE +EF +EE +ED +EC +ED +EB +ED +EB +EB +EB +EB +E9 +EB +EA +EA +E9 +E9 +E8 +EA +E8 +E7 +E9 +E7 +E8 +E8 +E8 +E8 +EC +EF +F1 +F2 +F3 +F4 +F6 +F7 +F8 +F9 +F9 +FB +FB +FD +FC +FE +FE +00 +FF +01 +00 +02 +02 +02 +03 +04 +03 +05 +04 +06 +06 +07 +06 +08 +07 +07 +09 +08 +0A +0A +08 +0A +09 +0B +09 +0B +0B +0B +0B +0B +0B +0B +0D +0C +0C +0D +0B +0D +0B +0D +0E +0D +0D +0D +0D +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0E +0E +0E +0D +0E +0E +0D +0E +0D +0E +0D +0E +0D +0D +0D +0D +0C +0C +0D +0B +0D +0B +0D +0C +0D +0C +0D +0C +0C +0C +0C +0C +0D +0C +0B +0C +0A +0C +0C +0B +0C +09 +06 +02 +02 +00 +FF +FF +FD +FC +FA +FA +F9 +F7 +F7 +F6 +F4 +F5 +F3 +F3 +F1 +F2 +F0 +F0 +EF +EF +EE +ED +ED +ED +EC +EB +EB +EA +E9 +EA +E8 +E9 +E7 +E8 +E6 +E8 +E6 +E6 +E6 +E6 +E4 +E6 +E4 +E5 +E6 +E4 +E4 +E4 +E4 +E3 +E5 +E3 +E3 +E2 +E4 +E3 +E3 +E3 +E4 +E2 +E4 +E3 +E2 +E4 +E3 +E5 +E5 +E5 +E5 +E7 +E6 +E8 +E7 +E6 +E8 +E6 +E8 +E6 +E8 +E8 +E8 +E8 +E8 +E8 +E8 +E8 +E9 +E9 +EA +E8 +EA +E9 +E9 +EB +E9 +EA +EA +EA +EB +EA +EA +EC +EA +EB +EB +EB +EB +EB +EB +EC +EC +EC +EB +ED +EB +ED +ED +EB +ED +ED +ED +ED +ED +ED +ED +EE +EF +F2 +F4 +F6 +F8 +F8 +FA +FB +FB +FD +FD +FE +FE +00 +FF +01 +00 +02 +03 +03 +05 +04 +06 +06 +06 +08 +07 +09 +08 +0A +0B +09 +0B +0B +0B +0D +0C +0D +0D +0D +0D +0F +0F +0F +0F +10 +0F +0F +10 +0E +10 +10 +11 +10 +10 +10 +0F +10 +12 +10 +12 +11 +12 +11 +12 +11 +11 +12 +10 +12 +13 +13 +12 +12 +12 +12 +12 +0E +0C +08 +08 +06 +06 +03 +03 +02 +01 +FF +00 +FF +FF +FD +FD +FB +FB +FA +FA +F9 +F7 +F8 +F6 +F7 +F6 +F6 +F5 +F5 +F4 +F4 +F3 +F3 +F1 +F2 +F0 +F2 +F0 +F0 +F1 +F0 +F0 +EF +F0 +EF +EF +ED +EF +EE +EF +ED +ED +ED +ED +ED +ED +ED +ED +ED +EE +ED +ED +ED +EF +ED +EE +EE +EE +ED +EF +F0 +EE +F0 +EE +EF +EE +EF +EF +EF +EF +F1 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F1 +EF +F1 +F0 +F0 +F0 +F2 +F0 +F1 +F1 +F1 +F0 +F1 +F1 +F1 +F1 +F1 +F0 +F2 +F3 +F1 +F3 +F1 +F2 +F1 +F1 +F2 +F1 +F3 +F1 +F3 +F2 +F2 +F2 +F4 +F2 +F3 +F4 +F5 +F9 +FB +FD +FE +FF +00 +00 +01 +02 +03 +04 +05 +04 +06 +06 +07 +07 +08 +07 +04 +02 +01 +00 +00 +FF +00 +FF +FF +FD +FE +FC +FC +FC +FC +FC +FB +FC +FA +FA +FA +FA +F9 +F9 +F8 +F8 +F8 +F8 +F6 +F7 +F7 +F7 +F8 +F7 +F8 +F7 +F6 +F7 +F6 +F8 +F6 +F7 +F9 +F9 +F7 +F9 +F7 +F9 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F7 +F9 +F7 +F9 +F9 +FA +F8 +FA +F9 +F8 +F9 +F8 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +F8 +FA +FA +FA +FB +FA +FA +FD +FF +02 +02 +04 +04 +06 +06 +08 +09 +08 +0A +0B +0B +0D +0E +0D +0F +0E +10 +10 +11 +11 +12 +12 +13 +13 +14 +15 +14 +16 +15 +15 +17 +15 +17 +18 +16 +17 +17 +19 +17 +19 +18 +18 +18 +1A +19 +19 +19 +19 +19 +1B +1A +1A +1A +1A +1B +1A +1B +1A +1B +1B +1A +1B +1A +1B +1B +1A +1B +1B +1A +1B +1A +1B +19 +1B +1A +1A +1B +1A +19 +1A +18 +1A +19 +1A +1A +19 +19 +19 +19 +1A +1A +18 +18 +18 +18 +18 +19 +18 +19 +18 +18 +18 +16 +18 +18 +16 +18 +16 +18 +16 +18 +17 +15 +16 +16 +16 +16 +17 +15 +17 +16 +16 +15 +15 +16 +15 +15 +15 +15 +13 +15 +14 +14 +14 +14 +12 +13 +13 +13 +14 +13 +13 +13 +11 +12 +12 +12 +12 +13 +11 +11 +11 +11 +11 +12 +11 +11 +11 +0F +10 +10 +10 +10 +10 +10 +11 +10 +10 +10 +10 +10 +11 +10 +0F +0F +0F +0F +0F +0F +0F +0F +0F +10 +0E +0E +0F +0E +0E +0E +0F +0D +0D +0D +0E +0C +0E +0C +0C +0C +0D +0D +0D +0D +0D +0C +0A +0C +0A +0C +0A +0B +0C +0A +0A +0A +0B +09 +0B +09 +09 +09 +09 +09 +09 +09 +0A +0A +09 +0A +09 +07 +08 +08 +08 +08 +09 +08 +08 +09 +07 +07 +07 +07 +06 +08 +07 +08 +07 +06 +07 +08 +07 +07 +06 +07 +06 +06 +06 +06 +06 +07 +05 +07 +05 +07 +07 +06 +06 +05 +05 +06 +04 +05 +06 +05 +06 +05 +04 +03 +05 +03 +05 +03 +03 +05 +03 +05 +04 +04 +04 +04 +02 +04 +03 +04 +04 +02 +03 +03 +03 +03 +02 +03 +03 +03 +03 +03 +01 +02 +02 +02 +03 +02 +03 +02 +03 +03 +02 +02 +01 +01 +01 +01 +01 +01 +01 +02 +00 +02 +01 +01 +01 +00 +01 +00 +01 +01 +FF +01 +00 +00 +00 +FF +01 +00 +00 +00 +01 +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FD +FA +F7 +F6 +F5 +F3 +F3 +F1 +F0 +EE +EF +ED +ED +EB +EB +EA +E8 +E9 +E7 +E7 +E7 +E5 +E5 +E6 +EA +EA +ED +ED +EE +EE +EF +EF +F0 +F1 +F0 +F2 +F1 +F2 +F2 +F3 +F2 +F4 +F4 +F5 +F5 +F5 +F5 +F7 +F5 +F7 +F7 +F7 +F8 +F7 +F9 +F7 +F9 +F8 +FA +F8 +FA +FA +FA +FA +FA +FA +FC +FC +FB +FB +FC +FA +FC +FC +FD +FB +FD +FB +FC +FD +FD +FD +FD +FD +FC +FE +FC +FD +FD +FD +FE +FE +FF +FE +FF +FE +FE +FD +FE +FD +FF +FD +FF +FD +FC +F9 +F6 +F5 +F3 +F3 +F2 +F0 +F0 +EF +ED +ED +EC +EC +EB +EA +E9 +E9 +E7 +E8 +E6 +E7 +E5 +E6 +E4 +E5 +E3 +E3 +E3 +E3 +E2 +E6 +E8 +EA +EB +EB +ED +EC +EE +EE +F0 +EF +F1 +F0 +F2 +F2 +F3 +F4 +F3 +F5 +F4 +F6 +F6 +F6 +F7 +F8 +F7 +F9 +F8 +FA +F9 +FB +FA +FA +FB +FB +FD +FB +FD +FD +FD +FE +FD +FF +FD +FE +FF +FF +FF +FF +FF +FE +00 +FF +00 +FF +00 +FF +00 +FF +01 +00 +01 +00 +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +02 +00 +02 +01 +00 +02 +01 +02 +01 +01 +00 +02 +00 +02 +00 +00 +00 +00 +FF +01 +00 +FF +01 +FF +00 +01 +FF +00 +00 +00 +00 +00 +00 +00 +01 +01 +00 +01 +01 +01 +01 +FF +01 +FF +01 +FF +00 +01 +FF +00 +FF +00 +00 +FF +00 +00 +00 +00 +FF +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +01 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +FF +00 +FE +FF +00 +FE +00 +FE +FF +FE +FF +FE +FF +FF +FF +FE +FF +FE +FF +FE +FF +FE +FF +FE +FF +FE +00 +FF +FF +00 +FE +00 +FF +FF +00 +FE +FF +FF +FF +FF +FF +FF +00 +FE +FF +FF +FF +FF +FF +FD +FE +FE +FE +FF +FE +FF +FD +FF +00 +00 +FF +FD +FE +FF +FE +FF +FE +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FE +FD +FE +FD +FE +FE +FE +FE +FE +FE +FC +FD +FE +FC +FE +FC +FC +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FC +FD +FD +FD +FD +FD +FC +FE +FD +FD +FD +FE +FC +FD +FB +FD +FC +FB +FD +FB +FC +FC +FC +FD +FE +FE +FD +FC +FC +FC +FB +FD +FC +FC +FC +FC +FC +FE +FC +FD +FD +FD +FD +FD +FC +FD +FC +FC +FC +FC +FC +FC +FC +FC +FB +FC +FB +FC +FB +FC +FC +FC +FC +FC +FC +FD +FC +FB +FD +FB +FD +FB +F9 +F6 +F4 +F3 +F1 +F1 +EF +EF +ED +ED +EC +EC +EA +EA +E8 +E9 +E8 +E6 +E7 +E6 +E4 +E5 +E3 +E3 +E3 +E1 +E2 +E1 +E1 +E1 +E1 +DF +E0 +E0 +DE +E0 +DF +DF +DF +DD +DE +DE +DE +DF +DE +DD +DC +DD +DC +DD +DC +DD +DC +DD +DD +DC +DD +DC +DE +DE +DE +DF +DE +DF +DE +DF +DF +DE +DF +DE +DF +E0 +E1 +DF +E0 +DF +E1 +E0 +E2 +E1 +E3 +E5 +E7 +E9 +EA +EB +EB +ED +ED +EF +EF +F1 +F1 +F3 +F3 +F4 +F4 +F4 +F6 +F6 +F7 +F7 +F8 +F9 +F8 +FA +FA +FB +FC +FB +FD +FA +F8 +F5 +F5 +F4 +F3 +F3 +F2 +F2 +F1 +F1 +F0 +F0 +EF +EF +EF +ED +EF +EE +EC +EE +EC +EC +EC +EC +EC +EB +EA +EB +EB +EB +EA +EA +EA +EA +EA +E8 +E9 +E9 +E9 +E9 +E9 +E9 +EA +EA +EA +EA +EB +EB +EB +EA +EB +EA +EC +EB +EA +EC +EC +EC +EB +ED +EB +ED +EC +EE +EC +ED +ED +EF +ED +EF +ED +EF +EF +EF +EE +F0 +EF +EF +EF +EE +EF +EE +F0 +EE +F0 +F0 +F0 +F1 +EF +F1 +F1 +F1 +F0 +F2 +F0 +F1 +F1 +F1 +F1 +F1 +F1 +F1 +F1 +F1 +F3 +F1 +F3 +F2 +F2 +F4 +F2 +F3 +F4 +F3 +F2 +F4 +F2 +F4 +F3 +F2 +F4 +F4 +F4 +F5 +F3 +F5 +F5 +F5 +F4 +F6 +F7 +F5 +F7 +F5 +F6 +F8 +F7 +F7 +F7 +F7 +F8 +F6 +F7 +F6 +F8 +F7 +F7 +F7 +F6 +F8 +F9 +F9 +F8 +FA +FC +FF +FF +00 +00 +02 +02 +02 +04 +05 +05 +06 +06 +08 +07 +09 +08 +0A +09 +0B +0A +0C +0C +0C +0E +0C +0C +08 +07 +06 +05 +04 +04 +02 +03 +01 +02 +00 +01 +00 +00 +00 +FF +FE +FE +FC +FE +FC +FC +FD +FB +FB +FC +FC +FB +FA +FA +FA +F8 +F9 +F9 +F9 +F8 +FA +F8 +F9 +F9 +FA +FA +FA +FA +F9 +FB +F9 +FB +F9 +FB +F9 +FA +FA +FC +FA +FC +FA +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FA +FA +FB +FA +FC +FA +FC +FB +FB +FB +FA +FB +FA +FB +FB +FA +FB +FA +FC +FB +FC +FA +FB +FB +FD +FC +FD +FC +FB +FD +FC +FD +FB +FC +FD +FC +FD +FC +FE +FC +FE +FC +FD +FC +FC +FD +FE +FD +FD +FE +FC +FE +FC +FD +FC +FD +FC +FD +FD +FD +FD +FD +FE +FF +FE +FE +FF +FF +FF +FE +00 +02 +03 +06 +06 +08 +08 +08 +0A +0A +0C +0B +0D +0D +0F +0E +10 +0F +11 +10 +12 +11 +13 +12 +14 +14 +14 +15 +15 +15 +15 +17 +15 +17 +17 +18 +17 +17 +19 +18 +19 +17 +19 +19 +19 +19 +19 +19 +18 +1A +1A +1A +1A +1A +1A +1A +1B +1B +1B +1B +1A +1A +1B +1A +1A +1B +1A +1B +1A +1B +1A +1B +1A +1B +1A +1B +1A +1A +1A +1A +1A +18 +19 +19 +19 +19 +1B +1A +1A +1A +1B +1A +1B +19 +1A +19 +19 +19 +19 +19 +19 +1A +19 +17 +19 +17 +19 +19 +18 +19 +19 +18 +18 +18 +16 +18 +17 +17 +18 +16 +18 +16 +16 +16 +16 +16 +16 +16 +17 +16 +16 +17 +15 +15 +15 +16 +15 +16 +15 +16 +15 +14 +14 +14 +14 +13 +13 +13 +12 +14 +12 +12 +11 +13 +12 +13 +12 +13 +11 +13 +11 +13 +13 +11 +11 +11 +11 +11 +11 +12 +11 +11 +0F +11 +10 +10 +10 +11 +0F +0F +0E +10 +0F +10 +0F +10 +0F +0F +0F +0F +0F +0F +0F +0D +0F +0E +0E +0F +0D +0F +0E +0F +0E +0E +0F +0E +0C +0E +0D +0E +0D +0E +0E +0C +0C +0D +0B +0D +0B +0D +0B +0D +0C +0C +0B +0B +0B +0B +0C +0B +0B +0B +0B +09 +0B +0A +0B +0A +0B +0A +0A +08 +0A +08 +0A +09 +09 +09 +09 +0A +09 +07 +08 +09 +08 +09 +07 +09 +07 +09 +07 +08 +07 +07 +07 +08 +06 +08 +07 +07 +08 +06 +08 +06 +06 +05 +07 +06 +06 +06 +07 +05 +06 +06 +06 +06 +06 +05 +05 +06 +04 +06 +04 +05 +06 +04 +06 +04 +06 +04 +06 +06 +04 +04 +05 +04 +05 +04 +04 +04 +05 +05 +04 +05 +04 +05 +03 +05 +03 +05 +04 +04 +02 +04 +02 +04 +03 +03 +03 +03 +03 +03 +04 +03 +04 +02 +03 +04 +03 +03 +03 +01 +02 +02 +01 +03 +02 +FF +FD +FB +FA +F8 +F8 +F6 +F6 +F4 +F4 +F3 +F3 +F2 +F0 +EF +F0 +EE +EE +ED +ED +ED +EC +EC +EB +EB +EA +EA +E9 +E8 +EA +E8 +E8 +E8 +E8 +E6 +E7 +E8 +E7 +E5 +E6 +E7 +E5 +E6 +E5 +E5 +E5 +E5 +E5 +E3 +E5 +E3 +E4 +E3 +E4 +E5 +E3 +E5 +E3 +E4 +E4 +E6 +E4 +E6 +E6 +E6 +E5 +E7 +E5 +E7 +E8 +EC +EC +EE +EF +EF +F1 +F2 +F2 +F3 +F4 +F5 +F6 +F6 +F6 +F8 +F7 +F9 +F8 +FA +F9 +FA +FB +F8 +F6 +F4 +F4 +F4 +F3 +F2 +F2 +F1 +F1 +F1 +F1 +EF +F0 +EE +F0 +EE +EE +EE +EE +EC +EE +EC +ED +EB +ED +EB +ED +EB +EB +EA +EB +EB +EB +ED +EB +ED +EC +EC +EE +EC +ED +EE +EC +EE +ED +ED +EF +ED +EF +ED +EF +F0 +EF +EF +EF +EF +F0 +EE +EF +EF +F1 +F0 +F0 +F0 +EF +F1 +F1 +F0 +F1 +EF +F1 +F2 +F0 +F2 +F1 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F2 +F0 +F2 +F0 +F1 +F1 +F3 +F1 +F3 +F1 +F2 +F1 +F2 +F2 +F1 +F2 +F1 +F2 +F2 +F1 +F2 +F1 +F2 +F1 +F2 +F2 +F2 +F2 +F4 +F4 +F2 +F4 +F3 +F2 +F3 +F2 +F4 +F3 +F2 +F4 +F5 +F3 +F5 +F5 +F6 +F4 +F6 +F4 +F6 +F6 +F7 +F5 +F7 +F5 +F6 +F6 +F5 +F6 +F5 +F6 +F5 +F6 +F6 +F6 +F6 +F6 +F7 +F6 +F7 +F6 +F6 +F7 +F8 +F7 +F8 +F7 +F7 +F8 +F9 +F8 +F9 +F7 +F8 +F7 +F9 +F7 +F9 +F9 +F9 +F8 +F9 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F9 +FA +FE +FE +00 +FF +01 +01 +03 +02 +04 +04 +06 +06 +07 +08 +07 +09 +0A +0B +0A +0C +0B +0D +0C +0E +0D +0D +0F +0D +0F +0F +10 +10 +11 +0F +11 +11 +10 +12 +12 +13 +12 +12 +12 +14 +13 +13 +13 +13 +13 +13 +15 +14 +14 +14 +14 +15 +13 +15 +15 +15 +15 +16 +15 +16 +15 +16 +15 +15 +15 +15 +15 +15 +14 +16 +14 +16 +14 +16 +15 +16 +15 +16 +16 +15 +16 +15 +15 +16 +14 +16 +16 +14 +14 +14 +14 +14 +15 +15 +14 +15 +15 +13 +15 +13 +13 +13 +14 +12 +14 +12 +14 +13 +12 +12 +13 +11 +13 +11 +13 +12 +13 +12 +13 +12 +13 +12 +13 +12 +12 +12 +12 +13 +12 +11 +12 +11 +12 +12 +11 +12 +11 +10 +0F +11 +0F +11 +10 +10 +11 +10 +10 +0E +10 +10 +0E +10 +0F +0F +10 +0E +0E +0E +0E +0E +0E +0E +0F +0E +0C +0E +0C +0E +0C +0E +0D +0D +0C +0C +0C +0C +0C +0D +0D +0B +0B +0B +0B +0A +0C +0A +0C +0C +0A +0A +0B +0A +0A +0B +0B +0A +0B +09 +0B +0A +0A +0B +09 +09 +09 +09 +09 +0A +09 +09 +09 +09 +0A +08 +08 +08 +08 +08 +09 +07 +09 +07 +08 +09 +07 +09 +07 +07 +07 +07 +07 +07 +07 +08 +06 +08 +07 +07 +07 +07 +07 +07 +05 +05 +07 +05 +07 +05 +07 +06 +06 +06 +07 +05 +07 +05 +07 +05 +05 +05 +04 +00 +00 +FE +FD +FB +FB +FA +F8 +F8 +F6 +F7 +F5 +F5 +F4 +F2 +F3 +F1 +F1 +F1 +F0 +EF +EF +EF +ED +EE +EC +ED +EC +EB +EB +EB +EA +EA +EB +EA +E8 +EA +E8 +E9 +E7 +E8 +E8 +E7 +E7 +E6 +E8 +E6 +E7 +E6 +E7 +E7 +E8 +E6 +E8 +E6 +E6 +E6 +E8 +E7 +E7 +E7 +E6 +E7 +E7 +E8 +E7 +E7 +E9 +E8 +E8 +E8 +E8 +E8 +EA +E9 +E9 +E8 +E9 +E9 +EB +EA +EA +EA +E9 +EB +EC +EA +EB +EA +EB +EC +EA +EB +EB +ED +EC +EC +EE +EC +ED +ED +ED +ED +EF +ED +EE +ED +EE +ED +EE +EE +EE +EF +EE +ED +EF +EF +EF +EF +EF +F0 +EE +EF +F0 +F0 +F0 +F0 +F0 +EF +F0 +EF +F0 +F1 +F0 +EF +F1 +F1 +F1 +F1 +F0 +F2 +F2 +F4 +F6 +F8 +F8 +FA +FB +FC +FB +FD +FE +FE +FF +00 +FF +00 +00 +01 +02 +01 +03 +02 +04 +04 +04 +05 +06 +04 +03 +01 +FF +00 +FE +FF +FD +FE +FD +FC +FC +FC +FA +FB +F9 +FA +F8 +F9 +F7 +F8 +F6 +F8 +F6 +F6 +F6 +F7 +F5 +F5 +F4 +F5 +F6 +F4 +F4 +F4 +F3 +F4 +F3 +F5 +F4 +F4 +F6 +F6 +F4 +F6 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F6 +F4 +F6 +F4 +F5 +F5 +F7 +F5 +F6 +F6 +F6 +F7 +F7 +FB +FB +FE +FE +00 +FF +01 +00 +02 +02 +04 +04 +04 +05 +06 +06 +07 +07 +08 +09 +09 +0A +0B +09 +0B +0B +0B +0B +0D +0B +0C +0E +0D +0F +0E +0F +0E +0F +0E +0E +0E +10 +0F +0F +10 +0E +0F +10 +10 +10 +10 +11 +11 +10 +11 +10 +10 +10 +10 +10 +11 +10 +10 +11 +10 +11 +11 +10 +10 +10 +12 +11 +12 +10 +11 +12 +10 +11 +11 +11 +11 +11 +12 +11 +11 +0F +11 +0F +11 +10 +11 +10 +11 +10 +11 +11 +11 +10 +11 +11 +0F +11 +0F +0F +0E +10 +0F +10 +10 +10 +10 +0F +0F +0F +0F +10 +0F +0F +0D +0F +0E +0E +0F +0E +0D +0F +0D +0F +0F +0D +0D +0D +0C +0E +0D +0E +0E +0E +0C +0E +0C +0E +0D +0D +0C +0D +0C +0B +0D +0B +0D +0C +0C +0B +0B +0B +0B +0B +0B +0B +0B +0C +0A +0A +0A +0A +0B +0B +0A +0A +0A +0B +0B +0A +09 +0A +08 +0A +09 +09 +09 +09 +09 +0A +08 +08 +09 +09 +07 +09 +07 +08 +09 +09 +09 +08 +0A +08 +09 +08 +09 +07 +09 +07 +09 +08 +08 +08 +08 +07 +09 +08 +08 +08 +06 +07 +08 +07 +07 +07 +07 +07 +08 +07 +07 +05 +07 +05 +07 +06 +07 +07 +06 +06 +06 +06 +05 +05 +04 +06 +05 +05 +05 +05 +05 +05 +06 +05 +04 +04 +04 +04 +05 +03 +05 +05 +05 +04 +05 +04 +05 +04 +03 +03 +04 +03 +04 +03 +03 +03 +03 +03 +02 +03 +03 +01 +03 +01 +03 +01 +02 +02 +03 +01 +03 +01 +02 +02 +02 +02 +02 +01 +02 +00 +02 +01 +01 +02 +00 +02 +01 +02 +01 +02 +00 +02 +01 +01 +01 +01 +02 +00 +00 +01 +FF +01 +00 +FF +01 +FF +00 +FF +FF +00 +FF +01 +FF +01 +00 +00 +FD +FA +F9 +F8 +F6 +F7 +F5 +F5 +F3 +F3 +F1 +F2 +F0 +F1 +EF +EF +EE +ED +ED +EC +EC +EC +EA +EB +EA +EA +E8 +E9 +E8 +E8 +E7 +E7 +E7 +E7 +E7 +E7 +E5 +E7 +E5 +E5 +E4 +E6 +E4 +E6 +E5 +E4 +E4 +E4 +E4 +E4 +E3 +E4 +E4 +E4 +E4 +E6 +E4 +E5 +E4 +E5 +E4 +E6 +E4 +E5 +E6 +E7 +E5 +E7 +E5 +E6 +E6 +E6 +E6 +E8 +E8 +E6 +E8 +E9 +ED +ED +EF +EF +F1 +F1 +F3 +F3 +F3 +F5 +F5 +F6 +F6 +F7 +F8 +F8 +F9 +F9 +FA +FA +FB +FB +FC +FD +FD +FE +FE +FE +FE +FC +FA +F8 +F8 +F7 +F7 +F6 +F6 +F4 +F4 +F3 +F3 +F2 +F2 +F1 +F1 +F0 +F2 +F0 +F0 +F0 +F0 +EF +EF +EF +ED +EF +ED +EF +ED +ED +EE +EC +EE +ED +ED +EB +ED +EB +ED +EC +EC +EC +EB +EB +EC +EC +ED +EC +EC +EE +EC +EE +EE +EE +EE +F0 +EF +EF +EF +EE +EF +EF +F1 +F0 +F1 +EF +F0 +F0 +F0 +F1 +F0 +EF +F1 +F1 +F1 +F2 +F0 +F1 +F0 +F1 +F0 +F1 +F1 +F1 +F1 +F2 +F2 +F2 +F2 +F2 +F1 +F3 +F3 +F3 +F3 +F3 +F3 +F3 +F5 +F4 +F4 +F4 +F4 +F3 +F4 +F3 +F4 +F4 +F3 +F4 +F3 +F4 +F3 +F4 +F3 +F4 +F4 +F4 +F4 +F6 +F5 +F5 +F5 +F4 +F5 +F5 +F5 +F4 +F6 +F6 +F6 +F5 +F6 +F6 +F8 +F6 +F8 +F7 +F7 +F7 +F7 +F8 +F9 +F8 +F7 +F8 +F7 +F8 +F8 +F8 +F7 +F7 +F7 +F8 +F6 +F8 +F7 +F7 +F8 +F8 +F8 +F9 +F8 +F8 +F8 +FA +F8 +F9 +F9 +FD +FE +FF +00 +FF +01 +01 +03 +03 +03 +05 +04 +06 +07 +06 +08 +08 +08 +08 +05 +04 +03 +01 +02 +00 +01 +FF +00 +FF +00 +FF +FE +FF +FE +FD +FD +FD +FB +FD +FC +FA +FC +FB +FA +F9 +FA +FA +FA +F9 +F9 +F9 +F9 +F9 +F9 +F7 +F9 +F8 +F9 +FA +F9 +F8 +FA +FB +FA +FB +FA +FA +FB +FA +FB +FC +FB +FB +FB +FA +FB +FB +FF +FF +01 +01 +01 +03 +02 +04 +05 +06 +06 +06 +08 +07 +09 +08 +0A +09 +0B +0A +0C +0C +0D +0C +0D +0D +0E +0E +0E +0F +0F +10 +0F +0F +11 +0F +11 +11 +12 +11 +11 +11 +11 +12 +12 +12 +12 +13 +12 +12 +12 +14 +13 +14 +14 +12 +14 +13 +14 +12 +13 +13 +14 +14 +14 +15 +14 +15 +15 +15 +15 +15 +15 +14 +15 +13 +12 +0E +0E +0B +0C +0A +0A +09 +07 +07 +06 +06 +05 +03 +03 +02 +02 +01 +01 +FF +00 +FF +00 +FE +FF +FE +FE +FD +FB +FC +FC +FE +FF +01 +01 +02 +03 +02 +04 +04 +04 +05 +05 +06 +06 +07 +07 +07 +08 +08 +08 +07 +09 +09 +09 +08 +0A +0A +0A +0A +0A +0B +0B +0C +0A +0C +0B +0B +0D +0C +0D +0C +0C +0E +0D +0D +0E +0C +0E +0D +0E +0E +0C +0E +0D +0D +0D +0F +0D +0F +0E +0F +0F +0F +0F +0F +0F +0E +0F +0E +0F +0E +0F +0E +0F +0F +0F +0F +0F +0F +0E +0F +0E +0F +0E +0E +0F +0E +0F +0F +0E +0E +0E +0D +0E +0E +0D +0E +0D +0E +0E +0D +0E +0D +0E +0D +0D +0D +0D +0B +0C +0C +0C +0D +0C +0D +0C +0C +0D +0B +0B +0B +0B +0C +0C +0B +0B +0B +0B +0C +0A +0A +07 +04 +03 +02 +00 +00 +00 +FF +FF +FD +FD +FB +FB +FA +FA +F8 +F9 +F7 +F8 +F6 +F7 +F5 +F6 +F4 +F4 +F5 +F3 +F3 +F2 +F4 +F3 +F1 +F3 +F1 +F1 +F2 +F1 +F1 +F0 +F0 +F0 +EF +EF +EF +EE +EF +EE +EF +EE +EF +EF +F0 +EF +F0 +F1 +F0 +F0 +F0 +F0 +F0 +F2 +F1 +F1 +F1 +F1 +F0 +F1 +F1 +F0 +F2 +F0 +F2 +F1 +F1 +F2 +F3 +F2 +F2 +F2 +F3 +F4 +F3 +F4 +F3 +F3 +F3 +F3 +F2 +F3 +F2 +F3 +F2 +F3 +F3 +F2 +F3 +F3 +F2 +F3 +F3 +F3 +F3 +F3 +F3 +F2 +F3 +F2 +F3 +F2 +F3 +F2 +F3 +F2 +F4 +F2 +F4 +F2 +F3 +F3 +F5 +F3 +F5 +F4 +F3 +F4 +F3 +F4 +F3 +F4 +F5 +F3 +F5 +F3 +F5 +F6 +F9 +F9 +FB +FB +FC +FC +FE +FE +FE +00 +00 +FF +01 +00 +02 +01 +03 +03 +03 +04 +05 +04 +05 +06 +06 +07 +07 +06 +08 +08 +09 +07 +08 +08 +08 +0A +08 +0A +09 +0A +0A +0A +0B +0C +0B +0C +0B +0A +0C +0D +0C +0D +0D +0C +0C +0C +0C +0C +0D +0E +0C +0E +0D +0E +0E +0E +0E +0D +0E +0D +0D +0D +0C +0D +0E +0E +0E +0E +0F +0D +0F +0E +0F +0F +0F +0D +0F +0E +0E +0F +0F +0F +0F +0D +0F +0E +0D +0E +0D +0D +0F +0E +0D +0D +0D +0D +0E +0C +0C +0C +0C +0C +0D +0C +0D +0B +0D +0C +0D +0C +0D +0C +0C +0C +0C +0C +0C +0A +0C +0B +0C +0B +0B +09 +0B +0A +0A +0A +0A +08 +09 +09 +09 +09 +0A +09 +0A +09 +09 +09 +09 +08 +08 +09 +08 +09 +08 +05 +03 +01 +00 +FF +FF +FE +FD +FD +FC +FA +FA +FA +F8 +F9 +F7 +F7 +F6 +F6 +F5 +F5 +F3 +F4 +F2 +F3 +F1 +F2 +F2 +F0 +F1 +EF +F1 +F0 +EE +EF +F0 +EE +EE +EE +EE +EC +ED +ED +ED +EC +EC +EC +EC +EB +ED +EB +EB +EC +EB +EB +EA +EB +EB +EB +ED +EB +EC +EB +EC +EC +EB +ED +EE +EC +ED +ED +EF +ED +EF +EE +ED +EF +EE +EE +EF +EF +EF +F0 +EE +EF +F0 +F0 +F0 +F0 +F0 +EF +F1 +F0 +F0 +F2 +F0 +F1 +F1 +F0 +F1 +F0 +F2 +F3 +F1 +F2 +F1 +F2 +F3 +F2 +F1 +F3 +F3 +F3 +F4 +F2 +F4 +F4 +F5 +F3 +F4 +F5 +F3 +F5 +F5 +F6 +F4 +F6 +F5 +F5 +F4 +F5 +F4 +F6 +F5 +F6 +F7 +F6 +F6 +F7 +FA +FB +FB +FD +FD +FE +FF +FF +00 +FF +01 +01 +01 +02 +03 +03 +03 +05 +03 +05 +05 +06 +07 +06 +07 +07 +07 +07 +09 +07 +09 +07 +09 +09 +0A +08 +0A +09 +0B +09 +0B +0A +0A +0C +0C +0A +0C +0A +0C +0A +0C +0B +0C +0D +0C +0C +0C +0C +0C +0D +0C +0D +0D +0C +0D +0D +0C +0C +0C +0C +0C +0C +0A +08 +06 +05 +03 +04 +03 +01 +01 +FF +00 +FF +FF +FD +FE +FD +FC +FC +FA +FB +F9 +F9 +F9 +F8 +F8 +F7 +F7 +F7 +F7 +F6 +F7 +F6 +F5 +F6 +F5 +F4 +F4 +F5 +F3 +F3 +F3 +F3 +F2 +F3 +F3 +F3 +F3 +F3 +F3 +F3 +F2 +F4 +F5 +F4 +F5 +F4 +F5 +F3 +F5 +F3 +F4 +F4 +F6 +F5 +F5 +F5 +F4 +F5 +F4 +F5 +F5 +F5 +F5 +F6 +F6 +F6 +F5 +F7 +FA +FB +FC +FD +FD +FD +FF +FF +00 +FF +01 +01 +02 +01 +03 +03 +04 +04 +04 +06 +05 +07 +05 +06 +08 +07 +09 +08 +07 +09 +0A +08 +09 +09 +0B +09 +0B +09 +0B +0B +0C +0A +0C +0B +0B +0B +0D +0C +0C +0C +0C +0D +0C +0D +0B +0D +0C +0D +0D +0D +0B +0D +0D +0E +0C +0C +0C +0C +0B +0D +0C +0C +0C +0B +0D +0D +0C +0D +0C +0C +0C +0B +0B +0B +0B +0B +0C +0C +0B +0D +0B +0D +0B +0D +0B +0A +06 +06 +04 +04 +03 +01 +01 +FF +00 +00 +FE +FE +FD +FD +FB +FC +FA +FA +F9 +F9 +F8 +F8 +F7 +F7 +F6 +F6 +F5 +F5 +F4 +F4 +F3 +F4 +F2 +F4 +F2 +F2 +F2 +F2 +F2 +F0 +F0 +F2 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F2 +F0 +F2 +F3 +F1 +F3 +F1 +F3 +F4 +F6 +F7 +F9 +F9 +F9 +FB +FA +FC +FC +FD +FD +FE +FF +FE +00 +FF +00 +00 +00 +02 +00 +02 +02 +02 +03 +03 +04 +04 +04 +05 +05 +05 +05 +05 +07 +05 +06 +07 +07 +09 +08 +08 +08 +06 +08 +08 +08 +08 +08 +09 +09 +09 +09 +09 +0A +0A +0B +09 +0B +0A +0A +0A +0A +0A +0B +09 +0A +0A +0C +0B +0B +0C +0B +0C +0B +0C +0B +0C +0B +0C +0B +0C +0B +0C +0C +0C +0B +0C +0A +0A +09 +0B +0A +0A +0A +0A +0B +0B +0A +0B +0A +0B +09 +0B +09 +09 +08 +0A +09 +09 +09 +09 +09 +09 +0A +08 +08 +09 +09 +08 +08 +09 +08 +09 +07 +09 +08 +08 +08 +08 +06 +07 +07 +07 +08 +07 +07 +07 +08 +06 +08 +06 +06 +06 +08 +07 +07 +05 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +07 +06 +04 +06 +05 +05 +06 +04 +06 +05 +05 +05 +05 +05 +05 +05 +04 +06 +05 +05 +05 +03 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +02 +FF +FF +FC +FC +FB +FA +FA +F8 +F9 +F7 +F8 +F6 +F6 +F4 +F5 +F3 +F4 +F2 +F3 +F1 +F2 +F0 +F1 +EF +EF +EF +EF +EE +EE +EE +EC +EE +ED +EB +EC +EC +EC +EA +EC +EA +EC +EC +EA +EA +EA +EA +E9 +EA +E9 +EA +E9 +EA +EA +E9 +EA +E9 +EA +E9 +EB +EA +EB +E9 +EA +EA +EC +EB +EA +EC +EB +ED +EB +ED +EC +EB +ED +ED +ED +ED +ED +EC +ED +EC +ED +ED +ED +ED +ED +ED +F1 +F1 +F3 +F3 +F5 +F6 +F6 +F7 +F8 +F7 +F9 +F9 +FA +FB +FB +FC +FC +FC +FD +FE +FD +FE +FE +00 +FF +00 +FF +FD +FA +FB +FA +F8 +FA +F9 +F8 +F7 +F7 +F6 +F6 +F5 +F5 +F5 +F5 +F3 +F5 +F3 +F2 +F3 +F3 +F3 +F2 +F2 +F2 +F3 +F1 +F1 +F0 +F2 +F0 +F1 +F1 +F1 +F1 +F3 +F1 +F3 +F2 +F3 +F4 +F3 +F3 +F3 +F3 +F2 +F3 +F3 +F2 +F4 +F2 +F4 +F3 +F2 +F4 +F4 +F5 +F8 +F8 +FA +FA +FB +FB +FD +FC +FE +FE +00 +FF +00 +00 +00 +01 +00 +02 +03 +01 +03 +04 +03 +05 +03 +05 +05 +05 +06 +07 +06 +06 +06 +06 +08 +08 +06 +07 +07 +09 +07 +09 +07 +09 +09 +0A +08 +0A +09 +09 +09 +0B +0A +0A +0A +0B +0A +06 +05 +03 +03 +01 +01 +01 +00 +00 +00 +FF +FF +FE +FE +FD +FD +FC +FC +FB +FB +FB +F9 +FA +F8 +F9 +F8 +F7 +F8 +F6 +F8 +F6 +F6 +F5 +F7 +F5 +F6 +F5 +F6 +F4 +F4 +F3 +F4 +F4 +F4 +F3 +F5 +F6 +F5 +F5 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F5 +F4 +F5 +F5 +F5 +F6 +F4 +F5 +F5 +F7 +F5 +F7 +F6 +F7 +F7 +F7 +F6 +F7 +F6 +F8 +F6 +F6 +F7 +F6 +F6 +F8 +F6 +F8 +F6 +F7 +F8 +F6 +F8 +F7 +F8 +F8 +F9 +F8 +F8 +F8 +F8 +F6 +F8 +F6 +F7 +F7 +F7 +F7 +F6 +F7 +F7 +F9 +F7 +F9 +F8 +F8 +FA +F8 +FA +F8 +F8 +F7 +F9 +F8 +F8 +F9 +FA +F9 +FA +F9 +F9 +F9 +F8 +F9 +F9 +F9 +F9 +F9 +FB +F9 +F9 +F9 +FA +FA +FA +F8 +FA +FB +FA +FE +FE +00 +FF +00 +00 +02 +01 +03 +02 +04 +05 +04 +06 +05 +07 +06 +08 +09 +08 +08 +09 +09 +0B +0B +0A +0B +0A +0B +0C +0B +0C +0C +0C +0D +0B +0D +0D +0E +0D +0E +0E +0E +0E +0F +0E +0E +0F +0D +0F +0F +10 +0F +10 +10 +10 +10 +10 +10 +10 +0E +0C +0A +09 +07 +07 +06 +06 +04 +05 +03 +03 +03 +01 +01 +00 +00 +FF +00 +FF +FE +FF +FD +FD +FC +FD +FC +FB +FB +FB +F9 +FB +F9 +F9 +FA +F8 +F8 +F8 +F8 +F8 +F9 +F7 +F9 +F8 +F7 +F9 +F7 +F9 +F8 +F8 +F8 +F9 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +FA +F9 +F9 +F9 +F9 +F9 +F8 +F9 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F8 +F9 +F8 +F9 +F9 +F8 +F9 +F8 +F9 +F9 +F9 +F9 +FA +FA +FE +FF +FF +00 +00 +01 +02 +02 +02 +04 +03 +05 +05 +05 +06 +06 +06 +07 +07 +09 +08 +08 +0A +09 +09 +0B +0A +0A +0A +0B +0B +0B +0B +0C +0C +0C +0D +0C +0C +0E +0D +0D +0D +0D +0D +0D +0D +0D +0D +0F +0F +0E +0F +0D +0F +0E +0F +0E +0F +0E +0F +0F +0F +0F +0F +0E +0F +0E +0E +0E +0E +0E +10 +10 +0F +10 +0F +10 +10 +0F +10 +0F +10 +0F +10 +10 +10 +0F +10 +0F +10 +10 +0F +0F +0E +0F +0D +0F +0E +0F +0D +0F +0D +0C +08 +08 +06 +06 +05 +03 +03 +01 +02 +00 +00 +FF +00 +FE +FE +FE +FC +FD +FE +FF +00 +00 +01 +01 +01 +01 +01 +02 +02 +04 +03 +03 +03 +04 +04 +04 +04 +05 +06 +04 +06 +05 +05 +04 +06 +07 +05 +07 +06 +07 +05 +07 +05 +07 +07 +08 +06 +08 +06 +08 +08 +07 +08 +08 +06 +08 +06 +08 +07 +07 +07 +08 +08 +07 +07 +08 +08 +08 +09 +07 +09 +08 +08 +07 +07 +08 +08 +08 +07 +09 +08 +08 +07 +08 +06 +08 +06 +08 +06 +04 +02 +00 +00 +FF +FF +FD +FE +FC +FC +FB +FB +FB +F9 +F9 +F8 +F8 +F7 +F7 +F6 +F6 +F5 +F5 +F4 +F4 +F3 +F3 +F3 +F3 +F2 +F2 +F2 +F1 +F0 +F2 +F1 +EF +F0 +EF +EF +EF +EF +EE +F0 +EE +EF +EE +EE +EE +ED +EF +EE +ED +EF +EF +EF +EE +F0 +EE +EF +EF +F1 +EF +F1 +EF +F0 +F0 +F2 +F0 +F2 +F0 +F1 +F1 +F0 +F1 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F1 +F2 +F2 +F2 +F2 +F1 +F3 +F1 +F2 +F3 +F2 +F1 +F2 +F2 +F2 +F2 +F1 +F3 +F3 +F3 +F2 +F4 +F4 +F5 +F3 +F5 +F4 +F4 +F3 +F4 +F3 +F4 +F4 +F3 +F4 +F4 +F3 +F4 +F3 +F4 +F4 +F3 +F5 +F3 +F5 +F4 +F3 +F5 +F5 +F5 +F5 +F4 +F5 +F5 +F5 +F5 +F5 +F4 +F6 +F7 +F6 +F7 +F5 +F6 +F6 +F8 +F6 +F8 +F6 +F7 +F8 +F8 +F8 +F8 +F8 +F7 +F9 +F8 +F8 +F9 +F8 +F9 +FB +FD +FD +FF +00 +00 +00 +FF +01 +00 +02 +02 +03 +03 +04 +04 +05 +05 +06 +06 +06 +07 +07 +06 +08 +08 +08 +07 +09 +09 +09 +09 +0B +0B +09 +0B +0B +0B +0B +0C +0A +0C +0C +0D +0D +0C +0C +0C +0C +0D +0B +0D +0C +0C +0C +0C +0C +0C +0B +0D +0D +0D +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0D +0D +0D +0D +0C +0E +0F +0E +0E +0F +0D +0C +0E +0C +0E +0E +0E +0E +0E +0E +0D +0E +0D +0E +0E +0D +0E +0D +0E +0C +0E +0D +0B +0D +0C +0C +0C +0C +0D +0B +0B +0A +0C +0A +0C +0B +0C +0C +0B +0C +0A +0C +0C +0A +0A +0A +0B +09 +0B +0B +0A +09 +0A +09 +09 +0A +0A +0A +0A +09 +09 +09 +09 +0A +09 +07 +09 +07 +09 +08 +07 +07 +07 +07 +07 +08 +06 +08 +07 +08 +06 +08 +06 +08 +07 +05 +06 +07 +06 +07 +06 +06 +07 +05 +07 +07 +05 +07 +05 +05 +04 +06 +05 +06 +04 +06 +05 +05 +06 +05 +05 +05 +05 +06 +05 +05 +06 +04 +04 +05 +04 +04 +05 +04 +04 +05 +04 +05 +04 +04 +04 +04 +04 +05 +04 +03 +04 +02 +04 +03 +03 +04 +02 +04 +02 +04 +02 +03 +04 +03 +04 +03 +04 +03 +02 +00 +FE +FD +FC +FB +FA +FA +F9 +F8 +F7 +F7 +F5 +F6 +F5 +F4 +F3 +F3 +F1 +F3 +F2 +F0 +F1 +EF +F1 +EF +EF +EF +EF +ED +EE +EE +EE +ED +EC +ED +ED +ED +EB +EC +EB +EC +EC +EC +EB +EB +EB +EA +EB +EC +EA +EC +EC +ED +EB +ED +EC +EC +ED +EC +EC +ED +ED +ED +ED +EB +ED +EC +EB +ED +ED +ED +ED +ED +EC +ED +EE +ED +EC +EE +EE +EE +EF +EE +ED +EE +ED +EE +EE +ED +EE +EE +ED +EE +ED +EE +ED +EE +EF +ED +EF +EF +EF +EF +EF +F0 +F1 +F1 +F0 +F0 +F0 +EF +F1 +F1 +F1 +F1 +F1 +F1 +F0 +F1 +F0 +F2 +F1 +F1 +F1 +F0 +F2 +F2 +F2 +F1 +F3 +F2 +F1 +F3 +F3 +F3 +F3 +F3 +F5 +F3 +F5 +F3 +F4 +F4 +F3 +F4 +F4 +F4 +F5 +F4 +F3 +F5 +F5 +F5 +F4 +F6 +F4 +F5 +F5 +F7 +F5 +F7 +F6 +F6 +F6 +F5 +F7 +F7 +F7 +F7 +F8 +F6 +F6 +F6 +F7 +F5 +F7 +F7 +F8 +F7 +F7 +F7 +F7 +F7 +F7 +F8 +F8 +F8 +F8 +F8 +F7 +F8 +F8 +F8 +F8 +F8 +F8 +F7 +F8 +F7 +F8 +F9 +F8 +FA +F8 +F9 +F9 +F9 +F8 +FA +FA +FA +FA +FA +FA +FA +F9 +FB +FB +FB +FB +FB +FA +FB +FB +FB +FB +FB +FA +FC +FA +FC +FC +FC +FC +FC +FC +FD +FB +FC +FB +FC +FB +FC +FB +FC +FB +FC +FB +FC +FC +FC +FB +FD +FB +FD +FB +FD +FE +00 +FF +01 +00 +02 +02 +03 +03 +04 +05 +04 +06 +05 +07 +07 +06 +07 +08 +06 +08 +09 +08 +08 +09 +09 +09 +09 +0A +0B +0A +0B +0B +0A +0B +0A +0B +0B +0C +0A +0C +0C +0B +0D +0B +0D +0B +0C +0D +0B +0D +0B +0D +0D +0E +0D +0E +0D +0E +0E +0E +0E +0D +0E +0D +0E +0E +0D +0E +0D +0E +0E +0D +0E +0D +0E +0D +0E +0D +0E +0E +0D +0E +0E +0D +0E +0D +0E +0D +0E +0D +0E +0E +0D +0E +0C +0E +0C +0E +0E +0C +0C +0D +0C +0D +0B +0D +0B +0C +0C +0C +0B +0B +0B +0C +0B +0B +0B +0B +0A +0C +0B +0B +0B +0A +0A +0C +0A +0C +0A +0C +0C +0A +0A +0A +0A +0B +0A +0A +0A +0B +0A +0B +09 +0B +09 +09 +08 +0A +09 +09 +09 +09 +0A +0A +09 +0A +09 +0A +08 +0A +08 +0A +09 +09 +07 +09 +09 +07 +07 +04 +03 +01 +01 +FF +00 +FE +FF +FE +FC +FC +FB +FB +FA +F9 +F9 +F8 +F8 +F7 +F6 +F6 +F4 +F6 +F4 +F4 +F3 +F3 +F4 +F2 +F2 +F2 +F2 +F0 +F2 +F0 +F0 +F0 +F0 +F0 +EE +F0 +EE +F0 +EE +EE +EE +EE +ED +EE +ED +EE +EE +EE +EE +EF +EF +EF +EF +EF +EF +ED +EE +EE +EF +F0 +F1 +F3 +F4 +F5 +F6 +F6 +F7 +F7 +F9 +F9 +FA +FA +FB +FB +FD +FB +FD +FC +FE +FE +FE +FF +FE +00 +FF +00 +00 +00 +00 +00 +02 +01 +01 +03 +01 +02 +03 +04 +02 +03 +04 +04 +04 +04 +04 +03 +05 +06 +04 +06 +04 +06 +05 +04 +06 +06 +06 +06 +06 +06 +07 +05 +07 +06 +07 +06 +07 +05 +07 +05 +07 +06 +06 +07 +06 +07 +07 +07 +06 +07 +05 +07 +05 +07 +05 +07 +05 +07 +07 +07 +06 +07 +07 +07 +06 +07 +06 +06 +06 +07 +05 +07 +05 +07 +06 +06 +07 +07 +07 +07 +08 +08 +07 +07 +07 +08 +07 +08 +07 +08 +06 +08 +08 +06 +06 +07 +05 +07 +07 +05 +07 +06 +07 +07 +06 +07 +06 +06 +06 +06 +06 +07 +05 +05 +05 +05 +06 +06 +04 +06 +04 +06 +05 +03 +01 +FF +FF +FD +FC +FD +FB +FB +FA +F9 +F9 +F8 +F7 +F7 +F6 +F6 +F5 +F5 +F5 +F4 +F3 +F3 +F3 +F1 +F1 +F1 +F3 +F5 +F6 +F6 +F7 +F6 +F8 +F7 +F9 +F9 +FA +FB +FA +FB +FC +FB +FB +FD +FB +FC +FD +FD +FD +FE +FD +FF +FD +FE +FE +00 +FE +FF +FF +00 +FF +00 +00 +FF +00 +FF +00 +01 +FF +00 +00 +00 +FF +01 +01 +01 +02 +00 +01 +01 +02 +00 +02 +00 +02 +01 +01 +01 +03 +01 +03 +02 +02 +02 +02 +02 +02 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +02 +02 +02 +01 +03 +01 +03 +01 +03 +02 +03 +01 +03 +01 +03 +01 +02 +02 +02 +03 +02 +03 +03 +03 +03 +02 +03 +02 +03 +02 +03 +03 +03 +02 +03 +01 +03 +01 +03 +01 +02 +02 +02 +02 +02 +00 +01 +01 +01 +02 +00 +01 +02 +01 +02 +01 +FF +FC +FC +FA +FA +F8 +F8 +F7 +F6 +F6 +F4 +F4 +F3 +F3 +F2 +F2 +F1 +F1 +EF +F1 +F0 +EE +F0 +EE +EE +EE +EE +EC +EE +EC +EC +EB +ED +EC +EB +EB +EB +EB +EA +EB +EA +EB +EA +EB +EB +EB +EA +EC +EC +EC +EC +EC +EC +EC +EB +ED +ED +ED +ED +ED +EC +EE +EE +EE +ED +EE +EE +F0 +EF +EF +EF +EF +EF +EE +F0 +EF +F0 +EF +EF +EE +F0 +EF +EF +EF +F0 +F2 +F4 +F4 +F5 +F6 +F6 +F7 +F7 +F8 +F8 +F9 +F9 +FA +F9 +FB +FA +FC +FB +FD +FC +FE +FD +FF +FE +FE +FF +FF +FF +00 +FF +00 +01 +00 +00 +FF +FD +FB +FB +FA +FA +F9 +F9 +F8 +F8 +F7 +F7 +F7 +F5 +F6 +F5 +F5 +F5 +F5 +F4 +F3 +F5 +F3 +F4 +F2 +F4 +F4 +F3 +F5 +F3 +F5 +F5 +F5 +F4 +F6 +F4 +F5 +F4 +F5 +F4 +F5 +F5 +F5 +F5 +F4 +F5 +F4 +F5 +F6 +F4 +F6 +F4 +F5 +F5 +F7 +F5 +F7 +F5 +F6 +F6 +F8 +F7 +F7 +F7 +F6 +F7 +F7 +F8 +F6 +F8 +F7 +F8 +F8 +F8 +F8 +F9 +F8 +F6 +F8 +F6 +F7 +F6 +F7 +F6 +F7 +F7 +F7 +F7 +F7 +F7 +F7 +F7 +F7 +F5 +F6 +F6 +F6 +F8 +F6 +F8 +F6 +F7 +F8 +F7 +F7 +F7 +F7 +F9 +F8 +F6 +F8 +F7 +F8 +F6 +F7 +F7 +F7 +F7 +F7 +F7 +F6 +F7 +F7 +F7 +F7 +F7 +F7 +F8 +F7 +F8 +F6 +F6 +F8 +F8 +F8 +F8 +F8 +F7 +F8 +F8 +F8 +F8 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F8 +F8 +FA +F9 +F9 +F9 +F9 +F8 +FA +F9 +FA +FB +F9 +FB +FA +FA +FA +FA +FA +F9 +FA +FA +FA +FA +F9 +FA +F9 +FA +F9 +FA +F9 +FA +F9 +FA +FA +FA +FA +FA +F9 +FB +FB +FC +FB +FB +FD +FF +00 +00 +00 +01 +02 +02 +03 +03 +04 +05 +04 +06 +05 +07 +08 +06 +08 +09 +08 +09 +0A +09 +0A +0A +0B +09 +0B +0A +0C +0B +0B +0B +0C +0D +0B +0D +0B +0C +0D +0D +0D +0D +0E +0C +0E +0C +0E +0D +0D +0E +0F +0E +0E +0E +0E +0E +0E +0E +0F +0D +0D +0D +0D +0E +0E +0F +0D +0D +0D +0F +0E +0C +0E +0C +0D +0D +0D +0D +0F +0E +0E +0E +0E +0F +0E +0D +0D +0D +0D +0D +0E +0D +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0E +0D +0D +0E +0C +0C +0C +0C +0C +0C +0C +0D +0D +0C +0D +0C +0C +0D +0C +0C +0C +0C +0C +0D +0C +0B +0B +0B +0B +0C +0C +0C +0C +0A +0C +0A +0C +0C +0A +0A +0B +09 +0B +0A +0B +0A +0A +0A +0A +0B +0A +08 +0A +08 +0A +0A +08 +0A +09 +09 +0A +08 +08 +09 +07 +09 +08 +08 +09 +07 +09 +08 +06 +07 +07 +09 +08 +07 +06 +08 +06 +08 +06 +08 +06 +06 +06 +07 +06 +06 +06 +06 +07 +05 +07 +05 +07 +07 +07 +05 +07 +07 +07 +07 +08 +07 +07 +07 +05 +06 +06 +06 +06 +06 +06 +06 +07 +05 +07 +05 +05 +04 +06 +04 +06 +04 +06 +04 +06 +06 +04 +04 +04 +04 +04 +05 +03 +05 +03 +05 +04 +04 +04 +04 +04 +04 +03 +02 +04 +03 +03 +02 +04 +02 +04 +02 +04 +03 +01 +02 +02 +02 +03 +01 +03 +02 +03 +02 +02 +02 +02 +03 +01 +03 +01 +00 +FE +FD +FC +FA +FB +FA +F8 +F9 +F7 +F7 +F7 +F6 +F6 +F5 +F4 +F5 +F3 +F4 +F2 +F3 +F1 +F3 +F2 +F1 +F1 +F0 +EF +EF +EF +EF +ED +EE +EF +ED +ED +EC +EE +EC +EE +EC +ED +EC +ED +EC +ED +ED +ED +ED +ED +ED +EE +EE +EE +EE +F0 +EE +EF +EF +EF +EF +F1 +EF +F0 +F1 +EF +F0 +F0 +F0 +EF +F1 +F0 +F0 +F0 +EF +F1 +F2 +F0 +F2 +F0 +F2 +F3 +F4 +F6 +F6 +F7 +F8 +F7 +F9 +F9 +F9 +FA +FA +FB +FB +FC +FD +FC +FD +FD +FF +FE +FF +FE +00 +FF +00 +00 +01 +FF +01 +FF +FF +FD +FD +FB +FC +FB +FB +FA +F9 +FA +F9 +F8 +F9 +F8 +F6 +F8 +F6 +F7 +F5 +F7 +F5 +F5 +F5 +F5 +F5 +F4 +F4 +F3 +F4 +F4 +F4 +F4 +F4 +F4 +F5 +F5 +F6 +F5 +F5 +F5 +F5 +F5 +F5 +F5 +F5 +F6 +F5 +F5 +F5 +F4 +F4 +F4 +F4 +F6 +F4 +F6 +F4 +F6 +F6 +F6 +F5 +F7 +F6 +F4 +F6 +F5 +F7 +F5 +F7 +F5 +F7 +F5 +F7 +F5 +F7 +F6 +F7 +F8 +F7 +F7 +F7 +F8 +F6 +F8 +F6 +F8 +F8 +F8 +F8 +F7 +F8 +F8 +F8 +F8 +F8 +F8 +F7 +F9 +F8 +F8 +F8 +F7 +F8 +F8 +F7 +F9 +F7 +F9 +F7 +F8 +F8 +FA +F8 +FA +F8 +FA +FA +FB +F9 +FA +FA +F9 +FA +FA +FB +FA +FB +FA +FA +FA +FB +FB +FB +FA +F9 +FB +FA +FA +FA +FA +FA +FA +FA +FC +FA +FC +FB +FB +FB +FB +FB +FA +FB +FA +FB +FA +FB +FA +FB +FA +FC +FA +FB +FC +FA +FD +FD +FF +00 +FF +00 +01 +00 +02 +02 +01 +03 +03 +04 +03 +05 +04 +06 +05 +07 +05 +07 +07 +07 +08 +08 +08 +08 +09 +09 +09 +09 +09 +0B +09 +0B +0A +0A +0A +0A +0C +0B +0B +0C +0B +0B +0C +0A +0C +0A +0C +0B +0C +0B +0D +0B +0D +0C +0C +0C +0C +09 +09 +08 +06 +05 +04 +04 +02 +02 +01 +01 +00 +00 +FF +00 +00 +FF +FF +FD +FD +FD +FD +FB +FC +FA +FC +FA +FA +FB +FA +FA +FA +F9 +FB +FA +F9 +FA +F9 +FA +F9 +FA +FA +F9 +FA +F9 +FA +FA +FA +FA +FA +F9 +FA +F9 +FA +F9 +FA +F9 +FB +FA +F9 +FA +F9 +FB +F9 +FA +FA +FA +FA +F9 +FA +FA +FB +FA +FB +FA +FA +FA +FA +FB +F9 +FB +F9 +FB +F9 +FA +F9 +FA +F9 +FA +FA +F9 +FA +F9 +FA +FA +F9 +FA +F9 +FB +F9 +FB +FB +FC +FA +FC +FA +FC +FB +FA +FB +FA +FB +FA +FB +FA +FB +FA +FB +FA +FC +FA +FC +FB +FD +FB +FB +FB +FD +FB +FD +FB +FD +FF +FF +00 +00 +01 +01 +02 +02 +04 +03 +05 +05 +05 +06 +06 +06 +07 +06 +08 +09 +09 +08 +08 +0A +08 +09 +0A +0A +0A +0B +09 +0B +09 +0B +0B +0C +0A +0C +0A +0C +0A +0C +0B +0B +0C +0A +0C +0D +0C +0C +0C +0C +0C +0D +0D +0C +0D +0D +0C +0D +0C +0D +0D +0C +0D +0C +0D +0D +0C +0D +0C +0D +0C +0C +0C +0C +0C +0D +0C +0A +0C +0A +0C +0C +0C +0C +0C +0C +0B +0C +0B +0C +0C +0B +0C +0C +0B +0C +0C +0B +0B +0B +0B +0B +0C +0A +0C +0D +0B +0B +0C +0B +09 +0B +09 +0B +0B +0A +0B +0A +0B +0A +0A +0A +0A +0B +0B +0A +09 +09 +09 +09 +0A +0A +09 +0A +0A +09 +0A +09 +09 +0A +09 +0A +09 +0A +08 +0A +09 +09 +09 +07 +08 +08 +08 +08 +09 +07 +09 +08 +08 +09 +08 +06 +08 +06 +08 +07 +07 +07 +07 +08 +07 +06 +06 +06 +06 +07 +05 +07 +06 +07 +06 +07 +06 +07 +06 +07 +05 +07 +07 +05 +07 +06 +06 +06 +04 +05 +05 +05 +05 +05 +05 +06 +04 +06 +05 +05 +05 +05 +05 +06 +04 +06 +04 +02 +00 +00 +FF +FF +FD +FE +FD +FB +FC +FA +FB +FA +F8 +F9 +F7 +F8 +F7 +F7 +F7 +F6 +F4 +F5 +F5 +F3 +F3 +F3 +F3 +F1 +F3 +F3 +F2 +F0 +F2 +F0 +F1 +EF +F1 +EF +F0 +F0 +EF +F0 +EF +F0 +EF +F1 +EF +F1 +F0 +EF +F1 +F2 +F0 +F1 +F1 +F1 +F2 +F3 +F3 +F1 +F3 +F2 +F3 +F2 +F2 +F2 +F4 +F3 +F3 +F3 +F2 +F2 +F3 +F2 +F3 +F4 +F2 +F3 +F2 +F3 +F2 +F3 +F3 +F3 +F3 +F3 +F3 +F4 +F4 +F4 +F3 +F5 +F6 +F5 +F5 +F5 +F4 +F5 +F5 +F5 +F5 +F5 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F6 +F5 +F5 +F7 +F5 +F6 +F6 +F6 +F7 +F6 +F7 +F7 +F8 +F7 +F7 +F7 +F6 +F8 +F7 +F6 +F8 +F7 +F8 +F8 +F7 +F8 +F6 +F7 +F6 +F8 +F7 +F7 +F8 +FA +FA +FC +FB +FD +FD +FE +FE +FF +FE +00 +FF +00 +00 +01 +01 +01 +01 +01 +03 +03 +01 +03 +03 +03 +03 +05 +04 +04 +05 +06 +05 +06 +06 +07 +05 +07 +06 +08 +06 +08 +06 +07 +07 +08 +08 +08 +08 +07 +09 +07 +09 +08 +08 +08 +08 +08 +07 +08 +07 +08 +07 +07 +08 +07 +08 +08 +08 +08 +08 +07 +08 +07 +08 +08 +07 +08 +07 +08 +07 +08 +09 +07 +09 +07 +08 +09 +07 +09 +08 +06 +07 +08 +06 +08 +07 +07 +08 +07 +08 +08 +08 +07 +08 +07 +08 +08 +07 +08 +06 +08 +06 +08 +06 +08 +07 +07 +05 +07 +06 +06 +07 +06 +06 +07 +06 +07 +06 +07 +07 +07 +06 +07 +06 +07 +06 +06 +07 +05 +07 +05 +07 +06 +04 +05 +05 +05 +05 +05 +05 +06 +04 +06 +05 +04 +05 +04 +05 +05 +06 +04 +06 +05 +05 +05 +05 +06 +04 +04 +04 +04 +04 +05 +03 +05 +04 +04 +04 +04 +03 +03 +04 +02 +04 +03 +02 +04 +02 +00 +FF +FE +FC +FD +FC +FC +FB +FB +F9 +FA +F9 +F8 +F8 +F7 +F7 +F7 +F5 +F6 +F4 +F5 +F3 +F5 +F4 +F3 +F3 +F3 +F2 +F1 +F2 +F1 +F1 +F0 +F1 +F1 +F0 +F1 +F1 +F0 +F1 +F0 +F2 +F1 +F1 +F1 +F0 +F2 +F3 +F2 +F3 +F1 +F2 +F2 +F4 +F3 +F3 +F3 +F4 +F2 +F4 +F2 +F3 +F2 +F4 +F3 +F3 +F3 +F2 +F4 +F5 +F4 +F4 +F4 +F3 +F5 +F6 +F4 +F6 +F6 +F8 +F9 +F9 +FB +F9 +FB +FB +FB +FB +FD +FB +FD +FD +FD +FE +FE +FE +FE +FF +00 +FF +00 +FF +00 +00 +00 +01 +01 +00 +FF +FE +FD +FD +FC +FB +FB +F9 +F9 +F8 +F8 +F8 +F8 +F6 +F8 +F6 +F6 +F5 +F7 +F7 +F7 +F7 +F7 +F7 +F8 +F6 +F7 +F6 +F7 +F6 +F7 +F7 +F7 +F7 +F8 +F6 +F8 +F7 +F7 +F6 +F6 +F6 +F6 +F5 +F6 +F6 +F5 +F6 +F5 +F6 +F5 +F6 +F6 +F6 +F7 +F5 +F7 +F6 +F4 +F5 +F5 +F5 +F5 +F5 +F5 +F5 +F4 +F6 +F6 +F6 +F6 +F6 +F6 +F5 +F6 +F5 +F6 +F5 +F7 +F6 +F6 +F6 +F5 +F6 +F7 +F5 +F7 +F5 +F6 +F6 +F6 +F7 +F5 +F7 +F6 +F6 +F5 +F5 +F6 +F6 +F8 +FA +FA +FC +FB +FD +FC +FE +FD +FF +FE +00 +FF +00 +00 +01 +01 +02 +02 +03 +04 +02 +04 +04 +04 +04 +06 +04 +06 +04 +05 +06 +06 +06 +04 +03 +01 +01 +FF +00 +FF +FF +FF +FE +FE +FD +FD +FC +FC +FB +FD +FB +FB +FB +FB +F9 +FA +F9 +F9 +F9 +F9 +F7 +F8 +F8 +F8 +F8 +F6 +F8 +F6 +F6 +F6 +F7 +F6 +F7 +F5 +F6 +F5 +F6 +F7 +F5 +F7 +F8 +F6 +F7 +F7 +F7 +F7 +F9 +F7 +F9 +F7 +F8 +F8 +F8 +F8 +F8 +FA +FC +FC +FD +FC +FE +FE +00 +FF +00 +00 +00 +01 +02 +01 +03 +01 +03 +03 +03 +04 +04 +05 +05 +06 +04 +06 +07 +06 +06 +08 +06 +08 +07 +07 +09 +07 +09 +08 +08 +0A +08 +0A +09 +09 +09 +09 +0B +0A +0A +0A +0A +0A +0B +0B +0A +0B +0A +0B +0A +0A +0A +0B +0A +0B +09 +0B +09 +0B +0B +0B +0B +0B +0A +0B +0B +0A +0B +0A +0B +0B +0A +0B +0A +0B +0A +0B +0A +0B +0A +0B +0B +0B +0B +0A +0B +0A +0B +09 +09 +06 +05 +03 +04 +02 +03 +01 +02 +01 +00 +00 +00 +FF +FF +FF +FE +FE +FD +FD +FC +FC +FB +FB +FB +FB +F9 +FA +F9 +F9 +F9 +F9 +F7 +F9 +F7 +F7 +F8 +F6 +F8 +F9 +F7 +F9 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F8 +F8 +F7 +F8 +F8 +F8 +F9 +F8 +F7 +F9 +F9 +F9 +F9 +F9 +F8 +F9 +F8 +F9 +F9 +F8 +F9 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F9 +F9 +F9 +FA +F9 +FA +FA +FB +F9 +FB +F9 +FA +F9 +F9 +FA +FA +FA +FA +F9 +FB +FB +FD +FD +FF +FE +00 +FF +00 +00 +FF +01 +01 +01 +01 +03 +01 +02 +02 +04 +03 +03 +04 +04 +04 +04 +06 +05 +05 +04 +06 +04 +05 +05 +07 +06 +07 +05 +06 +06 +06 +08 +06 +08 +06 +08 +07 +07 +07 +06 +08 +08 +08 +08 +09 +07 +09 +07 +08 +09 +09 +09 +09 +09 +0A +09 +0A +09 +0A +0A +09 +0A +09 +0A +09 +0A +09 +0A +09 +0A +09 +0A +09 +0A +0A +09 +09 +08 +0A +08 +08 +08 +08 +08 +09 +08 +09 +08 +09 +09 +09 +09 +09 +09 +0A +08 +0A +08 +08 +07 +09 +07 +09 +07 +09 +09 +08 +08 +08 +08 +08 +08 +08 +09 +07 +07 +06 +08 +09 +07 +07 +07 +07 +07 +08 +06 +08 +07 +07 +05 +07 +06 +06 +07 +06 +07 +06 +07 +06 +07 +05 +07 +05 +07 +05 +06 +05 +07 +05 +06 +04 +05 +03 +05 +03 +05 +05 +05 +05 +05 +03 +05 +05 +03 +05 +03 +05 +03 +05 +04 +04 +04 +04 +03 +05 +04 +04 +04 +03 +01 +01 +FF +FF +FD +FE +FC +FD +FC +FA +FB +F9 +FA +F8 +F9 +F8 +F7 +F7 +F6 +F6 +F5 +F5 +F5 +F5 +F3 +F5 +F3 +F3 +F3 +F3 +F3 +F2 +F2 +F3 +F1 +F3 +F3 +F4 +F2 +F4 +F2 +F4 +F2 +F3 +F3 +F3 +F5 +F4 +F4 +F4 +F4 +F5 +F5 +F6 +F4 +F6 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F5 +F4 +F6 +F6 +F8 +F9 +F8 +FA +F9 +FB +FA +FB +FB +FD +FC +FE +FD +FD +FD +FF +FE +FE +00 +FE +00 +FE +00 +00 +FF +00 +00 +00 +00 +02 +00 +01 +01 +03 +02 +02 +02 +03 +04 +03 +04 +03 +03 +03 +03 +03 +02 +04 +04 +04 +04 +04 +05 +05 +03 +05 +05 +04 +05 +04 +05 +04 +05 +04 +05 +05 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +05 +04 +05 +04 +05 +05 +03 +05 +04 +04 +05 +04 +04 +04 +02 +03 +03 +03 +03 +02 +04 +02 +03 +03 +03 +03 +02 +03 +02 +03 +03 +02 +04 +02 +04 +02 +03 +03 +03 +04 +02 +03 +02 +03 +01 +03 +01 +03 +01 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +02 +03 +01 +03 +01 +03 +02 +01 +03 +01 +03 +01 +01 +01 +01 +01 +01 +01 +02 +01 +02 +01 +02 +02 +01 +02 +01 +02 +02 +02 +02 +02 +01 +02 +01 +02 +00 +02 +00 +02 +00 +02 +02 +01 +01 +01 +02 +01 +00 +00 +01 +00 +01 +00 +01 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +01 +00 +00 +01 +00 +01 +01 +00 +FD +FD +FB +FC +FB +FA +FA +F9 +F9 +F7 +F8 +F6 +F5 +F6 +F4 +F5 +F3 +F3 +F3 +F3 +F3 +F2 +F1 +F1 +F2 +F1 +EF +F1 +F0 +F0 +EF +EE +EF +EF +EF +ED +EF +ED +EE +ED +EE +ED +EE +EE +EE +EE +EF +EE +EF +ED +EE +EE +F0 +EE +F0 +EE +F0 +EE +F0 +EE +EE +F0 +F0 +F0 +F0 +EF +F0 +EF +F0 +EF +F0 +EF +F0 +F0 +F0 +EF +F1 +EF +F1 +F1 +F1 +F1 +F1 +F1 +F3 +F2 +F1 +F3 +F1 +F2 +F2 +F4 +F3 +F4 +F2 +F4 +F5 +F7 +F6 +F7 +F8 +F8 +F9 +F9 +FB +F9 +FA +FC +FB +FC +FC +FD +FD +FD +FD +FE +FE +FF +FF +FF +FE +FF +FF +00 +00 +FF +00 +00 +00 +FF +01 +01 +02 +00 +02 +02 +03 +02 +02 +03 +01 +03 +03 +02 +04 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +05 +04 +04 +04 +04 +02 +04 +05 +04 +03 +03 +04 +04 +05 +04 +04 +04 +02 +04 +04 +04 +04 +04 +05 +05 +04 +05 +04 +04 +04 +03 +05 +06 +04 +06 +05 +06 +05 +06 +06 +04 +06 +05 +05 +06 +05 +06 +05 +04 +04 +04 +05 +03 +05 +04 +04 +04 +04 +04 +04 +05 +04 +04 +05 +03 +05 +04 +04 +04 +04 +05 +05 +03 +05 +05 +05 +05 +03 +04 +02 +03 +03 +03 +03 +04 +04 +02 +04 +02 +03 +02 +04 +03 +02 +02 +03 +02 +02 +03 +01 +03 +02 +02 +03 +03 +02 +03 +02 +02 +02 +03 +02 +02 +02 +03 +01 +03 +02 +02 +00 +02 +01 +01 +02 +00 +02 +01 +02 +02 +01 +02 +01 +02 +01 +01 +02 +01 +02 +01 +01 +02 +00 +00 +01 +FF +01 +FF +00 +01 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +01 +00 +FF +00 +FE +FD +FB +FB +FA +FA +F8 +F9 +F8 +F6 +F7 +F5 +F6 +F5 +F5 +F3 +F3 +F4 +F2 +F4 +F2 +F2 +F2 +F2 +F2 +F1 +F1 +F1 +F1 +F1 +F0 +F1 +F1 +F1 +F1 +F3 +F2 +F2 +F3 +F2 +F3 +F3 +F4 +F3 +F2 +F3 +F4 +F3 +F4 +F2 +F4 +F2 +F4 +F4 +F4 +F4 +F4 +F4 +F3 +F5 +F4 +F4 +F4 +F3 +F5 +F4 +F4 +F6 +F6 +F4 +F6 +F4 +F5 +F5 +F7 +F6 +F6 +F5 +F5 +F5 +F4 +F5 +F5 +F5 +F5 +F5 +F4 +F6 +F6 +F7 +F8 +F7 +F9 +F8 +FA +FA +FB +FB +FC +FC +FD +FD +FE +FE +FD +FE +FE +FF +FD +FF +FE +00 +FE +00 +FF +FF +FC +FC +FB +FB +FA +FA +F9 +F9 +F9 +F7 +F9 +F7 +F7 +F8 +F7 +F5 +F6 +F6 +F6 +F4 +F5 +F6 +F5 +F5 +F5 +F4 +F6 +F7 +F5 +F7 +F5 +F5 +F5 +F5 +F4 +F5 +F5 +F7 +F6 +F7 +F5 +F6 +F6 +F5 +F6 +F5 +F6 +F5 +F7 +F6 +F6 +F6 +F5 +F7 +F8 +F6 +F8 +F7 +F9 +FA +FA +FB +FB +FC +FC +FD +FD +FD +FD +FF +FE +00 +FE +00 +FF +00 +00 +00 +01 +00 +01 +00 +02 +00 +01 +02 +03 +01 +02 +02 +02 +02 +04 +02 +03 +03 +03 +03 +05 +04 +04 +04 +04 +06 +05 +05 +05 +06 +04 +06 +07 +06 +06 +07 +05 +04 +03 +02 +01 +00 +00 +00 +00 +FE +FF +FE +FD +FD +FC +FB +FC +FA +FC +FA +F9 +FB +F9 +F9 +F9 +F9 +F8 +F8 +F9 +F8 +F8 +F8 +F8 +F9 +F7 +F9 +F7 +F8 +F9 +F9 +F9 +F9 +F9 +FA +F8 +F9 +F7 +F9 +F8 +FA +F8 +FA +F8 +F9 +F8 +F9 +F8 +F9 +F9 +F9 +FA +F8 +F9 +FA +FB +FA +FA +FB +F9 +FB +F9 +FA +FA +FC +FA +FC +FA +FB +FA +FB +FB +FB +FB +FA +FB +FA +FB +FA +FB +FA +FC +FA +FC +FB +FB +FB +FD +FB +FD +FB +FC +FD +FC +FD +FC +FD +FB +FC +FB +FC +FC +FC +FD +FD +FE +FC +FE +FC +FE +FD +FD +FD +FC +FE +FD +FD +FD +FD +FD +FC +FD +FD +FC +FD +FC +FD +FC +FE +FC +FE +FC +FC +FC +FC +FC +FC +FC +FB +FC +FB +FC +FB +FC +FC +FB +FC +FB +FC +FB +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FD +FC +FC +FC +FD +FE +FD +FD +FD +FD +FE +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FD +FD +FD +FD +FD +FE +FD +FF +FE +FC +FE +FE +FE +FE +FE +FE +FE +FF +FE +FE +FE +FC +FD +FE +FD +FE +FD +FC +FD +FC +FD +FC +FD +FD +FD +FD +FD +FC +FE +FC +FD +FC +FC +FC +FC +FC +FE +FC +FE +FC +FD +FE +FD +FE +FD +FD +FE +FF +FF +FD +FD +FC +FE +FE +FC +FE +FE +FF +FE +FF +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FE +FD +FE +FD +FE +FD +FE +FE +FD +FE +FE +FE +FE +FE +FD +FF +FF +FF +FF +FF +FF +FF +FF +FE +FF +FE +FF +FE +FF +FE +FF +FF +FF +FF +FF +FF +00 +FE +FF +FF +FF +FF +FF +FE +00 +FE +00 +FE +FF +FE +FF +FE +FF +FE +FF +FE +FF +FF +FF +FF +FF +00 +00 +FF +00 +00 +FF +00 +00 +00 +FF +00 +FF +00 +00 +FF +00 +FE +FF +FF +FE +FF +FE +FF +FF +FF +FF +FF +FE +00 +00 +FF +00 +FF +00 +00 +01 +FF +01 +FF +00 +01 +00 +01 +02 +01 +00 +02 +00 +02 +00 +02 +02 +02 +01 +02 +01 +02 +01 +02 +01 +02 +02 +02 +02 +02 +01 +02 +01 +01 +01 +02 +01 +02 +01 +02 +03 +02 +02 +03 +02 +03 +02 +01 +03 +01 +02 +02 +02 +02 +02 +02 +03 +02 +00 +02 +01 +01 +02 +01 +01 +01 +01 +02 +01 +02 +02 +00 +02 +01 +01 +02 +00 +02 +02 +03 +01 +03 +01 +03 +01 +03 +02 +02 +03 +03 +03 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +02 +02 +02 +03 +01 +03 +03 +01 +03 +02 +03 +03 +02 +04 +03 +03 +03 +03 +03 +03 +03 +04 +03 +01 +03 +03 +04 +04 +06 +06 +06 +06 +08 +08 +07 +09 +08 +08 +09 +09 +09 +08 +0A +0A +0A +0A +0A +0B +0B +0B +0C +0A +0C +0A +0C +0D +0D +0B +0D +0B +0D +0C +0C +0C +0C +0C +0D +0E +0D +0E +0E +0E +0E +0C +0E +0C +0E +0C +0D +0D +0F +0D +0F +0D +0F +0D +0F +0D +0F +0E +0E +0D +0D +0D +0E +0D +0E +0D +0E +0D +0E +0D +0D +0D +0E +0D +0D +0B +0C +0C +0C +0C +0D +0C +0D +0D +0C +0D +0D +0C +0D +0C +0C +0C +0A +0C +0C +0C +0C +0C +0C +0B +0A +0A +0A +0A +0B +09 +0B +0A +0B +0A +09 +09 +09 +09 +09 +09 +09 +09 +0A +09 +0A +0A +08 +09 +08 +08 +09 +07 +08 +08 +08 +08 +08 +08 +08 +08 +06 +07 +08 +09 +07 +07 +06 +08 +06 +07 +07 +07 +07 +05 +06 +07 +07 +07 +07 +08 +08 +07 +08 +07 +08 +08 +07 +08 +06 +08 +06 +06 +05 +07 +05 +07 +05 +07 +05 +07 +07 +06 +06 +06 +06 +06 +04 +05 +06 +05 +05 +05 +04 +04 +01 +01 +FF +00 +FF +FE +FE +FD +FD +FD +FB +FC +FA +FB +F9 +F9 +F9 +F8 +F8 +FA +FA +FC +FD +FC +FE +FC +FD +FE +FE +FE +FE +FE +FF +FF +FF +FF +FF +FF +00 +FF +00 +FF +00 +01 +FF +01 +FF +01 +01 +01 +01 +01 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +05 +04 +02 +04 +03 +02 +03 +01 +03 +02 +03 +03 +03 +04 +02 +03 +03 +03 +04 +03 +04 +03 +02 +03 +01 +03 +01 +03 +04 +02 +04 +02 +03 +04 +02 +02 +03 +01 +03 +02 +02 +03 +01 +02 +02 +02 +02 +02 +02 +02 +02 +01 +00 +02 +00 +02 +00 +02 +02 +01 +02 +01 +02 +02 +01 +02 +01 +02 +01 +01 +02 +00 +02 +00 +02 +01 +01 +01 +01 +01 +00 +01 +FF +01 +00 +00 +00 +01 +FF +01 +FF +01 +FF +01 +FF +01 +FF +FF +01 +FF +FF +01 +FF +00 +00 +00 +01 +FF +01 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +FF +00 +FF +00 +FF +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +00 +FF +00 +00 +00 +00 +00 +FF +00 +FE +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +FF +FF +FF +FE +00 +FE +00 +FF +FF +FF +FF +FE +FF +FE +FF +FF +FF +00 +FF +FF +00 +FE +FE +FE +FE +FE +FE +FE +FD +FE +FD +FE +FD +FF +FE +FE +FE +FC +FE +FE +FE +FD +FD +FE +FF +FD +FF +FD +FE +FC +FE +FC +FD +FC +FD +FC +FD +FD +FC +FD +FD +FD +FD +FD +FD +FD +FD +FE +FC +FE +FC +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FD +FE +FD +FE +FD +FD +FD +FB +FA +F8 +F8 +F7 +F7 +F6 +F5 +F6 +F4 +F5 +F4 +F3 +F4 +F2 +F1 +F2 +F1 +F1 +F2 +F0 +F0 +F1 +F0 +EF +EF +F0 +EE +EE +ED +EE +EE +EE +ED +EF +ED +ED +ED +EE +EF +EE +EE +F0 +EF +EF +EF +EF +EF +EF +EF +EF +F1 +EF +EF +F1 +EF +F1 +EF +F1 +F0 +F2 +F0 +F2 +F1 +F3 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F4 +F2 +F4 +F3 +F2 +F4 +F2 +F4 +F2 +F3 +F3 +F5 +F4 +F4 +F4 +F3 +F4 +F3 +F5 +F3 +F5 +F4 +F4 +F4 +F6 +F5 +F5 +F4 +F3 +F4 +F3 +F4 +F3 +F5 +F5 +F5 +F6 +F4 +F5 +F5 +F5 +F4 +F5 +F5 +F4 +F5 +F4 +F6 +F7 +F8 +F8 +F9 +F8 +FA +FA +FA +FA +FC +FA +FB +FB +FC +FC +FD +FD +FD +FC +FD +FD +FF +FD +FF +FE +FD +FF +00 +FE +00 +FE +00 +FF +00 +FF +00 +01 +01 +FF +01 +FF +01 +02 +01 +01 +02 +00 +02 +01 +02 +01 +01 +01 +01 +02 +03 +01 +03 +01 +03 +02 +02 +02 +02 +02 +02 +03 +01 +03 +01 +03 +02 +01 +02 +01 +02 +02 +01 +02 +02 +02 +02 +02 +02 +03 +02 +01 +03 +01 +03 +02 +01 +03 +01 +03 +03 +02 +02 +03 +01 +03 +02 +03 +02 +02 +02 +02 +02 +03 +02 +02 +02 +02 +03 +01 +02 +02 +03 +03 +02 +03 +01 +03 +01 +03 +01 +02 +02 +04 +03 +04 +03 +03 +04 +02 +04 +03 +05 +04 +02 +03 +04 +02 +04 +02 +02 +02 +02 +03 +03 +01 +03 +02 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +02 +02 +03 +01 +03 +01 +03 +01 +03 +02 +02 +01 +01 +01 +01 +01 +00 +FF +01 +FF +01 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +01 +FF +00 +00 +00 +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +FE +FD +FB +FB +FA +FA +FA +F8 +F9 +F8 +F7 +F7 +F6 +F6 +F6 +F4 +F6 +F5 +F3 +F4 +F2 +F3 +F3 +F3 +F1 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F2 +F1 +F2 +F2 +F2 +F2 +F4 +F2 +F3 +F4 +F2 +F4 +F3 +F3 +F3 +F3 +F5 +F4 +F4 +F4 +F4 +F5 +F4 +F4 +F5 +F4 +F6 +F5 +F5 +F5 +F4 +F6 +F6 +F6 +F6 +F6 +F5 +F6 +F5 +F6 +F6 +F5 +F6 +F5 +F6 +F5 +F7 +F5 +F7 +F7 +F8 +F6 +F8 +F6 +F8 +F6 +F8 +F7 +F8 +F9 +F7 +F8 +F7 +F9 +F9 +F9 +FA +FA +FB +FB +FB +FD +FB +FD +FD +FD +FD +FE +FF +FD +FE +FF +FF +FF +FF +FF +00 +FE +00 +FF +00 +FF +00 +00 +01 +FF +01 +FF +00 +00 +00 +00 +00 +00 +00 +02 +00 +02 +00 +01 +01 +01 +02 +01 +02 +01 +01 +01 +01 +01 +00 +02 +03 +01 +03 +01 +02 +03 +02 +03 +02 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +03 +03 +03 +02 +03 +03 +02 +03 +02 +03 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +03 +03 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +02 +03 +03 +02 +03 +01 +03 +01 +02 +02 +02 +02 +02 +02 +02 +02 +01 +02 +00 +02 +00 +02 +02 +00 +02 +01 +02 +02 +02 +01 +02 +02 +01 +02 +01 +01 +01 +02 +01 +01 +FF +01 +FF +01 +00 +00 +01 +FF +00 +FF +00 +01 +00 +00 +00 +00 +00 +00 +00 +00 +FF +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +FF +00 +00 +FF +00 +FF +FF +00 +FF +00 +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FE +FF +FC +FC +FB +F9 +FA +F9 +F9 +F8 +F8 +F9 +F8 +F7 +F7 +F6 +F6 +F5 +F6 +F4 +F3 +F5 +F3 +F3 +F4 +F2 +F4 +F3 +F1 +F3 +F1 +F2 +F0 +F2 +F0 +F1 +F0 +F2 +F1 +F1 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F0 +F1 +F1 +F0 +F1 +F0 +F1 +F0 +F2 +F0 +F2 +F2 +F2 +F2 +F2 +F2 +F3 +F2 +F1 +F3 +F3 +F3 +F3 +F3 +F2 +F3 +F3 +F3 +F3 +F5 +F4 +F2 +F4 +F2 +F3 +F3 +F3 +F3 +F4 +F4 +F5 +F6 +F4 +F6 +F5 +F7 +F6 +F7 +F6 +F6 +F6 +F6 +F6 +F7 +F5 +F5 +F5 +F5 +F5 +F6 +F5 +F5 +F5 +F5 +F6 +F7 +F6 +F6 +F7 +F6 +F8 +F8 +F8 +F8 +F8 +F8 +F9 +F8 +FA +F8 +F9 +F9 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F9 +F9 +FA +FB +F9 +FB +F9 +FB +FB +FB +FB +FB +FC +FC +FD +FD +FF +FD +FE +00 +FE +00 +FF +00 +FF +01 +FF +01 +01 +02 +00 +02 +02 +02 +02 +03 +01 +02 +02 +04 +03 +03 +04 +03 +03 +03 +04 +04 +05 +04 +04 +04 +04 +04 +04 +04 +04 +04 +03 +05 +05 +05 +06 +05 +05 +05 +05 +05 +05 +05 +06 +06 +05 +06 +06 +07 +05 +07 +05 +07 +06 +06 +06 +06 +04 +06 +05 +06 +06 +06 +06 +06 +06 +06 +07 +06 +07 +06 +07 +06 +07 +06 +07 +06 +07 +07 +06 +07 +06 +07 +06 +07 +06 +07 +05 +04 +02 +02 +01 +01 +01 +FF +01 +00 +00 +FF +FF +FE +FE +FD +FD +FD +FD +FB +FD +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FC +FA +FB +FC +FA +FC +FA +FB +FA +FB +FB +FB +FB +FB +FA +FC +FC +FC +FC +FC +FC +FC +FD +FC +FA +FC +FA +FB +FA +FB +FB +FA +FB +FB +FB +FB +FB +FB +FB +FD +FB +FC +FB +FB +FC +FC +FC +FA +FC +FC +FE +FD +FF +FF +FF +FF +FF +00 +FF +00 +FF +01 +00 +00 +02 +01 +01 +01 +01 +01 +03 +01 +03 +02 +02 +03 +03 +03 +03 +04 +02 +04 +04 +05 +04 +04 +04 +04 +04 +05 +04 +04 +05 +06 +04 +06 +04 +05 +05 +05 +06 +06 +05 +05 +06 +05 +05 +05 +05 +05 +05 +05 +07 +05 +07 +07 +05 +07 +05 +05 +04 +06 +05 +05 +05 +05 +06 +04 +06 +04 +05 +04 +05 +05 +04 +05 +04 +05 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +05 +05 +05 +05 +05 +04 +05 +04 +05 +05 +04 +05 +05 +04 +05 +05 +06 +04 +06 +04 +06 +05 +05 +06 +04 +03 +02 +01 +01 +00 +FF +00 +FF +FF +FF +FD +FE +FD +FD +FB +FC +FA +FC +FA +FC +FD +FD +FF +FE +FD +FF +FD +FF +FE +00 +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +01 +00 +FF +01 +00 +00 +01 +02 +00 +02 +02 +01 +01 +01 +01 +01 +00 +02 +03 +01 +03 +01 +02 +02 +02 +02 +02 +03 +02 +03 +02 +03 +02 +02 +02 +03 +01 +03 +01 +03 +01 +03 +03 +01 +01 +01 +01 +02 +00 +02 +00 +01 +02 +02 +02 +02 +02 +03 +01 +03 +02 +02 +00 +01 +01 +02 +01 +02 +02 +02 +03 +01 +03 +01 +02 +02 +02 +03 +02 +02 +02 +02 +03 +01 +02 +02 +03 +01 +03 +02 +02 +03 +01 +03 +02 +03 +02 +03 +02 +02 +03 +01 +02 +03 +01 +03 +01 +03 +03 +03 +02 +02 +02 +00 +01 +01 +01 +01 +01 +00 +02 +00 +02 +01 +01 +01 +03 +01 +01 +01 +01 +01 +01 +00 +02 +02 +02 +03 +01 +02 +03 +01 +03 +02 +02 +02 +02 +01 +03 +01 +02 +02 +02 +01 +03 +01 +03 +02 +00 +02 +00 +02 +01 +01 +02 +00 +02 +00 +00 +FF +FF +FD +FD +FC +FC +FB +FB +FB +F9 +F9 +F8 +FA +F8 +F8 +F7 +F7 +F7 +F5 +F7 +F5 +F5 +F5 +F6 +F5 +F3 +F5 +F3 +F3 +F3 +F3 +F3 +F1 +F3 +F1 +F2 +F1 +F2 +F1 +F2 +F2 +F1 +F2 +F3 +F1 +F3 +F3 +F4 +F3 +F3 +F3 +F4 +F2 +F3 +F2 +F3 +F4 +F2 +F4 +F4 +F5 +F3 +F5 +F3 +F4 +F4 +F3 +F4 +F3 +F4 +F4 +F4 +F4 +F4 +F3 +F4 +F4 +F4 +F4 +F4 +F3 +F5 +F6 +F4 +F5 +F5 +F7 +F5 +F6 +F7 +F6 +F6 +F8 +F7 +F7 +F6 +F7 +F7 +F7 +F7 +F9 +F7 +F9 +F7 +F8 +F9 +F8 +F9 +F7 +F9 +F7 +F7 +F7 +F9 +F7 +F9 +F7 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F9 +F7 +F9 +F7 +F7 +F9 +F9 +FB +FA +FC +FC +FC +FC +FD +FD +FE +FE +FF +FF +FE +00 +FF +00 +00 +FF +01 +00 +00 +02 +00 +02 +02 +02 +02 +02 +03 +03 +03 +04 +05 +05 +04 +05 +05 +04 +04 +04 +03 +05 +05 +05 +05 +05 +05 +06 +05 +06 +05 +04 +05 +05 +04 +05 +04 +05 +05 +04 +06 +04 +06 +04 +06 +06 +04 +06 +04 +06 +07 +05 +06 +05 +06 +06 +06 +06 +05 +06 +04 +06 +05 +05 +02 +02 +01 +01 +00 +FF +00 +FF +FF +FE +FE +FD +FD +FD +FC +FD +FC +FA +FC +FA +FA +F9 +FB +FA +FA +FA +FA +F9 +FA +FA +FA +FA +FA +F9 +FB +FB +FC +FD +FD +FD +FF +FE +FE +FF +FF +FF +FF +FF +00 +00 +FF +00 +00 +01 +00 +00 +00 +00 +02 +01 +01 +02 +00 +02 +02 +03 +01 +03 +01 +02 +03 +02 +03 +03 +04 +02 +04 +02 +04 +02 +04 +03 +04 +05 +05 +03 +05 +03 +05 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +05 +05 +05 +05 +05 +04 +05 +05 +04 +05 +04 +05 +04 +05 +05 +05 +04 +05 +04 +04 +04 +04 +05 +03 +05 +03 +05 +05 +05 +05 +05 +05 +05 +05 +04 +06 +04 +06 +04 +06 +04 +06 +05 +03 +04 +04 +04 +04 +03 +05 +04 +05 +04 +04 +05 +03 +05 +05 +03 +05 +04 +03 +04 +04 +04 +03 +03 +03 +03 +02 +04 +02 +02 +01 +FF +00 +FE +FF +FD +FE +FC +FD +FC +FB +FB +FB +FB +FA +FA +FA +F8 +FA +F8 +F8 +F8 +F8 +F8 +F8 +F9 +F7 +F9 +F9 +F9 +F9 +F9 +F9 +F8 +FA +F8 +FA +F9 +F8 +F9 +F8 +F9 +F9 +F8 +F9 +F8 +FA +F9 +F9 +F9 +F8 +FA +FA +FA +F9 +F9 +F9 +FA +FB +FA +FC +FC +FC +FD +FC +FE +FD +FF +FE +FD +FF +00 +FE +00 +FE +00 +FF +00 +FF +00 +00 +01 +00 +00 +00 +01 +00 +00 +01 +01 +01 +01 +02 +00 +02 +03 +02 +02 +02 +03 +01 +03 +01 +03 +04 +04 +03 +02 +02 +03 +02 +01 +03 +01 +03 +01 +03 +02 +03 +03 +01 +03 +03 +01 +03 +01 +02 +03 +01 +03 +01 +03 +03 +04 +02 +04 +03 +03 +04 +02 +04 +02 +03 +03 +05 +03 +05 +03 +03 +03 +04 +02 +04 +03 +04 +03 +04 +03 +03 +03 +04 +03 +03 +03 +03 +03 +03 +02 +03 +02 +03 +02 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +02 +04 +03 +03 +03 +01 +02 +02 +02 +01 +03 +02 +01 +01 +01 +02 +01 +02 +02 +01 +02 +00 +02 +02 +02 +01 +01 +02 +00 +01 +FF +FF +FE +FE +FC +FD +FB +FC +FA +FB +FA +F9 +F9 +F9 +F9 +F7 +F8 +F7 +F7 +F7 +F5 +F6 +F6 +F6 +F6 +F6 +F5 +F6 +F5 +F6 +F6 +F6 +F7 +F7 +F8 +F7 +F7 +F7 +F6 +F8 +F7 +F5 +F6 +F7 +F5 +F7 +F5 +F7 +F5 +F7 +F6 +F8 +F6 +F7 +F7 +F9 +F8 +F7 +F9 +F7 +F9 +F8 +FA +F9 +FB +FB +FB +FB +FD +FD +FB +FD +FC +FE +FC +FD +FE +FE +FE +FE +FE +FF +FF +FF +FF +FF +00 +00 +FF +00 +FF +00 +01 +00 +00 +00 +FF +01 +FF +01 +00 +00 +02 +02 +00 +02 +01 +01 +01 +01 +01 +02 +02 +03 +01 +03 +02 +02 +03 +01 +02 +02 +04 +02 +04 +02 +03 +04 +03 +03 +03 +04 +03 +03 +03 +03 +03 +03 +03 +02 +03 +02 +00 +00 +FF +FF +FE +FF +FD +FE +FC +FD +FB +FC +FA +FC +FA +FA +FA +FA +F8 +FA +F8 +F8 +F8 +F8 +F6 +F8 +F7 +F7 +F7 +F6 +F8 +F9 +F7 +F9 +F8 +F8 +F8 +F8 +F8 +F7 +F7 +F7 +F8 +F8 +F8 +F7 +F9 +F7 +F9 +F7 +F9 +FA +F8 +FA +F8 +F7 +F8 +F9 +F8 +F7 +F9 +F8 +F9 +FA +FA +F8 +FA +F8 +F9 +F9 +F8 +F9 +F8 +F9 +F9 +F8 +F9 +F9 +F9 +F9 +FA +FA +FB +F9 +FB +F9 +FA +FA +FA +F9 +FA +FA +FA +F9 +FB +F9 +FB +FB +FB +FB +FB +FB +FB +FB +FC +FA +FA +FA +FC +FD +FD +FD +FD +FF +FE +FF +FE +00 +FF +FF +00 +FF +00 +FF +00 +01 +FF +01 +00 +FF +01 +01 +01 +02 +02 +01 +02 +02 +03 +02 +03 +01 +03 +02 +02 +02 +02 +04 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +04 +04 +05 +03 +05 +04 +04 +05 +03 +05 +04 +04 +04 +06 +04 +04 +05 +04 +06 +05 +05 +05 +04 +05 +04 +06 +04 +06 +04 +04 +03 +05 +04 +04 +05 +03 +05 +05 +03 +05 +03 +05 +05 +03 +05 +05 +05 +05 +05 +05 +05 +05 +05 +03 +04 +05 +03 +05 +03 +05 +05 +03 +05 +03 +05 +03 +05 +05 +03 +03 +03 +04 +03 +03 +03 +01 +02 +02 +02 +02 +02 +02 +03 +02 +03 +02 +02 +03 +01 +03 +01 +03 +01 +03 +01 +02 +FF +00 +00 +FF +FE +FE +FC +FD +FC +FC +FB +FB +FA +F9 +FA +FA +FA +F8 +FA +F8 +F9 +F8 +F9 +F8 +F9 +F8 +F9 +F9 +F8 +F9 +F8 +FA +F8 +FA +FA +FB +FA +FA +FA +FA +FA +F9 +FA +F9 +FA +FA +FA +F9 +FA +FA +F9 +FA +F9 +FB +FA +FB +F9 +FA +FA +FC +FB +FB +FB +F9 +FB +FC +FB +FC +FB +FB +FB +FB +FC +FD +FC +FC +FC +FC +FC +FC +FC +FC +FC +FD +FB +FC +FC +FC +FC +FC +FC +FC +FC +FC +FB +FD +FD +FD +FD +FD +FC +FD +FD +FC +FD +FD +FC +FD +FE +FC +FE +FD +FC +FE +FE +FE +FE +FE +FD +FE +FD +FE +FD +FE +FE +FD +FE +FE +FF +FE +FF +FF +FD +FD +FD +FD +FC +FD +FC +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FC +FC +FD +FC +FD +FC +FD +FE +FD +FE +FD +FC +FE +FD +FE +FE +FE +FE +FE +FE +FE +FE +FD +FE +FD +FE +FD +FE +FD +FF +FE +FE +FE +FD +FF +FF +FF +FF +00 +FF +00 +FF +00 +FF +00 +FF +01 +FF +00 +01 +00 +01 +00 +02 +00 +01 +01 +03 +02 +02 +02 +02 +02 +04 +03 +03 +04 +02 +04 +02 +04 +04 +05 +03 +05 +03 +05 +04 +05 +04 +05 +04 +05 +04 +05 +03 +04 +04 +04 +05 +03 +05 +04 +04 +05 +04 +04 +04 +04 +05 +04 +05 +05 +05 +05 +05 +05 +05 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +05 +05 +04 +05 +04 +05 +03 +05 +04 +04 +05 +03 +05 +05 +06 +04 +05 +05 +06 +05 +06 +05 +05 +05 +06 +05 +05 +03 +05 +04 +05 +04 +04 +04 +05 +05 +04 +05 +05 +05 +05 +05 +05 +05 +04 +05 +04 +04 +04 +05 +04 +04 +02 +03 +04 +03 +03 +03 +03 +03 +03 +03 +04 +02 +03 +03 +03 +04 +03 +03 +04 +02 +01 +03 +01 +02 +03 +01 +03 +01 +00 +02 +01 +02 +02 +03 +01 +01 +02 +01 +01 +01 +01 +01 +02 +01 +02 +01 +01 +02 +01 +02 +01 +01 +02 +02 +01 +02 +01 +02 +01 +02 +00 +02 +01 +01 +02 +00 +01 +00 +01 +01 +FF +FF +FE +FE +FD +FC +FC +FC +FB +FB +F9 +FB +F9 +F9 +F9 +F9 +F7 +F8 +F9 +F7 +F9 +FA +F9 +F9 +F9 +F9 +FA +F8 +FA +F8 +FA +F9 +F8 +FA +FA +FA +FB +FC +FB +FB +FC +FC +FC +FB +FC +FE +FC +FE +FC +FE +FF +FE +FE +FF +FD +FF +FD +FF +00 +FF +FF +00 +FE +00 +FF +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +01 +FF +01 +00 +00 +00 +00 +01 +01 +00 +01 +00 +01 +00 +00 +01 +FF +FF +FD +FE +FC +FE +FC +FC +FC +FC +FA +FB +FB +F9 +FA +FB +F9 +FB +F9 +FB +F9 +FA +FA +FA +FA +FB +FB +FC +FD +FC +FC +FC +FC +FE +FD +FD +FE +FD +FE +FC +FD +FC +FE +FD +FD +FD +FD +FD +FF +FD +FE +FE +00 +FF +00 +FF +FE +00 +FE +00 +FE +00 +FE +FF +FF +00 +00 +FF +00 +FF +00 +FF +FF +00 +FF +00 +00 +00 +FF +01 +FF +01 +00 +FF +00 +00 +FF +01 +FF +00 +00 +00 +00 +00 +01 +02 +02 +01 +02 +01 +02 +01 +02 +01 +02 +03 +02 +01 +02 +02 +01 +02 +00 +02 +02 +01 +02 +00 +02 +01 +01 +01 +01 +01 +01 +02 +01 +01 +00 +00 +00 +00 +02 +00 +02 +00 +01 +02 +00 +02 +02 +00 +02 +00 +02 +01 +01 +02 +00 +00 +00 +00 +00 +01 +FF +01 +FF +00 +00 +00 +00 +00 +00 +FE +FE +FE +FC +FC +FC +FC +FA +FB +F9 +FB +FA +FA +FA +F8 +F9 +FA +F8 +F8 +F7 +F9 +F7 +F9 +F7 +F8 +F7 +F8 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F8 +F7 +F9 +F8 +F8 +FA +F9 +F9 +F9 +F9 +F9 +F8 +F9 +F8 +FA +F9 +F9 +F9 +F8 +FA +FB +FB +FB +FB +FB +FB +FB +FD +FC +FC +FD +FE +FC +FE +FD +FC +FE +FC +FE +FC +FE +FE +FE +FE +FE +FE +00 +FE +FF +FF +FF +FF +FF +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +01 +01 +00 +01 +FF +01 +FF +00 +FF +00 +FF +FF +00 +FF +00 +01 +FF +01 +FF +00 +FF +FD +FE +FC +FD +FB +FC +FB +FB +FB +F9 +FB +F9 +FA +FB +FC +FB +FC +FA +FB +FB +FB +FB +FB +FB +FB +FC +FC +FD +FB +FD +FC +FD +FC +FD +FC +FC +FC +FB +FD +FD +FD +FE +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FD +FD +FC +FD +FD +FC +FD +FC +FE +FC +FE +FF +FD +FE +FD +FE +FD +FE +FE +00 +FE +00 +00 +FE +FE +FF +FE +FE +FD +FE +FE +FE +FE +FE +FE +FE +FE +FF +FD +FD +FD +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FE +FC +FD +FC +FD +FD +FD +FC +FD +FB +FC +FC +FC +FC +FC +FB +FD +FB +FD +FB +FC +FB +FC +FB +FA +FC +FA +FC +FA +FB +FA +FB +FA +FB +FA +FB +FA +FB +FB +FA +FC +FA +FC +FC +FB +FC +FC +FD +FD +FE +FE +FE +FE +00 +FF +FF +FF +FE +00 +FF +00 +00 +FF +00 +00 +00 +00 +01 +FF +01 +01 +02 +00 +02 +01 +01 +02 +00 +01 +01 +03 +01 +02 +00 +00 +FF +FF +00 +FF +FE +FD +FD +FD +FD +FC +FC +FC +FC +FC +FC +FC +FC +FB +FC +FC +FB +FC +FB +FC +FB +FC +FB +FD +FB +FD +FB +FC +FC +FE +FC +FE +FC +FC +FD +FC +FD +FC +FC +FD +FC +FD +FC +FD +FD +FC +FD +FD +FC +FD +FC +FD +FC +FD +FD +FC +FD +FD +FD +FD +FE +FC +FE +FD +FC +FE +FE +FE +FE +FE +FE +FE +FF +00 +00 +FF +FF +FF +FF +FE +FF +FE +FF +FE +FF +FF +FF +FF +FF +FE +00 +FE +00 +FE +00 +FF +00 +00 +00 +00 +01 +01 +00 +00 +01 +02 +01 +02 +01 +01 +01 +01 +01 +01 +00 +02 +02 +02 +02 +02 +01 +03 +01 +02 +02 +01 +03 +02 +01 +03 +01 +03 +01 +01 +00 +FF +FF +FE +FF +FD +FF +FD +FE +FE +FE +FE +FF +FD +FD +FE +FD +FD +FD +FD +FC +FD +FC +FE +FC +FD +FD +FF +FD +FD +FD +FD +FD +FC +FE +FD +FE +FF +FF +FE +FF +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FD +FE +FD +FE +FD +FE +FE +FE +FE +FF +FD +FF +FD +FE +FE +00 +FE +00 +FE +FF +00 +FE +FF +FE +FE +FF +FE +00 +FE +FF +FF +FF +FF +FF +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +01 +FF +00 +FF +00 +01 +FF +00 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +FF +FE +00 +FF +00 +FF +00 +FE +FF +FF +FF +FF +FF +00 +FF +FE +00 +FF +00 +FF +01 +00 +00 +00 +FF +00 +00 +00 +00 +00 +02 +00 +02 +00 +02 +01 +01 +01 +01 +02 +02 +03 +01 +03 +02 +02 +02 +02 +03 +02 +02 +02 +03 +03 +04 +02 +04 +02 +04 +02 +03 +03 +03 +02 +03 +02 +03 +02 +03 +03 +03 +03 +02 +04 +03 +03 +03 +01 +FF +FF +00 +FF +FF +FF +FF +FD +FF +FE +FC +FD +FB +FC +FD +FC +FC +FC +FC +FD +FB +FD +FD +FE +FF +FD +FF +FF +FF +FF +FF +FE +00 +00 +00 +FF +00 +00 +01 +00 +00 +00 +FF +01 +00 +00 +02 +01 +01 +01 +01 +01 +02 +00 +02 +00 +00 +FF +00 +FE +FF +FE +FD +FD +FD +FB +FC +FC +FD +FB +FB +FC +FA +FC +FA +FB +FC +FB +FC +FD +FB +FC +FC +FC +FC +FD +FD +FE +FD +FD +FD +FD +FD +FC +FD +FC +FE +FC +FE +FF +FE +FE +FF +FD +FE +FE +FD +FE +FD +FE +FD +FE +FD +FE +FE +FF +FE +FE +00 +FF +FF +00 +FE +00 +FE +FE +FF +FE +00 +FE +00 +FE +FF +FF +FF +00 +FE +FE +FE +00 +FF +FF +FF +FE +FF +FE +FF +FE +00 +FF +FF +FF +FD +FE +FE +FE +FE +FE +FD +FE +FD +FE +FE +FE +FD +FE +FD +FE +FE +FE +FE +FE +FD +FF +FE +FD +FF +FE +FD +FF +FD +FE +FE +FE +FD +FE +FC +FD +FD +FF +FD +FE +FD +FD +FD +FE +FD +FD +FE +FE +00 +FF +FF +00 +FF +00 +FF +00 +01 +FF +01 +00 +01 +02 +02 +00 +02 +01 +01 +01 +03 +03 +02 +03 +02 +02 +03 +02 +03 +02 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +03 +04 +04 +04 +03 +03 +03 +03 +05 +04 +03 +04 +02 +04 +02 +03 +02 +04 +02 +04 +02 +03 +04 +05 +03 +05 +04 +04 +05 +05 +06 +04 +06 +04 +06 +05 +05 +05 +06 +04 +06 +05 +04 +05 +05 +05 +04 +04 +04 +04 +04 +04 +05 +03 +05 +03 +03 +02 +01 +00 +FF +00 +FF +FF +FD +FE +FE +FC +FD +FD +FC +FD +FB +FD +FB +FC +FB +FC +FC +FC +FC +FB +FC +FB +FC +FC +FC +FD +FB +FD +FC +FC +FD +FD +FD +FB +FD +FC +FD +FB +FC +FB +FC +FC +FC +FC +FC +FD +FB +FC +FC +FE +FC +FE +FC +FD +FD +FC +FD +FC +FD +FD +FD +FD +FD +FD +FF +FE +FD +FE +FE +FE +FC +FE +FD +FD +FE +FF +FD +FF +FD +FE +FE +FE +FD +FE +FD +FE +FE +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FE +FE +FD +FE +FD +FF +FD +FF +FE +FE +FF +FE +FF +00 +FE +00 +FF +00 +00 +00 +FF +00 +FF +00 +00 +00 +01 +00 +00 +00 +00 +00 +00 +02 +00 +02 +01 +01 +02 +01 +01 +01 +01 +02 +03 +03 +02 +03 +01 +03 +02 +02 +02 +02 +02 +02 +04 +03 +02 +04 +02 +04 +04 +02 +04 +04 +04 +03 +04 +04 +04 +04 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +04 +05 +05 +04 +05 +04 +05 +04 +04 +04 +05 +03 +04 +03 +04 +03 +03 +03 +03 +02 +04 +03 +03 +04 +03 +04 +03 +01 +02 +03 +01 +03 +01 +03 +03 +02 +02 +02 +03 +01 +03 +01 +02 +02 +02 +02 +01 +01 +01 +01 +01 +02 +01 +02 +02 +01 +02 +01 +02 +02 +01 +02 +02 +01 +02 +02 +01 +02 +02 +01 +02 +02 +00 +02 +02 +00 +02 +00 +02 +00 +01 +01 +01 +01 +01 +02 +00 +01 +01 +00 +FF +01 +00 +00 +00 +01 +FF +00 +00 +00 +00 +FF +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +01 +FF +01 +FF +01 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +01 +FF +00 +00 +00 +01 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +FE +00 +FE +FF +FE +FF +FE +FF +FF +FE +00 +FE +00 +FF +FD +FE +FF +FF +FF +FF +FF +FE +FF +FE +00 +FE +00 +FE +00 +FF +FF +FE +00 +FF +FF +FF +FE +FF +FF +FE +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FE +FF +FE +FF +FE +FF +FE +FF +FE +FF +FE +FF +FE +00 +FE +00 +FE +00 +FF +FF +FE +FF +FE +00 +FF +FE +FF +FE +00 +FE +FF +FF +FF +FF +FF +FE +FE +FE +FE +FF +FD +FF +FE +FF +FF +FE +FD +FF +FE +FF +FE +FE +FE +FE +FE +FC +FD +FE +FC +FE +FD +FE +FC +FD +FD +FF +FE +FE +FF +FD +FF +FD +FE +FE +FE +FF +FE +FD +FF +FE +FC +FB +FB +F9 +FB +F9 +F9 +FA +F9 +F7 +F9 +F7 +F7 +F6 +F8 +F7 +F7 +F5 +F7 +F5 +F5 +F5 +F5 +F3 +F4 +F4 +F4 +F5 +F4 +F5 +F4 +F6 +F5 +F5 +F5 +F4 +F6 +F4 +F6 +F5 +F7 +F7 +F7 +F9 +F8 +F9 +FA +F9 +FA +F9 +FB +F9 +FB +FA +FC +FC +FB +FC +FD +FD +FB +FC +FA +FC +FC +FC +FD +FB +FD +FD +FE +FC +FE +FC +FE +FD +FC +FD +FD +FC +FD +FD +FD +FD +FF +FF +FD +FF +FD +FF +FD +FE +FE +FF +FE +00 +FE +FE +FE +FE +00 +00 +FF +00 +FF +FF +FF +FE +FF +FE +FF +FF +FE +FF +FE +FF +FE +FF +FE +FF +FF +FE +FF +FE +FF +FF +FE +FF +FE +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +00 +00 +FF +00 +FF +FF +FF +FF +FE +00 +FE +00 +FF +FF +FF +00 +FE +FF +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FE +FE +FD +FC +FC +FB +FC +FB +FA +FB +FA +F9 +F9 +FA +FA +FA +FA +FA +FA +FA +FA +FA +FA +F9 +FB +FB +FB +FB +FB +FB +FA +FB +FA +FB +FB +FA +FB +FB +FB +FB +FD +FC +FC +FD +FC +FD +FB +FC +FB +FC +FB +FC +FB +FC +FC +FB +FD +FB +FD +FB +FC +FD +FE +FD +FD +FD +FC +FE +FF +FD +FF +FD +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FD +FE +FE +FD +FF +FD +FF +00 +00 +FE +00 +FE +00 +FF +FE +FF +FF +FE +FF +FF +FF +FF +FF +FF +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +00 +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +01 +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +01 +00 +01 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +FF +00 +FF +00 +00 +FF +FD +FE +FC +FD +FB +FB +FB +FB +FB +FB +FB +FA +FB +FA +FB +FB +FA +FB +FA +FB +FB +FB +FC +FA +FC +FD +FB +FD +FD +FE +FD +FC +FE +FE +FE +FD +FF +FD +FF +00 +FF +FF +FF +FF +FF +FF +FF +FF +00 +00 +FF +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +FF +01 +FF +00 +00 +FF +00 +00 +FF +00 +FF +FF +00 +FF +FF +FE +FD +FC +FC +FC +FC +FC +FA +FC +FA +FB +FB +FA +FB +FA +FB +FA +FB +FA +FB +FA +FB +FA +FC +FB +FB +FB +FA +FC +FC +FD +FB +FC +FB +FD +FB +FD +FB +FD +FB +FB +FC +FB +FC +FB +FB +FC +FC +FB +FC +FB +FB +FC +FB +FC +FC +FB +FC +FB +FC +FB +FC +FC +FC +FC +FB +FC +FB +FC +FC +FC +FB +FC +FB +FD +FB +FD +FD +FE +FD +FD +FD +FC +FE +FD +FD +FD +FC +FE +FE +FE +FE +FE +FD +FF +FF +FF +FF +FF +00 +FE +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +01 +00 +01 +FF +01 +FF +01 +01 +00 +00 +00 +FF +00 +FF +FF +FF +FF +FF +FF +FF +FE +00 +FE +00 +FE +FE +FD +FE +FD +FE +FD +FF +FD +FD +FD +FD +FB +FD +FB +FC +FC +FC +FC +FC +FE +FE +FD +FE +FC +FE +FD +FE +FE +FD +FD +FF +FE +00 +FE +00 +FE +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +01 +00 +FF +01 +FF +01 +00 +00 +02 +01 +01 +01 +01 +01 +01 +01 +02 +01 +02 +01 +02 +02 +02 +02 +02 +02 +01 +02 +01 +02 +01 +02 +02 +01 +01 +01 +01 +00 +02 +00 +02 +00 +00 +FF +01 +FF +00 +00 +FF +00 +FF +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +01 +00 +00 +01 +FF +01 +FF +FF +FF +FD +FE +FD +FB +FC +FC +FA +FC +FA +FB +FB +FB +F9 +FA +FA +FA +FB +FC +FB +FB +FB +FB +FC +FA +FB +FB +FC +FD +FD +FE +FC +FE +FE +FE +FE +FD +FF +FD +FF +00 +FF +FF +00 +FE +00 +FE +00 +FF +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +01 +01 +FF +01 +FF +01 +FF +01 +00 +00 +FF +00 +FF +01 +01 +FF +01 +FF +01 +00 +01 +00 +00 +00 +00 +01 +00 +00 +00 +FF +01 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +FF +00 +00 +01 +00 +01 +FF +00 +FE +FE +FD +FD +FC +FC +FD +FC +FC +FC +FC +FD +FC +FC +FB +FC +FC +FC +FC +FC +FC +FC +FC +FC +FE +FC +FE +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FC +FD +FD +FD +FE +FC +FE +FD +FF +FE +FD +FE +FD +FD +FD +FD +FC +FD +FD +FC +FD +FD +FC +FD +FC +FD +FD +FC +FD +FC +FD +FD +FC +FD +FD +FD +FD +FD +FF +FF +FD +FF +FE +FE +FE +FE +FE +FF +FD +FE +FE +00 +FE +00 +FF +FE +00 +FE +00 +FF +FF +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +FF +00 +FF +00 +FF +00 +01 +FF +01 +FF +00 +01 +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +01 +FF +00 +00 +00 +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +01 \ No newline at end of file diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/rom/fire.txt b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/fire.txt new file mode 100644 index 00000000..b3b01667 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/fire.txt @@ -0,0 +1,21792 @@ +05 +09 +08 +08 +0A +0A +10 +10 +0B +0A +07 +09 +09 +09 +07 +08 +06 +07 +05 +07 +07 +0A +09 +07 +07 +07 +08 +07 +07 +07 +07 +08 +08 +0A +08 +08 +08 +06 +08 +07 +09 +09 +0A +0A +0A +09 +09 +07 +07 +06 +06 +07 +07 +07 +06 +06 +04 +05 +04 +04 +02 +02 +02 +04 +05 +04 +05 +03 +03 +01 +01 +FF +01 +00 +00 +00 +00 +FF +FF +FF +FD +FE +FC +FB +FA +FB +F9 +FB +FA +F9 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +F9 +FA +F8 +F9 +F8 +F8 +F8 +F7 +F8 +F7 +F8 +F7 +F7 +F8 +F7 +F6 +F7 +F8 +F8 +F8 +FA +F8 +FA +FD +00 +FD +FD +FB +FD +FC +FE +FD +FF +FE +FD +0B +3D +6E +7F +7D +7F +7F +7E +7E +7E +7E +7E +7F +7D +7F +7E +7C +78 +71 +76 +7F +7F +7E +7E +7E +7E +7F +7E +7F +7E +7F +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7F +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7F +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7F +7F +7F +7F +7E +7F +7E +7F +7E +7E +7F +7E +7F +7E +7E +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7F +7F +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7E +7F +7E +7F +7F +7E +7F +7F +7E +7F +7F +7F +7E +7F +7E +7F +7E +7F +7F +7F +7F +7E +7F +7E +7F +7E +7F +7E +7F +7E +7E +7F +7C +73 +6B +62 +5B +55 +4E +4B +46 +43 +3F +38 +32 +2A +22 +1A +14 +0C +06 +00 +F8 +F1 +FB +23 +48 +5D +67 +6E +72 +78 +7C +7D +7F +7D +70 +5A +4C +45 +40 +3C +35 +2F +26 +1E +16 +0C +06 +FF +F9 +F1 +EC +E5 +DD +D8 +D2 +CC +C8 +C1 +BC +B6 +B4 +D7 +0A +2E +43 +4C +50 +55 +58 +5E +62 +67 +6A +6E +71 +73 +77 +78 +7A +7A +6E +59 +49 +41 +3A +37 +2E +26 +1D +13 +0B +04 +FB +F5 +EB +F1 +11 +30 +42 +49 +4D +4E +52 +49 +32 +1F +10 +07 +FF +F8 +F0 +E9 +E1 +D9 +D8 +F4 +1D +36 +3F +44 +46 +48 +4B +4D +50 +51 +55 +55 +59 +5A +50 +3F +2E +22 +15 +0E +03 +00 +12 +2E +3D +45 +47 +49 +4A +4C +4E +4F +50 +4A +37 +25 +16 +0C +02 +FB +F2 +EA +E1 +D9 +D2 +C9 +C3 +BB +B9 +D3 +F3 +08 +17 +1F +27 +2E +35 +39 +3C +3E +40 +41 +41 +44 +37 +20 +0B +FE +F2 +EB +E1 +DA +D0 +CA +C0 +C0 +D8 +F8 +0A +16 +1E +24 +2B +30 +36 +39 +3C +3D +3E +3E +40 +41 +43 +42 +44 +44 +46 +45 +47 +45 +47 +48 +46 +48 +46 +48 +41 +2F +1C +0D +00 +F7 +F1 +E9 +F0 +08 +1A +25 +2A +2E +30 +34 +34 +36 +36 +38 +37 +39 +39 +39 +39 +39 +3B +2F +18 +00 +F2 +E5 +DC +D3 +CA +C0 +B8 +AF +A6 +9E +96 +8E +8D +A0 +BB +CA +D5 +D9 +DF +E3 +E7 +ED +F1 +F7 +FB +FF +02 +06 +0A +0E +11 +15 +17 +1B +1E +1E +05 +E9 +D4 +C4 +BB +B1 +A9 +A0 +98 +90 +88 +80 +80 +80 +80 +80 +81 +80 +81 +80 +82 +90 +9D +A5 +AB +B1 +B7 +BC +C2 +C9 +C7 +AE +93 +84 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +86 +90 +95 +9D +A3 +AA +B1 +B6 +BE +C3 +C7 +CF +C6 +AB +92 +84 +80 +81 +80 +80 +80 +81 +80 +80 +80 +82 +91 +9E +A5 +AB +B1 +B6 +BE +C2 +C9 +CD +D4 +D8 +DE +E2 +E8 +EB +EF +F4 +F7 +FB +00 +01 +05 +08 +0C +0E +11 +15 +10 +F6 +D7 +C5 +B6 +AD +A5 +9C +92 +8A +83 +80 +87 +9D +B3 +BE +C4 +C9 +CD +D1 +D5 +DB +DF +E1 +E7 +E9 +ED +F0 +F5 +F7 +FC +FD +00 +03 +05 +08 +0A +0D +0F +12 +14 +16 +19 +19 +1B +1D +1F +20 +21 +23 +24 +26 +27 +28 +28 +2A +29 +2C +1D +FF +E2 +D0 +C0 +B7 +AB +A2 +97 +8F +84 +80 +81 +80 +80 +81 +80 +8B +9C +A3 +AA +AE +B2 +B6 +BB +C0 +C2 +C8 +CA +CF +D1 +C2 +A3 +8D +81 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +84 +8C +90 +96 +9B +A1 +A7 +AA +B1 +AD +95 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +86 +8E +92 +99 +9F +A3 +AA +A1 +89 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +81 +86 +8F +95 +9B +A2 +A7 +AE +A7 +8D +80 +81 +80 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +88 +8E +95 +9B +A2 +A8 +AE +B4 +B9 +BE +C2 +C8 +CB +D1 +D4 +DA +DC +E2 +E4 +D2 +B6 +9F +94 +88 +82 +80 +80 +81 +80 +81 +80 +80 +8C +9D +A4 +AB +AF +B5 +B9 +BF +C4 +C8 +CE +D0 +D7 +D8 +C4 +A9 +95 +88 +81 +80 +81 +80 +81 +80 +80 +80 +80 +89 +98 +A1 +A7 +AD +B2 +B7 +BC +C1 +C5 +B3 +98 +86 +80 +81 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +83 +8A +92 +99 +A0 +A6 +AC +B4 +AF +97 +82 +80 +81 +80 +80 +81 +80 +83 +92 +A1 +A7 +AF +B3 +B9 +BF +C5 +CA +D0 +D5 +DA +DE +E4 +E7 +ED +F1 +F5 +FA +FC +00 +F4 +D7 +BF +B2 +A7 +9F +98 +90 +8A +82 +80 +80 +81 +80 +80 +80 +81 +93 +A2 +AB +B3 +B7 +BE +C2 +C8 +CD +D3 +D8 +DC +E2 +E5 +EB +EF +F3 +F3 +DE +C5 +B4 +A7 +9C +97 +8E +90 +A8 +BC +C9 +D1 +D4 +DA +DD +E3 +E6 +EC +EE +DE +C0 +AE +A1 +96 +90 +88 +83 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +84 +8C +96 +9D +A3 +AB +B0 +B7 +BC +C4 +C8 +CF +D3 +D9 +DE +E2 +E8 +E3 +CA +B2 +A3 +99 +91 +8D +85 +90 +A8 +BC +C6 +CF +D3 +D9 +DC +E2 +E6 +EB +EF +F5 +F7 +FD +F7 +E0 +C5 +B6 +AA +A2 +9C +95 +9C +B5 +C7 +D5 +DA +DF +E4 +E8 +EC +F0 +F6 +F8 +FD +00 +03 +01 +E7 +CE +BE +B2 +A9 +A3 +9B +95 +8D +88 +82 +80 +80 +80 +80 +81 +80 +80 +80 +80 +88 +98 +9F +A8 +AE +B4 +B9 +C1 +C7 +CD +D1 +D8 +DC +E2 +E6 +EC +F1 +F4 +FA +FC +02 +02 +F1 +D5 +C3 +B7 +AD +A7 +A0 +9A +92 +8D +86 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +84 +8D +95 +9D +A6 +AD +B3 +BB +C1 +C9 +CC +BD +A5 +94 +8B +83 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +88 +96 +A1 +A9 +B2 +B9 +BF +C7 +CE +D3 +DB +E0 +E5 +ED +F2 +F6 +FD +00 +06 +0A +0F +14 +0B +F2 +DD +CE +C5 +BE +B8 +B2 +C0 +D8 +EA +F4 +F9 +FF +03 +06 +0B +0F +14 +18 +1D +1F +25 +1E +03 +ED +DE +D2 +CD +C6 +BE +CB +E1 +F3 +FD +04 +06 +0C +0C +F8 +DF +CE +C4 +BB +B6 +AF +AA +A3 +9F +97 +9F +B7 +CC +D7 +E1 +E5 +EC +F0 +E2 +C8 +B7 +AB +A5 +9F +9B +96 +90 +8C +87 +83 +80 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +83 +8E +9A +A5 +AE +B5 +BD +C5 +CB +D3 +DA +DC +C8 +B1 +A5 +9B +97 +93 +8F +8B +87 +84 +80 +80 +80 +80 +80 +80 +80 +80 +81 +80 +81 +80 +83 +8A +97 +A1 +AD +B6 +BD +C7 +CD +D5 +DD +E5 +EB +F3 +F8 +FF +04 +0A +10 +15 +1A +1F +24 +25 +11 +F8 +E9 +DF +D7 +D2 +CC +C6 +C0 +BB +B5 +B0 +AB +A5 +A2 +AD +C8 +DA +E7 +EE +F5 +FA +00 +05 +0C +10 +16 +1A +20 +26 +2B +31 +33 +39 +31 +19 +02 +F6 +EB +E4 +DE +D8 +D2 +CD +C6 +C0 +BC +B5 +B1 +AB +A7 +A3 +9E +9A +96 +93 +8F +8D +89 +87 +85 +85 +84 +86 +87 +85 +87 +86 +86 +91 +A1 +B0 +BB +C5 +CC +D6 +DD +E4 +EC +F2 +FB +00 +06 +0D +13 +19 +1E +25 +1B +03 +EF +E3 +DD +D7 +D2 +CE +C7 +C3 +BE +BC +D0 +E8 +F9 +01 +09 +0E +14 +11 +FC +E6 +DB +D1 +CC +C9 +C4 +C0 +BB +B7 +B3 +C4 +DC +EF +FA +02 +06 +0E +0D +FB +E4 +D8 +CE +CB +C6 +C2 +BD +BA +B5 +B1 +BC +D7 +EA +F6 +00 +03 +0B +0D +00 +E8 +DA +D0 +CC +C6 +C3 +BF +BC +B7 +B5 +B1 +AE +A9 +A7 +A3 +A1 +9E +9B +AA +C4 +D8 +E5 +EF +F6 +FE +00 +F1 +DC +CF +C5 +C2 +BD +BB +B7 +B5 +B3 +B2 +AC +A9 +A5 +A3 +AF +C8 +DE +EA +F5 +FD +02 +0A +12 +17 +20 +20 +0F +FA +EC +E2 +DE +DA +D6 +D2 +CC +C9 +C5 +C1 +BE +BA +B7 +B3 +B1 +AD +AC +A8 +A7 +A3 +A5 +B7 +D2 +E3 +F0 +F9 +00 +06 +0F +15 +1D +24 +1F +08 +F7 +EB +E5 +E2 +DC +DB +E8 +03 +14 +1F +28 +2C +34 +33 +21 +0C +FF +F6 +F0 +ED +E8 +E5 +DF +DB +D7 +D3 +CF +CA +C9 +D6 +F1 +02 +0F +18 +1E +26 +2C +32 +39 +3F +3F +2A +15 +07 +00 +FA +F7 +F1 +ED +E8 +E5 +E0 +ED +04 +16 +24 +2B +32 +38 +3F +44 +4B +4F +54 +5B +5F +65 +69 +6D +72 +76 +70 +57 +41 +33 +2A +23 +1F +18 +12 +0D +06 +04 +13 +2A +3B +45 +4B +50 +54 +59 +5D +63 +67 +63 +4C +36 +28 +20 +18 +14 +0C +08 +01 +FD +F9 +F3 +EF +EA +E6 +E2 +DE +D9 +D7 +D1 +CE +CB +C7 +C5 +C1 +BD +BC +B8 +B6 +B3 +B1 +AE +AC +AA +BA +D3 +E8 +F6 +FF +06 +0F +17 +1D +25 +2B +33 +38 +40 +44 +3C +25 +13 +09 +00 +FE +F8 +F8 +06 +1F +2E +39 +3F +45 +4B +48 +34 +1F +11 +09 +03 +00 +FB +04 +1A +2F +3A +42 +48 +4D +51 +58 +5C +63 +63 +51 +39 +2B +1F +19 +15 +0E +0A +04 +00 +FA +F6 +F1 +EE +E8 +F3 +0A +1E +29 +32 +38 +3E +43 +49 +4D +55 +55 +43 +2C +1E +15 +0E +09 +04 +00 +FA +F7 +F1 +ED +E8 +E5 +E1 +DD +DA +D5 +D3 +E4 +FC +0E +19 +21 +26 +2E +34 +3B +42 +47 +4D +52 +58 +5C +62 +67 +6A +70 +73 +79 +7D +7F +7F +7F +7E +7F +7E +7F +7E +7F +7D +7F +7D +7F +7C +6E +5D +52 +49 +42 +3A +34 +2C +26 +20 +2B +40 +51 +59 +60 +62 +67 +67 +53 +3D +2D +22 +1C +16 +0F +14 +27 +3C +46 +4F +53 +58 +5B +60 +63 +69 +6A +5C +43 +33 +27 +1F +1A +14 +13 +25 +3A +46 +4F +53 +58 +5C +5F +64 +68 +6B +6F +72 +76 +78 +7C +7D +7F +7E +7F +7E +7E +7F +7E +7F +7D +7F +77 +62 +4F +46 +3D +35 +2E +32 +47 +57 +60 +64 +68 +6A +6E +71 +73 +75 +75 +62 +4B +39 +2E +25 +1E +16 +10 +09 +03 +FE +F8 +F1 +ED +E7 +ED +04 +14 +1F +27 +2C +30 +35 +39 +3E +43 +43 +32 +1A +0C +01 +FC +F6 +F1 +F3 +07 +19 +26 +2E +32 +37 +3A +3F +42 +47 +4A +4F +52 +56 +59 +5C +5F +64 +5F +4C +33 +25 +1A +13 +0C +06 +00 +FA +F3 +EE +E8 +E3 +DE +D9 +D3 +CF +CA +C7 +C1 +BF +BA +BC +CD +E4 +F1 +FC +02 +07 +0D +13 +17 +1D +24 +1B +06 +F5 +EA +E3 +E0 +DB +D6 +D1 +CE +C9 +C7 +D9 +EF +FF +07 +0D +13 +17 +1D +22 +28 +2D +33 +35 +3B +3F +44 +46 +4C +4D +41 +29 +19 +0C +05 +FF +FC +F6 +F1 +EB +E7 +E1 +DD +D7 +D4 +CF +CC +C8 +C4 +C0 +BE +B9 +B5 +B3 +B0 +AC +AC +BA +D1 +E4 +EE +F7 +FB +05 +0E +12 +17 +1C +22 +27 +2D +31 +36 +3A +40 +43 +48 +4C +51 +52 +45 +2D +1D +12 +09 +05 +FF +FB +F4 +F0 +EB +E5 +E1 +DB +D6 +DD +F1 +04 +10 +18 +1D +23 +27 +2D +30 +36 +3B +3E +44 +47 +4B +4F +53 +58 +55 +42 +2B +1D +14 +0D +08 +01 +07 +1C +2C +37 +3C +40 +44 +48 +4D +4F +54 +54 +44 +2D +1C +13 +0B +07 +FF +FB +F5 +F0 +EB +E5 +E1 +DB +D7 +D3 +CF +CB +C7 +D4 +EA +FA +05 +0D +11 +17 +1C +20 +26 +2C +2B +19 +04 +F9 +F0 +EA +E7 +E1 +E9 +FE +0E +1B +21 +26 +2A +30 +33 +39 +3E +41 +46 +49 +4E +51 +55 +57 +5C +57 +43 +2D +20 +17 +10 +0B +03 +00 +F9 +F3 +EF +E9 +E5 +E0 +DA +D6 +D3 +CD +CF +E0 +F5 +02 +0C +10 +16 +1B +18 +03 +F3 +E8 +E1 +DE +D8 +D4 +D0 +CE +C8 +C6 +C3 +BF +BC +BB +CD +E3 +F2 +FC +04 +09 +0E +0D +FB +EA +DF +D8 +D4 +D2 +CE +CA +C8 +C3 +C1 +BD +BB +B7 +B5 +B1 +B0 +AD +AB +A8 +A8 +A5 +A1 +A0 +9E +9E +9B +9A +99 +97 +A1 +BA +CD +D9 +E5 +EB +F4 +F8 +EE +DC +CE +C8 +C4 +C2 +BF +BE +BA +B9 +B6 +B3 +B2 +AF +AF +AC +AA +AA +A6 +B3 +CB +DE +EB +F4 +FB +02 +08 +0F +16 +1D +1F +11 +FE +F3 +EC +E7 +E6 +E2 +E7 +FD +0E +1C +25 +29 +30 +35 +3B +40 +46 +4B +4F +55 +59 +5E +62 +66 +6A +69 +56 +40 +34 +2B +24 +20 +19 +21 +36 +45 +50 +57 +59 +5F +63 +66 +6A +6D +72 +75 +77 +7B +7D +7F +7E +7E +7F +7E +7F +7F +7E +7E +7F +7D +7F +74 +62 +55 +4D +45 +3F +38 +32 +2B +25 +22 +31 +44 +4F +57 +5B +5E +61 +5C +47 +35 +28 +20 +1A +15 +0F +0B +04 +00 +FB +F6 +F3 +ED +EC +FA +0F +1D +26 +2C +31 +35 +3A +3E +43 +47 +4D +50 +55 +58 +5D +61 +63 +67 +6A +6E +71 +73 +62 +4C +3C +32 +2A +25 +1D +1E +2D +40 +4A +51 +54 +58 +5A +5E +61 +65 +67 +6B +6D +70 +72 +76 +76 +7A +79 +67 +51 +41 +38 +30 +27 +22 +1B +13 +0F +09 +03 +FF +F8 +F4 +FB +0F +1D +27 +2D +31 +35 +39 +3D +40 +44 +48 +4D +50 +52 +56 +58 +5D +60 +62 +66 +67 +6B +61 +4B +38 +2C +23 +1D +16 +12 +0A +06 +FF +FD +0B +1C +29 +30 +36 +39 +3B +40 +42 +47 +4A +4C +50 +53 +55 +59 +5A +5E +5F +53 +3B +2B +1F +18 +13 +0B +06 +00 +FC +F6 +F1 +EB +E8 +E1 +E6 +F8 +0A +13 +1B +1F +23 +27 +1C +09 +FA +F0 +EB +E6 +E0 +DE +D8 +D5 +CF +D1 +E0 +F5 +01 +09 +0E +12 +18 +1B +21 +25 +2A +2E +33 +36 +3A +3C +41 +43 +47 +49 +4D +4F +50 +3E +29 +1B +10 +0A +04 +00 +04 +15 +26 +2E +35 +37 +3C +3E +42 +44 +48 +4A +4E +50 +54 +56 +59 +5B +5E +61 +62 +66 +66 +6A +6A +6E +72 +6B +52 +3E +2F +28 +20 +1A +12 +0D +06 +00 +FA +F6 +EF +EB +E5 +DF +DB +D5 +D1 +CC +C9 +C4 +C1 +BD +BB +B6 +BF +D3 +E4 +EE +F5 +FB +FF +04 +09 +0E +14 +17 +1D +1F +25 +23 +13 +FF +F5 +EC +E8 +E2 +DE +E3 +F7 +05 +10 +16 +1A +1E +22 +25 +29 +2E +30 +34 +37 +3B +3D +41 +43 +47 +49 +4D +50 +51 +55 +55 +59 +5B +52 +3A +29 +1C +15 +0E +08 +03 +FC +F8 +F1 +F0 +FD +0F +19 +22 +24 +27 +2C +2E +32 +35 +39 +3C +40 +41 +45 +47 +4A +4B +4E +50 +52 +54 +57 +59 +5B +5B +5F +60 +62 +64 +5A +44 +32 +24 +1B +15 +0D +08 +01 +FC +F5 +F0 +EA +E5 +E0 +DA +D6 +D0 +CC +C7 +C4 +BF +BD +B9 +B4 +B2 +AD +B6 +C9 +DB +E4 +EC +F1 +F5 +FB +FF +03 +08 +0A +FB +EA +DD +D6 +D1 +CD +C9 +CC +DF +EF +FA +01 +05 +09 +0E +12 +17 +1A +1E +23 +25 +2B +2A +1D +09 +FD +F3 +EF +EA +E6 +E1 +DD +D8 +D4 +CF +CA +C8 +C2 +CA +DD +EC +F8 +FD +02 +07 +09 +0F +12 +18 +1A +0A +F9 +EC +E4 +DE +DB +D7 +D3 +CF +CB +C7 +CC +E0 +EF +FA +00 +04 +08 +0D +11 +16 +1A +1C +0D +FC +F0 +E8 +E2 +DD +D9 +DB +ED +FE +08 +0D +12 +17 +19 +1F +21 +27 +28 +1F +0B +FD +F5 +EE +EB +E6 +E1 +DD +D8 +D4 +D0 +CC +C9 +C6 +C0 +BE +BA +B8 +B5 +B2 +B0 +AE +AB +A8 +A6 +A5 +B2 +C6 +D5 +E0 +E7 +EB +F2 +F7 +FC +01 +06 +0C +10 +16 +19 +1F +23 +26 +2C +23 +10 +01 +F8 +F2 +EE +EA +E7 +F4 +05 +12 +19 +20 +22 +28 +26 +16 +04 +FA +F2 +ED +EA +E4 +EC +FE +0B +16 +1B +21 +23 +27 +2B +2F +33 +35 +26 +14 +07 +FE +FA +F4 +F1 +EC +E7 +E3 +DF +DB +D8 +D4 +D1 +CD +CA +C7 +C3 +C1 +BD +BB +B8 +B6 +B4 +B1 +B2 +C4 +D6 +E4 +EC +F3 +F9 +FF +FB +EB +DC +D5 +CF +CE +CB +C8 +C6 +C3 +C1 +BE +BC +BA +B6 +B6 +B3 +B2 +AF +B3 +C5 +D8 +E4 +EF +F4 +FB +FF +05 +09 +11 +17 +0F +FF +F0 +E9 +E3 +E1 +DD +DE +EA +FE +0A +12 +18 +1E +21 +27 +2B +30 +35 +38 +3D +40 +43 +49 +4B +50 +52 +49 +35 +25 +1D +16 +10 +0C +07 +04 +00 +FC +F6 +F2 +EE +EC +E6 +E4 +E0 +DC +E2 +F4 +04 +0E +16 +1A +20 +24 +28 +2D +31 +36 +3A +3D +41 +44 +49 +4B +50 +52 +56 +58 +5B +5E +60 +64 +66 +5E +49 +39 +2F +26 +22 +1C +17 +11 +0D +07 +04 +FF +FC +F5 +F8 +05 +17 +21 +29 +2C +31 +34 +39 +3D +3F +44 +46 +4A +4D +50 +54 +56 +5A +5B +5F +61 +64 +64 +68 +6A +6D +6E +70 +71 +73 +75 +75 +78 +78 +6F +5A +48 +3D +34 +2E +29 +22 +1E +16 +12 +0D +06 +03 +FC +FE +0C +1D +26 +2D +30 +33 +37 +3A +3E +40 +44 +47 +49 +4D +4E +41 +2E +21 +1C +14 +0E +08 +03 +FE +FA +F5 +F6 +05 +14 +1F +24 +2A +2D +30 +29 +15 +07 +FE +F9 +F4 +EF +ED +E8 +E3 +E0 +DD +D7 +D4 +D0 +CE +CA +C8 +C5 +C2 +C0 +BD +BA +C1 +D4 +E3 +EF +F5 +FB +00 +05 +0A +0F +13 +19 +1C +21 +25 +28 +2C +31 +33 +37 +3A +3E +41 +43 +46 +49 +4C +43 +2F +21 +15 +10 +0A +06 +00 +FD +F7 +F4 +EE +EB +E7 +E3 +E4 +F5 +03 +0F +15 +1A +1D +22 +25 +2A +2D +32 +34 +37 +3B +3D +41 +43 +47 +4A +4C +4F +51 +53 +56 +58 +5B +5C +5F +60 +62 +62 +66 +67 +68 +6B +6B +6D +6D +70 +71 +71 +71 +60 +4D +3D +34 +2B +26 +1E +1F +2C +3B +42 +48 +48 +4C +4D +50 +52 +53 +53 +57 +57 +5A +59 +4C +37 +2A +1F +17 +13 +0C +06 +02 +FC +F8 +F3 +EE +E8 +E4 +E7 +F9 +05 +0E +13 +18 +1A +1E +20 +25 +27 +2B +2D +31 +33 +36 +38 +3B +3D +3B +2A +17 +0C +03 +00 +F9 +F5 +FA +0B +16 +1F +23 +26 +29 +29 +1D +0B +FF +F7 +F1 +ED +E8 +E4 +DF +DC +D6 +D4 +D1 +CC +C9 +CF +DF +EF +F6 +FE +FF +05 +08 +FE +ED +E1 +D9 +D5 +D1 +CE +CE +DE +ED +F8 +FF +04 +07 +0B +0D +13 +16 +1B +1D +21 +24 +27 +2B +2D +31 +33 +36 +38 +3A +3A +2A +19 +0C +03 +FF +F9 +F5 +F1 +EB +E8 +E3 +DD +DA +D6 +D2 +CF +C9 +C7 +C4 +C1 +BD +BA +B8 +C6 +D8 +E5 +EC +F2 +F5 +FB +FA +EA +DC +D3 +CD +CB +C7 +C5 +C2 +BE +BC +B9 +C4 +D5 +E3 +EB +F2 +F6 +FC +FC +F1 +E0 +D7 +D1 +CD +CB +C8 +C4 +C2 +BF +BD +BB +B8 +B5 +B3 +AF +AE +AD +A9 +A8 +A6 +A5 +A3 +A2 +A0 +9F +9D +9D +9B +9B +99 +97 +97 +95 +9E +B1 +C1 +CD +D5 +DB +E1 +E7 +DF +CF +C6 +C1 +BD +BC +BB +BA +B7 +B5 +B4 +B2 +B1 +AF +AD +AD +AC +AA +A9 +A8 +A6 +A6 +A4 +A4 +A2 +A1 +A1 +A0 +A0 +9E +9F +9E +9D +9D +9C +9C +9C +9C +9C +9B +9A +9C +9A +9B +9B +9A +A6 +BA +CA +D6 +DE +E5 +ED +F1 +EA +DA +D3 +CD +CB +CA +C9 +CC +DD +EF +FA +02 +07 +0E +13 +10 +00 +F5 +EF +EA +E9 +E5 +E6 +F1 +03 +10 +19 +1F +24 +29 +2B +1D +0E +04 +00 +FC +FA +F7 +F5 +F1 +EF +EC +F5 +05 +14 +1D +24 +29 +2D +30 +24 +15 +09 +04 +00 +FF +FB +F9 +F5 +F4 +F0 +EF +EB +E9 +E7 +E5 +E2 +E1 +DE +DD +DC +DA +DA +E7 +FA +06 +0F +16 +1B +20 +21 +13 +06 +FE +FA +F7 +F5 +F3 +F0 +EE +EB +EA +E8 +E4 +E3 +E2 +DF +DF +DD +DD +EC +FE +0A +13 +19 +20 +24 +2A +30 +34 +3A +3F +42 +47 +4B +45 +35 +27 +20 +1A +18 +14 +11 +0C +0A +06 +06 +13 +25 +30 +39 +3D +43 +47 +4A +4F +52 +56 +5A +5F +62 +65 +5C +4B +3D +36 +2F +2B +28 +23 +20 +1B +17 +17 +25 +35 +44 +4B +4E +50 +54 +57 +5B +5D +61 +59 +49 +39 +32 +2A +28 +23 +22 +2C +40 +4A +4F +54 +56 +5B +5E +60 +65 +68 +6A +6D +6F +71 +67 +54 +48 +3F +3A +35 +30 +2C +27 +23 +1E +1B +16 +12 +0E +11 +22 +30 +39 +40 +42 +47 +49 +41 +2F +23 +1B +15 +13 +0E +0C +07 +05 +00 +FF +FB +F8 +F6 +F2 +F0 +EE +EA +E9 +E5 +E4 +E2 +DE +DD +DA +DA +E4 +F7 +02 +0D +13 +18 +1C +22 +26 +2C +30 +34 +39 +3C +42 +3D +2F +21 +17 +12 +0E +0B +07 +04 +01 +FE +FD +06 +18 +23 +2C +31 +35 +38 +3E +41 +46 +48 +4D +50 +52 +56 +5A +5C +60 +63 +64 +68 +6A +6C +70 +71 +74 +75 +75 +78 +79 +79 +7A +7B +7B +7C +7C +7D +7E +77 +69 +5A +4F +49 +43 +3E +38 +32 +2E +28 +26 +2E +3C +47 +4C +50 +51 +55 +51 +44 +33 +2A +22 +1E +19 +15 +19 +28 +35 +3B +40 +42 +46 +47 +4B +4C +51 +50 +44 +34 +28 +21 +1C +17 +13 +14 +20 +2F +36 +3C +3E +41 +44 +45 +49 +4B +4D +4F +52 +55 +55 +4A +38 +2D +24 +20 +1B +16 +12 +0E +0A +04 +08 +15 +23 +2A +30 +33 +35 +39 +3A +3E +41 +43 +45 +49 +49 +4D +4F +52 +53 +56 +57 +57 +5B +57 +46 +37 +2C +25 +20 +1A +16 +10 +0C +07 +03 +00 +FB +F7 +F3 +EF +ED +E7 +E5 +E1 +DE +DB +D9 +D6 +D3 +D0 +D4 +E2 +F1 +FA +00 +04 +08 +0C +11 +13 +19 +1B +20 +22 +27 +27 +1C +0B +02 +FC +F9 +F5 +F1 +F3 +01 +0F +17 +1D +1F +23 +26 +29 +2B +2F +31 +35 +38 +3A +3D +40 +40 +44 +46 +48 +4A +4C +4E +50 +51 +53 +4F +3D +2F +25 +1C +18 +13 +0F +0A +06 +00 +FE +F9 +F5 +F1 +EC +EA +E6 +E3 +DF +DD +D9 +D7 +D4 +D1 +CF +CB +D1 +E0 +EE +F6 +FD +01 +03 +08 +0C +0F +14 +16 +1B +1E +21 +25 +27 +2A +2D +2C +1D +0F +05 +00 +FB +F9 +F4 +F1 +EC +E9 +E5 +E3 +DF +DC +D9 +E4 +F3 +FD +05 +0A +0C +11 +13 +18 +19 +1E +1B +0E +FF +FA +F3 +F1 +EC +EA +EF +00 +0A +12 +16 +1A +1C +20 +23 +25 +2A +29 +1B +0D +04 +FF +FA +F7 +F1 +F7 +03 +10 +17 +1D +1F +23 +26 +1D +0E +01 +FC +F6 +F3 +F0 +EB +E9 +E4 +E2 +DF +DB +D9 +D6 +D3 +CF +CF +CB +D1 +E2 +ED +F6 +FC +FF +04 +05 +FF +EF +E6 +DF +DC +DA +D7 +D5 +D1 +D0 +CC +D0 +DD +EC +F5 +FB +00 +02 +06 +09 +0F +14 +17 +19 +1E +20 +24 +27 +2B +2E +2D +21 +12 +07 +02 +FD +FB +F6 +F9 +05 +13 +19 +1F +21 +25 +27 +2B +2D +31 +33 +35 +38 +3B +3B +3F +3F +43 +41 +35 +24 +19 +12 +0C +09 +04 +00 +FD +F9 +F5 +F1 +ED +EB +E7 +EF +FE +09 +0F +13 +17 +19 +1D +1F +23 +27 +24 +17 +09 +00 +FB +F7 +F4 +EF +ED +E9 +E6 +E3 +DE +DC +DB +DC +E4 +F3 +FD +02 +08 +09 +0E +0E +01 +F5 +EB +E7 +E4 +E0 +DF +DB +D8 +D4 +D2 +CF +CD +CB +C8 +D3 +E1 +EE +F5 +FC +FE +03 +03 +FA +EC +E3 +E0 +DD +DA +D8 +D6 +D4 +D1 +CE +CC +CA +C8 +C8 +CF +DF +EC +F3 +F9 +FD +01 +03 +09 +0B +11 +14 +18 +1B +1F +21 +26 +28 +2C +27 +19 +0C +03 +FF +FB +F9 +F5 +F1 +EF +EA +EA +F2 +01 +0A +11 +14 +18 +1A +1E +20 +25 +27 +2B +2D +30 +31 +35 +37 +39 +3B +3D +3F +42 +42 +39 +29 +1C +15 +0F +0C +06 +04 +FF +FC +F8 +F4 +F0 +ED +EA +E7 +E4 +E1 +DD +E5 +F5 +FE +06 +0A +0E +12 +15 +17 +1B +1E +1F +13 +04 +FC +F5 +F3 +EF +ED +E8 +E6 +E2 +E0 +E7 +F4 +00 +08 +0D +0F +13 +15 +1A +1C +21 +20 +16 +07 +FF +F8 +F5 +F2 +EF +EC +E8 +E4 +E2 +DF +DD +DA +D6 +D5 +D1 +CF +CD +CB +CA +C7 +C7 +D1 +E2 +EB +F2 +F8 +FB +00 +FF +F3 +E7 +E0 +DB +D9 +D7 +D5 +DC +EA +F7 +FF +03 +08 +0A +0E +12 +16 +18 +1D +20 +23 +25 +29 +2B +2F +31 +2F +21 +12 +0B +04 +01 +FE +FA +F7 +F3 +F1 +EE +EB +E8 +E5 +E1 +E0 +DC +DA +D9 +D6 +D3 +D1 +D4 +E3 +F1 +F8 +00 +04 +07 +09 +0F +11 +16 +18 +11 +02 +F9 +F4 +EF +ED +EA +E7 +E5 +E1 +E0 +DC +DA +D8 +D6 +D9 +E8 +F5 +FE +02 +07 +0B +0D +08 +FA +F1 +EB +E7 +E5 +E2 +E1 +ED +FB +04 +0A +0E +12 +15 +19 +1C +20 +23 +20 +11 +06 +00 +FB +F8 +F4 +F1 +ED +EB +E8 +E5 +E2 +E0 +DD +DB +D8 +D5 +D5 +D1 +D0 +CE +CC +CA +C9 +C7 +C6 +C5 +C2 +C2 +C0 +C9 +D8 +E4 +ED +F2 +F8 +FC +FF +F6 +EA +E2 +DE +DB +DA +D7 +D6 +D4 +D3 +D0 +CE +CD +CC +CA +C9 +C8 +C5 +C6 +CE +DF +EA +F3 +F8 +FD +00 +06 +09 +0F +11 +16 +1B +1E +23 +20 +12 +07 +00 +FC +FA +F6 +F5 +F1 +F0 +ED +EA +F5 +03 +0C +14 +18 +1C +1F +23 +26 +2A +2E +31 +34 +37 +3A +35 +27 +1B +13 +0D +0A +08 +05 +02 +FF +FC +F9 +F5 +F3 +F0 +ED +EA +E8 +E5 +E3 +E2 +DF +DD +DC +DA +D8 +D7 +D5 +D4 +D2 +D1 +DB +EA +F6 +FD +03 +07 +0C +11 +14 +19 +1C +20 +25 +28 +2C +29 +1B +10 +08 +04 +00 +FF +FD +F9 +F7 +F4 +F1 +EF +EC +EA +E9 +F4 +01 +0A +12 +15 +1A +1C +21 +24 +28 +2A +2E +30 +34 +38 +33 +23 +18 +10 +0C +08 +06 +02 +00 +FC +FB +F7 +F5 +F3 +EF +F0 +FD +09 +13 +18 +1C +21 +24 +28 +2A +2E +30 +35 +37 +3A +3C +3F +41 +44 +46 +49 +4B +4E +4A +3B +2F +25 +20 +1B +18 +14 +18 +26 +2F +36 +38 +3C +3D +40 +41 +45 +46 +48 +4B +4B +4F +4B +3F +30 +28 +22 +1C +19 +16 +10 +0E +08 +06 +02 +FF +FC +F9 +02 +0F +19 +1E +23 +26 +27 +2B +2C +30 +35 +34 +26 +17 +0F +08 +06 +01 +00 +FB +F9 +F4 +F3 +FA +08 +12 +18 +1B +1E +21 +23 +27 +28 +2D +2B +1E +11 +09 +04 +FF +FE +F9 +FF +0B +15 +1C +20 +24 +27 +27 +1F +10 +06 +01 +FD +FB +F7 +F5 +F1 +EF +EC +EA +E7 +E4 +E1 +E0 +DD +DA +D8 +DE +EE +F8 +00 +04 +08 +0C +10 +12 +17 +1A +1C +21 +23 +27 +24 +18 +0B +04 +FF +FC +F8 +F6 +F3 +EF +ED +EA +F2 +00 +08 +10 +13 +17 +19 +1D +1F +23 +26 +29 +2C +2D +31 +2C +20 +12 +0A +06 +01 +FE +FC +F8 +F4 +F2 +EF +F8 +05 +0D +14 +18 +1B +1E +20 +23 +25 +29 +26 +1A +0D +05 +00 +FD +F9 +F7 +FB +08 +12 +18 +1B +1F +20 +24 +26 +2A +2C +2D +31 +32 +36 +33 +27 +18 +11 +0A +06 +03 +FF +FD +F9 +F5 +F2 +EE +EC +E8 +E7 +EE +FC +04 +0B +0F +11 +15 +14 +0A +FD +F6 +F1 +EE +EA +E8 +E4 +E3 +DF +DD +DB +D8 +D7 +D3 +D2 +CF +CC +CC +C9 +C9 +C6 +C8 +D4 +E2 +EA +F1 +F6 +F9 +FE +FF +05 +07 +0B +0F +11 +16 +17 +12 +04 +FC +F6 +F2 +EE +EC +EA +E7 +E4 +E2 +DF +DD +DA +D9 +D5 +D5 +D1 +CF +D3 +E2 +ED +F6 +FB +FF +03 +06 +0A +0C +12 +15 +18 +1C +1E +22 +24 +28 +2A +2E +2F +31 +35 +30 +24 +16 +0F +0A +06 +03 +FF +FD +F9 +F6 +F3 +FC +09 +10 +17 +1A +1D +20 +22 +25 +27 +2A +2C +2F +2F +33 +35 +37 +39 +3B +3C +3E +3F +41 +38 +29 +1D +16 +10 +0E +08 +05 +01 +FE +FA +F6 +F2 +F0 +EC +EA +E6 +E4 +E0 +DE +DA +D9 +D5 +D4 +D1 +D0 +CE +CD +CB +C9 +C8 +D4 +E2 +EC +F2 +F7 +F9 +FD +00 +04 +06 +0B +0D +11 +13 +17 +10 +04 +FA +F5 +F0 +EE +EA +E9 +E6 +E2 +E1 +DE +DB +DA +D6 +DA +E6 +F1 +FA +FF +02 +06 +09 +0C +10 +12 +15 +0F +01 +FA +F3 +EF +EE +E9 +EB +F4 +01 +09 +0D +11 +13 +17 +18 +1C +1E +22 +24 +27 +29 +2D +2E +31 +33 +35 +35 +36 +3A +38 +2F +20 +16 +10 +0B +07 +03 +02 +FD +FB +F5 +F9 +03 +0F +14 +19 +1B +1E +1F +22 +24 +26 +27 +1E +11 +07 +00 +FE +FA +F7 +F4 +F0 +EE +EA +E8 +E5 +E2 +E0 +E4 +F2 +FC +02 +07 +09 +0D +0F +13 +16 +19 +1A +11 +03 +FC +F7 +F2 +F0 +ED +EE +FB +03 +0C +0F +13 +15 +17 +1A +1C +1F +22 +23 +25 +29 +28 +1F +10 +08 +01 +FE +FC +F7 +F5 +F1 +ED +EB +E7 +E5 +E1 +E0 +DD +DA +D8 +D5 +D3 +D0 +CE +CC +C9 +C8 +C6 +C5 +C3 +C2 +BF +C2 +CD +DB +E3 +EA +EC +F1 +F4 +F2 +E7 +DD +D7 +D5 +D1 +D1 +CF +CD +CC +C9 +C9 +D3 +E1 +E9 +F0 +F4 +F8 +FC +FE +02 +04 +08 +0A +0F +11 +15 +18 +1B +1D +20 +19 +0D +03 +FD +FA +F7 +F4 +F0 +EE +EA +E8 +E4 +E3 +DF +DF +DC +D9 +D8 +D4 +DA +E6 +F3 +FD +01 +03 +05 +08 +00 +F6 +EE +E8 +E5 +E2 +E1 +DD +DC +D9 +D9 +D6 +D2 +D1 +CE +CD +CB +CA +C9 +C7 +C7 +C4 +C4 +CC +DA +E4 +EB +F1 +F3 +F9 +FB +00 +05 +08 +0B +0F +11 +15 +12 +07 +FD +F7 +F2 +F1 +ED +EB +E9 +E7 +E4 +E2 +DE +DE +DB +DB +D7 +D7 +D4 +D6 +E1 +EF +F6 +FE +00 +05 +07 +0C +0E +13 +15 +19 +1C +1E +21 +23 +26 +28 +2B +2E +2E +32 +31 +27 +1A +13 +0C +09 +06 +02 +00 +FD +FB +F8 +F4 +F1 +ED +EC +E9 +E6 +E4 +E3 +DF +DD +DC +D8 +D7 +D5 +D5 +D1 +D0 +CF +CD +CB +CA +C8 +C7 +CB +D9 +E5 +ED +F2 +F6 +F9 +FD +01 +04 +07 +0C +0F +11 +16 +18 +1C +1E +22 +24 +27 +29 +2D +2F +2F +33 +36 +36 +38 +3B +3B +3F +40 +42 +42 +45 +45 +48 +48 +4A +4A +4C +4D +4F +4F +51 +51 +53 +54 +54 +4F +40 +35 +2D +26 +22 +1C +1A +15 +10 +0C +08 +04 +02 +FE +FC +F8 +F4 +F2 +EE +EC +EA +E6 +EA +F5 +FF +06 +09 +0D +0F +13 +14 +18 +1A +1D +1F +22 +23 +26 +28 +2B +2C +2E +2E +32 +34 +34 +37 +37 +39 +3A +3C +3D +3D +38 +29 +1E +17 +12 +0D +0A +07 +01 +00 +FA +FB +02 +0E +13 +18 +1A +1C +1E +1B +0F +03 +FE +F8 +F6 +F2 +F0 +EC +EA +E6 +E5 +E2 +E0 +DD +DD +E5 +F2 +F9 +00 +01 +05 +07 +0B +0E +0F +13 +0E +04 +FA +F3 +F0 +EC +EA +E6 +E4 +E2 +DE +DC +D9 +D8 +D4 +D4 +D0 +D0 +CD +CF +DB +E6 +EF +F4 +F6 +FA +FD +FA +EE +E3 +DF +DB +DB +D8 +D6 +E0 +EB +F4 +FA +FD +00 +01 +05 +07 +0A +0E +0F +13 +14 +18 +13 +07 +FE +F8 +F2 +F0 +EC +EB +E7 +E5 +E1 +E2 +E9 +F6 +FD +03 +05 +08 +0A +0D +0F +13 +16 +12 +07 +FC +F7 +F1 +EF +EC +EA +E6 +E4 +E1 +DF +DD +D9 +D9 +D5 +D4 +D2 +CF +D2 +DB +E8 +F0 +F4 +F8 +FC +FE +FC +F0 +E7 +E2 +DE +DD +DA +D7 +D6 +D3 +D3 +CF +CF +CD +CB +CA +C8 +C7 +C5 +C7 +D4 +DF +E7 +EC +F0 +F4 +F9 +F5 +EA +E1 +DC +D8 +D8 +D5 +D6 +E0 +ED +F3 +FA +FC +00 +01 +05 +07 +0C +0F +0A +FF +F6 +F0 +EE +EA +EA +E7 +E3 +E2 +E0 +DF +DB +DB +D7 +DA +E4 +F1 +F8 +FD +00 +03 +05 +0A +0D +0F +13 +0E +00 +FA +F4 +F2 +EF +ED +EB +E8 +E5 +E3 +E1 +E0 +DC +DC +D9 +D6 +D6 +D3 +D8 +E5 +EE +F7 +FB +FF +01 +05 +08 +0B +0E +11 +14 +16 +1B +19 +11 +05 +FE +FA +F7 +F4 +F2 +F0 +EC +EB +E7 +E5 +E3 +E1 +DE +E6 +F2 +FC +00 +04 +07 +09 +0D +0F +13 +16 +17 +1B +1C +20 +22 +25 +25 +29 +26 +1A +10 +08 +02 +00 +FD +FB +F7 +F6 +F2 +F0 +ED +EA +E8 +E9 +F3 +FE +05 +09 +0D +0F +13 +15 +18 +1A +1D +20 +21 +25 +26 +28 +2A +2C +2E +25 +19 +10 +0B +05 +04 +03 +05 +0D +15 +1B +1E +21 +23 +24 +27 +27 +2B +2C +26 +1A +11 +0B +05 +03 +FF +FD +FA +F6 +F4 +F0 +EE +EA +E9 +E5 +E4 +E1 +DF +E2 +ED +F8 +FD +03 +05 +08 +0A +0E +10 +12 +14 +0C +01 +FA +F4 +F2 +EF +ED +EB +E8 +E6 +E3 +E4 +F0 +FA +01 +05 +07 +0B +0E +0F +13 +14 +17 +10 +04 +FD +F7 +F5 +F2 +EF +ED +EA +E8 +E5 +E3 +E1 +DF +DD +DF +EC +F5 +FD +FF +03 +06 +08 +03 +F8 +F1 +ED +E9 +E7 +E4 +E4 +E0 +DE +DD +DB +D9 +D8 +D4 +D4 +D2 +D0 +CF +CE +CC +CB +C9 +C9 +C7 +C6 +C4 +C4 +C2 +C2 +C2 +CD +DA +E1 +E8 +ED +F0 +F4 +F6 +FC +FF +00 +05 +08 +0A +0E +11 +13 +17 +1A +1B +1F +22 +21 +1A +0F +07 +01 +FF +FB +F8 +F7 +F4 +F1 +EF +F0 +FC +04 +0B +0F +12 +14 +17 +11 +07 +FF +FA +F7 +F5 +F2 +F0 +EC +EB +E7 +E9 +F2 +FE +03 +09 +0B +0F +10 +14 +17 +18 +1C +16 +0C +01 +FD +F9 +F8 +F4 +F3 +EF +EE +EA +EB +F4 +FF +06 +0A +0E +10 +12 +15 +17 +1A +1C +20 +22 +23 +26 +28 +2A +2B +2D +2F +31 +33 +33 +2A +1E +15 +10 +0B +09 +05 +03 +00 +FC +FA +F6 +F5 +F2 +EF +F4 +FE +08 +0C +10 +11 +15 +16 +1A +1C +1E +1E +13 +09 +01 +FC +FA +F7 +F4 +F2 +EF +EC +EB +E7 +E7 +E3 +E3 +E8 +F5 +FC +02 +04 +09 +0B +0E +10 +14 +16 +16 +0C +02 +FB +F8 +F5 +F3 +EF +EE +EC +E9 +E7 +EC +F8 +FF +05 +09 +0B +0E +0E +07 +FD +F5 +F2 +EE +EC +EA +E8 +E4 +E3 +E0 +DF +DC +DC +D8 +D8 +D6 +D4 +D2 +D1 +D0 +CE +CE +D5 +E2 +E9 +F0 +F3 +F7 +FB +FA +F2 +E9 +E3 +DF +DD +DC +D9 +D9 +D6 +D6 +D4 +D2 +D1 +CF +CE +CE +CC +CB +CB +D5 +E1 +EA +F0 +F3 +F7 +FA +FE +01 +03 +07 +0A +0D +10 +13 +15 +18 +1B +1D +17 +0B +03 +FE +FC +F8 +F8 +F4 +F3 +F0 +EC +EB +E9 +E7 +E5 +E3 +E0 +E0 +DE +E3 +ED +F8 +FD +02 +04 +08 +0B +0E +11 +13 +14 +0C +02 +FC +F9 +F5 +F4 +F0 +F2 +FC +06 +0B +0F +13 +13 +17 +19 +1C +1E +20 +19 +0E +06 +00 +FF +FC +F9 +FA +01 +0C +13 +17 +1A +1B +1D +1C +10 +07 +01 +FD +FC +F8 +F6 +F4 +F2 +EE +EE +EA +E8 +E6 +E7 +EE +FA +00 +05 +07 +0C +0D +11 +12 +16 +18 +16 +0B +01 +FD +FA +F7 +F5 +F3 +F1 +EE +EC +EC +F3 +FF +06 +0A +0D +10 +12 +16 +18 +1A +1E +1F +21 +23 +27 +28 +2A +2C +2D +27 +1B +12 +0D +08 +06 +02 +02 +09 +14 +19 +1E +21 +21 +23 +25 +27 +29 +2B +2B +2F +30 +30 +33 +34 +34 +36 +2D +21 +18 +13 +0D +0B +07 +05 +01 +FF +FC +F8 +F6 +F4 +F0 +F3 +FD +04 +0B +0D +11 +14 +15 +0F +03 +FD +F8 +F5 +F2 +EF +EE +EB +E9 +E6 +E5 +E2 +E0 +DE +DC +DA +D9 +DB +D8 +D6 +D4 +D2 +D0 +CF +CD +CC +CA +C9 +C7 +C7 +C5 +C6 +C5 +C5 +CF +DA +E3 +E8 +EA +EF +F2 +F6 +F9 +FD +FF +FD +F3 +EA +E7 +E3 +E2 +E0 +DF +DE +DC +DB +D8 +D8 +D6 +D4 +D5 +E0 +EB +F3 +F7 +FB +FD +01 +03 +07 +09 +0C +0E +12 +14 +17 +11 +06 +00 +FA +F8 +F5 +F3 +F0 +EE +ED +EA +ED +F7 +00 +05 +0A +0C +0E +10 +14 +15 +17 +1B +1C +1E +21 +24 +25 +28 +2A +2A +2D +2E +30 +32 +34 +35 +37 +38 +3A +3A +3C +37 +2A +21 +1A +16 +12 +10 +0C +09 +05 +03 +FF +FE +FA +F8 +F4 +F3 +EF +EF +EB +E9 +E8 +E4 +E3 +E1 +DF +DD +E2 +EC +F7 +FB +FF +02 +03 +07 +08 +0C +0F +11 +14 +14 +18 +17 +0C +03 +FD +F9 +F6 +F4 +F0 +F0 +ED +EA +E7 +EE +F7 +00 +04 +08 +0A +0C +0F +12 +14 +17 +18 +1B +1C +1E +1D +12 +0A +04 +FF +FD +F9 +F8 +F5 +F1 +F1 +ED +EB +E9 +E7 +E5 +E4 +E0 +DF +DD +DB +DA +D8 +D6 +D5 +D3 +D2 +D0 +D0 +CE +CE +D1 +DE +E7 +ED +F2 +F5 +F8 +FB +FE +00 +03 +05 +09 +0B +0F +0D +06 +FC +F7 +F3 +F1 +F0 +EC +EB +E7 +E6 +E4 +E2 +E0 +DF +DD +E4 +EF +F7 +FC +00 +01 +05 +07 +0A +0C +0F +11 +14 +16 +1A +15 +0C +03 +FF +FA +F9 +F5 +F4 +F0 +F0 +ED +EB +E9 +E6 +E4 +E5 +EC +F7 +FE +01 +05 +06 +0A +07 +00 +F6 +F2 +EF +EC +EB +EA +EE +F8 +01 +05 +09 +0C +0E +11 +13 +16 +18 +1A +1C +1F +21 +20 +17 +0C +06 +01 +00 +FD +FB +FE +09 +0F +15 +17 +19 +1C +1B +16 +0A +04 +00 +FD +FB +F7 +F5 +F2 +F1 +EE +EC +E9 +E7 +E5 +E3 +E1 +E0 +DF +E5 +F1 +F8 +FE +FF +03 +04 +08 +0B +0C +10 +0D +04 +FB +F7 +F3 +F1 +EE +ED +E9 +E8 +E7 +E3 +E3 +DF +DF +DC +DB +DA +D8 +D7 +D5 +D5 +D2 +D5 +DF +EA +F0 +F5 +F7 +FB +FD +00 +02 +06 +07 +04 +FA +F4 +EF +EB +EB +E9 +E8 +F1 +FA +01 +06 +08 +0B +0E +0B +03 +FA +F5 +F2 +EE +EE +EC +EC +E8 +E8 +E4 +E2 +E2 +DF +DF +DC +DA +D9 +D7 +D7 +D6 +D4 +D4 +D3 +D1 +D1 +D0 +CD +CD +CC +CC +CC +CA +CB +D0 +DD +E5 +EC +F1 +F3 +F8 +FA +FE +00 +03 +04 +FC +F4 +EE +EC +EA +E9 +E7 +E6 +E5 +E3 +E1 +E0 +DE +DD +DD +E4 +EE +F7 +FC +00 +01 +04 +08 +0A +0D +10 +10 +06 +00 +F9 +F7 +F5 +F3 +F3 +EF +EF +ED +EC +F2 +FE +04 +0A +0E +0F +13 +14 +18 +1B +1D +1E +21 +23 +25 +27 +29 +2C +2C +2E +30 +33 +33 +35 +35 +38 +38 +31 +27 +1E +1A +16 +13 +10 +0D +09 +07 +03 +02 +FF +FD +FB +F7 +F6 +F2 +F1 +F4 +FF +06 +0B +0D +10 +12 +15 +18 +1A +1D +1F +20 +22 +24 +26 +28 +28 +2C +2C +2F +2F +32 +32 +34 +34 +35 +31 +25 +1D +16 +14 +0F +0E +0D +0D +08 +03 +FF +FE +FB +F9 +F9 +01 +09 +0F +13 +14 +18 +1A +1A +1C +1E +1F +19 +10 +07 +03 +00 +FE +FC +F9 +F6 +F4 +F2 +F0 +ED +EB +E9 +E7 +E6 +E4 +E4 +E1 +DF +DF +DC +E3 +EC +F5 +FB +FE +01 +02 +06 +07 +0B +0C +0E +12 +13 +15 +15 +0A +03 +FD +FB +F8 +F6 +F2 +F1 +EF +ED +EB +F1 +FA +02 +06 +0A +0B +0E +0F +12 +13 +16 +17 +19 +1B +1C +1F +21 +21 +24 +1F +16 +0E +07 +04 +01 +00 +FD +F9 +F8 +F4 +F3 +EF +EF +EC +EC +F5 +FE +04 +07 +0B +0D +10 +10 +14 +14 +18 +1A +1B +1D +1F +21 +21 +25 +24 +1E +12 +0C +06 +04 +01 +FF +FF +07 +10 +14 +18 +19 +1B +1B +1F +1F +21 +22 +1D +11 +0B +04 +02 +FF +FD +FA +F8 +F4 +F2 +EF +ED +EB +E9 +E5 +E5 +E2 +E0 +E4 +ED +F6 +FB +FF +FF +03 +04 +00 +F5 +F0 +EC +E8 +E8 +E4 +E3 +E0 +E0 +DC +DC +D9 +D9 +D7 +D6 +D4 +D3 +D1 +D7 +E0 +E9 +EF +F1 +F5 +F8 +F9 +F4 +EB +E5 +E2 +DF +DF +DC +DE +E7 +F0 +F7 +FA +FE +FF +01 +03 +06 +08 +0B +07 +FD +F7 +F3 +EF +ED +EB +E9 +E9 +E5 +E4 +E2 +E1 +DF +DD +DF +E8 +F0 +F7 +FB +FE +00 +02 +05 +06 +0A +0B +07 +FD +F7 +F3 +F0 +EE +EC +EB +E7 +E7 +E5 +E3 +E1 +E0 +DF +DD +DC +DB +D8 +DD +E6 +EF +F4 +F9 +FC +FF +00 +FC +F3 +ED +E9 +E6 +E5 +E3 +E4 +EB +F6 +FB +00 +01 +05 +06 +0A +0B +0F +0F +13 +15 +18 +19 +1C +1C +20 +1F +19 +0F +09 +05 +01 +00 +FE +FC +F8 +F8 +F5 +F2 +F1 +EE +EC +EB +EA +E6 +E6 +EA +F5 +FC +FF +03 +04 +08 +08 +02 +F9 +F3 +F0 +EE +EC +E9 +E9 +E8 +E4 +E4 +E2 +E1 +DF +DD +DC +DB +D9 +D9 +DE +E9 +F0 +F6 +F8 +FC +FD +00 +01 +05 +06 +0A +0D +0D +11 +12 +15 +17 +19 +19 +1D +1E +20 +22 +24 +25 +26 +1F +16 +0D +0A +05 +04 +00 +01 +07 +11 +15 +19 +1A +1C +1D +1F +21 +22 +22 +1F +14 +0D +06 +04 +00 +FF +00 +03 +0D +11 +15 +18 +19 +1A +19 +10 +07 +01 +FF +FB +F9 +F7 +F5 +F2 +F0 +EE +F4 +FD +02 +07 +09 +0C +0E +0F +07 +00 +F9 +F5 +F4 +F0 +F0 +ED +EA +E9 +E6 +E6 +E3 +E2 +E1 +DD +DD +DA +DA +E0 +E9 +F2 +F6 +FA +FC +FF +FE +F8 +EE +EA +E6 +E5 +E3 +E2 +DF +DF +DC +DC +DA +D9 +D7 +D6 +D5 +D3 +D3 +D2 +DA +E3 +EC +EF +F4 +F7 +FA +F9 +F3 +EB +E6 +E4 +E2 +E2 +E0 +DF +DE +DD +DC +E0 +EB +F2 +F8 +FC +FE +01 +01 +FD +F4 +EF +EA +EA +E9 +E7 +E6 +E4 +E3 +E2 +E0 +DF +DE +DD +DC +DB +D9 +D8 +DE +E8 +EF +F5 +F7 +FB +FD +00 +01 +05 +07 +0B +0D +11 +13 +14 +17 +18 +1A +17 +0D +06 +01 +FF +FC +FB +F9 +00 +07 +0D +12 +15 +15 +19 +19 +1C +1C +21 +24 +26 +24 +26 +27 +28 +2A +2B +25 +1C +14 +0E +0B +08 +06 +03 +01 +FF +FD +F9 +F8 +F7 +F2 +F4 +FC +04 +09 +0B +0F +11 +11 +13 +14 +18 +19 +15 +0C +04 +00 +FE +FB +F9 +F7 +F5 +F2 +F1 +EE +EE +EB +E9 +E9 +E6 +E4 +E2 +E1 +DF +DF +DD +E2 +EB +F3 +F9 +FB +FF +FF +03 +05 +07 +0A +0D +0F +12 +14 +11 +0B +01 +FD +FA +F6 +F5 +F2 +F1 +EE +ED +EB +E9 +E9 +E5 +E5 +E3 +E2 +E0 +DF +DD +DD +DB +DB +DA +D8 +D7 +D8 +E3 +EA +F1 +F5 +F7 +FB +FC +00 +01 +05 +07 +0B +0C +0F +0F +13 +15 +18 +18 +1C +1E +1F +21 +23 +24 +26 +26 +28 +28 +2B +26 +1C +15 +0F +0D +09 +07 +06 +0A +14 +19 +1C +1E +1F +20 +22 +23 +25 +27 +23 +1B +13 +0C +09 +05 +03 +00 +04 +0D +12 +17 +1A +1A +1C +1B +15 +0B +06 +01 +FF +FD +F9 +FB +01 +09 +0E +10 +12 +13 +14 +17 +18 +19 +1B +15 +0C +05 +00 +FD +FD +FA +F8 +F4 +F3 +F1 +F0 +EC +EB +E8 +EB +F2 +FB +00 +01 +04 +06 +08 +03 +FC +F5 +F1 +EE +EE +EB +E9 +E8 +E5 +E4 +E2 +E1 +DF +DD +DD +DA +DA +D8 +D7 +D6 +D4 +D4 +D8 +E2 +EA +EE +F3 +F4 +F8 +FB +FE +00 +01 +03 +05 +08 +0A +08 +00 +FA +F6 +F3 +F2 +EE +EE +F2 +FC +00 +05 +07 +09 +0B +0E +0E +12 +12 +14 +16 +18 +19 +18 +0F +06 +02 +FE +FD +FA +F8 +F6 +F4 +F1 +EF +ED +EB +EA +E8 +E6 +E5 +E4 +E0 +E0 +DE +DD +DE +E7 +F0 +F4 +F9 +FA +FE +FF +01 +04 +06 +08 +0A +0C +0E +11 +13 +15 +17 +17 +10 +07 +01 +FF +FB +FB +F7 +FA +02 +08 +0D +0F +12 +12 +15 +15 +19 +19 +1B +1C +1E +1F +21 +21 +23 +23 +26 +27 +27 +29 +2A +29 +2B +2B +2D +2D +2F +2F +2F +2F +30 +31 +31 +31 +32 +31 +33 +32 +34 +31 +2A +20 +18 +14 +11 +0C +0A +06 +04 +01 +FE +01 +08 +0D +12 +13 +15 +14 +16 +17 +18 +1A +1A +1C +1C +1C +1C +13 +0B +03 +00 +FD +FC +FA +F8 +F4 +F2 +EE +F2 +FA +00 +04 +05 +07 +07 +08 +01 +FA +F4 +F1 +ED +EB +E8 +E7 +E4 +E3 +E0 +DF +DD +DD +DB +DE +E8 +EE +F3 +F5 +F9 +F9 +FB +FC +00 +FF +02 +05 +06 +08 +07 +FF +F8 +F3 +EF +ED +E9 +E9 +E6 +E6 +E2 +E2 +E4 +EE +F4 +F7 +FB +FB +FE +FD +F9 +EF +EB +E7 +E5 +E2 +E2 +E0 +DE +DC +DC +D9 +D7 +D6 +D4 +D4 +D2 +D2 +D0 +D0 +CF +CD +CD +D3 +DD +E2 +E7 +E9 +ED +EF +F2 +F4 +F6 +F9 +FB +FD +00 +01 +03 +05 +08 +08 +0C +0E +0E +10 +11 +13 +15 +14 +0E +05 +00 +FC +FA +F8 +F5 +F4 +FD +01 +06 +09 +0B +0D +0E +08 +01 +FB +F7 +F4 +F2 +EF +EF +EB +EB +E7 +E8 +ED +F6 +FB +FF +00 +01 +03 +06 +06 +09 +0A +0B +0D +0E +0E +0B +00 +FC +FA +F9 +F4 +F2 +EF +ED +EB +E9 +E6 +E3 +E3 +DF +DE +DD +DC +DB +D9 +D8 +D6 +D5 +D8 +E1 +E9 +EC +F0 +F2 +F4 +F6 +F1 +E9 +E4 +E0 +DF +DD +DC +DB +D9 +D9 +D8 +D6 +D6 +D3 +D3 +D5 +DF +E6 +EC +EE +F1 +F3 +F6 +F0 +E9 +E3 +E1 +DE +DE +DC +DE +E6 +EE +F1 +F6 +F7 +FB +FE +FA +F4 +ED +EA +E7 +E5 +E4 +E3 +E0 +E0 +DF +DC +DA +DA +D7 +D7 +D6 +D5 +D3 +D3 +D1 +D2 +CF +D3 +DB +E4 +E8 +ED +F0 +F1 +F5 +F6 +FA +FC +FE +00 +01 +03 +06 +07 +08 +0C +0A +05 +FD +F8 +F6 +F3 +F2 +EF +EE +EB +EB +E8 +ED +F6 +FB +00 +02 +02 +06 +06 +0A +0C +0D +0F +11 +13 +15 +16 +17 +1A +1A +1D +1D +20 +20 +22 +22 +24 +25 +1F +17 +10 +0A +08 +04 +04 +01 +00 +FE +FA +FB +01 +07 +0C +0E +11 +13 +14 +16 +17 +17 +19 +14 +0C +05 +01 +FF +FE +FA +F8 +F6 +F4 +F3 +EF +EE +EC +EA +EA +F2 +F9 +FE +00 +01 +03 +05 +03 +FB +F6 +F1 +EF +ED +EB +E9 +E9 +E6 +E4 +E2 +E2 +DF +DF +DC +DC +DB +D9 +D8 +D7 +D7 +D6 +D4 +D4 +D2 +D2 +D6 +E0 +E6 +EA +EE +F0 +F4 +F5 +F9 +FA +FE +FD +F8 +F1 +EB +E9 +E6 +E6 +E5 +E4 +E3 +E2 +DF +DF +DE +DD +DC +DA +D8 +D8 +D7 +D7 +D6 +D4 +D4 +D3 +D2 +D2 +D3 +DC +E4 +EA +ED +F1 +F3 +F6 +F8 +FB +FD +00 +01 +03 +06 +08 +0B +0C +0E +0F +08 +01 +FD +F9 +F8 +F6 +F4 +F3 +F1 +EE +EE +EC +EB +EA +E8 +E7 +E6 +E3 +E3 +E1 +E1 +E0 +DF +E6 +ED +F4 +F8 +FA +FD +FF +02 +02 +06 +09 +09 +0D +0E +10 +12 +15 +15 +17 +1A +1B +1C +1E +20 +21 +23 +24 +26 +27 +28 +28 +2A +2A +2D +29 +21 +19 +14 +11 +0E +0C +09 +07 +05 +01 +00 +04 +0C +10 +15 +16 +16 +19 +19 +1B +1C +1E +1E +20 +20 +22 +1F +18 +10 +0A +08 +04 +02 +00 +FF +FB +FA +F8 +F6 +F4 +F1 +F1 +F6 +FF +02 +06 +06 +0A +0A +0C +0E +10 +12 +0E +07 +00 +FC +FA +F7 +F7 +F5 +F4 +F3 +EF +EF +F3 +FC +01 +03 +06 +07 +09 +09 +0D +0D +0F +0D +07 +FF +FC +F8 +F6 +F5 +F4 +F8 +00 +04 +08 +0B +0B +0D +0F +11 +11 +14 +12 +0D +04 +00 +FE +FA +FA +F6 +F6 +F3 +F2 +F1 +F4 +FB +FF +04 +06 +09 +09 +0B +0D +0F +11 +11 +13 +13 +15 +15 +18 +18 +1A +1A +1C +1D +1E +1E +20 +20 +21 +1C +12 +0D +08 +05 +04 +00 +01 +06 +0D +10 +14 +14 +16 +16 +17 +18 +18 +1A +1C +1C +1E +1D +1A +10 +0B +05 +03 +00 +FD +FD +FB +F7 +F5 +F3 +F1 +EF +EE +EF +F6 +FD +FF +03 +05 +05 +08 +08 +0B +0B +0D +0F +0F +12 +12 +14 +14 +17 +16 +0F +09 +03 +FF +FE +FC +FB +F7 +F5 +F4 +F0 +F4 +FB +FF +04 +05 +08 +08 +0B +0B +0D +0F +10 +10 +12 +13 +16 +11 +08 +01 +FE +FA +FA +F6 +F5 +F2 +F0 +EE +EA +EA +E7 +E7 +EC +F3 +F7 +FB +FB +FE +FF +01 +02 +04 +05 +05 +FE +F7 +F1 +EF +ED +EC +EB +E7 +E7 +E5 +E5 +E8 +F1 +F5 +F9 +FB +FC +00 +FF +02 +02 +05 +04 +FE +F7 +F3 +EF +EF +EC +EA +EB +F3 +F8 +FD +00 +FF +02 +02 +00 +F7 +F2 +EE +EE +EA +EA +E8 +E6 +E5 +E2 +E2 +E0 +DF +DE +DB +DB +DA +D9 +DB +E4 +E9 +EE +F0 +F4 +F5 +F7 +FA +FA +FD +FF +01 +02 +04 +02 +FE +F7 +F3 +F0 +ED +EB +EB +E7 +E7 +E5 +E5 +E8 +EE +F5 +F8 +FC +FF +00 +00 +02 +02 +05 +07 +09 +09 +0C +0A +04 +FE +F8 +F6 +F4 +F2 +F0 +EE +EB +EB +E9 +E8 +E6 +E5 +E3 +E3 +E1 +E1 +E0 +DF +DE +DC +DC +DB +DA +DA +D9 +D7 +D7 +D5 +DA +E1 +E8 +ED +EF +F2 +F4 +F5 +F1 +E9 +E7 +E3 +E3 +E2 +E0 +E3 +EA +F1 +F6 +F9 +F9 +FC +FE +00 +01 +03 +03 +07 +08 +09 +0A +04 +FF +F9 +F7 +F4 +F4 +F0 +EF +EE +EC +EA +E8 +E8 +E6 +E4 +E8 +EF +F5 +F9 +FC +FE +00 +FF +03 +03 +07 +08 +08 +0C +0D +0F +0F +11 +13 +11 +0A +03 +00 +FD +FA +FA +F7 +F5 +F5 +F1 +F1 +F5 +FD +00 +04 +06 +07 +0A +08 +03 +FC +F9 +F5 +F5 +F1 +F1 +EF +EE +EC +EA +EE +F4 +FB +FE +01 +01 +05 +05 +08 +09 +0B +0C +0E +0E +12 +0F +0A +02 +00 +FC +FB +FA +F6 +F6 +F2 +F2 +F0 +EE +EC +EC +E9 +E9 +E6 +E6 +E5 +E3 +E3 +E0 +E2 +E8 +EF +F4 +F8 +F9 +FD +FD +00 +01 +03 +05 +01 +FC +F5 +F3 +F0 +EE +EE +ED +F1 +F9 +FD +01 +03 +04 +06 +08 +09 +0B +0C +0C +04 +FE +FB +F7 +F7 +F4 +F4 +F1 +F1 +EE +EE +ED +EB +EB +E9 +E8 +E6 +E7 +E4 +E4 +E2 +E3 +E1 +E1 +DF +DF +DD +DE +DC +DC +DA +DB +DA +D9 +DE +E6 +ED +F1 +F3 +F6 +F8 +FA +F4 +EF +EA +E9 +E8 +E6 +E6 +E7 +EF +F6 +F9 +FE +FE +00 +03 +04 +07 +07 +0A +0C +0E +0F +10 +0A +04 +FF +FB +FA +F8 +F9 +F7 +F5 +F3 +F2 +F2 +FB +00 +04 +06 +08 +09 +09 +07 +FF +FB +F7 +F6 +F4 +F4 +F2 +F0 +EF +ED +ED +EC +EA +EA +E9 +E7 +E7 +E6 +E4 +E4 +E3 +E3 +E5 +EF +F5 +F8 +FC +FC +00 +00 +01 +05 +07 +09 +0B +0D +0E +10 +12 +14 +15 +17 +18 +19 +19 +1B +1B +1E +1D +18 +12 +0B +09 +05 +05 +02 +00 +00 +FE +FD +F9 +F8 +F8 +F4 +F7 +FE +03 +08 +0A +0C +0D +0F +11 +12 +13 +14 +0E +08 +03 +00 +FF +FD +FB +FA +F9 +F7 +F7 +F3 +F2 +F0 +F0 +F1 +F9 +FF +03 +05 +07 +09 +0B +0C +0E +10 +10 +13 +13 +15 +15 +18 +18 +1A +1A +1D +1D +1F +1F +21 +22 +23 +25 +25 +28 +28 +24 +1D +16 +12 +0E +0E +0B +0A +06 +04 +02 +01 +FE +FD +FC +FC +03 +08 +0B +0F +10 +11 +14 +19 +18 +19 +19 +1A +1B +1D +1C +16 +0E +0A +06 +02 +02 +FF +00 +FD +F9 +F8 +F6 +F4 +F2 +F2 +EE +EE +ED +EB +EF +F6 +FB +FE +00 +00 +03 +04 +06 +08 +0A +0B +0D +0F +0F +0F +07 +03 +FF +FB +FB +FA +F6 +F6 +F5 +F1 +F2 +F5 +FD +00 +04 +06 +07 +09 +08 +02 +FC +F9 +F5 +F5 +F2 +F2 +EF +EF +EE +EC +F0 +F6 +FD +FF +02 +03 +05 +06 +02 +FA +F7 +F4 +F2 +F1 +EF +F0 +F6 +FD +00 +03 +04 +06 +07 +0A +0B +0B +0D +0F +10 +12 +13 +13 +15 +15 +17 +17 +19 +1B +1C +1C +1D +1D +1D +15 +0F +0B +07 +05 +03 +01 +02 +0A +0E +11 +11 +13 +13 +15 +16 +16 +18 +18 +1A +1A +1C +1B +1D +1D +1F +1F +20 +21 +20 +1E +16 +0F +0C +09 +05 +04 +02 +00 +00 +FC +FC +FF +07 +09 +0D +0D +0E +10 +11 +13 +13 +15 +12 +0C +05 +02 +FF +FF +FB +FA +F8 +F8 +F4 +F3 +F1 +F1 +ED +EE +F3 +FA +FE +01 +02 +03 +05 +06 +06 +08 +0A +0B +0D +0D +0F +0F +10 +11 +12 +0C +06 +01 +FE +FC +F9 +F8 +F6 +F4 +F1 +F1 +EF +ED +EB +EA +E8 +E8 +E6 +E5 +E3 +E3 +E2 +E0 +E5 +EB +F1 +F4 +F5 +F7 +F9 +FA +FC +FE +00 +FF +FA +F3 +F0 +EC +EC +EB +E9 +E8 +E6 +E6 +E4 +E2 +E2 +E1 +E0 +DE +DE +DC +DC +DA +DA +DA +D9 +D7 +D7 +D6 +D6 +D5 +D3 +D4 +D2 +D4 +D2 +D2 +D7 +DD +E4 +E9 +EB +ED +EF +F3 +F4 +F5 +F9 +F9 +FC +FE +00 +01 +04 +04 +06 +07 +09 +0B +0C +0A +02 +FF +FB +F8 +F8 +F5 +F6 +F9 +00 +03 +07 +08 +0A +0A +0C +0D +0F +10 +0F +07 +03 +FE +FC +F9 +F8 +F7 +F6 +F3 +F3 +F0 +F6 +FB +FF +03 +04 +06 +06 +09 +0A +0C +0C +0E +0E +11 +11 +13 +14 +15 +16 +16 +19 +1A +1A +17 +0F +0A +07 +04 +04 +00 +01 +04 +0B +0D +11 +12 +12 +14 +12 +0C +06 +01 +00 +FD +FD +FB +F8 +F6 +F5 +F3 +F1 +F0 +EE +EE +EC +EA +EA +E9 +F0 +F5 +FA +FD +FE +00 +00 +00 +02 +04 +07 +04 +FF +F8 +F5 +F3 +F0 +F0 +EE +EC +EA +EA +E7 +E7 +E5 +E5 +E4 +E2 +E2 +E0 +E0 +DE +DE +DC +E0 +E7 +EC +F2 +F5 +F6 +F7 +FB +FB +FE +FF +01 +03 +03 +06 +05 +01 +FB +F7 +F5 +F4 +F1 +F1 +F0 +EF +ED +EC +EB +E9 +E9 +E8 +E6 +E6 +E3 +E4 +E8 +F0 +F4 +F8 +F9 +FB +FE +FF +00 +02 +03 +05 +06 +08 +0A +0B +0C +0E +0E +11 +11 +14 +13 +10 +08 +04 +00 +00 +FE +FB +FC +FF +06 +08 +0C +0D +0D +0F +0F +12 +12 +14 +14 +16 +17 +17 +18 +18 +1A +1B +1C +1B +1D +1D +1E +1E +20 +20 +20 +20 +20 +22 +20 +22 +21 +23 +22 +24 +24 +24 +24 +24 +25 +20 +18 +13 +0F +0D +09 +09 +06 +02 +02 +FF +01 +06 +0C +0E +10 +11 +13 +13 +13 +15 +15 +17 +17 +18 +18 +1D +20 +20 +1E +1F +1E +1E +20 +20 +1F +1F +1F +1D +15 +10 +0C +09 +07 +03 +02 +FF +FD +FA +FA +F8 +F6 +F4 +F2 +F1 +EF +ED +EC +F3 +F8 +FC +FE +00 +FF +02 +02 +04 +04 +06 +06 +08 +08 +09 +05 +00 +FA +F8 +F5 +F4 +F3 +F0 +EE +EC +EA +E7 +E7 +E5 +E5 +E3 +E2 +E1 +DF +DF +DD +DD +DC +E0 +E6 +ED +EF +F1 +F3 +F4 +F6 +F7 +F9 +FA +FC +FD +00 +FF +02 +03 +03 +05 +01 +FB +F7 +F4 +F2 +F1 +EF +EE +F3 +F8 +FD +FE +00 +00 +02 +03 +03 +05 +06 +06 +08 +09 +0A +07 +FF +FC +F8 +F7 +F6 +F3 +F3 +F1 +EF +EE +ED +F2 +F7 +FC +FE +00 +FF +01 +01 +03 +04 +06 +06 +08 +08 +0A +0A +0C +0D +0D +0F +0F +11 +11 +0A +04 +FF +FE +FB +FB +F7 +F7 +F3 +F2 +F1 +EF +EE +EC +EB +ED +F4 +F8 +FC +FC +FE +FF +00 +01 +03 +04 +05 +07 +07 +09 +09 +0C +0B +0D +0C +04 +00 +FD +FB +FA +F6 +F6 +F4 +F2 +F0 +EF +EE +EB +EB +E9 +E9 +E7 +E5 +E7 +EC +F1 +F5 +F7 +F9 +FA +FC +FB +F3 +F0 +ED +EA +EA +E7 +E7 +E5 +E3 +E3 +E1 +E1 +DF +DE +DE +E4 +E9 +EE +F1 +F3 +F4 +F6 +F4 +EF +EA +E8 +E5 +E4 +E3 +E1 +E1 +DF +DF +DE +DC +DC +DB +DC +DA +DB +D9 +D9 +D9 +D8 +D6 +D7 +D5 +D6 +D4 +D9 +DE +E5 +E8 +EC +EC +F0 +F0 +F2 +F6 +F7 +F9 +FC +FC +FF +00 +00 +02 +04 +04 +07 +07 +09 +0A +0C +0C +0E +0A +04 +FF +FD +FA +F8 +F7 +F6 +F3 +F3 +F1 +F0 +EF +EE +ED +EE +F4 +F9 +FD +FF +00 +00 +02 +03 +04 +07 +07 +0A +0A +0C +0D +0E +0E +10 +10 +12 +12 +14 +14 +15 +15 +16 +16 +18 +18 +18 +18 +1A +19 +1B +1B +1B +1C +1C +18 +11 +0C +08 +05 +04 +02 +01 +06 +0A +0E +0F +10 +11 +12 +12 +12 +14 +14 +15 +16 +16 +17 +12 +0D +08 +04 +03 +01 +00 +FF +FD +FB +F9 +F8 +F7 +F5 +F4 +F4 +FA +FE +01 +02 +04 +05 +06 +03 +FC +F9 +F5 +F4 +F1 +F1 +EE +EE +EC +EB +EB +EA +E7 +E7 +E6 +E4 +E5 +E3 +E6 +EA +F0 +F2 +F6 +F6 +F9 +F9 +F7 +F1 +EE +EA +E9 +E8 +E6 +E6 +E4 +E4 +E2 +E2 +E2 +E1 +E0 +DE +DF +DD +DE +DD +DB +DB +DA +DD +E3 +E9 +EC +EF +F0 +F2 +F5 +F7 +F8 +F9 +FA +FC +FE +00 +FF +02 +02 +05 +05 +07 +07 +09 +05 +00 +FC +F9 +F7 +F6 +F5 +F4 +F7 +FE +01 +03 +05 +05 +07 +05 +01 +FC +FA +F6 +F6 +F4 +F3 +F1 +F1 +EF +EF +F1 +F6 +FC +FD +00 +00 +03 +03 +05 +05 +08 +09 +09 +0B +0C +0D +0D +0F +10 +0F +07 +03 +FF +FE +FD +FC +F9 +F9 +F6 +F6 +F2 +F2 +F1 +EE +EE +EC +EC +EA +EC +F1 +F7 +F9 +FD +FE +00 +01 +01 +04 +05 +07 +02 +FE +FB +F7 +F6 +F4 +F3 +F1 +F1 +EF +EF +EF +F5 +F9 +FE +00 +00 +02 +04 +07 +02 +FC +F9 +F6 +F6 +F5 +F3 +F3 +F0 +F0 +EE +EE +ED +EC +EC +F1 +F7 +FA +FD +FD +00 +00 +02 +03 +05 +06 +06 +09 +09 +0B +0C +0C +0E +0E +0B +04 +01 +FE +FE +FC +FB +FA +00 +03 +07 +08 +0A +0B +0C +0D +0E +0D +0F +0F +11 +11 +11 +12 +13 +13 +15 +15 +16 +16 +16 +18 +19 +18 +1A +1A +1C +1C +19 +13 +0D +0B +07 +05 +02 +02 +00 +FF +FD +FB +00 +03 +07 +09 +0B +0C +0D +0E +0F +0E +10 +0D +09 +02 +00 +FE +FC +FB +FA +F7 +F7 +F4 +F4 +F2 +F0 +F0 +EE +F3 +F9 +FC +FE +00 +01 +02 +03 +03 +05 +07 +07 +09 +0A +0C +0B +0C +0E +0E +0B +05 +FF +FF +FC +FA +F9 +F7 +F6 +F4 +F3 +F1 +F1 +EF +EF +ED +ED +EA +EA +E9 +E8 +E7 +E5 +E9 +EF +F4 +F6 +F8 +FA +FC +FC +F8 +F1 +EF +ED +EC +EB +EA +E9 +E8 +E7 +E6 +E6 +E5 +E4 +E3 +E2 +E1 +E1 +DF +E0 +DF +DE +DE +DD +DC +DE +DC +DC +DC +DC +DC +DB +DA +DC +DA +DC +DB +DA +DC +E4 +E9 +ED +F0 +F0 +F4 +F5 +F7 +F9 +FC +FD +FF +00 +01 +03 +04 +06 +06 +07 +01 +FD +FA +F9 +F7 +F6 +F4 +F4 +F3 +F1 +F2 +F4 +FB +FE +01 +02 +04 +04 +06 +07 +09 +09 +09 +04 +00 +FC +FB +FA +F8 +F7 +F9 +FF +03 +06 +07 +07 +0A +0A +0C +0C +0E +0D +10 +10 +12 +11 +0C +07 +03 +01 +FF +FF +FD +FC +FA +FA +F8 +F7 +F5 +F5 +F4 +F6 +FC +00 +02 +04 +04 +06 +08 +09 +09 +0B +0A +06 +FF +FF +FB +FB +F9 +F9 +F9 +00 +02 +06 +08 +08 +0A +0A +0C +0C +0F +10 +10 +12 +12 +12 +0D +07 +03 +01 +00 +FF +FD +FE +04 +07 +0B +0B +0D +0D +0F +0F +11 +12 +11 +0E +07 +05 +01 +00 +00 +FE +FC +FB +F9 +F8 +F6 +F6 +F5 +F4 +F1 +F2 +F0 +EF +ED +EE +EC +EC +EF +F6 +F8 +FD +FD +00 +00 +00 +03 +03 +06 +06 +09 +09 +0B +0B +0D +0E +10 +10 +12 +13 +14 +10 +0B +06 +04 +02 +01 +FF +FF +FE +FB +FB +F8 +F7 +F6 +F5 +F8 +FC +00 +02 +04 +05 +07 +08 +08 +0A +0A +0C +0C +0E +0E +10 +10 +12 +13 +10 +0C +06 +04 +00 +00 +00 +FD +FD +FA +FA +F8 +F7 +F5 +F4 +F4 +F6 +FC +FE +01 +02 +03 +05 +05 +07 +07 +09 +0A +0B +0B +0D +0D +0F +0F +11 +11 +12 +13 +13 +14 +14 +15 +15 +16 +17 +18 +16 +12 +0B +09 +05 +05 +02 +00 +00 +FE +FC +FC +FA +F8 +F8 +F5 +F5 +F4 +F2 +F2 +F0 +F0 +EF +ED +ED +EB +EB +E9 +E9 +E7 +E7 +E6 +E6 +E5 +E5 +E7 +EB +F1 +F4 +F6 +F9 +F9 +FC +FC +FF +FF +01 +02 +04 +05 +05 +07 +07 +09 +09 +0B +0B +0B +0B +05 +01 +FE +FC +FA +F9 +F9 +F8 +F8 +F5 +F5 +F9 +FE +01 +02 +04 +05 +07 +07 +09 +09 +0B +08 +04 +FF +FD +FA +FA +F8 +F8 +FC +FF +03 +07 +0B +0A +0B +08 +05 +FF +FE +FB +FA +F9 +F7 +F8 +FE +01 +05 +06 +08 +08 +08 +0A +0B +0D +0D +0F +0F +11 +10 +0C +06 +04 +00 +00 +FE +FD +FC +FB +F9 +F9 +FA +00 +02 +05 +07 +07 +09 +0A +0A +0C +0C +0D +08 +04 +00 +FE +FD +FA +FA +F9 +F6 +F6 +F4 +F4 +F1 +F1 +F0 +EF +EE +EB +EC +EE +F4 +F7 +FB +FD +FD +00 +FF +01 +01 +02 +04 +05 +06 +06 +08 +08 +0A +0B +0B +0D +0D +0F +0F +0F +11 +12 +0D +08 +03 +02 +00 +FE +FD +FD +00 +05 +08 +08 +0A +0A +0C +09 +04 +00 +FE +FC +FB +F9 +F9 +F6 +F6 +F3 +F4 +F8 +FD +00 +00 +02 +02 +04 +04 +07 +07 +08 +08 +0A +0A +0C +0A +03 +00 +FD +FD +FA +FA +F8 +F8 +F6 +F4 +F4 +F1 +F1 +EF +F0 +EE +EE +EC +EC +EB +EA +E8 +EC +F1 +F4 +F7 +FA +FA +FD +FD +FB +F6 +F3 +F1 +F0 +EE +EE +EC +EC +EB +EB +EA +E8 +E9 +E7 +E9 +EF +F3 +F6 +F8 +FA +FB +FC +FB +F5 +F2 +F0 +EF +EE +EE +EE +F2 +F8 +FB +FD +FF +01 +01 +01 +FE +F9 +F7 +F5 +F5 +F3 +F3 +F1 +F2 +F1 +EF +EF +ED +ED +ED +EB +EB +EA +E9 +E9 +E8 +E8 +E7 +E7 +E6 +E6 +E6 +ED +F1 +F5 +F7 +F9 +FA +FB +FE +FF +FF +01 +FD +FA +F6 +F4 +F3 +F3 +F1 +F1 +F0 +EE +EE +EC +ED +EB +EB +E9 +EA +E9 +E9 +EA +F1 +F6 +F8 +FA +FA +FD +FF +01 +01 +03 +04 +06 +06 +08 +0A +0B +0B +0D +0E +10 +11 +11 +12 +12 +14 +14 +11 +0B +08 +04 +04 +02 +01 +01 +04 +09 +0C +0D +0F +10 +10 +0F +09 +06 +02 +01 +00 +00 +FE +FD +FB +FB +FA +FC +02 +04 +07 +07 +09 +09 +0C +0D +0E +0E +10 +10 +12 +12 +11 +0A +07 +04 +01 +01 +FF +FF +FE +FC +FB +FA +FE +01 +06 +08 +08 +0A +0A +0B +0C +0C +0E +0E +10 +10 +12 +12 +13 +13 +14 +12 +0C +08 +05 +03 +02 +01 +00 +FF +FD +FB +FB +F9 +F9 +F6 +F8 +FD +00 +03 +04 +06 +06 +08 +08 +0A +0B +0C +0C +0F +0F +12 +12 +13 +12 +14 +15 +16 +16 +17 +17 +17 +17 +19 +19 +1A +19 +1B +1A +1C +1A +18 +11 +0E +0A +0A +07 +07 +04 +04 +02 +00 +00 +FE +FE +FB +FD +FF +04 +05 +08 +08 +0A +0B +0A +0C +0C +0E +0E +0F +0F +10 +10 +11 +11 +11 +0D +07 +04 +02 +FF +00 +FE +FC +FB +F9 +F9 +F6 +F6 +F3 +F3 +F1 +F1 +EF +EF +EE +EC +EC +EB +F0 +F5 +F7 +FB +FB +FD +FD +00 +FF +02 +02 +03 +03 +05 +05 +07 +08 +08 +0A +0B +0B +0D +0C +0E +0E +0F +0F +10 +10 +12 +12 +13 +14 +14 +14 +15 +15 +15 +16 +16 +16 +16 +16 +16 +16 +16 +17 +17 +19 +18 +13 +0C +0A +06 +06 +04 +02 +00 +00 +FE +FD +FC +FB +F9 +F8 +F9 +FF +00 +03 +03 +05 +05 +07 +07 +08 +09 +08 +05 +FF +FE +FF +FE +FC +FA +F6 +F6 +F4 +F4 +F4 +FA +FC +FF +FF +00 +01 +01 +00 +FA +F7 +F5 +F2 +F2 +F2 +F0 +F0 +EE +EE +EC +EC +EA +EB +EC +F2 +F6 +F8 +FB +FB +FE +FF +FB +F7 +F3 +F1 +EF +F0 +EF +EF +F3 +F7 +FB +FC +FE +FE +00 +00 +00 +02 +02 +04 +04 +05 +05 +07 +06 +08 +08 +05 +00 +FD +FB +F9 +F9 +F8 +F7 +FC +FF +02 +02 +03 +03 +04 +05 +04 +06 +06 +02 +FF +FB +F9 +F8 +F6 +F6 +F4 +F4 +F2 +F0 +F0 +EE +EE +ED +ED +EB +EB +EA +EA +F0 +F3 +F7 +F8 +F8 +FA +FB +FD +FD +FF +FF +01 +02 +02 +04 +04 +06 +07 +04 +01 +FE +FB +F9 +F8 +F6 +F6 +F3 +F3 +F2 +F2 +F3 +F9 +FB +FD +FF +FF +01 +00 +FE +F9 +F8 +F4 +F4 +F2 +F2 +F2 +F8 +FC +FE +00 +FF +01 +02 +02 +04 +04 +05 +06 +06 +08 +07 +04 +00 +FE +FB +FA +F8 +F7 +F7 +FB +00 +01 +02 +03 +04 +05 +06 +06 +07 +07 +09 +08 +09 +0B +0B +0C +0C +0B +08 +02 +00 +FE +FD +FC +FB +F9 +F7 +F7 +F4 +F7 +FC +FE +00 +00 +02 +03 +04 +05 +05 +07 +07 +04 +00 +FE +FA +FA +F9 +F8 +F8 +FD +FF +03 +03 +05 +06 +06 +07 +08 +08 +0A +0A +0A +0C +0C +08 +04 +00 +FF +FE +FC +FA +F9 +F7 +F7 +F5 +F5 +F3 +F3 +F1 +F1 +EF +EF +ED +F0 +F4 +F8 +FB +FB +FD +FD +FF +FF +00 +00 +00 +FD +F9 +F6 +F4 +F4 +F2 +F2 +F0 +F0 +EF +ED +ED +EC +EC +EB +EC +F2 +F4 +F7 +F9 +F9 +FB +FB +FD +FD +00 +FF +01 +01 +03 +03 +04 +05 +05 +07 +07 +09 +09 +06 +02 +FE +FD +FA +FA +F7 +F7 +F5 +F5 +F3 +F4 +F7 +FB +FF +00 +FF +01 +01 +01 +FC +F9 +F7 +F5 +F4 +F3 +F2 +F6 +FA +FE +FE +00 +FF +01 +02 +03 +03 +04 +04 +07 +07 +07 +08 +08 +0A +0B +0B +0B +0C +0C +0D +0D +0F +0D +0A +06 +02 +00 +FE +FE +FC +FC +FA +F9 +F7 +F9 +FC +00 +02 +03 +03 +05 +04 +06 +07 +06 +08 +08 +0A +09 +0B +0A +0C +0B +0C +06 +02 +00 +FF +FE +FC +FB +F8 +F8 +F6 +F6 +F7 +FB +FE +00 +01 +03 +03 +05 +05 +07 +07 +07 +04 +FF +FD +FB +FA +F8 +F8 +F6 +F6 +F4 +F4 +F2 +F2 +F0 +F0 +EE +EE +EC +ED +EC +EA +EA +E8 +E8 +E7 +E7 +E6 +E6 +E5 +E4 +E4 +E3 +E3 +E1 +E4 +E8 +ED +EE +F1 +F1 +F3 +F3 +F6 +F6 +F8 +F9 +FA +FB +FC +FE +FE +00 +FF +01 +01 +03 +03 +02 +FD +FB +F9 +F8 +F6 +F6 +F5 +F4 +F3 +F2 +F1 +EF +F0 +EE +EF +F3 +F7 +F8 +FC +FC +FF +00 +FF +00 +01 +01 +00 +FC +FA +F7 +F7 +F6 +F4 +F4 +F2 +F3 +F1 +F1 +EF +EF +EE +EE +F3 +F6 +F9 +FA +FC +FD +FF +FE +00 +00 +02 +02 +05 +05 +07 +07 +09 +0A +0A +0B +0B +0D +0D +0D +0D +0F +0E +10 +0F +11 +0E +0B +06 +03 +02 +00 +00 +FF +02 +FF +FE +FA +FA +F9 +F8 +F6 +F5 +F3 +F3 +F2 +F0 +F1 +EF +F0 +EE +ED +EB +EB +EA +EA +E9 +E9 +E9 +E7 +E8 +E7 +E7 +E6 +E6 +E4 +E4 +E5 +E3 +E3 +E4 +E3 +E6 +EA +EE +F2 +F4 +F6 +F7 +F9 +FA +FC +FD +FF +00 +00 +02 +01 +00 +FD +F9 +F9 +F7 +F7 +F6 +F6 +F5 +F3 +F4 +F5 +FA +FC +00 +FF +02 +02 +02 +05 +06 +06 +06 +03 +00 +FC +FC +FA +FA +F7 +F9 +FC +00 +02 +03 +04 +06 +05 +07 +08 +08 +0A +0A +0B +0C +0B +09 +03 +01 +00 +FE +FE +FC +FC +FA +FA +F9 +F8 +F6 +F6 +F4 +F5 +F9 +FE +FE +00 +01 +03 +03 +00 +FD +F9 +F8 +F6 +F7 +F5 +F5 +F4 +F4 +F2 +F2 +F1 +F0 +F0 +EF +EF +EE +EE +EF +F4 +F7 +FA +FB +FD +FD +FF +FC +F9 +F6 +F5 +F4 +F2 +F2 +F1 +F1 +F0 +F0 +EF +EF +EF +ED +F0 +F3 +F9 +FA +FD +FD +FF +00 +FE +FA +F6 +F6 +F4 +F4 +F2 +F3 +F1 +F2 +F0 +F1 +F0 +EF +EF +EE +EE +ED +ED +EC +EC +EC +EC +EB +EA +EA +E9 +EB +E9 +E9 +EA +EE +F2 +F6 +F8 +FA +FB +FC +FE +FF +00 +01 +03 +03 +05 +05 +07 +08 +09 +0A +0B +0D +0E +0D +0B +06 +05 +02 +02 +00 +01 +FF +00 +FF +FF +FD +FD +FC +FB +FB +FA +FA +F8 +FB +FF +02 +03 +05 +06 +06 +09 +09 +0B +0B +0D +0D +0E +0E +10 +10 +12 +11 +13 +14 +13 +15 +14 +16 +16 +17 +17 +18 +19 +18 +1A +18 +1A +18 +15 +10 +0E +0A +0A +08 +07 +08 +0A +0E +0F +11 +11 +12 +12 +13 +12 +14 +14 +11 +0D +0A +08 +07 +05 +04 +02 +01 +00 +FF +FF +FD +FD +FC +FE +00 +04 +05 +07 +07 +09 +08 +0A +0A +0C +0C +08 +05 +01 +01 +00 +FE +FE +FD +FC +FC +F9 +F9 +F8 +F7 +F7 +F5 +F6 +F4 +F4 +F2 +F3 +F1 +F2 +F1 +F0 +F0 +EF +F4 +F8 +FB +FC +FF +FF +00 +00 +02 +02 +04 +05 +05 +07 +07 +09 +09 +0B +0C +0B +0D +0D +0D +0F +0E +10 +0E +0C +08 +05 +03 +01 +01 +FF +01 +05 +08 +08 +0A +09 +0B +0C +0E +0F +0E +0E +0A +07 +04 +02 +00 +00 +FF +FE +FC +FC +FA +FA +F8 +F8 +F7 +F6 +F6 +F4 +F5 +F7 +FD +FF +01 +02 +02 +05 +05 +07 +07 +09 +09 +0B +0A +0C +0C +0E +0E +0F +0C +0A +05 +04 +01 +01 +FF +00 +00 +05 +08 +09 +0B +0A +0C +0C +0C +0D +0D +0E +0F +0E +10 +10 +10 +11 +11 +10 +0A +08 +04 +04 +02 +01 +00 +FF +FF +FD +FD +FC +FB +F9 +FA +FC +00 +02 +02 +04 +04 +06 +05 +07 +06 +08 +08 +0A +0B +0B +0B +0C +0C +0D +0D +0F +10 +0F +0B +07 +05 +02 +01 +FF +00 +FE +FE +FB +FB +FB +00 +02 +02 +04 +04 +06 +06 +06 +08 +08 +0A +0A +0B +0B +0B +06 +04 +00 +00 +FF +FE +FE +FB +FB +F9 +F9 +F8 +F7 +F6 +F6 +F9 +FB +FF +FF +01 +01 +03 +07 +08 +08 +08 +05 +03 +FF +FD +FB +FB +F8 +F8 +F7 +F6 +F5 +F6 +F7 +FB +FE +FF +00 +00 +01 +01 +03 +04 +04 +04 +01 +FD +FB +F9 +F9 +F7 +F7 +F9 +FE +00 +02 +02 +04 +03 +05 +05 +06 +06 +07 +05 +00 +FF +FC +FC +FA +FA +F8 +F8 +F8 +F6 +F9 +FC +00 +01 +02 +04 +04 +06 +05 +07 +07 +09 +09 +09 +0B +0A +0C +0B +0D +0D +0E +0C +0E +0E +0F +0E +0E +0D +09 +05 +03 +01 +01 +FF +00 +01 +04 +07 +07 +09 +09 +0A +08 +0A +0A +0A +0A +0C +0B +0B +0A +05 +03 +00 +FF +FE +FC +FC +FA +F9 +F7 +F7 +F6 +F4 +F4 +F2 +F6 +F9 +FD +FF +FF +00 +FF +01 +01 +03 +02 +04 +04 +06 +07 +06 +08 +07 +09 +09 +09 +0B +09 +07 +03 +FF +FF +FD +FD +FB +FB +F9 +F7 +F7 +F8 +FC +FF +FF +01 +01 +03 +04 +03 +05 +05 +05 +02 +00 +FC +FC +F9 +F9 +F8 +F8 +FC +FE +01 +02 +02 +03 +03 +04 +04 +05 +06 +03 +00 +FC +FC +F9 +F9 +F7 +F8 +F9 +FE +00 +FF +01 +01 +02 +02 +04 +05 +05 +05 +06 +06 +07 +07 +08 +09 +09 +06 +02 +FF +FE +FC +FC +FA +F9 +F7 +F7 +F6 +F4 +F4 +F3 +F1 +F1 +F0 +F0 +EE +EE +ED +ED +EC +EE +F2 +F6 +F7 +FA +FA +FC +FC +FE +FE +00 +00 +FC +F9 +F8 +F6 +F5 +F4 +F4 +F3 +F3 +F2 +F1 +F1 +F0 +EE +F0 +F1 +F6 +F8 +FA +FA +FC +FD +FC +FA +F7 +F4 +F4 +F2 +F2 +F1 +F1 +EF +F0 +EF +F0 +F5 +F7 +F9 +FB +FB +FD +FE +FE +00 +FF +00 +01 +02 +03 +01 +00 +FC +F8 +F8 +F6 +F6 +F5 +F5 +F4 +F3 +F3 +F1 +F1 +EF +F0 +F1 +F6 +F8 +FA +FA +FC +FD +FD +FF +FF +00 +00 +FC +FA +F7 +F7 +F5 +F5 +F4 +F3 +F3 +F1 +F2 +F3 +F8 +FA +FC +FD +FD +FF +FF +00 +00 +02 +00 +FF +FC +F9 +F8 +F6 +F7 +F5 +F7 +FA +FE +FE +00 +FF +01 +01 +03 +03 +05 +04 +02 +FF +FC +FA +FA +F9 +F8 +F7 +F5 +F5 +F5 +F3 +F3 +F2 +F2 +F1 +F0 +F0 +EF +EF +ED +ED +EC +EC +EB +EC +ED +F1 +F4 +F5 +F7 +F7 +F9 +FB +FB +FC +FD +FE +00 +00 +01 +02 +03 +04 +04 +04 +01 +FF +FB +FB +FA +F8 +F9 +F8 +F8 +F6 +F7 +F5 +F6 +F5 +F4 +F5 +FA +FC +FF +FF +01 +01 +03 +04 +04 +06 +07 +07 +08 +09 +07 +05 +01 +00 +FF +FE +FD +FC +FD +00 +02 +04 +05 +06 +06 +06 +07 +08 +09 +09 +06 +01 +00 +FE +FE +FC +FC +FB +FA +FA +F8 +F8 +F6 +F7 +F6 +F7 +FB +FE +FE +00 +FF +01 +01 +01 +02 +02 +04 +05 +06 +07 +05 +03 +FF +FD +FB +FB +FB +F9 +F9 +F7 +F8 +F7 +F9 +FD +FF +00 +01 +01 +03 +02 +02 +04 +04 +06 +06 +07 +07 +08 +09 +09 +0B +0B +0D +0E +0C +0E +0D +0F +0F +0F +10 +11 +10 +0E +09 +07 +04 +04 +02 +02 +01 +05 +08 +08 +0A +0A +0B +0C +0F +11 +10 +0E +0F +0F +0F +10 +0F +10 +11 +10 +0C +07 +06 +03 +03 +01 +00 +FF +FE +FC +FC +FB +F9 +F9 +F9 +FA +FE +FF +01 +00 +02 +01 +03 +04 +04 +06 +05 +02 +00 +FC +FC +FB +F9 +F9 +F8 +F6 +F7 +F5 +F5 +F3 +F3 +F2 +F5 +F8 +FB +FC +FE +FF +FF +00 +01 +00 +02 +02 +04 +04 +04 +06 +07 +07 +09 +08 +0A +0A +0A +0B +0C +0B +0C +0C +0D +0E +0C +0A +06 +04 +01 +01 +FF +00 +FE +FE +FD +FC +FA +FA +F8 +F8 +F8 +FD +FF +00 +00 +01 +01 +02 +00 +FC +FB +FA +F8 +F8 +F7 +F6 +FA +FC +FD +00 +FF +00 +00 +00 +FC +FA +F7 +F5 +F6 +F4 +F5 +F6 +FA +FC +FE +FE +00 +00 +01 +01 +01 +01 +03 +02 +04 +04 +05 +06 +06 +07 +05 +01 +FF +FD +FC +FB +F9 +F9 +F7 +F7 +F6 +F5 +F9 +FB +FF +FF +00 +FF +01 +00 +02 +02 +03 +03 +05 +04 +06 +07 +06 +07 +07 +05 +01 +00 +FD +FC +FC +FB +FA +F8 +F8 +F6 +F6 +FB +FD +FF +FF +FF +00 +00 +02 +02 +02 +03 +00 +FE +FA +F9 +F9 +F7 +F7 +F5 +F6 +F5 +F4 +F5 +F8 +FA +FD +FD +FF +FE +00 +00 +01 +01 +02 +02 +03 +03 +05 +04 +06 +05 +07 +06 +07 +09 +06 +04 +00 +FF +FD +FD +FC +FB +F9 +F9 +F8 +F7 +F6 +F6 +F5 +F5 +F3 +F3 +F3 +F1 +F2 +F0 +F1 +F0 +F5 +F7 +FB +FB +FD +FD +FF +FE +FB +F7 +F7 +F4 +F5 +F3 +F4 +F5 +F9 +FB +FD +FD +FF +FF +FF +FC +FA +F7 +F7 +F5 +F5 +F3 +F4 +F2 +F2 +F1 +F1 +F0 +F0 +EF +F2 +F4 +F8 +F8 +FA +FA +FC +FC +FE +FD +FF +00 +FF +00 +01 +00 +02 +01 +03 +01 +00 +FC +FB +F9 +F9 +F7 +F7 +F8 +FC +FE +00 +01 +00 +02 +02 +03 +03 +04 +04 +06 +05 +07 +08 +08 +08 +09 +08 +0A +0A +0A +0A +0C +0B +0D +0C +0C +0E +0D +09 +06 +02 +02 +00 +00 +FF +FF +FE +FC +FC +FA +FA +F8 +F8 +F6 +F7 +F5 +F5 +F6 +FA +FC +FE +FE +00 +FF +01 +01 +02 +02 +03 +03 +04 +04 +03 +FF +FE +FD +FB +FB +F8 +F8 +F6 +F6 +F4 +F5 +F3 +F3 +F2 +F0 +F1 +F0 +EF +EF +EE +EE +EC +ED +EB +EB +EC +EB +E9 +EA +EA +ED +EF +F3 +F6 +F7 +F8 +F9 +FA +FA +FB +FC +FD +FE +FF +00 +00 +FC +F9 +F7 +F7 +F5 +F6 +F4 +F4 +F4 +F4 +F3 +F3 +F2 +F2 +F1 +F4 +F6 +F9 +FC +FC +FE +FE +00 +00 +01 +01 +01 +03 +04 +05 +05 +05 +06 +06 +08 +08 +0A +0A +0A +0A +0C +0A +09 +04 +02 +00 +00 +00 +FE +FE +FC +FC +FA +FD +FF +02 +03 +02 +04 +03 +05 +05 +06 +07 +08 +07 +07 +09 +08 +0A +09 +0B +09 +07 +03 +01 +FF +FF +FD +FD +FB +FA +F9 +F9 +F7 +F7 +F5 +F5 +F5 +F5 +F5 +F4 +F3 +F3 +F2 +F2 +F0 +F1 +F0 +F0 +F0 +EE +EF +EF +F3 +F6 +F8 +F9 +FB +FB +FD +FD +FF +FF +00 +01 +05 +05 +04 +01 +FE +FC +FA +FB +F9 +F8 +F6 +F7 +F6 +F5 +F4 +F4 +F3 +F3 +F4 +F8 +F9 +FC +FC +FE +FF +FF +00 +01 +01 +01 +00 +FB +FB +F9 +F9 +F9 +F7 +F8 +F7 +F5 +F6 +F7 +FB +FC +FF +FF +00 +00 +02 +03 +02 +04 +03 +01 +FE +FD +FB +FB +FA +FA +FC +FF +01 +01 +03 +03 +05 +03 +02 +00 +FE +FC +FC +FA +FB +F9 +F9 +F7 +F8 +F7 +F6 +F6 +F6 +F4 +F5 +F3 +F4 +F6 +F8 +FC +FD +00 +FF +01 +00 +00 +FC +FB +F9 +F9 +F8 +F8 +F7 +FB +FD +00 +FF +01 +01 +03 +02 +03 +05 +05 +06 +07 +06 +08 +07 +09 +0A +09 +0A +0A +0A +0B +07 +04 +01 +00 +00 +FF +FF +FD +FD +FC +FA +FB +F9 +F9 +F8 +F8 +F7 +F5 +F6 +F7 +FB +FD +FE +FF +FF +00 +00 +FF +FC +FB +F9 +F9 +F8 +F6 +F7 +F5 +F6 +F5 +F4 +F5 +F3 +F4 +F5 +F9 +FA +FE +FE +FF +FF +00 +00 +02 +01 +03 +03 +05 +06 +06 +07 +07 +07 +09 +08 +0A +0A +0A +0B +0B +0C +0D +0B +0D +0D +0D +0E +0E +0E +0A +08 +06 +04 +04 +02 +02 +02 +06 +07 +09 +09 +09 +09 +0A +07 +05 +01 +01 +FF +00 +FF +FE +FD +FC +FC +FB +FA +F9 +F9 +F8 +FD +00 +00 +01 +01 +01 +03 +03 +03 +05 +05 +05 +06 +06 +07 +05 +00 +00 +FE +FE +FC +FC +FB +FB +FA +F8 +F9 +F7 +F8 +F7 +F5 +F5 +F5 +F5 +F6 +FB +FD +FF +FF +00 +00 +02 +03 +03 +04 +05 +06 +06 +08 +06 +04 +00 +FF +00 +FE +FE +FC +FC +FC +FA +FA +F8 +F9 +F8 +F8 +FC +FE +00 +01 +00 +02 +02 +03 +03 +05 +05 +06 +06 +07 +08 +08 +09 +0A +0A +0B +09 +0B +0B +08 +04 +03 +02 +FF +00 +FE +FE +FD +FD +FC +FC +00 +01 +03 +04 +03 +05 +04 +06 +05 +07 +06 +02 +00 +FE +FE +FC +FD +FC +FD +FE +01 +02 +02 +04 +04 +05 +02 +00 +FD +FD +FB +FB +FB +FA +F9 +F9 +F7 +F8 +FB +FC +00 +FF +00 +00 +02 +01 +FE +FC +FB +FA +F9 +F7 +F7 +F6 +F7 +F5 +F5 +F3 +F3 +F4 +F5 +F3 +F3 +F1 +F1 +F0 +EF +F1 +F0 +EE +EF +EE +EF +F3 +F5 +F7 +F7 +F9 +F9 +FB +F9 +F6 +F4 +F5 +F3 +F4 +F3 +F4 +F7 +FA +FC +FC +FE +FE +00 +FF +00 +02 +01 +03 +03 +03 +05 +05 +06 +06 +08 +08 +09 +0A +09 +09 +0A +0A +0C +0B +0B +0B +0D +0B +0D +0D +0D +0D +0F +0E +0D +09 +06 +06 +04 +05 +04 +03 +06 +08 +0A +0B +0B +0B +0C +0B +0D +0D +0E +0F +0E +0E +0D +0C +08 +06 +04 +04 +03 +01 +01 +00 +00 +FF +FE +FC +FD +FB +FC +FE +00 +02 +02 +03 +03 +05 +05 +05 +05 +05 +06 +07 +08 +08 +06 +08 +07 +07 +04 +00 +00 +FE +FE +FD +FB +FC +00 +01 +03 +04 +04 +05 +05 +06 +07 +08 +06 +06 +02 +00 +00 +FE +FE +FC +FD +FC +FA +FA +FA +FE +FF +01 +01 +06 +07 +07 +04 +FF +FF +FD +FC +FB +F9 +FA +FC +FE +00 +00 +02 +03 +01 +03 +04 +02 +04 +04 +05 +05 +06 +06 +07 +07 +08 +08 +08 +08 +0A +09 +0A +0A +0A +08 +04 +03 +01 +FF +00 +FF +FD +FE +FC +FC +FD +FF +01 +00 +02 +01 +03 +02 +04 +04 +04 +06 +05 +07 +08 +06 +08 +09 +08 +08 +04 +02 +00 +FF +FF +FD +FC +FE +FF +01 +01 +03 +02 +04 +02 +04 +03 +05 +04 +02 +00 +FF +FE +FC +FC +FC +FC +FE +01 +01 +03 +03 +03 +04 +05 +04 +06 +07 +06 +07 +07 +08 +06 +02 +01 +FF +FF +FD +FD +FC +FC +FA +FA +F9 +F8 +F8 +F6 +F6 +F4 +F5 +F3 +F3 +F3 +F1 +F2 +F3 +F7 +F9 +FB +FB +FD +FC +FE +FD +FF +FF +00 +FF +00 +FF +01 +02 +01 +03 +01 +FE +FC +FA +FA +F9 +F7 +F9 +FA +FE +00 +00 +FF +01 +FF +01 +00 +02 +02 +02 +03 +03 +04 +03 +FF +FE +FC +FC +FA +FA +F9 +F9 +F8 +F6 +F6 +F5 +F4 +F4 +F3 +F3 +F3 +F1 +F2 +F0 +F1 +F0 +EF +EF +EE +EE +EE +EE +EC +EE +EC +EC +EB +ED +EF +F1 +F3 +F4 +F7 +F6 +F8 +F8 +FA +FA +FC +FB +FD +FE +FE +FE +FA +F8 +F6 +F7 +F6 +F5 +F5 +F5 +F3 +F4 +F2 +F3 +F1 +F1 +F1 +F5 +F8 +F8 +FB +FA +FC +FC +FE +FE +00 +FF +FF +00 +00 +02 +02 +03 +04 +02 +01 +FE +FE +FC +FC +FA +FA +F9 +F8 +F9 +F8 +F8 +F7 +F7 +F6 +F6 +F5 +F4 +F5 +F3 +F3 +F3 +F3 +F1 +F3 +F1 +F3 +F5 +F9 +FA +FD +FD +FD +FF +FF +00 +00 +01 +02 +02 +02 +04 +04 +05 +05 +06 +05 +07 +06 +08 +07 +09 +09 +08 +06 +02 +02 +00 +00 +00 +FE +FE +FD +FB +FC +FC +00 +01 +01 +03 +03 +04 +02 +01 +FE +FE +FC +FC +FB +FA +F8 +F8 +F7 +F7 +F6 +F5 +F6 +F4 +F6 +F8 +FB +FC +FE +FD +FF +FF +FF +01 +00 +02 +02 +03 +03 +04 +04 +06 +05 +07 +07 +07 +08 +06 +04 +00 +00 +FF +FF +FE +FD +FF +00 +03 +03 +05 +04 +06 +04 +06 +06 +06 +06 +07 +07 +09 +08 +05 +02 +00 +FF +FF +FF +FE +FD +FC +FA +FB +F9 +FA +F8 +F9 +FA +FE +FE +00 +00 +FF +01 +00 +02 +01 +03 +04 +03 +05 +04 +06 +05 +07 +06 +05 +02 +FF +FF +FE +FE +FD +FC +FF +FF +02 +03 +02 +04 +02 +04 +05 +06 +05 +04 +00 +FF +FE +FC +FC +FA +FB +FA +F8 +F9 +F7 +F7 +F6 +F6 +F5 +F5 +F4 +F4 +F3 +F7 +F9 +FB +FC +FE +FF +00 +FF +01 +00 +02 +02 +04 +03 +05 +04 +06 +05 +06 +04 +01 +00 +FF +FE +FF +FE +FC +FC +FC +FB +FA +FA +F8 +F9 +F8 +F8 +F7 +F6 +F9 +FB +FD +FD +FF +00 +FF +00 +FF +00 +00 +00 +FD +FC +FB +FB +FA +F9 +F8 +F6 +F7 +F7 +F7 +F5 +F6 +F4 +F5 +F3 +F5 +F4 +F3 +F7 +F9 +FB +FC +FC +FE +FD +FF +FF +00 +00 +00 +01 +01 +02 +02 +07 +09 +09 +08 +06 +08 +06 +05 +01 +00 +FE +FE +FD +FD +FE +FF +02 +03 +03 +03 +03 +05 +04 +05 +04 +06 +06 +07 +07 +07 +06 +08 +09 +07 +09 +09 +09 +0A +0A +0C +0B +0A +07 +03 +03 +01 +01 +00 +FF +01 +03 +05 +05 +05 +06 +06 +05 +07 +07 +09 +08 +05 +03 +00 +00 +00 +FF +FF +FD +FD +FC +FB +FB +FA +FA +F8 +FA +FC +FE +FF +00 +FF +00 +00 +01 +01 +03 +01 +00 +FC +FC +FC +FA +FA +F9 +F9 +F8 +F7 +F7 +F7 +F6 +F5 +F5 +F4 +F4 +F4 +F2 +F3 +F2 +F1 +F3 +F1 +F3 +F2 +F4 +F6 +F9 +F9 +FB +FB +FD +FE +FF +FF +FF +00 +FD +FB +F9 +FA +F8 +F7 +F8 +F7 +F7 +F6 +F6 +F4 +F6 +F4 +F4 +F4 +F4 +F3 +F3 +F2 +F1 +F1 +F0 +F3 +F5 +F8 +F8 +FA +FB +FB +FC +FD +FE +FE +FF +FF +00 +FF +01 +00 +02 +02 +03 +03 +04 +04 +02 +00 +FF +FD +FC +FB +FB +FB +FD +00 +00 +02 +01 +03 +03 +04 +04 +05 +06 +05 +02 +00 +FF +FD +FE +FC +FD +FE +FF +02 +03 +02 +03 +03 +05 +04 +06 +06 +07 +05 +07 +06 +06 +02 +01 +00 +FF +FF +FF +FD +FD +FB +FB +FC +FD +00 +00 +01 +02 +02 +04 +04 +04 +05 +05 +05 +07 +05 +07 +07 +07 +07 +09 +07 +08 +08 +0A +09 +09 +09 +0A +06 +04 +03 +00 +00 +00 +FF +FF +FD +FD +FC +FC +FB +FA +FA +F8 +F9 +F7 +F8 +F6 +F7 +F5 +F6 +F4 +F5 +F4 +F4 +F7 +F9 +FB +FC +FD +FE +FE +FE +00 +00 +00 +FF +FD +FA +FA +F9 +FA +F8 +F9 +FB +FD +00 +FF +01 +02 +02 +02 +03 +03 +05 +04 +06 +05 +07 +06 +08 +08 +08 +09 +0A +08 +0A +07 +05 +02 +02 +00 +01 +FF +00 +FE +FE +FD +FD +FC +FC +FB +F9 +FA +F8 +F9 +F7 +F8 +F6 +F8 +F6 +F6 +F5 +F6 +F7 +FB +FB +FD +FD +FE +FD +FF +FF +00 +00 +00 +01 +01 +02 +03 +03 +03 +04 +02 +FF +FF +FC +FC +FC +FA +FA +F9 +F9 +F9 +F7 +F8 +F7 +F7 +F7 +F9 +FD +FE +FE +FF +FE +00 +FF +00 +FF +02 +03 +01 +02 +02 +03 +04 +03 +05 +04 +06 +06 +04 +03 +FF +00 +FE +FE +FC +FD +FC +FA +FB +FA +F8 +FA +F8 +F9 +F8 +F7 +F7 +F7 +FA +FD +FD +FF +FE +FF +FF +00 +FF +01 +00 +02 +02 +02 +03 +04 +03 +05 +05 +05 +06 +06 +06 +07 +08 +07 +07 +09 +08 +08 +08 +08 +09 +09 +0A +08 +0A +0A +08 +06 +03 +02 +01 +00 +00 +FF +FF +FF +FD +FE +FC +FD +FB +FB +FA +FA +FA +F8 +F8 +F7 +F7 +F7 +F7 +F7 +F5 +F7 +F5 +F7 +F5 +F6 +F5 +F4 +F4 +F4 +F4 +F3 +F5 +F3 +F3 +F3 +F3 +F2 +F2 +F1 +F2 +F6 +F7 +F9 +F9 +FA +FC +FB +FD +FC +FF +00 +FF +01 +01 +02 +02 +03 +02 +04 +04 +04 +05 +06 +05 +07 +06 +05 +02 +FF +00 +FE +FF +FD +FD +FD +FB +FD +FE +FF +FB +FA +F8 +F9 +F8 +F8 +F7 +F6 +F6 +F5 +F6 +F4 +F6 +F5 +F4 +F4 +F3 +F3 +F1 +F3 +F1 +F3 +F2 +F2 +F2 +F2 +F0 +F2 +F0 +F2 +F4 +F6 +F9 +F9 +FB +FB +FD +FD +FE +FE +FF +FF +00 +00 +02 +02 +03 +03 +04 +03 +05 +05 +06 +06 +07 +06 +06 +07 +08 +08 +08 +08 +0A +09 +0B +0A +0A +0C +0A +0C +0D +0C +0C +0C +0E +0B +09 +07 +04 +04 +02 +02 +02 +00 +00 +FF +00 +FF +FE +FE +FD +FF +FF +01 +01 +03 +03 +03 +04 +04 +05 +05 +05 +05 +05 +07 +05 +03 +00 +00 +FE +FF +FD +FE +FD +FC +FC +FB +FB +FA +FA +F9 +F8 +F9 +F8 +F6 +F7 +F7 +F7 +F8 +F7 +F7 +F5 +F7 +F8 +FC +FD +FF +FE +00 +01 +02 +01 +03 +02 +02 +00 +FE +FE +FC +FD +FC +FB +FB +FB +FA +FA +F9 +F8 +F8 +F7 +F7 +F6 +F7 +F8 +FA +FC +FE +FD +FF +FF +00 +01 +01 +01 +03 +01 +03 +04 +04 +04 +05 +06 +03 +01 +FF +FF +FF +FD +FD +FC +FC +FC +FA +FC +FC +00 +00 +FF +00 +00 +02 +01 +FE +FD +FC +FB +FB +FA +FA +FA +FA +F9 +F9 +F9 +FD +FD +FF +FF +00 +00 +00 +01 +01 +03 +02 +00 +FE +FE +FC +FC +FB +FB +FC +FF +FF +01 +01 +01 +02 +01 +03 +04 +03 +05 +04 +06 +04 +06 +06 +06 +08 +06 +04 +02 +00 +00 +00 +FF +FF +FD +FE +FD +FC +FE +00 +00 +02 +02 +03 +03 +04 +04 +05 +05 +05 +04 +00 +00 +FF +FF +FD +FE +FC +FD +FB +FC +FD +FF +00 +00 +02 +01 +03 +02 +04 +04 +04 +05 +05 +06 +06 +06 +06 +07 +08 +08 +08 +09 +09 +09 +09 +0B +09 +08 +06 +05 +03 +03 +01 +03 +02 +00 +01 +FF +00 +01 +04 +04 +06 +06 +06 +07 +05 +03 +00 +00 +FF +00 +FE +FF +FD +FE +FC +FC +FB +FB +F9 +FB +FC +FF +FF +01 +FF +01 +01 +01 +FE +FE +FB +FC +FA +FB +F9 +FA +F8 +F8 +F7 +FA +FB +FD +FE +FD +FF +FF +FF +00 +FF +00 +00 +01 +02 +01 +03 +01 +03 +04 +03 +05 +04 +06 +03 +00 +00 +FE +FE +FC +FE +FE +FE +FB +FB +FB +FD +FF +00 +01 +FF +01 +00 +02 +02 +02 +03 +03 +04 +04 +04 +02 +01 +FE +FE +FE +FE +FD +FD +FB +FC +FB +FB +FB +F9 +F9 +F9 +FD +FE +FE +00 +FF +01 +00 +02 +01 +03 +01 +00 +FE +FD +FB +FB +FB +FB +F9 +F9 +F9 +F8 +F8 +FC +FC +FE +FD +FF +FF +00 +FF +00 +00 +01 +02 +01 +03 +01 +03 +02 +04 +03 +01 +00 +FF +FF +FE +FD +FD +FB +FC +FA +FA +FA +FE +FE +00 +FF +00 +01 +00 +02 +02 +03 +03 +03 +02 +04 +04 +05 +05 +06 +06 +07 +07 +08 +09 +07 +09 +07 +07 +03 +03 +01 +02 +01 +00 +FF +00 +FE +00 +FE +FF +FD +FE +FD +FC +FC +FA +FB +FF +FF +01 +00 +02 +02 +02 +00 +00 +FF +FE +FD +FC +FB +FB +FF +FF +03 +05 +05 +03 +04 +03 +FF +FF +FD +FC +FB +FB +FA +FB +FE +FF +01 +00 +00 +00 +00 +01 +01 +02 +02 +02 +03 +02 +02 +FF +FF +FD +FD +FC +FB +FC +FA +FA +F9 +FA +F9 +F8 +F8 +F6 +F8 +F7 +F6 +F6 +F5 +F5 +F4 +F6 +F8 +F9 +FB +FC +FB +FD +FC +FC +FA +F8 +F7 +F5 +F7 +F6 +F6 +F5 +F4 +F6 +F4 +F4 +F3 +F5 +F4 +F7 +F8 +FA +FA +FC +FC +FC +FC +F8 +F8 +F7 +F7 +F6 +F7 +F5 +F6 +F5 +F7 +F6 +F8 +F9 +FA +FC +FC +FD +FE +FD +FB +F9 +F9 +F8 +F8 +F7 +F7 +F8 +F7 +F7 +F7 +F8 +F6 +F8 +F8 +F8 +F8 +FA +FA +F8 +F8 +F9 +F7 +F9 +F9 +FA +F8 +F9 +F9 +F8 +FA +FB +FB +FE +FE +FF +00 +FF +01 +01 +02 +01 +00 +FF +FF +FE +FE +FD +FD +FD +00 +01 +01 +03 +02 +04 +03 +05 +04 +06 +06 +06 +06 +08 +06 +04 +02 +00 +00 +FF +00 +FE +FF +FD +FE +FD +FB +FC +FC +FA +FB +F9 +FA +F9 +F8 +F8 +F7 +F9 +FA +FC +FE +FD +FF +FE +00 +00 +FF +01 +FF +01 +00 +02 +02 +03 +02 +04 +02 +02 +00 +FF +FD +FE +FC +FE +FC +FD +FC +FB +FB +FE +FF +FF +01 +00 +02 +02 +02 +04 +04 +05 +04 +04 +06 +04 +04 +01 +FF +00 +FE +FE +FE +FE +FC +FD +FB +FC +FA +FB +FA +FD +FD +FF +FF +00 +01 +01 +01 +FF +FE +FC +FC +FB +FB +FC +FC +FB +FA +FA +FA +FA +F8 +F9 +F7 +F7 +F6 +F7 +F8 +FA +FD +FD +FE +FE +00 +FF +00 +FF +01 +01 +FF +FE +FC +FC +FA +FC +FA +FA +F9 +F9 +F8 +FA +FD +FE +FF +00 +00 +00 +00 +FE +FE +FC +FB +FB +F9 +FB +FA +F8 +F9 +F9 +F9 +F7 +F8 +F7 +F9 +FB +FD +FE +FE +00 +FF +00 +00 +01 +03 +02 +04 +03 +05 +04 +04 +00 +00 +00 +FF +00 +FF +FF +FF +FF +FD +FE +FD +FD +FB +FB +FB +FB +FB +FD +00 +FF +01 +00 +02 +02 +03 +03 +04 +05 +04 +06 +05 +06 +04 +03 +00 +00 +00 +FF +00 +FF +FE +FE +FD +FE +FF +01 +01 +03 +01 +02 +02 +03 +FF +FF +FD +FD +FC +FE +FE +FF +00 +00 +00 +00 +01 +01 +03 +01 +03 +04 +03 +01 +00 +FE +FF +FE +FC +FD +FC +FC +FB +FB +F9 +FA +FB +F9 +FA +F9 +F9 +F9 +FB +FD +FF +FF +00 +FF +00 +00 +01 +01 +02 +02 +03 +04 +05 +05 +04 +04 +05 +06 +05 +07 +05 +05 +02 +02 +FF +00 +FE +FE +FD +FD +FD +FC +FC +FE +FF +01 +00 +02 +02 +02 +03 +03 +04 +04 +05 +05 +07 +05 +04 +03 +00 +01 +FF +00 +00 +FE +FE +FD +FD +FE +FF +01 +02 +02 +03 +03 +04 +02 +00 +00 +FE +FE +FE +FE +FD +FD +FB +FD +FC +FA +FB +FA +F8 +F9 +F7 +F9 +F7 +F8 +F8 +F8 +F6 +F8 +F7 +F8 +F8 +F9 +F7 +F9 +FA +FD +FE +FF +00 +00 +01 +01 +01 +02 +03 +02 +01 +FF +00 +FE +FE +FD +FD +FE +00 +01 +06 +07 +07 +06 +04 +05 +05 +07 +06 +07 +07 +07 +06 +07 +07 +09 +07 +09 +08 +07 +09 +07 +08 +08 +06 +04 +02 +02 +02 +01 +00 +FF +FF +FE +FE +FE +FC +FE +FC +FE +00 +00 +02 +02 +03 +03 +04 +02 +00 +FF +FF +FE +FE +FD +FD +FD +FB +FC +FA +FA +FB +F9 +FA +FD +FF +00 +00 +00 +FF +01 +01 +02 +03 +02 +02 +00 +FE +FE +FC +FD +FC +FC +FB +FB +FA +FA +F9 +F9 +F9 +F9 +FD +FF +00 +FF +00 +FF +01 +01 +02 +02 +02 +FF +00 +FE +FE +FD +FC +FC +FC +FA +FA +FB +F9 +F9 +F9 +F9 +FA +F8 +F8 +F8 +F8 +FC +FC +FE +FE +00 +FF +00 +FE +FC +FC +FA +FA +FB +F9 +F9 +F9 +F9 +F8 +FA +FA +FD +FE +FF +FF +00 +01 +00 +02 +01 +03 +02 +04 +03 +05 +05 +06 +07 +06 +08 +07 +09 +08 +09 +09 +0A +0A +0A +0A +0B +09 +07 +05 +05 +03 +05 +04 +03 +03 +02 +00 +02 +03 +05 +06 +06 +06 +07 +05 +07 +07 +06 +08 +05 +05 +03 +02 +01 +01 +00 +00 +00 +00 +FE +FF +FF +02 +03 +03 +03 +03 +04 +05 +03 +04 +05 +03 +02 +00 +00 +FF +FF +FF +FE +00 +01 +01 +03 +01 +02 +03 +01 +01 +00 +FE +FE +FE +FC +FD +FC +FB +FB +FB +FB +F9 +FA +F8 +F9 +F9 +F7 +F9 +FA +FB +FD +FD +FF +FE +00 +FF +00 +00 +00 +01 +00 +02 +02 +02 +03 +03 +03 +05 +03 +05 +03 +03 +01 +FF +00 +FE +FE +FE +FC +FE +FC +FB +FD +FE +00 +FF +00 +01 +00 +02 +02 +03 +02 +04 +04 +04 +04 +05 +06 +05 +05 +07 +06 +07 +08 +06 +04 +02 +02 +00 +00 +FF +00 +FE +FF +FE +FD +FF +FF +01 +01 +03 +02 +04 +02 +02 +00 +FF +FF +FE +FD +FD +FD +FF +FF +01 +02 +02 +02 +02 +03 +03 +04 +05 +06 +04 +06 +05 +05 +03 +02 +01 +01 +00 +00 +00 +00 +FF +FF +00 +00 +00 +02 +02 +03 +02 +04 +04 +04 +04 +06 +05 +05 +05 +05 +07 +05 +07 +06 +08 +08 +08 +08 +05 +03 +01 +00 +01 +FF +00 +FF +02 +01 +03 +03 +01 +04 +03 +03 +00 +FE +FE +FD +FD +FB +FC +FB +FA +F9 +F9 +F9 +F8 +F7 +F7 +F6 +F8 +F8 +FA +FA +FD +FD +FE +FE +FF +FF +00 +00 +01 +01 +02 +02 +04 +02 +00 +FF +FF +FD +FE +FD +FB +FD +FF +00 +00 +00 +02 +00 +02 +01 +03 +03 +03 +03 +05 +04 +04 +05 +04 +03 +05 +06 +04 +06 +04 +06 +05 +07 +07 +08 +07 +08 +06 +08 +06 +07 +04 +04 +02 +02 +00 +01 +FF +00 +FF +FF +FE +FD +FD +FB +FC +FB +FC +FB +FA +F9 +F9 +F9 +F9 +F9 +FC +FD +FD +FF +FE +00 +FF +00 +FF +01 +00 +01 +01 +01 +FF +FE +FD +FB +FC +FA +FB +F9 +F9 +F9 +F9 +F9 +F9 +F8 +F8 +F7 +F7 +F8 +F7 +F7 +FA +FC +FE +FF +FE +00 +FF +00 +00 +00 +02 +01 +03 +04 +02 +02 +FF +01 +03 +03 +FF +00 +FE +FF +FD +FD +FB +FC +FB +FA +FC +FE +00 +FF +01 +00 +FF +00 +00 +02 +00 +02 +03 +01 +03 +02 +00 +FF +FF +FD +FD +FC +FC +FC +FE +00 +FF +01 +01 +01 +01 +00 +FF +FE +FC +FD +FC +FC +FC +FA +FA +F8 +F8 +F7 +F8 +F6 +F7 +F6 +F7 +F5 +F6 +F5 +F5 +F7 +F6 +F9 +F9 +FC +FB +FD +FD +FC +FE +FE +FF +FD +FC +FA +FA +FA +F9 +F7 +F9 +F7 +F7 +F8 +F7 +F8 +FA +FC +FC +FD +FD +FE +FE +FF +FF +00 +00 +FF +00 +FF +00 +FD +FD +FC +FB +FB +F9 +FB +F9 +F9 +F9 +F9 +FB +FC +FE +FE +FF +FF +00 +FF +00 +00 +01 +FF +FF +FD +FD +FC +FC +FC +FA +FA +FA +FA +FA +FB +FE +FF +FF +00 +FF +00 +00 +00 +00 +01 +01 +03 +02 +03 +01 +00 +00 +FE +FE +FE +FC +FD +FB +FD +FB +FC +FD +FE +00 +FF +01 +00 +02 +00 +00 +FF +FF +FF +FF +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +FF +00 +00 +00 +00 +FF +00 +FF +00 +FF +01 +01 +02 +02 +03 +03 +03 +03 +03 +04 +04 +04 +05 +03 +02 +01 +FF +00 +FF +00 +00 +FF +00 +00 +00 +02 +01 +01 +02 +02 +02 +01 +03 +03 +04 +02 +04 +02 +04 +03 +05 +05 +06 +05 +07 +05 +06 +06 +06 +03 +02 +00 +00 +FF +00 +FF +FE +FE +FE +FC +FD +FB +FB +FC +FC +FE +00 +FF +00 +00 +00 +01 +02 +01 +01 +01 +FF +FF +FD +FD +FC +FC +FC +FB +FB +F9 +FB +F9 +F9 +F9 +F8 +F8 +F8 +F7 +F7 +F8 +F6 +F6 +F7 +F8 +FA +FC +FB +FD +FD +FC +FE +FE +FE +FF +FE +00 +FF +00 +00 +00 +01 +01 +01 +01 +03 +02 +02 +02 +02 +02 +FF +FF +FD +FE +FD +FC +FD +FC +FB +FB +FA +FA +F9 +F9 +F8 +F8 +F7 +F9 +F8 +F7 +F7 +F7 +F8 +F9 +FB +FB +FD +FC +FE +FD +FF +FE +00 +00 +00 +00 +01 +01 +02 +03 +02 +04 +03 +04 +04 +05 +02 +00 +01 +00 +00 +FF +FF +FE +FE +FC +FE +FC +FD +FC +FC +FE +FE +00 +00 +FF +01 +FF +00 +FF +01 +01 +01 +00 +FE +FD +FB +FD +FC +FC +FB +FA +FA +F9 +F9 +F8 +F8 +F8 +F6 +F7 +F5 +F7 +F7 +FA +FA +FC +FD +FD +FD +FF +FE +00 +00 +FF +00 +FF +00 +FE +FD +FC +FC +FB +F9 +FA +FA +FA +F9 +F9 +F9 +F7 +F8 +F6 +F8 +F6 +F6 +F5 +F7 +F6 +F5 +F6 +F4 +F4 +F4 +F3 +F6 +F6 +F9 +F8 +FA +F9 +FB +FA +FC +FD +FC +FE +FD +FF +FE +00 +00 +00 +FF +01 +FF +01 +01 +01 +03 +02 +02 +02 +02 +03 +02 +01 +FF +00 +FF +FE +FF +FE +FC +FC +FB +FB +FC +FF +FF +00 +00 +00 +01 +02 +01 +01 +01 +01 +00 +FE +FE +FD +FD +FC +FC +FC +FA +FB +FB +FB +FB +FA +FA +FB +FD +FF +FE +00 +FF +00 +00 +00 +00 +01 +01 +03 +02 +04 +05 +03 +05 +05 +05 +02 +02 +05 +07 +03 +03 +00 +02 +03 +05 +06 +04 +06 +04 +05 +06 +06 +07 +05 +03 +01 +01 +FF +00 +FE +FF +FD +FE +FC +FD +FD +00 +FF +01 +00 +02 +00 +01 +FF +00 +FE +FF +FD +FD +FD +FD +FB +FC +FA +FC +FC +FF +FF +00 +FE +00 +FE +00 +FF +00 +FF +FF +FD +FB +FB +F9 +FA +FA +FB +F9 +FA +FA +FA +F8 +FA +F8 +FA +F9 +F7 +F9 +F7 +F7 +F7 +F7 +F5 +F7 +F5 +F7 +F8 +F9 +FB +FB +FD +FD +FD +FD +FB +FB +F9 +F9 +F8 +F8 +F8 +F8 +F8 +F9 +F7 +F7 +F7 +F7 +F5 +F7 +F6 +F7 +F7 +F5 +F7 +F7 +F6 +F8 +F8 +F8 +F8 +F8 +F9 +F9 +F8 +F8 +F8 +F9 +F9 +F9 +FA +FA +F9 +FA +F9 +F9 +F9 +FA +F8 +F9 +F9 +FC +FD +FF +FF +FF +00 +FF +FC +FC +FB +FB +FB +FC +FA +FC +FD +FD +FF +FE +00 +FF +00 +FF +01 +00 +00 +FF +FE +FC +FE +FC +FC +FC +FC +FA +FC +FB +FB +FE +FE +00 +FF +00 +01 +01 +FF +00 +FE +FE +FE +FE +FE +FC +FD +FC +FD +FD +FC +FE +FE +FE +FE +FF +FD +FF +FF +00 +01 +00 +02 +02 +03 +01 +03 +03 +04 +04 +04 +04 +06 +05 +05 +06 +04 +04 +01 +02 +00 +01 +00 +00 +00 +00 +FF +FF +FE +FD +FD +FD +FE +FD +FB +FD +FE +FF +00 +FF +01 +00 +00 +02 +01 +03 +01 +02 +04 +02 +04 +02 +03 +03 +04 +02 +01 +00 +FF +00 +FE +FF +FD +FE +FD +FC +FE +FF +00 +01 +00 +01 +01 +02 +FF +00 +FE +FE +FD +FD +FC +FD +FF +FF +00 +00 +01 +01 +01 +02 +02 +02 +02 +04 +02 +04 +04 +02 +01 +00 +FF +00 +FE +FF +FD +FE +FC +FD +FE +FE +00 +FF +01 +01 +02 +01 +03 +02 +02 +02 +03 +04 +05 +04 +04 +03 +05 +05 +05 +06 +06 +06 +04 +02 +02 +00 +01 +FF +00 +FF +02 +03 +04 +04 +05 +03 +05 +06 +04 +06 +04 +04 +02 +01 +01 +FF +00 +00 +FF +00 +FE +FE +FF +00 +01 +01 +02 +03 +04 +04 +04 +05 +05 +06 +07 +05 +07 +06 +04 +03 +01 +02 +01 +00 +00 +00 +FF +FF +FD +FE +FC +FE +FE +FE +FD +FB +FC +FC +FF +00 +FF +00 +FF +00 +00 +01 +00 +02 +01 +01 +02 +01 +01 +FF +FF +FD +FD +FD +FD +FC +FE +FE +00 +00 +FF +00 +00 +FF +00 +FD +FD +FC +FC +FC +FB +F9 +FA +FA +FA +F9 +FB +F9 +FB +F9 +F9 +F9 +FB +F9 +FA +FB +F9 +F9 +F8 +FA +F8 +FA +F9 +F9 +F9 +F9 +F9 +FA +F8 +FA +FA +FA +FA +FB +FC +FD +FD +FF +FF +00 +FE +FD +FD +FD +FB +FB +FB +FB +FB +F9 +FA +FB +FA +FA +FA +FA +FD +FE +FE +FF +FF +FF +FF +FF +FD +FD +FB +FB +FB +FB +FB +FB +FB +FA +FB +FB +FD +FE +FD +FF +FF +FF +FE +00 +FF +00 +FF +FF +FD +FD +FD +FE +FD +FC +FC +FC +FC +FC +FC +FB +FC +FB +FD +FB +FC +FC +FC +FC +FB +FD +FB +FD +FE +FE +FD +FB +FC +FC +FF +FF +00 +FF +00 +00 +01 +01 +03 +02 +02 +00 +00 +FF +FF +FE +FD +FF +FD +FE +FF +FD +FF +FD +FE +FC +FD +FE +FD +FE +FE +FE +00 +FE +FE +FE +FE +FE +FD +FF +00 +FE +00 +FE +FF +FE +FF +FE +FF +FF +FF +00 +FE +00 +00 +00 +00 +00 +00 +02 +FF +00 +FE +00 +FE +FF +00 +FE +FF +FF +00 +FF +00 +00 +00 +FF +FF +00 +00 +01 +01 +01 +01 +03 +02 +02 +04 +03 +05 +04 +03 +02 +00 +00 +00 +FF +FF +00 +00 +FE +00 +FE +FF +FF +00 +01 +02 +01 +02 +01 +03 +04 +04 +03 +01 +00 +FF +00 +FE +00 +FE +FF +FE +FF +FF +FF +FF +FF +FE +00 +FE +00 +FE +00 +FF +01 +00 +02 +02 +02 +04 +04 +03 +04 +03 +01 +01 +FF +00 +FF +FF +FE +FE +FE +FE +FC +FE +FD +FE +FC +FE +FC +FC +FB +FD +FB +FB +FB +FC +FB +FB +FC +FC +FE +FE +00 +00 +FF +01 +00 +00 +01 +01 +02 +02 +03 +02 +04 +03 +05 +04 +02 +02 +00 +00 +01 +FF +00 +FF +00 +00 +00 +00 +00 +FF +FF +00 +01 +01 +03 +01 +03 +04 +02 +03 +03 +05 +03 +05 +03 +05 +05 +05 +06 +06 +05 +03 +02 +01 +01 +00 +00 +00 +00 +FF +00 +FF +FE +FE +FD +FE +FF +00 +00 +01 +FF +00 +00 +02 +01 +01 +02 +00 +00 +FF +FD +FE +FC +FC +FC +FC +FB +FA +FA +F9 +FB +F9 +FB +F9 +FB +F9 +FA +FC +FC +FE +FE +FF +00 +00 +FF +00 +00 +00 +01 +02 +00 +02 +01 +03 +01 +03 +04 +03 +04 +05 +05 +03 +05 +04 +06 +04 +06 +05 +06 +05 +06 +04 +03 +00 +01 +FF +00 +FF +00 +FF +02 +02 +03 +03 +03 +02 +04 +03 +05 +05 +03 +02 +00 +00 +FF +FF +FF +FD +FF +FE +FC +FD +FB +FD +FB +FB +FB +FB +F9 +FB +F9 +FB +F9 +F9 +F9 +FA +F9 +F9 +FB +FB +FD +FD +FF +FE +FE +00 +FE +00 +00 +FF +00 +00 +00 +00 +00 +02 +00 +00 +FE +FE +FC +FE +FC +FC +FD +FB +FB +FA +FB +FB +FB +FB +FD +FF +00 +00 +FF +00 +01 +03 +02 +03 +02 +00 +00 +00 +FE +FE +FC +FE +FD +FB +FD +FB +FB +FC +FA +FB +FB +FB +FD +FD +FF +FF +00 +FF +00 +FF +FD +FD +FE +FC +FD +FB +FB +FB +FB +FB +F9 +FB +FA +FA +FA +FC +FC +FE +FD +FE +FE +FE +FC +FC +FB +FB +FA +FA +FA +F9 +F9 +F7 +F7 +F7 +F7 +F8 +F6 +F6 +F6 +F6 +F7 +F8 +FA +FA +FB +FB +FC +FC +FD +FD +FF +FE +FE +FC +FA +FC +FA +FC +FA +FA +F9 +FA +F9 +F7 +F9 +F7 +F9 +F8 +F7 +F9 +F8 +F9 +FB +FB +FC +FC +FD +FC +FE +FD +FF +FF +00 +FE +FE +FB +FB +FB +FB +F9 +FB +FC +FE +FF +FE +FF +FF +00 +00 +00 +01 +01 +03 +02 +02 +03 +03 +04 +05 +04 +04 +01 +01 +FF +00 +FF +00 +FF +00 +FF +FF +FF +00 +00 +03 +05 +07 +05 +05 +03 +02 +00 +00 +FF +00 +FE +FF +FD +FE +FD +FE +FC +FD +FC +FC +FB +FB +FB +FC +FE +FF +00 +00 +01 +01 +01 +01 +03 +03 +04 +02 +02 +00 +01 +FF +00 +FF +00 +FF +FF +FF +FE +FE +FD +FD +FD +FD +FD +FB +FC +FC +FA +FC +FC +FF +00 +FF +01 +00 +00 +01 +01 +01 +01 +02 +FF +00 +FE +FE +FF +FE +FC +FD +FD +FE +FE +FF +FF +FF +00 +FF +01 +00 +01 +FF +FF +FE +FE +FD +FD +FE +FD +FC +FE +FC +FB +FD +FB +FB +FA +FA +FA +FA +F9 +FA +F9 +FB +F9 +F9 +F9 +F9 +FB +FB +FD +FD +FE +FE +FF +00 +FF +00 +FF +00 +FF +01 +01 +01 +02 +02 +03 +02 +FF +00 +FF +FF +FF +FF +FE +00 +00 +02 +02 +02 +01 +03 +01 +01 +FF +00 +FF +FE +FE +FD +FF +00 +00 +01 +01 +02 +02 +03 +04 +02 +04 +02 +02 +00 +00 +00 +FF +00 +FF +FF +FE +FE +FE +FD +FD +FC +FC +FC +FC +FB +FB +FB +FB +FA +FB +FD +FE +FD +FF +FE +00 +00 +FF +01 +FF +01 +FF +FF +FD +FE +FC +FE +FC +FD +FD +FD +FC +FD +FC +FD +FC +FE +FF +00 +00 +01 +01 +02 +03 +03 +04 +03 +03 +05 +04 +04 +05 +03 +02 +01 +01 +00 +01 +00 +00 +FF +00 +FE +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +00 +00 +FE +00 +FE +00 +00 +01 +01 +01 +02 +03 +02 +03 +02 +02 +02 +00 +00 +FF +00 +FE +00 +FE +FE +FD +FF +FD +FF +FE +00 +FF +01 +01 +01 +01 +FF +00 +FE +FE +FF +FE +FE +FE +00 +00 +00 +00 +01 +01 +01 +FF +00 +FE +FF +FD +FF +FD +FE +FE +FE +FD +FF +FF +FD +FF +FD +FF +FF +00 +FF +01 +01 +01 +01 +01 +02 +03 +02 +04 +02 +04 +03 +04 +04 +04 +01 +01 +FF +00 +00 +00 +00 +00 +FE +FE +FE +00 +FF +01 +01 +02 +02 +03 +01 +02 +04 +02 +04 +04 +04 +04 +06 +05 +05 +06 +04 +06 +05 +07 +05 +04 +03 +01 +02 +01 +00 +01 +FF +00 +00 +FF +00 +00 +02 +03 +01 +02 +02 +02 +00 +FF +01 +FF +00 +00 +FE +00 +01 +03 +02 +04 +04 +03 +03 +05 +03 +05 +04 +05 +05 +05 +05 +05 +05 +07 +06 +06 +06 +08 +06 +08 +07 +07 +06 +05 +04 +03 +02 +01 +01 +01 +02 +03 +02 +04 +04 +04 +04 +05 +03 +05 +05 +05 +05 +05 +04 +04 +04 +04 +04 +02 +04 +03 +03 +00 +00 +FF +00 +FF +FE +FE +FD +FD +FC +FC +FC +FC +FC +FC +FA +FC +FD +FB +FD +FC +FB +FD +FB +FD +FD +FB +FC +FC +FE +FD +FF +FE +00 +FF +FF +00 +00 +00 +00 +00 +00 +00 +FE +FF +FE +FD +FD +FC +FE +FE +FE +FD +FC +FD +FD +FD +FE +FE +FF +FF +00 +00 +00 +01 +02 +02 +03 +02 +01 +00 +FF +FF +FF +FF +FE +FF +00 +FF +FF +FF +00 +00 +00 +01 +02 +01 +01 +01 +02 +01 +05 +06 +04 +01 +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +01 +01 +02 +00 +01 +02 +00 +02 +00 +02 +00 +00 +FF +FF +FD +FF +FE +FE +FE +00 +FF +00 +01 +01 +02 +02 +03 +02 +04 +01 +01 +02 +01 +01 +01 +01 +02 +01 +01 +00 +00 +00 +00 +02 +02 +03 +03 +04 +05 +03 +04 +04 +05 +03 +05 +03 +05 +03 +05 +04 +04 +05 +04 +04 +03 +01 +FF +00 +FF +FF +FD +FF +FF +00 +01 +01 +01 +01 +01 +03 +02 +02 +02 +00 +00 +FE +00 +FF +FD +FE +FC +FD +FB +FC +FD +FD +FF +FF +FF +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +00 +00 +00 +01 +FF +01 +FF +00 +00 +02 +00 +02 +00 +00 +00 +FE +FF +FD +FD +FC +FC +FB +FB +FA +FC +FD +FE +FF +FD +FF +FE +FF +FD +FC +FA +FB +F9 +FB +FA +FA +F9 +FB +F9 +F9 +F8 +F8 +F8 +FA +FA +FC +FC +FC +FD +FD +FD +FD +FE +FE +FE +FD +FB +FB +FB +FB +F9 +FA +FA +FC +FD +FD +FF +FD +FF +FF +FE +FC +FC +FA +FC +FA +FA +FA +FA +F8 +F9 +F8 +F7 +F9 +F7 +F8 +F6 +F8 +F6 +F8 +F6 +F6 +F6 +F6 +F6 +F6 +F6 +F7 +F7 +F6 +F7 +F7 +FA +FB +FC +FD +FD +FE +FE +FE +FF +FF +00 +FF +00 +FF +00 +FF +00 +00 +00 +FE +FE +FC +FE +FD +FB +FD +FB +FB +FC +FA +FB +F9 +FB +FA +FC +FC +FE +FD +FE +FE +00 +00 +FF +FE +00 +FE +FD +FC +FC +FC +FB +FA +FB +FC +FD +FE +FD +FE +FF +FE +FC +FC +FA +FB +FA +F9 +FB +FA +FA +F9 +FB +FA +FC +FB +FD +FD +FE +FF +FD +FE +FE +00 +FE +FF +00 +FF +00 +00 +FF +01 +00 +00 +FE +FF +FE +FC +FD +FD +FD +FC +FC +FC +FC +FB +FC +FC +FC +FB +FC +FB +FD +FB +FD +FB +FD +FC +FE +FD +FF +00 +00 +00 +FF +FE +FD +FE +FD +FD +FE +FD +FE +FD +FD +FE +FE +FE +FE +FE +FE +FF +FF +00 +FF +00 +00 +01 +00 +00 +02 +01 +01 +00 +02 +00 +01 +01 +03 +02 +03 +03 +01 +00 +FF +00 +FF +00 +00 +FE +FF +FD +FF +00 +FE +FF +FF +FF +00 +FE +00 +FE +FF +FF +FF +FF +00 +00 +00 +01 +01 +01 +01 +01 +FF +00 +00 +00 +01 +00 +02 +00 +02 +03 +03 +01 +03 +02 +02 +02 +03 +01 +02 +02 +02 +02 +02 +00 +01 +01 +01 +01 +03 +01 +03 +01 +03 +03 +02 +03 +02 +02 +00 +00 +00 +FF +FF +00 +FF +FF +FE +FD +FD +FC +FE +FC +FC +FB +FD +FB +FD +FC +FC +FC +FC +FA +FB +FA +FA +FA +FA +F9 +F8 +F8 +F6 +F8 +F9 +FA +FA +FC +FB +FC +FC +FE +FD +FC +FE +FD +FD +FE +FE +00 +00 +FE +00 +FF +00 +FF +00 +FE +FE +FD +FB +FB +FB +FB +FB +FB +F9 +F9 +F9 +F9 +FA +F8 +F9 +FA +F8 +F8 +F9 +F8 +F8 +F9 +F7 +F7 +F7 +F8 +F7 +F8 +F7 +F7 +F8 +FA +FB +FB +FC +FC +FD +FF +03 +01 +00 +00 +FF +00 +FF +00 +FF +00 +00 +FF +FF +FD +FD +FE +FD +FB +FC +FA +FC +FA +FA +F9 +FB +F9 +FB +FB +FD +FD +FD +FF +FD +FE +FE +00 +FF +00 +00 +00 +00 +01 +FF +01 +00 +02 +03 +01 +03 +02 +01 +00 +00 +FF +00 +FF +00 +FF +01 +02 +02 +04 +02 +04 +05 +04 +04 +04 +04 +03 +05 +05 +05 +03 +01 +01 +FF +00 +FF +FF +FF +00 +02 +00 +01 +00 +02 +00 +00 +FF +FF +FE +FE +FE +FE +FD +FF +FF +00 +00 +FF +00 +FF +00 +00 +FF +FF +00 +FF +00 +FF +01 +00 +02 +00 +00 +FE +FE +FD +FD +FC +FC +FC +FE +00 +00 +00 +FF +00 +FF +00 +FF +01 +01 +FF +01 +02 +01 +02 +03 +02 +02 +03 +02 +03 +02 +01 +00 +00 +FE +FE +FD +FE +FE +00 +FF +00 +00 +01 +01 +FF +01 +02 +00 +02 +00 +00 +00 +FE +FF +FD +FE +FD +FD +FD +FD +FE +FE +FF +FF +00 +00 +FF +00 +FF +00 +00 +01 +FF +01 +FF +01 +FF +FF +FE +FE +FC +FE +FD +FB +FD +FB +FB +FB +FB +F9 +FB +FA +F8 +F9 +F9 +FB +FB +FC +FC +FD +FD +FE +FD +FD +FB +FB +F9 +FB +F9 +F9 +F8 +F9 +F9 +F9 +F9 +FB +FC +FB +FC +FC +FE +FD +FE +FF +FF +FF +FD +FD +FD +FD +FD +FD +FC +FC +FF +00 +FF +00 +00 +FF +00 +FF +FF +FE +FE +FD +FD +FC +FE +FD +FB +FD +FB +FB +FB +FB +FA +FA +FA +FA +FA +FC +FC +FD +FD +FF +FE +FF +00 +FE +00 +FF +00 +00 +FF +00 +FE +FF +FE +FD +FD +FD +FB +FD +FD +FF +FE +00 +FE +00 +FF +00 +01 +FF +00 +00 +00 +00 +00 +00 +00 +01 +02 +00 +02 +03 +02 +02 +02 +02 +03 +01 +03 +02 +03 +01 +03 +03 +01 +01 +00 +FF +00 +FE +FF +FE +FF +FE +FC +FE +FF +FE +00 +FF +00 +00 +01 +00 +01 +00 +00 +00 +01 +01 +00 +00 +FF +FF +FE +FE +FE +FE +FC +FE +FD +FB +FD +FB +FD +FB +FD +FC +FE +FD +FE +00 +FE +00 +FF +FF +00 +FF +00 +FE +FE +FC +FE +FC +FC +FC +FA +FC +FC +FE +FC +FE +FD +FC +FD +FD +FD +FD +FC +FC +FC +FB +FC +FB +FC +FD +FB +FD +FB +FC +FD +FD +FF +FE +00 +FF +00 +00 +00 +01 +02 +01 +03 +01 +02 +02 +03 +04 +04 +05 +03 +05 +04 +04 +05 +03 +03 +01 +01 +FF +00 +01 +FF +01 +00 +00 +00 +FF +00 +FF +00 +00 +00 +01 +01 +00 +FF +01 +01 +01 +01 +01 +01 +01 +FF +00 +00 +FF +00 +FF +00 +FF +FF +FE +00 +FE +00 +FF +FD +FF +FF +FF +FF +00 +00 +FF +00 +FF +01 +FF +00 +00 +00 +00 +FF +01 +FF +00 +00 +FF +FE +FF +FF +FF +FD +FF +FD +FD +FD +FE +FE +00 +00 +FE +00 +FF +00 +00 +02 +01 +01 +01 +02 +02 +00 +00 +00 +FF +FF +FD +FE +FD +FD +FD +FB +FD +FB +FB +FC +FC +FE +FE +00 +04 +04 +01 +01 +FF +FF +FE +FE +FC +FD +FC +FB +FD +FD +FF +FF +00 +FE +00 +FE +FF +FF +FF +FF +00 +00 +FF +00 +FE +FE +FD +FB +FD +FB +FB +FC +FB +FB +FB +FB +FB +FB +FB +FC +FC +FD +FE +FE +FF +FE +FF +00 +FE +00 +FF +FF +00 +FF +00 +01 +01 +00 +00 +FF +FF +FE +FE +FE +FE +FE +FE +FF +FD +FF +FF +00 +FF +00 +01 +FF +01 +FF +00 +00 +FF +01 +01 +01 +01 +00 +00 +00 +FF +FF +FF +FE +FF +00 +00 +FF +01 +FF +01 +FF +00 +FE +FF +FE +FD +FD +FD +FD +FD +FC +FC +FD +FD +FF +FD +FF +FD +FF +FF +FE +FF +FF +FF +FF +00 +FF +00 +00 +FF +01 +FF +01 +FF +00 +00 +00 +00 +00 +01 +00 +01 +00 +FF +00 +FE +FF +FD +FD +FC +FE +FC +FD +FB +FC +FD +FD +FE +FF +FE +FF +00 +FF +00 +FF +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +FF +01 +01 +01 +01 +02 +00 +02 +00 +01 +02 +01 +01 +01 +03 +01 +03 +01 +03 +01 +03 +01 +03 +02 +00 +00 +00 +FF +FF +FE +FE +FE +00 +FF +FF +01 +00 +00 +01 +FF +00 +FF +FE +FF +FD +FD +FC +FE +FE +00 +FF +00 +FF +00 +FF +FF +FD +FE +FD +FB +FC +FC +FB +FD +FE +FD +FF +FF +FF +FF +00 +FF +00 +00 +FF +FF +FD +FF +FE +FE +FE +FE +FE +FC +FD +FD +FE +FE +00 +FF +00 +00 +FF +00 +00 +01 +00 +00 +00 +02 +01 +01 +01 +02 +00 +00 +FF +FF +FF +FE +FD +FD +FC +FE +FC +FD +FC +FE +FD +FF +FE +00 +FE +FF +FF +FE +00 +FE +00 +FE +FF +FF +FF +FF +FF +FE +00 +00 +00 +00 +FF +00 +FF +FF +FD +FD +FD +FD +FD +FB +FD +FB +FC +FC +FC +FD +FC +FE +FF +FD +FF +FF +FD +FE +FC +FD +FB +FD +FB +FD +FB +FB +FB +FB +FB +FA +FB +FA +FC +FD +FD +FD +FE +FE +FE +FD +FF +FD +FF +FF +FF +FF +FF +FF +00 +FF +00 +FF +01 +00 +00 +00 +FF +01 +01 +01 +01 +01 +FF +00 +00 +FE +FF +FD +FE +FC +FD +FD +00 +FF +00 +FF +00 +FE +FE +FD +FD +FC +FC +FA +FC +FA +FB +FA +FB +FB +FC +FB +FA +FA +F9 +FB +FC +FB +FD +FD +FD +FE +FC +FE +FC +FD +FD +FE +FC +FE +FC +FD +FB +FD +FD +FF +FF +FE +00 +FF +FF +FF +FD +FF +FD +FF +FF +FF +FF +00 +00 +FF +00 +FF +00 +FE +FF +FF +00 +FF +FF +FF +FF +FF +00 +FE +FE +FE +00 +FE +FF +FE +00 +FF +01 +FF +00 +00 +00 +00 +00 +00 +01 +FF +01 +FF +01 +02 +01 +01 +FF +01 +02 +01 +01 +FF +00 +FF +FE +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +FF +FF +FE +00 +FF +00 +00 +FF +00 +00 +FF +00 +FF +00 +FF +00 +FF +00 +00 +FF +00 +00 +FE +FF +FF +00 +FF +00 +FF +01 +FF +01 +FF +01 +FF +00 +00 +00 +00 +04 +02 +00 +FF +00 +FF +FF +FF +FF +FF +FF +FD +FF +FE +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FD +FF +FE +FF +FD +FD +FC +FE +FD +FC +FD +FE +FC +FC +FC +FC +FB +FD +FD +FE +FF +FD +FF +FE +FE +FC +FB +FD +FC +FC +FD +FB +FD +FD +FB +FC +FC +FD +FD +FF +FD +FF +FF +FD +FE +FC +FC +FC +FC +FC +FA +FB +F9 +FA +FA +FB +FB +FB +FB +FB +FE +FD +FF +FE +FF +00 +00 +FF +00 +00 +FF +FF +FD +FD +FE +FC +FC +FC +FD +FC +FB +FC +FB +FB +FA +FB +FB +FB +FB +FB +FC +FA +FA +FA +FB +FC +FC +FD +FC +FC +FE +FD +FC +FE +FC +FC +FA +FB +FA +FA +F8 +FA +F8 +F9 +F9 +F9 +F7 +F9 +F7 +F8 +F8 +F9 +F7 +F9 +F9 +FB +FB +FC +FC +FC +FC +FE +FD +FE +FE +FE +FE +FF +FE +00 +FF +00 +FF +FF +FD +FD +FD +FD +FC +FB +FC +FC +FC +FB +FD +FB +FB +FC +FA +FC +FA +FB +FC +FC +FD +FD +FD +FE +FF +FD +FF +FE +00 +FF +00 +FF +00 +00 +01 +00 +00 +00 +FF +FF +FD +FF +FD +FD +FC +FE +FE +FD +FC +FC +FE +FF +00 +FF +FE +00 +FF +00 +00 +FF +00 +FF +01 +00 +FF +01 +FF +01 +00 +00 +FE +FF +FE +FE +FC +FD +FD +FC +FD +FB +FD +FB +FB +FC +FD +FD +FE +FD +FF +FF +FF +FF +FF +00 +FF +00 +FF +01 +FF +01 +01 +01 +02 +02 +02 +02 +02 +02 +01 +FF +01 +FF +FF +00 +FF +00 +FE +FF +FF +FF +FF +FD +FF +FD +FD +FE +FE +FF +FF +00 +FF +00 +00 +00 +00 +00 +01 +00 +00 +00 +FE +FF +FD +FF +FD +FD +FD +FC +FD +FD +FD +FB +FD +FB +FD +FC +FA +FB +FB +FD +FD +FC +FD +FE +FD +FD +FE +FD +FD +FE +FC +FC +FB +FC +FC +FD +FC +FE +FD +FD +FD +FD +FE +FE +FF +FF +FF +FF +00 +FF +FF +00 +FE +FE +FE +FE +FD +FE +FE +FE +FE +FF +FE +FE +00 +FE +00 +FE +FF +FF +FF +00 +FF +FF +FF +FF +FF +00 +FF +00 +01 +00 +00 +00 +00 +00 +00 +02 +02 +02 +02 +02 +00 +02 +00 +02 +02 +01 +FF +FF +FE +00 +FF +FF +FF +FE +00 +FF +01 +00 +FF +01 +00 +00 +01 +00 +00 +00 +01 +FF +01 +FF +00 +00 +00 +FF +00 +00 +01 +02 +01 +01 +FF +00 +FF +FF +FF +FD +FE +FE +00 +FF +00 +FF +01 +00 +00 +00 +00 +02 +00 +FF +00 +FF +00 +00 +00 +FF +FF +FE +00 +FE +00 +FE +00 +FE +FF +FE +00 +FF +FF +00 +FF +00 +00 +00 +01 +FF +01 +FF +00 +00 +02 +01 +02 +01 +02 +03 +03 +02 +00 +00 +00 +FF +FF +FE +FF +FE +FE +FD +FD +FD +FF +FD +FE +FE +FE +FD +FF +FD +FF +00 +FE +FE +FE +00 +FF +FF +FE +FD +FF +FD +FE +FF +FD +FD +FD +FE +FD +FD +FB +FD +FD +FF +FE +FF +FF +00 +FF +00 +00 +00 +02 +03 +04 +00 +00 +FF +00 +00 +FF +FE +FD +FD +FC +FD +FF +FF +00 +FF +00 +FF +00 +FF +FF +00 +FF +FF +FD +FE +FE +FE +FC +FD +FD +FE +FF +FF +00 +00 +00 +01 +FF +00 +FF +FD +FF +FD +FD +FD +FD +FD +FD +FD +FD +FB +FD +FB +FC +FC +FC +FD +FE +FE +FF +FF +FF +00 +00 +FF +00 +FF +00 +00 +00 +01 +FF +00 +FE +FE +FE +FC +FC +FD +FD +FF +FD +FF +FF +FE +00 +FF +00 +FF +00 +01 +01 +01 +02 +02 +02 +02 +02 +02 +04 +02 +03 +03 +05 +03 +04 +04 +04 +04 +06 +04 +06 +05 +05 +03 +03 +01 +02 +00 +02 +01 +00 +00 +00 +00 +FF +00 +01 +00 +02 +01 +03 +02 +01 +02 +02 +04 +02 +03 +03 +03 +01 +01 +00 +00 +00 +01 +00 +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +00 +00 +00 +02 +02 +01 +FF +00 +00 +02 +00 +02 +00 +02 +01 +01 +01 +01 +02 +02 +02 +03 +02 +03 +02 +01 +FF +00 +FF +FF +00 +FF +00 +FF +00 \ No newline at end of file diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/rom/k3.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/k3.vhd new file mode 100644 index 00000000..8e3defbb --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/k3.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity k3 is +port ( + clk : in std_logic; + addr : in std_logic_vector(10 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of k3 is + type rom is array(0 to 2047) 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"EE",X"E0",X"EE",X"EE",X"EE",X"0E",X"EE",X"EE", + X"EE",X"E0",X"EE",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"0E",X"EE",X"EE", + X"0E",X"00",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"E0",X"E0",X"E0",X"E0",X"E0",X"00",X"E0",X"E0", + X"E0",X"E0",X"E0",X"E0",X"00",X"00",X"00",X"00",X"0E",X"00",X"0E",X"0E",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"E0",X"00",X"E0",X"E0",X"00",X"00",X"00",X"00",X"0E",X"0E",X"0E",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"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00", + X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00", + X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"02",X"22",X"3B",X"1F",X"09",X"1E",X"00",X"00",X"08",X"50",X"70",X"E0",X"78",X"30", + X"06",X"0D",X"1F",X"32",X"04",X"00",X"00",X"00",X"60",X"F0",X"B8",X"E8",X"44",X"00",X"00",X"00", + X"40",X"70",X"3B",X"1F",X"1D",X"0B",X"0E",X"7C",X"00",X"02",X"4E",X"FC",X"C8",X"7C",X"38",X"30", + X"0E",X"1F",X"1D",X"0B",X"1F",X"32",X"60",X"00",X"78",X"38",X"EC",X"F8",X"6C",X"66",X"02",X"00", + X"8E",X"64",X"79",X"3F",X"97",X"9D",X"38",X"75",X"53",X"86",X"8C",X"DD",X"FD",X"69",X"10",X"BF", + X"FC",X"19",X"DF",X"BB",X"7F",X"64",X"C0",X"9C",X"B8",X"3C",X"5E",X"F0",X"F9",X"DC",X"B6",X"B3", + X"00",X"00",X"04",X"04",X"08",X"10",X"A0",X"C0",X"00",X"00",X"00",X"08",X"02",X"78",X"FE",X"D6", + X"00",X"00",X"28",X"38",X"24",X"00",X"1C",X"7F",X"00",X"00",X"20",X"30",X"18",X"09",X"0D",X"03", + X"00",X"08",X"E4",X"F0",X"B0",X"60",X"E0",X"C0",X"AB",X"FD",X"FE",X"7F",X"77",X"2F",X"4F",X"E3", + X"67",X"DB",X"FE",X"FE",X"FD",X"6D",X"F1",X"D7",X"04",X"04",X"09",X"11",X"01",X"07",X"0F",X"1B", + X"B0",X"F4",X"66",X"B4",X"B6",X"61",X"C0",X"80",X"CF",X"AF",X"17",X"A7",X"F3",X"DF",X"FF",X"E7", + X"7B",X"F6",X"E8",X"E6",X"FE",X"B6",X"6D",X"FF",X"1D",X"1B",X"0D",X"1E",X"1D",X"0F",X"03",X"00", + X"30",X"40",X"A0",X"90",X"48",X"04",X"00",X"00",X"FA",X"BC",X"7C",X"F8",X"E2",X"04",X"00",X"00", + X"6F",X"36",X"39",X"1F",X"4E",X"20",X"20",X"00",X"04",X"02",X"0D",X"09",X"10",X"20",X"20",X"00", + X"00",X"02",X"0C",X"98",X"C8",X"C0",X"58",X"FC",X"00",X"1E",X"7F",X"73",X"6D",X"FE",X"FF",X"FF", + X"00",X"00",X"0F",X"DE",X"F7",X"DF",X"FF",X"FF",X"80",X"C4",X"62",X"30",X"19",X"13",X"03",X"0F", + X"FE",X"EE",X"F6",X"F7",X"EF",X"DE",X"F8",X"FF",X"FF",X"EF",X"CB",X"17",X"2F",X"5D",X"8B",X"EF", + X"BF",X"7D",X"DC",X"C5",X"D3",X"ED",X"E1",X"83",X"0F",X"06",X"19",X"3F",X"3D",X"1B",X"1B",X"5D", + X"FF",X"7F",X"EF",X"F7",X"FA",X"F7",X"FB",X"F7",X"87",X"D8",X"2F",X"0F",X"67",X"FB",X"FF",X"B7", + X"E7",X"AD",X"61",X"C1",X"9C",X"FD",X"FF",X"BF",X"7F",X"EF",X"FF",X"FB",X"FF",X"6F",X"07",X"0D", + X"EF",X"DE",X"3C",X"F0",X"84",X"94",X"0A",X"01",X"CF",X"FE",X"FF",X"7F",X"B5",X"CB",X"FF",X"74", + X"3F",X"FF",X"DE",X"9F",X"83",X"3D",X"48",X"50",X"0E",X"0F",X"0F",X"27",X"13",X"28",X"48",X"80", + X"00",X"03",X"03",X"01",X"01",X"01",X"73",X"77",X"00",X"80",X"80",X"00",X"00",X"00",X"9C",X"DC", + X"7F",X"7F",X"7F",X"7F",X"77",X"70",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"DC",X"1C",X"00",X"00", + X"00",X"70",X"77",X"7F",X"7F",X"7F",X"7F",X"77",X"00",X"1C",X"DC",X"FC",X"FC",X"FC",X"FC",X"DC", + X"73",X"01",X"01",X"01",X"03",X"03",X"00",X"00",X"9C",X"00",X"00",X"00",X"80",X"80",X"00",X"00", + X"00",X"7F",X"7F",X"7F",X"1E",X"3F",X"3F",X"3F",X"00",X"80",X"80",X"80",X"00",X"00",X"8C",X"FC", + X"3F",X"3F",X"1E",X"7F",X"7F",X"7F",X"00",X"00",X"8C",X"00",X"00",X"80",X"80",X"80",X"00",X"00", + X"00",X"03",X"03",X"03",X"00",X"01",X"63",X"7F",X"00",X"FC",X"FC",X"FC",X"F0",X"F8",X"F8",X"F8", + X"63",X"01",X"00",X"03",X"03",X"03",X"00",X"00",X"F8",X"F8",X"F0",X"FC",X"FC",X"FC",X"00",X"00", + X"00",X"03",X"03",X"01",X"71",X"77",X"7C",X"78",X"00",X"80",X"80",X"00",X"1C",X"DC",X"7C",X"3C", + X"78",X"7C",X"76",X"73",X"71",X"70",X"00",X"00",X"3C",X"7C",X"DC",X"9C",X"1C",X"1C",X"00",X"00", + X"00",X"70",X"71",X"73",X"76",X"7C",X"78",X"78",X"00",X"1C",X"1C",X"9C",X"DC",X"7C",X"3C",X"3C", + X"7C",X"77",X"71",X"01",X"03",X"03",X"00",X"00",X"7C",X"DC",X"1C",X"00",X"80",X"80",X"00",X"00", + X"00",X"7F",X"7F",X"7F",X"07",X"0C",X"18",X"30",X"00",X"E0",X"E0",X"E0",X"80",X"C0",X"4C",X"7C", + X"18",X"0C",X"07",X"7F",X"7F",X"7F",X"00",X"00",X"4C",X"C0",X"80",X"E0",X"E0",X"E0",X"00",X"00", + X"00",X"0F",X"0F",X"0F",X"03",X"06",X"64",X"7C",X"00",X"FC",X"FC",X"FC",X"C0",X"60",X"30",X"18", + X"64",X"06",X"03",X"0F",X"0F",X"0F",X"00",X"00",X"30",X"60",X"C0",X"FC",X"FC",X"FC",X"00",X"00", + X"00",X"00",X"00",X"7C",X"82",X"82",X"82",X"7C",X"00",X"8C",X"D2",X"A2",X"82",X"84",X"00",X"00", + X"00",X"00",X"00",X"7C",X"82",X"82",X"82",X"7C",X"00",X"0C",X"92",X"92",X"52",X"3C",X"00",X"00", + X"00",X"7C",X"82",X"82",X"7C",X"00",X"9C",X"A2",X"A2",X"A2",X"E4",X"00",X"02",X"FE",X"42",X"00", + X"00",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"8C",X"D2",X"A2",X"82",X"84", + X"00",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"6C",X"92",X"92",X"92",X"6C", + X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"9C",X"92",X"92",X"7C",X"00",X"FE", + X"00",X"00",X"01",X"03",X"03",X"03",X"07",X"0F",X"00",X"60",X"F8",X"80",X"E0",X"C0",X"C0",X"E0", + X"1F",X"0F",X"37",X"19",X"06",X"03",X"00",X"00",X"F8",X"F0",X"F0",X"E0",X"20",X"80",X"FF",X"00", + X"00",X"00",X"21",X"41",X"45",X"4B",X"31",X"00",X"3E",X"41",X"41",X"41",X"3E",X"00",X"00",X"00", + X"00",X"00",X"3C",X"4A",X"49",X"49",X"30",X"00",X"3E",X"41",X"41",X"41",X"3E",X"00",X"00",X"00", + X"00",X"42",X"7F",X"40",X"00",X"27",X"45",X"45",X"45",X"39",X"00",X"3E",X"41",X"41",X"3E",X"00", + X"21",X"41",X"45",X"4B",X"31",X"00",X"3E",X"41",X"41",X"3E",X"00",X"3E",X"41",X"41",X"3E",X"00", + X"36",X"49",X"49",X"49",X"36",X"00",X"3E",X"41",X"41",X"3E",X"00",X"3E",X"41",X"41",X"3E",X"00", + X"7F",X"00",X"3E",X"49",X"49",X"39",X"00",X"3E",X"41",X"41",X"3E",X"00",X"3E",X"41",X"41",X"3E", + X"00",X"FF",X"01",X"04",X"07",X"0F",X"0F",X"1F",X"00",X"00",X"C0",X"60",X"98",X"EC",X"F0",X"F8", + X"07",X"03",X"03",X"07",X"01",X"1F",X"06",X"00",X"F0",X"E0",X"C0",X"C0",X"C0",X"80",X"00",X"00", + X"54",X"7D",X"3F",X"1D",X"06",X"07",X"13",X"2F",X"00",X"00",X"C0",X"E0",X"E6",X"E6",X"4C",X"FE", + X"3F",X"23",X"07",X"06",X"1D",X"3F",X"7D",X"54",X"FE",X"4C",X"E6",X"E6",X"E0",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7F",X"7F",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"01",X"03",X"07",X"07",X"0F",X"0F",X"1F",X"1F",X"00",X"00",X"80",X"80",X"C0",X"C0",X"E0",X"E0", + X"31",X"21",X"2C",X"2E",X"6E",X"60",X"60",X"7F",X"B0",X"30",X"30",X"70",X"F8",X"38",X"38",X"F8", + X"00",X"00",X"03",X"07",X"67",X"67",X"32",X"7F",X"2A",X"BE",X"FC",X"B8",X"60",X"E0",X"C4",X"FC", + X"7F",X"32",X"67",X"67",X"07",X"03",X"00",X"00",X"F4",X"C8",X"E0",X"60",X"B8",X"FC",X"BE",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE", + X"1F",X"1C",X"1C",X"1F",X"0E",X"0C",X"0C",X"0C",X"FE",X"06",X"06",X"76",X"74",X"34",X"84",X"8C", + X"07",X"07",X"03",X"03",X"01",X"01",X"00",X"00",X"F8",X"F8",X"F0",X"F0",X"E0",X"E0",X"C0",X"80", + X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00", + X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00", + X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00", + X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00", + X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00", + X"60",X"F0",X"DA",X"CA",X"CA",X"E0",X"60",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00", + X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00", + X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"FF",X"DB",X"DB", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00", + X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00", + X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00", + X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00", + X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00", + X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00", + X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00", + X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00", + X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00", + X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00", + X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00", + X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00", + X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00", + X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",X"00",X"00",X"E0",X"FA",X"FA",X"00",X"00",X"00", + X"60",X"F0",X"9A",X"8A",X"C0",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"1F",X"1F",X"4A",X"7A",X"4A",X"1F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"1C",X"3E",X"61",X"41",X"43",X"3E",X"1C",X"00",X"00",X"40",X"42",X"7F",X"7F",X"40",X"40", + X"00",X"62",X"73",X"79",X"59",X"5D",X"4F",X"46",X"00",X"20",X"61",X"49",X"4D",X"4F",X"7B",X"31", + X"00",X"18",X"1C",X"16",X"13",X"7F",X"7F",X"10",X"00",X"27",X"67",X"45",X"45",X"45",X"7D",X"38", + X"00",X"3C",X"7E",X"4B",X"49",X"49",X"79",X"30",X"00",X"03",X"03",X"71",X"79",X"0D",X"07",X"03", + X"00",X"36",X"4F",X"4D",X"59",X"59",X"76",X"30",X"00",X"06",X"4F",X"49",X"49",X"69",X"3F",X"1E", + X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",X"01",X"01",X"01",X"01",X"01",X"01",X"01", + X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F", + X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",X"C3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7C",X"7E",X"13",X"11",X"13",X"7E",X"7C", + X"00",X"7F",X"7F",X"49",X"49",X"49",X"7F",X"36",X"00",X"1C",X"3E",X"63",X"41",X"41",X"63",X"22", + X"00",X"7F",X"7F",X"41",X"41",X"63",X"3E",X"1C",X"00",X"00",X"7F",X"7F",X"49",X"49",X"49",X"41", + X"00",X"7F",X"7F",X"09",X"09",X"09",X"09",X"01",X"00",X"1C",X"3E",X"63",X"41",X"49",X"79",X"79", + X"00",X"7F",X"7F",X"08",X"08",X"08",X"7F",X"7F",X"00",X"00",X"41",X"41",X"7F",X"7F",X"41",X"41", + X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF", + X"00",X"00",X"7F",X"7F",X"40",X"40",X"40",X"40",X"00",X"7F",X"7F",X"0E",X"1C",X"0E",X"7F",X"7F", + X"00",X"7F",X"7F",X"0E",X"1C",X"38",X"7F",X"7F",X"00",X"3E",X"7F",X"41",X"41",X"41",X"7F",X"3E", + X"00",X"7F",X"7F",X"11",X"11",X"11",X"1F",X"0E",X"00",X"3E",X"7F",X"41",X"51",X"71",X"3F",X"5E", + X"00",X"7F",X"7F",X"11",X"31",X"79",X"6F",X"4E",X"00",X"26",X"6F",X"49",X"49",X"4B",X"7A",X"30", + X"00",X"00",X"01",X"01",X"7F",X"7F",X"01",X"01",X"00",X"3F",X"7F",X"40",X"40",X"40",X"7F",X"3F", + X"00",X"0F",X"1F",X"38",X"70",X"38",X"1F",X"0F",X"00",X"7F",X"7F",X"38",X"1C",X"38",X"7F",X"7F", + X"00",X"63",X"77",X"3E",X"1C",X"3E",X"77",X"63",X"00",X"00",X"07",X"0F",X"78",X"78",X"0F",X"07", + X"00",X"61",X"71",X"79",X"5D",X"4F",X"47",X"43",X"00",X"00",X"00",X"5F",X"5F",X"07",X"00",X"00", + X"00",X"00",X"02",X"03",X"51",X"59",X"0F",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F8",X"F8",X"52",X"5E",X"52",X"F8",X"F8",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/Namco Tank_Battalion/rtl/rom/l3.vhd b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/l3.vhd new file mode 100644 index 00000000..bb8100ca --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/rom/l3.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity l3 is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of l3 is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"2",X"E",X"2",X"0",X"2",X"E",X"2",X"0",X"2",X"E",X"2",X"0",X"3",X"E",X"3", + X"0",X"5",X"0",X"5",X"0",X"3",X"E",X"3",X"0",X"7",X"E",X"7",X"0",X"F",X"E",X"F", + X"0",X"3",X"E",X"3",X"0",X"3",X"E",X"3",X"0",X"3",X"E",X"3",X"0",X"3",X"E",X"3", + X"0",X"F",X"E",X"F",X"0",X"F",X"E",X"F",X"0",X"F",X"E",X"F",X"0",X"F",X"E",X"F", + X"0",X"7",X"E",X"7",X"0",X"7",X"E",X"7",X"0",X"7",X"E",X"7",X"0",X"7",X"E",X"7", + X"0",X"C",X"E",X"C",X"0",X"C",X"E",X"C",X"0",X"C",X"E",X"C",X"0",X"C",X"E",X"C", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E", + X"0",X"7",X"E",X"7",X"0",X"7",X"E",X"7",X"0",X"7",X"E",X"7",X"0",X"A",X"E",X"A", + X"0",X"B",X"E",X"B",X"0",X"B",X"E",X"B",X"0",X"7",X"E",X"7",X"0",X"A",X"E",X"A", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"3",X"E",X"3", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"C",X"E",X"C", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"3",X"E",X"3", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E", + X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"E",X"E",X"E",X"0",X"C",X"E",X"C"); +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/Namco Tank_Battalion/rtl/sound_FSM.v b/Arcade_MiST/Namco Tank_Battalion/rtl/sound_FSM.v new file mode 100644 index 00000000..83e04163 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/sound_FSM.v @@ -0,0 +1,98 @@ +module sound # ( + parameter wav_length= 16'd38174; + parameter init_file= "" +) +( + input clk, + input trigger, + input RESET_n, + output signed [15:0] sound_out +); + +reg sndclk = 1'b0; +always @(posedge clk) begin + sndclk <= ~sndclk; +end + +reg wav_playing = 1'b0; +wire wav_play; +reg [WAV_COUNTER_SIZE-1:0] wav_counter; +localparam WAV_COUNTER_SIZE = 10;//10 +localparam WAV_COUNTER_MAX = 100;//1000 +reg signed [7:0] wav_signed; + +// Wave player +reg [15:0] wave_rom_addr; +wire [7:0] wave_rom_data_out; +reg [15:0] wave_rom_length = wav_length; + +spram #(14,8,init_file) wave_rom //should be 64k here not enough BRAM but it works +( + .clk(clk), + .address(wave_rom_addr), + .wren(1'b0), + .data(), + .q(wave_rom_data_out) +); + + +clock trig1( + .clk(sndclk), + .rst_n(), + .Phi2(trigger), + .cpu_clken(wav_play) + ); + +// States +localparam STOP = 0, START = 1, PLAY = 2; +reg [1:0] state = STOP; + +always @(posedge clk) +begin + case (state) + STOP : begin + wav_signed <= 8'b0; + wave_rom_addr <= 16'b0; //reset the rom address + wav_counter <= WAV_COUNTER_MAX; // put the wav counter to the maximum + if(wav_play) + begin//wav_play is trigger to play it + state <= START; + //wav_play <= 1'b0; + end + end + START : begin + wav_signed <= 8'b0; + wave_rom_addr <= 16'b0; //reset the rom address + wav_counter <= WAV_COUNTER_MAX; // put the wav counter to the maximum + wav_playing <= 1'b1; //make wav_playing 1 + state <= PLAY; + end + PLAY : begin + wav_counter <= wav_counter - 1'b1; //reduce the wav counter by one bit. + if(wav_play) + begin//wav_play is trigger to play it + state <= START; + //wav_play <= 1'b0; + end + if(wav_counter == {WAV_COUNTER_SIZE{1'b0}})// if wav counter is zero. + begin + if(wave_rom_addr < wave_rom_length) // if wave rom address is below wave rom length (38174) + begin + wav_signed <= wave_rom_data_out; //wav signed is wave rom data out + wave_rom_addr <= wave_rom_addr + 16'b1; //wave rom address is incremented by 1 bit + wav_counter <= {WAV_COUNTER_SIZE{1'b1}}; //wav counter is? check this! + end + else //if wave rom address in NOT below wave rom length + begin + state <= STOP; + end + end + end + endcase +end + +wire signed [15:0] wav_amplified = { wav_signed[7], {1{wav_signed[7]}}, wav_signed[6:0], {7{wav_signed[7]}} }; //create 16 bit from 8 bit wav +assign sound_out = wav_amplified; + +endmodule + diff --git a/Arcade_MiST/Namco Tank_Battalion/rtl/ttl_chips.v b/Arcade_MiST/Namco Tank_Battalion/rtl/ttl_chips.v new file mode 100644 index 00000000..534d3029 --- /dev/null +++ b/Arcade_MiST/Namco Tank_Battalion/rtl/ttl_chips.v @@ -0,0 +1,621 @@ +//74LS74 Chip pinout: +/* _____________ + _| |_ +n_clr1 |_|1 14|_| VCC + _| |_ +d1 |_|2 13|_| n_clr2 + _| |_ +clk1 |_|3 12|_| d2 + _| |_ +n_pre1 |_|4 11|_| clk2 + _| |_ +q1 |_|5 10|_| n_pre2 + _| |_ +n_q1 |_|6 9|_| q2 + _| |_ +GND |_|7 8|_| n_q2 + |_____________| +*/ + +module ls74 +( + input n_pre1, n_pre2, + input n_clr1, n_clr2, + input clk1, clk2, + input d1, d2, + output reg q1, q2, + output n_q1, n_q2 +); + +always @(posedge clk1 or negedge n_pre1 or negedge n_clr1) begin + if(!n_pre1) + q1 <= 1; + else if(!n_clr1) + q1 <= 0; + else + q1 <= d1; +end +assign n_q1 = ~q1; + +always @(posedge clk2 or negedge n_pre2 or negedge n_clr2) begin + if(!n_pre2) + q2 <= 1; + else if(!n_clr2) + q2 <= 0; + else + q2 <= d2; +end +assign n_q2 = ~q2; + +endmodule + +//74LS107 Chip pinout: +/* _____________ + _| |_ +1J |_|1 14|_| VCC + _| |_ +1nQ |_|2 13|_| 1nCLR + _| |_ +1Q |_|3 12|_| 1CK + _| |_ +1K |_|4 11|_| 2K + _| |_ +2Q |_|5 10|_| 2nCLR + _| |_ +2nQ |_|6 9|_| 2CK + _| |_ +GND |_|7 8|_| 2J + |_____________| +*/ + +module ls107( + input clear, + input clk, + input j, + input k, + output reg q, + output qnot +); + +assign qnot=~q; + always @(negedge clk or negedge clear) begin + if (!clear) q<=1'b0; else + case ({j, k}) + 2'b00: q<=q; + 2'b01: q<=1'b0; + 2'b10: q<=1'b1; + 2'b11: q<=~q; + endcase + end +endmodule + +//74LS161 Chip pinout: +/* _____________ + _| |_ +n_clr |_|1 16|_| VCC + _| |_ +clk |_|2 15|_| rco + _| |_ +din(0) |_|3 14|_| q(0) + _| |_ +din(1) |_|4 13|_| q(1) + _| |_ +din(2) |_|5 12|_| q(2) + _| |_ +din(3) |_|6 11|_| q(3) + _| |_ +enp |_|7 10|_| ent + _| |_ +GND |_|8 9|_| n_load + |_____________| +*/ + +module ls161 //asynchronous reset/clear +( + input n_clr, + input clk, + input [3:0] din, + input enp, ent, + input n_load, + output [3:0] q, + output rco +); + + reg [3:0] data = 4'b0; + +always @(posedge clk or negedge n_clr) begin + if(!n_clr) + data <= 4'd0; + else + if(!n_load) + data <= din; + else if(enp && ent) + data <= data + 4'd1; +end + +assign q = data; +assign rco = data[0] & data[1] & data[2] & data[3] & ent; + +endmodule + +//74LS273 Chip pinout: +/* _____________ + _| |_ +res |_|1 20|_| VCC + _| |_ +q(0) |_|2 19|_| q(7) + _| |_ +d(0) |_|3 18|_| d(7) + _| |_ +d(1) |_|4 17|_| d(6) + _| |_ +q(1) |_|5 16|_| q(6) + _| |_ +q(2) |_|6 15|_| q(5) + _| |_ +d(2) |_|7 14|_| d(5) + _| |_ +d(3) |_|8 13|_| d(4) + _| |_ +q(3) |_|9 12|_| q(4) + _| |_ +GND |_|10 11|_| clk + |_____________| +*/ + +module ls273 +( + input [7:0] d, + input clk, + input res, + output reg [7:0] q +); + +always @(posedge clk or negedge res) begin + if(!res) + q <= 8'h00; + else + q <= d; +end + +endmodule + +//74LS166 Chip pinout: +/* _____________ + _| |_ +serial input |_|1 16|_| VCC + _| |_ +parra in A |_|2 15|_| shift/load + _| |_ +parra in B |_|3 14|_| parra in H + _| |_ +parra in C |_|4 13|_| serial output + _| |_ +parra in D |_|5 12|_| parra in G + _| |_ +CLK inhibit |_|6 11|_| parra in F + _| |_ +CLK |_|7 10|_| parra in E + _| |_ +GND |_|8 9|_| clear + |_____________| +*/ + +module ls166 +( + input clk, + input load, + input [7:0] in, + output out +); + +reg [7:0]tmp; + +always @(posedge clk) +begin + if (!load) + tmp <= in; + else + tmp <= {tmp[6:0], 1'b0}; +end +assign out = tmp[7]; + +endmodule + +//74LS174 Chip pinout: +/* _____________ + _| |_ +mr |_|1 16|_| VCC + _| |_ +q(0) |_|2 15|_| q(5) + _| |_ +d(0) |_|3 14|_| d(5) + _| |_ +d(1) |_|4 13|_| d(4) + _| |_ +q(1) |_|5 12|_| q(4) + _| |_ +d(2) |_|6 11|_| d(3) + _| |_ +q(2) |_|7 10|_| q(3) + _| |_ +GND |_|8 9|_| clk + |_____________| +*/ + +module ls174 +( + input [5:0] d, + input clk, + input mr, + output reg [5:0] q +); + +always @(posedge clk or negedge mr) begin + if(!mr) + q <= 6'b000000; + else + q <= d; +end + +endmodule + +//74LS139 Chip pinout: +/* _____________ + _| |_ +1n_G |_|1 16|_| VCC + _| |_ +1A |_|2 15|_| 2n_G + _| |_ +1B |_|3 14|_| 2A + _| |_ +1Y0 |_|4 13|_| 2B + _| |_ +1Y1 |_|5 12|_| 2Y0 + _| |_ +1Y2 |_|6 11|_| 2Y1 + _| |_ +1Y3 |_|7 10|_| 2Y2 + _| |_ +GND |_|8 9|_| 2Y3 + |_____________| +*/ + +module ls139 +( + input a, + input b, + input n_g, + output [3:0] y +); + + assign y = (!n_g && !a && !b) ? 4'b1110: + (!n_g && a && !b) ? 4'b1101: + (!n_g && !a && b) ? 4'b1011: + (!n_g && a && b) ? 4'b0111: + 4'b1111; + +endmodule + +//Chip pinout: +/* _____________ + _| |_ +s |_|1 16|_| VCC + _| |_ +i0(0) |_|2 15|_| n_e + _| |_ +i1(0) |_|3 14|_| i0(2) + _| |_ +z(0) |_|4 13|_| i1(2) + _| |_ +i0(1) |_|5 12|_| z(2) + _| |_ +i1(1) |_|6 11|_| i0(3) + _| |_ +z(1) |_|7 10|_| i1(3) + _| |_ +GND |_|8 9|_| z(3) + |_____________| +*/ + +module ls157 +( + input [3:0] i0, + input [3:0] i1, + input n_e, + input s, + output [3:0] z +); + +assign z = (!n_e && !s) ? i0: + (!n_e && s) ? i1: + 4'b0000; + +endmodule + +module ls42 +( + input [3:0] in, + output reg [9:0] out +); + // in = [DCBA] + // out = [9876543210] + + always @ (*) + case (in) + 4'b0000: out = 10'b1111111110; + 4'b0001: out = 10'b1111111101; + 4'b0010: out = 10'b1111111011; + 4'b0011: out = 10'b1111110111; + 4'b0100: out = 10'b1111101111; + 4'b0101: out = 10'b1111011111; + 4'b0110: out = 10'b1110111111; + 4'b0111: out = 10'b1101111111; + 4'b1000: out = 10'b1011111111; + 4'b1001: out = 10'b0111111111; + 4'b1010: out = 10'b1111111111; + 4'b1011: out = 10'b1111111111; + 4'b1100: out = 10'b1111111111; + 4'b1101: out = 10'b1111111111; + 4'b1110: out = 10'b1111111111; + 4'b1111: out = 10'b1111111111; + default: out = 10'b1111111111; + endcase + +endmodule + +//New Modules +//Chip pinout: +/* _____________ + _| |_ +n_clr |_|1 16|_| VCC + _| |_ +clk |_|2 15|_| rco + _| |_ +din(0) |_|3 14|_| q(0) + _| |_ +din(1) |_|4 13|_| q(1) + _| |_ +din(2) |_|5 12|_| q(2) + _| |_ +din(3) |_|6 11|_| q(3) + _| |_ +enp |_|7 10|_| ent + _| |_ +GND |_|8 9|_| n_load + |_____________| +*/ + +module ls163 //synchronous reset/clear +( + input n_clr, + input clk, + input [3:0] din, + input enp, ent, + input n_load, + output [3:0] q, + output rco +); + + reg [3:0] data = 4'b0; + +always @(posedge clk) begin + if(!n_clr) + data <= 4'd0; + else + if(!n_load) + data <= din; + else if(enp && ent) + data <= data + 4'd1; +end + +assign q = data; +assign rco = data[0] & data[1] & data[2] & data[3] & ent; + +endmodule + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| c1 + _| |_ +a2 |_|3 12|_| y1 + _| |_ +b2 |_|4 11|_| a3 + _| |_ +c2 |_|5 10|_| b3 + _| |_ +y2 |_|6 9|_| c3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls10 +( + input a1, a2, a3, + input b1, b2, b3, + input c1, c2, c3, + output y1, y2, y3 +); + + assign y1 = ~(a1 & b1 & c1); + assign y2 = ~(a2 & b2 & c2); + assign y3 = ~(a3 & b3 & c3); + +endmodule + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| a4 + _| |_ +y1 |_|3 12|_| b4 + _| |_ +a2 |_|4 11|_| y4 + _| |_ +b2 |_|5 10|_| a3 + _| |_ +y2 |_|6 9|_| b3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls08 +( + input a1, a2, a3, a4, + input b1, b2, b3, b4, + output y1, y2, y3, y4 +); + +assign y1 = a1 & b1; +assign y2 = a2 & b2; +assign y3 = a3 & b3; +assign y4 = a4 & b4; + +endmodule + +//Chip pinout: +/* _____________ + _| |_ +sum(1) |_|1 16|_| VCC + _| |_ +b(1) |_|2 15|_| b(2) + _| |_ +a(1) |_|3 14|_| a(2) + _| |_ +sum(0) |_|4 13|_| sum(2) + _| |_ +a(0) |_|5 12|_| a(3) + _| |_ +b(0) |_|6 11|_| b(3) + _| |_ +c_in |_|7 10|_| sum(3) + _| |_ +GND |_|8 9|_| c_out + |_____________| +*/ + +module ls283 +( + input [3:0] a, + input [3:0] b, + input c_in, + output [3:0] sum, + output c_out +); + +wire [4:0] sum_int; + +assign sum_int = {1'b0, a} + {1'b0, b} + {4'b0000, c_in}; +assign sum = sum_int[3:0]; +assign c_out = sum_int[4]; + +endmodule + +//Chip pinout: +/* _____________ + _| |_ + D(3) |_|1 16|_| VCC + _| |_ + D(2) |_|2 15|_| D(4) + _| |_ + D(1) |_|3 14|_| D(5) + _| |_ + D(0) |_|4 13|_| D(6) + _| |_ + Y |_|5 12|_| D(7) + _| |_ + W |_|6 11|_| A + _| |_ + S |_|7 10|_| B + _| |_ + GND |_|8 9|_| C + |_____________| +*/ + +module ls251 +( + input [2:0] CBA, + input s, + input [7:0] D, + output reg Y,W +); + + always @ (CBA,s) + begin + if (!s) begin + case (CBA) + 3'b000: Y=D[0]; + 3'b001: Y=D[1]; + 3'b010: Y=D[2]; + 3'b011: Y=D[3]; + 3'b100: Y=D[4]; + 3'b101: Y=D[5]; + 3'b110: Y=D[6]; + 3'b111: Y=D[7]; + default: Y=1'bZ; + endcase + W <=!Y; + end + else begin + Y <= 1'bZ; + W <= 1'bZ; + end + end +endmodule + +module ls259 +( + input [2:0] A, + input nE, + input nC, + input D, + output reg [7:0] Q +); + + always @ (nE,nC,D,A) + begin + if (!nC && nE) begin + Q[7:0] <= 8'b00000000; + end + else if (!nC && !nE && !D) begin + Q[7:0] <= 8'b00000000; + end + else if (!nC && !nE && D) begin + case (A) + 3'b000: Q[7:0]=8'b00000001; + 3'b001: Q[7:0]=8'b00000010; + 3'b010: Q[7:0]=8'b00000100; + 3'b011: Q[7:0]=8'b00001000; + 3'b100: Q[7:0]=8'b00010000; + 3'b101: Q[7:0]=8'b00100000; + 3'b110: Q[7:0]=8'b01000000; + 3'b111: Q[7:0]=8'b10000000; + default: Q[7:0]=8'bZZZZZZZZ; + endcase + end + else if (nC && nE) begin + //no change + end + else if (nC && !nE) begin + case (A) + 3'b000: Q[0]=D; + 3'b001: Q[1]=D; + 3'b010: Q[2]=D; + 3'b011: Q[3]=D; + 3'b100: Q[4]=D; + 3'b101: Q[5]=D; + 3'b110: Q[6]=D; + 3'b111: Q[7]=D; + default: Q[7:0]=8'bZZZZZZZZ; + endcase + end + end +endmodule + diff --git a/common/CPU/6502_6510/ALU.v b/common/CPU/6502_6510/ALU.v new file mode 100644 index 00000000..8d05fc03 --- /dev/null +++ b/common/CPU/6502_6510/ALU.v @@ -0,0 +1,108 @@ +/* + * ALU. + * + * AI and BI are 8 bit inputs. Result in OUT. + * CI is Carry In. + * CO is Carry Out. + * + * op[3:0] is defined as follows: + * + * 0011 AI + BI + * 0111 AI - BI + * 1011 AI + AI + * 1100 AI | BI + * 1101 AI & BI + * 1110 AI ^ BI + * 1111 AI + * + */ + +module ALU( clk, op, right, AI, BI, CI, CO, BCD, OUT, V, Z, N, HC, RDY ); + input clk; + input right; + input [3:0] op; // operation + input [7:0] AI; + input [7:0] BI; + input CI; + input BCD; // BCD style carry + output [7:0] OUT; + output CO; + output V; + output Z; + output N; + output HC; + input RDY; + +reg [7:0] OUT; +reg CO; +wire V; +wire Z; +reg N; +reg HC; + +reg AI7; +reg BI7; +reg [8:0] temp_logic; +reg [7:0] temp_BI; +reg [4:0] temp_l; +reg [4:0] temp_h; +wire [8:0] temp = { temp_h, temp_l[3:0] }; +wire adder_CI = (right | (op[3:2] == 2'b11)) ? 0 : CI; + +// calculate the logic operations. The 'case' can be done in 1 LUT per +// bit. The 'right' shift is a simple mux that can be implemented by +// F5MUX. +always @* begin + case( op[1:0] ) + 2'b00: temp_logic = AI | BI; + 2'b01: temp_logic = AI & BI; + 2'b10: temp_logic = AI ^ BI; + 2'b11: temp_logic = AI; + endcase + + if( right ) + temp_logic = { AI[0], CI, AI[7:1] }; +end + +// Add logic result to BI input. This only makes sense when logic = AI. +// This stage can be done in 1 LUT per bit, using carry chain logic. +always @* begin + case( op[3:2] ) + 2'b00: temp_BI = BI; // A+B + 2'b01: temp_BI = ~BI; // A-B + 2'b10: temp_BI = temp_logic; // A+A + 2'b11: temp_BI = 0; // A+0 + endcase +end + +// HC9 is the half carry bit when doing BCD add +wire HC9 = BCD & (temp_l[3:1] >= 3'd5); + +// CO9 is the carry-out bit when doing BCD add +wire CO9 = BCD & (temp_h[3:1] >= 3'd5); + +// combined half carry bit +wire temp_HC = temp_l[4] | HC9; + +// perform the addition as 2 separate nibble, so we get +// access to the half carry flag +always @* begin + temp_l = temp_logic[3:0] + temp_BI[3:0] + adder_CI; + temp_h = temp_logic[8:4] + temp_BI[7:4] + temp_HC; +end + +// calculate the flags +always @(posedge clk) + if( RDY ) begin + AI7 <= AI[7]; + BI7 <= temp_BI[7]; + OUT <= temp[7:0]; + CO <= temp[8] | CO9; + N <= temp[7]; + HC <= temp_HC; + end + +assign V = AI7 ^ BI7 ^ CO ^ N; +assign Z = ~|OUT; + +endmodule diff --git a/common/CPU/6502_6510/cpu.v b/common/CPU/6502_6510/cpu.v new file mode 100644 index 00000000..1a7317d5 --- /dev/null +++ b/common/CPU/6502_6510/cpu.v @@ -0,0 +1,1244 @@ +/* + * verilog model of 6502 CPU. + * + * (C) Arlet Ottens, + * + * Feel free to use this code in any project (commercial or not), as long as you + * keep this message, and the copyright notice. This code is provided "as is", + * without any warranties of any kind. + * + */ + +/* + * Note that not all 6502 interface signals are supported (yet). The goal + * is to create an Acorn Atom model, and the Atom didn't use all signals on + * the main board. + * + * The data bus is implemented as separate read/write buses. Combine them + * on the output pads if external memory is required. + */ + +// FIXME - Need to make this flag reach out to test bench +//`define SIM + +module cpu( clk, reset, AB, DI, DO, WE, IRQ, NMI, RDY, PC_MONITOR ); + +input clk; // CPU clock +input reset; // reset signal +output reg [15:0] AB; // address bus +input [7:0] DI; // data in, read bus +output [7:0] DO; // data out, write bus +output WE; // write enable +input IRQ; // interrupt request +input NMI; // non-maskable interrupt request +input RDY; // Ready signal. Pauses CPU when RDY=0 +output [15:0] PC_MONITOR; // signal to spy / monitor the program counter for debugging + +/* + * internal signals + */ + +reg [15:0] PC; // Program Counter +reg [7:0] ABL; // Address Bus Register LSB +reg [7:0] ABH; // Address Bus Register MSB +wire [7:0] ADD; // Adder Hold Register (registered in ALU) + +reg [7:0] DIHOLD; // Hold for Data In +wire [7:0] DIMUX; // + +reg [7:0] IRHOLD; // Hold for Instruction register +reg IRHOLD_valid; // Valid instruction in IRHOLD + +reg [7:0] AXYS[3:0]; // A, X, Y and S register file + +reg C = 0; // carry flag (init at zero to avoid X's in ALU sim) +reg Z = 0; // zero flag +reg I = 0; // interrupt flag +reg D = 0; // decimal flag +reg V = 0; // overflow flag +reg N = 0; // negative flag +wire AZ; // ALU Zero flag +wire AV; // ALU overflow flag +wire AN; // ALU negative flag +wire HC; // ALU half carry + +reg [7:0] AI; // ALU Input A +reg [7:0] BI; // ALU Input B +wire [7:0] DI; // Data In +wire [7:0] IR; // Instruction register +reg [7:0] DO; // Data Out +reg WE; // Write Enable +reg CI; // Carry In +wire CO; // Carry Out +wire [7:0] PCH = PC[15:8]; +wire [7:0] PCL = PC[7:0]; + +assign PC_MONITOR = PC; // generate PC monitor signal + +reg NMI_edge = 0; // captured NMI edge + +reg [1:0] regsel; // Select A, X, Y or S register +wire [7:0] regfile = AXYS[regsel]; // Selected register output + +parameter + SEL_A = 2'd0, + SEL_S = 2'd1, + SEL_X = 2'd2, + SEL_Y = 2'd3; + +/* + * define some signals for watching in simulator output + */ + + +`ifdef SIM +wire [7:0] A = AXYS[SEL_A]; // Accumulator +wire [7:0] X = AXYS[SEL_X]; // X register +wire [7:0] Y = AXYS[SEL_Y]; // Y register +wire [7:0] S = AXYS[SEL_S]; // Stack pointer +`endif + +wire [7:0] P = { N, V, 2'b11, D, I, Z, C }; + +/* + * instruction decoder/sequencer + */ + +reg [5:0] state; + +/* + * control signals + */ + +reg PC_inc; // Increment PC +reg [15:0] PC_temp; // intermediate value of PC + +reg [1:0] src_reg; // source register index +reg [1:0] dst_reg; // destination register index + +reg index_y; // if set, then Y is index reg rather than X +reg load_reg; // loading a register (A, X, Y, S) in this instruction +reg inc; // increment +reg write_back; // set if memory is read/modified/written +reg load_only; // LDA/LDX/LDY instruction +reg store; // doing store (STA/STX/STY) +reg adc_sbc; // doing ADC/SBC +reg compare; // doing CMP/CPY/CPX +reg shift; // doing shift/rotate instruction +reg rotate; // doing rotate (no shift) +reg backwards; // backwards branch +reg cond_true; // branch condition is true +reg [2:0] cond_code; // condition code bits from instruction +reg shift_right; // Instruction ALU shift/rotate right +reg alu_shift_right; // Current cycle shift right enable +reg [3:0] op; // Main ALU operation for instruction +reg [3:0] alu_op; // Current cycle ALU operation +reg adc_bcd; // ALU should do BCD style carry +reg adj_bcd; // results should be BCD adjusted + +/* + * some flip flops to remember we're doing special instructions. These + * get loaded at the DECODE state, and used later + */ +reg bit_ins; // doing BIT instruction +reg plp; // doing PLP instruction +reg php; // doing PHP instruction +reg clc; // clear carry +reg sec; // set carry +reg cld; // clear decimal +reg sed; // set decimal +reg cli; // clear interrupt +reg sei; // set interrupt +reg clv; // clear overflow +reg brk; // doing BRK + +reg res; // in reset + +/* + * ALU operations + */ + +parameter + OP_OR = 4'b1100, + OP_AND = 4'b1101, + OP_EOR = 4'b1110, + OP_ADD = 4'b0011, + OP_SUB = 4'b0111, + OP_ROL = 4'b1011, + OP_A = 4'b1111; + +/* + * Microcode state machine. Basically, every addressing mode has its own + * path through the state machine. Additional information, such as the + * operation, source and destination registers are decoded in parallel, and + * kept in separate flops. + */ + +parameter + ABS0 = 6'd0, // ABS - fetch LSB + ABS1 = 6'd1, // ABS - fetch MSB + ABSX0 = 6'd2, // ABS, X - fetch LSB and send to ALU (+X) + ABSX1 = 6'd3, // ABS, X - fetch MSB and send to ALU (+Carry) + ABSX2 = 6'd4, // ABS, X - Wait for ALU (only if needed) + BRA0 = 6'd5, // Branch - fetch offset and send to ALU (+PC[7:0]) + BRA1 = 6'd6, // Branch - fetch opcode, and send PC[15:8] to ALU + BRA2 = 6'd7, // Branch - fetch opcode (if page boundary crossed) + BRK0 = 6'd8, // BRK/IRQ - push PCH, send S to ALU (-1) + BRK1 = 6'd9, // BRK/IRQ - push PCL, send S to ALU (-1) + BRK2 = 6'd10, // BRK/IRQ - push P, send S to ALU (-1) + BRK3 = 6'd11, // BRK/IRQ - write S, and fetch @ fffe + DECODE = 6'd12, // IR is valid, decode instruction, and write prev reg + FETCH = 6'd13, // fetch next opcode, and perform prev ALU op + INDX0 = 6'd14, // (ZP,X) - fetch ZP address, and send to ALU (+X) + INDX1 = 6'd15, // (ZP,X) - fetch LSB at ZP+X, calculate ZP+X+1 + INDX2 = 6'd16, // (ZP,X) - fetch MSB at ZP+X+1 + INDX3 = 6'd17, // (ZP,X) - fetch data + INDY0 = 6'd18, // (ZP),Y - fetch ZP address, and send ZP to ALU (+1) + INDY1 = 6'd19, // (ZP),Y - fetch at ZP+1, and send LSB to ALU (+Y) + INDY2 = 6'd20, // (ZP),Y - fetch data, and send MSB to ALU (+Carry) + INDY3 = 6'd21, // (ZP),Y) - fetch data (if page boundary crossed) + JMP0 = 6'd22, // JMP - fetch PCL and hold + JMP1 = 6'd23, // JMP - fetch PCH + JMPI0 = 6'd24, // JMP IND - fetch LSB and send to ALU for delay (+0) + JMPI1 = 6'd25, // JMP IND - fetch MSB, proceed with JMP0 state + JSR0 = 6'd26, // JSR - push PCH, save LSB, send S to ALU (-1) + JSR1 = 6'd27, // JSR - push PCL, send S to ALU (-1) + JSR2 = 6'd28, // JSR - write S + JSR3 = 6'd29, // JSR - fetch MSB + PULL0 = 6'd30, // PLP/PLA - save next op in IRHOLD, send S to ALU (+1) + PULL1 = 6'd31, // PLP/PLA - fetch data from stack, write S + PULL2 = 6'd32, // PLP/PLA - prefetch op, but don't increment PC + PUSH0 = 6'd33, // PHP/PHA - send A to ALU (+0) + PUSH1 = 6'd34, // PHP/PHA - write A/P, send S to ALU (-1) + READ = 6'd35, // Read memory for read/modify/write (INC, DEC, shift) + REG = 6'd36, // Read register for reg-reg transfers + RTI0 = 6'd37, // RTI - send S to ALU (+1) + RTI1 = 6'd38, // RTI - read P from stack + RTI2 = 6'd39, // RTI - read PCL from stack + RTI3 = 6'd40, // RTI - read PCH from stack + RTI4 = 6'd41, // RTI - read PCH from stack + RTS0 = 6'd42, // RTS - send S to ALU (+1) + RTS1 = 6'd43, // RTS - read PCL from stack + RTS2 = 6'd44, // RTS - write PCL to ALU, read PCH + RTS3 = 6'd45, // RTS - load PC and increment + WRITE = 6'd46, // Write memory for read/modify/write + ZP0 = 6'd47, // Z-page - fetch ZP address + ZPX0 = 6'd48, // ZP, X - fetch ZP, and send to ALU (+X) + ZPX1 = 6'd49; // ZP, X - load from memory + +`ifdef SIM + +/* + * easy to read names in simulator output + */ +reg [8*6-1:0] statename; + +always @* + case( state ) + DECODE: statename = "DECODE"; + REG: statename = "REG"; + ZP0: statename = "ZP0"; + ZPX0: statename = "ZPX0"; + ZPX1: statename = "ZPX1"; + ABS0: statename = "ABS0"; + ABS1: statename = "ABS1"; + ABSX0: statename = "ABSX0"; + ABSX1: statename = "ABSX1"; + ABSX2: statename = "ABSX2"; + INDX0: statename = "INDX0"; + INDX1: statename = "INDX1"; + INDX2: statename = "INDX2"; + INDX3: statename = "INDX3"; + INDY0: statename = "INDY0"; + INDY1: statename = "INDY1"; + INDY2: statename = "INDY2"; + INDY3: statename = "INDY3"; + READ: statename = "READ"; + WRITE: statename = "WRITE"; + FETCH: statename = "FETCH"; + PUSH0: statename = "PUSH0"; + PUSH1: statename = "PUSH1"; + PULL0: statename = "PULL0"; + PULL1: statename = "PULL1"; + PULL2: statename = "PULL2"; + JSR0: statename = "JSR0"; + JSR1: statename = "JSR1"; + JSR2: statename = "JSR2"; + JSR3: statename = "JSR3"; + RTI0: statename = "RTI0"; + RTI1: statename = "RTI1"; + RTI2: statename = "RTI2"; + RTI3: statename = "RTI3"; + RTI4: statename = "RTI4"; + RTS0: statename = "RTS0"; + RTS1: statename = "RTS1"; + RTS2: statename = "RTS2"; + RTS3: statename = "RTS3"; + BRK0: statename = "BRK0"; + BRK1: statename = "BRK1"; + BRK2: statename = "BRK2"; + BRK3: statename = "BRK3"; + BRA0: statename = "BRA0"; + BRA1: statename = "BRA1"; + BRA2: statename = "BRA2"; + JMP0: statename = "JMP0"; + JMP1: statename = "JMP1"; + JMPI0: statename = "JMPI0"; + JMPI1: statename = "JMPI1"; + endcase + +//always @( PC ) +// $display( "%t, PC:%04x IR:%02x A:%02x X:%02x Y:%02x S:%02x C:%d Z:%d V:%d N:%d P:%02x", $time, PC, IR, A, X, Y, S, C, Z, V, N, P ); + +`endif + + + +/* + * Program Counter Increment/Load. First calculate the base value in + * PC_temp. + */ +always @* + case( state ) + DECODE: if( (~I & IRQ) | NMI_edge ) + PC_temp = { ABH, ABL }; + else + PC_temp = PC; + + + JMP1, + JMPI1, + JSR3, + RTS3, + RTI4: PC_temp = { DIMUX, ADD }; + + BRA1: PC_temp = { ABH, ADD }; + + BRA2: PC_temp = { ADD, PCL }; + + BRK2: PC_temp = res ? 16'hfffc : + NMI_edge ? 16'hfffa : 16'hfffe; + + default: PC_temp = PC; + endcase + +/* + * Determine wether we need PC_temp, or PC_temp + 1 + */ +always @* + case( state ) + DECODE: if( (~I & IRQ) | NMI_edge ) + PC_inc = 0; + else + PC_inc = 1; + + ABS0, + ABSX0, + FETCH, + BRA0, + BRA2, + BRK3, + JMPI1, + JMP1, + RTI4, + RTS3: PC_inc = 1; + + BRA1: PC_inc = CO ^~ backwards; + + default: PC_inc = 0; + endcase + +/* + * Set new PC + */ +always @(posedge clk) + if( RDY ) + PC <= PC_temp + PC_inc; + +/* + * Address Generator + */ + +parameter + ZEROPAGE = 8'h00, + STACKPAGE = 8'h01; + +always @* + case( state ) + ABSX1, + INDX3, + INDY2, + JMP1, + JMPI1, + RTI4, + ABS1: AB = { DIMUX, ADD }; + + BRA2, + INDY3, + ABSX2: AB = { ADD, ABL }; + + BRA1: AB = { ABH, ADD }; + + JSR0, + PUSH1, + RTS0, + RTI0, + BRK0: AB = { STACKPAGE, regfile }; + + BRK1, + JSR1, + PULL1, + RTS1, + RTS2, + RTI1, + RTI2, + RTI3, + BRK2: AB = { STACKPAGE, ADD }; + + INDY1, + INDX1, + ZPX1, + INDX2: AB = { ZEROPAGE, ADD }; + + ZP0, + INDY0: AB = { ZEROPAGE, DIMUX }; + + REG, + READ, + WRITE: AB = { ABH, ABL }; + + default: AB = PC; + endcase + +/* + * ABH/ABL pair is used for registering previous address bus state. + * This can be used to keep the current address, freeing up the original + * source of the address, such as the ALU or DI. + */ +always @(posedge clk) + if( state != PUSH0 && state != PUSH1 && RDY && + state != PULL0 && state != PULL1 && state != PULL2 ) + begin + ABL <= AB[7:0]; + ABH <= AB[15:8]; + end + +/* + * Data Out MUX + */ +always @* + case( state ) + WRITE: DO = ADD; + + JSR0, + BRK0: DO = PCH; + + JSR1, + BRK1: DO = PCL; + + PUSH1: DO = php ? P : ADD; + + BRK2: DO = (IRQ | NMI_edge) ? (P & 8'b1110_1111) : P; + + default: DO = regfile; + endcase + +/* + * Write Enable Generator + */ + +always @* + case( state ) + BRK0, // writing to stack or memory + BRK1, + BRK2, + JSR0, + JSR1, + PUSH1, + WRITE: WE = 1; + + INDX3, // only if doing a STA, STX or STY + INDY3, + ABSX2, + ABS1, + ZPX1, + ZP0: WE = store; + + default: WE = 0; + endcase + +/* + * register file, contains A, X, Y and S (stack pointer) registers. At each + * cycle only 1 of those registers needs to be accessed, so they combined + * in a small memory, saving resources. + */ + +reg write_register; // set when register file is written + +always @* + case( state ) + DECODE: write_register = load_reg & ~plp; + + PULL1, + RTS2, + RTI3, + BRK3, + JSR0, + JSR2 : write_register = 1; + + default: write_register = 0; + endcase + +/* + * BCD adjust logic + */ + +always @(posedge clk) + if ( RDY ) + adj_bcd <= adc_sbc & D; // '1' when doing a BCD instruction + +reg [3:0] ADJL; +reg [3:0] ADJH; + +// adjustment term to be added to ADD[3:0] based on the following +// adj_bcd: '1' if doing ADC/SBC with D=1 +// adc_bcd: '1' if doing ADC with D=1 +// HC : half carry bit from ALU +always @* begin + casex( {adj_bcd, adc_bcd, HC} ) + 3'b0xx: ADJL = 4'd0; // no BCD instruction + 3'b100: ADJL = 4'd10; // SBC, and digital borrow + 3'b101: ADJL = 4'd0; // SBC, but no borrow + 3'b110: ADJL = 4'd0; // ADC, but no carry + 3'b111: ADJL = 4'd6; // ADC, and decimal/digital carry + endcase +end + +// adjustment term to be added to ADD[7:4] based on the following +// adj_bcd: '1' if doing ADC/SBC with D=1 +// adc_bcd: '1' if doing ADC with D=1 +// CO : carry out bit from ALU +always @* begin + casex( {adj_bcd, adc_bcd, CO} ) + 3'b0xx: ADJH = 4'd0; // no BCD instruction + 3'b100: ADJH = 4'd10; // SBC, and digital borrow + 3'b101: ADJH = 4'd0; // SBC, but no borrow + 3'b110: ADJH = 4'd0; // ADC, but no carry + 3'b111: ADJH = 4'd6; // ADC, and decimal/digital carry + endcase +end + +/* + * write to a register. Usually this is the (BCD corrected) output of the + * ALU, but in case of the JSR0 we use the S register to temporarily store + * the PCL. This is possible, because the S register itself is stored in + * the ALU during those cycles. + */ +always @(posedge clk or posedge reset) +begin + if (reset) + begin + AXYS[SEL_A] <= 8'b0; + AXYS[SEL_X] <= 8'b0; + AXYS[SEL_Y] <= 8'b0; + AXYS[SEL_S] <= 8'b0; + end + else + if( write_register & RDY ) + AXYS[regsel] <= (state == JSR0) ? DIMUX : { ADD[7:4] + ADJH, ADD[3:0] + ADJL }; +end + +/* + * register select logic. This determines which of the A, X, Y or + * S registers will be accessed. + */ + +always @* + case( state ) + INDY1, + INDX0, + ZPX0, + ABSX0 : regsel = index_y ? SEL_Y : SEL_X; + + + DECODE : regsel = dst_reg; + + BRK0, + BRK3, + JSR0, + JSR2, + PULL0, + PULL1, + PUSH1, + RTI0, + RTI3, + RTS0, + RTS2 : regsel = SEL_S; + + default: regsel = src_reg; + endcase + +/* + * ALU + */ + +ALU ALU( .clk(clk), + .op(alu_op), + .right(alu_shift_right), + .AI(AI), + .BI(BI), + .CI(CI), + .BCD(adc_bcd & (state == FETCH)), + .CO(CO), + .OUT(ADD), + .V(AV), + .Z(AZ), + .N(AN), + .HC(HC), + .RDY(RDY) ); + +/* + * Select current ALU operation + */ + +always @* + case( state ) + READ: alu_op = op; + + BRA1: alu_op = backwards ? OP_SUB : OP_ADD; + + FETCH, + REG : alu_op = op; + + DECODE, + ABS1: alu_op = 1'bx; + + PUSH1, + BRK0, + BRK1, + BRK2, + JSR0, + JSR1: alu_op = OP_SUB; + + default: alu_op = OP_ADD; + endcase + +/* + * Determine shift right signal to ALU + */ + +always @* + if( state == FETCH || state == REG || state == READ ) + alu_shift_right = shift_right; + else + alu_shift_right = 0; + +/* + * Sign extend branch offset. + */ + +always @(posedge clk) + if( RDY ) + backwards <= DIMUX[7]; + +/* + * ALU A Input MUX + */ + +always @* + case( state ) + JSR1, + RTS1, + RTI1, + RTI2, + BRK1, + BRK2, + INDX1: AI = ADD; + + REG, + ZPX0, + INDX0, + ABSX0, + RTI0, + RTS0, + JSR0, + JSR2, + BRK0, + PULL0, + INDY1, + PUSH0, + PUSH1: AI = regfile; + + BRA0, + READ: AI = DIMUX; + + BRA1: AI = ABH; // don't use PCH in case we're + + FETCH: AI = load_only ? 0 : regfile; + + DECODE, + ABS1: AI = 8'hxx; // don't care + + default: AI = 0; + endcase + + +/* + * ALU B Input mux + */ + +always @* + case( state ) + BRA1, + RTS1, + RTI0, + RTI1, + RTI2, + INDX1, + READ, + REG, + JSR0, + JSR1, + JSR2, + BRK0, + BRK1, + BRK2, + PUSH0, + PUSH1, + PULL0, + RTS0: BI = 8'h00; + + BRA0: BI = PCL; + + DECODE, + ABS1: BI = 8'hxx; + + default: BI = DIMUX; + endcase + +/* + * ALU CI (carry in) mux + */ + +always @* + case( state ) + INDY2, + BRA1, + ABSX1: CI = CO; + + DECODE, + ABS1: CI = 1'bx; + + READ, + REG: CI = rotate ? C : + shift ? 0 : inc; + + FETCH: CI = rotate ? C : + compare ? 1 : + (shift | load_only) ? 0 : C; + + PULL0, + RTI0, + RTI1, + RTI2, + RTS0, + RTS1, + INDY0, + INDX1: CI = 1; + + default: CI = 0; + endcase + +/* + * Processor Status Register update + * + */ + +/* + * Update C flag when doing ADC/SBC, shift/rotate, compare + */ +always @(posedge clk ) + if ( RDY ) + if( shift && state == WRITE ) + C <= CO; + else if( state == RTI2 ) + C <= DIMUX[0]; + else if( ~write_back && state == DECODE ) begin + if( adc_sbc | shift | compare ) + C <= CO; + else if( plp ) + C <= ADD[0]; + else begin + if( sec ) C <= 1; + if( clc ) C <= 0; + end + end + +/* + * Update Z, N flags when writing A, X, Y, Memory, or when doing compare + */ + +always @(posedge clk) + if ( RDY ) + if( state == WRITE ) + Z <= AZ; + else if( state == RTI2 ) + Z <= DIMUX[1]; + else if( state == DECODE ) begin + if( plp ) + Z <= ADD[1]; + else if( (load_reg & (regsel != SEL_S)) | compare | bit_ins ) + Z <= AZ; + end + +always @(posedge clk) + if ( RDY ) + if( state == WRITE ) + N <= AN; + else if( state == RTI2 ) + N <= DIMUX[7]; + else if( state == DECODE ) begin + if( plp ) + N <= ADD[7]; + else if( (load_reg & (regsel != SEL_S)) | compare ) + N <= AN; + end else if( state == FETCH && bit_ins ) + N <= DIMUX[7]; + +/* + * Update I flag + */ + +always @(posedge clk) + if ( RDY ) + if( state == BRK3 ) + I <= 1; + else if( state == RTI2 ) + I <= DIMUX[2]; + else if( state == REG ) begin + if( sei ) I <= 1; + if( cli ) I <= 0; + end else if( state == DECODE ) + if( plp ) I <= ADD[2]; + +/* + * Update D flag + */ +always @(posedge clk ) + if ( RDY ) + if( state == RTI2 ) + D <= DIMUX[3]; + else if( state == DECODE ) begin + if( sed ) D <= 1; + if( cld ) D <= 0; + if( plp ) D <= ADD[3]; + end + +/* + * Update V flag + */ +always @(posedge clk ) + if ( RDY ) + if( state == RTI2 ) + V <= DIMUX[6]; + else if( state == DECODE ) begin + if( adc_sbc ) V <= AV; + if( clv ) V <= 0; + if( plp ) V <= ADD[6]; + end else if( state == FETCH && bit_ins ) + V <= DIMUX[6]; + +/* + * Instruction decoder + */ + +/* + * IR register/mux. Hold previous DI value in IRHOLD in PULL0 and PUSH0 + * states. In these states, the IR has been prefetched, and there is no + * time to read the IR again before the next decode. + */ + +always @(posedge clk ) + if( reset ) + IRHOLD_valid <= 0; + else if( RDY ) begin + if( state == PULL0 || state == PUSH0 ) begin + IRHOLD <= DIMUX; + IRHOLD_valid <= 1; + end else if( state == DECODE ) + IRHOLD_valid <= 0; + end + +assign IR = (IRQ & ~I) | NMI_edge ? 8'h00 : + IRHOLD_valid ? IRHOLD : DIMUX; + +always @(posedge clk ) + if( RDY ) + DIHOLD <= DI; + +assign DIMUX = ~RDY ? DIHOLD : DI; + +/* + * Microcode state machine + */ +always @(posedge clk or posedge reset) + if( reset ) + state <= BRK0; + else if( RDY ) case( state ) + DECODE : + casex ( IR ) + 8'b0000_0000: state <= BRK0; + 8'b0010_0000: state <= JSR0; + 8'b0010_1100: state <= ABS0; // BIT abs + 8'b0100_0000: state <= RTI0; // + 8'b0100_1100: state <= JMP0; + 8'b0110_0000: state <= RTS0; + 8'b0110_1100: state <= JMPI0; + 8'b0x00_1000: state <= PUSH0; + 8'b0x10_1000: state <= PULL0; + 8'b0xx1_1000: state <= REG; // CLC, SEC, CLI, SEI + 8'b1xx0_00x0: state <= FETCH; // IMM + 8'b1xx0_1100: state <= ABS0; // X/Y abs + 8'b1xxx_1000: state <= REG; // DEY, TYA, ... + 8'bxxx0_0001: state <= INDX0; + 8'bxxx0_01xx: state <= ZP0; + 8'bxxx0_1001: state <= FETCH; // IMM + 8'bxxx0_1101: state <= ABS0; // even E column + 8'bxxx0_1110: state <= ABS0; // even E column + 8'bxxx1_0000: state <= BRA0; // odd 0 column + 8'bxxx1_0001: state <= INDY0; // odd 1 column + 8'bxxx1_01xx: state <= ZPX0; // odd 4,5,6,7 columns + 8'bxxx1_1001: state <= ABSX0; // odd 9 column + 8'bxxx1_11xx: state <= ABSX0; // odd C, D, E, F columns + 8'bxxxx_1010: state <= REG; // A, TXA, ... NOP + endcase + + ZP0 : state <= write_back ? READ : FETCH; + + ZPX0 : state <= ZPX1; + ZPX1 : state <= write_back ? READ : FETCH; + + ABS0 : state <= ABS1; + ABS1 : state <= write_back ? READ : FETCH; + + ABSX0 : state <= ABSX1; + ABSX1 : state <= (CO | store | write_back) ? ABSX2 : FETCH; + ABSX2 : state <= write_back ? READ : FETCH; + + INDX0 : state <= INDX1; + INDX1 : state <= INDX2; + INDX2 : state <= INDX3; + INDX3 : state <= FETCH; + + INDY0 : state <= INDY1; + INDY1 : state <= INDY2; + INDY2 : state <= (CO | store) ? INDY3 : FETCH; + INDY3 : state <= FETCH; + + READ : state <= WRITE; + WRITE : state <= FETCH; + FETCH : state <= DECODE; + + REG : state <= DECODE; + + PUSH0 : state <= PUSH1; + PUSH1 : state <= DECODE; + + PULL0 : state <= PULL1; + PULL1 : state <= PULL2; + PULL2 : state <= DECODE; + + JSR0 : state <= JSR1; + JSR1 : state <= JSR2; + JSR2 : state <= JSR3; + JSR3 : state <= FETCH; + + RTI0 : state <= RTI1; + RTI1 : state <= RTI2; + RTI2 : state <= RTI3; + RTI3 : state <= RTI4; + RTI4 : state <= DECODE; + + RTS0 : state <= RTS1; + RTS1 : state <= RTS2; + RTS2 : state <= RTS3; + RTS3 : state <= FETCH; + + BRA0 : state <= cond_true ? BRA1 : DECODE; + BRA1 : state <= (CO ^ backwards) ? BRA2 : DECODE; + BRA2 : state <= DECODE; + + JMP0 : state <= JMP1; + JMP1 : state <= DECODE; + + JMPI0 : state <= JMPI1; + JMPI1 : state <= JMP0; + + BRK0 : state <= BRK1; + BRK1 : state <= BRK2; + BRK2 : state <= BRK3; + BRK3 : state <= JMP0; + + endcase + +/* + * Additional control signals + */ + +always @(posedge clk) + if( reset ) + res <= 1; + else if( state == DECODE && RDY ) + res <= 0; + +always @(posedge clk) + if( state == DECODE && RDY ) + casex( IR ) + 8'b0xx01010, // ASLA, ROLA, LSRA, RORA + 8'b0xxxxx01, // ORA, AND, EOR, ADC + 8'b100x10x0, // DEY, TYA, TXA, TXS + 8'b1010xxx0, // LDA/LDX/LDY + 8'b10111010, // TSX + 8'b1011x1x0, // LDX/LDY + 8'b11001010, // DEX + 8'b1x1xxx01, // LDA, SBC + 8'bxxx01000: // DEY, TAY, INY, INX + load_reg <= 1; + + default: load_reg <= 0; + endcase + +always @(posedge clk) + if( state == DECODE && RDY ) + casex( IR ) + 8'b1110_1000, // INX + 8'b1100_1010, // DEX + 8'b101x_xx10: // LDX, TAX, TSX + dst_reg <= SEL_X; + + 8'b0x00_1000, // PHP, PHA + 8'b1001_1010: // TXS + dst_reg <= SEL_S; + + 8'b1x00_1000, // DEY, DEX + 8'b101x_x100, // LDY + 8'b1010_x000: // LDY #imm, TAY + dst_reg <= SEL_Y; + + default: dst_reg <= SEL_A; + endcase + +always @(posedge clk) + if( state == DECODE && RDY ) + casex( IR ) + 8'b1011_1010: // TSX + src_reg <= SEL_S; + + 8'b100x_x110, // STX + 8'b100x_1x10, // TXA, TXS + 8'b1110_xx00, // INX, CPX + 8'b1100_1010: // DEX + src_reg <= SEL_X; + + 8'b100x_x100, // STY + 8'b1001_1000, // TYA + 8'b1100_xx00, // CPY + 8'b1x00_1000: // DEY, INY + src_reg <= SEL_Y; + + default: src_reg <= SEL_A; + endcase + +always @(posedge clk) + if( state == DECODE && RDY ) + casex( IR ) + 8'bxxx1_0001, // INDY + 8'b10x1_x110, // LDX/STX zpg/abs, Y + 8'bxxxx_1001: // abs, Y + index_y <= 1; + + default: index_y <= 0; + endcase + + +always @(posedge clk) + if( state == DECODE && RDY ) + casex( IR ) + 8'b100x_x1x0, // STX, STY + 8'b100x_xx01: // STA + store <= 1; + + default: store <= 0; + + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b0xxx_x110, // ASL, ROL, LSR, ROR + 8'b11xx_x110: // DEC/INC + write_back <= 1; + + default: write_back <= 0; + endcase + + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b101x_xxxx: // LDA, LDX, LDY + load_only <= 1; + default: load_only <= 0; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b111x_x110, // INC + 8'b11x0_1000: // INX, INY + inc <= 1; + + default: inc <= 0; + endcase + +always @(posedge clk ) + if( (state == DECODE || state == BRK0) && RDY ) + casex( IR ) + 8'bx11x_xx01: // SBC, ADC + adc_sbc <= 1; + + default: adc_sbc <= 0; + endcase + +always @(posedge clk ) + if( (state == DECODE || state == BRK0) && RDY ) + casex( IR ) + 8'b011x_xx01: // ADC + adc_bcd <= D; + + default: adc_bcd <= 0; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b0xxx_x110, // ASL, ROL, LSR, ROR (abs, absx, zpg, zpgx) + 8'b0xxx_1010: // ASL, ROL, LSR, ROR (acc) + shift <= 1; + + default: shift <= 0; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b11x0_0x00, // CPX, CPY (imm/zp) + 8'b11x0_1100, // CPX, CPY (abs) + 8'b110x_xx01: // CMP + compare <= 1; + + default: compare <= 0; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b01xx_xx10: // ROR, LSR + shift_right <= 1; + + default: shift_right <= 0; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b0x1x_1010, // ROL A, ROR A + 8'b0x1x_x110: // ROR, ROL + rotate <= 1; + + default: rotate <= 0; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b00xx_xx10: // ROL, ASL + op <= OP_ROL; + + 8'b0010_x100: // BIT zp/abs + op <= OP_AND; + + 8'b01xx_xx10: // ROR, LSR + op <= OP_A; + + 8'b1000_1000, // DEY + 8'b1100_1010, // DEX + 8'b110x_x110, // DEC + 8'b11xx_xx01, // CMP, SBC + 8'b11x0_0x00, // CPX, CPY (imm, zpg) + 8'b11x0_1100: op <= OP_SUB; + + 8'b010x_xx01, // EOR + 8'b00xx_xx01: // ORA, AND + op <= { 2'b11, IR[6:5] }; + + default: op <= OP_ADD; + endcase + +always @(posedge clk ) + if( state == DECODE && RDY ) + casex( IR ) + 8'b0010_x100: // BIT zp/abs + bit_ins <= 1; + + default: bit_ins <= 0; + endcase + +/* + * special instructions + */ +always @(posedge clk ) + if( state == DECODE && RDY ) begin + php <= (IR == 8'h08); + clc <= (IR == 8'h18); + plp <= (IR == 8'h28); + sec <= (IR == 8'h38); + cli <= (IR == 8'h58); + sei <= (IR == 8'h78); + clv <= (IR == 8'hb8); + cld <= (IR == 8'hd8); + sed <= (IR == 8'hf8); + brk <= (IR == 8'h00); + end + +always @(posedge clk) + if( RDY ) + cond_code <= IR[7:5]; + +always @* + case( cond_code ) + 3'b000: cond_true = ~N; + 3'b001: cond_true = N; + 3'b010: cond_true = ~V; + 3'b011: cond_true = V; + 3'b100: cond_true = ~C; + 3'b101: cond_true = C; + 3'b110: cond_true = ~Z; + 3'b111: cond_true = Z; + endcase + + +reg NMI_1 = 0; // delayed NMI signal + +always @(posedge clk) + if ( RDY ) + NMI_1 <= NMI; + +always @(posedge clk ) + if ( RDY ) + if( NMI_edge && state == BRK3 ) + NMI_edge <= 0; + else if( NMI & ~NMI_1 ) + NMI_edge <= 1; + +endmodule